forked from huge/frontEnd/hugeOA

Mr Ke
2020-09-04 0be3ac0f2f83c1b58249d43850a0e4b4f531a8db
src/module/menu/menu.jsx
@@ -37,14 +37,30 @@
    super(props);
    this.state = {
      collapsed: true,
      menusListByRole: null
      menusListByRole: null,
      menusList: null,
    };
  }
  componentDidMount() {
    // 获取从登录页面记录在缓存里的菜单数据
    let menusListByRole = window.localStorage.getItem('menusListByRole') ? JSON.parse(window.localStorage.getItem('menusListByRole')) : null;
    this.setState({ menusListByRole });
    let menu = window.localStorage.getItem('menu') ? JSON.parse(window.localStorage.getItem('menu')) : [];//获取权限菜单
    let administration = menu.find(({ moduleSymbol }) => moduleSymbol == 'administration');
    let menusList = [];
    if (administration) {
      // setSelectList(selectList.concat({ name: '用户中心', key: 'user' }));
      let temp = ["oa", "user"];
      menusList = temp.reduce((p, n) => {
        return p.concat(menusListByRole[n].menus)
      }, []);
    } else {
      menusList = menusListByRole['oa'].menus
    }
    this.setState({
      menusList
    })
    // this.setState({ menusListByRole });
  }
  onCollapse = collapsed => {
@@ -52,7 +68,7 @@
  }
  render() {
    const { collapsed, menusListByRole } = this.state;
    const { collapsed, menusListByRole, menusList } = this.state;
    return (
      <Context.Consumer>
        {({ role }) => (
@@ -64,11 +80,11 @@
              collapsible={true}
            >
              {
                menusListByRole && menusListByRole[role] &&
                menusList &&
                <MenView
                  history={this.props.history}
                  pathname={selected(menusListByRole[role].menus, this.props.location.pathname)}
                  menudata={menusListByRole[role].menus || []}
                  pathname={selected(menusList, this.props.location.pathname)}
                  menudata={menusList || []}
                />
              }
            </Sider>