From a67d3f763f5dd0e42b1a78daaca3ca90edeb51f2 Mon Sep 17 00:00:00 2001 From: "liu.shiyi" <liu.shiyi@ustcinfo.com> Date: Tue, 11 Jul 2023 11:11:30 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E4=BF=AE=E6=94=B9=E8=A2=AB=E5=86=B2?= =?UTF-8?q?=E6=8E=89=E7=9A=84=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data-room-ui/packages/G2Plots/plotList.js | 1 + data-room-ui/packages/PlotRender/settingConfig.js | 1 - data-room-ui/packages/js/store/actions.js | 15 ++++++++++++--- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/data-room-ui/packages/G2Plots/plotList.js b/data-room-ui/packages/G2Plots/plotList.js index f296e34d..1691ca09 100644 --- a/data-room-ui/packages/G2Plots/plotList.js +++ b/data-room-ui/packages/G2Plots/plotList.js @@ -26,6 +26,7 @@ function getPlotList (files) { const config = configMapList[configMapKey] plotList[index] = { + version: config.version, category: configMapKey, name: config.name, title: config.title, diff --git a/data-room-ui/packages/PlotRender/settingConfig.js b/data-room-ui/packages/PlotRender/settingConfig.js index 0239edad..cd8e064a 100644 --- a/data-room-ui/packages/PlotRender/settingConfig.js +++ b/data-room-ui/packages/PlotRender/settingConfig.js @@ -4,7 +4,6 @@ export const settingConfig = { } const customConfig = { root: { - version: '2023071001', contribution: false }, customize: { diff --git a/data-room-ui/packages/js/store/actions.js b/data-room-ui/packages/js/store/actions.js index 4d9c1862..0f11c17f 100644 --- a/data-room-ui/packages/js/store/actions.js +++ b/data-room-ui/packages/js/store/actions.js @@ -68,9 +68,14 @@ export function handleResData (data) { let originalConfig = {} pageInfo.chartList.forEach((chart) => { if (!['customComponent', 'remoteComponent'].includes(chart.type)) { - // chart.option = _.cloneDeep(setModules[chart.type]) originalConfig = { option: { ...setModules[chart.type] }, ...dataModules[chart.type] } - chart = compatibility(chart, originalConfig) + // 如果没有版本号,或者版本号修改了则需要进行旧数据兼容 + if ((!chart.version) || chart.version !== originalConfig.version) { + chart = compatibility(chart, originalConfig) + } else { + console.log(chart) + chart.option = _.cloneDeep(setModules[chart.type]) + } } else { originalConfig = plotList?.find(plot => plot.name === chart.name) chart.option = stringToFunction(chart.option) @@ -78,7 +83,10 @@ export function handleResData (data) { if (!chart?.dataSource?.businessKey) { chart.option.data = plotList?.find(plot => plot.name === chart.name)?.option?.data } - chart = compatibility(chart, originalConfig) + // 如果没有版本号,或者版本号修改了则需要进行旧数据兼容 + if ((!chart.version) || chart.version !== originalConfig.version) { + chart = compatibility(chart, originalConfig) + } } chart.key = chart.code }) @@ -87,6 +95,7 @@ export function handleResData (data) { // 组件属性兼容 function compatibility (config, originalConfig) { const newConfig = config + newConfig.version = originalConfig.version newConfig.dataSource = objCompare(newConfig.dataSource, originalConfig.dataSource) newConfig.customize = objCompare(newConfig.customize, originalConfig.customize) newConfig.option = { ...objCompare(newConfig.option, originalConfig.option), displayOption: originalConfig.option.displayOption }