From ebb3dcdf617c7455b9fd0a84f37ddc384cc83af8 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期日, 03 十一月 2019 20:58:22 +0800
Subject: [PATCH] second-level-menu

---
 src/components/header/index.jsx |   87 +++++++++++++++++++++++++------------------
 1 files changed, 50 insertions(+), 37 deletions(-)

diff --git a/src/components/header/index.jsx b/src/components/header/index.jsx
index f018e16..a3430d5 100644
--- a/src/components/header/index.jsx
+++ b/src/components/header/index.jsx
@@ -7,11 +7,11 @@
 import { DndProvider } from 'react-dnd'
 import HTML5Backend from 'react-dnd-html5-backend'
 import md5 from 'md5'
-import MenuForm from './menuform'
-import TransferForm from './transferform'
 import {toggleCollapse, modifyMainMenu, resetState, resetDebug, resetEditState, resetEditLevel} from '@/store/action'
 import Resetpwd from '@/components/resetpwd'
-import DragElement from '@/components/dragelement'
+import TransferForm from '@/components/transferform'
+import MenuForm from './menuform'
+import DragElement from './dragelement'
 import Api from '@/api'
 import zhCN from '@/locales/zh-CN/header.js'
 import enUS from '@/locales/en-US/header.js'
@@ -19,7 +19,6 @@
 import logourl from '../../assets/img/mlogo.png'
 import avatar from '../../assets/img/avatar.jpg'
 import './index.scss'
-import { Promise } from 'q';
 
 const { confirm } = Modal
 let previewList = null
@@ -87,7 +86,11 @@
       this.formRef.resetfrom()
       message.success(this.state.dict['header.password.resetsuccess'])
     } else {
-      message.warning(result.message)
+      notification.warning({
+        top: 92,
+        message: result.message,
+        duration: 10
+      })
       this.setState({
         confirmLoading: false
       })
@@ -127,7 +130,10 @@
 
   changeMenu (value) {
     // 涓昏彍鍗曞垏鎹�
-    console.log(value)
+    if (this.props.editState && this.props.editLevel) {
+      // 缂栬緫鐘舵�佷笅锛屼笉鍙垏鎹㈣彍鍗�
+      return
+    }
     if (value.PageParam.OpenType === 'menu') {
       this.props.modifyMainMenu(value)
     } else {
@@ -165,7 +171,11 @@
         item.id = index
         item.text = item.MenuName
         if (item.PageParam) {
-          item.PageParam = JSON.parse(item.PageParam)
+          try {
+            item.PageParam = JSON.parse(item.PageParam)
+          } catch (e) {
+            item.PageParam = {OpenType: 'menu', linkUrl: ''}
+          }
         } else {
           item.PageParam = {OpenType: 'menu', linkUrl: ''}
         }
@@ -217,7 +227,11 @@
               })
               _this.loadmenu()
             } else {
-              message.warning(res.message)
+              notification.warning({
+                top: 92,
+                message: res.message,
+                duration: 10
+              })
             }
           })
         },
@@ -242,7 +256,11 @@
             })
           })
         } else {
-          message.warning(res.message)
+          notification.warning({
+            top: 92,
+            message: res.message,
+            duration: 10
+          })
         }
       })
     } else {
@@ -252,8 +270,7 @@
   }
 
   handleMenu = (Menu) => {
-    // 鑿滃崟缂栬緫锛氫慨鏀广�佸垹闄�
-    const _this = this
+    // 鑿滃崟缂栬緫锛氫慨鏀�
     const menu = fromJS(Menu).toJS()
     if (!is(fromJS(previewList), fromJS(this.state.menulist))) {
       notification.warning({
@@ -261,24 +278,7 @@
         message: this.state.dict['header.menu.presave'],
         duration: 10
       })
-    } else if (menu.type === 'close') {
-      confirm({
-        title: this.state.dict['header.menu.close'].replace('@M', menu.card.MenuName),
-        content: '',
-        okText: this.state.dict['header.confirm'],
-        cancelText: this.state.dict['header.cancel'],
-        onOk() {
-          return Api.logoutsystem().then(res => {
-            if (res.status) {
-              _this.loadmenu()
-            } else {
-              message.warning(res.message)
-            }
-          })
-        },
-        onCancel() {}
-      })
-    } else if (menu.type === 'edit') {
+    } else {
       this.setState({
         editMvisible: true,
         editMenu: menu.card
@@ -287,7 +287,7 @@
   }
 
   changeEditState = (state) => {
-    // 淇敼缂栬緫鑿滃崟绫诲瀷
+    // 淇敼缂栬緫鐘舵��
     this.props.resetEditState(state)
   }
 
@@ -312,7 +312,11 @@
           this.setState({
             confirmLoading: false
           })
-          message.warning(res.message)
+          notification.warning({
+            top: 92,
+            message: res.message,
+            duration: 10
+          })
         }
       })
     }, () => {})
@@ -347,7 +351,11 @@
           this.setState({
             confirmLoading: false
           })
-          message.warning(res.message)
+          notification.warning({
+            top: 92,
+            message: res.message,
+            duration: 10
+          })
         }
       })
     }, () => {})
@@ -383,7 +391,11 @@
             })
             _this.loadmenu()
           } else {
-            message.warning(res.message)
+            notification.warning({
+              top: 92,
+              message: res.message,
+              duration: 10
+            })
           }
         })
       },
@@ -462,7 +474,7 @@
       <Menu overlayclassname="header-dropdown">
         {this.props.debug && <Menu.Item key="0">
           {this.state.dict['header.edit']}
-          <Switch size="small" className="edit-switch" onChange={this.changeEditState} />
+          <Switch size="small" className="edit-switch" disabled={!!this.props.editLevel} onChange={this.changeEditState} />
         </Menu.Item>}
         <Menu.Item key="1" onClick={this.changePassword}>{this.state.dict['header.password']}</Menu.Item>
         <Menu.Item key="2" onClick={this.logout}>{this.state.dict['header.logout']}</Menu.Item>
@@ -538,18 +550,19 @@
         </Modal>
         {/* 缂栬緫鑿滃崟妯℃�佹 */}
         <Modal
-          title={this.state.dict['header.menu.edittitle']}
+          title={this.state.dict['header.menu.editTitle']}
           okText={this.state.dict['header.confirm']}
           cancelText={this.state.dict['header.cancel']}
           visible={this.state.editMvisible}
           footer={null}
+          onCancel={this.editMemuCancel}
         >
-          {this.state.editMenu && <MenuForm
+          <MenuForm
             dict={this.state.dict}
             type="edit"
             menu={this.state.editMenu}
             wrappedComponentRef={(inst) => this.editMenuFormRef = inst}
-          />}
+          />
           <div className="edit-modal-footer">
             <Button onClick={this.editMemuCancel}>{this.state.dict['header.cancel']}</Button>
             <Button type="primary" onClick={this.editMemuSubmit} loading={this.state.confirmLoading}>{this.state.dict['header.confirm']}</Button>

--
Gitblit v1.8.0