@bit-sun/business-component 2.1.24 → 2.2.0-alpha.10

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 (184) hide show
  1. package/.editorconfig +16 -16
  2. package/.fatherrc.ts +5 -5
  3. package/.gitlab-ci.yml +179 -179
  4. package/.prettierignore +7 -7
  5. package/.prettierrc +11 -11
  6. package/.umirc.ts +74 -74
  7. package/README.md +27 -27
  8. package/dist/components/Business/AddSelectBusiness/index.d.ts +1 -0
  9. package/dist/components/Business/BsSulaQueryTable/SearchItemSetting.d.ts +59 -0
  10. package/dist/index.d.ts +1 -0
  11. package/dist/index.esm.js +5925 -3841
  12. package/dist/index.js +5924 -3838
  13. package/dist/plugin/TableColumnSetting/index.d.ts +64 -0
  14. package/dist/plugin/TableColumnSetting/utils.d.ts +1 -0
  15. package/dist/utils/LocalstorageUtils.d.ts +8 -0
  16. package/dist/utils/enumConfig.d.ts +1 -0
  17. package/docs/index.md +21 -21
  18. package/lib/assets/drag.svg +17 -17
  19. package/lib/assets/exportFail.svg +37 -37
  20. package/lib/assets/exportProcessing.svg +28 -28
  21. package/lib/assets/exportSuccess.svg +34 -34
  22. package/lib/assets/label_icon_bottom.svg +25 -25
  23. package/lib/assets/upExport.svg +22 -22
  24. package/package.json +77 -77
  25. package/src/assets/32.svg +27 -27
  26. package/src/assets/addIcon.svg +17 -17
  27. package/src/assets/allfunc.svg +27 -27
  28. package/src/assets/arrowRight.svg +24 -24
  29. package/src/assets/btn-delete.svg +29 -29
  30. package/src/assets/btn-edit.svg +19 -19
  31. package/src/assets/btn-more.svg +17 -17
  32. package/src/assets/btn-submit.svg +19 -19
  33. package/src/assets/caidan.svg +11 -11
  34. package/src/assets/close.svg +26 -26
  35. package/src/assets/drag.svg +17 -17
  36. package/src/assets/exportFail.svg +37 -37
  37. package/src/assets/exportProcessing.svg +28 -28
  38. package/src/assets/exportSuccess.svg +34 -34
  39. package/src/assets/fixed-left-active.svg +11 -11
  40. package/src/assets/fixed-left.svg +15 -15
  41. package/src/assets/fixed-right-active.svg +11 -11
  42. package/src/assets/fixed-right.svg +15 -15
  43. package/src/assets/guanbi.svg +15 -15
  44. package/src/assets/icon-quanping.svg +15 -15
  45. package/src/assets/icon-shezhi.svg +17 -17
  46. package/src/assets/label_icon_bottom.svg +25 -25
  47. package/src/assets/list-no-img.svg +21 -21
  48. package/src/assets/morentouxiang-32.svg +23 -23
  49. package/src/assets/scanning.svg +24 -24
  50. package/src/assets/upExport.svg +22 -22
  51. package/src/components/Business/AddSelectBusiness/index.md +93 -42
  52. package/src/components/Business/AddSelectBusiness/index.tsx +601 -341
  53. package/src/components/Business/BsLayouts/Components/AllFunc/drawContent.tsx +111 -111
  54. package/src/components/Business/BsLayouts/Components/AllFunc/index.less +153 -153
  55. package/src/components/Business/BsLayouts/Components/AllFunc/index.tsx +70 -70
  56. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/index.less +90 -90
  57. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/index.tsx +37 -37
  58. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/leftTree.tsx +242 -242
  59. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/rightTree.tsx +384 -384
  60. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/DrawContent.tsx +285 -285
  61. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/customMenuHeader.tsx +74 -74
  62. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/drawContent.less +170 -170
  63. package/src/components/Business/BsLayouts/Components/CustomerMenu/index.less +64 -64
  64. package/src/components/Business/BsLayouts/Components/CustomerMenu/index.tsx +153 -153
  65. package/src/components/Business/BsLayouts/Components/GlobalHeader/index.less +72 -72
  66. package/src/components/Business/BsLayouts/Components/GlobalHeader/index.tsx +157 -157
  67. package/src/components/Business/BsLayouts/Components/RightContent/LoginModal.tsx +85 -85
  68. package/src/components/Business/BsLayouts/Components/RightContent/home.less +218 -218
  69. package/src/components/Business/BsLayouts/Components/RightContent/index.tsx +156 -156
  70. package/src/components/Business/BsLayouts/Components/SearchFunc/index.less +160 -160
  71. package/src/components/Business/BsLayouts/Components/SearchFunc/index.tsx +75 -75
  72. package/src/components/Business/BsLayouts/index.less +79 -79
  73. package/src/components/Business/BsLayouts/index.tsx +1479 -1479
  74. package/src/components/Business/BsLayouts/service.ts +10 -10
  75. package/src/components/Business/BsLayouts/utils.tsx +225 -230
  76. package/src/components/Business/BsSulaQueryTable/SearchItemSetting.tsx +538 -0
  77. package/src/components/Business/BsSulaQueryTable/index.less +219 -219
  78. package/src/components/Business/BsSulaQueryTable/index.tsx +527 -476
  79. package/src/components/Business/BsSulaQueryTable/setting.tsx +802 -802
  80. package/src/components/Business/BsSulaQueryTable/utils.less +65 -65
  81. package/src/components/Business/BsSulaQueryTable/utils.tsx +688 -688
  82. package/src/components/Business/CommodityEntry/index.md +70 -70
  83. package/src/components/Business/CommodityEntry/index.tsx +80 -80
  84. package/src/components/Business/CommonAlert/index.tsx +23 -23
  85. package/src/components/Business/CommonGuideWrapper/index.less +111 -111
  86. package/src/components/Business/CommonGuideWrapper/index.md +39 -39
  87. package/src/components/Business/CommonGuideWrapper/index.tsx +83 -83
  88. package/src/components/Business/DetailPageWrapper/index.less +79 -79
  89. package/src/components/Business/DetailPageWrapper/index.tsx +313 -335
  90. package/src/components/Business/DetailPageWrapper/utils.tsx +100 -100
  91. package/src/components/Business/HomePageWrapper/index.less +33 -33
  92. package/src/components/Business/HomePageWrapper/index.md +45 -45
  93. package/src/components/Business/HomePageWrapper/index.tsx +162 -162
  94. package/src/components/Business/JsonQueryTable/components/FieldsModifyModal.tsx +824 -824
  95. package/src/components/Business/JsonQueryTable/components/FieldsSettingsTable.tsx +205 -201
  96. package/src/components/Business/JsonQueryTable/components/Formula.tsx +205 -205
  97. package/src/components/Business/JsonQueryTable/components/MaintainOptions.tsx +127 -127
  98. package/src/components/Business/JsonQueryTable/configButton/index.js +20 -20
  99. package/src/components/Business/JsonQueryTable/configTree/component/compactArrayView.js +25 -25
  100. package/src/components/Business/JsonQueryTable/configTree/component/compactObjectView.js +30 -30
  101. package/src/components/Business/JsonQueryTable/configTree/index.js +82 -82
  102. package/src/components/Business/JsonQueryTable/configTree/index.less +44 -44
  103. package/src/components/Business/JsonQueryTable/configTree/parser/highlight.js +57 -57
  104. package/src/components/Business/JsonQueryTable/configTree/parser/index.js +124 -124
  105. package/src/components/Business/JsonQueryTable/configTree/render/iconRender.js +29 -29
  106. package/src/components/Business/JsonQueryTable/configTree/render/nameRender.js +22 -22
  107. package/src/components/Business/JsonQueryTable/configTree/treeNode.js +116 -116
  108. package/src/components/Business/JsonQueryTable/drawer/index.tsx +12 -12
  109. package/src/components/Business/JsonQueryTable/function.ts +62 -62
  110. package/src/components/Business/JsonQueryTable/index.less +16 -16
  111. package/src/components/Business/JsonQueryTable/index.md +328 -328
  112. package/src/components/Business/JsonQueryTable/index.tsx +449 -320
  113. package/src/components/Business/JsonQueryTable/jsonEditor/index.js +346 -346
  114. package/src/components/Business/JsonQueryTable/jsonEditor/index.less +22 -22
  115. package/src/components/Business/JsonQueryTable/jsonEditor/lint/basicType.js +147 -147
  116. package/src/components/Business/JsonQueryTable/jsonEditor/lint/index.js +389 -389
  117. package/src/components/Business/JsonQueryTable/jsonEditor/suggestions/actions.js +118 -118
  118. package/src/components/Business/JsonQueryTable/jsonEditor/suggestions/dependency.js +22 -22
  119. package/src/components/Business/JsonQueryTable/jsonEditor/suggestions/index.js +21 -21
  120. package/src/components/Business/JsonQueryTable/jsonEditor/suggestions/request.js +65 -65
  121. package/src/components/Business/JsonQueryTable/static.ts +356 -356
  122. package/src/components/Business/SearchSelect/BusinessUtils.ts +1723 -1586
  123. package/src/components/Business/SearchSelect/common.ts +53 -53
  124. package/src/components/Business/SearchSelect/index.md +1310 -1254
  125. package/src/components/Business/SearchSelect/index.tsx +51 -51
  126. package/src/components/Business/SearchSelect/utils.ts +100 -100
  127. package/src/components/Business/StateFlow/index.less +130 -130
  128. package/src/components/Business/StateFlow/index.md +60 -60
  129. package/src/components/Business/StateFlow/index.tsx +29 -29
  130. package/src/components/Business/TreeSearchSelect/index.md +126 -126
  131. package/src/components/Business/TreeSearchSelect/index.tsx +34 -34
  132. package/src/components/Business/TreeSearchSelect/utils.ts +60 -60
  133. package/src/components/Business/columnSettingTable/columnSetting.tsx +764 -764
  134. package/src/components/Business/columnSettingTable/index.less +247 -247
  135. package/src/components/Business/columnSettingTable/index.md +357 -357
  136. package/src/components/Business/columnSettingTable/index.tsx +232 -232
  137. package/src/components/Business/columnSettingTable/sulaSettingTable.tsx +240 -240
  138. package/src/components/Business/columnSettingTable/utils.tsx +68 -68
  139. package/src/components/Business/moreTreeTable/index.less +99 -99
  140. package/src/components/Business/moreTreeTable/index.md +508 -508
  141. package/src/components/Business/moreTreeTable/index.tsx +315 -315
  142. package/src/components/Business/moreTreeTable/utils.ts +126 -126
  143. package/src/components/Functional/AddSelect/index.less +367 -367
  144. package/src/components/Functional/AddSelect/index.md +155 -154
  145. package/src/components/Functional/AddSelect/index.tsx +1165 -994
  146. package/src/components/Functional/BillEntry/index.less +371 -371
  147. package/src/components/Functional/BillEntry/index.md +39 -39
  148. package/src/components/Functional/BillEntry/index.tsx +766 -670
  149. package/src/components/Functional/DataImport/index.less +63 -63
  150. package/src/components/Functional/DataImport/index.md +44 -44
  151. package/src/components/Functional/DataImport/index.tsx +695 -695
  152. package/src/components/Functional/DataValidation/index.less +63 -63
  153. package/src/components/Functional/DataValidation/index.md +39 -39
  154. package/src/components/Functional/DataValidation/index.tsx +687 -687
  155. package/src/components/Functional/ExportFunctions/ExportIcon/index.md +37 -37
  156. package/src/components/Functional/ExportFunctions/ExportIcon/index.tsx +59 -59
  157. package/src/components/Functional/QueryMutipleInput/index.less +37 -37
  158. package/src/components/Functional/QueryMutipleInput/index.md +33 -33
  159. package/src/components/Functional/QueryMutipleInput/index.tsx +128 -128
  160. package/src/components/Functional/SearchSelect/index.less +115 -115
  161. package/src/components/Functional/SearchSelect/index.md +141 -141
  162. package/src/components/Functional/SearchSelect/index.tsx +813 -813
  163. package/src/components/Functional/SearchSelect/utils.ts +3 -3
  164. package/src/components/Functional/TreeSearchSelect/index.md +47 -47
  165. package/src/components/Functional/TreeSearchSelect/index.tsx +160 -149
  166. package/src/index.ts +34 -34
  167. package/src/plugin/TableColumnSetting/index.less +247 -0
  168. package/src/plugin/TableColumnSetting/index.md +50 -0
  169. package/src/plugin/TableColumnSetting/index.tsx +724 -0
  170. package/src/plugin/TableColumnSetting/utils.ts +19 -0
  171. package/src/styles/bsDefault.less +1912 -1906
  172. package/src/utils/CheckOneUser/index.md +39 -39
  173. package/src/utils/CheckOneUser/index.ts +51 -51
  174. package/src/utils/LocalstorageUtils.ts +58 -0
  175. package/src/utils/TableUtils.tsx +18 -18
  176. package/src/utils/checkUtils.ts +39 -39
  177. package/src/utils/enumConfig.ts +11 -10
  178. package/src/utils/getFormMode.js +12 -12
  179. package/src/utils/index.ts +2 -2
  180. package/src/utils/requestUtils.ts +36 -33
  181. package/src/utils/serialize.js +7 -7
  182. package/src/utils/utils.ts +183 -183
  183. package/tsconfig.json +29 -29
  184. package/typings.d.ts +4 -4
