From 7e424bfcda6dfadbf76adbe855c3c57596fe93c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A5=94=E8=B7=91=E7=9A=84=E9=9D=A2=E6=9D=A1?= <1262327911@qq.com> Date: Tue, 14 May 2024 03:54:28 +0000 Subject: [PATCH 1/2] !236 update src/views/chart/ContentEdit/components/EditRule/index.vue. Merge pull request !236 from zhong/N/A --- src/views/chart/ContentEdit/components/EditRule/index.vue | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/views/chart/ContentEdit/components/EditRule/index.vue b/src/views/chart/ContentEdit/components/EditRule/index.vue index ccefadb4..0dbd527b 100644 --- a/src/views/chart/ContentEdit/components/EditRule/index.vue +++ b/src/views/chart/ContentEdit/components/EditRule/index.vue @@ -173,12 +173,12 @@ const canvasBox = () => { } // 重绘标尺 -const reDraw = () => { +const reDraw = throttle(() => { sketchRuleReDraw.value = false setTimeout(() => { sketchRuleReDraw.value = true }, 10) -} +},20) // 滚动居中 const canvasPosCenter = () => { @@ -209,7 +209,7 @@ watch( reDraw() }, 400) } else { - throttle(reDraw, 20) + reDraw(); } } ) From 526d01b16c0c614bad34e14f32813ec6bf55d8cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A5=94=E8=B7=91=E7=9A=84=E9=9D=A2=E6=9D=A1?= <1262327911@qq.com> Date: Mon, 27 May 2024 21:13:45 +0800 Subject: [PATCH 2/2] =?UTF-8?q?fix:=20=E8=A7=A3=E5=86=B3=E5=8A=A8=E6=80=81?= =?UTF-8?q?=E8=BF=94=E5=9B=9Edataset=E7=9A=84=E5=AD=97=E6=AE=B5=E6=95=B0?= =?UTF-8?q?=E9=87=8F=E4=B8=8D=E4=BC=9A=E8=87=AA=E5=8A=A8=E9=80=82=E9=85=8D?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/hooks/useChartDataFetch.hook.ts | 2 +- .../components/Charts/Bars/BarCommon/index.vue | 14 +++++++++++--- .../components/Charts/Bars/BarCrossrange/index.vue | 6 +++--- .../components/Charts/Bars/BarLine/index.vue | 8 ++++++-- .../components/Charts/Lines/LineCommon/index.vue | 5 +++-- .../Charts/Lines/LineGradientSingle/index.vue | 6 ++++-- .../Charts/Lines/LineGradients/index.vue | 6 ++++-- .../Charts/Lines/LineLinearSingle/index.vue | 6 ++++-- src/packages/public/chart.ts | 6 ++++-- 9 files changed, 40 insertions(+), 19 deletions(-) diff --git a/src/hooks/useChartDataFetch.hook.ts b/src/hooks/useChartDataFetch.hook.ts index 9b1a5637..3756999d 100644 --- a/src/hooks/useChartDataFetch.hook.ts +++ b/src/hooks/useChartDataFetch.hook.ts @@ -36,7 +36,7 @@ export const useChartDataFetch = ( const echartsUpdateHandle = (dataset: any) => { if (chartFrame === ChartFrameEnum.ECHARTS) { if (vChartRef.value) { - setOption(vChartRef.value, { dataset: dataset }) + setOption(vChartRef.value, { dataset: dataset }, false) } } } diff --git a/src/packages/components/Charts/Bars/BarCommon/index.vue b/src/packages/components/Charts/Bars/BarCommon/index.vue index d4daecbc..7c47dca1 100644 --- a/src/packages/components/Charts/Bars/BarCommon/index.vue +++ b/src/packages/components/Charts/Bars/BarCommon/index.vue @@ -1,8 +1,14 @@ diff --git a/src/packages/components/Charts/Bars/BarCrossrange/index.vue b/src/packages/components/Charts/Bars/BarCrossrange/index.vue index 8f85f5f2..8e6fa8f9 100644 --- a/src/packages/components/Charts/Bars/BarCrossrange/index.vue +++ b/src/packages/components/Charts/Bars/BarCrossrange/index.vue @@ -4,7 +4,6 @@ :init-options="initOptions" :theme="themeColor" :option="option" - :manual-update="isPreview()" :update-options="{ replaceMerge: replaceMergeArr }" @@ -23,7 +22,6 @@ import { mergeTheme } from '@/packages/public/chart' import config, { includes, seriesItem } from './config' import { useChartDataFetch } from '@/hooks' import { useChartEditStore } from '@/store/modules/chartEditStore/chartEditStore' -import { isPreview } from '@/utils' import { DatasetComponent, GridComponent, TooltipComponent, LegendComponent } from 'echarts/components' import isObject from 'lodash/isObject' import cloneDeep from 'lodash/cloneDeep' @@ -79,5 +77,7 @@ watch( } ) -const { vChartRef } = useChartDataFetch(props.chartConfig, useChartEditStore) +const { vChartRef } = useChartDataFetch(props.chartConfig, useChartEditStore, (newData: any) => { + props.chartConfig.option.dataset = newData +}) diff --git a/src/packages/components/Charts/Bars/BarLine/index.vue b/src/packages/components/Charts/Bars/BarLine/index.vue index 50b2e794..b74922fc 100644 --- a/src/packages/components/Charts/Bars/BarLine/index.vue +++ b/src/packages/components/Charts/Bars/BarLine/index.vue @@ -4,7 +4,9 @@ :init-options="initOptions" :theme="themeColor" :option="option" - :manual-update="isPreview()" + :update-options="{ + replaceMerge: replaceMergeArr + }" autoresize > @@ -88,5 +90,7 @@ watch( } ) -const { vChartRef } = useChartDataFetch(props.chartConfig, useChartEditStore) +const { vChartRef } = useChartDataFetch(props.chartConfig, useChartEditStore, (newData: any) => { + props.chartConfig.option.dataset = newData +}) diff --git a/src/packages/components/Charts/Lines/LineCommon/index.vue b/src/packages/components/Charts/Lines/LineCommon/index.vue index c2163eb7..54d3cb47 100644 --- a/src/packages/components/Charts/Lines/LineCommon/index.vue +++ b/src/packages/components/Charts/Lines/LineCommon/index.vue @@ -4,7 +4,6 @@ :init-options="initOptions" :theme="themeColor" :option="option" - :manual-update="isPreview()" :update-options="{ replaceMerge: replaceMergeArr }" @@ -79,5 +78,7 @@ watch( } ) -const { vChartRef } = useChartDataFetch(props.chartConfig, useChartEditStore) +const { vChartRef } = useChartDataFetch(props.chartConfig, useChartEditStore, (newData: any) => { + props.chartConfig.option.dataset = newData +}) diff --git a/src/packages/components/Charts/Lines/LineGradientSingle/index.vue b/src/packages/components/Charts/Lines/LineGradientSingle/index.vue index b96ffa71..c6ed4d85 100644 --- a/src/packages/components/Charts/Lines/LineGradientSingle/index.vue +++ b/src/packages/components/Charts/Lines/LineGradientSingle/index.vue @@ -1,5 +1,5 @@ @@ -82,5 +82,7 @@ watch( } ) -const { vChartRef } = useChartDataFetch(props.chartConfig, useChartEditStore) +const { vChartRef } = useChartDataFetch(props.chartConfig, useChartEditStore, (newData: any) => { + props.chartConfig.option.dataset = newData +}) diff --git a/src/packages/components/Charts/Lines/LineGradients/index.vue b/src/packages/components/Charts/Lines/LineGradients/index.vue index 08b48646..ea67334b 100644 --- a/src/packages/components/Charts/Lines/LineGradients/index.vue +++ b/src/packages/components/Charts/Lines/LineGradients/index.vue @@ -1,5 +1,5 @@ diff --git a/src/packages/components/Charts/Lines/LineLinearSingle/index.vue b/src/packages/components/Charts/Lines/LineLinearSingle/index.vue index e5a02106..16258648 100644 --- a/src/packages/components/Charts/Lines/LineLinearSingle/index.vue +++ b/src/packages/components/Charts/Lines/LineLinearSingle/index.vue @@ -1,5 +1,5 @@ @@ -79,5 +79,7 @@ watch( } ) -const { vChartRef } = useChartDataFetch(props.chartConfig, useChartEditStore) +const { vChartRef } = useChartDataFetch(props.chartConfig, useChartEditStore, (newData: any) => { + props.chartConfig.option.dataset = newData +}) diff --git a/src/packages/public/chart.ts b/src/packages/public/chart.ts index 5ed7785e..e323542e 100644 --- a/src/packages/public/chart.ts +++ b/src/packages/public/chart.ts @@ -40,9 +40,11 @@ export const setData = (option: any, data: EchartsDataType) => { * @param instance * @param data */ -export const setOption = (instance: T, data: D) => { +export const setOption = (instance: T, data: D, notMerge = true) => { if (!instance) return const option = instance.getOption() option.dataset = null - instance.setOption(data) + instance.setOption(data, { + notMerge: notMerge + }) }