@bit-sun/business-component 2.1.3 → 2.1.5

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