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 @@
+
+
+
{{ unionParam.node.currentDs.name }}
+
{{ unionParam.parent.currentDs.name }}
+
+
+
+
+
+
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 @@
+
+ 123
+
+
+
+
+
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 @@