@bit-sun/business-component 2.1.17 → 2.1.18

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 (150) 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/setting.d.ts +1 -0
  14. package/dist/components/Business/BsSulaQueryTable/utils.d.ts +2 -2
  15. package/dist/index.esm.js +2706 -1213
  16. package/dist/index.js +2706 -1213
  17. package/dist/utils/TableUtils.d.ts +2 -2
  18. package/dist/utils/utils.d.ts +1 -1
  19. package/docs/index.md +21 -21
  20. package/lib/assets/drag.svg +17 -17
  21. package/lib/assets/exportFail.svg +37 -37
  22. package/lib/assets/exportProcessing.svg +28 -28
  23. package/lib/assets/exportSuccess.svg +34 -34
  24. package/lib/assets/label_icon_bottom.svg +25 -25
  25. package/lib/assets/upExport.svg +22 -22
  26. package/package.json +71 -71
  27. package/src/assets/32.svg +27 -27
  28. package/src/assets/addIcon.svg +17 -17
  29. package/src/assets/allfunc.svg +27 -27
  30. package/src/assets/arrowRight.svg +24 -24
  31. package/src/assets/btn-delete.svg +29 -29
  32. package/src/assets/btn-edit.svg +19 -19
  33. package/src/assets/btn-more.svg +17 -17
  34. package/src/assets/btn-submit.svg +19 -19
  35. package/src/assets/caidan.svg +11 -11
  36. package/src/assets/close.svg +26 -26
  37. package/src/assets/drag.svg +17 -17
  38. package/src/assets/exportFail.svg +37 -37
  39. package/src/assets/exportProcessing.svg +28 -28
  40. package/src/assets/exportSuccess.svg +34 -34
  41. package/src/assets/fixed-left-active.svg +11 -11
  42. package/src/assets/fixed-left.svg +15 -15
  43. package/src/assets/fixed-right-active.svg +11 -11
  44. package/src/assets/fixed-right.svg +15 -15
  45. package/src/assets/guanbi.svg +15 -15
  46. package/src/assets/icon-quanping.svg +15 -15
  47. package/src/assets/icon-shezhi.svg +17 -17
  48. package/src/assets/label_icon_bottom.svg +25 -25
  49. package/src/assets/list-no-img.svg +21 -21
  50. package/src/assets/morentouxiang-32.svg +23 -23
  51. package/src/assets/scanning.svg +24 -24
  52. package/src/assets/upExport.svg +22 -22
  53. package/src/components/Business/AddSelectBusiness/index.md +41 -41
  54. package/src/components/Business/AddSelectBusiness/index.tsx +319 -319
  55. package/src/components/Business/BsLayouts/Components/AllFunc/drawContent.tsx +111 -111
  56. package/src/components/Business/BsLayouts/Components/AllFunc/index.less +153 -153
  57. package/src/components/Business/BsLayouts/Components/AllFunc/index.tsx +70 -70
  58. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/index.less +90 -90
  59. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/index.tsx +37 -37
  60. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/leftTree.tsx +242 -242
  61. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/rightTree.tsx +384 -384
  62. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/DrawContent.tsx +285 -285
  63. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/customMenuHeader.tsx +74 -74
  64. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/drawContent.less +170 -170
  65. package/src/components/Business/BsLayouts/Components/CustomerMenu/index.less +64 -64
  66. package/src/components/Business/BsLayouts/Components/CustomerMenu/index.tsx +153 -153
  67. package/src/components/Business/BsLayouts/Components/GlobalHeader/index.less +72 -72
  68. package/src/components/Business/BsLayouts/Components/GlobalHeader/index.tsx +157 -157
  69. package/src/components/Business/BsLayouts/Components/RightContent/LoginModal.tsx +85 -85
  70. package/src/components/Business/BsLayouts/Components/RightContent/home.less +218 -218
  71. package/src/components/Business/BsLayouts/Components/RightContent/index.tsx +156 -156
  72. package/src/components/Business/BsLayouts/Components/SearchFunc/index.less +160 -160
  73. package/src/components/Business/BsLayouts/Components/SearchFunc/index.tsx +75 -75
  74. package/src/components/Business/BsLayouts/index.less +79 -79
  75. package/src/components/Business/BsLayouts/index.tsx +1479 -1479
  76. package/src/components/Business/BsLayouts/service.ts +10 -10
  77. package/src/components/Business/BsLayouts/utils.tsx +230 -230
  78. package/src/components/Business/BsSulaQueryTable/index.less +219 -219
  79. package/src/components/Business/BsSulaQueryTable/index.tsx +507 -505
  80. package/src/components/Business/BsSulaQueryTable/setting.tsx +802 -799
  81. package/src/components/Business/BsSulaQueryTable/utils.less +65 -65
  82. package/src/components/Business/BsSulaQueryTable/utils.tsx +688 -688
  83. package/src/components/Business/CommodityEntry/index.md +70 -70
  84. package/src/components/Business/CommodityEntry/index.tsx +80 -80
  85. package/src/components/Business/CommonAlert/index.tsx +23 -23
  86. package/src/components/Business/CommonGuideWrapper/index.less +111 -111
  87. package/src/components/Business/CommonGuideWrapper/index.md +39 -39
  88. package/src/components/Business/CommonGuideWrapper/index.tsx +83 -83
  89. package/src/components/Business/DetailPageWrapper/index.less +79 -79
  90. package/src/components/Business/DetailPageWrapper/index.tsx +335 -335
  91. package/src/components/Business/DetailPageWrapper/utils.tsx +100 -100
  92. package/src/components/Business/HomePageWrapper/index.less +33 -33
  93. package/src/components/Business/HomePageWrapper/index.md +45 -45
  94. package/src/components/Business/HomePageWrapper/index.tsx +162 -162
  95. package/src/components/Business/SearchSelect/BusinessUtils.ts +1478 -1478
  96. package/src/components/Business/SearchSelect/common.ts +53 -53
  97. package/src/components/Business/SearchSelect/index.md +1137 -1137
  98. package/src/components/Business/SearchSelect/index.tsx +51 -51
  99. package/src/components/Business/SearchSelect/utils.ts +100 -100
  100. package/src/components/Business/StateFlow/index.less +130 -130
  101. package/src/components/Business/StateFlow/index.md +60 -60
  102. package/src/components/Business/StateFlow/index.tsx +29 -29
  103. package/src/components/Business/TreeSearchSelect/index.md +126 -126
  104. package/src/components/Business/TreeSearchSelect/index.tsx +34 -34
  105. package/src/components/Business/TreeSearchSelect/utils.ts +60 -60
  106. package/src/components/Business/columnSettingTable/columnSetting.tsx +764 -764
  107. package/src/components/Business/columnSettingTable/index.less +247 -247
  108. package/src/components/Business/columnSettingTable/index.md +357 -357
  109. package/src/components/Business/columnSettingTable/index.tsx +232 -232
  110. package/src/components/Business/columnSettingTable/sulaSettingTable.tsx +240 -240
  111. package/src/components/Business/columnSettingTable/utils.tsx +68 -68
  112. package/src/components/Business/moreTreeTable/index.less +99 -99
  113. package/src/components/Business/moreTreeTable/index.md +508 -508
  114. package/src/components/Business/moreTreeTable/index.tsx +315 -315
  115. package/src/components/Business/moreTreeTable/utils.ts +126 -126
  116. package/src/components/Functional/AddSelect/index.less +367 -367
  117. package/src/components/Functional/AddSelect/index.md +122 -122
  118. package/src/components/Functional/AddSelect/index.tsx +992 -992
  119. package/src/components/Functional/BillEntry/index.less +371 -371
  120. package/src/components/Functional/BillEntry/index.md +39 -39
  121. package/src/components/Functional/BillEntry/index.tsx +671 -671
  122. package/src/components/Functional/DataImport/index.less +63 -63
  123. package/src/components/Functional/DataImport/index.md +44 -44
  124. package/src/components/Functional/DataImport/index.tsx +695 -695
  125. package/src/components/Functional/DataValidation/index.less +63 -63
  126. package/src/components/Functional/DataValidation/index.md +39 -39
  127. package/src/components/Functional/DataValidation/index.tsx +687 -687
  128. package/src/components/Functional/ExportFunctions/ExportIcon/index.md +37 -37
  129. package/src/components/Functional/ExportFunctions/ExportIcon/index.tsx +59 -59
  130. package/src/components/Functional/QueryMutipleInput/index.less +37 -37
  131. package/src/components/Functional/QueryMutipleInput/index.md +33 -33
  132. package/src/components/Functional/QueryMutipleInput/index.tsx +128 -128
  133. package/src/components/Functional/SearchSelect/index.less +115 -115
  134. package/src/components/Functional/SearchSelect/index.md +141 -141
  135. package/src/components/Functional/SearchSelect/index.tsx +813 -813
  136. package/src/components/Functional/SearchSelect/utils.ts +6 -6
  137. package/src/components/Functional/TreeSearchSelect/index.md +47 -47
  138. package/src/components/Functional/TreeSearchSelect/index.tsx +149 -149
  139. package/src/index.ts +32 -32
  140. package/src/styles/bsDefault.less +1906 -1906
  141. package/src/utils/CheckOneUser/index.md +39 -39
  142. package/src/utils/CheckOneUser/index.ts +51 -51
  143. package/src/utils/TableUtils.tsx +18 -18
  144. package/src/utils/checkUtils.ts +39 -39
  145. package/src/utils/enumConfig.ts +10 -10
  146. package/src/utils/index.ts +2 -2
  147. package/src/utils/requestUtils.ts +33 -33
  148. package/src/utils/utils.ts +57 -57
  149. package/tsconfig.json +29 -29
  150. package/typings.d.ts +4 -4
