From e83e0dd1b6fffd09c48561f3b69fa5a50df4a942 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期四, 04 二月 2021 19:01:01 +0800
Subject: [PATCH] 2021-02-04

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

diff --git a/src/components/header/index.jsx b/src/components/header/index.jsx
index f3a13f8..073bf55 100644
--- a/src/components/header/index.jsx
+++ b/src/components/header/index.jsx
@@ -16,6 +16,7 @@
   logout
 } from '@/store/action'
 import Api from '@/api'
+import MKEmitter from '@/utils/events.js'
 import options from '@/store/options.js'
 import zhCN from '@/locales/zh-CN/main.js'
 import enUS from '@/locales/en-US/main.js'
@@ -457,26 +458,6 @@
       }
     })
   }
-
-  selectMenu = (item) => {
-    let tabs = fromJS(this.props.tabviews).toJS()
-    let menu = fromJS(item).toJS()
-    menu.selected = true
-
-    tabs = tabs.filter(tab => {
-      tab.selected = false
-      return tab.MenuID !== menu.MenuID
-    })
-
-    if (this.props.tabviews.length !== tabs.length) {
-      this.props.modifyTabview(fromJS(tabs).toJS())
-    }
-
-    this.setState({}, () => {
-      tabs.push(menu)
-      this.props.modifyTabview(tabs)
-    })
-  }
   
   UNSAFE_componentWillMount () {
     // 缁勪欢鍔犺浇鏃讹紝鑾峰彇鑿滃崟鏁版嵁
@@ -494,16 +475,12 @@
   componentDidMount () {
     // 鑾峰彇绯荤粺鐨勭増鏈俊鎭紝寤舵椂鏌ヨ
     setTimeout(() => {
-      new Promise((resolve, reject) => {
-        Api.getAppVersion(resolve, reject)
-      }).then(res => {
+      Api.getAppVersion().then(res => {
         this.setState({
           oriVersion: res.oldVersion,
           newVersion: res.newVersion
         })
-      }, () => {
-        console.warn('websql 鍒濆鍖栭敊璇紒')
-      })
+      }, () => {})
     }, 1000)
   }
 
@@ -529,23 +506,23 @@
       content: `鏈�鏂扮増鏈�${newVersion}锛屽綋鍓嶇増鏈�${oriVersion}`,
       onOk() {
         return new Promise(resolve => {
-          Api.updateAppVersion(newVersion).then(res => {
-            if (res.status) {
-              notification.success({
-                top: 92,
-                message: '鍗囩骇鎴愬姛锛�',
-                duration: 2
-              })
-              _this.setState({oriVersion: newVersion})
-            } else {
-              notification.warning({
-                top: 92,
-                message: '鍗囩骇澶辫触锛岃鍒锋柊椤甸潰閲嶈瘯锛�',
-                duration: 2
-              })
-            }
+          if (!window.GLOB.WebSql) {
+            notification.warning({
+              top: 92,
+              message: '鍗囩骇澶辫触锛岃鍒锋柊椤甸潰閲嶈瘯锛�',
+              duration: 2
+            })
             resolve()
-          })
+          } else {
+            Api.updateAppVersion(newVersion)
+            notification.success({
+              top: 92,
+              message: '鍗囩骇鎴愬姛锛�',
+              duration: 2
+            })
+            _this.setState({oriVersion: newVersion})
+            resolve()
+          }
         })
       },
       onCancel() {}
@@ -559,6 +536,43 @@
       window.open(url)
     } else if (options.sysType === 'SSO' || options.sysType === 'cloud') {
       window.open(`${window.location.href.replace(/\/index.html(.*)|\/#(.*)/ig, '')}/doc/index.html#?appkey=${window.GLOB.appkey}&LoginUID=${sessionStorage.getItem('LoginUID')}`)
+    }
+  }
+
+  changeVerMenu(menu, type) {
+    if (type === 'first') {
+      if (menu.PageParam.OpenType === 'menu') {
+
+      } else if (menu.PageParam.OpenType === 'outpage') {
+        window.open(menu.PageParam.linkUrl)
+      }
+    } else {
+      if (menu.OpenType === 'newpage' || menu.OpenType === 'NewPage') {
+        window.open(menu.src)
+      } else if (menu.OpenType === 'blank') {
+        menu.selected = true
+        this.props.modifyTabview([menu])
+      } else {
+        let tabs = fromJS(this.props.tabviews).toJS()
+        tabs = tabs.filter(tab => {
+          tab.selected = false
+          return tab.MenuID !== menu.MenuID
+        })
+  
+        if (this.props.tabviews.length !== tabs.length) {
+          this.props.modifyTabview(fromJS(tabs).toJS())
+        }
+  
+        this.setState({}, () => {
+          menu.selected = true
+          tabs.push(menu)
+          this.props.modifyTabview(tabs)
+        })
+      }
+  
+      if (window.GLOB.systemType === 'production') {
+        MKEmitter.emit('queryTrigger', {menuId: menu.MenuID, name: '鑿滃崟'})
+      }
     }
   }
 
