From 0be3ac0f2f83c1b58249d43850a0e4b4f531a8db Mon Sep 17 00:00:00 2001
From: Mr Ke <kelq@hugeinfo.com.cn>
Date: Fri, 04 Sep 2020 10:56:17 +0800
Subject: [PATCH] 合并用户权限菜单,屏蔽首页工作台最新通知通知内容展示
---
src/index.js | 72 +++++++++++++++++++++++++-----------
1 files changed, 50 insertions(+), 22 deletions(-)
diff --git a/src/index.js b/src/index.js
index aa04fd0..cbc45b2 100644
--- a/src/index.js
+++ b/src/index.js
@@ -19,9 +19,12 @@
import Header from './components/common/HeadView';
import Login from './module/login/login';
-// oa路由映射
+// 路由映射
import OaRouteDom from './routeDom/oaRouteDom';
import UserRouteDom from './routeDom/userRouteDom';
+import RouteDomView from './routeDom/routeDom';
+
+import { oaMenus, userMenus } from './menu';
export const Context = React.createContext();
@@ -33,7 +36,7 @@
super(props);
this.state = {
context: {
- role: 'oa',
+ role: '',
roleMenuList: [],
setContext: this.setContext,
},
@@ -42,27 +45,33 @@
componentDidMount() {
let pathname = history.location.pathname;
+ console.log(history, pathname);
let menusListByRole = window.localStorage.getItem('menusListByRole')
? JSON.parse(window.localStorage.getItem('menusListByRole'))
: [];
- let role = Object.keys(menusListByRole).reduce((p, n) => {
- if (
- menusListByRole[n].menus
- .reduce((p, n) => {
- if (n.children) {
- return p.concat(n.children);
- } else {
- return p.concat(n);
- }
- }, [])
- .find(({ path }) => path == pathname)
- ) {
- return p.concat(n);
- } else {
- return p;
- }
- }, []);
+ // let menuMap = { oa: { menus: oaMenus }, user: { menus: userMenus } };
+
+ let role = Object.keys(menusListByRole)
+ .reduce((p, n) => {
+ if (
+ menusListByRole[n].menus
+ .reduce((p, n) => {
+ if (n.children) {
+ return p.concat(n.children);
+ } else {
+ return p.concat(n);
+ }
+ }, [])
+ .find(({ path }) => path == pathname)
+ ) {
+ return p.concat(n);
+ } else {
+ return p;
+ }
+ }, [])
+ .join('');
+ console.log('role', role);
this.setState({
context: {
@@ -70,6 +79,18 @@
role,
},
});
+
+ if (!role && menusListByRole.length == 0) {
+ history.push('/login');
+ }
+ if (!role && window.localStorage.getItem('role')) {
+ this.setState({
+ context: {
+ ...this.state.context,
+ role: window.localStorage.getItem('role'),
+ },
+ });
+ }
}
setContext = (data) => {
@@ -80,6 +101,7 @@
...data,
}, //更新context
});
+ window.localStorage.setItem('role', data.role || '');
};
render() {
@@ -106,9 +128,15 @@
</Switch>
<Layout>
<Content>
- {context.role == 'oa' && <OaRouteDom />}
- {context.role == 'user' && <UserRouteDom />}
- <Route path="/login" component={Login} />
+ <Switch>
+ <Route
+ path="/login"
+ component={() => <Login setContext={this.setContext} />}
+ />
+ <RouteDomView />
+ {/* {context.role == 'oa' && <OaRouteDom />}
+ {context.role == 'user' && <UserRouteDom />} */}
+ </Switch>
</Content>
</Layout>
</Layout>
--
Gitblit v1.8.0