fix(数据大屏): 修复弹窗区域禁用时,外部参数依然可以使弹窗区域过滤条件生效问题

This commit is contained in:
wangjiahao 2024-08-28 16:27:19 +08:00
parent 28e9129fe1
commit 3d64e5b3b6
2 changed files with 11 additions and 2 deletions

View File

@ -262,6 +262,10 @@ const areaClick = area => {
dvMainStore.setCurComponent({ component: null, index: null }) dvMainStore.setCurComponent({ component: null, index: null })
dvMainStore.canvasStateChange({ key: 'curPointArea', value: area }) dvMainStore.canvasStateChange({ key: 'curPointArea', value: area })
} }
const canvasChange = () => {
snapshotStore.recordSnapshotCache()
}
</script> </script>
<template> <template>
@ -270,7 +274,7 @@ const areaClick = area => {
<button hidden="true" id="close-button"></button> <button hidden="true" id="close-button"></button>
<div class="layer-area" @click="areaClick('hidden')" :class="{ activated: hiddenAreaActive }"> <div class="layer-area" @click="areaClick('hidden')" :class="{ activated: hiddenAreaActive }">
<span>弹窗区域({{ popComponentData.length }})</span> <span>弹窗区域({{ popComponentData.length }})</span>
<el-switch v-model="canvasStyleData.popupAvailable" size="small" /> <el-switch v-model="canvasStyleData.popupAvailable" @change="canvasChange" size="small" />
</div> </div>
<el-row class="list-wrap"> <el-row class="list-wrap">
<div class="list-container" @contextmenu="handleContextMenu"> <div class="list-container" @contextmenu="handleContextMenu">

View File

@ -23,6 +23,7 @@ import {
} from '@/custom-component/component-list' } from '@/custom-component/component-list'
import { get, set } from 'lodash-es' import { get, set } from 'lodash-es'
import { viewFieldTimeTrans } from '@/utils/viewUtils' import { viewFieldTimeTrans } from '@/utils/viewUtils'
import { isMainCanvas } from '@/utils/canvasUtils'
export const dvMainStore = defineStore('dataVisualization', { export const dvMainStore = defineStore('dataVisualization', {
state: () => { state: () => {
@ -971,7 +972,11 @@ export const dvMainStore = defineStore('dataVisualization', {
} }
}, },
trackOuterFilterCursor(element, params, preActiveComponentIds, trackInfo, source) { trackOuterFilterCursor(element, params, preActiveComponentIds, trackInfo, source) {
if (!['UserView', 'VQuery'].includes(element.component)) { // 弹窗区域禁用时 在弹窗区域的组件不生效
if (
!['UserView', 'VQuery'].includes(element.component) ||
(element.category === 'hidden' && !this.canvasStyleData.popupAvailable)
) {
return return
} }
const currentFilters = [] // 外部参数信息 const currentFilters = [] // 外部参数信息