From 3ca91a731665962918a026f521c556f4745ebf35 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期一, 16 十一月 2020 19:20:19 +0800
Subject: [PATCH] 2020-11-16

---
 src/components/header/index.jsx |  178 +++++++++++++++++++++++++----------------------------------
 1 files changed, 76 insertions(+), 102 deletions(-)

diff --git a/src/components/header/index.jsx b/src/components/header/index.jsx
index de4333e..0811001 100644
--- a/src/components/header/index.jsx
+++ b/src/components/header/index.jsx
@@ -12,7 +12,6 @@
   modifyMainMenu,
   modifyTabview,
   resetState,
-  resetDebug,
   resetEditState,
   resetEditLevel,
   initPermission,
@@ -169,10 +168,6 @@
     if (!result) return
 
     if (result.status) {
-      if (result.debug === 'true') { // 鏄惁涓篸ebug妯″紡锛屽嵆鍙鍒惰彍鍗曞弬鏁�
-        this.props.resetDebug()
-      }
-
       let MainMenuId = sessionStorage.getItem('MainMenu') // 鏄惁涓烘墦寮�鏂伴〉闈�
       if (MainMenuId) {
         // 閫氳繃url涓璵enuid绛涢�夊嚭閫変腑鐨勪富鑿滃崟
@@ -200,10 +195,6 @@
         }),
         systems: result.Systems.filter(sys => sys.LinkUrl1 && sys.AppKey !== window.GLOB.appkey)
       })
