From 137fb8ea6af2789b3238b22bac31d80bced41dfe Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期三, 28 七月 2021 11:39:39 +0800
Subject: [PATCH] 2021-07-28

---
 src/pc/components/navbar/normal-navbar/menusetting/menutable/index.jsx |  105 +++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 70 insertions(+), 35 deletions(-)

diff --git a/src/pc/components/navbar/normal-navbar/menusetting/menutable/index.jsx b/src/pc/components/navbar/normal-navbar/menusetting/menutable/index.jsx
index 92d751b..8174d84 100644
--- a/src/pc/components/navbar/normal-navbar/menusetting/menutable/index.jsx
+++ b/src/pc/components/navbar/normal-navbar/menusetting/menutable/index.jsx
@@ -5,7 +5,7 @@
 
 import MenuForm from '../menuform'
 import Utils from '@/utils/utils.js'
-import MKEmitter from '@/utils/events.js'
+// import MKEmitter from '@/utils/events.js'
 import './index.scss'
 
 const { confirm } = Modal
@@ -97,7 +97,6 @@
         let _data = _this.state.data.filter(item => item.MenuID !== record.MenuID)
         _this.setState({data: _data})
         _this.props.menuUpdate({...menu, sublist: _data})
-        MKEmitter.emit('delButtons', [record.MenuID])
       },
       onCancel() {}
     })
@@ -124,7 +123,7 @@
 
     this.menuRef.handleConfirm().then(res => {
       let _menu = {...editMenu, ...res}
-      let _data = this.state.data
+      let _data = fromJS(this.state.data).toJS()
       if (!_menu.MenuID) {
         _menu.MenuID = Utils.getuuid()
         _data.push(_menu)
@@ -137,8 +136,26 @@
           }
         })
       }
-      this.setState({data: _data, editMenu: null, visible: false})
-      this.props.menuUpdate({...menu, sublist: _data})
+      if (editMenu.MenuID && editMenu.property === 'menu' && _menu.property !== 'menu') {
+        const _this = this
+        confirm({
+          content: '鑿滃崟灞炴�х敱鈥滆彍鍗曗�濆垏鎹㈣嚦鍏朵粬绫诲瀷鏃讹紝鑿滃崟灏嗚閲嶇疆锛屽嵆瑙i櫎涔嬪墠鑿滃崟鐨勭粦瀹氬叧绯伙紝纭畾淇敼鍚楋紵',
+          onOk() {
+            _data = _data.map(item => {
+              if (item.MenuID === _menu.MenuID) {
+                item.MenuID = Utils.getuuid()
+              }
+              return item
+            })
+            _this.setState({data: _data, editMenu: null, visible: false})
+            _this.props.menuUpdate({...menu, sublist: _data})
+          },
+          onCancel() {}
+        })
+      } else {
+        this.setState({data: _data, editMenu: null, visible: false})
+        this.props.menuUpdate({...menu, sublist: _data})
+      }
     })
   }
 
@@ -263,12 +280,6 @@
         let _data = _this.state.data.filter(item => item.MenuID !== record.MenuID)
         _this.setState({data: _data})
         _this.props.menuUpdate({...menu, sublist: _data})
-
-        let uuids = [record.MenuID]
-        record.sublist && record.sublist.forEach(item => {
-          uuids.push(item.MenuID)
-        })
-        MKEmitter.emit('delButtons', uuids)
       },
       onCancel() {}
     })
@@ -295,7 +306,7 @@
 
     this.menuRef.handleConfirm().then(res => {
       let _menu = {...editMenu, ...res}
-      let _data = this.state.data
+      let _data = fromJS(this.state.data).toJS()
       if (!_menu.MenuID) {
         _menu.MenuID = Utils.getuuid()
         _data.push(_menu)
@@ -308,8 +319,26 @@
           }
         })
       }
-      this.setState({data: _data, editMenu: null, visible: false})
-      this.props.menuUpdate({...menu, sublist: _data})
+      if (editMenu.MenuID && editMenu.property === 'menu' && _menu.property !== 'menu') {
+        const _this = this
+        confirm({
+          content: '鑿滃崟灞炴�х敱鈥滆彍鍗曗�濆垏鎹㈣嚦鍏朵粬绫诲瀷鏃讹紝鑿滃崟灏嗚閲嶇疆锛屽嵆瑙i櫎涔嬪墠鑿滃崟鐨勭粦瀹氬叧绯伙紝纭畾淇敼鍚楋紵',
+          onOk() {
+            _data = _data.map(item => {
+              if (item.MenuID === _menu.MenuID) {
+                item.MenuID = Utils.getuuid()
+              }
+              return item
+            })
+            _this.setState({data: _data, editMenu: null, visible: false})
+            _this.props.menuUpdate({...menu, sublist: _data})
+          },
+          onCancel() {}
+        })
+      } else {
+        this.setState({data: _data, editMenu: null, visible: false})
+        this.props.menuUpdate({...menu, sublist: _data})
+      }
     })
   }
 
@@ -444,16 +473,6 @@
       content: '',
       onOk() {
         _this.setState({data: data.filter(item => item.MenuID !== record.MenuID)})
-
-        let uuids = [record.MenuID]
-        record.sublist && record.sublist.forEach(item => {
-          uuids.push(item.MenuID)
-
-          item.sublist && item.sublist.forEach(cell => {
-            uuids.push(cell.MenuID)
-          })
-        })
-        MKEmitter.emit('delButtons', uuids)
       },
       onCancel() {}
     })
@@ -479,22 +498,38 @@
 
     this.menuRef.handleConfirm().then(res => {
       let _menu = {...editMenu, ...res}
+      let _data = fromJS(data).toJS()
       if (!_menu.MenuID) {
         _menu.MenuID = Utils.getuuid()
-        this.setState({data: [...data, _menu], editMenu: null, visible: false})
+        _data.push(_menu)
       } else {
-        this.setState({
-          editMenu: null,
-          visible: false,
-          data: data.map(item => {
-            if (item.MenuID === _menu.MenuID) {
-              return _menu
-            } else {
-              return item
-            }
-          })
+        _data = _data.map(item => {
+          if (item.MenuID === _menu.MenuID) {
+            return _menu
+          } else {
+            return item
+          }
         })
       }
+
+      if (editMenu.MenuID && editMenu.property === 'menu' && _menu.property !== 'menu') {
+        const _this = this
+        confirm({
+          content: '鑿滃崟灞炴�х敱鈥滆彍鍗曗�濆垏鎹㈣嚦鍏朵粬绫诲瀷鏃讹紝鑿滃崟灏嗚閲嶇疆锛屽嵆瑙i櫎涔嬪墠鑿滃崟鐨勭粦瀹氬叧绯伙紝纭畾淇敼鍚楋紵',
+          onOk() {
+            _data = _data.map(item => {
+              if (item.MenuID === _menu.MenuID) {
+                item.MenuID = Utils.getuuid()
+              }
+              return item
+            })
+            _this.setState({data: _data, editMenu: null, visible: false})
+          },
+          onCancel() {}
+        })
+      } else {
+        this.setState({data: _data, editMenu: null, visible: false})
+      }
     })
   }
 

--
Gitblit v1.8.0