king
2022-11-23 891e8aaad3b2ce6980fd44d1cf49192dca1c3c66
src/components/header/index.jsx
@@ -46,9 +46,7 @@
    systems: [],
    searchkey: '',
    thdMenuList: [],
    debug: sessionStorage.getItem('debug') === 'true',
    navBar: ['linkage_navigation', 'linkage', 'menu_board', 'menu_board_navigation'].includes(window.GLOB.navBar) ? 'topmenu' : '',
    menuType: window.GLOB.navBar
    debug: sessionStorage.getItem('debug') === 'true'
  }
  handleCollapse = () => {
@@ -133,7 +131,7 @@
  changeMenu (value) {
    // 主菜单切换
    if (value.OpenType === 'outpage' && value.linkUrl) {
    if (value.OpenType === 'outpage') {
      window.open(value.linkUrl)
    } else if (value.OpenType === 'menu') {
      this.props.modifyMainMenu(value)
@@ -188,11 +186,7 @@
      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')
          }
          MKEmitter.emit('modifyTabs', _menu)
        }, 200)
      }
      MKEmitter.emit('mkMenuLoaded')
@@ -286,9 +280,9 @@
                try {
                  let PageParam = JSON.parse(trd.PageParam)
                  trdItem.type = PageParam.Template || trdItem.type
                  trdItem.OpenType = PageParam.OpenType || trdItem.OpenType
                  trdItem.hidden = PageParam.hidden || trdItem.hidden
                  trdItem.type = PageParam.Template || 'CommonTable'
                  trdItem.OpenType = PageParam.OpenType || 'newtab'
                  trdItem.hidden = PageParam.hidden || 'false'
                  if (trdItem.type === 'NewPage') {
                    trdItem.src = PageParam.url || ''
@@ -299,6 +293,8 @@
              if (trdItem.type !== 'NewPage') {
                trdItem.src = '#/tab/' + trd.MenuID
              }
              trdItem.OpenType = trdItem.OpenType.toLowerCase() // NewPage为打开外部页面地址
              thdMenuList.push(trdItem)
@@ -531,20 +527,14 @@
  changeVerMenu(menu, type) {
    if (type === 'first') {
      if (menu.OpenType === 'outpage' && menu.linkUrl) {
      if (menu.OpenType === 'outpage') {
        window.open(menu.linkUrl)
      } else if (menu.OpenType === 'menu') {
      }
    } else {
      if (menu.OpenType === 'newpage' || menu.OpenType === 'NewPage') { // NewPage为打开外部页面地址,newpage为打开系统菜单
      if (menu.OpenType === 'newpage') {
        window.open(menu.src)
      } else if (menu.OpenType === 'blank') {
        MKEmitter.emit('modifyTabs', menu, 'replace')
      } else if (this.state.navBar === 'topmenu' && this.state.menuType !== 'menu_board_navigation') {
        MKEmitter.emit('modifyTabs', menu, 'replace')
      } else {
        MKEmitter.emit('modifyTabs', menu, 'plus')
        MKEmitter.emit('modifyTabs', menu)
      }
  
      if (window.GLOB.systemType === 'production') {
@@ -592,12 +582,13 @@
  changeToHome = () => {
    if (!['linkage', 'menu_board'].includes(window.GLOB.navBar)) return
    MKEmitter.emit('modifyTabs', {MenuID: 'home_page_id', EasyCode: '', MenuName: 'home', type: 'CustomPage'}, 'replace')
    MKEmitter.emit('modifyTabs', {MenuID: 'home_page_id', EasyCode: '', MenuName: 'home', type: 'CustomPage'})
  }
  render () {
    const { mainMenu, collapse } = this.props
    const { thdMenuList, searchkey, debug, menulist, navBar, menuType, appVersion } = this.state
    const { thdMenuList, searchkey, debug, menulist, appVersion } = this.state
    const navBar = window.GLOB.navBar
    const menu = (
      <Menu className="header-dropdown">
@@ -624,12 +615,14 @@
    return (
      <header className="header-container ant-menu-dark" id="main-header-container">
        <div className={'header-logo ' + (collapse && navBar !== 'topmenu' ? 'collapse' : '')} onClick={this.changeToHome}><img src={this.state.logourl} alt=""/></div>
        {navBar !== 'topmenu' ? <div className={'header-collapse ' + (collapse ? 'collapse' : '')}>
        {navBar === 'shutter' ?
          <div className={'header-logo ' + (collapse ? 'collapse' : '')}><img src={this.state.logourl} alt=""/></div> :
          <div className="header-logo" onClick={this.changeToHome}><img src={this.state.logourl} alt=""/></div>}
        {navBar === 'shutter' ? <div className={'header-collapse ' + (collapse ? 'collapse' : '')}>
          {collapse ? <MenuUnfoldOutlined onClick={this.handleCollapse}/> : <MenuFoldOutlined onClick={this.handleCollapse}/>}
        </div> : <div style={{width: '20px', height: '45px'}}></div>}
        {/* 正常菜单 */}
        {navBar !== 'topmenu' && menulist ?
        {navBar === 'shutter' && menulist ?
          <ul className="header-menu">{
            menulist.map(item => {
              return (
@@ -640,7 +633,7 @@
            })}
          </ul> : null
        }
        {navBar === 'topmenu' && menuType !== 'menu_board' && menuType !== 'menu_board_navigation' && menulist ?
        {(navBar === 'linkage' || navBar === 'linkage_navigation') && menulist ?
          <ul className="header-menu vertical-menu">{
            menulist.map(item => {
              if (item.children && item.children.length > 0) {
@@ -683,7 +676,7 @@
            })}
          </ul> : null
        }
        {navBar === 'topmenu' && (menuType === 'menu_board' || menuType === 'menu_board_navigation') && menulist ?
        {(navBar === 'menu_board' || navBar === 'menu_board_navigation') && menulist ?
          <ul className="header-menu vertical-menu">{
            menulist.map(item => {
              if (item.children && item.children.length > 0) {