forked from github/dataease
fix: 过滤组件逻辑
This commit is contained in:
parent
ffb4deb3a9
commit
26047142ea
@ -9,6 +9,7 @@ import { uuid } from 'vue-uuid'
|
|||||||
import { findOne } from '@/api/panel/panel'
|
import { findOne } from '@/api/panel/panel'
|
||||||
import { getPanelAllLinkageInfo } from '@/api/panel/linkage'
|
import { getPanelAllLinkageInfo } from '@/api/panel/linkage'
|
||||||
import { queryPanelJumpInfo, queryTargetPanelJumpInfo } from '@/api/panel/linkJump'
|
import { queryPanelJumpInfo, queryTargetPanelJumpInfo } from '@/api/panel/linkJump'
|
||||||
|
import { panelInit } from '@/components/canvas/utils/utils'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
components: { Preview },
|
components: { Preview },
|
||||||
@ -43,8 +44,10 @@ export default {
|
|||||||
}
|
}
|
||||||
// 加载视图数据
|
// 加载视图数据
|
||||||
findOne(this.panelId).then(response => {
|
findOne(this.panelId).then(response => {
|
||||||
|
const componentDatas = JSON.parse(response.data.panelData)
|
||||||
|
panelInit(componentDatas)
|
||||||
this.dataLoading = false
|
this.dataLoading = false
|
||||||
this.$store.commit('setComponentData', this.resetID(JSON.parse(response.data.panelData)))
|
this.$store.commit('setComponentData', this.resetID(componentDatas))
|
||||||
this.$store.commit('setCanvasStyle', JSON.parse(response.data.panelStyle))
|
this.$store.commit('setCanvasStyle', JSON.parse(response.data.panelStyle))
|
||||||
const data = {
|
const data = {
|
||||||
id: response.data.id,
|
id: response.data.id,
|
||||||
|
@ -75,7 +75,6 @@ import { deepCopy, mobile2MainCanvas } from '@/components/canvas/utils/utils'
|
|||||||
import { panelSave } from '@/api/panel/panel'
|
import { panelSave } from '@/api/panel/panel'
|
||||||
import { saveLinkage, getPanelAllLinkageInfo } from '@/api/panel/linkage'
|
import { saveLinkage, getPanelAllLinkageInfo } from '@/api/panel/linkage'
|
||||||
import bus from '@/utils/bus'
|
import bus from '@/utils/bus'
|
||||||
|
|
||||||
import {
|
import {
|
||||||
DEFAULT_COMMON_CANVAS_STYLE_STRING
|
DEFAULT_COMMON_CANVAS_STYLE_STRING
|
||||||
} from '@/views/panel/panel'
|
} from '@/views/panel/panel'
|
||||||
@ -266,6 +265,12 @@ export default {
|
|||||||
panelStyle: JSON.stringify(this.canvasStyleData),
|
panelStyle: JSON.stringify(this.canvasStyleData),
|
||||||
panelData: JSON.stringify(this.componentData)
|
panelData: JSON.stringify(this.componentData)
|
||||||
}
|
}
|
||||||
|
const components = deepCopy(this.componentData)
|
||||||
|
components.forEach(view => {
|
||||||
|
if (view.filters && view.filters.length > 0) { view.filters = [] }
|
||||||
|
})
|
||||||
|
// 无需保存条件
|
||||||
|
requestInfo.panelData = JSON.stringify(components)
|
||||||
panelSave(requestInfo).then(response => {
|
panelSave(requestInfo).then(response => {
|
||||||
this.$store.commit('refreshSaveStatus')
|
this.$store.commit('refreshSaveStatus')
|
||||||
this.$message({
|
this.$message({
|
||||||
|
@ -1,93 +0,0 @@
|
|||||||
<template>
|
|
||||||
<div v-loading="dataLoading" class="bg">
|
|
||||||
<Preview v-if="!dataLoading" />
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
<script>
|
|
||||||
import Preview from './Preview'
|
|
||||||
import { uuid } from 'vue-uuid'
|
|
||||||
import { findOne } from '@/api/panel/panel'
|
|
||||||
import { getPanelAllLinkageInfo } from '@/api/panel/linkage'
|
|
||||||
import { queryPanelJumpInfo, queryTargetPanelJumpInfo } from '@/api/panel/linkJump'
|
|
||||||
|
|
||||||
export default {
|
|
||||||
components: { Preview },
|
|
||||||
props: {
|
|
||||||
panelId: {
|
|
||||||
type: String,
|
|
||||||
require: true
|
|
||||||
}
|
|
||||||
},
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
dataLoading: false
|
|
||||||
}
|
|
||||||
},
|
|
||||||
mounted() {
|
|
||||||
this.restore()
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
restore() {
|
|
||||||
this.dataLoading = true
|
|
||||||
// 加载视图数据
|
|
||||||
findOne(this.panelId).then(response => {
|
|
||||||
this.dataLoading = false
|
|
||||||
this.$store.commit('setComponentData', this.resetID(JSON.parse(response.data.panelData)))
|
|
||||||
this.$store.commit('setCanvasStyle', JSON.parse(response.data.panelStyle))
|
|
||||||
const data = {
|
|
||||||
id: response.data.id,
|
|
||||||
name: response.data.name
|
|
||||||
}
|
|
||||||
// 刷新联动信息
|
|
||||||
getPanelAllLinkageInfo(this.panelId).then(rsp => {
|
|
||||||
this.$store.commit('setNowPanelTrackInfo', rsp.data)
|
|
||||||
})
|
|
||||||
// 刷新跳转信息
|
|
||||||
queryPanelJumpInfo(this.panelId).then(rsp => {
|
|
||||||
this.$store.commit('setNowPanelJumpInfo', rsp.data)
|
|
||||||
})
|
|
||||||
|
|
||||||
// 如果含有跳转参数 进行触发
|
|
||||||
const tempParam = localStorage.getItem('jumpInfoParam')
|
|
||||||
if (tempParam) {
|
|
||||||
localStorage.removeItem('jumpInfoParam')
|
|
||||||
const jumpParam = JSON.parse(tempParam)
|
|
||||||
const jumpRequestParam = {
|
|
||||||
sourcePanelId: jumpParam.sourcePanelId,
|
|
||||||
sourceViewId: jumpParam.sourceViewId,
|
|
||||||
sourceFieldId: jumpParam.sourceFieldId,
|
|
||||||
targetPanelId: this.panelId
|
|
||||||
}
|
|
||||||
this.dataLoading = true
|
|
||||||
// 刷新跳转目标仪表板联动信息
|
|
||||||
queryTargetPanelJumpInfo(jumpRequestParam).then(rsp => {
|
|
||||||
this.dataLoading = false
|
|
||||||
this.$store.commit('setNowTargetPanelJumpInfo', rsp.data)
|
|
||||||
this.$store.commit('addViewTrackFilter', jumpParam)
|
|
||||||
})
|
|
||||||
}
|
|
||||||
this.$store.dispatch('panel/setPanelInfo', data)
|
|
||||||
})
|
|
||||||
},
|
|
||||||
resetID(data) {
|
|
||||||
if (data) {
|
|
||||||
data.forEach(item => {
|
|
||||||
item.type !== 'custom' && (item.id = uuid.v1())
|
|
||||||
})
|
|
||||||
}
|
|
||||||
return data
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
|
||||||
.bg {
|
|
||||||
width: 100%;
|
|
||||||
height: 100vh!important;
|
|
||||||
min-width: 800px;
|
|
||||||
min-height: 600px;
|
|
||||||
background-color: #f7f8fa;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
|
|
@ -60,7 +60,8 @@ export function mobile2MainCanvas(mainSource, mobileSource) {
|
|||||||
|
|
||||||
export function panelInit(componentDatas) {
|
export function panelInit(componentDatas) {
|
||||||
componentDatas.forEach(item => {
|
componentDatas.forEach(item => {
|
||||||
item.filters = (item.filters || [])
|
/* item.filters = (item.filters || []) */
|
||||||
|
item.filters = []
|
||||||
item.linkageFilters = (item.linkageFilters || [])
|
item.linkageFilters = (item.linkageFilters || [])
|
||||||
item.auxiliaryMatrix = (item.auxiliaryMatrix || false)
|
item.auxiliaryMatrix = (item.auxiliaryMatrix || false)
|
||||||
item.x = (item.x || 1)
|
item.x = (item.x || 1)
|
||||||
|
Loading…
Reference in New Issue
Block a user