提交 2a8d39bb authored 作者: wangjiahao's avatar wangjiahao

feat:仪表板联动时,在视图上增加取消联动按钮

上级 1dca2e0f
<template>
<div v-show="existLinkage" class="bar-main">
<div>
<el-button size="mini" type="info" @click="clearAllLinkage">清除所有联动</el-button>
<el-button size="mini" type="warning" @click="clearAllLinkage"><i class="icon iconfont icon-quxiaoliandong" />{{ $t('panel.remove_all_linkage') }}</el-button>
</div>
</div>
</template>
......
......@@ -11,6 +11,7 @@
</setting-menu>
<i v-if="activeModel==='edit'&&curComponent&&editFilter.includes(curComponent.type)" class="icon iconfont icon-edit" @click.stop="edit" />
<i v-if="curComponent.type==='view'" class="icon iconfont icon-fangda" @click.stop="showViewDetails" />
<i v-if="curComponent.type==='view'&&existLinkage" class="icon iconfont icon-quxiaoliandong" @click.stop="clearLinkage" />
</div>
</div>
......@@ -53,6 +54,19 @@ export default {
}
},
computed: {
existLinkage() {
let linkageFiltersCount = 0
this.componentData.forEach(item => {
if (item.linkageFilters && item.linkageFilters.length > 0) {
item.linkageFilters.forEach(linkage => {
if (this.element.propValue.viewId === linkage.sourceViewId) {
linkageFiltersCount++
}
})
}
})
return linkageFiltersCount
},
linkageInfo() {
return this.targetLinkageInfo[this.element.propValue.viewId]
},
......@@ -93,6 +107,21 @@ export default {
},
linkageEdit() {
},
// 清除相同sourceViewId 的 联动条件
clearLinkage() {
this.componentData.forEach(item => {
if (item.linkageFilters && item.linkageFilters.length > 0) {
const newList = item.linkageFilters.filter(linkage => linkage.sourceViewId !== this.element.propValue.viewId)
item.linkageFilters.splice(0, item.linkageFilters.length)
// 重新push 可保证数组指针不变 可以watch到
if (newList.length > 0) {
newList.forEach(newLinkage => {
item.linkageFilters.push(newLinkage)
})
}
}
})
}
}
}
......
......@@ -1210,7 +1210,9 @@ export default {
do_not_save: "Don't Save",
save_and_close: 'Save',
drill: 'drill',
linkage: 'linkage'
linkage: 'linkage',
cancel_linkage: 'Cancel Linkage',
remove_all_linkage: 'Remove All Linkage'
},
plugin: {
local_install: 'Local installation',
......
......@@ -1209,7 +1209,9 @@ export default {
do_not_save: '不保存',
save: '保存',
drill: '下钻',
linkage: '联动'
linkage: '联动',
cancel_linkage: '取消联动',
remove_all_linkage: '清除所有联动'
},
plugin: {
local_install: '本地安裝',
......
......@@ -1211,7 +1211,9 @@ export default {
do_not_save: '不保存',
save: '保存',
drill: '下钻',
linkage: '联动'
linkage: '联动',
cancel_linkage: '取消联动',
remove_all_linkage: '清除所有联动'
},
plugin: {
local_install: '本地安装',
......
......@@ -178,7 +178,7 @@ const data = {
if (element.propValue.viewId === targetViewId) { // 如果目标视图 和 当前循环组件id相等 则进行条件增减
const targetFieldId = targetInfoArray[1] // 目标视图列ID
const condition = new Condition('', targetFieldId, 'eq', [dimension.value], [targetViewId])
condition.sourceViewId = viewId
let j = currentFilters.length
while (j--) {
const filter = currentFilters[j]
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论