From 4eae7af1ce6cd0ea8ac6485e26528625e83c3c70 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期二, 12 十月 2021 15:18:57 +0800
Subject: [PATCH] 2021-10-12

---
 src/utils/utils-custom.js |   47 ++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 38 insertions(+), 9 deletions(-)

diff --git a/src/utils/utils-custom.js b/src/utils/utils-custom.js
index a5f307f..a29a1a9 100644
--- a/src/utils/utils-custom.js
+++ b/src/utils/utils-custom.js
@@ -332,17 +332,19 @@
    * @description 閲嶇疆鑿滃崟閰嶇疆锛岄〉闈㈡暣浣撳鍒�
    * @return {String}  components 閰嶇疆淇℃伅
    */
-  static resetConfig = (components) => {
+  static resetConfig = (components, uuids = {}) => {
     return components.map(item => {
       if (item.type === 'navbar') {
         return item
       }
 
-      item.uuid = this.getuuid()
+      uuids[item.uuid] = this.getuuid()
+      item.uuid = uuids[item.uuid]
 
       if (item.type === 'tabs') {
         item.subtabs.forEach(tab => {
-          tab.uuid = this.getuuid()
+          uuids[tab.uuid] = this.getuuid()
+          tab.uuid = uuids[tab.uuid]
           tab.parentId = item.uuid
   
           tab.components = tab.components.map(cell => {
@@ -350,14 +352,14 @@
             cell.parentId = item.uuid
             return cell
           })
-          tab.components = this.resetConfig(tab.components)
+          tab.components = this.resetConfig(tab.components, uuids)
         })
       } else if (item.type === 'group') {
         item.components = item.components.map(cell => {
           cell.parentId = item.uuid
           return cell
         })
-        item.components = this.resetConfig(item.components)
+        item.components = this.resetConfig(item.components, uuids)
       } else if (item.type === 'menubar') {
         item.subMenus = item.subMenus.map(cell => {
           cell.uuid = this.getuuid()
@@ -487,6 +489,19 @@
         })
       }
 
+      if (item.setting && item.setting.supModule && item.setting.supModule[0] !== 'empty') {
+        let em = false
+        item.setting.supModule = item.setting.supModule.map(c => {
+          if (!uuids[c]) {
+            em = true
+          }
+          return uuids[c] || ''
+        })
+        if (em) {
+          item.setting.supModule = ''
+        }
+      }
+
       if (item.wrap && item.wrap.doubleClick) {
         item.wrap.doubleClick = oriUids[item.wrap.doubleClick] || ''
       }
@@ -513,12 +528,17 @@
   * @description 閲嶇疆缁勪欢閰嶇疆
   * @return {String}  item 缁勪欢淇℃伅
   */
-  static resetComponentConfig = (item, copyBtns) => {
+  static resetComponentConfig = (item, copyBtns, uuids = {}) => {
     if (item.type === 'navbar') {
       return item
     }
 
-    item.uuid = this.getuuid()
+    let _uuid = this.getuuid()
+
+    uuids[item.uuid] = _uuid
+
+    item.uuid = _uuid
+
     if (item.dataName) {
       item.dataName = this.getdataName()
     }
@@ -725,8 +745,17 @@
       })
     }
 
-    if (item.setting && item.setting.supModule) {
-      item.setting.supModule = ''
+    if (item.setting && item.setting.supModule && item.setting.supModule[0] !== 'empty') {
+      let em = false
+      item.setting.supModule = item.setting.supModule.map(c => {
+        if (!uuids[c]) {
+          em = true
+        }
+        return uuids[c] || ''
+      })
+      if (em) {
+        item.setting.supModule = ''
+      }
     }
 
     if (item.wrap && item.wrap.doubleClick) {

--
Gitblit v1.8.0