@bit-sun/business-component 2.0.28 → 2.0.30

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 (78) hide show
  1. package/.editorconfig +16 -16
  2. package/.fatherrc.ts +4 -4
  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 +5625 -7523
  9. package/dist/index.js +5622 -7520
  10. package/docs/index.md +21 -21
  11. package/lib/assets/drag.svg +17 -17
  12. package/lib/assets/exportFail.svg +37 -37
  13. package/lib/assets/exportProcessing.svg +28 -28
  14. package/lib/assets/exportSuccess.svg +34 -34
  15. package/lib/assets/label_icon_bottom.svg +25 -25
  16. package/lib/assets/upExport.svg +22 -22
  17. package/package.json +5 -3
  18. package/src/assets/close.svg +26 -26
  19. package/src/assets/drag.svg +17 -17
  20. package/src/assets/exportFail.svg +37 -37
  21. package/src/assets/exportProcessing.svg +28 -28
  22. package/src/assets/exportSuccess.svg +34 -34
  23. package/src/assets/icon-shezhi.svg +17 -17
  24. package/src/assets/label_icon_bottom.svg +25 -25
  25. package/src/assets/upExport.svg +22 -22
  26. package/src/components/Business/AddSelectBusiness/index.md +41 -41
  27. package/src/components/Business/AddSelectBusiness/index.tsx +290 -290
  28. package/src/components/Business/CommodityEntry/index.md +70 -70
  29. package/src/components/Business/CommodityEntry/index.tsx +80 -80
  30. package/src/components/Business/CommonGuideWrapper/index.less +111 -111
  31. package/src/components/Business/CommonGuideWrapper/index.md +39 -39
  32. package/src/components/Business/CommonGuideWrapper/index.tsx +83 -83
  33. package/src/components/Business/SearchSelect/BusinessUtils.ts +1448 -1446
  34. package/src/components/Business/SearchSelect/common.ts +53 -53
  35. package/src/components/Business/SearchSelect/index.md +1137 -1137
  36. package/src/components/Business/SearchSelect/index.tsx +51 -51
  37. package/src/components/Business/SearchSelect/utils.ts +99 -99
  38. package/src/components/Business/StateFlow/index.less +130 -130
  39. package/src/components/Business/StateFlow/index.md +60 -60
  40. package/src/components/Business/StateFlow/index.tsx +29 -29
  41. package/src/components/Business/TreeSearchSelect/index.md +126 -126
  42. package/src/components/Business/TreeSearchSelect/index.tsx +34 -34
  43. package/src/components/Business/TreeSearchSelect/utils.ts +60 -60
  44. package/src/components/Business/columnSettingTable/columnSetting.tsx +594 -594
  45. package/src/components/Business/columnSettingTable/index.less +247 -247
  46. package/src/components/Business/columnSettingTable/index.md +357 -357
  47. package/src/components/Business/columnSettingTable/index.tsx +216 -216
  48. package/src/components/Business/columnSettingTable/sulaSettingTable.tsx +224 -224
  49. package/src/components/Business/columnSettingTable/utils.tsx +68 -68
  50. package/src/components/Functional/AddSelect/index.less +367 -367
  51. package/src/components/Functional/AddSelect/index.md +122 -122
  52. package/src/components/Functional/AddSelect/index.tsx +952 -952
  53. package/src/components/Functional/BillEntry/index.less +371 -371
  54. package/src/components/Functional/BillEntry/index.md +37 -37
  55. package/src/components/Functional/BillEntry/index.tsx +547 -547
  56. package/src/components/Functional/DataImport/index.less +63 -63
  57. package/src/components/Functional/DataImport/index.md +44 -44
  58. package/src/components/Functional/DataImport/index.tsx +689 -689
  59. package/src/components/Functional/DataValidation/index.less +63 -63
  60. package/src/components/Functional/DataValidation/index.md +38 -38
  61. package/src/components/Functional/DataValidation/index.tsx +681 -681
  62. package/src/components/Functional/ExportFunctions/ExportIcon/index.md +37 -37
  63. package/src/components/Functional/ExportFunctions/ExportIcon/index.tsx +59 -59
  64. package/src/components/Functional/QueryMutipleInput/index.less +37 -37
  65. package/src/components/Functional/QueryMutipleInput/index.md +33 -33
  66. package/src/components/Functional/QueryMutipleInput/index.tsx +128 -128
  67. package/src/components/Functional/SearchSelect/index.less +115 -115
  68. package/src/components/Functional/SearchSelect/index.md +141 -141
  69. package/src/components/Functional/SearchSelect/index.tsx +812 -812
  70. package/src/components/Functional/TreeSearchSelect/index.md +47 -47
  71. package/src/components/Functional/TreeSearchSelect/index.tsx +149 -149
  72. package/src/index.ts +27 -27
  73. package/src/utils/CheckOneUser/index.md +39 -39
  74. package/src/utils/CheckOneUser/index.ts +51 -51
  75. package/src/utils/requestUtils.ts +32 -32
  76. package/src/utils/utils.ts +22 -22
  77. package/tsconfig.json +29 -29
  78. package/typings.d.ts +4 -4