@@ -1,341 +1,601 @@
1
- /*
2
- * @Description:
3
- * @Author: rodchen
4
- * @Date: 2022-05-07 15:17:28
5
- * @LastEditTime: 2022-05-08 21:01:21
6
- * @LastEditors: rodchen
7
- */
8
- import React, { useState } from 'react';
9
- import { Tooltip, Select } from 'antd';
10
- import { AddSelect } from '../../../index';
11
- import { tableColumnsImage } from '@/components/Business/BsSulaQueryTable/utils';
12
- import { getSkuImg } from '@/utils/TableUtils';
13
-
14
- function handleSelectColumn(c: any, parentProps: any) {
15
- let result = c;
16
- const exceptColumns = parentProps?.exceptColumns || [];
17
- const coverColumns = parentProps?.coverColumns || [];
18
- const additionColumns = parentProps?.additionColumns || [];
19
- // 过滤不需要展示内容
20
- if(exceptColumns?.length) {
21
- result = result.filter((i: any) => !exceptColumns.includes(i.dataIndex))
22
- }
23
- // 追加
24
- if(additionColumns?.length) {
25
- //TODO
26
- }
27
- // 覆盖内容
28
- if(coverColumns?.length) {
29
- result = coverColumns;
30
- }
31
- return result
32
- }
33
-
34
- export const AddSkuSelect = (parProps: any) => {
35
- const selectProps = {
36
- mode: 'multiple',
37
- }
38
- const [value, setValue] = useState(selectProps?.mode ? [] : null);
39
- const initialSelectColumn = [
40
- {
41
- title: 'SKU编码',
42
- width: 150,
43
- dataIndex: 'skuCode',
44
- },
45
- {
46
- title: 'SKU名称',
47
- width: 200,
48
- ellipsis: {
49
- showTitle: false,
50
- },
51
- render: (text: any) => (
52
- <Tooltip placement="topLeft" title={text}>
53
- {text}
54
- </Tooltip>
55
- ),
56
- dataIndex: 'name',
57
- },
58
- {
59
- title: '图片',
60
- dataIndex: 'itemUrl',
61
- width: 200,
62
- ellipsis: {
63
- showTitle: false,
64
- },
65
- render: (text: any,record: any) => (
66
- <Tooltip placement="topLeft" title={text}>
67
- {tableColumnsImage(getSkuImg(record),{ width: 28, height: 28 })}
68
- </Tooltip>
69
- ),
70
- },
71
- {
72
- title: '数量',
73
- width: 100,
74
- isInputItem: true,
75
- dataIndex: 'count',
76
- },
77
- {
78
- title: '单位',
79
- dataIndex: 'selectUnitCode',
80
- width: 80,
81
- ellipsis: {
82
- showTitle: false,
83
- },
84
- render: (text: any, record: any) => {
85
- if (record?.packingUnitList?.length) {
86
- const basePackUnit = record?.packingUnitList[0]
87
- record.selectUnitCode = basePackUnit.unitCode
88
- return basePackUnit.name || basePackUnit.unitCode
89
- }
90
-
91
-
92
- return <></>
93
- },
94
- },
95
- {
96
- title: '所属SPU编码',
97
- width: 150,
98
- ellipsis: {
99
- showTitle: false,
100
- },
101
- dataIndex: 'itemCode',
102
- render: (text: any) => (
103
- <Tooltip placement="topLeft" title={text}>
104
- {text}
105
- </Tooltip>
106
- ),
107
- },
108
- {
109
- title: '规格',
110
- width: 200,
111
- ellipsis: {
112
- showTitle: false,
113
- },
114
- render: (text: any) => (
115
- <Tooltip placement="topLeft" title={text}>
116
- {text}
117
- </Tooltip>
118
- ),
119
- dataIndex: 'propertyNameAndValue',
120
- }
121
- ]
122
- const mTpSelectColumn = handleSelectColumn(initialSelectColumn, parProps)
123
- const props = {
124
- buttonText: parProps.buttonText || '新增',
125
- buttonProps: parProps.buttonProps || {},
126
- value,
127
- // labelInValue: true, // 非必填 默认为false
128
- requestConfig: {
129
- url: `/items/sku/pager/v2`,
130
- filter: 'qp-name-like', // 过滤参数 支持'qp-name-like'和['qp-name-like', 'qp-code-like']两种结构
131
- otherParams: {
132
- 'qp-combination-eq': false,
133
- 'qp-approveStatus-eq': 1,
134
- 'qp-status-eq': 1,
135
- }, // 默认参数
136
- mappingTextField: 'name',
137
- mappingValueField: 'skuCode',
138
- ...parProps.requestConfig
139
- },
140
- selectProps,
141
- onChange: (value: any) => {
142
- console.log(value)
143
- setValue(value)
144
- },
145
- beforeShowModal: parProps?.beforeShowModal,
146
- onSaveCallback: parProps.onSaveCallback
147
- // onSaveCallback: (rows) => {
148
- // console.log('save call', rows);
149
- // // return Promise.resolve(true);
150
- // // return Promise.reject('FAILE')
151
- // }
152
- };
153
- const modalTableProps = {
154
- modalTableTitle: '选择商品',
155
- tableSearchForm: [
156
- {
157
- name: 'qp-skuCode-like', label: 'SKU编码'
158
- },
159
- { name: 'qp-skuName-like', label: 'SKU名称' },
160
- { name: 'qp-brandId-in', type: 'select', label: '品牌', field: {
161
- type: 'select',
162
- props: {
163
- mode: 'multiple',
164
- notFoundContent: '暂无数据',
165
- allowClear: true,
166
- showSearch: true,
167
- showArrow: true,
168
- maxTagCount: 1,
169
- optionFilterProp: 'children',
170
- filterOption: (input: string, option: { props: { children: string } }) =>
171
- option.props.children.toLowerCase().indexOf(input.toLowerCase()) >= 0,
172
- },
173
- } },
174
- { name: 'qp-categoryId-in', type: 'treeSelect', label: '类目', field: {
175
- type: 'treeSelect',
176
- props: {
177
- treeData: [],
178
- treeCheckable: true,
179
- showSearch: true,
180
- allowClear: true,
181
- showArrow: true,
182
- treeNodeFilterProp: 'title',
183
- treeDefaultExpandAll: true,
184
- maxTagCount: 1,
185
- placeholder: '请选择',
186
- style: {
187
- width: '100%',
188
- },
189
- dropdownStyle: { maxHeight: 400, maxWidth: 100, overflow: 'auto' }
190
- },
191
- } }
192
- ],
193
- tableColumns: [
194
- {
195
- title: 'SKU编码',
196
- width: 150,
197
- dataIndex: 'skuCode',
198
- },
199
- {
200
- title: 'SKU名称',
201
- width: 200,
202
- ellipsis: {
203
- showTitle: false,
204
- },
205
- render: (text: any) => (
206
- <Tooltip placement="topLeft" title={text}>
207
- {text}
208
- </Tooltip>
209
- ),
210
- dataIndex: 'name',
211
- },
212
- {
213
- title: '图片',
214
- dataIndex: 'itemUrl',
215
- width: 200,
216
- ellipsis: {
217
- showTitle: false,
218
- },
219
- render: (text: any,record: any) => (
220
- <Tooltip placement="topLeft" title={text}>
221
- {tableColumnsImage(getSkuImg(record),{ width: 20, height: 20 })}
222
- </Tooltip>
223
- ),
224
- },
225
- {
226
- title: '国际条码',
227
- width: 100,
228
- ellipsis: {
229
- showTitle: false,
230
- },
231
- dataIndex: 'barCode',
232
- render: (text: any) => (
233
- <Tooltip placement="topLeft" title={text}>
234
- {text}
235
- </Tooltip>
236
- ),
237
- },
238
- {
239
- title: '所属SPU名称',
240
- width: 100,
241
- ellipsis: {
242
- showTitle: false,
243
- },
244
- dataIndex: 'itemName',
245
- render: (text: any) => (
246
- <Tooltip placement="topLeft" title={text}>
247
- {text}
248
- </Tooltip>
249
- ),
250
- },
251
- {
252
- title: '所属SPU编码',
253
- width: 100,
254
- ellipsis: {
255
- showTitle: false,
256
- },
257
- dataIndex: 'itemCode',
258
- render: (text: any) => (
259
- <Tooltip placement="topLeft" title={text}>
260
- {text}
261
- </Tooltip>
262
- ),
263
- },
264
- {
265
- title: '外部编码',
266
- width: 100,
267
- ellipsis: {
268
- showTitle: false,
269
- },
270
- render: (text: any) => (
271
- <Tooltip placement="topLeft" title={text}>
272
- {text}
273
- </Tooltip>
274
- ),
275
- dataIndex: 'externalCode',
276
- },
277
- {
278
- title: '规格',
279
- width: 100,
280
- ellipsis: {
281
- showTitle: false,
282
- },
283
- render: (text: any) => (
284
- <Tooltip placement="topLeft" title={text}>
285
- {text}
286
- </Tooltip>
287
- ),
288
- dataIndex: 'propertyNameAndValue',
289
- },
290
- {
291
- title: '类目',
292
- width: 100,
293
- ellipsis: {
294
- showTitle: false,
295
- },
296
- render: (text: any) => (
297
- <Tooltip placement="topLeft" title={text}>
298
- {text}
299
- </Tooltip>
300
- ),
301
- dataIndex: 'categoryName',
302
- },
303
- {
304
- title: '品类',
305
- width: 100,
306
- ellipsis: {
307
- showTitle: false,
308
- },
309
- render: (text: any) => (
310
- <Tooltip placement="topLeft" title={text}>
311
- {text}
312
- </Tooltip>
313
- ),
314
- dataIndex: 'className',
315
- },
316
- {
317
- title: '品牌',
318
- width: 100,
319
- ellipsis: {
320
- showTitle: false,
321
- },
322
- render: (text: any) => (
323
- <Tooltip placement="topLeft" title={text}>
324
- {text}
325
- </Tooltip>
326
- ),
327
- dataIndex: 'brandName',
328
- },
329
- ],
330
- selectColumn: mTpSelectColumn
331
- }
332
-
333
- return (
334
- <div>
335
- <AddSelect
336
- {...props}
337
- modalTableProps={modalTableProps}
338
- />
339
- </div>
340
- );
341
- };
1
+ /*
2
+ * @Description:
3
+ * @Author: rodchen
4
+ * @Date: 2022-05-07 15:17:28
5
+ * @LastEditTime: 2022-05-08 21:01:21
6
+ * @LastEditors: rodchen
7
+ */
8
+ import React, { useState, useEffect } from 'react';
9
+ import { Tooltip, Select, message } from 'antd';
10
+ import axios from 'axios';
11
+ import { AddSelect } from '../../../index';
12
+ import { tableColumnsImage } from '@/components/Business/BsSulaQueryTable/utils';
13
+ import { getSkuImg } from '@/utils/TableUtils';
14
+
15
+ function handleSelectColumn(c: any, parentProps: any) {
16
+ let result = c;
17
+ const exceptColumns = parentProps?.exceptColumns || [];
18
+ const coverColumns = parentProps?.coverColumns || [];
19
+ const additionColumns = parentProps?.additionColumns || [];
20
+ // 过滤不需要展示内容
21
+ if(exceptColumns?.length) {
22
+ result = result.filter((i: any) => !exceptColumns.includes(i.dataIndex))
23
+ }
24
+ // 追加
25
+ if(additionColumns?.length) {
26
+ additionColumns.forEach((i: any) => {
27
+ result.splice(i.position,0,i.column)
28
+ })
29
+ }
30
+ // 覆盖内容
31
+ if(coverColumns?.length) {
32
+ result = coverColumns;
33
+ }
34
+ return result
35
+ }
36
+
37
+ export const AddSkuSelect = (parProps: any) => {
38
+ const selectProps = {
39
+ mode: 'multiple',
40
+ }
41
+ const [value, setValue] = useState(selectProps?.mode ? [] : null);
42
+ const initialSelectColumn = [
43
+ {
44
+ title: 'SKU编码',
45
+ width: 150,
46
+ dataIndex: 'skuCode',
47
+ },
48
+ {
49
+ title: 'SKU名称',
50
+ width: 200,
51
+ ellipsis: {
52
+ showTitle: false,
53
+ },
54
+ render: (text: any) => (
55
+ <Tooltip placement="topLeft" title={text}>
56
+ {text}
57
+ </Tooltip>
58
+ ),
59
+ dataIndex: 'name',
60
+ },
61
+ {
62
+ title: '图片',
63
+ dataIndex: 'itemUrl',
64
+ width: 200,
65
+ ellipsis: {
66
+ showTitle: false,
67
+ },
68
+ render: (text: any,record: any) => (
69
+ <Tooltip placement="topLeft" title={text}>
70
+ {tableColumnsImage(getSkuImg(record),{ width: 28, height: 28 })}
71
+ </Tooltip>
72
+ ),
73
+ },
74
+ {
75
+ title: '数量',
76
+ width: 100,
77
+ isInputItem: true,
78
+ dataIndex: 'count',
79
+ },
80
+ {
81
+ title: '单位',
82
+ dataIndex: 'selectUnitCode',
83
+ width: 80,
84
+ ellipsis: {
85
+ showTitle: false,
86
+ },
87
+ render: (text: any, record: any) => {
88
+ if (record?.packingUnitList?.length) {
89
+ const basePackUnit = record?.packingUnitList[0]
90
+ record.selectUnitCode = basePackUnit.unitCode
91
+ return basePackUnit.name || basePackUnit.unitCode
92
+ }
93
+
94
+
95
+ return <></>
96
+ },
97
+ },
98
+ {
99
+ title: '所属SPU编码',
100
+ width: 150,
101
+ ellipsis: {
102
+ showTitle: false,
103
+ },
104
+ dataIndex: 'itemCode',
105
+ render: (text: any) => (
106
+ <Tooltip placement="topLeft" title={text}>
107
+ {text}
108
+ </Tooltip>
109
+ ),
110
+ },
111
+ {
112
+ title: '规格',
113
+ width: 200,
114
+ ellipsis: {
115
+ showTitle: false,
116
+ },
117
+ render: (text: any) => (
118
+ <Tooltip placement="topLeft" title={text}>
119
+ {text}
120
+ </Tooltip>
121
+ ),
122
+ dataIndex: 'propertyNameAndValue',
123
+ }
124
+ ]
125
+ const mTpSelectColumn = handleSelectColumn(initialSelectColumn, parProps)
126
+ const props = {
127
+ buttonText: parProps.buttonText || '新增',
128
+ buttonProps: parProps.buttonProps || {},
129
+ tableCodeList: parProps.tableCodeList || [],
130
+ value,
131
+ // labelInValue: true, // 非必填 默认为false
132
+ requestConfig: {
133
+ url: `/items/sku/pager/v2`,
134
+ filter: 'qp-name-like', // 过滤参数 支持'qp-name-like'和['qp-name-like', 'qp-code-like']两种结构
135
+ otherParams: {
136
+ 'qp-combination-eq': false,
137
+ 'qp-approveStatus-eq': 1,
138
+ 'qp-status-eq': 1,
139
+ }, // 默认参数
140
+ mappingTextField: 'name',
141
+ mappingValueField: 'skuCode',
142
+ ...parProps.requestConfig
143
+ },
144
+ selectProps,
145
+ onChange: (value: any) => {
146
+ console.log(value)
147
+ setValue(value)
148
+ },
149
+ beforeShowModal: parProps?.beforeShowModal,
150
+ onSaveCallback: parProps.onSaveCallback,
151
+ businessType: 'sku'
152
+ // onSaveCallback: (rows) => {
153
+ // console.log('save call', rows);
154
+ // // return Promise.resolve(true);
155
+ // // return Promise.reject('FAILE')
156
+ // }
157
+ };
158
+ const modalTableProps = {
159
+ modalTableTitle: '选择商品',
160
+ tableSearchForm: [
161
+ {
162
+ name: 'qp-skuCode-like', label: 'SKU编码'
163
+ },
164
+ { name: 'qp-skuName-like', label: 'SKU名称' },
165
+ { name: 'qp-brandId-in', type: 'select', label: '品牌', field: {
166
+ type: 'select',
167
+ props: {
168
+ mode: 'multiple',
169
+ notFoundContent: '暂无数据',
170
+ allowClear: true,
171
+ showSearch: true,
172
+ showArrow: true,
173
+ maxTagCount: 1,
174
+ optionFilterProp: 'children',
175
+ filterOption: (input: string, option: { props: { children: string } }) =>
176
+ option.props.children.toLowerCase().indexOf(input.toLowerCase()) >= 0,
177
+ },
178
+ } },
179
+ { name: 'qp-categoryId-in', type: 'treeSelect', label: '类目', field: {
180
+ type: 'treeSelect',
181
+ props: {
182
+ treeData: [],
183
+ treeCheckable: true,
184
+ showSearch: true,
185
+ allowClear: true,
186
+ showArrow: true,
187
+ treeNodeFilterProp: 'title',
188
+ treeDefaultExpandAll: true,
189
+ maxTagCount: 1,
190
+ placeholder: '请选择',
191
+ style: {
192
+ width: '100%',
193
+ },
194
+ dropdownStyle: { maxHeight: 400, maxWidth: 100, overflow: 'auto' }
195
+ },
196
+ } }
197
+ ],
198
+ tableColumns: [
199
+ {
200
+ title: 'SKU编码',
201
+ width: 150,
202
+ dataIndex: 'skuCode',
203
+ },
204
+ {
205
+ title: 'SKU名称',
206
+ width: 200,
207
+ ellipsis: {
208
+ showTitle: false,
209
+ },
210
+ render: (text: any) => (
211
+ <Tooltip placement="topLeft" title={text}>
212
+ {text}
213
+ </Tooltip>
214
+ ),
215
+ dataIndex: 'name',
216
+ },
217
+ {
218
+ title: '图片',
219
+ dataIndex: 'itemUrl',
220
+ width: 200,
221
+ ellipsis: {
222
+ showTitle: false,
223
+ },
224
+ render: (text: any,record: any) => (
225
+ <Tooltip placement="topLeft" title={text}>
226
+ {tableColumnsImage(getSkuImg(record),{ width: 20, height: 20 })}
227
+ </Tooltip>
228
+ ),
229
+ },
230
+ {
231
+ title: '国际条码',
232
+ width: 100,
233
+ ellipsis: {
234
+ showTitle: false,
235
+ },
236
+ dataIndex: 'barCode',
237
+ render: (text: any) => (
238
+ <Tooltip placement="topLeft" title={text}>
239
+ {text}
240
+ </Tooltip>
241
+ ),
242
+ },
243
+ {
244
+ title: '所属SPU名称',
245
+ width: 100,
246
+ ellipsis: {
247
+ showTitle: false,
248
+ },
249
+ dataIndex: 'itemName',
250
+ render: (text: any) => (
251
+ <Tooltip placement="topLeft" title={text}>
252
+ {text}
253
+ </Tooltip>
254
+ ),
255
+ },
256
+ {
257
+ title: '所属SPU编码',
258
+ width: 100,
259
+ ellipsis: {
260
+ showTitle: false,
261
+ },
262
+ dataIndex: 'itemCode',
263
+ render: (text: any) => (
264
+ <Tooltip placement="topLeft" title={text}>
265
+ {text}
266
+ </Tooltip>
267
+ ),
268
+ },
269
+ {
270
+ title: '外部编码',
271
+ width: 100,
272
+ ellipsis: {
273
+ showTitle: false,
274
+ },
275
+ render: (text: any) => (
276
+ <Tooltip placement="topLeft" title={text}>
277
+ {text}
278
+ </Tooltip>
279
+ ),
280
+ dataIndex: 'externalCode',
281
+ },
282
+ {
283
+ title: '规格',
284
+ width: 100,
285
+ ellipsis: {
286
+ showTitle: false,
287
+ },
288
+ render: (text: any) => (
289
+ <Tooltip placement="topLeft" title={text}>
290
+ {text}
291
+ </Tooltip>
292
+ ),
293
+ dataIndex: 'propertyNameAndValue',
294
+ },
295
+ {
296
+ title: '类目',
297
+ width: 100,
298
+ ellipsis: {
299
+ showTitle: false,
300
+ },
301
+ render: (text: any) => (
302
+ <Tooltip placement="topLeft" title={text}>
303
+ {text}
304
+ </Tooltip>
305
+ ),
306
+ dataIndex: 'categoryName',
307
+ },
308
+ {
309
+ title: '品类',
310
+ width: 100,
311
+ ellipsis: {
312
+ showTitle: false,
313
+ },
314
+ render: (text: any) => (
315
+ <Tooltip placement="topLeft" title={text}>
316
+ {text}
317
+ </Tooltip>
318
+ ),
319
+ dataIndex: 'className',
320
+ },
321
+ {
322
+ title: '品牌',
323
+ width: 100,
324
+ ellipsis: {
325
+ showTitle: false,
326
+ },
327
+ render: (text: any) => (
328
+ <Tooltip placement="topLeft" title={text}>
329
+ {text}
330
+ </Tooltip>
331
+ ),
332
+ dataIndex: 'brandName',
333
+ },
334
+ ],
335
+ selectColumn: mTpSelectColumn
336
+ }
337
+
338
+ return (
339
+ <div>
340
+ <AddSelect
341
+ {...props}
342
+ modalTableProps={modalTableProps}
343
+ />
344
+ </div>
345
+ );
346
+ };
347
+
348
+ export const AddSkcSelect = (parProps: any) => {
349
+ const selectProps = {
350
+ mode: 'multiple',
351
+ }
352
+ const [value, setValue] = useState(selectProps?.mode ? [] : null);
353
+ const [propertyList, setPropertyList] = useState([]);
354
+
355
+ useEffect(() => {
356
+ axios.get(`/items/itemPropertyValueGroup/listNoPage`).then((result: any) => {
357
+ result = result.data;
358
+ if ((result?.status && result.status !== '0') || (result?.code && result.code !== '000000')) {
359
+ message.error(result.msg);
360
+ return;
361
+ }
362
+ const data = result.data || [];
363
+ setPropertyList(data)
364
+ }).catch((err) => {});
365
+ },[])
366
+
367
+ const initialSelectColumn = [
368
+ {
369
+ title: 'SKC编码',
370
+ width: 150,
371
+ dataIndex: 'code',
372
+ },
373
+ {
374
+ title: 'SKC名称',
375
+ width: 200,
376
+ ellipsis: {
377
+ showTitle: false,
378
+ },
379
+ render: (text: any) => (
380
+ <Tooltip placement="topLeft" title={text}>
381
+ {text}
382
+ </Tooltip>
383
+ ),
384
+ dataIndex: 'name',
385
+ },
386
+ {
387
+ title: '颜色',
388
+ width: 200,
389
+ ellipsis: {
390
+ showTitle: false,
391
+ },
392
+ render: (text: any) => (
393
+ <Tooltip placement="topLeft" title={text}>
394
+ {text}
395
+ </Tooltip>
396
+ ),
397
+ dataIndex: 'colorName',
398
+ },
399
+ {
400
+ title: '配码',
401
+ dataIndex: 'selectPropertyGroupCode',
402
+ width: 160,
403
+ isSelectItem: true,
404
+ dataSource: propertyList,
405
+ },
406
+ {
407
+ title: '数量',
408
+ width: 100,
409
+ isInputItem: true,
410
+ dataIndex: 'count',
411
+ },
412
+ ]
413
+ const mTpSelectColumn = handleSelectColumn(initialSelectColumn, parProps)
414
+ const props = {
415
+ buttonText: parProps.buttonText || '新增',
416
+ buttonProps: parProps.buttonProps || {},
417
+ tableCodeList: parProps.tableCodeList || ['skcSelect-tableOptionsToChoosePartCode','skcSelect-tableSelectedItemPartCode'],
418
+ value,
419
+ // labelInValue: true, // 非必填 默认为false
420
+ requestConfig: {
421
+ url: `/items/skc/skcSelect`,
422
+ filter: 'qp-name-like', // 过滤参数 支持'qp-name-like'和['qp-name-like', 'qp-code-like']两种结构
423
+ otherParams: {}, // 默认参数
424
+ mappingTextField: 'name',
425
+ mappingValueField: 'code',
426
+ ...parProps.requestConfig
427
+ },
428
+ selectProps,
429
+ onChange: (value: any) => {
430
+ console.log(value)
431
+ setValue(value)
432
+ },
433
+ beforeShowModal: parProps?.beforeShowModal,
434
+ onSaveCallback: parProps.onSaveCallback,
435
+ businessType: 'skc',
436
+ isAllowRepeatedSelect: true
437
+ };
438
+ const modalTableProps = {
439
+ modalTableTitle: '选择商品',
440
+ tableSearchForm: [
441
+ { name: 'qp-code-like', label: 'SKC编码' },
442
+ { name: 'qp-skcName-like', label: 'SKC名称' },
443
+ { name: 'qp-itemName-like', label: '商品名称' },
444
+ { name: 'qp-colorName-in', type: 'select', label: '颜色', field: {
445
+ type: 'select',
446
+ props: {
447
+ mode: 'multiple',
448
+ notFoundContent: '暂无数据',
449
+ allowClear: true,
450
+ showSearch: true,
451
+ showArrow: true,
452
+ maxTagCount: 1,
453
+ optionFilterProp: 'children',
454
+ filterOption: (input: string, option: { props: { children: string } }) =>
455
+ option.props.children.toLowerCase().indexOf(input.toLowerCase()) >= 0,
456
+ },
457
+ } },
458
+ { name: 'qp-categoryId-in', type: 'treeSelect', label: '类目', field: {
459
+ type: 'treeSelect',
460
+ props: {
461
+ treeData: [],
462
+ treeCheckable: true,
463
+ showSearch: true,
464
+ allowClear: true,
465
+ showArrow: true,
466
+ treeNodeFilterProp: 'title',
467
+ treeDefaultExpandAll: true,
468
+ maxTagCount: 1,
469
+ placeholder: '请选择',
470
+ style: {
471
+ width: '100%',
472
+ },
473
+ dropdownStyle: { maxHeight: 400, maxWidth: 100, overflow: 'auto' }
474
+ },
475
+ } },
476
+ { name: 'qp-classId-in', type: 'select', label: '品类', field: {
477
+ type: 'select',
478
+ props: {
479
+ mode: 'multiple',
480
+ notFoundContent: '暂无数据',
481
+ allowClear: true,
482
+ showSearch: true,
483
+ showArrow: true,
484
+ maxTagCount: 1,
485
+ optionFilterProp: 'children',
486
+ filterOption: (input: string, option: { props: { children: string } }) =>
487
+ option.props.children.toLowerCase().indexOf(input.toLowerCase()) >= 0,
488
+ },
489
+ } },
490
+ { name: 'qp-brandId-in', type: 'select', label: '品牌', field: {
491
+ type: 'select',
492
+ props: {
493
+ mode: 'multiple',
494
+ notFoundContent: '暂无数据',
495
+ allowClear: true,
496
+ showSearch: true,
497
+ showArrow: true,
498
+ maxTagCount: 1,
499
+ optionFilterProp: 'children',
500
+ filterOption: (input: string, option: { props: { children: string } }) =>
501
+ option.props.children.toLowerCase().indexOf(input.toLowerCase()) >= 0,
502
+ },
503
+ } },
504
+ ],
505
+ tableColumns: [
506
+ {
507
+ title: 'SKC编码',
508
+ width: 150,
509
+ dataIndex: 'code',
510
+ },
511
+ {
512
+ title: 'SKC名称',
513
+ width: 200,
514
+ ellipsis: {
515
+ showTitle: false,
516
+ },
517
+ render: (text: any) => (
518
+ <Tooltip placement="topLeft" title={text}>
519
+ {text}
520
+ </Tooltip>
521
+ ),
522
+ dataIndex: 'name',
523
+ },
524
+ {
525
+ title: '商品名称',
526
+ width: 100,
527
+ ellipsis: {
528
+ showTitle: false,
529
+ },
530
+ dataIndex: 'itemName',
531
+ render: (text: any) => (
532
+ <Tooltip placement="topLeft" title={text}>
533
+ {text}
534
+ </Tooltip>
535
+ ),
536
+ },
537
+ {
538
+ title: '颜色',
539
+ width: 100,
540
+ ellipsis: {
541
+ showTitle: false,
542
+ },
543
+ render: (text: any) => (
544
+ <Tooltip placement="topLeft" title={text}>
545
+ {text}
546
+ </Tooltip>
547
+ ),
548
+ dataIndex: 'colorName',
549
+ },
550
+ {
551
+ title: '类目',
552
+ width: 100,
553
+ ellipsis: {
554
+ showTitle: false,
555
+ },
556
+ render: (text: any) => (
557
+ <Tooltip placement="topLeft" title={text}>
558
+ {text}
559
+ </Tooltip>
560
+ ),
561
+ dataIndex: 'categoryName',
562
+ },
563
+ {
564
+ title: '品类',
565
+ width: 100,
566
+ ellipsis: {
567
+ showTitle: false,
568
+ },
569
+ render: (text: any) => (
570
+ <Tooltip placement="topLeft" title={text}>
571
+ {text}
572
+ </Tooltip>
573
+ ),
574
+ dataIndex: 'className',
575
+ },
576
+ {
577
+ title: '品牌',
578
+ width: 100,
579
+ ellipsis: {
580
+ showTitle: false,
581
+ },
582
+ render: (text: any) => (
583
+ <Tooltip placement="topLeft" title={text}>
584
+ {text}
585
+ </Tooltip>
586
+ ),
587
+ dataIndex: 'brandName',
588
+ },
589
+ ],
590
+ selectColumn: mTpSelectColumn,
591
+ }
592
+
593
+ return (
594
+ <div>
595
+ <AddSelect
596
+ {...props}
597
+ modalTableProps={modalTableProps}
598
+ />
599
+ </div>
600
+ );
601
+ };