From f7e9b835c30e5b3287b2c04e24950871cafa907d Mon Sep 17 00:00:00 2001
From: liyj <1003249715@qq.com>
Date: Mon, 07 Sep 2020 15:28:45 +0800
Subject: [PATCH] Merge branch 'master' of http://120.79.193.119:9090/r/huge/frontEnd/hugeOA
---
src/index.js | 9 +
src/module/login/login.jsx | 14 +++
src/components/common/HeadView/index.jsx | 4
src/routeDom/userRouteDom.jsx | 4
src/menu/menu.user.js | 5 +
src/routeDom/oaRouteDom.jsx | 39 ++++-----
src/routeDom/routeDom.jsx | 99 ++++++++++++++++++++++++
src/components/common/NotifyList/index.jsx | 4
src/menu/menu.oa.js | 2
src/module/menu/menu.jsx | 28 +++++-
10 files changed, 171 insertions(+), 37 deletions(-)
diff --git a/src/components/common/HeadView/index.jsx b/src/components/common/HeadView/index.jsx
index b69749f..d629bbf 100644
--- a/src/components/common/HeadView/index.jsx
+++ b/src/components/common/HeadView/index.jsx
@@ -70,7 +70,7 @@
(loginUser && Object.keys(loginUser).length) &&
<Row type="flex" align="middle" justify="space-between" >
<Col>
- <Select value={role} size="small" style={{ marginLeft: 20, width: 120 }} onChange={value => {
+ {/* <Select value={role} size="small" style={{ marginLeft: 20, width: 120 }} onChange={value => {
setContext({ role: value });
history.push('/')
}}>
@@ -79,7 +79,7 @@
<Option value={key} key={key}>{name}</Option>
))
}
- </Select>
+ </Select> */}
</Col>
<Col style={{ marginRight: 40 }}>
{loginUser.trueName}
diff --git a/src/components/common/NotifyList/index.jsx b/src/components/common/NotifyList/index.jsx
index b6afd7d..5483d32 100644
--- a/src/components/common/NotifyList/index.jsx
+++ b/src/components/common/NotifyList/index.jsx
@@ -65,11 +65,11 @@
<div className="notify-list-main-dom-msg-title" onClick={() => { notice.id && this.linkDetail(notice.id) }}>
<marquee onMouseOut={this.onMouseOut} onMouseOver={this.onMouseOver} ref='marquee' style={{ cursor: 'pointer' }}>{notice.documentTitle || ''}</marquee>
</div>
- {
+ {/* {
notice.documentContent ? <Tooltip placement='topLeft' title={this.emoveTAG(notice.documentContent)}>
<div className="notify-list-main-dom-msg-content" onClick={() => { notice.id && this.linkDetail(notice.id) }}>{this.emoveTAG(notice.documentContent)}</div>
</Tooltip> : null
- }
+ } */}
</div>
<div className="notify-list-main-dom-fuc" onClick={this.onClick}>[查看全部]</div>
</div>
diff --git a/src/index.js b/src/index.js
index 167584b..cbc45b2 100644
--- a/src/index.js
+++ b/src/index.js
@@ -19,9 +19,11 @@
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();
@@ -131,8 +133,9 @@
path="/login"
component={() => <Login setContext={this.setContext} />}
/>
- {context.role == 'oa' && <OaRouteDom />}
- {context.role == 'user' && <UserRouteDom />}
+ <RouteDomView />
+ {/* {context.role == 'oa' && <OaRouteDom />}
+ {context.role == 'user' && <UserRouteDom />} */}
</Switch>
</Content>
</Layout>
diff --git a/src/menu/menu.oa.js b/src/menu/menu.oa.js
index 0fcf654..176aafd 100644
--- a/src/menu/menu.oa.js
+++ b/src/menu/menu.oa.js
@@ -180,7 +180,7 @@
permKey: '/merits/meritsDispose',
children: [],
parentKey: 'merits',
- }
+ },
],
},
];
diff --git a/src/menu/menu.user.js b/src/menu/menu.user.js
index 99927b1..0af9d01 100644
--- a/src/menu/menu.user.js
+++ b/src/menu/menu.user.js
@@ -8,16 +8,19 @@
name: '用户管理',
path: '/baseManage/user',
icon: 'user',
+ key: '/baseManage/user'
},
{
name: '组管理',
path: '/baseManage/group',
icon: 'team',
+ key: '/baseManage/group',
},
{
name: '组织管理',
icon: 'solution',
path: '/organizationMgt',
+ key: '/organizationMgt',
children: [
{
name: '单位管理',
@@ -40,6 +43,7 @@
name: '资源管理',
icon: 'book',
path: '/resourceMgt',
+ key: '/resourceMgt',
children: [
{
name: '应用服务管理',
@@ -62,6 +66,7 @@
name: '权限管理',
icon: 'tool',
path: '/authorityMgt',
+ key: '/authorityMgt',
children: [
{
name: '角色管理',
diff --git a/src/module/login/login.jsx b/src/module/login/login.jsx
index c8b24b2..ac1e7ad 100644
--- a/src/module/login/login.jsx
+++ b/src/module/login/login.jsx
@@ -68,6 +68,19 @@
}).then(res => {
console.log('res', res);
if (res) {
+ console.log('oa', res.map(({ symbol }) => (symbol)).concat(res.map(({ moduleSymbol }) => (moduleSymbol))).reduce((p, n) => {
+ if (p.indexOf(n) == -1) {
+ return p.concat(n)
+ } else {
+ return p
+ }
+ }, []), getMenuListByPermission(oaMenus, res && res.map(({ symbol }) => (symbol)).concat(res.map(({ moduleSymbol }) => (moduleSymbol))).reduce((p, n) => {
+ if (p.indexOf(n) == -1) {
+ return p.concat(n)
+ } else {
+ return p
+ }
+ }, [])), oaMenus)
window.localStorage.setItem('menu', JSON.stringify(res));
window.localStorage.setItem('menusListByRole', JSON.stringify({
user: { role: 'user', menus: userMenus },
@@ -84,7 +97,6 @@
message.success('登录成功');
console.log('this props', this.props);
history.push({ pathname: "/index" });
-
this.props.setContext && this.props.setContext({ role: 'oa' })
}
})
diff --git a/src/module/menu/menu.jsx b/src/module/menu/menu.jsx
index ccff58d..87ee211 100644
--- a/src/module/menu/menu.jsx
+++ b/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>
diff --git a/src/routeDom/oaRouteDom.jsx b/src/routeDom/oaRouteDom.jsx
index e7ccc56..0d981e1 100644
--- a/src/routeDom/oaRouteDom.jsx
+++ b/src/routeDom/oaRouteDom.jsx
@@ -26,25 +26,24 @@
import MeritsExamine from '../module/oa/merits/meritsExamine';//绩效管理--绩效考核
export default function OaRouteDom({ }) {
- return (<Switch>
- <Route path="/baseManage/user" component={UserManage} />
- <Route path="/document/create/:id?" component={DocumentEdit} />
- <Route path="/document/detail/:id" component={DocumentDetail} />
- <Route path="/index/workbench/announcement" component={Announcement} />
- <Route path="/index/rules" component={System} />
- <Route path="/index" component={Workbench} />
- <Route path="/logManage/browseLog" component={BrowseLog} />
- <Route path="/logManage/operLog" component={OperLog} />
- <Route path="/logManage/rawler" component={Rawler} />
- <Route path="/personal/information" component={Information} />
- <Route path="/merits/meritsOverview/meritsDetail/:userId/:boolean/:meritsMonth" component={MeritsDetail} />
- <Route path="/merits/meritsOverview" component={MeritsOverview} />
- <Route path="/merits/meritsDispose" component={MeritsDispose} />
- <Route path="/merits/meritsExamine" component={MeritsDetail} />
-
-
- {/* <Route path="/" component={Workbench} /> */}
- <Redirect from="/" to="/index" component={Workbench} />
- </Switch>
+ return (
+ <React.Fragment>
+ <Route path="/baseManage/user" component={UserManage} />
+ <Route path="/document/create/:id?" component={DocumentEdit} />
+ <Route path="/document/detail/:id" component={DocumentDetail} />
+ <Route path="/index/workbench/announcement" component={Announcement} />
+ <Route path="/index/rules" component={System} />
+ <Route path="/index" component={Workbench} />
+ <Route path="/logManage/browseLog" component={BrowseLog} />
+ <Route path="/logManage/operLog" component={OperLog} />
+ <Route path="/logManage/rawler" component={Rawler} />
+ <Route path="/personal/information" component={Information} />
+ <Route path="/merits/meritsOverview/meritsDetail/:userId/:boolean/:meritsMonth" component={MeritsDetail} />
+ <Route path="/merits/meritsOverview" component={MeritsOverview} />
+ <Route path="/merits/meritsDispose" component={MeritsDispose} />
+ <Route path="/merits/meritsExamine" component={MeritsDetail} />
+ {/* <Route path="/" component={Workbench} /> */}
+ {/* <Redirect from="/" to="/index" component={Workbench} /> */}
+ </React.Fragment>
)
}
diff --git a/src/routeDom/routeDom.jsx b/src/routeDom/routeDom.jsx
new file mode 100644
index 0000000..cbff7a1
--- /dev/null
+++ b/src/routeDom/routeDom.jsx
@@ -0,0 +1,99 @@
+/* eslint-disable */
+/**liuwh
+ * 5/26/2020, 4:44:40 PM
+ * doc comment for the file goes here
+ */
+
+/** Happy Coding */
+import React, { ReactNode, ReactEventHandler, Component, useEffect, useState } from 'react';
+import { Switch, Route, Redirect } from 'react-router-dom';
+
+// 引进页面(pages)
+//oa菜单
+import Workbench from '../module/oa/index/workbench'; //首页--工作台
+import System from '../module/oa/index/System'; //首页--工作制度
+import Announcement from '../module/oa/index/Announcement'; //全部通知
+import DocumentEdit from '../module/oa/document/DocumentEdit'; //新建文档
+import DocumentDetail from '../module/oa/document/DocumentDetail'; //文档详情
+import BrowseLog from '../module/oa/logManage/browseLog'; //浏览日志
+import OperLog from '../module/oa/logManage/operLog'; //操作日志
+import Rawler from '../module/oa/logManage/Rawler'; //爬虫词条管理
+import Information from '../module/oa/personal/information'; //个人信息
+import UserManage from '../components/oa/basicConfig/UserManage'; //用户管理
+import MeritsOverview from '../module/oa/merits/meritsOverview';//绩效管理--绩效总览
+import MeritsDetail from '../module/oa/merits/meritsDetail';//绩效管理--绩效详情
+import MeritsDispose from '../module/oa/merits/meritsDispose';//绩效管理--绩效指标
+import MeritsExamine from '../module/oa/merits/meritsExamine';//绩效管理--绩效考核
+
+// 基础平台
+import BaseUserManage from '../module/huge-base/UserManage'; //用户管理
+import UserDetail from '../module/huge-base/UserDetail'; //用户管理--用户详情
+import GroupManage from '../module/huge-base/GroupManage'; //组管理
+import GroupDetail from '../module/huge-base/GroupDetail'; //组管理--组详情
+import UnitManage from '../module/huge-base/UnitManage'; //组织管理--单位管理
+import DepartmentManage from '../module/huge-base/DepartmentManage'; //组织管理--部门管理
+import JobManage from '../module/huge-base/JobManage'; //组织管理--岗位管理
+import AppServiceManage from '../module/huge-base/AppServiceManage'; //资源管理--应用服务管理
+import AppServiceDetail from '../module/huge-base/AppServiceDetail'; //资源管理--应用服务管理详情
+import ModulesManage from '../module/huge-base/ModulesManage'; //资源管理--模块管理
+import FunctionManage from '../module/huge-base/FunctionManage'; //资源管理--功能管理
+import RoleManage from '../module/huge-base/RoleManage'; //权限管理--角色管理
+import RoleDetail from '../module/huge-base/RoleDetail'; //权限管理--角色管理详情
+import AuthorityManage from '../module/huge-base/AuthorityManage';
+
+export default function RouteDom({ }) {
+ const [renderUser, setRenderUser] = useState(false);
+ useEffect(() => {
+ let menu = window.localStorage.getItem('menu') ? JSON.parse(window.localStorage.getItem('menu')) : [];//获取权限菜单
+ let administration = menu.find(({ moduleSymbol }) => moduleSymbol == 'administration');
+ if (administration) { setRenderUser(true) }
+ }, [])
+
+ return (
+ <Switch>
+
+
+ <Route path="/document/create/:id?" component={DocumentEdit} />
+ <Route path="/document/detail/:id" component={DocumentDetail} />
+ <Route path="/index/workbench/announcement" component={Announcement} />
+ <Route path="/index/rules" component={System} />
+ <Route path="/index" component={Workbench} />
+ <Route path="/logManage/browseLog" component={BrowseLog} />
+ <Route path="/logManage/operLog" component={OperLog} />
+ <Route path="/logManage/rawler" component={Rawler} />
+ <Route path="/personal/information" component={Information} />
+ <Route path="/merits/meritsOverview/meritsDetail/:userId/:boolean/:meritsMonth" component={MeritsDetail} />
+ <Route path="/merits/meritsOverview" component={MeritsOverview} />
+ <Route path="/merits/meritsDispose" component={MeritsDispose} />
+ <Route path="/merits/meritsExamine" component={MeritsDetail} />
+
+ {
+ renderUser &&
+ <React.Fragment>
+ <Route path="/baseManage/user/Detail/:id/:flag" component={UserDetail} />
+ <Route path="/baseManage/user" component={UserManage} />
+ <Route path="/baseManage/group/Detail/:id/:flag" component={GroupDetail} />
+ <Route path="/baseManage/group" component={GroupManage} />
+ <Route path="/organizationMgt/unit" component={UnitManage} />
+ <Route path="/organizationMgt/department" component={DepartmentManage} />
+ <Route path="/organizationMgt/job" component={JobManage} />
+ <Route path="/resourceMgt/appService/Detail/:id/:flag" component={AppServiceDetail} />
+ <Route path="/resourceMgt/appService" component={AppServiceManage} />
+ <Route path="/resourceMgt/modules" component={ModulesManage} />
+ <Route path="/resourceMgt/function" component={FunctionManage} />
+ <Route path="/organizationMgt/role/Detail/:id/:flag" component={RoleDetail} />
+ <Route path="/authorityMgt/role" component={RoleManage} />
+ <Route path="/authorityMgt/authority" component={AuthorityManage} />
+ <Redirect from='/' to="/baseManage/user" component={UserManage} />
+ </React.Fragment>
+ }
+
+ <div>
+
+ </div>
+
+ <Route path="/" component={Workbench} />
+ <Redirect from="/" to="/index" component={Workbench} />
+ </Switch>
+ )
+}
diff --git a/src/routeDom/userRouteDom.jsx b/src/routeDom/userRouteDom.jsx
index c18a8c7..e9d9e6c 100644
--- a/src/routeDom/userRouteDom.jsx
+++ b/src/routeDom/userRouteDom.jsx
@@ -26,7 +26,7 @@
export default function UserRouteDom({ }) {
return (
- <Switch>
+ <React.Fragment>
<Route path="/baseManage/user/Detail/:id/:flag" component={UserDetail} />
<Route path="/baseManage/user" component={UserManage} />
<Route path="/baseManage/group/Detail/:id/:flag" component={GroupDetail} />
@@ -42,6 +42,6 @@
<Route path="/authorityMgt/role" component={RoleManage} />
<Route path="/authorityMgt/authority" component={AuthorityManage} />
<Redirect from='/' to="/baseManage/user" component={UserManage} />
- </Switch>
+ </React.Fragment>
)
}
--
Gitblit v1.8.0