From f8c3c53f9e29541f8c0e3fcbf682c301fd17e06a Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期一, 23 十一月 2020 17:49:23 +0800
Subject: [PATCH] 2020-11-23

---
 src/templates/menuconfig/editthdmenu/index.jsx |  143 +++++++++--------------------------------------
 1 files changed, 27 insertions(+), 116 deletions(-)

diff --git a/src/templates/menuconfig/editthdmenu/index.jsx b/src/templates/menuconfig/editthdmenu/index.jsx
index 60f1ace..11d4b2b 100644
--- a/src/templates/menuconfig/editthdmenu/index.jsx
+++ b/src/templates/menuconfig/editthdmenu/index.jsx
@@ -78,8 +78,6 @@
     btnTabConfig: null,     // 鎵撳紑鏂版爣绛炬寜閽厤缃�
     handleMVisible: false,  // 娣诲姞鎴栦慨鏀硅彍鍗曟ā鎬佹锛堣鑹叉潈闄愬垎閰嶇瓑锛�
     sysMenu: false,         // 娣诲姞鎴栫紪杈戣彍鍗曪紙瑙掕壊鏉冮檺鍒嗛厤绛夛級
-    fstMenuId: null,        // 涓�绾ц彍鍗旾d
-    fstMenuList: null       // 涓�绾ц彍鍗曞垪琛�
   }
 
   /**
@@ -117,7 +115,7 @@
       })
     } else if (menu.type === 'close') {
       confirm({
-        title: this.state.dict['model.menu.close'].replace('@M', menu.card.text),
+        title: this.state.dict['model.menu.close'].replace('@M', menu.card.MenuName),
         content: '',
         onOk() {
           let param = {
@@ -141,26 +139,13 @@
     } else if (menu.type === 'edit') {
       let _menu = fromJS(menu.card).toJS()
 
-      delete _menu.id
-      delete _menu.src
-      delete _menu.text
-
       if (_menu.PageParam && (_menu.PageParam.Template === 'RolePermission' || _menu.PageParam.Template === 'NewPage')) { // 鍗曢〉闈慨鏀�
         _menu.Template = _menu.PageParam.Template
         _menu.url = _menu.PageParam.url
 
-        if (!this.state.fstMenuId) {
-          notification.warning({
-            top: 92,
-            message: '鑿滃崟鍔犺浇涓紝璇风◢鍚庨噸璇曪紒',
-            duration: 5
-          })
-          return
-        }
-
+        _menu.fstMenuId = _menu.FstId
         _menu.supMenuList = this.props.supMenuList
-        _menu.fstMenuId = this.state.fstMenuId || ''
-        _menu.fstMenuList = this.state.fstMenuList || []
+        _menu.fstMenuList = this.props.menuTree
   
         this.setState({
           handleMVisible: true,
@@ -193,9 +178,9 @@
           }
 
           _menu.LongParam = _LongParam
+          _menu.fstMenuId = _menu.FstId
           _menu.supMenuList = this.props.supMenuList
-          _menu.fstMenuId = this.state.fstMenuId || ''
-          _menu.fstMenuList = this.state.fstMenuList || []
+          _menu.fstMenuList = this.props.menuTree
           _menu.open_edition = res.open_edition || ''
 
           // 妫�娴嬫ā鏉挎槸鍚﹀瓨鍦�
@@ -217,7 +202,7 @@
             }, () => {
               document.getElementById('root').style.overflowY = 'hidden'
             })
-          } else if (_menu.fstMenuId) {
+          } else {
             this.setState({
               type: 'edit',
               editMenu: _menu,
@@ -225,12 +210,6 @@
               tabview: _menu.PageParam.Template
             }, () => {
               document.getElementById('root').style.overflowY = 'hidden'
-            })
-          } else {
-            _menu.loadingFstMenuId = true
-            this.setState({
-              type: 'edit',
-              editMenu: _menu
             })
           }
         } else {
@@ -259,15 +238,6 @@
         return
       }
 
-      if (!this.state.fstMenuId) {
-        notification.warning({
-          top: 92,
-          message: '鑿滃崟鍔犺浇涓紝璇风◢鍚庨噸璇曪紒',
-          duration: 5
-        })
-        return
-      }
-
       this.setState({
         tabview: 'template',
         editMenu: {
@@ -280,8 +250,8 @@
           isSubtable: '', // 鏄惁涓轰富瀛愯〃
           ParentId: this.props.supMenu.MenuID,
           supMenuList: this.props.supMenuList,
-          fstMenuId: this.state.fstMenuId,
-          fstMenuList: this.state.fstMenuList,
+          fstMenuId: this.props.mainMenu.MenuID,
+          fstMenuList: this.props.menuTree,
           menuSort: (this.props.menulist.length + 1) * 10 // 鏂板缓鑿滃崟璁剧疆鎺掑簭
         }
       }, () => {
@@ -358,7 +328,20 @@
         this.props.exitEdit()
       }
     } else if (type === 'close') {
-      this.props.exitEdit()
+      if (!is(fromJS(this.props.menulist), fromJS(this.state.menulist))) {
+        let _this = this
+
+        confirm({
+          title: '鑿滃崟椤哄簭宸茶皟鏁达紝鏀惧純淇濆瓨鍚楋紵',
+          content: '',
+          onOk() {
+            _this.props.exitEdit()
+          },
+          onCancel() {}
+        })
+      } else {
+        this.props.exitEdit()
+      }
     }
   }
 
@@ -439,19 +422,8 @@
   useTemplate = (template, useType) => {
     let editMenu = fromJS(this.state.editMenu).toJS()
 
-    if (!this.state.fstMenuId) {
-      notification.warning({
-        top: 92,
-        message: '鑿滃崟鍔犺浇涓紝璇风◢鍚庨噸璇曪紒',
-        duration: 5
-      })
-      return
-    }
-
-    if (!editMenu.fstMenuId) {
-      editMenu.fstMenuId = this.state.fstMenuId
-      editMenu.fstMenuList = this.state.fstMenuList
-    }
+    editMenu.fstMenuId = this.props.mainMenu.MenuID
+    editMenu.fstMenuList = this.props.menuTree
 
     if (useType === 'sys' && (template.type === 'RolePermission' || template.type === 'NewPage')) { // 鐙珛椤甸潰
       let _menu = {
@@ -722,69 +694,6 @@
     })
   }
 
-  componentDidMount () {
-    let _param = {
-      func: 's_Get_FSMenusForOpen',
-      SndMenuID: this.props.supMenu.MenuID,
-      TYPE: 20,
-      TypeCharOne: 'PC'
-    }
-    this.setState({
-      loading: true
-    })
-
-    Api.getSystemConfig(_param).then(result => {
-      if (result.status) {
-        this.setState({
-          loading: false,
-          fstMenuId: result.FstIDSeleted,
-          fstMenuList: result.data.map(smenu => {
-            let _smenu = {
-              MenuID: smenu.FstID,
-              text: smenu.FstName,
-              options: smenu.SndData.map(menu => {
-                return {
-                  MenuID: menu.SndID,
-                  text: menu.SndName,
-                }
-              })
-            }
-
-            return _smenu
-          })
-        }, () => {
-          let _menu = this.state.editMenu ? fromJS(this.state.editMenu).toJS() : null
-  
-          if (!_menu || !_menu.loadingFstMenuId) {
-            return
-          }
-  
-          delete _menu.loadingFstMenuId
-          _menu.fstMenuId = this.state.fstMenuId
-          _menu.fstMenuList = this.state.fstMenuList
-  
-          this.setState({
-            type: 'edit',
-            editMenu: _menu,
-            loading: false,
-            tabview: _menu.PageParam.Template
-          }, () => {
-            document.getElementById('root').style.overflowY = 'hidden'
-          })
-        })
-      } else {
-        this.setState({
-          loading: false
-        })
-        notification.warning({
-          top: 92,
-          message: result.message,
-          duration: 5
-        })
-      }
-    })
-  }
-
   UNSAFE_componentWillReceiveProps (nextProps) {
     if (!is(fromJS(this.props.menulist), fromJS(nextProps.menulist))) {
       this.setState({
@@ -821,7 +730,7 @@
         }
         <div className="cus-submenu-title">
           <Icon type={this.props.supMenu.PageParam.Icon} />
-          <span>{this.props.supMenu.text}</span>
+          <span>{this.props.supMenu.MenuName}</span>
         </div>
         <DndProvider backend={HTML5Backend}>
           <DragElement
@@ -985,6 +894,8 @@
 
 const mapStateToProps = (state) => {
   return {
+    mainMenu: state.mainMenu,
+    menuTree: state.menuTree,
     memberLevel: state.memberLevel
   }
 }

--
Gitblit v1.8.0