From 47636ee6803a2e3b15ddbc1f8f1a851eeaf9950b Mon Sep 17 00:00:00 2001 From: Ming <739803697@qq.com> Date: Wed, 7 Jun 2023 15:06:51 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=20=E6=94=AF=E6=8C=81=E5=AF=B9=E5=85=AC?= =?UTF-8?q?=E5=85=B1api=E8=BF=9B=E8=A1=8C=E4=BA=A4=E4=BA=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/hooks/useChartInteract.hook.ts | 43 +++++++++++++++++++++--------- 1 file changed, 31 insertions(+), 12 deletions(-) diff --git a/src/hooks/useChartInteract.hook.ts b/src/hooks/useChartInteract.hook.ts index efa2ae73..aa0b1ed6 100644 --- a/src/hooks/useChartInteract.hook.ts +++ b/src/hooks/useChartInteract.hook.ts @@ -1,4 +1,5 @@ import { toRefs } from 'vue' +import { isPreview } from '@/utils' import { CreateComponentType } from '@/packages/index.d' import { useChartEditStore } from '@/store/modules/chartEditStore/chartEditStore' @@ -12,6 +13,7 @@ export const useChartInteract = ( param: { [T: string]: any }, interactEventOn: string ) => { + if (!isPreview()) return const chartEditStore = useChartEditStore() const { interactEvents } = chartConfig.events const fnOnEvent = interactEvents.filter(item => { @@ -20,20 +22,37 @@ export const useChartInteract = ( if (fnOnEvent.length === 0) return fnOnEvent.forEach(item => { - const index = chartEditStore.fetchTargetIndex(item.interactComponentId) - if (index === -1) return - const { Params, Header } = toRefs(chartEditStore.componentList[index].request.requestParams) - Object.keys(item.interactFn).forEach(key => { - if (Params.value[key]) { - Params.value[key] = param[item.interactFn[key]] - } - if (Header.value[key]) { - Header.value[key] = param[item.interactFn[key]] - } - }) + + const globalConfigPindAprndex = chartEditStore.requestGlobalConfig.requestDataPond.findIndex(cItem => + cItem.dataPondId === item.interactComponentId + ) + if (globalConfigPindAprndex !== -1) { + const { Params, Header } = toRefs(chartEditStore.requestGlobalConfig.requestDataPond[globalConfigPindAprndex].dataPondRequestConfig.requestParams) + + Object.keys(item.interactFn).forEach(key => { + if (Params.value[key]) { + Params.value[key] = param[item.interactFn[key]] + } + if (Header.value[key]) { + Header.value[key] = param[item.interactFn[key]] + } + }) + } else { + const index = chartEditStore.fetchTargetIndex(item.interactComponentId) + if (index === -1) return + const { Params, Header } = toRefs(chartEditStore.componentList[index].request.requestParams) + + Object.keys(item.interactFn).forEach(key => { + if (Params.value[key]) { + Params.value[key] = param[item.interactFn[key]] + } + if (Header.value[key]) { + Header.value[key] = param[item.interactFn[key]] + } + }) + } }) } - // 联动事件触发的 type 变更时,清除当前绑定内容 export const clearInteractEvent = (chartConfig: CreateComponentType) => {