@bit-sun/business-component 3.0.0-alpha.21 → 3.0.0-alpha.23

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 (117) 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/index.esm.js +1271 -1236
  9. package/dist/index.js +345 -310
  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 +82 -82
  18. package/src/assets/arrow_top.svg +17 -17
  19. package/src/assets/caidan.svg +11 -11
  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/fixed-left-active.svg +11 -11
  24. package/src/assets/fixed-right-active.svg +11 -11
  25. package/src/components/Business/AddSelectBusiness/index.md +162 -162
  26. package/src/components/Business/AddSelectBusiness/index.tsx +1079 -1079
  27. package/src/components/Business/BsLayouts/Components/AllFunc/drawContent.tsx +111 -111
  28. package/src/components/Business/BsLayouts/Components/ChooseStore/index.tsx +193 -193
  29. package/src/components/Business/BsLayouts/Components/ChooseStore/services.ts +10 -10
  30. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/DrawContent.tsx +285 -285
  31. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/drawContent.less +170 -170
  32. package/src/components/Business/BsLayouts/Components/GlobalHeader/index.less +72 -72
  33. package/src/components/Business/BsLayouts/Components/GlobalHeader/index.tsx +163 -163
  34. package/src/components/Business/BsLayouts/Components/RightContent/LoginModal.tsx +85 -85
  35. package/src/components/Business/BsLayouts/Components/RightContent/home.less +218 -218
  36. package/src/components/Business/BsLayouts/Components/RightContent/i18n.ts +8 -8
  37. package/src/components/Business/BsLayouts/Components/RightContent/index.tsx +172 -172
  38. package/src/components/Business/BsLayouts/Components/SearchFunc/index.less +160 -160
  39. package/src/components/Business/BsLayouts/index.tsx +1494 -1494
  40. package/src/components/Business/BsLayouts/service.ts +10 -10
  41. package/src/components/Business/BsSulaQueryTable/SearchItemSetting.tsx +566 -566
  42. package/src/components/Business/BsSulaQueryTable/bssulaquerytable.less +5 -5
  43. package/src/components/Business/BsSulaQueryTable/index.tsx +729 -729
  44. package/src/components/Business/BsSulaQueryTable/setting.tsx +892 -892
  45. package/src/components/Business/BsSulaQueryTable/utils.less +65 -65
  46. package/src/components/Business/BsSulaQueryTable/utils.tsx +713 -713
  47. package/src/components/Business/CommodityEntry/index.tsx +3 -2
  48. package/src/components/Business/CommonAlert/index.tsx +23 -23
  49. package/src/components/Business/CommonGuideWrapper/index.less +121 -121
  50. package/src/components/Business/CommonGuideWrapper/index.tsx +94 -94
  51. package/src/components/Business/DetailPageWrapper/index.less +88 -88
  52. package/src/components/Business/DetailPageWrapper/index.tsx +326 -326
  53. package/src/components/Business/DetailPageWrapper/utils.tsx +164 -164
  54. package/src/components/Business/HomePageWrapper/index.less +33 -33
  55. package/src/components/Business/JsonQueryTable/components/FieldsModifyModal.tsx +824 -824
  56. package/src/components/Business/JsonQueryTable/components/FieldsSettingsTable.tsx +205 -205
  57. package/src/components/Business/JsonQueryTable/components/Formula.tsx +206 -206
  58. package/src/components/Business/JsonQueryTable/components/MaintainOptions.tsx +127 -127
  59. package/src/components/Business/JsonQueryTable/function.ts +62 -62
  60. package/src/components/Business/JsonQueryTable/index.tsx +535 -535
  61. package/src/components/Business/JsonQueryTable/static.ts +450 -450
  62. package/src/components/Business/SearchSelect/{BusinessUtils.ts → BusinessUtils.tsx} +2139 -2076
  63. package/src/components/Business/SearchSelect/common.ts +134 -134
  64. package/src/components/Business/SearchSelect/index.md +1503 -1444
  65. package/src/components/Business/SearchSelect/index.tsx +55 -55
  66. package/src/components/Business/SearchSelect/utils.ts +101 -101
  67. package/src/components/Business/StateFlow/index.less +130 -130
  68. package/src/components/Business/TreeSearchSelect/index.md +185 -185
  69. package/src/components/Business/TreeSearchSelect/index.tsx +33 -33
  70. package/src/components/Business/TreeSearchSelect/utils.ts +104 -104
  71. package/src/components/Business/columnSettingTable/columnSetting.tsx +767 -767
  72. package/src/components/Business/columnSettingTable/index.tsx +235 -235
  73. package/src/components/Business/columnSettingTable/sulaSettingTable.tsx +243 -243
  74. package/src/components/Business/columnSettingTable/utils.tsx +70 -70
  75. package/src/components/Business/moreTreeTable/index.md +448 -448
  76. package/src/components/Functional/AddSelect/helps.ts +81 -81
  77. package/src/components/Functional/AddSelect/index.md +155 -155
  78. package/src/components/Functional/AddSelect/index.tsx +1217 -1217
  79. package/src/components/Functional/BillEntry/index.md +39 -39
  80. package/src/components/Functional/BillEntry/index.tsx +773 -773
  81. package/src/components/Functional/BsAntdSula/BsCascader/index.md +62 -62
  82. package/src/components/Functional/BsAntdSula/BsCascader/index.tsx +178 -178
  83. package/src/components/Functional/DataImport/index.md +44 -44
  84. package/src/components/Functional/DataImport/index.tsx +696 -696
  85. package/src/components/Functional/DataValidation/index.md +39 -39
  86. package/src/components/Functional/DataValidation/index.tsx +688 -688
  87. package/src/components/Functional/EllipsisTooltip/index.md +30 -30
  88. package/src/components/Functional/ExportFunctions/ExportIcon/index.md +37 -37
  89. package/src/components/Functional/ExportFunctions/ExportIcon/index.tsx +65 -65
  90. package/src/components/Functional/QueryMutipleInput/index.md +33 -33
  91. package/src/components/Functional/QueryMutipleInput/index.tsx +129 -129
  92. package/src/components/Functional/SearchSelect/index.less +121 -121
  93. package/src/components/Functional/SearchSelect/index.md +141 -141
  94. package/src/components/Functional/SearchSelect/index.tsx +1003 -1003
  95. package/src/components/Functional/TreeSearchSelect/index.md +47 -47
  96. package/src/components/Functional/TreeSearchSelect/index.tsx +206 -206
  97. package/src/components/Solution/RuleComponent/InnerSelect.tsx +62 -62
  98. package/src/components/Solution/RuleComponent/RenderCompItem.tsx +637 -637
  99. package/src/components/Solution/RuleComponent/index.js +1428 -1428
  100. package/src/components/Solution/RuleComponent/ruleFiled.js +2281 -2281
  101. package/src/components/Solution/RuleComponent/services.ts +13 -13
  102. package/src/components/Solution/RuleComponent/util.js +143 -143
  103. package/src/index.ts +38 -38
  104. package/src/plugin/TableColumnSetting/index.tsx +725 -725
  105. package/src/styles/bsDefault.less +1912 -1912
  106. package/src/utils/CustomLoginInfo.ts +55 -55
  107. package/src/utils/LocalstorageUtils.ts +95 -95
  108. package/src/utils/TableUtils.less +51 -51
  109. package/src/utils/TableUtils.tsx +691 -691
  110. package/src/utils/businessUtils.ts +441 -441
  111. package/src/utils/constant.ts +38 -38
  112. package/src/utils/index.ts +6 -6
  113. package/src/utils/request.ts +53 -53
  114. package/src/utils/requestUtils.ts +193 -193
  115. package/src/utils/utils.ts +238 -238
  116. package/tsconfig.json +29 -29
  117. package/typings.d.ts +4 -4
