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/mob/components/navbar/normal-navbar/menusetting/menutable/index.jsx |   65 +++++++++++++++++++-------------
 1 files changed, 39 insertions(+), 26 deletions(-)

diff --git a/src/mob/components/navbar/normal-navbar/menusetting/menutable/index.jsx b/src/mob/components/navbar/normal-navbar/menusetting/menutable/index.jsx
index 8fc36cf..25a5ee3 100644
--- a/src/mob/components/navbar/normal-navbar/menusetting/menutable/index.jsx
+++ b/src/mob/components/navbar/normal-navbar/menusetting/menutable/index.jsx
@@ -5,14 +5,15 @@
 
 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
 
 class MenuTable extends Component {
   static propTpyes = {
-    menus: PropTypes.object,    // 鍗$墖琛屼俊鎭�
+    menus: PropTypes.array,     // 鍗$墖琛屼俊鎭�
+    cols: PropTypes.array,      // 瀛楁闆�
   }
 
   state = {
@@ -22,9 +23,12 @@
       { title: '鑿滃崟鍚嶇О', dataIndex: 'name', key: 'name' },
       { title: '鑿滃崟鍙傛暟', dataIndex: 'MenuNo', key: 'MenuNo' },
       { title: '鑿滃崟灞炴��', dataIndex: 'property', key: 'property',  render: text => {
-        const trans = {menu: '鑿滃崟', link: '閾炬帴', linkmenu: '鍏宠仈鑿滃崟'}
+        const trans = {menu: '鑿滃崟', link: '閾炬帴', linkmenu: '鍏宠仈鑿滃崟', sysmenu: '绯荤粺椤�'}
 
         return trans[text]
+      }},
+      { title: '鍥炬爣', dataIndex: 'icon', key: 'icon',  render: (text, record) => {
+        return text ? <Icon type={text} /> : ''
       }},
       { title: '鏄惁闅愯棌', dataIndex: 'hidden', key: 'hidden',  render: (text, record) => {
         const trans = {'true': '鏄�', 'false': '鍚�'}
@@ -80,20 +84,10 @@
     const _this = this
 
     confirm({
-      title: (record.property === 'classify' && record.sublist.length > 0 ? '鑿滃崟涓嬪惈鏈夊瓙鑿滃崟锛�' : '') + '纭畾鍒犻櫎鍚楋紵',
+      title: '纭畾鍒犻櫎鍚楋紵',
       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() {}
     })
@@ -117,21 +111,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: '鑿滃崟灏嗚閲嶇疆锛岀‘瀹氫慨鏀瑰悧锛�',
+          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})
       }
     })
   }
@@ -151,6 +162,7 @@
   }
 
   render() {
+    const { cols } = this.props
     const { columns, data, visible, editMenu } = this.state
 
     return (
@@ -165,7 +177,7 @@
         <Modal
           title="缂栬緫"
           visible={visible}
-          width={600}
+          width={900}
           maskClosable={false}
           onOk={this.menuSubmit}
           onCancel={() => { this.setState({ visible: false }) }}
@@ -173,6 +185,7 @@
         >
           <MenuForm
             menu={editMenu}
+            cols={cols}
             inputSubmit={this.menuSubmit}
             wrappedComponentRef={(inst) => this.menuRef = inst}
           />

--
Gitblit v1.8.0