提交 6559ad75 authored 作者: junjie's avatar junjie

feat(数据集):关联数据集

上级 33b057ae
<svg t="1637222099589" class="icon" viewBox="0 0 1509 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="7937" width="200" height="200"><path d="M1011.443368 0.003996a482.94738 482.94738 0 0 0-256.075854 72.242288 3.07414 3.07414 0 0 0-1.53707 0h-1.844484A483.869622 483.869622 0 0 0 496.832348 0.003996 504.773773 504.773773 0 0 0 0.051338 511.848291a505.081187 505.081187 0 0 0 498.010666 512.151709 483.254794 483.254794 0 0 0 255.153612-73.471944 3.07414 3.07414 0 0 0 1.53707 0h0.614828a483.254794 483.254794 0 0 0 255.153612 72.549702A505.081187 505.081187 0 0 0 1509.454034 511.848291 505.081187 505.081187 0 0 0 1011.443368 0.003996z m-304.954679 916.401107a430.379587 430.379587 0 0 1-208.426685 53.490035 450.976325 450.976325 0 0 1-443.905803-458.046847A451.283739 451.283739 0 0 1 498.062004 53.801445a428.227689 428.227689 0 0 1 208.426685 53.797448 522.603784 522.603784 0 0 0 0 808.80621z m304.954679 53.490035a430.379587 430.379587 0 0 1-208.426685-53.490035 522.603784 522.603784 0 0 0 0-808.80621 428.227689 428.227689 0 0 1 208.426685-53.797448 451.283739 451.283739 0 0 1 443.905803 458.046846 450.976325 450.976325 0 0 1-443.905803 458.046847z" p-id="7938"></path></svg>
<svg t="1637222082620" class="icon" viewBox="0 0 1509 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="7099" width="200" height="200"><path d="M29.563081 516.459501a478.33617 478.33617 0 0 0 470.958234 485.406692A478.33617 478.33617 0 0 0 970.557308 516.459501 478.33617 478.33617 0 0 0 500.521315 31.052809 478.028756 478.028756 0 0 0 29.563081 516.152087z" p-id="7100"></path><path d="M1011.443368 0.003996a482.94738 482.94738 0 0 0-256.075854 72.242288 3.07414 3.07414 0 0 0-1.53707 0h-1.844484A483.869622 483.869622 0 0 0 496.832348 0.003996 504.773773 504.773773 0 0 0 0.051338 511.848291a505.081187 505.081187 0 0 0 498.010666 512.151709 483.254794 483.254794 0 0 0 255.153612-73.471944 3.07414 3.07414 0 0 0 1.53707 0h0.614828a483.254794 483.254794 0 0 0 255.153612 72.549702A505.081187 505.081187 0 0 0 1509.454034 511.848291 505.081187 505.081187 0 0 0 1011.443368 0.003996z m-304.954679 916.401107a430.379587 430.379587 0 0 1-208.426685 53.490035 450.976325 450.976325 0 0 1-443.905803-458.046847A451.283739 451.283739 0 0 1 498.062004 53.801445a428.227689 428.227689 0 0 1 208.426685 53.797448 522.603784 522.603784 0 0 0 0 808.80621z m304.954679 53.490035a430.379587 430.379587 0 0 1-208.426685-53.490035 522.603784 522.603784 0 0 0 0-808.80621 428.227689 428.227689 0 0 1 208.426685-53.797448 451.283739 451.283739 0 0 1 443.905803 458.046846 450.976325 450.976325 0 0 1-443.905803 458.046847z" p-id="7101"></path></svg>
<svg t="1637222010777" class="icon" viewBox="0 0 1509 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="6222" width="200" height="200"><path d="M544.174102 511.848291a478.33617 478.33617 0 0 0 470.958234 485.406692 478.33617 478.33617 0 0 0 470.958234-485.406692A478.028756 478.028756 0 0 0 1015.132336 26.4416 478.33617 478.33617 0 0 0 544.174102 511.848291z" p-id="6223"></path><path d="M1011.443368 0.003996a482.94738 482.94738 0 0 0-256.075854 72.242288 3.07414 3.07414 0 0 0-1.53707 0h-1.844484A483.869622 483.869622 0 0 0 496.832348 0.003996 504.773773 504.773773 0 0 0 0.051338 511.848291a505.081187 505.081187 0 0 0 498.010666 512.151709 483.254794 483.254794 0 0 0 255.153612-73.471944 3.07414 3.07414 0 0 0 1.53707 0h0.614828a483.254794 483.254794 0 0 0 255.153612 72.549702A505.081187 505.081187 0 0 0 1509.454034 511.848291 505.081187 505.081187 0 0 0 1011.443368 0.003996z m-304.954679 916.401107a430.379587 430.379587 0 0 1-208.426685 53.490035 450.976325 450.976325 0 0 1-443.905803-458.046847A451.283739 451.283739 0 0 1 498.062004 53.801445a428.227689 428.227689 0 0 1 208.426685 53.797448 522.603784 522.603784 0 0 0 0 808.80621z m304.954679 53.490035a430.379587 430.379587 0 0 1-208.426685-53.490035 522.603784 522.603784 0 0 0 0-808.80621 428.227689 428.227689 0 0 1 208.426685-53.797448 451.283739 451.283739 0 0 1 443.905803 458.046846 450.976325 450.976325 0 0 1-443.905803 458.046847z" p-id="6224"></path></svg>
<template>
<div>
<div class="union-container">
<div class="current-node ds-node">
<svg-icon icon-class="ds-db" class="ds-icon-db" />
<span class="node-name">123</span>
<span class="node-menu">
<el-dropdown trigger="click" size="small">
<span class="el-dropdown-link">
<el-button icon="el-icon-more" type="text" size="small" />
</span>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item icon="el-icon-edit-outline">
<span style="font-size: 12px;">edit</span>
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</span>
</div>
<div>
<div class="children-node node-container" :style="{height:'40px'}">
<div class="node-line">
<svg-icon icon-class="inner-join" class="join-icon" />
<svg class="join-svg-container">
<path fill="none" stroke="#dcdfe6" :d="pathExt" />
</svg>
</div>
<div class="ds-node">
<svg-icon icon-class="ds-db" class="ds-icon-db" />
<span class="node-name">123</span>
<span class="node-menu">
<el-dropdown trigger="click" size="small">
<span class="el-dropdown-link">
<el-button icon="el-icon-more" type="text" size="small" />
</span>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item icon="el-icon-edit-outline">
<span style="font-size: 12px;">edit</span>
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</span>
</div>
</div>
<div class="children-node node-container" :style="{height:'120px'}">
<div class="node-line">
<svg-icon icon-class="right-join" class="join-icon" />
<svg class="join-svg-container">
<path fill="none" stroke="#dcdfe6" :d="pathMoreExt+'l0,80'" />
</svg>
</div>
<div class="ds-node">
<svg-icon icon-class="ds-db" class="ds-icon-db" />
<span class="node-name">123</span>
<span class="node-menu">
<el-dropdown trigger="click" size="small">
<span class="el-dropdown-link">
<el-button icon="el-icon-more" type="text" size="small" />
</span>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item icon="el-icon-edit-outline">
<span style="font-size: 12px;">edit</span>
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</span>
</div>
<div>
<div class="children-node node-container" :style="{height:'40px'}">
<div class="node-line">
<svg-icon icon-class="left-join" class="join-icon" />
<svg class="join-svg-container">
<path fill="none" stroke="#dcdfe6" :d="pathExt" />
</svg>
</div>
<div class="ds-node">
<svg-icon icon-class="ds-db" class="ds-icon-db" />
<span class="node-name">123</span>
<span class="node-menu">
<el-dropdown trigger="click" size="small">
<span class="el-dropdown-link">
<el-button icon="el-icon-more" type="text" size="small" />
</span>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item icon="el-icon-edit-outline">
<span style="font-size: 12px;">edit</span>
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</span>
</div>
</div>
<div class="children-node node-container" :style="{height:'40px'}">
<div class="node-line">
<svg-icon icon-class="left-join" class="join-icon" />
<svg class="join-svg-container">
<path fill="none" stroke="#dcdfe6" :d="pathMoreExt" />
</svg>
</div>
<div class="ds-node">
<svg-icon icon-class="ds-db" class="ds-icon-db" />
<span class="node-name">123</span>
<span class="node-menu">
<el-dropdown trigger="click" size="small">
<span class="el-dropdown-link">
<el-button icon="el-icon-more" type="text" size="small" />
</span>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item icon="el-icon-edit-outline">
<span style="font-size: 12px;">edit</span>
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</span>
</div>
</div>
<div class="children-node node-container" :style="{height:'40px'}">
<div class="node-line">
<svg-icon icon-class="left-join" class="join-icon" />
<svg class="join-svg-container">
<path fill="none" stroke="#dcdfe6" :d="pathMore" />
</svg>
</div>
<div class="ds-node">
<svg-icon icon-class="ds-db" class="ds-icon-db" />
<span class="node-name">123</span>
<span class="node-menu">
<el-dropdown trigger="click" size="small">
<span class="el-dropdown-link">
<el-button icon="el-icon-more" type="text" size="small" />
</span>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item icon="el-icon-edit-outline">
<span style="font-size: 12px;">edit</span>
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</span>
</div>
</div>
</div>
</div>
<div class="children-node node-container" :style="{height:'40px'}">
<div class="node-line">
<svg-icon icon-class="inner-join" class="join-icon" />
<svg class="join-svg-container">
<path fill="none" stroke="#dcdfe6" :d="pathMore" />
</svg>
</div>
<div class="ds-node">
<svg-icon icon-class="ds-db" class="ds-icon-db" />
<span class="node-name">123</span>
<span class="node-menu">
<el-dropdown trigger="click" size="small">
<span class="el-dropdown-link">
<el-button icon="el-icon-more" type="text" size="small" />
</span>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item icon="el-icon-edit-outline">
<span style="font-size: 12px;">edit</span>
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</span>
</div>
</div>
</div>
</div>
</div>
</template>
<script>
export default {
name: 'AddUnion',
data() {
return {
dataset: [{
currentDs: {},
childrenDs: [
{
currentDs: {},
childrenDs: [],
unionToParent: [
{
parentField: {},
currentField: {}
}
]
}
],
unionToParent: []
}],
path: 'm0,13 l28,0 m24,0 l28,0',
pathExt: 'm0,13 l28,0 m24,0 l28,0 M14,13 l0,27',
pathMore: 'M14,0 l0,13 l14,0 m24,0 l28,0',
pathMoreExt: 'M14,0 l0,13 l14,0 m24,0 l28,0 M14,13 l0,27'
}
}
}
</script>
<style scoped>
.union-container{
display: flex;
padding: 10px;
width:100%;
height:400px;
overflow: auto;
}
.ds-node{
width:140px;
height: 26px;
line-height: 26px;
border: #dcdfe6 solid 1px;
min-width: 140px;
color: var(--TextPrimary,#606266);
font-size: 14px;
display: flex;
align-items: center;
padding: 0 6px;
}
.node-container{
display: flex;
position: relative;
}
.join-icon{
height: 26px;
font-size: 24px;
line-height: 26px;
position: absolute;
left: 28px;
color:#dcdfe6;
}
.join-svg-container{
width:80px;
}
.node-name{
flex: 1;
text-overflow: ellipsis;
white-space: pre;
overflow: hidden;
}
.ds-node .node-menu{
visibility: hidden;
}
.ds-node:hover .node-menu{
visibility: visible;
}
.ds-node:hover{
cursor: pointer;
border: var(--Main,#2681ff) solid 1px;
}
.node-line{
display: flex;
position: relative;
}
.join-icon:hover{
cursor: pointer;
color: var(--Main,#2681ff);
}
</style>
...@@ -6,7 +6,6 @@ ...@@ -6,7 +6,6 @@
</de-aside-container> </de-aside-container>
<de-main-container> <de-main-container>
<!--<router-view/>-->
<component :is="component" ref="dynamic_component" :param="param" @switchComponent="switchComponent" @saveSuccess="saveSuccess" /> <component :is="component" ref="dynamic_component" :param="param" @switchComponent="switchComponent" @saveSuccess="saveSuccess" />
</de-main-container> </de-main-container>
</de-container> </de-container>
...@@ -24,9 +23,9 @@ import AddDB from './add/AddDB' ...@@ -24,9 +23,9 @@ import AddDB from './add/AddDB'
import AddSQL from './add/AddSQL' import AddSQL from './add/AddSQL'
import AddExcel from './add/AddExcel' import AddExcel from './add/AddExcel'
import AddCustom from './add/AddCustom' import AddCustom from './add/AddCustom'
import AddUnion from '@/views/dataset/add/AddUnion'
import FieldEdit from './data/FieldEdit' import FieldEdit from './data/FieldEdit'
import { removeClass } from '@/utils' import { removeClass } from '@/utils'
// import bus from '@/utils/bus'
export default { export default {
name: 'DataSet', name: 'DataSet',
components: { DeMainContainer, DeContainer, DeAsideContainer, Group, DataHome, ViewTable, AddDB, AddSQL, AddExcel, AddCustom }, components: { DeMainContainer, DeContainer, DeAsideContainer, Group, DataHome, ViewTable, AddDB, AddSQL, AddExcel, AddCustom },
...@@ -39,31 +38,11 @@ export default { ...@@ -39,31 +38,11 @@ export default {
}, },
mounted() { mounted() {
removeClass(document.body, 'showRightPanel') removeClass(document.body, 'showRightPanel')
// bus.$on('to-msg-dataset', params => {
// this.toMsgShare(params)
// })
}, },
created() { created() {
this.$store.dispatch('app/toggleSideBarHide', true) this.$store.dispatch('app/toggleSideBarHide', true)
const routerParam = this.$router.currentRoute.params const routerParam = this.$router.currentRoute.params
this.toMsgShare(routerParam) this.toMsgShare(routerParam)
// if ((routerParam = this.$router.currentRoute.params) !== null && routerParam.msgNotification) {
// // 说明是从消息通知跳转过来的
// if (routerParam.msgType === 1) { // 是数据集同步
// if (routerParam.sourceParam) {
// try {
// const msgParam = JSON.parse(routerParam.sourceParam)
// this.param = msgParam.tableId
// this.component = ViewTable
// this.$nextTick(() => {
// this.$refs.dynamic_component.msg2Current(routerParam.sourceParam)
// })
// } catch (error) {
// console.error(error)
// }
// }
// }
// }
}, },
methods: { methods: {
switchComponent(c) { switchComponent(c) {
...@@ -84,6 +63,9 @@ export default { ...@@ -84,6 +63,9 @@ export default {
case 'AddCustom': case 'AddCustom':
this.component = AddCustom this.component = AddCustom
break break
case 'AddUnion':
this.component = AddUnion
break
case 'FieldEdit': case 'FieldEdit':
this.component = FieldEdit this.component = FieldEdit
break break
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论