@@ -1,52 +1,52 @@
1
- /*
2
- * @Description:
3
- * @Author: rodchen
4
- * @Date: 2022-05-07 15:17:28
5
- * @LastEditTime: 2022-09-09 16:17:36
6
- * @LastEditors: Sirius-kk
7
- */
8
- import React, { useMemo, useRef, forwardRef, useImperativeHandle } from 'react';
9
- import { commonFun } from './BusinessUtils';
10
- import { handleDefaultPrefixUrl } from './utils';
11
- import SearchSelect from '@/components/Functional/SearchSelect';
12
-
13
- const MemoSearchSelect = React.memo(SearchSelect)
14
-
15
- const BusinessSearchSelect = forwardRef((props: any, ref: any) => {
16
- const businessType = props?.selectBusinessType || 'supplier';
17
- const prefixUrl = props?.prefixUrl || { selectPrefix: handleDefaultPrefixUrl(businessType), formSelectFix: handleDefaultPrefixUrl(businessType) };
18
- const innerRef = useRef();
19
-
20
- const { requestConfig, modalTableProps, needModalTable } = commonFun(businessType, prefixUrl, props?.requestConfig || {}, props?.modalTableProps || {});
21
- const currentProps = useMemo(() => {
22
- return {
23
- ...props,
24
- requestConfig,
25
- needModalTable,
26
- modalTableProps
27
- }
28
- }, [props?.value, props.disabled]);
29
-
30
- useImperativeHandle(ref, () => ({
31
- getRef: () => innerRef,
32
- }))
33
-
34
- return (
35
- <div>
36
- <MemoSearchSelect {...currentProps} ref={innerRef} />
37
- </div>
38
- );
39
- });
40
-
41
- export default React.memo(BusinessSearchSelect, (props, nextProps) => {
42
- if (props && props.labelInValue && props.value && JSON.stringify(props.value) !== JSON.stringify(nextProps.value)) {
43
- return false
44
- }
45
- if (props && props.value !== nextProps.value) {
46
- return false
47
- }
48
- if (props && props.disabled !== nextProps.disabled) {
49
- return false
50
- }
51
- return true
1
+ /*
2
+ * @Description:
3
+ * @Author: rodchen
4
+ * @Date: 2022-05-07 15:17:28
5
+ * @LastEditTime: 2022-09-09 16:17:36
6
+ * @LastEditors: Sirius-kk
7
+ */
8
+ import React, { useMemo, useRef, forwardRef, useImperativeHandle } from 'react';
9
+ import { commonFun } from './BusinessUtils';
10
+ import { handleDefaultPrefixUrl } from './utils';
11
+ import SearchSelect from '@/components/Functional/SearchSelect';
12
+
13
+ const MemoSearchSelect = React.memo(SearchSelect)
14
+
15
+ const BusinessSearchSelect = forwardRef((props: any, ref: any) => {
16
+ const businessType = props?.selectBusinessType || 'supplier';
17
+ const prefixUrl = props?.prefixUrl || { selectPrefix: handleDefaultPrefixUrl(businessType), formSelectFix: handleDefaultPrefixUrl(businessType) };
18
+ const innerRef = useRef();
19
+
20
+ const { requestConfig, modalTableProps, needModalTable } = commonFun(businessType, prefixUrl, props?.requestConfig || {}, props?.modalTableProps || {});
21
+ const currentProps = useMemo(() => {
22
+ return {
23
+ ...props,
24
+ requestConfig,
25
+ needModalTable,
26
+ modalTableProps
27
+ }
28
+ }, [props?.value, props.disabled]);
29
+
30
+ useImperativeHandle(ref, () => ({
31
+ getRef: () => innerRef,
32
+ }))
33
+
34
+ return (
35
+ <div>
36
+ <MemoSearchSelect {...currentProps} ref={innerRef} />
37
+ </div>
38
+ );
39
+ });
40
+
41
+ export default React.memo(BusinessSearchSelect, (props, nextProps) => {
42
+ if (props && props.labelInValue && props.value && JSON.stringify(props.value) !== JSON.stringify(nextProps.value)) {
43
+ return false
44
+ }
45
+ if (props && props.value !== nextProps.value) {
46
+ return false
47
+ }
48
+ if (props && props.disabled !== nextProps.disabled) {
49
+ return false
50
+ }
51
+ return true
52
52
  });
@@ -1,100 +1,100 @@
1
- import axios from 'axios';
2
- import { message } from 'antd';
3
- import { stringify } from 'querystring';
4
- import ENUM from '@/utils/enumConfig';
5
-
6
- const getDicData = (dicCode: string) => {
7
- let dicData = {};
8
- let dictionaryData;
9
- if (!dictionaryData) {
10
- let storageDic = localStorage.getItem(ENUM.BROWSER_CACHE.DICT_CODES)
11
- ? JSON.parse(localStorage.getItem(ENUM.BROWSER_CACHE.DICT_CODES) || '{}')
12
- : {};
13
- dicData = storageDic[dicCode];
14
- } else {
15
- dicData = dictionaryData[dicCode];
16
- }
17
- // @ts-ignore
18
- if (!dicData || !dicData.length) {
19
- // throw new Error(`当前没有${dicCode}字典值`);
20
- }
21
- return dicData
22
- }
23
-
24
- const getDictionarySource = (dicCode: string, needConvertInterger = false) => {
25
- let dicData = getDicData(dicCode);
26
-
27
- try {
28
- if (needConvertInterger) {
29
- // @ts-ignore
30
- dicData = dicData.map((item: { text: string; value: string }) => ({
31
- ...item,
32
- value: parseFloat(item.value),
33
- }));
34
- }
35
- } catch (e) {}
36
- return dicData;
37
- };
38
-
39
- const getDictionaryTextByValue = (dicCode: string, value: string | number) => {
40
- let dicData = getDicData(dicCode);
41
-
42
- if (value === undefined) return '';
43
-
44
- // @ts-ignore
45
- const dicItemArray = dicData?.filter(
46
- (item: { value: string }) => item.value === value.toString(),
47
- );
48
-
49
- if (!dicItemArray?.length) {
50
- // throw new Error(`当前${dicCode}字典值合没有${value}的数据`)
51
- return value;
52
- }
53
-
54
- return dicItemArray[0].text;
55
- };
56
-
57
- const loadSelectSource = (url: string, params?: any) => {
58
- return new Promise((resolve, reject) => {
59
- axios
60
- .get(`${url}?${stringify(params)}`)
61
- .then((result: any) => {
62
- result = result.data;
63
- if ((result?.status && result.status !== '0') || (result?.code && result.code !== '000000')) {
64
- message.error(result.msg);
65
- return;
66
- }
67
- resolve(result);
68
- })
69
- .catch((err) => {
70
- reject(err);
71
- });
72
- })
73
- };
74
-
75
- const handleDefaultPrefixUrl = (type: string) => {
76
- let result;
77
- switch (type){
78
- case 'supplier2': case 'customer2': case 'shopFile2':
79
- result = '/channel-manage';
80
- break;
81
- case 'skuCommodity': case 'skuPropertyValue': case 'spuCommodity':
82
- result = '/items';
83
- break;
84
- case 'physicalWarehouse': case 'realWarehouse': case 'virtualWarehouse': case 'channelWarehouse':
85
- result = '/stock';
86
- break;
87
- case 'inventoryOrg2': case 'purchaseOrg': case 'salesOrg': case 'employee2':
88
- result = '/user';
89
- break;
90
- case 'deliveryMode':
91
- result = '/basic';
92
- break;
93
- default:
94
- result = '/bop/api';
95
- break
96
- }
97
- return result;
98
- };
99
-
100
- export { getDictionarySource, getDictionaryTextByValue, loadSelectSource, handleDefaultPrefixUrl }
1
+ import axios from 'axios';
2
+ import { message } from 'antd';
3
+ import { stringify } from 'querystring';
4
+ import ENUM from '@/utils/enumConfig';
5
+
6
+ const getDicData = (dicCode: string) => {
7
+ let dicData = {};
8
+ let dictionaryData;
9
+ if (!dictionaryData) {
10
+ let storageDic = localStorage.getItem(ENUM.BROWSER_CACHE.DICT_CODES)
11
+ ? JSON.parse(localStorage.getItem(ENUM.BROWSER_CACHE.DICT_CODES) || '{}')
12
+ : {};
13
+ dicData = storageDic[dicCode];
14
+ } else {
15
+ dicData = dictionaryData[dicCode];
16
+ }
17
+ // @ts-ignore
18
+ if (!dicData || !dicData.length) {
19
+ // throw new Error(`当前没有${dicCode}字典值`);
20
+ }
21
+ return dicData
22
+ }
23
+
24
+ const getDictionarySource = (dicCode: string, needConvertInterger = false) => {
25
+ let dicData = getDicData(dicCode);
26
+
27
+ try {
28
+ if (needConvertInterger) {
29
+ // @ts-ignore
30
+ dicData = dicData.map((item: { text: string; value: string }) => ({
31
+ ...item,
32
+ value: parseFloat(item.value),
33
+ }));
34
+ }
35
+ } catch (e) {}
36
+ return dicData;
37
+ };
38
+
39
+ const getDictionaryTextByValue = (dicCode: string, value: string | number) => {
40
+ let dicData = getDicData(dicCode);
41
+
42
+ if (value === undefined) return '';
43
+
44
+ // @ts-ignore
45
+ const dicItemArray = dicData?.filter(
46
+ (item: { value: string }) => item.value === value.toString(),
47
+ );
48
+
49
+ if (!dicItemArray?.length) {
50
+ // throw new Error(`当前${dicCode}字典值合没有${value}的数据`)
51
+ return value;
52
+ }
53
+
54
+ return dicItemArray[0].text;
55
+ };
56
+
57
+ const loadSelectSource = (url: string, params?: any) => {
58
+ return new Promise((resolve, reject) => {
59
+ axios
60
+ .get(`${url}?${stringify(params)}`)
61
+ .then((result: any) => {
62
+ result = result.data;
63
+ if ((result?.status && result.status !== '0') || (result?.code && result.code !== '000000')) {
64
+ message.error(result.msg);
65
+ return;
66
+ }
67
+ resolve(result);
68
+ })
69
+ .catch((err) => {
70
+ reject(err);
71
+ });
72
+ })
73
+ };
74
+
75
+ const handleDefaultPrefixUrl = (type: string) => {
76
+ let result;
77
+ switch (type){
78
+ case 'supplier2': case 'customer2': case 'shopFile2':
79
+ result = '/channel-manage';
80
+ break;
81
+ case 'skuCommodity': case 'skuPropertyValue': case 'spuCommodity':
82
+ result = '/items';
83
+ break;
84
+ case 'physicalWarehouse': case 'realWarehouse': case 'virtualWarehouse': case 'channelWarehouse':
85
+ result = '/stock';
86
+ break;
87
+ case 'inventoryOrg2': case 'purchaseOrg': case 'salesOrg': case 'employee2':
88
+ result = '/user';
89
+ break;
90
+ case 'deliveryMode':
91
+ result = '/basic';
92
+ break;
93
+ default:
94
+ result = '/bop/api';
95
+ break
96
+ }
97
+ return result;
98
+ };
99
+
100
+ export { getDictionarySource, getDictionaryTextByValue, loadSelectSource, handleDefaultPrefixUrl }
@@ -1,131 +1,131 @@
1
- .form-status-label {
2
- height: 48px;
3
- margin-right: 12px;
4
- // flex-grow: 1;
5
- // flex-shrink: 1;
6
- display: inline-block;
7
- position: relative;
8
- background-color: #B0B4B7;
9
- align-items: center;
10
- }
11
- .choosed-status-label.form-status-label {
12
- background-color: #005CFF;
13
- }
14
-
15
- .form-status-label:last-child {
16
- margin-right: 0px;
17
- }
18
-
19
- .form-status-label:first-child::after {
20
- position: absolute;
21
- display: block;
22
- content: '';
23
- right: -48px;
24
- top: 0;
25
- width: 48px;
26
- height: 48px;
27
- border: 24px solid;
28
- border-color: transparent transparent transparent transparent;
29
- border-left: 12px solid #B0B4B7;
30
- }
31
-
32
- .choosed-status-label.form-status-label::after {
33
- border-left: 12px solid #005CFF;
34
- }
35
-
36
- .choosed-status-label.form-status-label:not(:first-child):not(:last-child)::after {
37
- border-left: 12px solid #005CFF;
38
- }
39
-
40
- .form-status-label:last-child::after {
41
- position: absolute;
42
- display: block;
43
- content: '';
44
- left: 0;
45
- top: 0;
46
- width: 48px;
47
- height: 48px;
48
- border: 24px solid;
49
- border-color: transparent transparent transparent transparent;
50
- border-left: 12px solid #ffffff;
51
- }
52
-
53
- .form-status-label:not(:first-child):not(:last-child)::before {
54
- position: absolute;
55
- display: block;
56
- content: '';
57
- left: 0;
58
- top: 0;
59
- width: 48px;
60
- height: 48px;
61
- border: 24px solid;
62
- border-color: transparent transparent transparent transparent;
63
- border-left: 12px solid #ffffff;
64
- }
65
-
66
- .form-status-label:not(:first-child):not(:last-child)::after {
67
- position: absolute;
68
- display: block;
69
- content: '';
70
- right: -48px;
71
- top: 0;
72
- width: 48px;
73
- height: 48px;
74
- border: 24px solid;
75
- border-color: transparent transparent transparent transparent;
76
- border-left: 12px solid #B0B4B7;
77
- }
78
-
79
- .status-label-index {
80
- display: inline-block;
81
- width: 24px;
82
- height: 24px;
83
- border: 1px solid #FFFFFF;
84
- color: #FFFFFF;
85
- border-radius: 50%;
86
- font-family: Montserrat;
87
- font-size: 14px;line-height: 24px;
88
- text-align: center;
89
- margin: 0 6px 0 20px;
90
- }
91
-
92
- .status-label-key {
93
- width: 50px;
94
- height: 100%;
95
- display: inline-flex;
96
- float: left;
97
- // flex-grow: 0;
98
- // flex-shrink: 0;
99
- align-items: center;
100
- justify-content: center;
101
- }
102
-
103
- .status-label-operate {
104
- // flex-grow: 1;
105
- // flex-shrink: 1;
106
- float: left;
107
- width: calc(100% - 50px);
108
- overflow: hidden;
109
- text-overflow: ellipsis;
110
- white-space: nowrap;
111
- height: 100%;
112
- margin: 4px 0;
113
- &>div {
114
- font-size: 12px;
115
- height: 20px;
116
- line-height: 20px;
117
- color: #FFFFFF;
118
- font-family: PingFangSC;
119
- overflow: hidden;
120
- text-overflow: ellipsis;
121
- white-space: nowrap;
122
- }
123
- &>div:first-child {
124
- font-size: 14px;
125
- font-weight: 600;
126
- }
127
- }
128
-
129
- .only-one-child.form-status-label::after,.only-one-child.form-status-label::before {
130
- border-left: 0px;
1
+ .form-status-label {
2
+ height: 48px;
3
+ margin-right: 12px;
4
+ // flex-grow: 1;
5
+ // flex-shrink: 1;
6
+ display: inline-block;
7
+ position: relative;
8
+ background-color: #B0B4B7;
9
+ align-items: center;
10
+ }
11
+ .choosed-status-label.form-status-label {
12
+ background-color: #005CFF;
13
+ }
14
+
15
+ .form-status-label:last-child {
16
+ margin-right: 0px;
17
+ }
18
+
19
+ .form-status-label:first-child::after {
20
+ position: absolute;
21
+ display: block;
22
+ content: '';
23
+ right: -48px;
24
+ top: 0;
25
+ width: 48px;
26
+ height: 48px;
27
+ border: 24px solid;
28
+ border-color: transparent transparent transparent transparent;
29
+ border-left: 12px solid #B0B4B7;
30
+ }
31
+
32
+ .choosed-status-label.form-status-label::after {
33
+ border-left: 12px solid #005CFF;
34
+ }
35
+
36
+ .choosed-status-label.form-status-label:not(:first-child):not(:last-child)::after {
37
+ border-left: 12px solid #005CFF;
38
+ }
39
+
40
+ .form-status-label:last-child::after {
41
+ position: absolute;
42
+ display: block;
43
+ content: '';
44
+ left: 0;
45
+ top: 0;
46
+ width: 48px;
47
+ height: 48px;
48
+ border: 24px solid;
49
+ border-color: transparent transparent transparent transparent;
50
+ border-left: 12px solid #ffffff;
51
+ }
52
+
53
+ .form-status-label:not(:first-child):not(:last-child)::before {
54
+ position: absolute;
55
+ display: block;
56
+ content: '';
57
+ left: 0;
58
+ top: 0;
59
+ width: 48px;
60
+ height: 48px;
61
+ border: 24px solid;
62
+ border-color: transparent transparent transparent transparent;
63
+ border-left: 12px solid #ffffff;
64
+ }
65
+
66
+ .form-status-label:not(:first-child):not(:last-child)::after {
67
+ position: absolute;
68
+ display: block;
69
+ content: '';
70
+ right: -48px;
71
+ top: 0;
72
+ width: 48px;
73
+ height: 48px;
74
+ border: 24px solid;
75
+ border-color: transparent transparent transparent transparent;
76
+ border-left: 12px solid #B0B4B7;
77
+ }
78
+
79
+ .status-label-index {
80
+ display: inline-block;
81
+ width: 24px;
82
+ height: 24px;
83
+ border: 1px solid #FFFFFF;
84
+ color: #FFFFFF;
85
+ border-radius: 50%;
86
+ font-family: Montserrat;
87
+ font-size: 14px;line-height: 24px;
88
+ text-align: center;
89
+ margin: 0 6px 0 20px;
90
+ }
91
+
92
+ .status-label-key {
93
+ width: 50px;
94
+ height: 100%;
95
+ display: inline-flex;
96
+ float: left;
97
+ // flex-grow: 0;
98
+ // flex-shrink: 0;
99
+ align-items: center;
100
+ justify-content: center;
101
+ }
102
+
103
+ .status-label-operate {
104
+ // flex-grow: 1;
105
+ // flex-shrink: 1;
106
+ float: left;
107
+ width: calc(100% - 50px);
108
+ overflow: hidden;
109
+ text-overflow: ellipsis;
110
+ white-space: nowrap;
111
+ height: 100%;
112
+ margin: 4px 0;
113
+ &>div {
114
+ font-size: 12px;
115
+ height: 20px;
116
+ line-height: 20px;
117
+ color: #FFFFFF;
118
+ font-family: PingFangSC;
119
+ overflow: hidden;
120
+ text-overflow: ellipsis;
121
+ white-space: nowrap;
122
+ }
123
+ &>div:first-child {
124
+ font-size: 14px;
125
+ font-weight: 600;
126
+ }
127
+ }
128
+
129
+ .only-one-child.form-status-label::after,.only-one-child.form-status-label::before {
130
+ border-left: 0px;
131
131
  }
@@ -1,60 +1,60 @@
1
- ---
2
- nav:
3
- title: '组件'
4
- order: 1
5
- group:
6
- title: 业务组件
7
- order: 1
8
- title: 状态流转
9
- order: 1
10
- ---
11
-
12
- # StateFlow
13
-
14
-
15
- ## 单据状态流转
16
-
17
- ```tsx
18
- import React, { useState } from 'react';
19
- import { StateFlow } from '../../../index.ts';
20
-
21
- export default () => {
22
- const formStatusMapping = [
23
- {
24
- text: '状态1',
25
- modifyUserName: '张三',
26
- modifyTime: '2022-09-01 12:20:20',
27
- isDone: true,
28
- },
29
- {
30
- text: '状态2',
31
- modifyUserName: '李四',
32
- modifyTime: '2022-09-01 12:20:20',
33
- isDone: true,
34
- },
35
- {
36
- text: '状态3',
37
- modifyUserName: '王五',
38
- modifyTime: '2022-09-01 12:20:20',
39
- isDone: true,
40
- },
41
- {
42
- text: '状态4',
43
- modifyUserName: '韩梅梅',
44
- isDone: true,
45
- modifyTime: '2022-09-01 12:20:20',
46
- },
47
- {
48
- text: '状态5',
49
- modifyUserName: '李雷',
50
- isDone: true,
51
- modifyTime: '2022-09-01 12:20:20',
52
- },
53
- ]
54
- return (
55
- <StateFlow
56
- formStatusMapping={formStatusMapping}
57
- />
58
- );
59
- };
60
- ```
1
+ ---
2
+ nav:
3
+ title: '组件'
4
+ order: 1
5
+ group:
6
+ title: 业务组件
7
+ order: 1
8
+ title: 状态流转
9
+ order: 1
10
+ ---
11
+
12
+ # StateFlow
13
+
14
+
15
+ ## 单据状态流转
16
+
17
+ ```tsx
18
+ import React, { useState } from 'react';
19
+ import { StateFlow } from '../../../index.ts';
20
+
21
+ export default () => {
22
+ const formStatusMapping = [
23
+ {
24
+ text: '状态1',
25
+ modifyUserName: '张三',
26
+ modifyTime: '2022-09-01 12:20:20',
27
+ isDone: true,
28
+ },
29
+ {
30
+ text: '状态2',
31
+ modifyUserName: '李四',
32
+ modifyTime: '2022-09-01 12:20:20',
33
+ isDone: true,
34
+ },
35
+ {
36
+ text: '状态3',
37
+ modifyUserName: '王五',
38
+ modifyTime: '2022-09-01 12:20:20',
39
+ isDone: true,
40
+ },
41
+ {
42
+ text: '状态4',
43
+ modifyUserName: '韩梅梅',
44
+ isDone: true,
45
+ modifyTime: '2022-09-01 12:20:20',
46
+ },
47
+ {
48
+ text: '状态5',
49
+ modifyUserName: '李雷',
50
+ isDone: true,
51
+ modifyTime: '2022-09-01 12:20:20',
52
+ },
53
+ ]
54
+ return (
55
+ <StateFlow
56
+ formStatusMapping={formStatusMapping}
57
+ />
58
+ );
59
+ };
60
+ ```