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 }