From 98a4ae970ca1fff1857c27f0910c030482770b41 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期五, 26 八月 2022 13:02:33 +0800
Subject: [PATCH] 2022-08-26

---
 src/components/header/index.jsx |  170 ++++++++++++++++++++++++++------------------------------
 1 files changed, 79 insertions(+), 91 deletions(-)

diff --git a/src/components/header/index.jsx b/src/components/header/index.jsx
index 760d65a..6ecc8a9 100644
--- a/src/components/header/index.jsx
+++ b/src/components/header/index.jsx
@@ -143,106 +143,88 @@
   }
 
   getRolesMenu () {
-    // 鑾峰彇瑙掕壊鏉冮檺
-    let roledefer = new Promise(resolve => {
-      // edition_type 鎺ュ彛鐗堟湰鎺у埗 ''銆�'Y'銆�'A'
-      setTimeout(() => {
-        Api.getSystemConfig({
-          func: 's_Get_TrdMenu_Role',
-          edition_type: 'A',
-          pro_sys: window.GLOB.systemType === 'production' ? 'Y' : ''
-        }).then(result => {
-          let _permAction = {loaded: true} // 鎸夐挳鏉冮檺
-  
-          if (result && result.status) {
-            if (result.UserRoles_Menu) {
-              result.UserRoles_Menu.forEach(menu => {
-                if (!menu.MenuID) return
-                _permAction[menu.MenuID] = true
-              })
-            }
-          } else if (result) {
-            notification.error({
-              top: 92,
-              message: result.message,
-              duration: 10
+    // 鑾峰彇涓昏彍鍗曞弬鏁�
+    let _param = {func: 's_get_pc_menus', systemType: options.sysType}
+    _param.pro_sys = window.GLOB.systemType === 'production' ? 'Y' : ''
+    
+    Api.getSystemConfig(_param).then(result => {
+      if (!result.status) {
+        notification.error({
+          top: 92,
+          message: result.message,
+          duration: 10
+        })
+        return
+      }
+
+      const { menulist, thdMenuList } = this.getMenulist(result)
+
+      let systems = []
+      if ((options.sysType === 'local' || options.sysType === 'SSO') && result.sys_list) {
+        systems = result.sys_list
+
+        if (options.sysType === 'local' && window.GLOB.systemType !== 'production' && systems.length > 10) {
+          systems.length = 10
+        }
+      }
+
+      this.setState({
+        menulist,
+        thdMenuList,
+        systems: systems
+      })
+      
+      let mainMenu = menulist[0] || ''
+      let _menu = null
+
+      if (sessionStorage.getItem('ThirdMenu')) { // 鏄惁涓烘墦寮�鏂伴〉闈�
+        let ThirdMenuId = sessionStorage.getItem('ThirdMenu')
+        _menu = thdMenuList.filter(item => item.MenuID === ThirdMenuId)[0] // 閫氳繃url涓璵enuid绛涢�夊嚭閫変腑鐨勪富鑿滃崟
+
+        sessionStorage.removeItem('ThirdMenu')
+      }
+
+      this.props.modifyMainMenu(mainMenu)
+      this.props.initMenuPermission([...thdMenuList, {MenuID: 'home_page_id', EasyCode: '', MenuName: 'home', type: 'CustomPage'}])
+
+      if (_menu) { // 寤舵椂鎵撳紑锛岄槻姝㈡爣绛剧粍鏈畬鎴愬姞杞�
+        setTimeout(() => {
+          if (this.state.navBar === 'topmenu' && this.state.menuType !== 'menu_board_navigation') {
+            MKEmitter.emit('modifyTabs', _menu, 'replace')
+          } else {
+            MKEmitter.emit('modifyTabs', _menu, 'plus')
+          }
+        }, 200)
+      }
+    })
+    
+    // 鑾峰彇瑙掕壊鏉冮檺, edition_type 鎺ュ彛鐗堟湰鎺у埗 ''銆�'Y'銆�'A'
+    setTimeout(() => {
+      Api.getSystemConfig({
+        func: 's_Get_TrdMenu_Role',
+        edition_type: 'A',
+        pro_sys: window.GLOB.systemType === 'production' ? 'Y' : ''
+      }).then(result => {
+        let _permAction = {loaded: true} // 鎸夐挳鏉冮檺
+
+        if (result && result.status) {
+          if (result.UserRoles_Menu) {
+            result.UserRoles_Menu.forEach(menu => {
+              if (!menu.MenuID) return
+              _permAction[menu.MenuID] = true
             })
           }
-  
-          this.props.initActionPermission(_permAction)
-          resolve()
-        })
-      }, 50)
-    })
-
-    // 鑾峰彇涓昏彍鍗曞弬鏁�
-    let menudefer = new Promise(resolve => {
-      let _param = {func: 's_get_pc_menus', systemType: options.sysType}
-      _param.pro_sys = window.GLOB.systemType === 'production' ? 'Y' : ''
-      
-      Api.getSystemConfig(_param).then(result => {
-        if (!result.status) {
+        } else if (result) {
           notification.error({
             top: 92,
             message: result.message,
             duration: 10
           })
-          return
         }
 
-        const { menulist, thdMenuList } = this.getMenulist(result)
-
-        let systems = []
-        if ((options.sysType === 'local' || options.sysType === 'SSO') && result.sys_list) {
-          systems = result.sys_list
-
-          if (options.sysType === 'local' && window.GLOB.systemType !== 'production' && systems.length > 10) {
-            systems.length = 10
-          }
-        }
-
-        this.setState({
-          menulist,
-          thdMenuList,
-          systems: systems
-        })
-        
-        let mainMenu = menulist[0] || ''
-        let _menu = null
-
-        if (mainMenu === '') { // 鏄惁鏄剧ず渚ц竟鏍忔帶鍒�
-          let _url = window.location.href.split('#')[0]
-          localStorage.setItem(_url + '-sideHidden', 'true')
-        } else {
-          let _url = window.location.href.split('#')[0]
-          localStorage.removeItem(_url + '-sideHidden')
-        }
-
-        if (sessionStorage.getItem('ThirdMenu')) { // 鏄惁涓烘墦寮�鏂伴〉闈�
-          let ThirdMenuId = sessionStorage.getItem('ThirdMenu')
-          _menu = thdMenuList.filter(item => item.MenuID === ThirdMenuId)[0] // 閫氳繃url涓璵enuid绛涢�夊嚭閫変腑鐨勪富鑿滃崟
-
-          sessionStorage.removeItem('ThirdMenu')
-        }
-
-        this.props.modifyMainMenu(mainMenu)
-        this.props.initMenuPermission([...thdMenuList, {MenuID: 'home_page_id', EasyCode: '', MenuName: 'home', type: 'CustomPage'}])
-
-        resolve(_menu)
+        this.props.initActionPermission(_permAction)
       })
-    })
-    
-    Promise.all([roledefer, menudefer]).then(response => {
-      if (response[1]) {
-        let menu = fromJS(response[1]).toJS()
-
-        if (this.state.navBar === 'topmenu' && this.state.menuType !== 'menu_board_navigation') {
-          MKEmitter.emit('modifyTabs', menu, 'replace')
-        } else {
-          MKEmitter.emit('modifyTabs', menu, 'plus')
-        }
-      }
-    })
+    }, 50)
   }
 
   getMenulist = (result) => {
@@ -599,6 +581,12 @@
     })
   }
 
+  changeToHome = () => {
+    if (!['linkage', 'menu_board'].includes(window.GLOB.navBar)) return
+
+    MKEmitter.emit('modifyTabs', {MenuID: 'home_page_id', EasyCode: '', MenuName: 'home', type: 'CustomPage'}, 'replace')
+  }
+
   render () {
     const { mainMenu, collapse } = this.props
     const { thdMenuList, searchkey, debug, menulist, navBar, menuType, appVersion } = this.state
@@ -628,7 +616,7 @@
 
     return (
       <header className="header-container ant-menu-dark" id="main-header-container">
-        <div className={'header-logo ' + (collapse && navBar !== 'topmenu' ? 'collapse' : '')}><img src={this.state.logourl} alt=""/></div>
+        <div className={'header-logo ' + (collapse && navBar !== 'topmenu' ? 'collapse' : '')} onClick={this.changeToHome}><img src={this.state.logourl} alt=""/></div>
         <div className={'header-collapse ' + (collapse && navBar !== 'topmenu' ? 'collapse' : '')}>
           {navBar !== 'topmenu' ? (collapse ? <MenuUnfoldOutlined onClick={this.handleCollapse}/> : <MenuFoldOutlined onClick={this.handleCollapse}/>) : null}
         </div>

--
Gitblit v1.8.0