king
2020-12-16 06404e701a89955958cbf56213e2eec618d8644d
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中menuid筛选出选中的主菜单
          _menu = thdMenuList.filter(item => item.MenuID === ThirdMenuId)[0] // 通过url中menuid筛选出选中的主菜单
          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>
        {/* 正常菜单 */}
        {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>