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.
Files changed (67) hide show
  1. package/package.json +1 -1
  2. package/src/.umi/.cache/babel-loader/08caf38803d2b8dd0316efa9911e67a3.json.gz +0 -0
  3. package/src/.umi/.cache/babel-loader/0f4de863ea43c27514924faec8cdcd8e.json.gz +0 -0
  4. package/src/.umi/.cache/babel-loader/0fbfd4514bc2656b787a8647ed173e4d.json.gz +0 -0
  5. package/src/.umi/.cache/babel-loader/160652bd124676f99b12c25cb3daafc5.json.gz +0 -0
  6. package/src/.umi/.cache/babel-loader/17241fd12f2b0428186b362200d89e4d.json.gz +0 -0
  7. package/src/.umi/.cache/babel-loader/1bbe2388df8076ba502613a010a6613e.json.gz +0 -0
  8. package/src/.umi/.cache/babel-loader/1c1b6ad904989c9a54285b4d03728f95.json.gz +0 -0
  9. package/src/.umi/.cache/babel-loader/1e59f7303840e332c0db64c69850f1a3.json.gz +0 -0
  10. package/src/.umi/.cache/babel-loader/2103b5c112725aaf44c2a976bd78df46.json.gz +0 -0
  11. package/src/.umi/.cache/babel-loader/2b07948b1fd8338d36454b9a926fdabc.json.gz +0 -0
  12. package/src/.umi/.cache/babel-loader/2cfc7ae981c5cbb6d9a72acc0f138e2a.json.gz +0 -0
  13. package/src/.umi/.cache/babel-loader/2d0e4c958c62d6ea7d40851e77c097c8.json.gz +0 -0
  14. package/src/.umi/.cache/babel-loader/38385315ab7879da8dc8b5e899cdc634.json.gz +0 -0
  15. package/src/.umi/.cache/babel-loader/3adc2287b1f83cc76cee2e36fb462074.json.gz +0 -0
  16. package/src/.umi/.cache/babel-loader/3beeb20ab7679491c08a3a1a0136ab5c.json.gz +0 -0
  17. package/src/.umi/.cache/babel-loader/3f88311d9aeac11751954239b1727e62.json.gz +0 -0
  18. package/src/.umi/.cache/babel-loader/414f4ee3c8dd8ef89ec6c712cd10171a.json.gz +0 -0
  19. package/src/.umi/.cache/babel-loader/4152805eadf853568532a6608801a0ac.json.gz +0 -0
  20. package/src/.umi/.cache/babel-loader/4e32c39becbbe65ff5e799f80e731a1e.json.gz +0 -0
  21. package/src/.umi/.cache/babel-loader/571d7e2d2f38727272d1b170ddeb730b.json.gz +0 -0
  22. package/src/.umi/.cache/babel-loader/5a22e2fe6fefce79e86d8bbc6558c197.json.gz +0 -0
  23. package/src/.umi/.cache/babel-loader/5aa3c48776b6587255ccf2f5daeaa00f.json.gz +0 -0
  24. package/src/.umi/.cache/babel-loader/5cd0d87c8cd22a4070e6aad9f072691f.json.gz +0 -0
  25. package/src/.umi/.cache/babel-loader/5ea9bc1dd1f9f9356482e0a216dfd48c.json.gz +0 -0
  26. package/src/.umi/.cache/babel-loader/613a85a252b9949de3ce264330dc8b73.json.gz +0 -0
  27. package/src/.umi/.cache/babel-loader/6538ba600ff16d875e785dafda3689a6.json.gz +0 -0
  28. package/src/.umi/.cache/babel-loader/658f8b33dbdb784c4003daffb6097a34.json.gz +0 -0
  29. package/src/.umi/.cache/babel-loader/69feb384038f28ec6aa6dd0b1cbd78e9.json.gz +0 -0
  30. package/src/.umi/.cache/babel-loader/6d75b0e70cf3b5083fb00c813238ccbf.json.gz +0 -0
  31. package/src/.umi/.cache/babel-loader/6fd6c2a84e5b4ee1dce95f752227c62b.json.gz +0 -0
  32. package/src/.umi/.cache/babel-loader/71a3f540b865ae01cb0f7d4ece463d0b.json.gz +0 -0
  33. package/src/.umi/.cache/babel-loader/764165a6301d49e751d1ddf0df462331.json.gz +0 -0
  34. package/src/.umi/.cache/babel-loader/76c57a0c48f6fb6230ace934c745990e.json.gz +0 -0
  35. package/src/.umi/.cache/babel-loader/85748760bb989b5ab8c8556657b67298.json.gz +0 -0
  36. package/src/.umi/.cache/babel-loader/8bb0d12cd088bbe06dba8aeffc1f9a64.json.gz +0 -0
  37. package/src/.umi/.cache/babel-loader/8bbfaa9290f824d1b32eb0a3db4d1cd4.json.gz +0 -0
  38. package/src/.umi/.cache/babel-loader/8faaf4ab77fabe0dfc3adf6791c639c0.json.gz +0 -0
  39. package/src/.umi/.cache/babel-loader/9310e034ea71e2c0e0cf115c4e7c86de.json.gz +0 -0
  40. package/src/.umi/.cache/babel-loader/94527eacccbf439e1fe88aa7e5d860e5.json.gz +0 -0
  41. package/src/.umi/.cache/babel-loader/97c0897b4dee5d697192312ff0686c84.json.gz +0 -0
  42. package/src/.umi/.cache/babel-loader/9b66cfefb8f9e54aa8232379a801d97c.json.gz +0 -0
  43. package/src/.umi/.cache/babel-loader/9cf7f57b36681cbeddb2f59bb42f3dae.json.gz +0 -0
  44. package/src/.umi/.cache/babel-loader/a78780eb863db07d59246ca670ded653.json.gz +0 -0
  45. package/src/.umi/.cache/babel-loader/b3ee1c040d7e5ef9aa5b21d9669a7aeb.json.gz +0 -0
  46. package/src/.umi/.cache/babel-loader/bbb0a99cc2e6dd38aa52409451061f3b.json.gz +0 -0
  47. package/src/.umi/.cache/babel-loader/c0bdaeb6e2d006f3f8c5a49b68c4ac5e.json.gz +0 -0
  48. package/src/.umi/.cache/babel-loader/c2340d34578ef1982463e344f3c0b4fc.json.gz +0 -0
  49. package/src/.umi/.cache/babel-loader/c43f80b51c0608af1e2b1d0b4de08b26.json.gz +0 -0
  50. package/src/.umi/.cache/babel-loader/c6849e5ab8892d05da9f8ca9b0e12e5d.json.gz +0 -0
  51. package/src/.umi/.cache/babel-loader/c9303f2892bbb8c4b3531f621fbededc.json.gz +0 -0
  52. package/src/.umi/.cache/babel-loader/cd7957f8f166ba7cd56fbb784ec10035.json.gz +0 -0
  53. package/src/.umi/.cache/babel-loader/cfec27bc9c863a635c8d3c68e5d8d863.json.gz +0 -0
  54. package/src/.umi/.cache/babel-loader/d278fc08ed2c8af112a7bde97b7f0e97.json.gz +0 -0
  55. package/src/.umi/.cache/babel-loader/e79a404e7058aa37f67a5c3a15c9c5db.json.gz +0 -0
  56. package/src/.umi/.cache/babel-loader/ecc8b1fe6f3e895ca2bd7de7b0bc2283.json.gz +0 -0
  57. package/src/.umi/.cache/babel-loader/ed0621a51231566da0321932b35c55c9.json.gz +0 -0
  58. package/src/.umi/.cache/babel-loader/f1e253a82c6bed53c02fd58fbed06989.json.gz +0 -0
  59. package/src/.umi/.cache/babel-loader/f4c1e18999cb90705b80936afef19523.json.gz +0 -0
  60. package/src/.umi/.cache/babel-loader/fa2e968998ad423dd02adb6debc320b7.json.gz +0 -0
  61. package/src/.umi/.cache/babel-loader/fa4d08875e31b3b9b6be2b955a3307d3.json.gz +0 -0
  62. package/src/.umi/.cache/babel-loader/fb7013baeb3822a0043c3e95629912ad.json.gz +0 -0
  63. package/src/.umi/.cache/babel-loader/fdc6cbd60d25c6ede40a32030708febc.json.gz +0 -0
  64. package/src/pages/ModuleMenu/constData.jsx +27 -14
  65. package/src/pages/ModuleMenu/index.jsx +45 -24
  66. package/src/pages/ModuleMenu/index.less +0 -8
  67. package/src/pages/ModuleUser/index.jsx +18 -3
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "module-menu",
3
- "version": "0.1.18",
3
+ "version": "0.1.19",
4
4
  "description": "城市大数据平台公共头部及尾部",
5
5
  "main":"src/pages/index.jsx",
6
6
  "scripts": {
@@ -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
- const menuObj = JSON.parse(sessionStorage.getItem('bigdata-menu'))
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
- setsessionMenu(menuObj.content || [])
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 = '/index'
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: index === 6 ? '90px' : '' }}>
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: index === 6 ? '90px' : '',
147
- // lineHeight: index === 6 ? '' : '60px',
148
- borderBottom: index === 6 ? '0px' : '1px solid #E9E9E9',
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} style={{lineHeight: idx > 2 ? '30px' : '60px', }}>
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('/#/info/index')}>
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('/#/info/index')}>
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={()=>handleClickmenu('/#/info/index')}>
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>