From 81e1787aaee9d03da52ab8938d1961c4333ee5b5 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期四, 02 三月 2023 11:27:51 +0800
Subject: [PATCH] 2023-03-02

---
 src/tabviews/custom/components/form/tab-form/index.jsx    |    2 
 src/views/pcdesign/index.jsx                              |    7 
 src/utils/utils-custom.js                                 |  148 +++++++++++++++++------------
 src/menu/components/card/double-data-card/index.jsx       |   13 --
 src/menu/pastecontroller/index.jsx                        |   17 +--
 src/pc/createview/index.jsx                               |    8 
 src/menu/components/card/data-card/index.jsx              |    1 
 src/menu/components/form/simple-form/options.jsx          |   14 ++
 src/tabviews/custom/components/form/step-form/index.jsx   |    2 
 src/menu/components/form/step-form/options.jsx            |   14 ++
 src/tabviews/custom/components/form/simple-form/index.jsx |    2 
 src/views/mobdesign/index.jsx                             |    7 
 src/views/design/sidemenu/thdmenuplus/index.jsx           |    8 
 src/menu/components/tabs/paste/index.jsx                  |   19 +--
 14 files changed, 149 insertions(+), 113 deletions(-)

diff --git a/src/menu/components/card/data-card/index.jsx b/src/menu/components/card/data-card/index.jsx
index d7f18a7..92c55a7 100644
--- a/src/menu/components/card/data-card/index.jsx
+++ b/src/menu/components/card/data-card/index.jsx
@@ -448,7 +448,6 @@
       delete _card.supNodes
     }
 
-    
     if (res.layout === 'flex') {
       _card.wrap.pagestyle = 'page'
     }
diff --git a/src/menu/components/card/double-data-card/index.jsx b/src/menu/components/card/double-data-card/index.jsx
index 32dd303..5e709c6 100644
--- a/src/menu/components/card/double-data-card/index.jsx
+++ b/src/menu/components/card/double-data-card/index.jsx
@@ -428,19 +428,6 @@
     const { card } = this.state
 
     let _card = {...card, wrap: res}
-
-    if (res.supNodes) {
-      _card.supNodes = res.supNodes
-      _card.supNodes = _card.supNodes.map(item => {
-        item.componentId = item.nodes[item.nodes.length - 1]
-        return item
-      })
-
-      delete res.supNodes
-    } else {
-      delete _card.supNodes
-    }
-
     
     if (res.layout === 'flex') {
       _card.wrap.pagestyle = 'page'
diff --git a/src/menu/components/form/simple-form/options.jsx b/src/menu/components/form/simple-form/options.jsx
index 760d969..2ddaa70 100644
--- a/src/menu/components/form/simple-form/options.jsx
+++ b/src/menu/components/form/simple-form/options.jsx
@@ -84,6 +84,7 @@
         {value: 'static', label: '闈欐��'},
       ],
       controlFields: [
+        {field: 'empty', values: ['dynamic']},
         {field: 'supModule', values: ['static']},
       ]
     },
@@ -171,6 +172,19 @@
     },
     {
       type: 'radio',
+      field: 'empty',
+      label: '绌哄�奸殣钘�',
+      initval: wrap.empty || 'show',
+      tooltip: '褰撴煡璇㈡暟鎹负绌烘椂锛岄殣钘忚缁勪欢銆�',
+      required: false,
+      skip: true,
+      options: [
+        {value: 'show', label: '鍚�'},
+        {value: 'hidden', label: '鏄�'},
+      ],
+    },
+    {
+      type: 'radio',
       field: 'permission',
       label: '鏉冮檺楠岃瘉',
       initval: wrap.permission || 'false',
diff --git a/src/menu/components/form/step-form/options.jsx b/src/menu/components/form/step-form/options.jsx
index 482fa21..3d87ab2 100644
--- a/src/menu/components/form/step-form/options.jsx
+++ b/src/menu/components/form/step-form/options.jsx
@@ -61,6 +61,7 @@
         {value: 'static', label: '闈欐��'},
       ],
       controlFields: [
+        {field: 'empty', values: ['dynamic']},
         {field: 'supModule', values: ['static']},
       ]
     },
