@bit-sun/business-component 2.0.37 → 2.0.39-alpha.0

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 (153) hide show
  1. package/.editorconfig +16 -16
  2. package/.fatherrc.ts +5 -4
  3. package/.gitlab-ci.yml +174 -174
  4. package/.prettierignore +7 -7
  5. package/.prettierrc +11 -11
  6. package/.umirc.ts +77 -74
  7. package/README.md +27 -27
  8. package/dist/components/Business/BsLayouts/Components/AllFunc/drawContent.d.ts +4 -0
  9. package/dist/components/Business/BsLayouts/Components/AllFunc/index.d.ts +4 -0
  10. package/dist/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/index.d.ts +4 -0
  11. package/dist/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/leftTree.d.ts +17 -0
  12. package/dist/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/rightTree.d.ts +30 -0
  13. package/dist/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/DrawContent.d.ts +3 -0
  14. package/dist/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/customMenuHeader.d.ts +2 -0
  15. package/dist/components/Business/BsLayouts/Components/CustomerMenu/index.d.ts +4 -0
  16. package/dist/components/Business/BsLayouts/Components/GlobalHeader/index.d.ts +4 -0
  17. package/dist/components/Business/BsLayouts/Components/RightContent/LoginModal.d.ts +2 -0
  18. package/dist/components/Business/BsLayouts/Components/RightContent/index.d.ts +8 -0
  19. package/dist/components/Business/BsLayouts/Components/SearchFunc/index.d.ts +8 -0
  20. package/dist/components/Business/BsLayouts/index.d.ts +18 -0
  21. package/dist/components/Business/BsLayouts/service.d.ts +1 -0
  22. package/dist/components/Business/BsLayouts/utils.d.ts +22 -0
  23. package/dist/components/Business/DetailPageWrapper/utils.d.ts +1 -2
  24. package/dist/index.d.ts +4 -0
  25. package/dist/index.esm.js +11703 -44
  26. package/dist/index.js +11678 -11
  27. package/dist/utils/enumConfig.d.ts +10 -0
  28. package/dist/utils/utils.d.ts +2 -1
  29. package/docs/index.md +21 -21
  30. package/lib/assets/drag.svg +17 -17
  31. package/lib/assets/exportFail.svg +37 -37
  32. package/lib/assets/exportProcessing.svg +28 -28
  33. package/lib/assets/exportSuccess.svg +34 -34
  34. package/lib/assets/label_icon_bottom.svg +25 -25
  35. package/lib/assets/upExport.svg +22 -22
  36. package/package.json +70 -66
  37. package/src/assets/32.svg +28 -0
  38. package/src/assets/addIcon.svg +18 -0
  39. package/src/assets/allfunc.svg +28 -0
  40. package/src/assets/arrowRight.svg +25 -0
  41. package/src/assets/btn-delete.svg +29 -29
  42. package/src/assets/btn-edit.svg +19 -19
  43. package/src/assets/btn-more.svg +17 -17
  44. package/src/assets/btn-submit.svg +19 -19
  45. package/src/assets/caidan.svg +12 -0
  46. package/src/assets/close.svg +26 -26
  47. package/src/assets/closeicon.png +0 -0
  48. package/src/assets/drag.svg +17 -17
  49. package/src/assets/exportFail.svg +37 -37
  50. package/src/assets/exportProcessing.svg +28 -28
  51. package/src/assets/exportSuccess.svg +34 -34
  52. package/src/assets/fixed-left-active.svg +11 -11
  53. package/src/assets/fixed-left.svg +15 -15
  54. package/src/assets/fixed-right-active.svg +11 -11
  55. package/src/assets/fixed-right.svg +15 -15
  56. package/src/assets/guanbi.svg +16 -0
  57. package/src/assets/icon-quanping.svg +15 -15
  58. package/src/assets/icon-shezhi.svg +17 -17
  59. package/src/assets/label_icon_bottom.svg +25 -25
  60. package/src/assets/morentouxiang-32.svg +24 -0
  61. package/src/assets/right.png +0 -0
  62. package/src/assets/scanning.svg +24 -24
  63. package/src/assets/upExport.svg +22 -22
  64. package/src/assets/xinglan-icon-out.png +0 -0
  65. package/src/components/Business/AddSelectBusiness/index.md +41 -41
  66. package/src/components/Business/AddSelectBusiness/index.tsx +290 -290
  67. package/src/components/Business/BsLayouts/Components/AllFunc/drawContent.tsx +112 -0
  68. package/src/components/Business/BsLayouts/Components/AllFunc/index.less +153 -0
  69. package/src/components/Business/BsLayouts/Components/AllFunc/index.tsx +70 -0
  70. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/index.less +90 -0
  71. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/index.tsx +38 -0
  72. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/leftTree.tsx +243 -0
  73. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/rightTree.tsx +385 -0
  74. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/DrawContent.tsx +286 -0
  75. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/customMenuHeader.tsx +75 -0
  76. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/drawContent.less +171 -0
  77. package/src/components/Business/BsLayouts/Components/CustomerMenu/index.less +65 -0
  78. package/src/components/Business/BsLayouts/Components/CustomerMenu/index.tsx +154 -0
  79. package/src/components/Business/BsLayouts/Components/GlobalHeader/index.less +73 -0
  80. package/src/components/Business/BsLayouts/Components/GlobalHeader/index.tsx +158 -0
  81. package/src/components/Business/BsLayouts/Components/RightContent/LoginModal.tsx +85 -0
  82. package/src/components/Business/BsLayouts/Components/RightContent/home.less +218 -0
  83. package/src/components/Business/BsLayouts/Components/RightContent/index.tsx +156 -0
  84. package/src/components/Business/BsLayouts/Components/SearchFunc/index.less +162 -0
  85. package/src/components/Business/BsLayouts/Components/SearchFunc/index.tsx +76 -0
  86. package/src/components/Business/BsLayouts/index.less +80 -0
  87. package/src/components/Business/BsLayouts/index.tsx +1495 -0
  88. package/src/components/Business/BsLayouts/service.ts +11 -0
  89. package/src/components/Business/BsLayouts/utils.tsx +350 -0
  90. package/src/components/Business/BsSulaQueryTable/index.less +219 -219
  91. package/src/components/Business/BsSulaQueryTable/index.tsx +535 -534
  92. package/src/components/Business/BsSulaQueryTable/setting.tsx +818 -817
  93. package/src/components/Business/BsSulaQueryTable/utils.less +65 -65
  94. package/src/components/Business/BsSulaQueryTable/utils.tsx +691 -690
  95. package/src/components/Business/CommodityEntry/index.md +70 -70
  96. package/src/components/Business/CommodityEntry/index.tsx +80 -80
  97. package/src/components/Business/CommonAlert/index.tsx +23 -23
  98. package/src/components/Business/CommonGuideWrapper/index.less +111 -111
  99. package/src/components/Business/CommonGuideWrapper/index.md +39 -39
  100. package/src/components/Business/CommonGuideWrapper/index.tsx +83 -83
  101. package/src/components/Business/DetailPageWrapper/index.less +79 -79
  102. package/src/components/Business/DetailPageWrapper/index.tsx +335 -324
  103. package/src/components/Business/DetailPageWrapper/utils.tsx +101 -111
  104. package/src/components/Business/HomePageWrapper/index.less +33 -33
  105. package/src/components/Business/HomePageWrapper/index.md +45 -45
  106. package/src/components/Business/HomePageWrapper/index.tsx +162 -150
  107. package/src/components/Business/SearchSelect/BusinessUtils.ts +1458 -1457
  108. package/src/components/Business/SearchSelect/common.ts +53 -53
  109. package/src/components/Business/SearchSelect/index.md +1137 -1137
  110. package/src/components/Business/SearchSelect/index.tsx +51 -51
  111. package/src/components/Business/SearchSelect/utils.ts +100 -99
  112. package/src/components/Business/StateFlow/index.less +130 -130
  113. package/src/components/Business/StateFlow/index.md +60 -60
  114. package/src/components/Business/StateFlow/index.tsx +29 -29
  115. package/src/components/Business/TreeSearchSelect/index.md +126 -126
  116. package/src/components/Business/TreeSearchSelect/index.tsx +34 -34
  117. package/src/components/Business/TreeSearchSelect/utils.ts +60 -60
  118. package/src/components/Business/columnSettingTable/columnSetting.tsx +763 -762
  119. package/src/components/Business/columnSettingTable/index.less +247 -247
  120. package/src/components/Business/columnSettingTable/index.md +357 -357
  121. package/src/components/Business/columnSettingTable/index.tsx +226 -225
  122. package/src/components/Business/columnSettingTable/sulaSettingTable.tsx +234 -233
  123. package/src/components/Business/columnSettingTable/utils.tsx +68 -68
  124. package/src/components/Functional/AddSelect/index.less +367 -367
  125. package/src/components/Functional/AddSelect/index.md +122 -122
  126. package/src/components/Functional/AddSelect/index.tsx +962 -962
  127. package/src/components/Functional/BillEntry/index.less +371 -371
  128. package/src/components/Functional/BillEntry/index.md +39 -39
  129. package/src/components/Functional/BillEntry/index.tsx +613 -607
  130. package/src/components/Functional/DataImport/index.less +63 -63
  131. package/src/components/Functional/DataImport/index.md +44 -44
  132. package/src/components/Functional/DataImport/index.tsx +689 -689
  133. package/src/components/Functional/DataValidation/index.less +63 -63
  134. package/src/components/Functional/DataValidation/index.md +38 -38
  135. package/src/components/Functional/DataValidation/index.tsx +681 -681
  136. package/src/components/Functional/ExportFunctions/ExportIcon/index.md +37 -37
  137. package/src/components/Functional/ExportFunctions/ExportIcon/index.tsx +59 -59
  138. package/src/components/Functional/QueryMutipleInput/index.less +37 -37
  139. package/src/components/Functional/QueryMutipleInput/index.md +33 -33
  140. package/src/components/Functional/QueryMutipleInput/index.tsx +128 -128
  141. package/src/components/Functional/SearchSelect/index.less +115 -115
  142. package/src/components/Functional/SearchSelect/index.md +141 -141
  143. package/src/components/Functional/SearchSelect/index.tsx +812 -812
  144. package/src/components/Functional/TreeSearchSelect/index.md +47 -47
  145. package/src/components/Functional/TreeSearchSelect/index.tsx +149 -149
  146. package/src/index.ts +31 -30
  147. package/src/utils/CheckOneUser/index.md +39 -39
  148. package/src/utils/CheckOneUser/index.ts +51 -51
  149. package/src/utils/enumConfig.ts +10 -0
  150. package/src/utils/requestUtils.ts +33 -32
  151. package/src/utils/utils.ts +52 -22
  152. package/tsconfig.json +29 -29
  153. package/typings.d.ts +4 -4
