diff --git a/core/core-frontend/src/components/data-visualization/RealTimeListTree.vue b/core/core-frontend/src/components/data-visualization/RealTimeListTree.vue index eda406b46d..44f8fd9378 100644 --- a/core/core-frontend/src/components/data-visualization/RealTimeListTree.vue +++ b/core/core-frontend/src/components/data-visualization/RealTimeListTree.vue @@ -82,6 +82,7 @@ import RealTimeTab from '@/components/data-visualization/RealTimeTab.vue' import { useI18n } from '@/hooks/web/useI18n' import circlePackingOrigin from '@/assets/svg/circle-packing-origin.svg' import { checkJoinGroup } from '@/utils/canvasUtils' +import { useEmitt } from '@/hooks/web/useEmitt' const dropdownMore = ref(null) const lockStore = lockStoreWithOut() @@ -392,6 +393,10 @@ const areaClick = area => { dvMainStore.canvasStateChange({ key: 'curPointArea', value: area }) } +const popupAvailableChange = () => { + useEmitt().emitter.emit('calcData-all') + canvasChange() +} const canvasChange = () => { snapshotStore.recordSnapshotCache('canvasChange') } @@ -403,7 +408,11 @@ const canvasChange = () => {
{{ t('visualization.pop_area') }}({{ popComponentData.length }}) - +
diff --git a/core/core-frontend/src/hooks/web/useFilter.ts b/core/core-frontend/src/hooks/web/useFilter.ts index 3160e72a43..d96bb87517 100644 --- a/core/core-frontend/src/hooks/web/useFilter.ts +++ b/core/core-frontend/src/hooks/web/useFilter.ts @@ -3,7 +3,7 @@ import { storeToRefs } from 'pinia' import { getDynamicRange, getCustomTime } from '@/custom-component/v-query/time-format' import { getCustomRange } from '@/custom-component/v-query/time-format-dayjs' const dvMainStore = dvMainStoreWithOut() -const { componentData } = storeToRefs(dvMainStore) +const { componentData, canvasStyleData } = storeToRefs(dvMainStore) const getDynamicRangeTime = (type: number, selectValue: any, timeGranularityMultiple: string) => { const timeType = (timeGranularityMultiple || '').split('range')[0] @@ -130,18 +130,32 @@ const getValueByDefaultValueCheckOrFirstLoad = ( } export const useFilter = (curComponentId: string, firstLoad = false) => { + // 弹窗区域过滤组件是否生效 + const popupAvailable = canvasStyleData.value.popupAvailable const filter = [] - const queryComponentList = componentData.value.filter(ele => ele.component === 'VQuery') + const queryComponentList = componentData.value.filter( + ele => + ele.component === 'VQuery' && + (popupAvailable || (!popupAvailable && ele.category !== 'hidden')) + ) searchQuery(queryComponentList, filter, curComponentId, firstLoad) componentData.value.forEach(ele => { if (ele.component === 'Group') { - const list = ele.propValue.filter(item => item.innerType === 'VQuery') + const list = ele.propValue.filter( + item => + item.innerType === 'VQuery' && + (popupAvailable || (!popupAvailable && ele.category !== 'hidden')) + ) searchQuery(list, filter, curComponentId, firstLoad) list.forEach(element => { if (element.innerType === 'DeTabs') { element.propValue.forEach(itx => { - const elementArr = itx.componentData.filter(item => item.innerType === 'VQuery') + const elementArr = itx.componentData.filter( + item => + item.innerType === 'VQuery' && + (popupAvailable || (!popupAvailable && ele.category !== 'hidden')) + ) searchQuery(elementArr, filter, curComponentId, firstLoad) }) }