From 06404e701a89955958cbf56213e2eec618d8644d Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期三, 16 十二月 2020 18:36:16 +0800
Subject: [PATCH] 2020-12-16

---
 src/components/header/index.jsx |   49 +++++++++++++++++++++++++------------------------
 1 files changed, 25 insertions(+), 24 deletions(-)

diff --git a/src/components/header/index.jsx b/src/components/header/index.jsx
index 5bfd07a..ab1c8c7 100644
--- a/src/components/header/index.jsx
+++ b/src/components/header/index.jsx
@@ -160,15 +160,15 @@
     if (!result) return
 
     if (result.status) {
-      let res = this.getMenulist(result)
+      const { menulist } = this.getMenulist(result)
 
       this.setState({
-        menulist: res.menulist,
+        menulist,
         systems: []
       })
 
-      this.props.modifyMenuTree(res.menulist)
-      this.props.modifyMainMenu(res.menulist[0] || null)
+      this.props.modifyMenuTree(menulist)
+      this.props.modifyMainMenu(menulist[0] || null)
     } else {
       notification.error({
         top: 92,
@@ -218,32 +218,32 @@
       _param.pro_sys = window.GLOB.systemType === 'production' ? 'Y' : ''
       
       Api.getSystemConfig(_param).then(result => {
-        if (!result.status || !result.fst_menu) {
+        if (!result.status) {
           notification.error({
             top: 92,
-            message: result.message || '鏈煡璇㈠埌鑿滃崟淇℃伅锛�',
+            message: result.message,
             duration: 10
           })
           return
         }
 
-        let res = this.getMenulist(result)
+        const { menulist, thdMenuList } = this.getMenulist(result)
 
         this.setState({
-          menulist: res.menulist,
-          thdMenuList: res.thdMenuList,
+          menulist,
+          thdMenuList,
           systems: window.GLOB.systemType === 'production' || options.sysType === 'SSO' ? (result.sys_list || []) : []
         })
         
-        let mainMenu = res.menulist[0] || null
+        let mainMenu = menulist[0] || ''
         let _menu = null
 
         if (sessionStorage.getItem('ThirdMenu')) { // 鏄惁涓烘墦寮�鏂伴〉闈�
           let ThirdMenuId = sessionStorage.getItem('ThirdMenu')
-          _menu = res.thdMenuList.filter(item => item.MenuID === ThirdMenuId)[0] // 閫氳繃url涓璵enuid绛涢�夊嚭閫変腑鐨勪富鑿滃崟
+          _menu = thdMenuList.filter(item => item.MenuID === ThirdMenuId)[0] // 閫氳繃url涓璵enuid绛涢�夊嚭閫変腑鐨勪富鑿滃崟
 
           if (_menu) {
-            mainMenu = res.menulist.filter(item => item.MenuID === _menu.FstId)[0]
+            mainMenu = menulist.filter(item => item.MenuID === _menu.FstId)[0]
             mainMenu = fromJS(mainMenu).toJS()
             mainMenu.openId = _menu.ParentId
           }
@@ -251,9 +251,9 @@
           sessionStorage.removeItem('ThirdMenu')
         }
 
-        this.props.modifyMenuTree(res.menulist)
+        this.props.modifyMenuTree(menulist)
         this.props.modifyMainMenu(mainMenu)
-        this.props.initMenuPermission(res.thdMenuList)
+        this.props.initMenuPermission(thdMenuList)
 
         resolve(_menu)
       })
@@ -279,7 +279,8 @@
   getMenulist = (result) => {
     let thdMenuList = []
     let iframes = ['Main/Index', 'bda/rdt', 'Home/rdt']
-    let menulist = result.fst_menu.map(fst => {
+    let menulist = []
+    result.fst_menu && result.fst_menu.forEach(fst => {
       let fstItem = {
         MenuID: fst.MenuID,
         MenuName: fst.MenuName,
@@ -392,7 +393,7 @@
         })
       }
 
-      return fstItem
+      menulist.push(fstItem)
     })
 
     return { menulist, thdMenuList }
@@ -698,7 +699,7 @@
 
   render () {
     const { mainMenu, collapse } = this.props
-    const { thdMenuList, searchkey, oriVersion, newVersion, debug } = this.state
+    const { thdMenuList, searchkey, oriVersion, newVersion, debug, menulist } = this.state
 
     const menu = (
       <Menu className="header-dropdown">
@@ -707,9 +708,9 @@
           <Switch size="small" style={{marginLeft: '7px'}} disabled={!!this.props.editLevel} checked={this.props.editState} onChange={this.changeEditState} />
         </Menu.Item>}
         {!this.props.editState ? <Menu.Item key="password" onClick={this.changePassword}>{this.state.dict['main.password']}</Menu.Item> : null}
-        {this.state.systems.length > 0 ? <Menu.SubMenu title="鍒囨崲绯荤粺">
+        {this.state.systems.length ? <Menu.SubMenu style={{minWidth: '110px'}} title="鍒囨崲绯荤粺">
           {this.state.systems.map((system, index) => (
-            <Menu.Item style={{minWidth: '100px'}} key={'sub' + index} onClick={() => {this.changeSystem(system)}}> {system.AppName} </Menu.Item>
+            <Menu.Item style={{minWidth: '100px', lineHeight: '30px'}} key={'sub' + index} onClick={() => {this.changeSystem(system)}}> {system.AppName} </Menu.Item>
           ))}
         </Menu.SubMenu> : null}
         <Menu.Item key="doc" onClick={this.gotoDoc}>{this.state.dict['main.doc']}</Menu.Item>
@@ -722,14 +723,14 @@
 
     return (
       <header className="header-container ant-menu-dark" id="main-header-container">
-        <div className={collapse ? "collapse header-logo" : "header-logo"}><img src={this.state.logourl} alt=""/></div>
-        <div className={collapse ? "collapse header-collapse" : "header-collapse"} onClick={this.handleCollapse}>
-          <Icon type={collapse ? 'menu-unfold' : 'menu-fold'} />
+        <div className={'header-logo ' + (collapse ? 'collapse' : '')}><img src={this.state.logourl} alt=""/></div>
+        <div className={'header-collapse ' + (collapse ? 'collapse' : '')}>
+          {menulist && menulist.length ? <Icon type={collapse ? 'menu-unfold' : 'menu-fold'} onClick={this.handleCollapse}/> : null}
         </div>
         {/* 姝e父鑿滃崟 */}
-        {this.props.editLevel !== 'level1' && this.state.menulist ?
+        {this.props.editLevel !== 'level1' && menulist ?
           <ul className={'header-menu ' + this.props.editLevel}>{
-            this.state.menulist.map(item => {
+            menulist.map(item => {
               return (
                 <li key={item.MenuID} onClick={() => {this.changeMenu(item)}} className={mainMenu && mainMenu.MenuID === item.MenuID ? 'active' : ''}>
                   <span>{item.MenuName}</span>

--
Gitblit v1.8.0