-
-      if (result.dataM) {
-        this.props.modifyDataManager(true)
-      }
     } else {
       notification.error({
         top: 92,
@@ -216,20 +207,66 @@
   async getRolesMenu () {
     // 鑾峰彇瑙掕壊鏉冮檺
     let promiseRole = new Promise(resolve => {
-      Api.getSystemConfig({func: 'sPC_Get_RolesMenu'}).then(result => {
-        let _permAction = {}
-        let _permRoles = []
-        if (result && result.status) {
-          if (result.UserRoles) {
-            result.UserRoles.forEach(role => {
-              _permRoles.push(role.RoleID)
+      Api.getSystemConfig({func: 's_Get_TrdMenu_Role', edition_type: 'Y'}).then(result => {
+        let _permAction = {} // 鎸夐挳鏉冮檺
+        let _permMenus = {}  // 鑿滃崟鏉冮檺锛屽瓧娈甸�忚绛�
+        let menulist = []    // 涓夌骇鑿滃崟鍒楄〃
 
-              role.RoleMenu.forEach(menu => {
-                if (!menu.MenuID) return
-                _permAction[menu.MenuID] = true
+        if (result && result.status) {
+          if (result.UserRoles_Menu) {
+            result.UserRoles_Menu.forEach(menu => {
+              if (!menu.MenuID) return
+              _permAction[menu.MenuID] = true
+            })
+          }
+
+          if (result.UserRoles) {
+            let iframes = ['Main/Index', 'bda/rdt', 'Home/rdt']
+            let menukeys = []
+
+            result.UserRoles.forEach(menu => {
+              if (!menu.MenuID) return
+              if (menukeys.includes(menu.MenuID)) {
+                console.warn('s_Get_TrdMenu_Role閲嶅鐨勮彍鍗旾D锛�' + menu.MenuID)
+                return
+              }
+              _permMenus[menu.MenuID] = true
+
+              let _type = ''
+              if (menu.LinkUrl === 'CommonTable') {
+                _type = 'CommonTable'
+              } else if (menu.LinkUrl && iframes.includes(menu.LinkUrl.split('?')[0])) {
+                _type = 'iframe'
+              }
+  
+              if (_type !== 'iframe') {
+                let pageParam = {}
+                try {
+                  pageParam = JSON.parse(menu.PageParam)
+                } catch (e) {
+                  pageParam = {}
+                }
+                _type = pageParam.Template || _type
+              }
+
+              menukeys.push(menu.MenuID)
+
+              menulist.push({
+                MenuID: menu.MenuID,
+                MenuName: menu.MenuName,
+                MenuNo: menu.MenuNo || '',
+                EasyCode: menu.EasyCode || '',
+                LinkUrl: menu.LinkUrl,
+                type: _type
               })
             })
           }
+    
+          this.setState({
+            thdMenuList: menulist
+          })
+
+          this.props.initMenuPermission(_permMenus)
         } else if (result) {
           notification.error({
             top: 92,
@@ -238,7 +275,7 @@
           })
         }
 
-        resolve({permAction: _permAction, permRoles: _permRoles})
+        resolve({permAction: _permAction})
       })
     })
     
@@ -252,10 +289,6 @@
       Api.getSystemConfig(_param).then(result => {
         let mainMenu = null
         if (result && result.status) {
-          if (result.debug === 'true') { // 鏄惁涓篸ebug妯″紡锛屽嵆鍙鍒惰彍鍗曞弬鏁�
-            this.props.resetDebug()
-          }
-    
           let MainMenuId = sessionStorage.getItem('MainMenu') // 鏄惁涓烘墦寮�鏂伴〉闈�
           if (MainMenuId) {
             // 閫氳繃url涓璵enuid绛涢�夊嚭閫変腑鐨勪富鑿滃崟
@@ -283,10 +316,6 @@
             }),
             systems: result.Systems.filter(sys => sys.LinkUrl1 && sys.AppKey !== window.GLOB.appkey)
           })
-
-          if (result.dataM) {
-            this.props.modifyDataManager(true)
-          }
         } else if (result) {
           notification.error({
             top: 92,
@@ -306,7 +335,7 @@
 
     let _role = await promiseRole
 
-    this.props.initActionPermission(_role.permRoles, _role.permAction)
+    this.props.initActionPermission(_role.permAction)
   }
 
   reload = () => {
@@ -337,6 +366,9 @@
       let _userName = sessionStorage.getItem('User_Name')
       let _avatar = avatar
 
+      if (sessionStorage.getItem('cloudDataM') === 'true') {
+        this.props.modifyDataManager(true)
+      }
       if (!state && sessionStorage.getItem('avatar')) {
         _avatar = Utils.getrealurl(sessionStorage.getItem('avatar')) // 澶村儚
       } else if (state && sessionStorage.getItem('CloudAvatar')) {
@@ -427,10 +459,15 @@
           sessionStorage.setItem('CloudFullName', res.FullName)
           sessionStorage.setItem('CloudAvatar', res.icon)
           sessionStorage.setItem('isEditState', 'true')
+          sessionStorage.setItem('cloudDataM', res.dataM ? 'true' : '')
 
           let _avatar = avatar
           if (res.icon) {
             _avatar = Utils.getrealurl(res.icon) // 澶村儚
+          }
+
+          if (res.dataM) {
+            this.props.modifyDataManager(true)
           }
 
           if (window.GLOB.systemType === 'production') {
@@ -564,84 +601,22 @@
       _avatar = Utils.getrealurl(_avatar) // 澶村儚
       this.setState({avatar: _avatar})
     }
+
     this.getRolesMenu()
   }
 
   componentDidMount () {
-    // 鑾峰彇瑙掕壊鑿滃崟鏉冮檺
-    Api.getSystemConfig({func: 's_Get_TrdMenu_Role'}).then(result => {
-      if (!result) return
-      if (result.status) {
-        let _permMenus = {}
-        let menulist = []
-
-        if (result.UserRoles) {
-          let iframes = ['Main/Index', 'bda/rdt', 'Home/rdt']
-          let menukeys = []
-
-          result.UserRoles.forEach(role => {
-            role.RoleMenu.forEach(menu => {
-              if (!menu.MenuID) return
-              if (menukeys.includes(menu.MenuID)) {
-                console.warn('s_Get_TrdMenu_Role閲嶅鐨勮彍鍗旾D锛�' + menu.MenuID)
-                return
-              }
-              _permMenus[menu.MenuID] = true
-
-              let _type = ''
-              if (menu.LinkUrl === 'CommonTable') {
-                _type = 'CommonTable'
-              } else if (menu.LinkUrl && iframes.includes(menu.LinkUrl.split('?')[0])) {
-                _type = 'iframe'
-              }
-  
-              if (_type !== 'iframe') {
-                let pageParam = {}
-                try {
-                  pageParam = JSON.parse(menu.PageParam)
-                } catch (e) {
-                  pageParam = {}
-                }
-                _type = pageParam.Template || _type
-              }
-
-              menukeys.push(menu.MenuID)
-
-              menulist.push({
-                MenuID: menu.MenuID,
-                MenuName: menu.MenuName,
-                MenuNo: menu.MenuNo || '',
-                EasyCode: menu.EasyCode || '',
-                LinkUrl: menu.LinkUrl,
-                type: _type
-              })
-            })
-          })
-        }
-  
+    // 鑾峰彇绯荤粺鐨勭増鏈俊鎭紝寤舵椂鏌ヨ
+    setTimeout(() => {
+      new Promise((resolve, reject) => {
+        Api.getAppVersion(resolve, reject)
+      }).then(res => {
         this.setState({
-          thdMenuList: menulist
+          oriVersion: res.oldVersion,
+          newVersion: res.newVersion
         })
-
-        this.props.initMenuPermission(_permMenus)
-      } else {
-        notification.error({
-          top: 92,
-          message: result.message,
-          duration: 10
-        })
-      }
-    })
-
-    // 鑾峰彇绯荤粺鐨勭増鏈俊鎭�
-    new Promise((resolve, reject) => {
-      Api.getAppVersion(resolve, reject)
-    }).then(res => {
-      this.setState({
-        oriVersion: res.oldVersion,
-        newVersion: res.newVersion
       })
-    })
+    }, 1000)
   }
 
   shouldComponentUpdate (nextProps, nextState) {
@@ -845,12 +820,11 @@
     modifyMainMenu: (selectmenu) => dispatch(modifyMainMenu(selectmenu)),
     resetEditState: (state) => dispatch(resetEditState(state)),
     resetEditLevel: (level) => dispatch(resetEditLevel(level)),
-    initActionPermission: (permRoles, permAction) => dispatch(initActionPermission(permRoles, permAction)),
+    initActionPermission: (permAction) => dispatch(initActionPermission(permAction)),
     initPermission: (sysRoles, permFuncField) => dispatch(initPermission(sysRoles, permFuncField)),
     initMenuPermission: (permMenus) => dispatch(initMenuPermission(permMenus)),
     modifyDataManager: (dataManager) => dispatch(modifyDataManager(dataManager)),
     resetState: () => dispatch(resetState()),
-    resetDebug: () => dispatch(resetDebug()),
     logout: () => dispatch(logout())
   }
 }

--
Gitblit v1.8.0