@bit-sun/business-component 2.2.0 → 2.2.2

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 (188) 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/AllFunc/drawContent.d.ts +1 -1
  9. package/dist/components/Business/BsLayouts/Components/AllFunc/index.d.ts +1 -1
  10. package/dist/components/Business/BsLayouts/Components/RightContent/index.d.ts +2 -2
  11. package/dist/components/Business/BsLayouts/Components/SearchFunc/index.d.ts +2 -2
  12. package/dist/components/Business/BsLayouts/index.d.ts +2 -2
  13. package/dist/components/Business/BsSulaQueryTable/utils.d.ts +2 -2
  14. package/dist/index.d.ts +1 -0
  15. package/dist/index.esm.js +7804 -9105
  16. package/dist/index.js +7803 -9103
  17. package/dist/plugin/TableColumnSetting/index.d.ts +64 -0
  18. package/dist/plugin/TableColumnSetting/utils.d.ts +1 -0
  19. package/dist/utils/LocalstorageUtils.d.ts +2 -0
  20. package/dist/utils/TableUtils.d.ts +2 -2
  21. package/dist/utils/utils.d.ts +1 -1
  22. package/docs/index.md +21 -21
  23. package/lib/assets/drag.svg +17 -17
  24. package/lib/assets/exportFail.svg +37 -37
  25. package/lib/assets/exportProcessing.svg +28 -28
  26. package/lib/assets/exportSuccess.svg +34 -34
  27. package/lib/assets/label_icon_bottom.svg +25 -25
  28. package/lib/assets/upExport.svg +22 -22
  29. package/package.json +77 -77
  30. package/src/assets/32.svg +27 -27
  31. package/src/assets/addIcon.svg +17 -17
  32. package/src/assets/allfunc.svg +27 -27
  33. package/src/assets/arrowRight.svg +24 -24
  34. package/src/assets/btn-delete.svg +29 -29
  35. package/src/assets/btn-edit.svg +19 -19
  36. package/src/assets/btn-more.svg +17 -17
  37. package/src/assets/btn-submit.svg +19 -19
  38. package/src/assets/caidan.svg +11 -11
  39. package/src/assets/close.svg +26 -26
  40. package/src/assets/drag.svg +17 -17
  41. package/src/assets/exportFail.svg +37 -37
  42. package/src/assets/exportProcessing.svg +28 -28
  43. package/src/assets/exportSuccess.svg +34 -34
  44. package/src/assets/fixed-left-active.svg +11 -11
  45. package/src/assets/fixed-left.svg +15 -15
  46. package/src/assets/fixed-right-active.svg +11 -11
  47. package/src/assets/fixed-right.svg +15 -15
  48. package/src/assets/guanbi.svg +15 -15
  49. package/src/assets/icon-quanping.svg +15 -15
  50. package/src/assets/icon-shezhi.svg +17 -17
  51. package/src/assets/label_icon_bottom.svg +25 -25
  52. package/src/assets/list-no-img.svg +21 -21
  53. package/src/assets/morentouxiang-32.svg +23 -23
  54. package/src/assets/scanning.svg +24 -24
  55. package/src/assets/upExport.svg +22 -22
  56. package/src/components/Business/AddSelectBusiness/index.md +63 -42
  57. package/src/components/Business/AddSelectBusiness/index.tsx +344 -341
  58. package/src/components/Business/BsLayouts/Components/AllFunc/drawContent.tsx +111 -111
  59. package/src/components/Business/BsLayouts/Components/AllFunc/index.less +153 -153
  60. package/src/components/Business/BsLayouts/Components/AllFunc/index.tsx +70 -70
  61. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/index.less +90 -90
  62. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/index.tsx +37 -37
  63. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/leftTree.tsx +242 -242
  64. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/rightTree.tsx +384 -384
  65. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/DrawContent.tsx +285 -285
  66. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/customMenuHeader.tsx +74 -74
  67. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/drawContent.less +170 -170
  68. package/src/components/Business/BsLayouts/Components/CustomerMenu/index.less +64 -64
  69. package/src/components/Business/BsLayouts/Components/CustomerMenu/index.tsx +153 -153
  70. package/src/components/Business/BsLayouts/Components/GlobalHeader/index.less +72 -72
  71. package/src/components/Business/BsLayouts/Components/GlobalHeader/index.tsx +157 -157
  72. package/src/components/Business/BsLayouts/Components/RightContent/LoginModal.tsx +85 -85
  73. package/src/components/Business/BsLayouts/Components/RightContent/home.less +218 -218
  74. package/src/components/Business/BsLayouts/Components/RightContent/index.tsx +156 -156
  75. package/src/components/Business/BsLayouts/Components/SearchFunc/index.less +160 -160
  76. package/src/components/Business/BsLayouts/Components/SearchFunc/index.tsx +75 -75
  77. package/src/components/Business/BsLayouts/index.less +79 -79
  78. package/src/components/Business/BsLayouts/index.tsx +1479 -1479
  79. package/src/components/Business/BsLayouts/service.ts +10 -10
  80. package/src/components/Business/BsLayouts/utils.tsx +230 -230
  81. package/src/components/Business/BsSulaQueryTable/index.less +219 -219
  82. package/src/components/Business/BsSulaQueryTable/index.tsx +480 -476
  83. package/src/components/Business/BsSulaQueryTable/setting.tsx +802 -802
  84. package/src/components/Business/BsSulaQueryTable/utils.less +65 -65
  85. package/src/components/Business/BsSulaQueryTable/utils.tsx +688 -688
  86. package/src/components/Business/CommodityEntry/index.md +70 -70
  87. package/src/components/Business/CommodityEntry/index.tsx +80 -80
  88. package/src/components/Business/CommonAlert/index.tsx +23 -23
  89. package/src/components/Business/CommonGuideWrapper/index.less +111 -111
  90. package/src/components/Business/CommonGuideWrapper/index.md +39 -39
  91. package/src/components/Business/CommonGuideWrapper/index.tsx +83 -83
  92. package/src/components/Business/DetailPageWrapper/index.less +79 -79
  93. package/src/components/Business/DetailPageWrapper/index.tsx +335 -335
  94. package/src/components/Business/DetailPageWrapper/utils.tsx +100 -100
  95. package/src/components/Business/HomePageWrapper/index.less +33 -33
  96. package/src/components/Business/HomePageWrapper/index.md +45 -45
  97. package/src/components/Business/HomePageWrapper/index.tsx +162 -162
  98. package/src/components/Business/JsonQueryTable/components/FieldsModifyModal.tsx +824 -824
  99. package/src/components/Business/JsonQueryTable/components/FieldsSettingsTable.tsx +201 -201
  100. package/src/components/Business/JsonQueryTable/components/Formula.tsx +205 -205
  101. package/src/components/Business/JsonQueryTable/components/MaintainOptions.tsx +127 -127
  102. package/src/components/Business/JsonQueryTable/configButton/index.js +20 -20
  103. package/src/components/Business/JsonQueryTable/configTree/component/compactArrayView.js +25 -25
  104. package/src/components/Business/JsonQueryTable/configTree/component/compactObjectView.js +30 -30
  105. package/src/components/Business/JsonQueryTable/configTree/index.js +82 -82
  106. package/src/components/Business/JsonQueryTable/configTree/index.less +44 -44
  107. package/src/components/Business/JsonQueryTable/configTree/parser/highlight.js +57 -57
  108. package/src/components/Business/JsonQueryTable/configTree/parser/index.js +124 -124
  109. package/src/components/Business/JsonQueryTable/configTree/render/iconRender.js +29 -29
  110. package/src/components/Business/JsonQueryTable/configTree/render/nameRender.js +22 -22
  111. package/src/components/Business/JsonQueryTable/configTree/treeNode.js +116 -116
  112. package/src/components/Business/JsonQueryTable/drawer/index.tsx +12 -12
  113. package/src/components/Business/JsonQueryTable/function.ts +62 -62
  114. package/src/components/Business/JsonQueryTable/index.less +16 -16
  115. package/src/components/Business/JsonQueryTable/index.md +328 -328
  116. package/src/components/Business/JsonQueryTable/index.tsx +320 -320
  117. package/src/components/Business/JsonQueryTable/jsonEditor/index.js +346 -346
  118. package/src/components/Business/JsonQueryTable/jsonEditor/index.less +22 -22
  119. package/src/components/Business/JsonQueryTable/jsonEditor/lint/basicType.js +147 -147
  120. package/src/components/Business/JsonQueryTable/jsonEditor/lint/index.js +389 -389
  121. package/src/components/Business/JsonQueryTable/jsonEditor/suggestions/actions.js +118 -118
  122. package/src/components/Business/JsonQueryTable/jsonEditor/suggestions/dependency.js +22 -22
  123. package/src/components/Business/JsonQueryTable/jsonEditor/suggestions/index.js +21 -21
  124. package/src/components/Business/JsonQueryTable/jsonEditor/suggestions/request.js +65 -65
  125. package/src/components/Business/JsonQueryTable/static.ts +356 -356
  126. package/src/components/Business/SearchSelect/BusinessUtils.ts +1586 -1586
  127. package/src/components/Business/SearchSelect/common.ts +53 -53
  128. package/src/components/Business/SearchSelect/index.md +1254 -1254
  129. package/src/components/Business/SearchSelect/index.tsx +51 -51
  130. package/src/components/Business/SearchSelect/utils.ts +100 -100
  131. package/src/components/Business/StateFlow/index.less +130 -130
  132. package/src/components/Business/StateFlow/index.md +60 -60
  133. package/src/components/Business/StateFlow/index.tsx +29 -29
  134. package/src/components/Business/TreeSearchSelect/index.md +126 -126
  135. package/src/components/Business/TreeSearchSelect/index.tsx +34 -34
  136. package/src/components/Business/TreeSearchSelect/utils.ts +60 -60
  137. package/src/components/Business/columnSettingTable/columnSetting.tsx +764 -764
  138. package/src/components/Business/columnSettingTable/index.less +247 -247
  139. package/src/components/Business/columnSettingTable/index.md +357 -357
  140. package/src/components/Business/columnSettingTable/index.tsx +232 -232
  141. package/src/components/Business/columnSettingTable/sulaSettingTable.tsx +240 -240
  142. package/src/components/Business/columnSettingTable/utils.tsx +68 -68
  143. package/src/components/Business/moreTreeTable/index.less +99 -99
  144. package/src/components/Business/moreTreeTable/index.md +508 -508
  145. package/src/components/Business/moreTreeTable/index.tsx +315 -315
  146. package/src/components/Business/moreTreeTable/utils.ts +126 -126
  147. package/src/components/Functional/AddSelect/index.less +367 -367
  148. package/src/components/Functional/AddSelect/index.md +155 -154
  149. package/src/components/Functional/AddSelect/index.tsx +1072 -994
  150. package/src/components/Functional/BillEntry/index.less +371 -371
  151. package/src/components/Functional/BillEntry/index.md +39 -39
  152. package/src/components/Functional/BillEntry/index.tsx +766 -670
  153. package/src/components/Functional/DataImport/index.less +63 -63
  154. package/src/components/Functional/DataImport/index.md +44 -44
  155. package/src/components/Functional/DataImport/index.tsx +695 -695
  156. package/src/components/Functional/DataValidation/index.less +63 -63
  157. package/src/components/Functional/DataValidation/index.md +39 -39
  158. package/src/components/Functional/DataValidation/index.tsx +687 -687
  159. package/src/components/Functional/ExportFunctions/ExportIcon/index.md +37 -37
  160. package/src/components/Functional/ExportFunctions/ExportIcon/index.tsx +59 -59
  161. package/src/components/Functional/QueryMutipleInput/index.less +37 -37
  162. package/src/components/Functional/QueryMutipleInput/index.md +33 -33
  163. package/src/components/Functional/QueryMutipleInput/index.tsx +128 -128
  164. package/src/components/Functional/SearchSelect/index.less +115 -115
  165. package/src/components/Functional/SearchSelect/index.md +141 -141
  166. package/src/components/Functional/SearchSelect/index.tsx +813 -813
  167. package/src/components/Functional/SearchSelect/utils.ts +3 -3
  168. package/src/components/Functional/TreeSearchSelect/index.md +47 -47
  169. package/src/components/Functional/TreeSearchSelect/index.tsx +149 -149
  170. package/src/index.ts +34 -34
  171. package/src/plugin/TableColumnSetting/index.less +247 -0
  172. package/src/plugin/TableColumnSetting/index.md +50 -0
  173. package/src/plugin/TableColumnSetting/index.tsx +724 -0
  174. package/src/plugin/TableColumnSetting/utils.ts +19 -0
  175. package/src/styles/bsDefault.less +1906 -1906
  176. package/src/utils/CheckOneUser/index.md +39 -39
  177. package/src/utils/CheckOneUser/index.ts +51 -51
  178. package/src/utils/LocalstorageUtils.ts +33 -0
  179. package/src/utils/TableUtils.tsx +18 -18
  180. package/src/utils/checkUtils.ts +39 -39
  181. package/src/utils/enumConfig.ts +10 -10
  182. package/src/utils/getFormMode.js +12 -12
  183. package/src/utils/index.ts +2 -2
  184. package/src/utils/requestUtils.ts +33 -33
  185. package/src/utils/serialize.js +7 -7
  186. package/src/utils/utils.ts +183 -183
  187. package/tsconfig.json +29 -29
  188. 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,231 +1,231 @@
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 function handleUserID() {
140
- return JSON.parse(localStorage.getItem(ENUM.BROWSER_CACHE.USER_INFO) || '{}')
141
- ?.accountPersonDetail?.username;
142
- }
143
-
144
- export function handleAccountID() {
145
- return JSON.parse(localStorage.getItem(ENUM.BROWSER_CACHE.USER_INFO) || '{}')
146
- ?.accountPersonDetail?.id;
147
- }
148
-
149
- export function handleUserName() {
150
- return JSON.parse(localStorage.getItem(ENUM.BROWSER_CACHE.USER_INFO) || '{}')
151
- ?.accountPersonDetail?.employeeName;
152
- }
153
-
154
- export function handleUserPhone() {
155
- const str =
156
- JSON.parse(localStorage.getItem(ENUM.BROWSER_CACHE.USER_INFO) || '{}')?.accountPersonDetail
157
- ?.person?.phone || '';
158
- const enStr = str && str.slice(0, 3) + '****' + str.slice(str.length - 4);
159
- return enStr;
160
- }
161
-
162
- export const setLoginOutPath = () => {
163
- if (window.top == window) {
164
- history.push({
165
- pathname: '/user/login'
166
- })
167
- } else {
168
- window.parent.postMessage(
169
- {
170
- type: 'go2Login',
171
- },
172
- '*',
173
- );
174
- }
175
- };
176
-
177
- export const getBreadcrumbNameMap = (menuData) => {
178
- const routerMap = {};
179
-
180
- const flattenMenuData = (data) => {
181
- data.forEach((menuItem) => {
182
- if (menuItem.children) {
183
- flattenMenuData(menuItem.children);
184
- }
185
- // Reduce memory usage
186
- routerMap[menuItem.path] = menuItem;
187
- });
188
- };
189
- flattenMenuData(menuData);
190
- return routerMap;
191
- };
192
-
193
- export const ergodicMenuRoutes = (routes) => {
194
- const codeArray = [];
195
-
196
- function ergodicRoutes(routesParam) {
197
- routesParam.forEach((element) => {
198
- // element.code &&
199
- if (element.hideInMenu) {
200
- codeArray.push(element);
201
- }
202
- if (element.routes) {
203
- ergodicRoutes(element.routes);
204
- }
205
- });
206
- }
207
-
208
- ergodicRoutes(routes);
209
-
210
- return codeArray;
211
- };
212
-
213
- export const encodeUrlQuery = (pathStr: any) => {
214
- let newPathStr='';
215
- if (pathStr.indexOf('#') > -1) {
216
- let index = pathStr.indexOf('?');
217
- let str1 = pathStr.substr(0, index+1);
218
- let str2 = pathStr.substr(index+1, pathStr.length - index -1);
219
- let queryArr = str2.split('&');
220
- let newArr = queryArr.map(item => {
221
- let index = item.indexOf('=');
222
- let s1 = item.substr(0, index);
223
- let s2 = item.substr(index+1, item.length - index -1);
224
- return `${s1}=${encodeURIComponent(s2)}`;
225
- })
226
- newPathStr = `${str1}${newArr.join('&')}`;
227
- } else {
228
- newPathStr = pathStr;
229
- }
230
- return newPathStr;
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 function handleUserID() {
140
+ return JSON.parse(localStorage.getItem(ENUM.BROWSER_CACHE.USER_INFO) || '{}')
141
+ ?.accountPersonDetail?.username;
142
+ }
143
+
144
+ export function handleAccountID() {
145
+ return JSON.parse(localStorage.getItem(ENUM.BROWSER_CACHE.USER_INFO) || '{}')
146
+ ?.accountPersonDetail?.id;
147
+ }
148
+
149
+ export function handleUserName() {
150
+ return JSON.parse(localStorage.getItem(ENUM.BROWSER_CACHE.USER_INFO) || '{}')
151
+ ?.accountPersonDetail?.employeeName;
152
+ }
153
+
154
+ export function handleUserPhone() {
155
+ const str =
156
+ JSON.parse(localStorage.getItem(ENUM.BROWSER_CACHE.USER_INFO) || '{}')?.accountPersonDetail
157
+ ?.person?.phone || '';
158
+ const enStr = str && str.slice(0, 3) + '****' + str.slice(str.length - 4);
159
+ return enStr;
160
+ }
161
+
162
+ export const setLoginOutPath = () => {
163
+ if (window.top == window) {
164
+ history.push({
165
+ pathname: '/user/login'
166
+ })
167
+ } else {
168
+ window.parent.postMessage(
169
+ {
170
+ type: 'go2Login',
171
+ },
172
+ '*',
173
+ );
174
+ }
175
+ };
176
+
177
+ export const getBreadcrumbNameMap = (menuData) => {
178
+ const routerMap = {};
179
+
180
+ const flattenMenuData = (data) => {
181
+ data.forEach((menuItem) => {
182
+ if (menuItem.children) {
183
+ flattenMenuData(menuItem.children);
184
+ }
185
+ // Reduce memory usage
186
+ routerMap[menuItem.path] = menuItem;
187
+ });
188
+ };
189
+ flattenMenuData(menuData);
190
+ return routerMap;
191
+ };
192
+
193
+ export const ergodicMenuRoutes = (routes) => {
194
+ const codeArray = [];
195
+
196
+ function ergodicRoutes(routesParam) {
197
+ routesParam.forEach((element) => {
198
+ // element.code &&
199
+ if (element.hideInMenu) {
200
+ codeArray.push(element);
201
+ }
202
+ if (element.routes) {
203
+ ergodicRoutes(element.routes);
204
+ }
205
+ });
206
+ }
207
+
208
+ ergodicRoutes(routes);
209
+
210
+ return codeArray;
211
+ };
212
+
213
+ export const encodeUrlQuery = (pathStr: any) => {
214
+ let newPathStr='';
215
+ if (pathStr.indexOf('#') > -1) {
216
+ let index = pathStr.indexOf('?');
217
+ let str1 = pathStr.substr(0, index+1);
218
+ let str2 = pathStr.substr(index+1, pathStr.length - index -1);
219
+ let queryArr = str2.split('&');
220
+ let newArr = queryArr.map(item => {
221
+ let index = item.indexOf('=');
222
+ let s1 = item.substr(0, index);
223
+ let s2 = item.substr(index+1, item.length - index -1);
224
+ return `${s1}=${encodeURIComponent(s2)}`;
225
+ })
226
+ newPathStr = `${str1}${newArr.join('&')}`;
227
+ } else {
228
+ newPathStr = pathStr;
229
+ }
230
+ return newPathStr;
231
231
  }