diff --git a/core/core-backend/src/main/resources/mybatis/ExtVisualizationLinkJumpMapper.xml b/core/core-backend/src/main/resources/mybatis/ExtVisualizationLinkJumpMapper.xml index 536ebe3d1d..5a1dc2335f 100644 --- a/core/core-backend/src/main/resources/mybatis/ExtVisualizationLinkJumpMapper.xml +++ b/core/core-backend/src/main/resources/mybatis/ExtVisualizationLinkJumpMapper.xml @@ -339,7 +339,7 @@ SELECT DISTINCT - concat( lj.source_view_id, '#', jtvi.source_field_active_id ) AS sourceInfo, + concat( lj.source_view_id, '#', jtvi.source_field_active_id, '#', lji.source_field_id ) AS sourceInfo, concat( jtvi.target_view_id, '#', jtvi.target_field_id ) AS targetInfo FROM snapshot_visualization_link_jump_target_view_info jtvi diff --git a/core/core-frontend/src/store/modules/data-visualization/dvMain.ts b/core/core-frontend/src/store/modules/data-visualization/dvMain.ts index a99c67cbb9..ef9b612f00 100644 --- a/core/core-frontend/src/store/modules/data-visualization/dvMain.ts +++ b/core/core-frontend/src/store/modules/data-visualization/dvMain.ts @@ -1016,7 +1016,6 @@ export const dvMainStore = defineStore('dataVisualization', { trackInfo = this.nowPanelJumpInfoTargetPanel } const preActiveComponentIds = [] - const checkQDList = [...data.dimensionList, ...data.quotaList] const customFilterInfo = data.customFilter for (let indexOuter = 0; indexOuter < this.componentData.length; indexOuter++) { const element = this.componentData[indexOuter] @@ -1024,7 +1023,7 @@ export const dvMainStore = defineStore('dataVisualization', { if (['UserView', 'VQuery'].includes(element.component)) { this.trackFilterCursor( element, - checkQDList, + data, trackInfo, preActiveComponentIds, viewId, @@ -1035,7 +1034,7 @@ export const dvMainStore = defineStore('dataVisualization', { element.propValue?.forEach((groupItem, index) => { this.trackFilterCursor( groupItem, - checkQDList, + data, trackInfo, preActiveComponentIds, viewId, @@ -1048,7 +1047,7 @@ export const dvMainStore = defineStore('dataVisualization', { tabItem.componentData?.forEach((tabComponent, index) => { this.trackFilterCursor( tabComponent, - checkQDList, + data, trackInfo, preActiveComponentIds, viewId, @@ -1367,12 +1366,13 @@ export const dvMainStore = defineStore('dataVisualization', { }, trackFilterCursor( element, - checkQDList, + sourceData, trackInfo, preActiveComponentIds, viewId, customFilter? ) { + const checkQDList = [...sourceData.dimensionList, ...sourceData.quotaList] let currentFilters = element.linkageFilters || [] // 当前联动filter if (['table-info', 'table-normal'].includes(element.innerType)) { currentFilters = [] @@ -1387,7 +1387,10 @@ export const dvMainStore = defineStore('dataVisualization', { // 联动的图表情况历史条件 // const currentFilters = [] checkQDList.forEach(QDItem => { - const sourceInfo = viewId + '#' + QDItem.id + let sourceInfo = viewId + '#' + QDItem.id + if (sourceData.option === 'jump') { + sourceInfo = sourceInfo + '#' + sourceData.sourceFieldId + } // 获取所有目标联动信息 const targetInfoList = trackInfo[sourceInfo] || [] const paramValue = [QDItem.value]