diff --git a/frontend/src/lang/en.js b/frontend/src/lang/en.js index d8716d7c7d..fb44c61a5c 100644 --- a/frontend/src/lang/en.js +++ b/frontend/src/lang/en.js @@ -1157,7 +1157,9 @@ export default { union_data: 'Union Dataset', add_union_table: 'Add Union Dataset', edit_union: 'Edit Union Dataset', - union: 'Union' + union: 'Union', + edit_union_relation: 'Edit Union Relation', + add_union_relation: 'Add Union Relation' }, datasource: { datasource: 'Data Source', diff --git a/frontend/src/lang/tw.js b/frontend/src/lang/tw.js index a504aec63c..2acad731ab 100644 --- a/frontend/src/lang/tw.js +++ b/frontend/src/lang/tw.js @@ -1158,7 +1158,9 @@ export default { union_data: '關聯數據集', add_union_table: '添加關聯數據集', edit_union: '編輯關聯數據集', - union: '關聯' + union: '關聯', + edit_union_relation: '編輯關聯關系', + add_union_relation: '新建關聯關系' }, datasource: { datasource: '數據源', diff --git a/frontend/src/lang/zh.js b/frontend/src/lang/zh.js index 1e2ec4a931..08cee8b678 100644 --- a/frontend/src/lang/zh.js +++ b/frontend/src/lang/zh.js @@ -1160,7 +1160,9 @@ export default { union_data: '关联数据集', add_union_table: '添加关联数据集', edit_union: '编辑关联数据集', - union: '关联' + union: '关联', + edit_union_relation: '编辑关联关系', + add_union_relation: '新建关联关系' }, datasource: { datasource: '数据源', diff --git a/frontend/src/views/dataset/add/AddUnion.vue b/frontend/src/views/dataset/add/AddUnion.vue index 48148cb84a..4253ee9fab 100644 --- a/frontend/src/views/dataset/add/AddUnion.vue +++ b/frontend/src/views/dataset/add/AddUnion.vue @@ -28,9 +28,23 @@
- +
- +
@@ -40,10 +54,18 @@ + + + + + @@ -51,9 +73,10 @@ import UnionNode from '@/views/dataset/add/union/UnionNode' import NodeItem from '@/views/dataset/add/union/NodeItem' import DatasetGroupSelectorTree from '@/views/dataset/common/DatasetGroupSelectorTree' +import UnionEdit from '@/views/dataset/add/union/UnionEdit' export default { name: 'AddUnion', - components: { DatasetGroupSelectorTree, NodeItem, UnionNode }, + components: { UnionEdit, DatasetGroupSelectorTree, NodeItem, UnionNode }, props: { param: { type: Object, @@ -103,7 +126,9 @@ export default { customType: ['db', 'sql', 'excel'], selectDsDialog: false, // 弹框临时选中的数据集 - tempDs: {} + tempDs: {}, + editUnion: false, + unionParam: {} } }, mounted() { @@ -154,6 +179,22 @@ export default { } } } + }, + + unionConfig(param) { + this.unionParam = param + this.editUnion = true + }, + closeEditUnion() { + this.editUnion = false + // 添加关联的时候,如果关闭关联关系设置的界面,则删除子节点,同时向父级传递消息 + if (this.unionParam.type === 'add') { + this.dataset[0].childrenDs.pop() + this.calc({ type: 'delete', grandParentAdd: true, grandParentSub: true, subCount: 0 }) + } + }, + confirmEditUnion() { + this.editUnion = false } } } diff --git a/frontend/src/views/dataset/add/union/NodeItem.vue b/frontend/src/views/dataset/add/union/NodeItem.vue index ecc4d80ba4..cb328594ab 100644 --- a/frontend/src/views/dataset/add/union/NodeItem.vue +++ b/frontend/src/views/dataset/add/union/NodeItem.vue @@ -32,7 +32,7 @@ @@ -125,7 +125,17 @@ export default { this.tempParentDs.childrenDs.push(ds) this.closeSelectDs() this.notifyFirstParent('union') + + // 构建新建关联关系传递的参数 + const param = { + type: 'add', + nodeIndex: this.nodeIndex, + node: ds, + parent: this.tempParentDs + } + this.$emit('editUnion', param) }, + // 增加与删除事件向父级传递 notifyFirstParent(type) { this.$emit('notifyParent', { type: type, grandParentAdd: true, grandParentSub: true, subCount: this.currentNode.allChildCount }) } @@ -163,4 +173,7 @@ export default { cursor: pointer; border: var(--Main,#2681ff) solid 1px; } +.dialog-css >>> .el-dialog__body { + padding: 0 20px; +} diff --git a/frontend/src/views/dataset/add/union/UnionEdit.vue b/frontend/src/views/dataset/add/union/UnionEdit.vue new file mode 100644 index 0000000000..7f4393a53e --- /dev/null +++ b/frontend/src/views/dataset/add/union/UnionEdit.vue @@ -0,0 +1,32 @@ + + + + + diff --git a/frontend/src/views/dataset/add/union/UnionFieldEdit.vue b/frontend/src/views/dataset/add/union/UnionFieldEdit.vue new file mode 100644 index 0000000000..5169e28e54 --- /dev/null +++ b/frontend/src/views/dataset/add/union/UnionFieldEdit.vue @@ -0,0 +1,23 @@ + + + + + diff --git a/frontend/src/views/dataset/add/union/UnionNode.vue b/frontend/src/views/dataset/add/union/UnionNode.vue index 9458e759d8..fb7eb35789 100644 --- a/frontend/src/views/dataset/add/union/UnionNode.vue +++ b/frontend/src/views/dataset/add/union/UnionNode.vue @@ -1,29 +1,54 @@