@@ -0,0 +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;
11
+ }
@@ -0,0 +1,350 @@
1
+ // @ts-nocheck
2
+ import cloneDeep from 'lodash/cloneDeep';
3
+ import memoizeOne from 'memoize-one';
4
+ import ENUM from '@/utils/enumConfig';
5
+
6
+ const cache = {};
7
+ const cacheLimit = 10000;
8
+ let cacheCount = 0;
9
+
10
+ function compilePath(path, options, pathToRegexp) {
11
+ const cacheKey = `${options.end}${options.strict}${options.sensitive}`;
12
+ const pathCache = cache[cacheKey] || (cache[cacheKey] = {});
13
+
14
+ if (pathCache[path]) return pathCache[path];
15
+
16
+ const keys = [];
17
+ const regexp = pathToRegexp(path, keys, options);
18
+ const result = { regexp, keys };
19
+
20
+ if (cacheCount < cacheLimit) {
21
+ pathCache[path] = result;
22
+ // eslint-disable-next-line no-plusplus
23
+ cacheCount++;
24
+ }
25
+
26
+ return result;
27
+ }
28
+
29
+ /**
30
+ * Public API for matching a URL pathname to a path.
31
+ */
32
+ export const matchPath = (pathname, options = {}, pathToRegexp) => {
33
+ if (typeof options === 'string' || Array.isArray(options)) {
34
+ // eslint-disable-next-line no-param-reassign
35
+ options = { path: options };
36
+ }
37
+
38
+ const { path, exact = false, strict = false, sensitive = false } = options;
39
+
40
+ const paths = [].concat(path);
41
+
42
+ // eslint-disable-next-line no-shadow
43
+ return paths.reduce((matched, path) => {
44
+ if (!path && path !== '') return null;
45
+ if (matched) return matched;
46
+
47
+ const { regexp, keys } = compilePath(path, {
48
+ end: exact,
49
+ strict,
50
+ sensitive,
51
+ }, pathToRegexp);
52
+ const match = regexp.exec(pathname);
53
+
54
+ if (!match) return null;
55
+
56
+ const [url, ...values] = match;
57
+ const isExact = pathname === url;
58
+
59
+ if (exact && !isExact) return null;
60
+
61
+ return {
62
+ path, // the path used to match
63
+ url: path === '/' && url === '' ? '/' : url, // the matched portion of the URL
64
+ isExact, // whether or not we matched exactly
65
+ params: keys.reduce((memo, key, index) => {
66
+ // eslint-disable-next-line no-param-reassign
67
+ memo[key.name] = values[index];
68
+ return memo;
69
+ }, {}),
70
+ };
71
+ }, null);
72
+ }
73
+
74
+
75
+ export const searchMenuData = (router: any, name?: any, callBack) => {
76
+ if (!name) {
77
+ callBack([]);
78
+ return;
79
+ }
80
+ const btnAuth = JSON.parse(
81
+ localStorage.getItem(ENUM.BROWSER_CACHE.MAIN_AUTH_CODES) || '[]',
82
+ );
83
+ const resultList: any = [];
84
+ const newRouter = cloneDeep(router);
85
+ const deep = (router: any) => {
86
+ if (router && Array.isArray(router)) {
87
+ router.forEach((item) => {
88
+ if (item.children && Array.isArray(item.children)) {
89
+ deep(item.children);
90
+ } else if (
91
+ !item.hideInMenu &&
92
+ (name ? item.name.indexOf(name) !== -1 : true) &&
93
+ btnAuth.find((d: any) => d === item.code)
94
+ ) {
95
+ resultList.push({
96
+ ...item,
97
+ });
98
+ }
99
+ });
100
+ // } else if ((name ? router.name.indexOf(name) !== -1 : true) && btnAuth.find((d: any) => d.code === router.code)) {
101
+ } else if (
102
+ (name ? router.name.indexOf(name) !== -1 : true) &&
103
+ btnAuth.find((d: any) => d === router.code)
104
+ ) {
105
+ resultList.push({
106
+ ...router,
107
+ });
108
+ }
109
+ };
110
+ deep(newRouter);
111
+ callBack([...resultList]);
112
+ };
113
+
114
+ export const setMenuTreeData = (routesData: Array<any>) => {
115
+ const authButton = localStorage.getItem(ENUM.BROWSER_CACHE.MAIN_AUTH_CODES)
116
+ ? JSON.parse(localStorage.getItem(ENUM.BROWSER_CACHE.MAIN_AUTH_CODES) as string)
117
+ : [];
118
+ for (let i = routesData.length - 1; i >= 0; i--) {
119
+ if (routesData[i].hideInMenu) {
120
+ routesData.splice(i, 1);
121
+ continue;
122
+ }
123
+ if (
124
+ routesData[i].code &&
125
+ authButton.every((item) => {
126
+ return routesData[i].code != item;
127
+ })
128
+ ) {
129
+ routesData.splice(i, 1);
130
+ continue;
131
+ }
132
+ if (routesData[i].children) {
133
+ setMenuTreeData(routesData[i].children);
134
+ }
135
+ }
136
+ };
137
+
138
+ export function handleUserID() {
139
+ return JSON.parse(localStorage.getItem(ENUM.BROWSER_CACHE.USER_INFO) || '{}')
140
+ ?.accountPersonDetail?.username;
141
+ }
142
+
143
+ export function handleAccountID() {
144
+ return JSON.parse(localStorage.getItem(ENUM.BROWSER_CACHE.USER_INFO) || '{}')
145
+ ?.accountPersonDetail?.id;
146
+ }
147
+
148
+ export function handleUserName() {
149
+ return JSON.parse(localStorage.getItem(ENUM.BROWSER_CACHE.USER_INFO) || '{}')
150
+ ?.accountPersonDetail?.employeeName;
151
+ }
152
+
153
+ export function handleUserPhone() {
154
+ const str =
155
+ JSON.parse(localStorage.getItem(ENUM.BROWSER_CACHE.USER_INFO) || '{}')?.accountPersonDetail
156
+ ?.person?.phone || '';
157
+ const enStr = str && str.slice(0, 3) + '****' + str.slice(str.length - 4);
158
+ return enStr;
159
+ }
160
+
161
+ export const setLoginOutPath = () => {
162
+ if (window.top == window) {
163
+ window.location.href = '/distribution-front/#/user/login';
164
+ } else {
165
+ window.parent.postMessage(
166
+ {
167
+ type: 'go2Login',
168
+ },
169
+ '*',
170
+ );
171
+ }
172
+ };
173
+
174
+ export const getBreadcrumbNameMap = (menuData) => {
175
+ const routerMap = {};
176
+
177
+ const flattenMenuData = (data) => {
178
+ data.forEach((menuItem) => {
179
+ if (menuItem.children) {
180
+ flattenMenuData(menuItem.children);
181
+ }
182
+ // Reduce memory usage
183
+ routerMap[menuItem.path] = menuItem;
184
+ });
185
+ };
186
+ flattenMenuData(menuData);
187
+ return routerMap;
188
+ };
189
+
190
+ export const ergodicMenuRoutes = (routes) => {
191
+ const codeArray = [];
192
+
193
+ function ergodicRoutes(routesParam) {
194
+ routesParam.forEach((element) => {
195
+ // element.code &&
196
+ if (element.hideInMenu) {
197
+ codeArray.push(element);
198
+ }
199
+ if (element.routes) {
200
+ ergodicRoutes(element.routes);
201
+ }
202
+ });
203
+ }
204
+
205
+ ergodicRoutes(routes);
206
+
207
+ return codeArray;
208
+ };
209
+
210
+
211
+
212
+ // 菜鸟打印方法
213
+ export const socketFunctions = {
214
+ /**
215
+ * 请求打印机列表demo
216
+ * */
217
+ getPrinterList: (socket) => {
218
+ const request = socketFunctions.getRequestObject('getPrinters');
219
+ if (socket.readyState === 1) {
220
+ console.log(request, socket, 'getPrintList');
221
+ socket.send(JSON.stringify(request));
222
+ }
223
+ },
224
+ /* **
225
+ * 构造request对象
226
+ */
227
+ getRequestObject: (cmd) => {
228
+ const request = new Object();
229
+ request.requestId = socketFunctions.getUUID(8, 16);
230
+ request.version = '1.0';
231
+ request.cmd = cmd;
232
+ return request;
233
+ },
234
+ /* **
235
+ *
236
+ * 获取请求的UUID,指定长度和进制,如
237
+ * getUUID(8, 2) //"01001010" 8 character (base=2)
238
+ * getUUID(8, 10) // "47473046" 8 character ID (base=10)
239
+ * getUUID(8, 16) // "098F4D35"。 8 character ID (base=16)
240
+ *
241
+ */
242
+ getUUID: (len, radix) => {
243
+ const chars =
244
+ '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.split(
245
+ '',
246
+ );
247
+ const uuid = [];
248
+ let i;
249
+ radix = radix || chars.length;
250
+ if (len) {
251
+ for (i = 0; i < len; i++) {
252
+ uuid[i] = chars[0 | (Math.random() * radix)];
253
+ }
254
+ } else {
255
+ let r;
256
+ uuid[8] = uuid[3] = uuid[18] = uuid[23] = '-';
257
+ uuid[14] = '4';
258
+ for (i = 0; i < 36; i++) {
259
+ if (!uuid[i]) {
260
+ r = 0 | (Math.random() * 16);
261
+ uuid[i] = chars[i === 19 ? (r & 0x3) | 0x8 : r];
262
+ }
263
+ }
264
+ }
265
+ return uuid.join('');
266
+ },
267
+ // 打印销售订单
268
+ doSalesPrint: (
269
+ socket: WebSocket,
270
+ data: [],
271
+ printer: string,
272
+ array: any,
273
+ type: string,
274
+ ) => {
275
+ let salesOrder = type == 'salesOrder';
276
+ let text = salesOrder ? '销售订单' : '销售出库单';
277
+ if (socket.readyState === 3) {
278
+ message.error('请打开菜鸟打印组件');
279
+ return;
280
+ }
281
+ if (printer === '' || printer === undefined) {
282
+ message.error(`没有${text}打印机,请添加`);
283
+ return;
284
+ }
285
+ data.forEach((v: any, i: number) => {
286
+ const documents = [];
287
+ const {
288
+ address = {},
289
+ saleTime,
290
+ billTime,
291
+ orderBusinessLineList = [],
292
+ detailList = [],
293
+ recordCode,
294
+ orderNo,
295
+ warehouseName,
296
+ stockName,
297
+ expectReceiveDate,
298
+ } = v.data;
299
+ const {
300
+ detailAddress = '',
301
+ districtName = '',
302
+ cityName = '',
303
+ provinceName = '',
304
+ receiver = '',
305
+ phoneNumber = '',
306
+ } = address;
307
+ const target = salesOrder ? orderBusinessLineList : detailList;
308
+ documents.push({
309
+ documentID: socketFunctions.getUUID(8, 10),
310
+ contents: [
311
+ {
312
+ data: {
313
+ ...v.data,
314
+ receiver,
315
+ phoneNumber,
316
+ stockName: salesOrder ? stockName : warehouseName,
317
+ orderNo: salesOrder ? orderNo : recordCode,
318
+ expectReceiveDate: handleCommonTimeRender(expectReceiveDate),
319
+ saleTime: salesOrder
320
+ ? handleCommonTimeRender(saleTime)
321
+ : handleCommonTimeRender(billTime),
322
+ detailAddress:
323
+ provinceName + cityName + districtName + detailAddress,
324
+ detailList: target,
325
+ },
326
+ templateURL: v.templateUrl,
327
+ },
328
+ ],
329
+ });
330
+ const requestID = `${array[i]}|${socketFunctions.getUUID(8, 16)}`;
331
+ const taskID = socketFunctions.getUUID(8, 10);
332
+ const request = {
333
+ cmd: 'print',
334
+ requestID,
335
+ version: '1.0',
336
+ notifyType: ['print'],
337
+ task: {
338
+ taskID,
339
+ preview: false,
340
+ printer,
341
+ previewType: 'oneByOne',
342
+ documents,
343
+ totalDocumentCount: 100,
344
+ },
345
+ };
346
+ console.log(socket, '打印前的最后一步', request);
347
+ socket.send(JSON.stringify(request));
348
+ });
349
+ },
350
+ };