@bit-sun/business-component 2.2.36 → 2.2.37

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 (183) hide show
  1. package/.editorconfig +16 -16
  2. package/.fatherrc.ts +5 -5
  3. package/.gitlab-ci.yml +179 -179
  4. package/.prettierignore +7 -7
  5. package/.prettierrc +11 -11
  6. package/.umirc.ts +74 -74
  7. package/README.md +27 -27
  8. package/dist/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/index.d.ts +1 -1
  9. package/dist/components/Business/BsLayouts/Components/CustomerMenu/index.d.ts +1 -1
  10. package/dist/components/Business/SearchSelect/index.d.ts +1 -1
  11. package/dist/components/Functional/SearchSelect/index.d.ts +1 -1
  12. package/dist/index.esm.js +667 -635
  13. package/dist/index.js +674 -642
  14. package/dist/utils/utils.d.ts +1 -1
  15. package/docs/index.md +21 -21
  16. package/lib/assets/drag.svg +17 -17
  17. package/lib/assets/exportFail.svg +37 -37
  18. package/lib/assets/exportProcessing.svg +28 -28
  19. package/lib/assets/exportSuccess.svg +34 -34
  20. package/lib/assets/label_icon_bottom.svg +25 -25
  21. package/lib/assets/upExport.svg +22 -22
  22. package/package.json +77 -77
  23. package/src/assets/32.svg +27 -27
  24. package/src/assets/addIcon.svg +17 -17
  25. package/src/assets/allfunc.svg +27 -27
  26. package/src/assets/arrowRight.svg +24 -24
  27. package/src/assets/btn-delete.svg +29 -29
  28. package/src/assets/btn-edit.svg +19 -19
  29. package/src/assets/btn-more.svg +17 -17
  30. package/src/assets/btn-submit.svg +19 -19
  31. package/src/assets/caidan.svg +11 -11
  32. package/src/assets/close.svg +26 -26
  33. package/src/assets/drag.svg +17 -17
  34. package/src/assets/exportFail.svg +37 -37
  35. package/src/assets/exportProcessing.svg +28 -28
  36. package/src/assets/exportSuccess.svg +34 -34
  37. package/src/assets/fixed-left-active.svg +11 -11
  38. package/src/assets/fixed-left.svg +15 -15
  39. package/src/assets/fixed-right-active.svg +11 -11
  40. package/src/assets/fixed-right.svg +15 -15
  41. package/src/assets/guanbi.svg +15 -15
  42. package/src/assets/icon-quanping.svg +15 -15
  43. package/src/assets/icon-shezhi.svg +17 -17
  44. package/src/assets/label_icon_bottom.svg +25 -25
  45. package/src/assets/list-no-img.svg +21 -21
  46. package/src/assets/morentouxiang-32.svg +23 -23
  47. package/src/assets/scanning.svg +24 -24
  48. package/src/assets/upExport.svg +22 -22
  49. package/src/components/Business/AddSelectBusiness/index.md +161 -161
  50. package/src/components/Business/AddSelectBusiness/index.tsx +861 -861
  51. package/src/components/Business/BsLayouts/Components/AllFunc/drawContent.tsx +111 -111
  52. package/src/components/Business/BsLayouts/Components/AllFunc/index.less +153 -153
  53. package/src/components/Business/BsLayouts/Components/AllFunc/index.tsx +70 -70
  54. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/index.less +90 -90
  55. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/index.tsx +37 -37
  56. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/leftTree.tsx +242 -242
  57. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/rightTree.tsx +384 -384
  58. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/DrawContent.tsx +285 -285
  59. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/customMenuHeader.tsx +74 -74
  60. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/drawContent.less +170 -170
  61. package/src/components/Business/BsLayouts/Components/CustomerMenu/index.less +64 -64
  62. package/src/components/Business/BsLayouts/Components/CustomerMenu/index.tsx +153 -153
  63. package/src/components/Business/BsLayouts/Components/GlobalHeader/index.less +72 -72
  64. package/src/components/Business/BsLayouts/Components/GlobalHeader/index.tsx +157 -157
  65. package/src/components/Business/BsLayouts/Components/RightContent/LoginModal.tsx +85 -85
  66. package/src/components/Business/BsLayouts/Components/RightContent/home.less +218 -218
  67. package/src/components/Business/BsLayouts/Components/RightContent/index.tsx +155 -155
  68. package/src/components/Business/BsLayouts/Components/SearchFunc/index.less +160 -160
  69. package/src/components/Business/BsLayouts/Components/SearchFunc/index.tsx +75 -75
  70. package/src/components/Business/BsLayouts/index.less +79 -79
  71. package/src/components/Business/BsLayouts/index.tsx +1484 -1484
  72. package/src/components/Business/BsLayouts/service.ts +10 -10
  73. package/src/components/Business/BsLayouts/utils.tsx +203 -203
  74. package/src/components/Business/BsSulaQueryTable/SearchItemSetting.tsx +538 -538
  75. package/src/components/Business/BsSulaQueryTable/index.less +219 -219
  76. package/src/components/Business/BsSulaQueryTable/index.tsx +527 -527
  77. package/src/components/Business/BsSulaQueryTable/setting.tsx +802 -802
  78. package/src/components/Business/BsSulaQueryTable/utils.less +65 -65
  79. package/src/components/Business/BsSulaQueryTable/utils.tsx +688 -688
  80. package/src/components/Business/CommodityEntry/index.md +70 -70
  81. package/src/components/Business/CommodityEntry/index.tsx +80 -80
  82. package/src/components/Business/CommonAlert/index.tsx +23 -23
  83. package/src/components/Business/CommonGuideWrapper/index.less +111 -111
  84. package/src/components/Business/CommonGuideWrapper/index.md +39 -39
  85. package/src/components/Business/CommonGuideWrapper/index.tsx +83 -83
  86. package/src/components/Business/DetailPageWrapper/index.less +79 -79
  87. package/src/components/Business/DetailPageWrapper/index.tsx +313 -313
  88. package/src/components/Business/DetailPageWrapper/utils.tsx +100 -100
  89. package/src/components/Business/HomePageWrapper/index.less +33 -33
  90. package/src/components/Business/HomePageWrapper/index.md +45 -45
  91. package/src/components/Business/HomePageWrapper/index.tsx +162 -162
  92. package/src/components/Business/JsonQueryTable/components/FieldsModifyModal.tsx +824 -824
  93. package/src/components/Business/JsonQueryTable/components/FieldsSettingsTable.tsx +201 -201
  94. package/src/components/Business/JsonQueryTable/components/Formula.tsx +205 -205
  95. package/src/components/Business/JsonQueryTable/components/MaintainOptions.tsx +127 -127
  96. package/src/components/Business/JsonQueryTable/configButton/index.js +20 -20
  97. package/src/components/Business/JsonQueryTable/configTree/component/compactArrayView.js +25 -25
  98. package/src/components/Business/JsonQueryTable/configTree/component/compactObjectView.js +30 -30
  99. package/src/components/Business/JsonQueryTable/configTree/index.js +82 -82
  100. package/src/components/Business/JsonQueryTable/configTree/index.less +44 -44
  101. package/src/components/Business/JsonQueryTable/configTree/parser/highlight.js +57 -57
  102. package/src/components/Business/JsonQueryTable/configTree/parser/index.js +124 -124
  103. package/src/components/Business/JsonQueryTable/configTree/render/iconRender.js +29 -29
  104. package/src/components/Business/JsonQueryTable/configTree/render/nameRender.js +22 -22
  105. package/src/components/Business/JsonQueryTable/configTree/treeNode.js +116 -116
  106. package/src/components/Business/JsonQueryTable/drawer/index.tsx +12 -12
  107. package/src/components/Business/JsonQueryTable/function.ts +62 -62
  108. package/src/components/Business/JsonQueryTable/index.less +16 -16
  109. package/src/components/Business/JsonQueryTable/index.md +328 -328
  110. package/src/components/Business/JsonQueryTable/index.tsx +320 -320
  111. package/src/components/Business/JsonQueryTable/jsonEditor/index.js +346 -346
  112. package/src/components/Business/JsonQueryTable/jsonEditor/index.less +22 -22
  113. package/src/components/Business/JsonQueryTable/jsonEditor/lint/basicType.js +147 -147
  114. package/src/components/Business/JsonQueryTable/jsonEditor/lint/index.js +389 -389
  115. package/src/components/Business/JsonQueryTable/jsonEditor/suggestions/actions.js +118 -118
  116. package/src/components/Business/JsonQueryTable/jsonEditor/suggestions/dependency.js +22 -22
  117. package/src/components/Business/JsonQueryTable/jsonEditor/suggestions/index.js +21 -21
  118. package/src/components/Business/JsonQueryTable/jsonEditor/suggestions/request.js +65 -65
  119. package/src/components/Business/JsonQueryTable/static.ts +390 -390
  120. package/src/components/Business/SearchSelect/BusinessUtils.ts +1732 -1731
  121. package/src/components/Business/SearchSelect/common.ts +53 -53
  122. package/src/components/Business/SearchSelect/index.md +1319 -1319
  123. package/src/components/Business/SearchSelect/index.tsx +51 -51
  124. package/src/components/Business/SearchSelect/utils.ts +100 -100
  125. package/src/components/Business/StateFlow/index.less +130 -130
  126. package/src/components/Business/StateFlow/index.md +60 -60
  127. package/src/components/Business/StateFlow/index.tsx +29 -29
  128. package/src/components/Business/TreeSearchSelect/index.md +154 -154
  129. package/src/components/Business/TreeSearchSelect/index.tsx +34 -34
  130. package/src/components/Business/TreeSearchSelect/utils.ts +69 -69
  131. package/src/components/Business/columnSettingTable/columnSetting.tsx +764 -764
  132. package/src/components/Business/columnSettingTable/index.less +247 -247
  133. package/src/components/Business/columnSettingTable/index.md +357 -357
  134. package/src/components/Business/columnSettingTable/index.tsx +232 -232
  135. package/src/components/Business/columnSettingTable/sulaSettingTable.tsx +240 -240
  136. package/src/components/Business/columnSettingTable/utils.tsx +68 -68
  137. package/src/components/Business/moreTreeTable/index.less +99 -99
  138. package/src/components/Business/moreTreeTable/index.md +448 -448
  139. package/src/components/Business/moreTreeTable/index.tsx +365 -365
  140. package/src/components/Business/moreTreeTable/utils.ts +126 -126
  141. package/src/components/Functional/AddSelect/helps.ts +14 -14
  142. package/src/components/Functional/AddSelect/index.less +367 -367
  143. package/src/components/Functional/AddSelect/index.md +155 -155
  144. package/src/components/Functional/AddSelect/index.tsx +1279 -1279
  145. package/src/components/Functional/BillEntry/index.less +371 -371
  146. package/src/components/Functional/BillEntry/index.md +39 -39
  147. package/src/components/Functional/BillEntry/index.tsx +772 -772
  148. package/src/components/Functional/DataImport/index.less +63 -63
  149. package/src/components/Functional/DataImport/index.md +44 -44
  150. package/src/components/Functional/DataImport/index.tsx +695 -695
  151. package/src/components/Functional/DataValidation/index.less +63 -63
  152. package/src/components/Functional/DataValidation/index.md +39 -39
  153. package/src/components/Functional/DataValidation/index.tsx +687 -687
  154. package/src/components/Functional/ExportFunctions/ExportIcon/index.md +37 -37
  155. package/src/components/Functional/ExportFunctions/ExportIcon/index.tsx +59 -59
  156. package/src/components/Functional/QueryMutipleInput/index.less +37 -37
  157. package/src/components/Functional/QueryMutipleInput/index.md +33 -33
  158. package/src/components/Functional/QueryMutipleInput/index.tsx +128 -128
  159. package/src/components/Functional/SearchSelect/index.less +115 -115
  160. package/src/components/Functional/SearchSelect/index.md +141 -141
  161. package/src/components/Functional/SearchSelect/index.tsx +849 -849
  162. package/src/components/Functional/SearchSelect/utils.ts +3 -3
  163. package/src/components/Functional/TreeSearchSelect/index.md +47 -47
  164. package/src/components/Functional/TreeSearchSelect/index.tsx +162 -162
  165. package/src/index.ts +34 -34
  166. package/src/plugin/TableColumnSetting/index.less +247 -247
  167. package/src/plugin/TableColumnSetting/index.md +50 -50
  168. package/src/plugin/TableColumnSetting/index.tsx +724 -724
  169. package/src/plugin/TableColumnSetting/utils.ts +19 -19
  170. package/src/styles/bsDefault.less +1912 -1912
  171. package/src/utils/CheckOneUser/index.md +39 -39
  172. package/src/utils/CheckOneUser/index.ts +51 -51
  173. package/src/utils/LocalstorageUtils.ts +90 -90
  174. package/src/utils/TableUtils.tsx +18 -18
  175. package/src/utils/checkUtils.ts +39 -39
  176. package/src/utils/enumConfig.ts +11 -11
  177. package/src/utils/getFormMode.js +12 -12
  178. package/src/utils/index.ts +3 -3
  179. package/src/utils/requestUtils.ts +34 -34
  180. package/src/utils/serialize.js +7 -7
  181. package/src/utils/utils.ts +183 -183
  182. package/tsconfig.json +29 -29
  183. package/typings.d.ts +4 -4
