@bit-sun/business-component 2.1.1 → 2.1.3

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 (137) hide show
  1. package/.editorconfig +16 -16
  2. package/.fatherrc.ts +5 -5
  3. package/.gitlab-ci.yml +174 -174
  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/index.esm.js +13 -3
  9. package/dist/index.js +13 -3
  10. package/dist/utils/enumConfig.d.ts +1 -0
  11. package/dist/utils/utils.d.ts +1 -0
  12. package/docs/index.md +21 -21
  13. package/lib/assets/drag.svg +17 -17
  14. package/lib/assets/exportFail.svg +37 -37
  15. package/lib/assets/exportProcessing.svg +28 -28
  16. package/lib/assets/exportSuccess.svg +34 -34
  17. package/lib/assets/label_icon_bottom.svg +25 -25
  18. package/lib/assets/upExport.svg +22 -22
  19. package/package.json +71 -71
  20. package/src/assets/32.svg +27 -27
  21. package/src/assets/addIcon.svg +17 -17
  22. package/src/assets/allfunc.svg +27 -27
  23. package/src/assets/arrowRight.svg +24 -24
  24. package/src/assets/btn-delete.svg +29 -29
  25. package/src/assets/btn-edit.svg +19 -19
  26. package/src/assets/btn-more.svg +17 -17
  27. package/src/assets/btn-submit.svg +19 -19
  28. package/src/assets/caidan.svg +11 -11
  29. package/src/assets/close.svg +26 -26
  30. package/src/assets/drag.svg +17 -17
  31. package/src/assets/exportFail.svg +37 -37
  32. package/src/assets/exportProcessing.svg +28 -28
  33. package/src/assets/exportSuccess.svg +34 -34
  34. package/src/assets/fixed-left-active.svg +11 -11
  35. package/src/assets/fixed-left.svg +15 -15
  36. package/src/assets/fixed-right-active.svg +11 -11
  37. package/src/assets/fixed-right.svg +15 -15
  38. package/src/assets/guanbi.svg +15 -15
  39. package/src/assets/icon-quanping.svg +15 -15
  40. package/src/assets/icon-shezhi.svg +17 -17
  41. package/src/assets/label_icon_bottom.svg +25 -25
  42. package/src/assets/list-no-img.svg +21 -21
  43. package/src/assets/morentouxiang-32.svg +23 -23
  44. package/src/assets/scanning.svg +24 -24
  45. package/src/assets/upExport.svg +22 -22
  46. package/src/components/Business/AddSelectBusiness/index.md +41 -41
  47. package/src/components/Business/AddSelectBusiness/index.tsx +290 -290
  48. package/src/components/Business/BsLayouts/Components/AllFunc/drawContent.tsx +111 -111
  49. package/src/components/Business/BsLayouts/Components/AllFunc/index.less +153 -153
  50. package/src/components/Business/BsLayouts/Components/AllFunc/index.tsx +70 -70
  51. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/index.less +90 -90
  52. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/index.tsx +37 -37
  53. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/leftTree.tsx +242 -242
  54. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/rightTree.tsx +384 -384
  55. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/DrawContent.tsx +285 -285
  56. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/customMenuHeader.tsx +74 -74
  57. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/drawContent.less +170 -170
  58. package/src/components/Business/BsLayouts/Components/CustomerMenu/index.less +64 -64
  59. package/src/components/Business/BsLayouts/Components/CustomerMenu/index.tsx +153 -153
  60. package/src/components/Business/BsLayouts/Components/GlobalHeader/index.less +72 -72
  61. package/src/components/Business/BsLayouts/Components/GlobalHeader/index.tsx +157 -157
  62. package/src/components/Business/BsLayouts/Components/RightContent/LoginModal.tsx +85 -85
  63. package/src/components/Business/BsLayouts/Components/RightContent/home.less +218 -218
  64. package/src/components/Business/BsLayouts/Components/RightContent/index.tsx +156 -156
  65. package/src/components/Business/BsLayouts/Components/SearchFunc/index.less +160 -160
  66. package/src/components/Business/BsLayouts/Components/SearchFunc/index.tsx +75 -75
  67. package/src/components/Business/BsLayouts/index.less +79 -79
  68. package/src/components/Business/BsLayouts/index.tsx +1469 -1465
  69. package/src/components/Business/BsLayouts/service.ts +10 -10
  70. package/src/components/Business/BsLayouts/utils.tsx +210 -210
  71. package/src/components/Business/BsSulaQueryTable/index.less +219 -219
  72. package/src/components/Business/BsSulaQueryTable/index.tsx +505 -505
  73. package/src/components/Business/BsSulaQueryTable/setting.tsx +799 -799
  74. package/src/components/Business/BsSulaQueryTable/utils.less +65 -65
  75. package/src/components/Business/BsSulaQueryTable/utils.tsx +688 -688
  76. package/src/components/Business/CommodityEntry/index.md +70 -70
  77. package/src/components/Business/CommodityEntry/index.tsx +80 -80
  78. package/src/components/Business/CommonAlert/index.tsx +23 -23
  79. package/src/components/Business/CommonGuideWrapper/index.less +111 -111
  80. package/src/components/Business/CommonGuideWrapper/index.md +39 -39
  81. package/src/components/Business/CommonGuideWrapper/index.tsx +83 -83
  82. package/src/components/Business/DetailPageWrapper/index.less +79 -79
  83. package/src/components/Business/DetailPageWrapper/index.tsx +335 -334
  84. package/src/components/Business/DetailPageWrapper/utils.tsx +100 -100
  85. package/src/components/Business/HomePageWrapper/index.less +33 -33
  86. package/src/components/Business/HomePageWrapper/index.md +45 -45
  87. package/src/components/Business/HomePageWrapper/index.tsx +162 -162
  88. package/src/components/Business/SearchSelect/BusinessUtils.ts +1458 -1458
  89. package/src/components/Business/SearchSelect/common.ts +53 -53
  90. package/src/components/Business/SearchSelect/index.md +1137 -1137
  91. package/src/components/Business/SearchSelect/index.tsx +51 -51
  92. package/src/components/Business/SearchSelect/utils.ts +100 -100
  93. package/src/components/Business/StateFlow/index.less +130 -130
  94. package/src/components/Business/StateFlow/index.md +60 -60
  95. package/src/components/Business/StateFlow/index.tsx +29 -29
  96. package/src/components/Business/TreeSearchSelect/index.md +126 -126
  97. package/src/components/Business/TreeSearchSelect/index.tsx +34 -34
  98. package/src/components/Business/TreeSearchSelect/utils.ts +60 -60
  99. package/src/components/Business/columnSettingTable/columnSetting.tsx +763 -763
  100. package/src/components/Business/columnSettingTable/index.less +247 -247
  101. package/src/components/Business/columnSettingTable/index.md +357 -357
  102. package/src/components/Business/columnSettingTable/index.tsx +232 -232
  103. package/src/components/Business/columnSettingTable/sulaSettingTable.tsx +240 -240
  104. package/src/components/Business/columnSettingTable/utils.tsx +68 -68
  105. package/src/components/Functional/AddSelect/index.less +367 -367
  106. package/src/components/Functional/AddSelect/index.md +122 -122
  107. package/src/components/Functional/AddSelect/index.tsx +992 -992
  108. package/src/components/Functional/BillEntry/index.less +371 -371
  109. package/src/components/Functional/BillEntry/index.md +39 -39
  110. package/src/components/Functional/BillEntry/index.tsx +643 -643
  111. package/src/components/Functional/DataImport/index.less +63 -63
  112. package/src/components/Functional/DataImport/index.md +44 -44
  113. package/src/components/Functional/DataImport/index.tsx +689 -689
  114. package/src/components/Functional/DataValidation/index.less +63 -63
  115. package/src/components/Functional/DataValidation/index.md +38 -38
  116. package/src/components/Functional/DataValidation/index.tsx +681 -681
  117. package/src/components/Functional/ExportFunctions/ExportIcon/index.md +37 -37
  118. package/src/components/Functional/ExportFunctions/ExportIcon/index.tsx +59 -59
  119. package/src/components/Functional/QueryMutipleInput/index.less +37 -37
  120. package/src/components/Functional/QueryMutipleInput/index.md +33 -33
  121. package/src/components/Functional/QueryMutipleInput/index.tsx +128 -128
  122. package/src/components/Functional/SearchSelect/index.less +115 -115
  123. package/src/components/Functional/SearchSelect/index.md +141 -141
  124. package/src/components/Functional/SearchSelect/index.tsx +812 -812
  125. package/src/components/Functional/TreeSearchSelect/index.md +47 -47
  126. package/src/components/Functional/TreeSearchSelect/index.tsx +149 -149
  127. package/src/index.ts +31 -31
  128. package/src/styles/bsDefault.less +1906 -1906
  129. package/src/utils/CheckOneUser/index.md +39 -39
  130. package/src/utils/CheckOneUser/index.ts +51 -51
  131. package/src/utils/checkUtils.ts +39 -39
  132. package/src/utils/enumConfig.ts +10 -9
  133. package/src/utils/index.ts +2 -2
  134. package/src/utils/requestUtils.ts +33 -33
  135. package/src/utils/utils.ts +58 -52
  136. package/tsconfig.json +29 -29
  137. 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
+ ```