@@ -136,6 +137,19 @@
     },
     {
       type: 'radio',
+      field: 'empty',
+      label: '绌哄�奸殣钘�',
+      initval: wrap.empty || 'show',
+      tooltip: '褰撴煡璇㈡暟鎹负绌烘椂锛岄殣钘忚缁勪欢銆�',
+      required: false,
+      skip: true,
+      options: [
+        {value: 'show', label: '鍚�'},
+        {value: 'hidden', label: '鏄�'},
+      ],
+    },
+    {
+      type: 'radio',
       field: 'permission',
       label: '鏉冮檺楠岃瘉',
       initval: wrap.permission || 'false',
diff --git a/src/menu/components/tabs/paste/index.jsx b/src/menu/components/tabs/paste/index.jsx
index 53b2285..418222c 100644
--- a/src/menu/components/tabs/paste/index.jsx
+++ b/src/menu/components/tabs/paste/index.jsx
@@ -23,35 +23,32 @@
     this.setState({visible: true})
   }
 
-  resetconfig = (item, uuids = {}) => {
+  resetconfig = (item) => {
     if (item.type === 'tabs') {
-      uuids[item.uuid] = MenuUtils.getuuid()
-      item.uuid = uuids[item.uuid]
+      item.uuid = MenuUtils.getuuid()
       item.setting.name = item.setting.name + MenuUtils.getSignName()
       item.name = item.setting.name
       
       item.subtabs.forEach(tab => {
-        uuids[tab.uuid] = MenuUtils.getuuid()
-        tab.uuid = uuids[tab.uuid]
+        tab.uuid = MenuUtils.getuuid()
 
         tab.components = tab.components.map(cell => {
-          cell = this.resetconfig(cell, uuids)
+          cell = this.resetconfig(cell)
           return cell
         })
       })
     } else if (item.type === 'group') {
-      uuids[item.uuid] = MenuUtils.getuuid()
-      item.uuid = uuids[item.uuid]
+      item.uuid = MenuUtils.getuuid()
       item.setting.name = item.setting.name + MenuUtils.getSignName()
       item.name = item.setting.name
 
       item.components = item.components.map(cell => {
-        cell = MenuUtils.resetComponentConfig(cell, uuids)
+        cell = MenuUtils.resetComponentConfig(cell)
 
         return cell
       })
     } else {
-      item = MenuUtils.resetComponentConfig(item, uuids)
+      item = MenuUtils.resetComponentConfig(item)
     }
 
     return item
@@ -90,7 +87,7 @@
         return
       }
 
-      res = this.resetconfig(res, {})
+      res = this.resetconfig(res)
 
       delete res.copyType
       
diff --git a/src/menu/pastecontroller/index.jsx b/src/menu/pastecontroller/index.jsx
index 7a49bf2..d816e9d 100644
--- a/src/menu/pastecontroller/index.jsx
+++ b/src/menu/pastecontroller/index.jsx
@@ -18,40 +18,37 @@
     visible: false
   }
 
