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