From 24842b40de5cd60700bf69dfd38a0332f5431e36 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期五, 23 五月 2025 10:55:07 +0800
Subject: [PATCH] Merge branch 'master' into positec

---
 src/utils/utils-update.js |  113 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 113 insertions(+), 0 deletions(-)

diff --git a/src/utils/utils-update.js b/src/utils/utils-update.js
index 8c06998..29b1fa1 100644
--- a/src/utils/utils-update.js
+++ b/src/utils/utils-update.js
@@ -1,4 +1,59 @@
 /**
+ * @description 鍗囩骇琛ㄥ崟淇℃伅
+ * @param {Object}   config      琛ㄥ崟閰嶇疆淇℃伅
+ * @return {Object}  config
+ */
+export function updateForm (config) {
+  if (!config.version && config.groups) {
+    config.version = '1.0'
+    if (config.groups && config.groups.length > 0) {
+      let fields = []
+      config.groups.forEach(group => {
+        if (group.sublist.length === 0) return
+
+        if (!group.default) {
+          fields.push({
+            type: 'split',
+            label: group.label,
+            uuid: group.uuid,
+            span: 24
+          })
+        }
+
+        fields.push(...group.sublist)
+      })
+      config.fields = fields
+    }
+    delete config.groups
+
+    let _col = config.setting.cols || '2'
+
+    config.fields = config.fields.map(item => {
+      item.labelwidth = 33.3
+      if (_col === '1' || item.entireLine === 'true' || ['textarea','hint','checkcard','brafteditor'].includes(item.type)) {
+        item.span = 24
+        if (_col === '2') {
+          item.labelwidth = 16.3
+        } else if (_col === '3') {
+          item.labelwidth = 10.5
+        } else if (_col === '4') {
+          item.labelwidth = 8.3
+        }
+      } else if (_col === '2') {
+        item.span = 12
+      } else if (_col === '3') {
+        item.span = 8
+      } else if (_col === '4') {
+        item.span = 6
+      }
+      return item
+    })
+  }
+
+  return config
+}
+
+/**
  * @description 鍗囩骇涓昏〃淇℃伅
  * @param {Object}   config      椤甸潰閰嶇疆淇℃伅
  * @return {Object}  config
@@ -73,9 +128,19 @@
     config.action = config.action.map(item => {
       if (item.execMode) {
         item.OpenType = 'funcbutton'
+      } else if (item.OpenType === 'blank') {
+        item.OpenType = 'tab'
       }
       return item
     })
+  }
+
+  if (config.version < '2.0') {
+    config.version = '2.0'
+    // 鍘婚櫎浼犵粺table涓殑鏍囩锛岃皟鏁存暟鎹粨鏋�
+    if (config.charts && config.charts.length === 1) {
+      config.charts = null
+    }
   }
 
   config.Template = 'CommonTable'
@@ -153,6 +218,54 @@
     config.action = config.action.map(item => {
       if (item.execMode) {
         item.OpenType = 'funcbutton'
+      } else if (item.OpenType === 'blank') {
+        item.OpenType = 'tab'
+      }
+      return item
+    })
+  }
+
+  if (config.version < '2.0') {
+    config.version = '2.0'
+    // 鍘婚櫎浼犵粺table涓殑鏍囩锛岃皟鏁存暟鎹粨鏋�
+    if (config.charts && config.charts.length === 1) {
+      config.charts = null
+    }
+  }
+  
+  config.Template = 'SubTable'
+
+  return config
+}
+
+/**
+ * @description 鍗囩骇寮圭獥瀛愯〃淇℃伅
+ * @param {Object}   config      椤甸潰閰嶇疆淇℃伅
+ * @return {Object}  config
+ */
+export function updateSubTabTable (config) {
+  if (!config.version || config.version < '1.1') {
+    config.version = '1.1'
+    if (config.setting.interType === 'inner' && !config.setting.innerFunc) {
+      config.setting.interType = 'system'
+    }
+    // 鍏煎鎺ュ彛绫诲瀷
+    config.action = config.action.map(item => {
+      if (item.intertype === 'inner' && !item.innerFunc) {
+        item.intertype = 'system'
+      }
+      return item
+    })
+  }
+
+  if (config.version < '1.2') {
+    config.version = '1.2'
+    // 鍏煎鍔熻兘鎸夐挳
+    config.action = config.action.map(item => {
+      if (item.execMode) {
+        item.OpenType = 'funcbutton'
+      } else if (item.OpenType === 'blank') {
+        item.OpenType = 'tab'
       }
       return item
     })

--
Gitblit v1.8.0