-  resetconfig = (item, uuids = {}) => {
+  resetconfig = (item) => {
     let appType = sessionStorage.getItem('appType')
     
     if (item.type === 'tabs') {
-      uuids[item.uuid] = MenuUtils.getuuid()
-      item.uuid = uuids[item.uuid]
+      item.uuid = MenuUtils.getuuid()
       item.setting.name = item.setting.name + MenuUtils.getSignName()
       item.name = item.setting.name
 
       item.subtabs.forEach(tab => {
-        uuids[tab.uuid] = MenuUtils.getuuid()
-        tab.uuid = uuids[tab.uuid]
+        tab.uuid = MenuUtils.getuuid()
 
         if (appType !== 'mob') {
           tab.components = tab.components.filter(cell => cell.type !== 'menubar')
         }
 
         tab.components = tab.components.map(cell => {
-          cell = this.resetconfig(cell, uuids)
+          cell = this.resetconfig(cell)
           return cell
         })
       })
     } else if (item.type === 'group') {
-      uuids[item.uuid] = MenuUtils.getuuid()
-      item.uuid = uuids[item.uuid]
+      item.uuid = MenuUtils.getuuid()
       item.setting.name = item.setting.name + MenuUtils.getSignName()
       item.name = item.setting.name
 
       item.components = item.components.map(cell => {
-        cell = MenuUtils.resetComponentConfig(cell, uuids)
+        cell = MenuUtils.resetComponentConfig(cell)
         return cell
       })
     } else {
-      item = MenuUtils.resetComponentConfig(item, uuids)
+      item = MenuUtils.resetComponentConfig(item)
     }
 
     return item
diff --git a/src/pc/createview/index.jsx b/src/pc/createview/index.jsx
index 580b8cc..be5bdec 100644
--- a/src/pc/createview/index.jsx
+++ b/src/pc/createview/index.jsx
@@ -3,6 +3,7 @@
 import { is, fromJS } from 'immutable'
 import { Button, Modal, notification } from 'antd'
 import moment from 'moment'
+import md5 from 'md5'
 
 import Utils from '@/utils/utils.js'
 import MenuUtils, { getTables } from '@/utils/utils-custom.js'
@@ -158,15 +159,14 @@
           }
 
           if (_config.components) {
-            let uuids = {} // 閲嶇疆鍏叡鏁版嵁婧�
+            let commonId = Utils.getuuid()
             if (_config.interfaces && _config.interfaces.length > 0) {
               config.interfaces = _config.interfaces.map(inter => {
-                uuids[inter.uuid] = this.getuuid()
-                inter.uuid = uuids[inter.uuid]
+                inter.uuid = md5(commonId + inter.uuid)
                 return inter
               })
             }
-            config.components = MenuUtils.resetConfig(_config.components, uuids, res.clearMenu === 'true')
+            config.components = MenuUtils.resetConfig(_config.components, commonId, res.clearMenu === 'true')
             config.tables = _config.tables || []
             config.style = _config.style || {}
             config.statusBarbgColor = _config.statusBarbgColor || ''
diff --git a/src/tabviews/custom/components/form/simple-form/index.jsx b/src/tabviews/custom/components/form/simple-form/index.jsx
index b29ce9c..336de9c 100644
--- a/src/tabviews/custom/components/form/simple-form/index.jsx
+++ b/src/tabviews/custom/components/form/simple-form/index.jsx
@@ -288,6 +288,8 @@
   render() {
     const { config, loading, BID, BData, data, group, dict } = this.state
 
+    if (config.wrap.empty === 'hidden' && (!data || data.$$empty)) return null
+    
     return (
       <div className="custom-simple-form-box" id={'anchor' + config.uuid} style={{...config.style}}>
         {loading ?
diff --git a/src/tabviews/custom/components/form/step-form/index.jsx b/src/tabviews/custom/components/form/step-form/index.jsx
index 7c72f10..f3711b3 100644
--- a/src/tabviews/custom/components/form/step-form/index.jsx
+++ b/src/tabviews/custom/components/form/step-form/index.jsx
@@ -390,6 +390,8 @@
   render() {
     const { config, loading, BID, BData, data, group, dict, step } = this.state
 
+    if (config.wrap.empty === 'hidden' && (!data || data.$$empty)) return null
+    
     return (
       <div className="custom-normal-form-box" id={'anchor' + config.uuid} style={{...config.style}}>
         {loading ?
diff --git a/src/tabviews/custom/components/form/tab-form/index.jsx b/src/tabviews/custom/components/form/tab-form/index.jsx
index 0195383..695bbec 100644
--- a/src/tabviews/custom/components/form/tab-form/index.jsx
+++ b/src/tabviews/custom/components/form/tab-form/index.jsx
@@ -306,6 +306,8 @@
   render() {
     const { config, loading, BID, BData, data, group, dict } = this.state
 
+    if (config.wrap.empty === 'hidden' && (!data || data.$$empty)) return null
+    
     return (
       <div className="custom-tab-form-box" id={'anchor' + config.uuid} style={{...config.style}}>
         {loading ?
diff --git a/src/utils/utils-custom.js b/src/utils/utils-custom.js
index 1eaf2e9..eb12ca9 100644
--- a/src/utils/utils-custom.js
+++ b/src/utils/utils-custom.js
@@ -1,3 +1,5 @@
+import md5 from 'md5'
+
 export default class MenuUtils {
   /**
    * @description 鑾峰彇涓嬬骇妯″潡
@@ -394,7 +396,7 @@
    * @description 閲嶇疆鑿滃崟閰嶇疆锛岄〉闈㈡暣浣撳鍒�
    * @return {String}  components 閰嶇疆淇℃伅
    */
-  static resetConfig = (components, uuids = {}, clear = false) => {
+  static resetConfig = (components, commonId, clear = false) => {
     return components.map(item => {
       if (item.type === 'navbar') {
         return item
@@ -404,18 +406,16 @@
         item.type = 'card'
       }
 
-      uuids[item.uuid] = this.getuuid()
-      item.uuid = uuids[item.uuid]
+      item.uuid = md5(commonId + item.uuid)
 
       if (item.type === 'tabs') {
         item.subtabs.forEach(tab => {
-          uuids[tab.uuid] = this.getuuid()
-          tab.uuid = uuids[tab.uuid]
+          tab.uuid = md5(commonId + tab.uuid)
 
-          tab.components = this.resetConfig(tab.components, uuids, clear)
+          tab.components = this.resetConfig(tab.components, commonId, clear)
         })
       } else if (item.type === 'group') {
-        item.components = this.resetConfig(item.components, uuids, clear)
+        item.components = this.resetConfig(item.components, commonId, clear)
       } else if (item.type === 'menubar') {
         item.subMenus = item.subMenus.map(cell => {
           cell.uuid = this.getuuid()
@@ -426,8 +426,17 @@
           return cell
         })
       } else if (['card', 'carousel', 'timeline'].includes(item.type)) {
-        if (item.wrap.datatype === 'public' && uuids[item.wrap.publicId]) {
-          item.wrap.publicId = uuids[item.wrap.publicId]
+        if (item.wrap.datatype === 'public' && item.wrap.publicId) {
+          item.wrap.publicId = md5(commonId + item.wrap.publicId)
+        }
+
+        if (item.supNodes && item.supNodes.length > 0) {
+          item.supNodes = item.supNodes.map(cell => {
+            cell.nodes = cell.nodes.map(n => md5(commonId + n))
+            cell.componentId = cell.nodes[cell.nodes.length - 1]
+
+            return cell
+          })
         }
         
         item.subcards.forEach(card => {
@@ -448,9 +457,12 @@
             card.elements = card.elements.map(cell => {
               cell.uuid = this.getuuid()
 
-              if (clear && cell.eleType === 'button' && cell.pageTemplate === 'linkpage' && cell.linkmenu) {
-                cell.pageTemplate = ''
-                cell.linkmenu = ''
+              if (cell.eleType === 'button') {
+                if (clear && cell.pageTemplate === 'linkpage' && cell.linkmenu) {
+                  cell.pageTemplate = ''
+                  cell.linkmenu = ''
+                }
+                this.resetBtn(cell, commonId)
               }
               
               return cell
@@ -460,9 +472,12 @@
             card.backElements = card.backElements.map(cell => {
               cell.uuid = this.getuuid()
 
-              if (clear && cell.eleType === 'button' && cell.pageTemplate === 'linkpage' && cell.linkmenu) {
-                cell.pageTemplate = ''
-                cell.linkmenu = ''
+              if (cell.eleType === 'button') {
+                if (clear && cell.pageTemplate === 'linkpage' && cell.linkmenu) {
+                  cell.pageTemplate = ''
+                  cell.linkmenu = ''
+                }
+                this.resetBtn(cell, commonId)
               }
 
               return cell
@@ -470,16 +485,19 @@
           }
         })
       } else if (item.type === 'balcony') {
-        if (item.wrap.datatype === 'public' && uuids[item.wrap.publicId]) {
-          item.wrap.publicId = uuids[item.wrap.publicId]
+        if (item.wrap.datatype === 'public' && item.wrap.publicId) {
+          item.wrap.publicId = md5(commonId + item.wrap.publicId)
         }
         if (item.elements) {
           item.elements = item.elements.map(cell => {
             cell.uuid = this.getuuid()
 
-            if (clear && cell.eleType === 'button' && cell.pageTemplate === 'linkpage' && cell.linkmenu) {
-              cell.pageTemplate = ''
-              cell.linkmenu = ''
+            if (cell.eleType === 'button') {
+              if (clear && cell.pageTemplate === 'linkpage' && cell.linkmenu) {
+                cell.pageTemplate = ''
+                cell.linkmenu = ''
+              }
+              this.resetBtn(cell, commonId)
             }
 
             return cell
@@ -488,7 +506,7 @@
       } else if (item.type === 'table' && item.cols) {
         let loopCol = (col) => {
           col.subcols = col.subcols.map(c => {
-            c.uuid = this.getuuid()
+            c.uuid = md5(commonId + c.uuid)
   
             if (c.type === 'colspan' && c.subcols) {
               c = loopCol(c)
@@ -507,6 +525,8 @@
                   cell.linkmenu = ''
                 }
 
+                this.resetBtn(cell, commonId)
+
                 return cell
               })
             }
@@ -515,12 +535,9 @@
   
           return col
         }
-        let _uuids = {}
-        item.cols = item.cols.map(col => {
-          let uuid = this.getuuid()
 
-          _uuids[col.uuid] = uuid
-          col.uuid = uuid
+        item.cols = item.cols.map(col => {
+          col.uuid = md5(commonId + col.uuid)
   
           if (col.type === 'colspan' && col.subcols) {
             col = loopCol(col)
@@ -532,6 +549,7 @@
           } else if (col.type === 'action' && col.elements) {
             col.elements = col.elements.map(cell => {
               cell.uuid = this.getuuid()
+              this.resetBtn(cell, commonId)
               return cell
             })
           }
@@ -540,8 +558,15 @@
 
         if (item.subtype === 'editable') {
           item.cols = item.cols.map(col => {
-            if (col.editable === 'true' && col.enter && _uuids[col.enter]) {
-              col.enter = _uuids[col.enter]
+            if (col.editable === 'true' && col.enter) {
+              col.enter = md5(commonId + col.enter)
+            } else if (col.type === 'colspan' && col.subcols) {
+              col.subcols = col.subcols.map(c => {
+                if (c.editable === 'true' && c.enter) {
+                  c.enter = md5(commonId + c.enter)
+                }
+                return c
+              })
             }
             return col
           })
@@ -555,6 +580,11 @@
     
             return m
           })
+
+          if (cell.subButton) {
+            this.resetBtn(cell.subButton, commonId)
+          }
+
           return cell
         })
       }
@@ -563,18 +593,16 @@
         item.btnlog = null
       }
   
-      let oriUids = {}
       if (item.action) {
         item.action = item.action.map(cell => {
-          let _uuid = this.getuuid()
-
-          oriUids[cell.uuid] = _uuid
-          cell.uuid = _uuid
+          cell.uuid = md5(commonId + cell.uuid)
 
           if (clear && cell.pageTemplate === 'linkpage' && cell.linkmenu) {
             cell.pageTemplate = ''
             cell.linkmenu = ''
           }
+
+          this.resetBtn(cell, commonId)
 
           return cell
         })
@@ -613,27 +641,35 @@
       }
 
       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] || ''
+          return md5(commonId + c)
         })
-        if (em) {
-          item.setting.supModule = ''
-        }
         if (item.wrap && item.wrap.supModule) {
           item.wrap.supModule = item.setting.supModule
         }
       }
 
       if (item.wrap && item.wrap.doubleClick) {
-        item.wrap.doubleClick = oriUids[item.wrap.doubleClick] || ''
+        item.wrap.doubleClick = md5(commonId + item.wrap.doubleClick)
       }
   
       return item
     })
+  }
+
+  /**
+   * @description 鎸夐挳閲嶇疆
+   */
+  static resetBtn (btn, commonId) {
+    if (btn.switchTab && btn.switchTab.length > 0) {
+      btn.switchTab = btn.switchTab.map(m => md5(commonId + m))
+    }
+    if (btn.anchors && btn.anchors.length > 0) {
+      btn.anchors = btn.anchors.map(m => md5(commonId + m))
+    }
+    if (btn.syncComponent && btn.syncComponent.length > 0) {
+      btn.syncComponent = btn.syncComponent.map(m => md5(commonId + m))
+    }
   }
 
   /**
@@ -652,7 +688,7 @@
   * @description 閲嶇疆缁勪欢閰嶇疆
   * @return {String}  item 缁勪欢淇℃伅
   */
-  static resetComponentConfig = (item, uuids = {}) => {
+  static resetComponentConfig = (item) => {
     if (item.type === 'navbar') {
       return item
     }
@@ -661,11 +697,8 @@
       item.type = 'card'
     }
 
-    let _uuid = this.getuuid()
-
-    uuids[item.uuid] = _uuid
-
-    item.uuid = _uuid
+    item.uuid = this.getuuid()
+    let commonId = this.getuuid()
 
     // 閲嶇疆缁勪欢鍚嶇О
     let sign = this.getSignName()
@@ -736,12 +769,8 @@
         return col
       }
 
-      let _uuids = {}
       item.cols = item.cols.map(col => {
-        let uuid = this.getuuid()
-
-        _uuids[col.uuid] = uuid
-        col.uuid = uuid
+        col.uuid = md5(commonId + col.uuid)
 
         if (col.type === 'colspan' && col.subcols) {
           col = loopCol(col)
@@ -764,8 +793,8 @@
 
       if (item.subtype === 'editable') {
         item.cols = item.cols.map(col => {
-          if (col.editable === 'true' && col.enter && _uuids[col.enter]) {
-            col.enter = _uuids[col.enter]
+          if (col.editable === 'true' && col.enter) {
+            col.enter = md5(commonId + col.enter)
           }
           return col
         })
@@ -785,17 +814,12 @@
 
     delete item.btnlog
 
-    let oriUids = {}
     if (item.action) {
       if (sessionStorage.getItem('editMenuType') === 'popview') {
         item.action = item.action.filter(c => c.OpenType !== 'popview' && c.OpenType !== 'funcbutton')
       }
       item.action = item.action.map(cell => {
-        let _uuid = this.getuuid()
-
-        oriUids[cell.uuid] = _uuid
-
-        cell.uuid = _uuid
+        cell.uuid = md5(commonId + cell.uuid)
 
         return cell
       })
@@ -840,7 +864,7 @@
     }
 
     if (item.wrap && item.wrap.doubleClick) {
-      item.wrap.doubleClick = oriUids[item.wrap.doubleClick] || ''
+      item.wrap.doubleClick = md5(commonId + item.wrap.doubleClick)
     }
 
     return item
diff --git a/src/views/design/sidemenu/thdmenuplus/index.jsx b/src/views/design/sidemenu/thdmenuplus/index.jsx
index c10da0d..ad47ac4 100644
--- a/src/views/design/sidemenu/thdmenuplus/index.jsx
+++ b/src/views/design/sidemenu/thdmenuplus/index.jsx
@@ -3,6 +3,7 @@
 import { Modal, notification, Col, Card, Tabs, Row, Input, Button } from 'antd'
 import { PlusOutlined } from '@ant-design/icons'
 import moment from 'moment'
+import md5 from 'md5'
 
 import Api from '@/api'
 import { sysTemps } from '@/utils/option.js'
@@ -235,16 +236,15 @@
           config.MenuNo = param.MenuNo
           config.easyCode = ''
 
-          let uuids = {} // 閲嶇疆鍏叡鏁版嵁婧�
+          let commonId = Utils.getuuid()
           if (config.interfaces && config.interfaces.length > 0) {
             config.interfaces = config.interfaces.map(inter => {
-              uuids[inter.uuid] = this.getuuid()
-              inter.uuid = uuids[inter.uuid]
+              inter.uuid = md5(commonId + inter.uuid)
               return inter
             })
           }
 
-          config.components = MenuUtils.resetConfig(config.components, uuids)
+          config.components = MenuUtils.resetConfig(config.components, commonId)
           config.enabled = false
 
           param.LongParam = window.btoa(window.encodeURIComponent(JSON.stringify(config)))
diff --git a/src/views/mobdesign/index.jsx b/src/views/mobdesign/index.jsx
index 1b227df..96074f4 100644
--- a/src/views/mobdesign/index.jsx
+++ b/src/views/mobdesign/index.jsx
@@ -842,16 +842,15 @@
           }
         }
       } else {
-        let uuids = {} // 閲嶇疆鍏叡鏁版嵁婧�
+        let commonId = Utils.getuuid()
         if (config.interfaces && config.interfaces.length > 0) {
           config.interfaces = config.interfaces.map(inter => {
-            uuids[inter.uuid] = this.getuuid()
-            inter.uuid = uuids[inter.uuid]
+            inter.uuid = md5(commonId + inter.uuid)
             return inter
           })
         }
 
-        config.components = MenuUtils.resetConfig(config.components, uuids, urlParam.clearMenu)
+        config.components = MenuUtils.resetConfig(config.components, commonId, urlParam.clearMenu)
 
         if (config.version !== 2.0) {
           config.components = this.collectTB(config.components)
diff --git a/src/views/pcdesign/index.jsx b/src/views/pcdesign/index.jsx
index 10b55fc..9a294ce 100644
--- a/src/views/pcdesign/index.jsx
+++ b/src/views/pcdesign/index.jsx
@@ -776,15 +776,14 @@
           }
         }
       } else {
-        let uuids = {} // 閲嶇疆鍏叡鏁版嵁婧�
+        let commonId = Utils.getuuid()
         if (config.interfaces && config.interfaces.length > 0) {
           config.interfaces = config.interfaces.map(inter => {
-            uuids[inter.uuid] = this.getuuid()
-            inter.uuid = uuids[inter.uuid]
+            inter.uuid = md5(commonId + inter.uuid)
             return inter
           })
         }
-        config.components = MenuUtils.resetConfig(config.components, uuids, urlParam.clearMenu)
+        config.components = MenuUtils.resetConfig(config.components, commonId, urlParam.clearMenu)
 
         if (config.version !== 2.0) {
           config.components = this.collectTB(config.components)

--
Gitblit v1.8.0