diff --git a/core/core-frontend/src/locales/zh-CN.ts b/core/core-frontend/src/locales/zh-CN.ts index dd39d879f8..0e89056ecf 100644 --- a/core/core-frontend/src/locales/zh-CN.ts +++ b/core/core-frontend/src/locales/zh-CN.ts @@ -1107,7 +1107,7 @@ export default { select_year: '选择年', sql_variable_limit_1: '1、SQL 变量只能在 WHERE 条件中使用', sql_variable_limit_2: - "2、示例:select * from table_name where column_name1='${'{'}param_name1{'}'}' and column_name2 in (${'{'}param_name2{'}'})", + "2、示例:select * from table_name where column_name1='${'{'}param_name1{'}'}' and column_name2 in (${'{'}param_name2{'}'})", select_month: '选择月', select_date: '选择日期', select_time: '选择时间', diff --git a/core/core-frontend/src/views/visualized/data/dataset/form/DatasetUnion.vue b/core/core-frontend/src/views/visualized/data/dataset/form/DatasetUnion.vue index 038a9fc44b..52a7a03483 100644 --- a/core/core-frontend/src/views/visualized/data/dataset/form/DatasetUnion.vue +++ b/core/core-frontend/src/views/visualized/data/dataset/form/DatasetUnion.vue @@ -163,14 +163,24 @@ const saveSqlNode = (val: SqlNode, cb) => { info: state.visualNode.info, tableName, type: 'sql' - }).then(res => { - ;((res as unknown as Field[]) || []).forEach(ele => { - ele.checked = true - }) - state.nodeList[0].currentDsFields = cloneDeep(res) - cb?.() - confirmEditUnion() }) + .then(res => { + const idOriginNameMap = allfields.value.reduce((pre, next) => { + pre[`${next.datasetTableId}${next.originName}`] = next.id + return pre + }, {}) + nodeField.value = res as unknown as Field[] + nodeField.value.forEach(ele => { + ele.id = idOriginNameMap[`${id}${ele.originName}`] + ele.checked = true + }) + state.nodeList[0].currentDsFields = cloneDeep(res) + cb?.() + confirmEditUnion() + }) + .finally(() => { + editUnion.value = true + }) confirm() } return @@ -212,6 +222,12 @@ const changeNodeFields = val => { } const closeEditUnion = () => { + const [fir] = state.nodeList + if (fir.isShadow) { + delete fir.isShadow + state.nodeList = [] + emits('addComplete') + } editUnion.value = false } let num = +new Date() @@ -242,6 +258,10 @@ const delUpdateDsFields = (id, arr: Node[]) => { const confirmEditUnion = () => { delUpdateDsFields(currentNode.value.id, state.nodeList) + const [fir] = state.nodeList + if (fir.isShadow) { + delete fir.isShadow + } closeEditUnion() nextTick(() => { emits('updateAllfields') @@ -675,6 +695,7 @@ const drop_handler = ev => { state.nodeList.push({ tableName, type, + isShadow: true, datasourceId, id: guid(), ...extraData @@ -688,13 +709,22 @@ const drop_handler = ev => { info: currentNode.value.info, tableName, type - }).then(res => { - ;((res as unknown as Field[]) || []).forEach(ele => { - ele.checked = true - }) - state.nodeList[0].currentDsFields = cloneDeep(res) - confirmEditUnion() }) + .then(res => { + const idOriginNameMap = allfields.value.reduce((pre, next) => { + pre[`${next.datasetTableId}${next.originName}`] = next.id + return pre + }, {}) + nodeField.value = res as unknown as Field[] + nodeField.value.forEach(ele => { + ele.id = idOriginNameMap[`${currentNode.value.id}${ele.originName}`] + ele.checked = true + }) + state.nodeList[0].currentDsFields = cloneDeep(res) + }) + .finally(() => { + editUnion.value = true + }) nextTick(() => { emits('addComplete') }) @@ -945,7 +975,13 @@ const emits = defineEmits(['addComplete', 'joinEditor', 'updateAllfields']) - +