module-menu 0.1.18 → 0.1.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/.umi/.cache/babel-loader/08caf38803d2b8dd0316efa9911e67a3.json.gz +0 -0
- package/src/.umi/.cache/babel-loader/0f4de863ea43c27514924faec8cdcd8e.json.gz +0 -0
- package/src/.umi/.cache/babel-loader/0fbfd4514bc2656b787a8647ed173e4d.json.gz +0 -0
- package/src/.umi/.cache/babel-loader/160652bd124676f99b12c25cb3daafc5.json.gz +0 -0
- package/src/.umi/.cache/babel-loader/17241fd12f2b0428186b362200d89e4d.json.gz +0 -0
- package/src/.umi/.cache/babel-loader/1bbe2388df8076ba502613a010a6613e.json.gz +0 -0
- package/src/.umi/.cache/babel-loader/1c1b6ad904989c9a54285b4d03728f95.json.gz +0 -0
- package/src/.umi/.cache/babel-loader/1e59f7303840e332c0db64c69850f1a3.json.gz +0 -0
- package/src/.umi/.cache/babel-loader/2103b5c112725aaf44c2a976bd78df46.json.gz +0 -0
- package/src/.umi/.cache/babel-loader/2b07948b1fd8338d36454b9a926fdabc.json.gz +0 -0
- package/src/.umi/.cache/babel-loader/2cfc7ae981c5cbb6d9a72acc0f138e2a.json.gz +0 -0
- package/src/.umi/.cache/babel-loader/2d0e4c958c62d6ea7d40851e77c097c8.json.gz +0 -0
- package/src/.umi/.cache/babel-loader/38385315ab7879da8dc8b5e899cdc634.json.gz +0 -0
- package/src/.umi/.cache/babel-loader/3adc2287b1f83cc76cee2e36fb462074.json.gz +0 -0
- package/src/.umi/.cache/babel-loader/3beeb20ab7679491c08a3a1a0136ab5c.json.gz +0 -0
- package/src/.umi/.cache/babel-loader/3f88311d9aeac11751954239b1727e62.json.gz +0 -0
- package/src/.umi/.cache/babel-loader/414f4ee3c8dd8ef89ec6c712cd10171a.json.gz +0 -0
- package/src/.umi/.cache/babel-loader/4152805eadf853568532a6608801a0ac.json.gz +0 -0
- package/src/.umi/.cache/babel-loader/4e32c39becbbe65ff5e799f80e731a1e.json.gz +0 -0
- package/src/.umi/.cache/babel-loader/571d7e2d2f38727272d1b170ddeb730b.json.gz +0 -0
- package/src/.umi/.cache/babel-loader/5a22e2fe6fefce79e86d8bbc6558c197.json.gz +0 -0
- package/src/.umi/.cache/babel-loader/5aa3c48776b6587255ccf2f5daeaa00f.json.gz +0 -0
- package/src/.umi/.cache/babel-loader/5cd0d87c8cd22a4070e6aad9f072691f.json.gz +0 -0
- package/src/.umi/.cache/babel-loader/5ea9bc1dd1f9f9356482e0a216dfd48c.json.gz +0 -0
- package/src/.umi/.cache/babel-loader/613a85a252b9949de3ce264330dc8b73.json.gz +0 -0
- package/src/.umi/.cache/babel-loader/6538ba600ff16d875e785dafda3689a6.json.gz +0 -0
- package/src/.umi/.cache/babel-loader/658f8b33dbdb784c4003daffb6097a34.json.gz +0 -0
- package/src/.umi/.cache/babel-loader/69feb384038f28ec6aa6dd0b1cbd78e9.json.gz +0 -0
- package/src/.umi/.cache/babel-loader/6d75b0e70cf3b5083fb00c813238ccbf.json.gz +0 -0
- package/src/.umi/.cache/babel-loader/6fd6c2a84e5b4ee1dce95f752227c62b.json.gz +0 -0
- package/src/.umi/.cache/babel-loader/71a3f540b865ae01cb0f7d4ece463d0b.json.gz +0 -0
- package/src/.umi/.cache/babel-loader/764165a6301d49e751d1ddf0df462331.json.gz +0 -0
- package/src/.umi/.cache/babel-loader/76c57a0c48f6fb6230ace934c745990e.json.gz +0 -0
- package/src/.umi/.cache/babel-loader/85748760bb989b5ab8c8556657b67298.json.gz +0 -0
- package/src/.umi/.cache/babel-loader/8bb0d12cd088bbe06dba8aeffc1f9a64.json.gz +0 -0
- package/src/.umi/.cache/babel-loader/8bbfaa9290f824d1b32eb0a3db4d1cd4.json.gz +0 -0
- package/src/.umi/.cache/babel-loader/8faaf4ab77fabe0dfc3adf6791c639c0.json.gz +0 -0
- package/src/.umi/.cache/babel-loader/9310e034ea71e2c0e0cf115c4e7c86de.json.gz +0 -0
- package/src/.umi/.cache/babel-loader/94527eacccbf439e1fe88aa7e5d860e5.json.gz +0 -0
- package/src/.umi/.cache/babel-loader/97c0897b4dee5d697192312ff0686c84.json.gz +0 -0
- package/src/.umi/.cache/babel-loader/9b66cfefb8f9e54aa8232379a801d97c.json.gz +0 -0
- package/src/.umi/.cache/babel-loader/9cf7f57b36681cbeddb2f59bb42f3dae.json.gz +0 -0
- package/src/.umi/.cache/babel-loader/a78780eb863db07d59246ca670ded653.json.gz +0 -0
- package/src/.umi/.cache/babel-loader/b3ee1c040d7e5ef9aa5b21d9669a7aeb.json.gz +0 -0
- package/src/.umi/.cache/babel-loader/bbb0a99cc2e6dd38aa52409451061f3b.json.gz +0 -0
- package/src/.umi/.cache/babel-loader/c0bdaeb6e2d006f3f8c5a49b68c4ac5e.json.gz +0 -0
- package/src/.umi/.cache/babel-loader/c2340d34578ef1982463e344f3c0b4fc.json.gz +0 -0
- package/src/.umi/.cache/babel-loader/c43f80b51c0608af1e2b1d0b4de08b26.json.gz +0 -0
- package/src/.umi/.cache/babel-loader/c6849e5ab8892d05da9f8ca9b0e12e5d.json.gz +0 -0
- package/src/.umi/.cache/babel-loader/c9303f2892bbb8c4b3531f621fbededc.json.gz +0 -0
- package/src/.umi/.cache/babel-loader/cd7957f8f166ba7cd56fbb784ec10035.json.gz +0 -0
- package/src/.umi/.cache/babel-loader/cfec27bc9c863a635c8d3c68e5d8d863.json.gz +0 -0
- package/src/.umi/.cache/babel-loader/d278fc08ed2c8af112a7bde97b7f0e97.json.gz +0 -0
- package/src/.umi/.cache/babel-loader/e79a404e7058aa37f67a5c3a15c9c5db.json.gz +0 -0
- package/src/.umi/.cache/babel-loader/ecc8b1fe6f3e895ca2bd7de7b0bc2283.json.gz +0 -0
- package/src/.umi/.cache/babel-loader/ed0621a51231566da0321932b35c55c9.json.gz +0 -0
- package/src/.umi/.cache/babel-loader/f1e253a82c6bed53c02fd58fbed06989.json.gz +0 -0
- package/src/.umi/.cache/babel-loader/f4c1e18999cb90705b80936afef19523.json.gz +0 -0
- package/src/.umi/.cache/babel-loader/fa2e968998ad423dd02adb6debc320b7.json.gz +0 -0
- package/src/.umi/.cache/babel-loader/fa4d08875e31b3b9b6be2b955a3307d3.json.gz +0 -0
- package/src/.umi/.cache/babel-loader/fb7013baeb3822a0043c3e95629912ad.json.gz +0 -0
- package/src/.umi/.cache/babel-loader/fdc6cbd60d25c6ede40a32030708febc.json.gz +0 -0
- package/src/pages/ModuleMenu/constData.jsx +27 -14
- package/src/pages/ModuleMenu/index.jsx +45 -24
- package/src/pages/ModuleMenu/index.less +0 -8
- package/src/pages/ModuleUser/index.jsx +18 -3
package/package.json
CHANGED
|
@@ -1,72 +1,85 @@
|
|
|
1
1
|
export const menuList = [{
|
|
2
2
|
name: '首页',
|
|
3
3
|
url: require('../../assets/home.svg'),
|
|
4
|
-
children: []
|
|
4
|
+
children: [],
|
|
5
5
|
},
|
|
6
6
|
{
|
|
7
7
|
name: '数据汇聚',
|
|
8
8
|
url: require('../../assets/ic_shujuhuiju_m.svg'),
|
|
9
9
|
children: [{
|
|
10
|
-
childName: '数据集成'
|
|
10
|
+
childName: '数据集成',
|
|
11
|
+
path: '/datacollection'
|
|
11
12
|
}]
|
|
12
13
|
},
|
|
13
14
|
{
|
|
14
15
|
name: '数据治理',
|
|
15
16
|
url: require('../../assets/ic_shujuzhili_m.svg'),
|
|
16
17
|
children: [{
|
|
17
|
-
childName: '数据治理'
|
|
18
|
+
childName: '数据治理',
|
|
19
|
+
path: '/dataManager'
|
|
18
20
|
},
|
|
19
21
|
{
|
|
20
|
-
childName: '元数据管理'
|
|
22
|
+
childName: '元数据管理',
|
|
23
|
+
path: '/metadata'
|
|
21
24
|
},
|
|
22
25
|
{
|
|
23
|
-
childName: '数据质量'
|
|
26
|
+
childName: '数据质量',
|
|
27
|
+
path: '/quality/'
|
|
24
28
|
}]
|
|
25
29
|
},
|
|
26
30
|
{
|
|
27
31
|
name: '数据开发',
|
|
28
32
|
url: require('../../assets/ic_shujukaifa_m.svg'),
|
|
29
33
|
children: [{
|
|
30
|
-
childName: '离线开发'
|
|
34
|
+
childName: '离线开发',
|
|
35
|
+
path: '/datadev/'
|
|
31
36
|
},
|
|
32
37
|
{
|
|
33
|
-
childName: '实时开发'
|
|
38
|
+
childName: '实时开发',
|
|
39
|
+
path: '/dataanalytic'
|
|
34
40
|
}]
|
|
35
41
|
},
|
|
36
42
|
{
|
|
37
43
|
name: '数据开放',
|
|
38
44
|
url: require('../../assets/ic_shujukaifang_m.svg'),
|
|
39
45
|
children: [{
|
|
40
|
-
childName: '数据服务'
|
|
46
|
+
childName: '数据服务',
|
|
47
|
+
path: '/dataservice'
|
|
41
48
|
},
|
|
42
49
|
{
|
|
43
|
-
childName: '数据资产'
|
|
50
|
+
childName: '数据资产',
|
|
51
|
+
path: '/dataasset'
|
|
44
52
|
},
|
|
45
53
|
{
|
|
46
|
-
childName: '数据共享'
|
|
54
|
+
childName: '数据共享',
|
|
55
|
+
path: '/datasharing'
|
|
47
56
|
}]
|
|
48
57
|
},
|
|
49
58
|
{
|
|
50
59
|
name: '数据应用',
|
|
51
60
|
url: require('../../assets/ic_shujuyingyong_m.svg'),
|
|
52
61
|
children: [{
|
|
53
|
-
childName: '数据标签'
|
|
62
|
+
childName: '数据标签',
|
|
63
|
+
path: ''
|
|
54
64
|
}]
|
|
55
65
|
},
|
|
56
66
|
{
|
|
57
67
|
name: '公共模块',
|
|
58
68
|
url: require('../../assets/ic_gonggongmokuai_m.svg'),
|
|
59
69
|
children: [{
|
|
60
|
-
childName: '运维中心'
|
|
70
|
+
childName: '运维中心',
|
|
71
|
+
path: '/operate'
|
|
61
72
|
},
|
|
62
73
|
{
|
|
63
|
-
childName: '系统管理'
|
|
74
|
+
childName: '系统管理',
|
|
75
|
+
path: '/admin'
|
|
64
76
|
},
|
|
65
77
|
{
|
|
66
78
|
childName: '工单管理'
|
|
67
79
|
},
|
|
68
80
|
{
|
|
69
|
-
childName: '消息中心'
|
|
81
|
+
childName: '消息中心',
|
|
82
|
+
path: '/alert'
|
|
70
83
|
}]
|
|
71
84
|
}];
|
|
72
85
|
export const menuIconSrc = require('../../assets/menuIcon.svg');
|
|
@@ -1,18 +1,28 @@
|
|
|
1
1
|
import { useState, useEffect, useRef, useMemo } from 'react';
|
|
2
2
|
import { Popconfirm, message } from 'antd';
|
|
3
|
-
import { menuList, menuIconSrc, childIconSrc, sysNameMap } from './constData'
|
|
3
|
+
import { menuList as menuListInit, menuIconSrc, childIconSrc, sysNameMap } from './constData'
|
|
4
4
|
import './index.less'
|
|
5
5
|
|
|
6
6
|
const ModuleMenu = ({ sysName }) => {
|
|
7
7
|
const [sessionMenu, setsessionMenu] = useState([]);
|
|
8
8
|
const [showMenuList, setshowMenuList] = useState(false);
|
|
9
|
+
const [menuList, setMenuList] = useState([]);
|
|
9
10
|
|
|
10
11
|
useEffect(() => {
|
|
11
|
-
|
|
12
|
+
let newSessionMenu = getSessionMenu();
|
|
13
|
+
setsessionMenu(newSessionMenu);
|
|
14
|
+
// let newMenuList = getNewMenuList();
|
|
15
|
+
let newMenuList = menuListInit;
|
|
16
|
+
setMenuList(newMenuList);
|
|
17
|
+
}, []);
|
|
18
|
+
|
|
19
|
+
const getSessionMenu = () =>{
|
|
20
|
+
const menuObj = JSON.parse(sessionStorage.getItem('bigdata-menu'));
|
|
12
21
|
if (menuObj) {
|
|
13
|
-
|
|
22
|
+
return menuObj.content || []
|
|
14
23
|
}
|
|
15
|
-
|
|
24
|
+
return []
|
|
25
|
+
}
|
|
16
26
|
|
|
17
27
|
// 获取系统logo及title
|
|
18
28
|
const getLogoAndTitle = () => {
|
|
@@ -130,27 +140,51 @@ const ModuleMenu = ({ sysName }) => {
|
|
|
130
140
|
// 跳转首页
|
|
131
141
|
const toHomePage = (index) => {
|
|
132
142
|
if (index === 0) {
|
|
133
|
-
window.location.href = '
|
|
143
|
+
window.location.href = '/#/index'
|
|
134
144
|
}
|
|
135
145
|
};
|
|
146
|
+
const getNewMenuList = () =>{
|
|
147
|
+
const sessionMenu = getSessionMenu()
|
|
148
|
+
let newMenuList = [...menuListInit];
|
|
149
|
+
if(sessionMenu){
|
|
150
|
+
const pathList = sessionMenu.map(item => item.path)
|
|
151
|
+
// 过滤掉没有权限的子菜单(PS:如果模块下面子菜单都没有,则不显示该模块)
|
|
152
|
+
for (let index = newMenuList.length - 1; index >= 0; index--) {
|
|
153
|
+
const menuItem = newMenuList[index]
|
|
154
|
+
for (let index_ch = menuItem.children.length - 1; index_ch >= 0 ; index_ch--) {
|
|
155
|
+
const child = menuItem.children[index_ch]
|
|
156
|
+
if (!pathList.includes(child.path)) {
|
|
157
|
+
newMenuList[index].children.splice(index_ch , 1)
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
if (menuItem.children.length === 0) {
|
|
161
|
+
newMenuList.splice(index, 1)
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
return newMenuList;
|
|
136
166
|
|
|
167
|
+
}
|
|
137
168
|
const menu = menuList.map((item, index) => {
|
|
138
169
|
return (
|
|
139
|
-
<div key={item.name} className="cardLine" style={{ height:
|
|
140
|
-
<div className='leftMenu'
|
|
170
|
+
<div key={item.name} className="cardLine" style={{ height: item.children.length > 3 ? '90px' : '' }}>
|
|
171
|
+
<div className='leftMenu' style={{
|
|
172
|
+
height: item.children.length > 3? '96px' :'70px',
|
|
173
|
+
lineHeight: item.children.length > 3? '45px' :'70px',
|
|
174
|
+
}}>
|
|
141
175
|
<img src={item.url} className="middle" />
|
|
142
176
|
<span className="middle textPad" onClick={() => { toHomePage(index) }}>{item.name}</span>
|
|
143
177
|
</div>
|
|
144
178
|
<div className='rightMenu'
|
|
145
179
|
style={{
|
|
146
|
-
height:
|
|
147
|
-
|
|
148
|
-
borderBottom: index ===
|
|
180
|
+
height: item.children.length > 3? '96px' :'70px',
|
|
181
|
+
lineHeight: item.children.length > 3? '45px' :'70px',
|
|
182
|
+
borderBottom: index === menuList.length - 1 ? '0px' : '1px solid #E9E9E9',
|
|
149
183
|
}}>
|
|
150
184
|
{
|
|
151
185
|
item.children.map((child, idx) => {
|
|
152
186
|
return (
|
|
153
|
-
<span key={child.childName}
|
|
187
|
+
<span key={child.childName}>
|
|
154
188
|
<img src={childIconSrc} className="middle iconPad" />
|
|
155
189
|
<span className='childMenu textPad middle' onClick={() => { toModulePage(child.childName) }}>{child.childName}</span>
|
|
156
190
|
</span>
|
|
@@ -165,19 +199,6 @@ const ModuleMenu = ({ sysName }) => {
|
|
|
165
199
|
return (
|
|
166
200
|
<div>
|
|
167
201
|
<div className='menuPopupAndTitle'>
|
|
168
|
-
{/* <Popconfirm
|
|
169
|
-
placement="bottomLeft"
|
|
170
|
-
title={menu}
|
|
171
|
-
okText=""
|
|
172
|
-
icon={false}
|
|
173
|
-
cancelText=""
|
|
174
|
-
// className='popupCss'
|
|
175
|
-
showCancel={false}
|
|
176
|
-
>
|
|
177
|
-
<div className='menuIcon'>
|
|
178
|
-
<img className="menuIcon_img" src={menuIconSrc} />
|
|
179
|
-
</div>
|
|
180
|
-
</Popconfirm> */}
|
|
181
202
|
<div className='menuIcon' onClick={()=>setshowMenuList(!showMenuList)}>
|
|
182
203
|
<img className="menuIcon_img" src={menuIconSrc} />
|
|
183
204
|
</div>
|
|
@@ -11,19 +11,13 @@ padding-left: 35px;
|
|
|
11
11
|
padding-bottom: 35px;
|
|
12
12
|
}
|
|
13
13
|
.cardLine{
|
|
14
|
-
height: 60px;
|
|
15
14
|
padding: 5px 0px;
|
|
16
15
|
}
|
|
17
16
|
.textPad{
|
|
18
17
|
padding-left: 10px;
|
|
19
18
|
}
|
|
20
|
-
.iconPad{
|
|
21
|
-
// padding-top: 15px;
|
|
22
|
-
}
|
|
23
19
|
.leftMenu{
|
|
24
20
|
width: 100px;
|
|
25
|
-
height: 60px;
|
|
26
|
-
line-height: 55px;
|
|
27
21
|
float: left;
|
|
28
22
|
color: rgba(0, 0, 0, 0.85);
|
|
29
23
|
font-size: 16px;
|
|
@@ -33,10 +27,8 @@ padding-bottom: 35px;
|
|
|
33
27
|
}
|
|
34
28
|
.rightMenu{
|
|
35
29
|
width: 460px;
|
|
36
|
-
height: 60px;
|
|
37
30
|
float: left;
|
|
38
31
|
vertical-align: middle;
|
|
39
|
-
// padding: 5px 10px 0px 10px;
|
|
40
32
|
font-size: 14px;
|
|
41
33
|
color: rgba(0,0,0,0.65);
|
|
42
34
|
font-weight: 400;
|
|
@@ -11,6 +11,7 @@ const ModuleUser = () => {
|
|
|
11
11
|
}
|
|
12
12
|
const {PersonalCenterSrc,MessageCenterSrc,SystemManageSrc,LogoutSrc} = userMenuIcon;
|
|
13
13
|
const isHaveSystemManagementPermission = sessionStorage.getItem('bigdata-isHaveSystemManagementPermission');
|
|
14
|
+
const DEFAULT_LOGOUT_URL = "/#/login"
|
|
14
15
|
|
|
15
16
|
const getUserName = () => {
|
|
16
17
|
const userInfo = JSON.parse(sessionStorage.getItem('bigdata-userInfo')||"{}");
|
|
@@ -19,22 +20,36 @@ const ModuleUser = () => {
|
|
|
19
20
|
}
|
|
20
21
|
return '';
|
|
21
22
|
};
|
|
23
|
+
// 退出登录
|
|
24
|
+
const logout = () => {
|
|
25
|
+
Axios('delete','/auth/token/logout', '', {} )
|
|
26
|
+
.then(() => {
|
|
27
|
+
// console.log('退出登录接口调用成功')
|
|
28
|
+
localStorage.clear();
|
|
29
|
+
sessionStorage.clear();
|
|
30
|
+
window.location.href = DEFAULT_LOGOUT_URL;
|
|
31
|
+
})
|
|
32
|
+
.catch((error) => {
|
|
33
|
+
console.error('Error while logging out, error:', error);
|
|
34
|
+
message.error('服务器错误,请稍后重试');
|
|
35
|
+
});
|
|
36
|
+
}
|
|
22
37
|
const menu = (
|
|
23
38
|
<Menu className="menu" selectedKeys={[]} >
|
|
24
39
|
<Menu.Item key="personalCenter" onClick={()=>handleClickmenu('/#/info/index')}>
|
|
25
40
|
<img src={PersonalCenterSrc} alt="" style={{ marginRight: '10px', marginTop: '-3px' }} />
|
|
26
41
|
<span>个人中心</span>
|
|
27
42
|
</Menu.Item>
|
|
28
|
-
<Menu.Item key="messageCenter" onClick={()=>handleClickmenu('
|
|
43
|
+
<Menu.Item key="messageCenter" onClick={()=>handleClickmenu('/alert/')}>
|
|
29
44
|
<img src={MessageCenterSrc} alt="" style={{ marginRight: '10px', marginTop: '-3px' }} />
|
|
30
45
|
<span>消息中心</span>
|
|
31
46
|
</Menu.Item>
|
|
32
47
|
{isHaveSystemManagementPermission &&
|
|
33
|
-
<Menu.Item key="systemManage" onClick={()=>handleClickmenu('
|
|
48
|
+
<Menu.Item key="systemManage" onClick={()=>handleClickmenu('/')}>
|
|
34
49
|
<img src={SystemManageSrc} alt="" style={{ marginRight: '10px', marginTop: '-3px' }} />
|
|
35
50
|
<span>系统管理</span>
|
|
36
51
|
</Menu.Item>}
|
|
37
|
-
<Menu.Item key="logout" onClick={()=>
|
|
52
|
+
<Menu.Item key="logout" onClick={()=>logout()}>
|
|
38
53
|
<img src={LogoutSrc} alt="" style={{ width: '15px', height: '15px', marginRight: '6px' }} />
|
|
39
54
|
<span>退出登录</span>
|
|
40
55
|
</Menu.Item>
|