From 8f38b4d371d0e8759985e2f4994d48b4a299d6a3 Mon Sep 17 00:00:00 2001
From: Mr Ke <kelq@hugeinfo.com.cn>
Date: Tue, 20 Oct 2020 09:53:07 +0800
Subject: [PATCH] 修改查看用户详情页面为空,不能删除用户问题,解决新增用户按钮事件失效
---
src/index.js | 72 +++++++++++++++++++++++++----------
1 files changed, 51 insertions(+), 21 deletions(-)
diff --git a/src/index.js b/src/index.js
index cb0f05c..cbc45b2 100644
--- a/src/index.js
+++ b/src/index.js
@@ -17,10 +17,14 @@
// 公用结构组件
import Menu from './module/menu/menu';
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();
@@ -32,7 +36,7 @@
super(props);
this.state = {
context: {
- role: 'oa',
+ role: '',
roleMenuList: [],
setContext: this.setContext,
},
@@ -41,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: {
@@ -69,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) => {
@@ -79,6 +101,7 @@
...data,
}, //更新context
});
+ window.localStorage.setItem('role', data.role || '');
};
render() {
@@ -105,8 +128,15 @@
</Switch>
<Layout>
<Content>
- {context.role == 'oa' && <OaRouteDom />}
- {context.role == 'user' && <UserRouteDom />}
+ <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