@@ -1,11 +1,11 @@
1
- import axios from 'axios';
2
-
3
- export async function outLogin(params: any) {
4
-
5
- let res = await axios({
6
- url: '/user/web/loginOut',
7
- method: 'GET',
8
- })
9
-
10
- return res;
1
+ import axios from 'axios';
2
+
3
+ export async function outLogin(params: any) {
4
+
5
+ let res = await axios({
6
+ url: '/user/web/loginOut',
7
+ method: 'GET',
8
+ })
9
+
10
+ return res;
11
11
  }
@@ -1,203 +1,203 @@
1
- // @ts-nocheck
2
- import cloneDeep from 'lodash/cloneDeep';
3
- import memoizeOne from 'memoize-one';
4
- import ENUM from '@/utils/enumConfig';
5
- import { history } from 'umi';
6
-
7
- const cache = {};
8
- const cacheLimit = 10000;
9
- let cacheCount = 0;
10
-
11
- function compilePath(path, options, pathToRegexp) {
12
- const cacheKey = `${options.end}${options.strict}${options.sensitive}`;
13
- const pathCache = cache[cacheKey] || (cache[cacheKey] = {});
14
-
15
- if (pathCache[path]) return pathCache[path];
16
-
17
- const keys = [];
18
- const regexp = pathToRegexp(path, keys, options);
19
- const result = { regexp, keys };
20
-
21
- if (cacheCount < cacheLimit) {
22
- pathCache[path] = result;
23
- // eslint-disable-next-line no-plusplus
24
- cacheCount++;
25
- }
26
-
27
- return result;
28
- }
29
-
30
- /**
31
- * Public API for matching a URL pathname to a path.
32
- */
33
- export const matchPath = (pathname, options = {}, pathToRegexp) => {
34
- if (typeof options === 'string' || Array.isArray(options)) {
35
- // eslint-disable-next-line no-param-reassign
36
- options = { path: options };
37
- }
38
-
39
- const { path, exact = false, strict = false, sensitive = false } = options;
40
-
41
- const paths = [].concat(path);
42
-
43
- // eslint-disable-next-line no-shadow
44
- return paths.reduce((matched, path) => {
45
- if (!path && path !== '') return null;
46
- if (matched) return matched;
47
-
48
- const { regexp, keys } = compilePath(path, {
49
- end: exact,
50
- strict,
51
- sensitive,
52
- }, pathToRegexp);
53
- const match = regexp.exec(pathname);
54
-
55
- if (!match) return null;
56
-
57
- const [url, ...values] = match;
58
- const isExact = pathname === url;
59
-
60
- if (exact && !isExact) return null;
61
-
62
- return {
63
- path, // the path used to match
64
- url: path === '/' && url === '' ? '/' : url, // the matched portion of the URL
65
- isExact, // whether or not we matched exactly
66
- params: keys.reduce((memo, key, index) => {
67
- // eslint-disable-next-line no-param-reassign
68
- memo[key.name] = values[index];
69
- return memo;
70
- }, {}),
71
- };
72
- }, null);
73
- }
74
-
75
-
76
- export const searchMenuData = (router: any, name?: any, callBack) => {
77
- if (!name) {
78
- callBack([]);
79
- return;
80
- }
81
- const btnAuth = JSON.parse(
82
- localStorage.getItem(ENUM.BROWSER_CACHE.MAIN_AUTH_CODES) || '[]',
83
- );
84
- const resultList: any = [];
85
- const newRouter = cloneDeep(router);
86
- const deep = (router: any) => {
87
- if (router && Array.isArray(router)) {
88
- router.forEach((item) => {
89
- if (item.children && Array.isArray(item.children)) {
90
- deep(item.children);
91
- } else if (
92
- !item.hideInMenu &&
93
- (name ? item.name.indexOf(name) !== -1 : true) &&
94
- btnAuth.find((d: any) => d === item.code)
95
- ) {
96
- resultList.push({
97
- ...item,
98
- });
99
- }
100
- });
101
- // } else if ((name ? router.name.indexOf(name) !== -1 : true) && btnAuth.find((d: any) => d.code === router.code)) {
102
- } else if (
103
- (name ? router.name.indexOf(name) !== -1 : true) &&
104
- btnAuth.find((d: any) => d === router.code)
105
- ) {
106
- resultList.push({
107
- ...router,
108
- });
109
- }
110
- };
111
- deep(newRouter);
112
- callBack([...resultList]);
113
- };
114
-
115
- export const setMenuTreeData = (routesData: Array<any>) => {
116
- const authButton = localStorage.getItem(ENUM.BROWSER_CACHE.MAIN_AUTH_CODES)
117
- ? JSON.parse(localStorage.getItem(ENUM.BROWSER_CACHE.MAIN_AUTH_CODES) as string)
118
- : [];
119
- for (let i = routesData.length - 1; i >= 0; i--) {
120
- if (routesData[i].hideInMenu) {
121
- routesData.splice(i, 1);
122
- continue;
123
- }
124
- if (
125
- routesData[i].code &&
126
- authButton.every((item) => {
127
- return routesData[i].code != item;
128
- })
129
- ) {
130
- routesData.splice(i, 1);
131
- continue;
132
- }
133
- if (routesData[i].children) {
134
- setMenuTreeData(routesData[i].children);
135
- }
136
- }
137
- };
138
-
139
- export const setLoginOutPath = () => {
140
- if (window.__POWERED_BY_WUJIE__) {
141
- window.$wujie?.props.goToLogin();
142
- } else {
143
- history.push({
144
- pathname: '/user/login'
145
- })
146
- }
147
- };
148
-
149
- export const getBreadcrumbNameMap = (menuData) => {
150
- const routerMap = {};
151
-
152
- const flattenMenuData = (data) => {
153
- data.forEach((menuItem) => {
154
- if (menuItem.children) {
155
- flattenMenuData(menuItem.children);
156
- }
157
- // Reduce memory usage
158
- routerMap[menuItem.path] = menuItem;
159
- });
160
- };
161
- flattenMenuData(menuData);
162
- return routerMap;
163
- };
164
-
165
- export const ergodicMenuRoutes = (routes) => {
166
- const codeArray = [];
167
-
168
- function ergodicRoutes(routesParam) {
169
- routesParam.forEach((element) => {
170
- // element.code &&
171
- if (element.hideInMenu) {
172
- codeArray.push(element);
173
- }
174
- if (element.routes) {
175
- ergodicRoutes(element.routes);
176
- }
177
- });
178
- }
179
-
180
- ergodicRoutes(routes);
181
-
182
- return codeArray;
183
- };
184
-
185
- export const encodeUrlQuery = (pathStr: any) => {
186
- let newPathStr='';
187
- if (pathStr.indexOf('#') > -1) {
188
- let index = pathStr.indexOf('?');
189
- let str1 = pathStr.substr(0, index+1);
190
- let str2 = pathStr.substr(index+1, pathStr.length - index -1);
191
- let queryArr = str2.split('&');
192
- let newArr = queryArr.map(item => {
193
- let index = item.indexOf('=');
194
- let s1 = item.substr(0, index);
195
- let s2 = item.substr(index+1, item.length - index -1);
196
- return `${s1}=${encodeURIComponent(s2)}`;
197
- })
198
- newPathStr = `${str1}${newArr.join('&')}`;
199
- } else {
200
- newPathStr = pathStr;
201
- }
202
- return newPathStr;
203
- }
1
+ // @ts-nocheck
2
+ import cloneDeep from 'lodash/cloneDeep';
3
+ import memoizeOne from 'memoize-one';
4
+ import ENUM from '@/utils/enumConfig';
5
+ import { history } from 'umi';
6
+
7
+ const cache = {};
8
+ const cacheLimit = 10000;
9
+ let cacheCount = 0;
10
+
11
+ function compilePath(path, options, pathToRegexp) {
12
+ const cacheKey = `${options.end}${options.strict}${options.sensitive}`;
13
+ const pathCache = cache[cacheKey] || (cache[cacheKey] = {});
14
+
15
+ if (pathCache[path]) return pathCache[path];
16
+
17
+ const keys = [];
18
+ const regexp = pathToRegexp(path, keys, options);
19
+ const result = { regexp, keys };
20
+
21
+ if (cacheCount < cacheLimit) {
22
+ pathCache[path] = result;
23
+ // eslint-disable-next-line no-plusplus
24
+ cacheCount++;
25
+ }
26
+
27
+ return result;
28
+ }
29
+
30
+ /**
31
+ * Public API for matching a URL pathname to a path.
32
+ */
33
+ export const matchPath = (pathname, options = {}, pathToRegexp) => {
34
+ if (typeof options === 'string' || Array.isArray(options)) {
35
+ // eslint-disable-next-line no-param-reassign
36
+ options = { path: options };
37
+ }
38
+
39
+ const { path, exact = false, strict = false, sensitive = false } = options;
40
+
41
+ const paths = [].concat(path);
42
+
43
+ // eslint-disable-next-line no-shadow
44
+ return paths.reduce((matched, path) => {
45
+ if (!path && path !== '') return null;
46
+ if (matched) return matched;
47
+
48
+ const { regexp, keys } = compilePath(path, {
49
+ end: exact,
50
+ strict,
51
+ sensitive,
52
+ }, pathToRegexp);
53
+ const match = regexp.exec(pathname);
54
+
55
+ if (!match) return null;
56
+
57
+ const [url, ...values] = match;
58
+ const isExact = pathname === url;
59
+
60
+ if (exact && !isExact) return null;
61
+
62
+ return {
63
+ path, // the path used to match
64
+ url: path === '/' && url === '' ? '/' : url, // the matched portion of the URL
65
+ isExact, // whether or not we matched exactly
66
+ params: keys.reduce((memo, key, index) => {
67
+ // eslint-disable-next-line no-param-reassign
68
+ memo[key.name] = values[index];
69
+ return memo;
70
+ }, {}),
71
+ };
72
+ }, null);
73
+ }
74
+
75
+
76
+ export const searchMenuData = (router: any, name?: any, callBack) => {
77
+ if (!name) {
78
+ callBack([]);
79
+ return;
80
+ }
81
+ const btnAuth = JSON.parse(
82
+ localStorage.getItem(ENUM.BROWSER_CACHE.MAIN_AUTH_CODES) || '[]',
83
+ );
84
+ const resultList: any = [];
85
+ const newRouter = cloneDeep(router);
86
+ const deep = (router: any) => {
87
+ if (router && Array.isArray(router)) {
88
+ router.forEach((item) => {
89
+ if (item.children && Array.isArray(item.children)) {
90
+ deep(item.children);
91
+ } else if (
92
+ !item.hideInMenu &&
93
+ (name ? item.name.indexOf(name) !== -1 : true) &&
94
+ btnAuth.find((d: any) => d === item.code)
95
+ ) {
96
+ resultList.push({
97
+ ...item,
98
+ });
99
+ }
100
+ });
101
+ // } else if ((name ? router.name.indexOf(name) !== -1 : true) && btnAuth.find((d: any) => d.code === router.code)) {
102
+ } else if (
103
+ (name ? router.name.indexOf(name) !== -1 : true) &&
104
+ btnAuth.find((d: any) => d === router.code)
105
+ ) {
106
+ resultList.push({
107
+ ...router,
108
+ });
109
+ }
110
+ };
111
+ deep(newRouter);
112
+ callBack([...resultList]);
113
+ };
114
+
115
+ export const setMenuTreeData = (routesData: Array<any>) => {
116
+ const authButton = localStorage.getItem(ENUM.BROWSER_CACHE.MAIN_AUTH_CODES)
117
+ ? JSON.parse(localStorage.getItem(ENUM.BROWSER_CACHE.MAIN_AUTH_CODES) as string)
118
+ : [];
119
+ for (let i = routesData.length - 1; i >= 0; i--) {
120
+ if (routesData[i].hideInMenu) {
121
+ routesData.splice(i, 1);
122
+ continue;
123
+ }
124
+ if (
125
+ routesData[i].code &&
126
+ authButton.every((item) => {
127
+ return routesData[i].code != item;
128
+ })
129
+ ) {
130
+ routesData.splice(i, 1);
131
+ continue;
132
+ }
133
+ if (routesData[i].children) {
134
+ setMenuTreeData(routesData[i].children);
135
+ }
136
+ }
137
+ };
138
+
139
+ export const setLoginOutPath = () => {
140
+ if (window.__POWERED_BY_WUJIE__) {
141
+ window.$wujie?.props.goToLogin();
142
+ } else {
143
+ history.push({
144
+ pathname: '/user/login'
145
+ })
146
+ }
147
+ };
148
+
149
+ export const getBreadcrumbNameMap = (menuData) => {
150
+ const routerMap = {};
151
+
152
+ const flattenMenuData = (data) => {
153
+ data.forEach((menuItem) => {
154
+ if (menuItem.children) {
155
+ flattenMenuData(menuItem.children);
156
+ }
157
+ // Reduce memory usage
158
+ routerMap[menuItem.path] = menuItem;
159
+ });
160
+ };
161
+ flattenMenuData(menuData);
162
+ return routerMap;
163
+ };
164
+
165
+ export const ergodicMenuRoutes = (routes) => {
166
+ const codeArray = [];
167
+
168
+ function ergodicRoutes(routesParam) {
169
+ routesParam.forEach((element) => {
170
+ // element.code &&
171
+ if (element.hideInMenu) {
172
+ codeArray.push(element);
173
+ }
174
+ if (element.routes) {
175
+ ergodicRoutes(element.routes);
176
+ }
177
+ });
178
+ }
179
+
180
+ ergodicRoutes(routes);
181
+
182
+ return codeArray;
183
+ };
184
+
185
+ export const encodeUrlQuery = (pathStr: any) => {
186
+ let newPathStr='';
187
+ if (pathStr.indexOf('#') > -1) {
188
+ let index = pathStr.indexOf('?');
189
+ let str1 = pathStr.substr(0, index+1);
190
+ let str2 = pathStr.substr(index+1, pathStr.length - index -1);
191
+ let queryArr = str2.split('&');
192
+ let newArr = queryArr.map(item => {
193
+ let index = item.indexOf('=');
194
+ let s1 = item.substr(0, index);
195
+ let s2 = item.substr(index+1, item.length - index -1);
196
+ return `${s1}=${encodeURIComponent(s2)}`;
197
+ })
198
+ newPathStr = `${str1}${newArr.join('&')}`;
199
+ } else {
200
+ newPathStr = pathStr;
201
+ }
202
+ return newPathStr;
203
+ }