@@ -1,81 +1,81 @@
1
-
2
- import request from '@/utils/request';
3
- import { stringify } from 'querystring';
4
- import { message } from 'antd';
5
- import { judgeIsRequestError } from '@/utils/requestUtils';
6
-
7
- // 下拉框数据源
8
- // 情况①:每条记录下拉框数据不同----查询接口每条记录返回字段,前后端约定好,用dataSourceCode记录
9
- // 情况②:所有查询记录共有一个数据源---选择器加载查询记录渲染给到dataSource
10
- // 特殊情况:要求每条记录下拉框数据不同,后端只能给出每条记录的code拿不到name,就用情况②处理方法配合filterDataSourceCode处理。
11
- export const getSelectDataList = (record: any,item: any, selectKey: string) => {
12
- let result = [];
13
- if(item?.dataSourceCode) {
14
- result = record?.[item?.dataSourceCode]
15
- }
16
- if(item?.dataSource?.length) {
17
- result = item?.filterDataSourceCode ? item.dataSource.filter((i: any) => record[item?.filterDataSourceCode]?.some((s: any) => s == i[selectKey])) : item.dataSource
18
- }
19
- return result;
20
- }
21
-
22
- export const loadSelectSource = (url: string, params?: any) => {
23
- return new Promise((resolve, reject) => {
24
- request
25
- .get(`${url}?${stringify(params)}`)
26
- .then((result: any) => {
27
- result = result.data;
28
- if (judgeIsRequestError(result)) {
29
- message.error(result.msg);
30
- resolve(result);
31
- return;
32
- }
33
- resolve(result);
34
- })
35
- .catch((err:any) => {
36
- reject(err);
37
- });
38
- })
39
- };
40
-
41
- export const formatSource = (reData: any, position: number, changePosition: number,changeSearchForm: any,resKeyValue=['code', 'name']) => {
42
- const data = reData && reData[position]?.data;
43
- const list = Array.isArray(data) ? data :(data?.items || data?.list || data?.children || []);
44
- const formatData = list?.length ? list.map((v: any) => ({ text: v[resKeyValue[1]], value: v[resKeyValue[0]] })) : [];
45
- changeSearchForm[changePosition] = {...changeSearchForm[changePosition], initialSource: formatData}
46
- }
47
- // 格式化树选择器数据源
48
- export const mapSearchTree = (treeDataItem: any, resKeyValue: any) => {
49
- const haveChildren = Array.isArray(treeDataItem.children) && treeDataItem.children.length > 0;
50
- return {
51
- title: treeDataItem[resKeyValue[1]],
52
- value: treeDataItem[resKeyValue[0]],
53
- parentId: treeDataItem.parent,
54
- data: { ...treeDataItem },
55
- isLeaf: !haveChildren,
56
- disabled: haveChildren,
57
- children: haveChildren ? treeDataItem.children.map((i: any) => mapSearchTree(i, resKeyValue)) : [],
58
- };
59
- };
60
- export const formatTreeDataSource = (reData: any, position: number, changePosition: number,changeSearchForm: any,resKeyValue=['id', 'name']) => {
61
- const data = reData && reData[position]?.data;
62
- const formatData = (data &&
63
- Array.isArray(data) &&
64
- data.length &&
65
- data.map((ites: any) => mapSearchTree(ites, resKeyValue))) ||
66
- []
67
- changeSearchForm[changePosition].field.props.treeData = formatData;
68
- }
69
-
70
- export const formatFormSourceList = (x: any,loadList: any, tableSearchForm: any)=> {
71
- loadList.forEach((i: any,index: any) => {
72
- if(i.resType == 'list') {
73
- const resKeyValue = i.resKeyValue || ['code', 'name']
74
- formatSource(x,index, i.resPosition, tableSearchForm,resKeyValue)
75
- }
76
- if(i.resType == 'treeList') {
77
- const resKeyValue = i.resKeyValue || ['id', 'name']
78
- formatTreeDataSource(x,index, i.resPosition, tableSearchForm,resKeyValue)
79
- }
80
- })
81
- }
1
+
2
+ import request from '@/utils/request';
3
+ import { stringify } from 'querystring';
4
+ import { message } from 'antd';
5
+ import { judgeIsRequestError } from '@/utils/requestUtils';
6
+
7
+ // 下拉框数据源
8
+ // 情况①:每条记录下拉框数据不同----查询接口每条记录返回字段,前后端约定好,用dataSourceCode记录
9
+ // 情况②:所有查询记录共有一个数据源---选择器加载查询记录渲染给到dataSource
10
+ // 特殊情况:要求每条记录下拉框数据不同,后端只能给出每条记录的code拿不到name,就用情况②处理方法配合filterDataSourceCode处理。
11
+ export const getSelectDataList = (record: any,item: any, selectKey: string) => {
12
+ let result = [];
13
+ if(item?.dataSourceCode) {
14
+ result = record?.[item?.dataSourceCode]
15
+ }
16
+ if(item?.dataSource?.length) {
17
+ result = item?.filterDataSourceCode ? item.dataSource.filter((i: any) => record[item?.filterDataSourceCode]?.some((s: any) => s == i[selectKey])) : item.dataSource
18
+ }
19
+ return result;
20
+ }
21
+
22
+ export const loadSelectSource = (url: string, params?: any) => {
23
+ return new Promise((resolve, reject) => {
24
+ request
25
+ .get(`${url}?${stringify(params)}`)
26
+ .then((result: any) => {
27
+ result = result.data;
28
+ if (judgeIsRequestError(result)) {
29
+ message.error(result.msg);
30
+ resolve(result);
31
+ return;
32
+ }
33
+ resolve(result);
34
+ })
35
+ .catch((err:any) => {
36
+ reject(err);
37
+ });
38
+ })
39
+ };
40
+
41
+ export const formatSource = (reData: any, position: number, changePosition: number,changeSearchForm: any,resKeyValue=['code', 'name']) => {
42
+ const data = reData && reData[position]?.data;
43
+ const list = Array.isArray(data) ? data :(data?.items || data?.list || data?.children || []);
44
+ const formatData = list?.length ? list.map((v: any) => ({ text: v[resKeyValue[1]], value: v[resKeyValue[0]] })) : [];
45
+ changeSearchForm[changePosition] = {...changeSearchForm[changePosition], initialSource: formatData}
46
+ }
47
+ // 格式化树选择器数据源
48
+ export const mapSearchTree = (treeDataItem: any, resKeyValue: any) => {
49
+ const haveChildren = Array.isArray(treeDataItem.children) && treeDataItem.children.length > 0;
50
+ return {
51
+ title: treeDataItem[resKeyValue[1]],
52
+ value: treeDataItem[resKeyValue[0]],
53
+ parentId: treeDataItem.parent,
54
+ data: { ...treeDataItem },
55
+ isLeaf: !haveChildren,
56
+ disabled: haveChildren,
57
+ children: haveChildren ? treeDataItem.children.map((i: any) => mapSearchTree(i, resKeyValue)) : [],
58
+ };
59
+ };
60
+ export const formatTreeDataSource = (reData: any, position: number, changePosition: number,changeSearchForm: any,resKeyValue=['id', 'name']) => {
61
+ const data = reData && reData[position]?.data;
62
+ const formatData = (data &&
63
+ Array.isArray(data) &&
64
+ data.length &&
65
+ data.map((ites: any) => mapSearchTree(ites, resKeyValue))) ||
66
+ []
67
+ changeSearchForm[changePosition].field.props.treeData = formatData;
68
+ }
69
+
70
+ export const formatFormSourceList = (x: any,loadList: any, tableSearchForm: any)=> {
71
+ loadList.forEach((i: any,index: any) => {
72
+ if(i.resType == 'list') {
73
+ const resKeyValue = i.resKeyValue || ['code', 'name']
74
+ formatSource(x,index, i.resPosition, tableSearchForm,resKeyValue)
75
+ }
76
+ if(i.resType == 'treeList') {
77
+ const resKeyValue = i.resKeyValue || ['id', 'name']
78
+ formatTreeDataSource(x,index, i.resPosition, tableSearchForm,resKeyValue)
79
+ }
80
+ })
81
+ }
@@ -1,155 +1,155 @@
1
- ---
2
- nav:
3
- title: '组件'
4
- order: 1
5
- group:
6
- title: 功能组件
7
- order: 0
8
- title: 添加选择器
9
- order: 3
10
- ---
11
-
12
- ## AddSelect
13
-
14
- Demo:
15
-
16
- ```tsx
17
- import React, { useState } from 'react';
18
- import { AddSelect } from '../../../index';
19
-
20
- export default () => {
21
- const selectProps = {
22
- mode: 'multiple',
23
- }
24
- const [value, setValue] = useState(selectProps?.mode ? [] : null);
25
- const props = {
26
- value,
27
- // labelInValue: true, // 非必填 默认为false
28
- requestConfig: {
29
- url: `/items/sku/pager/v2`,
30
- filter: 'qp-name-like', // 过滤参数 支持'qp-name-like'和['qp-name-like', 'qp-code-like']两种结构
31
- otherParams: {
32
- 'qp-combination-eq': false,
33
- 'qp-approveStatus-eq': 1,
34
- 'qp-status-eq': 1,
35
- }, // 默认参数
36
- mappingTextField: 'name',
37
- mappingValueField: 'skuCode',
38
- },
39
- selectProps,
40
- onChange: (value: any) => {
41
- console.log(value)
42
- setValue(value)
43
- },
44
- onSaveCallback: (rows) => {
45
- console.log('save call', rows);
46
- // return Promise.resolve(true);
47
- // return Promise.reject('FAILE')
48
- },
49
- tableCode: 'test1111'
50
- };
51
- const DictionaryUC000013 = [{ text: '共享', value: '10' }, { text: '私有', value: '20' }]
52
- const modalTableProps = {
53
- modalTableTitle: '选择商品',
54
- tableSearchForm: [
55
- { name: 'qp-name-like', label: 'SKU名称' }, // field: { type: 'input', props: { placeholder: '8888'}}
56
- { name: 'qp-code-like', label: 'SKU编码' },
57
- { name: 'qp-brandId-in', type: 'select', label: '品牌', field: {
58
- type: 'select',
59
- props: {
60
- mode: 'multiple',
61
- notFoundContent: '暂无数据',
62
- allowClear: true,
63
- showSearch: true,
64
- showArrow: true,
65
- maxTagCount: 1,
66
- optionFilterProp: 'children',
67
- filterOption: (input: string, option: { props: { children: string } }) =>
68
- option.props.children.toLowerCase().indexOf(input.toLowerCase()) >= 0,
69
- },
70
- } },
71
- { name: 'qp-categoryId-in', type: 'treeSelect', label: '类目', field: {
72
- type: 'treeSelect',
73
- props: {
74
- treeData: [],
75
- treeCheckable: true,
76
- showSearch: true,
77
- allowClear: true,
78
- showArrow: true,
79
- treeNodeFilterProp: 'title',
80
- treeDefaultExpandAll: true,
81
- maxTagCount: 1,
82
- placeholder: '请选择',
83
- style: {
84
- width: '100%',
85
- },
86
- dropdownStyle: { maxHeight: 400, maxWidth: 100, overflow: 'auto' }
87
- },
88
- } }
89
- ],
90
- tableColumns: [
91
- {
92
- title: '商品编码',
93
- width: 150,
94
- dataIndex: 'skuCode',
95
- },
96
- {
97
- title: '商品名称',
98
- width: 250,
99
- dataIndex: 'name',
100
- },
101
- {
102
- title: '归属集团',
103
- width: 150,
104
- dataIndex: 'conglomerateName',
105
- },
106
- {
107
- title: '归属法人公司',
108
- width: 150,
109
- dataIndex: 'legalCompanyName',
110
- },
111
- ],
112
- selectColumn: [
113
- {
114
- title: '商品编码',
115
- width: 150,
116
- dataIndex: 'skuCode',
117
- },
118
- {
119
- title: '商品名称',
120
- width: 250,
121
- dataIndex: 'name',
122
- },
123
- {
124
- title: '数量',
125
- width: 150,
126
- isInputItem: true,
127
- dataIndex: 'count',
128
- },
129
- {
130
- title: '价格',
131
- width: 150,
132
- dataIndex: 'price',
133
- isInputItem: true,
134
- },
135
- {
136
- title: '折扣',
137
- width: 150,
138
- dataIndex: 'sales',
139
- isInputItem: true,
140
- }
141
- ]
142
- }
143
-
144
- return (
145
- <div>
146
- <AddSelect
147
- {...props}
148
- modalTableProps={modalTableProps}
149
- />
150
- </div>
151
- );
152
- };
153
- ```
154
-
155
- 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: 0
8
+ title: 添加选择器
9
+ order: 3
10
+ ---
11
+
12
+ ## AddSelect
13
+
14
+ Demo:
15
+
16
+ ```tsx
17
+ import React, { useState } from 'react';
18
+ import { AddSelect } from '../../../index';
19
+
20
+ export default () => {
21
+ const selectProps = {
22
+ mode: 'multiple',
23
+ }
24
+ const [value, setValue] = useState(selectProps?.mode ? [] : null);
25
+ const props = {
26
+ value,
27
+ // labelInValue: true, // 非必填 默认为false
28
+ requestConfig: {
29
+ url: `/items/sku/pager/v2`,
30
+ filter: 'qp-name-like', // 过滤参数 支持'qp-name-like'和['qp-name-like', 'qp-code-like']两种结构
31
+ otherParams: {
32
+ 'qp-combination-eq': false,
33
+ 'qp-approveStatus-eq': 1,
34
+ 'qp-status-eq': 1,
35
+ }, // 默认参数
36
+ mappingTextField: 'name',
37
+ mappingValueField: 'skuCode',
38
+ },
39
+ selectProps,
40
+ onChange: (value: any) => {
41
+ console.log(value)
42
+ setValue(value)
43
+ },
44
+ onSaveCallback: (rows) => {
45
+ console.log('save call', rows);
46
+ // return Promise.resolve(true);
47
+ // return Promise.reject('FAILE')
48
+ },
49
+ tableCode: 'test1111'
50
+ };
51
+ const DictionaryUC000013 = [{ text: '共享', value: '10' }, { text: '私有', value: '20' }]
52
+ const modalTableProps = {
53
+ modalTableTitle: '选择商品',
54
+ tableSearchForm: [
55
+ { name: 'qp-name-like', label: 'SKU名称' }, // field: { type: 'input', props: { placeholder: '8888'}}
56
+ { name: 'qp-code-like', label: 'SKU编码' },
57
+ { name: 'qp-brandId-in', type: 'select', label: '品牌', field: {
58
+ type: 'select',
59
+ props: {
60
+ mode: 'multiple',
61
+ notFoundContent: '暂无数据',
62
+ allowClear: true,
63
+ showSearch: true,
64
+ showArrow: true,
65
+ maxTagCount: 1,
66
+ optionFilterProp: 'children',
67
+ filterOption: (input: string, option: { props: { children: string } }) =>
68
+ option.props.children.toLowerCase().indexOf(input.toLowerCase()) >= 0,
69
+ },
70
+ } },
71
+ { name: 'qp-categoryId-in', type: 'treeSelect', label: '类目', field: {
72
+ type: 'treeSelect',
73
+ props: {
74
+ treeData: [],
75
+ treeCheckable: true,
76
+ showSearch: true,
77
+ allowClear: true,
78
+ showArrow: true,
79
+ treeNodeFilterProp: 'title',
80
+ treeDefaultExpandAll: true,
81
+ maxTagCount: 1,
82
+ placeholder: '请选择',
83
+ style: {
84
+ width: '100%',
85
+ },
86
+ dropdownStyle: { maxHeight: 400, maxWidth: 100, overflow: 'auto' }
87
+ },
88
+ } }
89
+ ],
90
+ tableColumns: [
91
+ {
92
+ title: '商品编码',
93
+ width: 150,
94
+ dataIndex: 'skuCode',
95
+ },
96
+ {
97
+ title: '商品名称',
98
+ width: 250,
99
+ dataIndex: 'name',
100
+ },
101
+ {
102
+ title: '归属集团',
103
+ width: 150,
104
+ dataIndex: 'conglomerateName',
105
+ },
106
+ {
107
+ title: '归属法人公司',
108
+ width: 150,
109
+ dataIndex: 'legalCompanyName',
110
+ },
111
+ ],
112
+ selectColumn: [
113
+ {
114
+ title: '商品编码',
115
+ width: 150,
116
+ dataIndex: 'skuCode',
117
+ },
118
+ {
119
+ title: '商品名称',
120
+ width: 250,
121
+ dataIndex: 'name',
122
+ },
123
+ {
124
+ title: '数量',
125
+ width: 150,
126
+ isInputItem: true,
127
+ dataIndex: 'count',
128
+ },
129
+ {
130
+ title: '价格',
131
+ width: 150,
132
+ dataIndex: 'price',
133
+ isInputItem: true,
134
+ },
135
+ {
136
+ title: '折扣',
137
+ width: 150,
138
+ dataIndex: 'sales',
139
+ isInputItem: true,
140
+ }
141
+ ]
142
+ }
143
+
144
+ return (
145
+ <div>
146
+ <AddSelect
147
+ {...props}
148
+ modalTableProps={modalTableProps}
149
+ />
150
+ </div>
151
+ );
152
+ };
153
+ ```
154
+
155
+ More skills for writing demo: https://d.umijs.org/guide/demo-principle