From b2298c8c996dd176c2bd7d424a1aa709cbb97965 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期五, 05 二月 2021 15:34:21 +0800
Subject: [PATCH] 2021-02-05

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

diff --git a/src/components/header/index.jsx b/src/components/header/index.jsx
index 073bf55..d0953d4 100644
--- a/src/components/header/index.jsx
+++ b/src/components/header/index.jsx
@@ -48,7 +48,8 @@
     thdMenuList: [],
     oriVersion: '',
     newVersion: '',
-    debug: sessionStorage.getItem('debug') === 'true'
+    debug: sessionStorage.getItem('debug') === 'true',
+    navBar: window.GLOB.navBar
   }
 
   handleCollapse = () => {
@@ -126,10 +127,10 @@
 
   changeMenu (value) {
     // 涓昏彍鍗曞垏鎹�
-    if (value.PageParam.OpenType === 'menu') {
+    if (value.OpenType === 'outpage' && value.linkUrl) {
+      window.open(value.linkUrl)
+    } else if (value.OpenType === 'menu') {
       this.props.modifyMainMenu(value)
-    } else if (value.PageParam.OpenType === 'outpage') {
-      window.open(value.PageParam.linkUrl)
     }
   }
 
@@ -227,14 +228,19 @@
         let tabs = fromJS(this.props.tabviews).toJS()
         let menu = fromJS(response[1]).toJS()
 
-        tabs = tabs.map(tab => {
-          tab.selected = false
-          return tab
-        })
+        if (this.state.navBar === 'topmenu') {
+          menu.selected = true
+          this.props.modifyTabview([menu])
+        } else {
+          tabs = tabs.map(tab => {
+            tab.selected = false
+            return tab
+          })
 
-        menu.selected = true
-        tabs.push(menu)
-        this.props.modifyTabview(tabs)
+          menu.selected = true
+          tabs.push(menu)
+          this.props.modifyTabview(tabs)
+        }
       }
     })
   }
@@ -247,14 +253,18 @@
       let fstItem = {
         MenuID: fst.MenuID,
         MenuName: fst.MenuName,
-        PageParam: {OpenType: 'menu', linkUrl: ''},
+        OpenType: 'menu',
         children: []
       }
       if (fst.PageParam) {
         try {
           fstItem.PageParam = JSON.parse(fst.PageParam)
         } catch (e) {
-          fstItem.PageParam = {OpenType: 'menu', linkUrl: ''}
+          fstItem.PageParam = null
+        }
+        if (fstItem.PageParam && fstItem.PageParam.OpenType === 'outpage' && fstItem.PageParam.linkUrl) {
+          fstItem.OpenType = 'outpage'
+          fstItem.linkUrl = fstItem.PageParam.linkUrl
         }
       }
 
@@ -287,6 +297,7 @@
             debug: sessionStorage.getItem('debug'),
             role_id: sessionStorage.getItem('role_id'),
             mainlogo: window.GLOB.mainlogo,
+            navBar: window.GLOB.navBar || '',
             mstyle: window.GLOB.style
           }
 
@@ -297,6 +308,7 @@
                 ParentId: snd.MenuID,
                 MenuID: trd.MenuID,
                 MenuName: trd.MenuName,
+                ParentNames: [fst.MenuName, snd.MenuName],
                 MenuNo: trd.MenuNo,
                 EasyCode: trd.EasyCode,
                 type: 'CommonTable',            // 榛樿鍊间负甯哥敤琛�
@@ -541,15 +553,18 @@
 
   changeVerMenu(menu, type) {
     if (type === 'first') {
-      if (menu.PageParam.OpenType === 'menu') {
+      if (menu.OpenType === 'outpage' && menu.linkUrl) {
+        window.open(menu.linkUrl)
+      } else if (menu.OpenType === 'menu') {
 
-      } else if (menu.PageParam.OpenType === 'outpage') {
-        window.open(menu.PageParam.linkUrl)
       }
     } else {
-      if (menu.OpenType === 'newpage' || menu.OpenType === 'NewPage') {
+      if (menu.OpenType === 'newpage' || menu.OpenType === 'NewPage') { // NewPage涓烘墦寮�澶栭儴椤甸潰鍦板潃锛宯ewpage涓烘墦寮�绯荤粺鑿滃崟
         window.open(menu.src)
       } else if (menu.OpenType === 'blank') {
+        menu.selected = true
+        this.props.modifyTabview([menu])
+      } else if (this.state.navBar === 'topmenu') {
         menu.selected = true
         this.props.modifyTabview([menu])
       } else {
@@ -578,7 +593,7 @@
 
   render () {
     const { mainMenu, collapse } = this.props
-    const { thdMenuList, searchkey, oriVersion, newVersion, debug, menulist } = this.state
+    const { thdMenuList, searchkey, oriVersion, newVersion, debug, menulist, navBar } = this.state
 
     const menu = (
       <Menu className="header-dropdown">
@@ -602,12 +617,12 @@
 
     return (
       <header className="header-container ant-menu-dark" id="main-header-container">
-        <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 className={'header-logo ' + (collapse && navBar !== 'topmenu' ? 'collapse' : '')}><img src={this.state.logourl} alt=""/></div>
+        <div className={'header-collapse ' + (collapse && navBar !== 'topmenu' ? 'collapse' : '')}>
+          {navBar !== 'topmenu' ? <Icon type={collapse ? 'menu-unfold' : 'menu-fold'} onClick={this.handleCollapse}/> : null}
         </div>
         {/* 姝e父鑿滃崟 */}
-        {menulist ?
+        {navBar !== 'topmenu' && menulist ?
           <ul className="header-menu">{
             menulist.map(item => {
               return (
@@ -619,7 +634,7 @@
           </ul> : null
         }
         {/* 姝e父鑿滃崟 */}
-        {/* {menulist ?
+        {navBar === 'topmenu' && menulist ?
           <ul className="header-menu vertical-menu">{
             menulist.map(item => {
               if (item.children && item.children.length > 0) {
@@ -661,7 +676,7 @@
               }
             })}
           </ul> : null
-        } */}
+        }
         {/* 澶村儚銆佺敤鎴峰悕 */}
         <Dropdown className="header-setting" overlay={menu}>
           <div>

--
Gitblit v1.8.0