@@ -597,33 +611,6 @@
           <ul className="header-menu">{
             menulist.map(item => {
               return (
-                // <Dropdown overlay={
-                //   <Menu mode="vertical">
-                //     {item.children.map(cell => {
-                //       if (!cell.children || cell.children.length === 0) {
-                //         return (
-                //           <Menu.Item key={cell.MenuID}>
-                //             {cell.MenuName}
-                //           </Menu.Item>
-                //         )
-                //       } else {
-                //         return (
-                //           <Menu.SubMenu key={cell.MenuID} title={cell.MenuName}>
-                //             {cell.children.map(m => (
-                //               <Menu.Item key={m.MenuID}>
-                //                 {m.MenuName}
-                //               </Menu.Item>
-                //             ))}
-                //           </Menu.SubMenu>
-                //         )
-                //       }
-                //     })}
-                //   </Menu>
-                // }>
-                //   <li key={item.MenuID} onClick={() => {this.changeMenu(item)}} className={mainMenu && mainMenu.MenuID === item.MenuID ? 'active' : ''}>
-                //     <span>{item.MenuName}</span>
-                //   </li>
-                // </Dropdown>
                 <li key={item.MenuID} onClick={() => {this.changeMenu(item)}} className={mainMenu && mainMenu.MenuID === item.MenuID ? 'active' : ''}>
                   <span>{item.MenuName}</span>
                 </li>
@@ -631,6 +618,50 @@
             })}
           </ul> : null
         }
+        {/* 姝e父鑿滃崟 */}
+        {/* {menulist ?
+          <ul className="header-menu vertical-menu">{
+            menulist.map(item => {
+              if (item.children && item.children.length > 0) {
+                return (
+                  <Dropdown key={item.MenuID} overlayClassName="vertical-dropdown-menu" overlay={
+                    <Menu mode="vertical">
+                      {item.children.map(cell => {
+                        if (!cell.children || cell.children.length === 0) {
+                          return (
+                            <Menu.Item key={cell.MenuID}>
+                              {cell.MenuName}
+                            </Menu.Item>
+                          )
+                        } else {
+                          return (
+                            <Menu.SubMenu popupClassName="vertical-dropdown-submenu" key={cell.MenuID} title={cell.MenuName}>
+                              {cell.children.map(m => (
+                                <Menu.Item key={m.MenuID} onClick={() => {this.changeVerMenu(m)}}>
+                                  {m.MenuName}
+                                </Menu.Item>
+                              ))}
+                            </Menu.SubMenu>
+                          )
+                        }
+                      })}
+                    </Menu>
+                  }>
+                    <li>
+                      <span>{item.MenuName}</span>
+                    </li>
+                  </Dropdown>
+                )
+              } else {
+                return (
+                  <li key={item.MenuID} onClick={() => {this.changeVerMenu(item, 'first')}}>
+                    <span>{item.MenuName}</span>
+                  </li>
+                )
+              }
+            })}
+          </ul> : null
+        } */}
         {/* 澶村儚銆佺敤鎴峰悕 */}
         <Dropdown className="header-setting" overlay={menu}>
           <div>
@@ -662,12 +693,12 @@
                         option.MenuNo.toLowerCase().indexOf(searchkey.toLowerCase()) >= 0 ||
                         option.EasyCode.toLowerCase().indexOf(searchkey.toLowerCase()) >= 0
                       ) {
-                        return <Menu.Item key={option.MenuID} onClick={() => this.selectMenu(option)}>{option.MenuName}</Menu.Item>
+                        return <Menu.Item key={option.MenuID} onClick={() => this.changeVerMenu(option)}>{option.MenuName}</Menu.Item>
                       } else {
                         return null
                       }
                     }
-                    return <Menu.Item key={option.MenuID} onClick={() => this.selectMenu(option)}>{option.MenuName}</Menu.Item>
+                    return <Menu.Item key={option.MenuID} onClick={() => this.changeVerMenu(option)}>{option.MenuName}</Menu.Item>
                   })}
                 </Menu>
               </div>

--
Gitblit v1.8.0