From c98e45bfac25e9110ad0383faac54a54d98ea9d5 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期四, 18 十一月 2021 20:47:04 +0800
Subject: [PATCH] 2021-11-18

---
 src/utils/utils-custom.js |   53 +++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 41 insertions(+), 12 deletions(-)

diff --git a/src/utils/utils-custom.js b/src/utils/utils-custom.js
index a5f307f..928c462 100644
--- a/src/utils/utils-custom.js
+++ b/src/utils/utils-custom.js
@@ -274,7 +274,7 @@
           uuids.push(act.uuid)
         })
 
-        if (item.type === 'card' || item.type === 'carousel' || (item.type === 'table' && item.subtype === 'tablecard')) {
+        if (['card', 'carousel', 'timeline'].includes(item.type) || (item.type === 'table' && item.subtype === 'tablecard')) {
           item.subcards.forEach(_card => {
             _card.elements && _card.elements.forEach(cell => {
               if (cell.eleType !== 'button') return
@@ -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,20 +352,20 @@
             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()
           return cell
         })
-      } else if (item.type === 'card' || item.type === 'carousel' || (item.type === 'table' && item.subtype === 'tablecard')) {
+      } else if (['card', 'carousel', 'timeline'].includes(item.type) || (item.type === 'table' && item.subtype === 'tablecard')) {
         item.subcards.forEach(card => {
           card.uuid = this.getuuid()
           if (card.elements) {
@@ -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()
     }
@@ -541,7 +561,7 @@
         cell.uuid = this.getuuid()
         return cell
       })
-    } else if (item.type === 'card' || item.type === 'carousel' || (item.type === 'table' && item.subtype === 'tablecard')) {
+    } else if (['card', 'carousel', 'timeline'].includes(item.type) || (item.type === 'table' && item.subtype === 'tablecard')) {
       item.subcards.forEach(card => {
         card.uuid = this.getuuid()
         if (card.elements) {
@@ -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