From 0de080e7100bbca6fdb088f1f02f4a69e1a434fc Mon Sep 17 00:00:00 2001 From: huanghao1412 Date: Thu, 25 Jan 2024 17:54:32 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=89=93=E5=8C=85=E6=97=B6=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/hooks/useChartCommonData.hook.ts | 15 +++++++-------- .../components/Charts/Pies/PieCircle/config.vue | 5 +++-- .../components/Charts/Pies/PieCircle/index.vue | 6 ++++-- 3 files changed, 14 insertions(+), 12 deletions(-) diff --git a/src/hooks/useChartCommonData.hook.ts b/src/hooks/useChartCommonData.hook.ts index e6927bd2..0965d561 100644 --- a/src/hooks/useChartCommonData.hook.ts +++ b/src/hooks/useChartCommonData.hook.ts @@ -3,7 +3,7 @@ import { setOption } from "@/packages/public"; import { ref, toRefs, watch } from "vue"; import { CreateComponentType, ChartFrameEnum } from '@/packages/index.d' import { useChartEditStore } from "@/store/modules/chartEditStore/chartEditStore"; -import { CurrentSourceEnum } from '@/store/modules/chartEditStore/chartEditStore.d' +import { CurrentSourceEnum, resultType } from '@/store/modules/chartEditStore/chartEditStore.d' import { intervalUnitHandle, newFunctionHandle, isPreview } from "@/utils"; import { cloneDeep } from 'lodash' import { handlePointHistory } from './commonDataComponents/usePointHistoryRes' @@ -61,13 +61,12 @@ export const useChartCommonData = ( } } else if(SingleDataArr.some(_ => _ === currentSource)) { // 单个值的处理 - if(targetComponent.commonData[currentSource]?.result) { - stopWatch = true - targetComponent.commonData[currentSource].result = dataset - setTimeout(() => { - stopWatch = false - }, 500) - } + const targetObj = targetComponent.commonData[currentSource] as { result: resultType } + stopWatch = true + targetObj.result = dataset + setTimeout(() => { + stopWatch = false + }, 500) } } } diff --git a/src/packages/components/Charts/Pies/PieCircle/config.vue b/src/packages/components/Charts/Pies/PieCircle/config.vue index 503ab1db..506d0e50 100644 --- a/src/packages/components/Charts/Pies/PieCircle/config.vue +++ b/src/packages/components/Charts/Pies/PieCircle/config.vue @@ -134,6 +134,7 @@ const props = defineProps({ }) const config = computed(() => { - return props.optionData -}) + // 使用类型断言来告诉 TypeScript 编译器 title 总是存在 + return props.optionData as GlobalThemeJsonType & { title: NonNullable }; +}); diff --git a/src/packages/components/Charts/Pies/PieCircle/index.vue b/src/packages/components/Charts/Pies/PieCircle/index.vue index 0d7e095e..526dcdd8 100644 --- a/src/packages/components/Charts/Pies/PieCircle/index.vue +++ b/src/packages/components/Charts/Pies/PieCircle/index.vue @@ -14,6 +14,8 @@ import config, { includes } from './config' import { useChartCommonData, useChartDataFetch } from '@/hooks' import { useChartEditStore } from '@/store/modules/chartEditStore/chartEditStore' import { DatasetComponent, GridComponent, TooltipComponent, LegendComponent, TitleComponent } from 'echarts/components' +import { resultType } from '@/store/modules/chartEditStore/chartEditStore.d' + const props = defineProps({ themeSetting: { @@ -89,7 +91,7 @@ watch( () => props.chartConfig.commonData, newData => { try { - const data = newData[newData.currentSource] + const data = newData[newData.currentSource] as Object & { result: resultType } dataHandle(data.result) } catch (error) { console.log(error) @@ -102,7 +104,7 @@ watch( ) watch(() => props.chartConfig.option.titleContrl, (v) => { const commonData = props.chartConfig.commonData - const data = commonData[commonData.currentSource] + const data = commonData[commonData.currentSource] as Object & { result: resultType } dataHandle(data.result) }, { immediate: true,