From 419ea41c80ce4b62351599fc4fa61be5bf2c15e4 Mon Sep 17 00:00:00 2001 From: wangjiahao <1522128093@qq.com> Date: Wed, 10 Apr 2024 12:44:35 +0800 Subject: [PATCH] =?UTF-8?q?refactor(=E4=BB=AA=E8=A1=A8=E6=9D=BF):=20?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E8=81=94=E5=8A=A8=E8=B7=B3=E8=BD=AC=E4=B8=8B?= =?UTF-8?q?=E9=92=BB=E5=90=8C=E6=97=B6=E9=85=8D=E7=BD=AE=E6=97=B6=E5=BC=B9?= =?UTF-8?q?=E5=87=BA=E7=95=8C=E9=9D=A2=E6=98=BE=E7=A4=BA=E9=80=BB=E8=BE=91?= =?UTF-8?q?=EF=BC=8C=E5=BD=93=E8=81=94=E5=8A=A8=E9=85=8D=E7=BD=AE=E5=90=8C?= =?UTF-8?q?=E6=97=B6=E8=A7=A6=E5=8F=91=E4=B8=8B=E9=92=BB=E6=97=B6=EF=BC=8C?= =?UTF-8?q?=E5=9C=A8=E5=BC=B9=E5=87=BA=E7=95=8C=E9=9D=A2=E9=80=89=E6=8B=A9?= =?UTF-8?q?=E8=81=94=E5=8A=A8=E4=BE=9D=E7=84=B6=E9=80=82=E7=94=A8=E6=AD=A4?= =?UTF-8?q?=E9=80=BB=E8=BE=91=20#8701?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../views/components/ChartComponentG2Plot.vue | 30 ++++++++++++++++++- .../views/chart/components/views/index.vue | 1 + 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/core/core-frontend/src/views/chart/components/views/components/ChartComponentG2Plot.vue b/core/core-frontend/src/views/chart/components/views/components/ChartComponentG2Plot.vue index 85abab443b..c545635856 100644 --- a/core/core-frontend/src/views/chart/components/views/components/ChartComponentG2Plot.vue +++ b/core/core-frontend/src/views/chart/components/views/components/ChartComponentG2Plot.vue @@ -20,6 +20,14 @@ const dvMainStore = dvMainStoreWithOut() const { nowPanelTrackInfo, nowPanelJumpInfo, mobileInPc } = storeToRefs(dvMainStore) const props = defineProps({ + element: { + type: Object, + default() { + return { + propValue: null + } + } + }, view: { type: Object, default() { @@ -192,6 +200,12 @@ const action = param => { if (trackMenu.value.length < 2) { // 只有一个事件直接调用 trackClick(trackMenu.value[0]) + } else if ( + props.element.actionSelection.linkageActive === 'auto' && + trackMenu.value.length === 2 && + !trackMenu.value.includes('jump') + ) { + trackClickPre('linkage') } else { // 图表关联多个事件 state.trackBarStyle.left = param.x - 50 + 'px' @@ -199,6 +213,20 @@ const action = param => { viewTrack.value.trackButtonClick() } } +const trackClickPre = trackAction => { + if ( + props.element.actionSelection.linkageActive === 'auto' && + trackMenu.value.length === 2 && + trackAction === 'linkage' && + !trackMenu.value.includes('jump') + ) { + trackMenu.value.forEach(action => { + trackClick(action) + }) + } else { + trackClick(trackAction) + } +} const trackClick = trackAction => { const param = state.pointParam @@ -312,7 +340,7 @@ onBeforeUnmount(() => { :track-menu="trackMenu" class="track-bar" :style="state.trackBarStyle" - @trackClick="trackClick" + @trackClick="trackClickPre" />
diff --git a/core/core-frontend/src/views/chart/components/views/index.vue b/core/core-frontend/src/views/chart/components/views/index.vue index f6cc98ba9d..a914c603e4 100644 --- a/core/core-frontend/src/views/chart/components/views/index.vue +++ b/core/core-frontend/src/views/chart/components/views/index.vue @@ -674,6 +674,7 @@ const iconSize = computed(() => { :dynamic-area-id="dynamicAreaId" :view="view" :show-position="showPosition" + :element="element" v-else-if="showChartView(ChartLibraryType.G2_PLOT, ChartLibraryType.L7_PLOT)" ref="chartComponent" @onChartClick="chartClick"