@@ -1,70 +1,70 @@
1
- ---
2
- nav:
3
- title: '组件'
4
- order: 1
5
- group:
6
- title: 业务组件
7
- order: 1
8
- title: 商品录入器
9
- order: 0
10
- ---
11
-
12
- # CommodityEntry
13
-
14
- ## 商品录入器
15
-
16
- ```tsx
17
- import React, { useState } from 'react';
18
- import { CommodityEntry } from '../../../index';
19
-
20
- export default () => {
21
- const [choosedSku, setChoosedSku] = useState([]);
22
-
23
- const callbackHideModal = () => {
24
- console.log('关闭弹窗处理函数回调,可以处理刷新表格等操作(非必传)')
25
- }
26
-
27
- const callbackHandleOk = (resultData, callback) => {
28
- console.log('确定操作,可获取到成功录入的商品,做一系列操作')
29
- console.log(resultData)
30
- // 一般拿到导入数据是做请求接口操作
31
- // import {request} from "bssula";
32
- // request({
33
- // url: `/bop/api/sku/import/save`,
34
- // method: "POST",
35
- // successMessage: "操作成功",
36
- // convertParams: () => {
37
- // const targetData = resultData.successData;
38
- // return {
39
- // columns: ['skuCode', 'quantity', 'price'],
40
- // data: targetData
41
- // };
42
- // },
43
- // converter: () => {
44
- // props.hideModal()
45
- // },
46
- // });
47
-
48
- // 示例处理
49
- setChoosedSku(resultData.successData.map((i: any) => i.skuCode))
50
-
51
- callback()
52
- }
53
-
54
- const props = {
55
- callbackHideModal,
56
- callbackHandleOk,
57
- isCheckStockNum: false // 默认为true,校验库存数量,false,则不校验库存
58
- }
59
-
60
- return (
61
- <div>
62
- <CommodityEntry {...props} />
63
- <br />
64
- <div>已录入sku有:{choosedSku.join(',')}</div>
65
- </div>
66
- );
67
- };
68
- ```
69
-
70
- More skills for writing demo: https://d.umijs.org/guide/demo-principle
1
+ ---
2
+ nav:
3
+ title: '组件'
4
+ order: 1
5
+ group:
6
+ title: 业务组件
7
+ order: 1
8
+ title: 商品录入器
9
+ order: 0
10
+ ---
11
+
12
+ # CommodityEntry
13
+
14
+ ## 商品录入器
15
+
16
+ ```tsx
17
+ import React, { useState } from 'react';
18
+ import { CommodityEntry } from '../../../index';
19
+
20
+ export default () => {
21
+ const [choosedSku, setChoosedSku] = useState([]);
22
+
23
+ const callbackHideModal = () => {
24
+ console.log('关闭弹窗处理函数回调,可以处理刷新表格等操作(非必传)')
25
+ }
26
+
27
+ const callbackHandleOk = (resultData, callback) => {
28
+ console.log('确定操作,可获取到成功录入的商品,做一系列操作')
29
+ console.log(resultData)
30
+ // 一般拿到导入数据是做请求接口操作
31
+ // import {request} from "bssula";
32
+ // request({
33
+ // url: `/bop/api/sku/import/save`,
34
+ // method: "POST",
35
+ // successMessage: "操作成功",
36
+ // convertParams: () => {
37
+ // const targetData = resultData.successData;
38
+ // return {
39
+ // columns: ['skuCode', 'quantity', 'price'],
40
+ // data: targetData
41
+ // };
42
+ // },
43
+ // converter: () => {
44
+ // props.hideModal()
45
+ // },
46
+ // });
47
+
48
+ // 示例处理
49
+ setChoosedSku(resultData.successData.map((i: any) => i.skuCode))
50
+
51
+ callback()
52
+ }
53
+
54
+ const props = {
55
+ callbackHideModal,
56
+ callbackHandleOk,
57
+ isCheckStockNum: false // 默认为true,校验库存数量,false,则不校验库存
58
+ }
59
+
60
+ return (
61
+ <div>
62
+ <CommodityEntry {...props} />
63
+ <br />
64
+ <div>已录入sku有:{choosedSku.join(',')}</div>
65
+ </div>
66
+ );
67
+ };
68
+ ```
69
+
70
+ More skills for writing demo: https://d.umijs.org/guide/demo-principle
@@ -1,80 +1,80 @@
1
- // @ts-nocheck
2
- import React, { useRef, useState } from 'react';
3
- import { Modal, Button, message } from 'antd';
4
- import DataValidation from '@/components/Functional/DataValidation';
5
-
6
- const CommodityEntry = (props: any) => {
7
- let dataValidationRef: DataValidation = useRef();
8
-
9
- const {
10
- buttonName=' + 录入商品',
11
- modalTitle = '录入商品',
12
- buttonProps = {},
13
- callbackHideModal,
14
- callbackHandleOk,
15
- columns=["skuCode", "quantity", "price"],
16
- validDataUrl="/items/sku/import/check",
17
- isBrandAuth = true, // 默认做品牌过滤
18
- isCheckStockNum = true
19
- } = props;
20
-
21
- const [modalProps, setModalProps]: any = useState({
22
- maskClosable: false,
23
- width: 800,
24
- visible: false,
25
- title: modalTitle,
26
- okText: '确定',
27
- cancelText: '取消',
28
- hideModal: () => {
29
- setModalProps(() => ({ ...modalProps, visible: false }));
30
- callbackHideModal && callbackHideModal()
31
- },
32
- });
33
-
34
- const handleOk = () => {
35
- // 方法获取当前组件内部的数据,然后进行自身的业务操作
36
- const resultData = dataValidationRef.getValidateData();
37
-
38
- if (!resultData.successData.length) {
39
- message.error("无校验通过数据,请校验数据");
40
- return;
41
- }
42
-
43
- if (resultData.failData.length) {
44
- message.error(`有${resultData.failData.length}条校验失败数据`);
45
- return;
46
- }
47
-
48
- callbackHandleOk(resultData, () => {
49
- modalProps.hideModal()
50
- })
51
-
52
- }
53
-
54
- const handleShowModal = () => {
55
- setModalProps({ ...modalProps, visible: true})
56
- }
57
-
58
- const handleCancel = () => {
59
- modalProps.hideModal()
60
- }
61
-
62
- return (
63
- <div>
64
- <Button onClick={handleShowModal} {...buttonProps}>{buttonName}</Button>
65
- {modalProps.visible && (
66
- <Modal {...modalProps} onOk={handleOk} onCancel={handleCancel} destroyOnClose={true} zIndex={15}>
67
- <DataValidation
68
- onRef={(ref) => { dataValidationRef = ref }}
69
- columns={columns}
70
- validDataUrl={validDataUrl}
71
- isBrandAuth={isBrandAuth}
72
- isCheckStockNum={isCheckStockNum}
73
- />
74
- </Modal>
75
- ) || ''}
76
- </div>
77
- );
78
- };
79
-
80
- export default CommodityEntry;
1
+ // @ts-nocheck
2
+ import React, { useRef, useState } from 'react';
3
+ import { Modal, Button, message } from 'antd';
4
+ import DataValidation from '@/components/Functional/DataValidation';
5
+
6
+ const CommodityEntry = (props: any) => {
7
+ let dataValidationRef: DataValidation = useRef();
8
+
9
+ const {
10
+ buttonName=' + 录入商品',
11
+ modalTitle = '录入商品',
12
+ buttonProps = {},
13
+ callbackHideModal,
14
+ callbackHandleOk,
15
+ columns=["skuCode", "quantity", "price"],
16
+ validDataUrl="/items/sku/import/check",
17
+ isBrandAuth = true, // 默认做品牌过滤
18
+ isCheckStockNum = true
19
+ } = props;
20
+
21
+ const [modalProps, setModalProps]: any = useState({
22
+ maskClosable: false,
23
+ width: 800,
24
+ visible: false,
25
+ title: modalTitle,
26
+ okText: '确定',
27
+ cancelText: '取消',
28
+ hideModal: () => {
29
+ setModalProps(() => ({ ...modalProps, visible: false }));
30
+ callbackHideModal && callbackHideModal()
31
+ },
32
+ });
33
+
34
+ const handleOk = () => {
35
+ // 方法获取当前组件内部的数据,然后进行自身的业务操作
36
+ const resultData = dataValidationRef.getValidateData();
37
+
38
+ if (!resultData.successData.length) {
39
+ message.error("无校验通过数据,请校验数据");
40
+ return;
41
+ }
42
+
43
+ if (resultData.failData.length) {
44
+ message.error(`有${resultData.failData.length}条校验失败数据`);
45
+ return;
46
+ }
47
+
48
+ callbackHandleOk(resultData, () => {
49
+ modalProps.hideModal()
50
+ })
51
+
52
+ }
53
+
54
+ const handleShowModal = () => {
55
+ setModalProps({ ...modalProps, visible: true})
56
+ }
57
+
58
+ const handleCancel = () => {
59
+ modalProps.hideModal()
60
+ }
61
+
62
+ return (
63
+ <div>
64
+ <Button onClick={handleShowModal} {...buttonProps}>{buttonName}</Button>
65
+ {modalProps.visible && (
66
+ <Modal {...modalProps} onOk={handleOk} onCancel={handleCancel} destroyOnClose={true} zIndex={15}>
67
+ <DataValidation
68
+ onRef={(ref) => { dataValidationRef = ref }}
69
+ columns={columns}
70
+ validDataUrl={validDataUrl}
71
+ isBrandAuth={isBrandAuth}
72
+ isCheckStockNum={isCheckStockNum}
73
+ />
74
+ </Modal>
75
+ ) || ''}
76
+ </div>
77
+ );
78
+ };
79
+
80
+ export default CommodityEntry;
@@ -1,112 +1,112 @@
1
- .form-guide {
2
- cursor: pointer;
3
- position: fixed;
4
- right: 5px;
5
- color: #B1BAD4;
6
- padding: 5px 0;
7
- width: 48px;
8
- z-index: 10;
9
- top: 50%;
10
- transform: translateY(-50%);
11
- background-color: #141620;
12
- .form-guide-top {
13
- padding: 0px 10px;
14
- display: flex;
15
- justify-content: center;
16
- }
17
- border-radius: 5px;
18
- .form-guide-center {
19
- border-top: 1px solid #6E7588;
20
- border-bottom: 1px solid #6E7588;
21
- padding: 0px 10px;
22
- }
23
- .form-guide-item {
24
- width: 28px;
25
- padding: 5px 0;
26
- display: block;
27
- word-break: break-all;
28
- color: #B1BAD4;
29
- font-size: 14px;
30
- line-height: 16px;
31
- position: relative;
32
- }
33
- .form-guide-item::after {
34
- content: '';
35
- display: block;
36
- width: 15px;
37
- height: 1px;
38
- background-color: #6E7588;
39
- position: absolute;
40
- bottom: 0px;
41
- left: 7px;
42
- }
43
-
44
- .form-guide-bottom {
45
- padding: 5px 10px;
46
- display: flex;
47
- justify-content: center;
48
- }
49
- .form-guide-item:last-child::after {
50
- content: '';
51
- display: none;
52
- width: 15px;
53
- height: 1px;
54
- background-color: #6E7588;
55
- position: absolute;
56
- bottom: 0px;
57
- left: 7px;
58
- }
59
- }
60
-
61
- .white-card.bitsun-form-card-class {
62
- .ant-card-body {
63
- background-color: #FFFFFF;
64
- padding: 0px;
65
- }
66
- }
67
-
68
- .bitsun-form-card-class {
69
- &>.ant-card-body {
70
- margin-bottom: 10px;
71
- }
72
- }
73
-
74
- .bitsun-form-card-class {
75
- .ant-card-head {
76
- border: 0px;
77
- padding: 0px;
78
- height: 48px;
79
- }
80
-
81
- .ant-card-body {
82
- padding: 12px 0 0;
83
- margin-top: -4px;
84
- background-color: #F3F3F3;
85
- }
86
-
87
- .ant-card-head-title {
88
- display: flex;
89
- align-items: center;
90
- font-size: 16px;
91
- color: #000000;
92
- font-weight: 600;
93
- font-family: PingFangSC;
94
- background-color: #FFFFFF;
95
- padding: 8px 0;
96
- margin: 0px;
97
- .title-left-line {
98
- display: inline-block;
99
- width: 4px;
100
- height: 100%;
101
- background-color: #005CFF;
102
- height: 20px;
103
- margin-right: 16px;
104
- }
105
- }
106
- }
107
-
108
- .field-group-hidden {
109
- .ant-card-body {
110
- display: none !important;
111
- }
1
+ .form-guide {
2
+ cursor: pointer;
3
+ position: fixed;
4
+ right: 5px;
5
+ color: #B1BAD4;
6
+ padding: 5px 0;
7
+ width: 48px;
8
+ z-index: 10;
9
+ top: 50%;
10
+ transform: translateY(-50%);
11
+ background-color: #141620;
12
+ .form-guide-top {
13
+ padding: 0px 10px;
14
+ display: flex;
15
+ justify-content: center;
16
+ }
17
+ border-radius: 5px;
18
+ .form-guide-center {
19
+ border-top: 1px solid #6E7588;
20
+ border-bottom: 1px solid #6E7588;
21
+ padding: 0px 10px;
22
+ }
23
+ .form-guide-item {
24
+ width: 28px;
25
+ padding: 5px 0;
26
+ display: block;
27
+ word-break: break-all;
28
+ color: #B1BAD4;
29
+ font-size: 14px;
30
+ line-height: 16px;
31
+ position: relative;
32
+ }
33
+ .form-guide-item::after {
34
+ content: '';
35
+ display: block;
36
+ width: 15px;
37
+ height: 1px;
38
+ background-color: #6E7588;
39
+ position: absolute;
40
+ bottom: 0px;
41
+ left: 7px;
42
+ }
43
+
44
+ .form-guide-bottom {
45
+ padding: 5px 10px;
46
+ display: flex;
47
+ justify-content: center;
48
+ }
49
+ .form-guide-item:last-child::after {
50
+ content: '';
51
+ display: none;
52
+ width: 15px;
53
+ height: 1px;
54
+ background-color: #6E7588;
55
+ position: absolute;
56
+ bottom: 0px;
57
+ left: 7px;
58
+ }
59
+ }
60
+
61
+ .white-card.bitsun-form-card-class {
62
+ .ant-card-body {
63
+ background-color: #FFFFFF;
64
+ padding: 0px;
65
+ }
66
+ }
67
+
68
+ .bitsun-form-card-class {
69
+ &>.ant-card-body {
70
+ margin-bottom: 10px;
71
+ }
72
+ }
73
+
74
+ .bitsun-form-card-class {
75
+ .ant-card-head {
76
+ border: 0px;
77
+ padding: 0px;
78
+ height: 48px;
79
+ }
80
+
81
+ .ant-card-body {
82
+ padding: 12px 0 0;
83
+ margin-top: -4px;
84
+ background-color: #F3F3F3;
85
+ }
86
+
87
+ .ant-card-head-title {
88
+ display: flex;
89
+ align-items: center;
90
+ font-size: 16px;
91
+ color: #000000;
92
+ font-weight: 600;
93
+ font-family: PingFangSC;
94
+ background-color: #FFFFFF;
95
+ padding: 8px 0;
96
+ margin: 0px;
97
+ .title-left-line {
98
+ display: inline-block;
99
+ width: 4px;
100
+ height: 100%;
101
+ background-color: #005CFF;
102
+ height: 20px;
103
+ margin-right: 16px;
104
+ }
105
+ }
106
+ }
107
+
108
+ .field-group-hidden {
109
+ .ant-card-body {
110
+ display: none !important;
111
+ }
112
112
  }
@@ -1,39 +1,39 @@
1
- ---
2
- nav:
3
- title: '组件'
4
- order: 1
5
- group:
6
- title: 业务组件
7
- order: 1
8
- title: 模块导航容器组件
9
- order: 1
10
- ---
11
-
12
- # GuideWrapper
13
-
14
-
15
- ## 容器模块导航
16
-
17
- ```tsx
18
- import React, { useState } from 'react';
19
- import { GuideWrapper } from '../../../index.ts';
20
-
21
- export default () => {
22
- const { Field } = GuideWrapper;
23
-
24
- return (
25
- <GuideWrapper>
26
- <Field id='test1' title='基础信息'>
27
- <div style={{height: '400px', textAlign:'center', lineHeight: '400px'}}>模块一</div>
28
- </Field>
29
- <Field id='test2' title='销售信息' isWhiteCard={true}>
30
- <div style={{height: '400px', textAlign:'center', lineHeight: '400px'}}>模块二</div>
31
- </Field>
32
- <Field id='test3' title='其他信息'>
33
- <div style={{height: '400px', textAlign:'center', lineHeight: '400px'}}>模块三</div>
34
- </Field>
35
- </GuideWrapper>
36
-
37
- );
38
- };
39
- ```
1
+ ---
2
+ nav:
3
+ title: '组件'
4
+ order: 1
5
+ group:
6
+ title: 业务组件
7
+ order: 1
8
+ title: 模块导航容器组件
9
+ order: 1
10
+ ---
11
+
12
+ # GuideWrapper
13
+
14
+
15
+ ## 容器模块导航
16
+
17
+ ```tsx
18
+ import React, { useState } from 'react';
19
+ import { GuideWrapper } from '../../../index.ts';
20
+
21
+ export default () => {
22
+ const { Field } = GuideWrapper;
23
+
24
+ return (
25
+ <GuideWrapper>
26
+ <Field id='test1' title='基础信息'>
27
+ <div style={{height: '400px', textAlign:'center', lineHeight: '400px'}}>模块一</div>
28
+ </Field>
29
+ <Field id='test2' title='销售信息' isWhiteCard={true}>
30
+ <div style={{height: '400px', textAlign:'center', lineHeight: '400px'}}>模块二</div>
31
+ </Field>
32
+ <Field id='test3' title='其他信息'>
33
+ <div style={{height: '400px', textAlign:'center', lineHeight: '400px'}}>模块三</div>
34
+ </Field>
35
+ </GuideWrapper>
36
+
37
+ );
38
+ };
39
+ ```