| | |
| | | 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 => { |
| | |
| | | } |
| | | |
| | | render() { |
| | | const { collapsed, menusListByRole } = this.state; |
| | | const { collapsed, menusListByRole, menusList } = this.state; |
| | | return ( |
| | | <Context.Consumer> |
| | | {({ role }) => ( |
| | |
| | | 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> |