@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,1254 +1,1310 @@
1
- ---
2
- nav:
3
- title: '组件'
4
- order: 1
5
- group:
6
- title: 业务组件
7
- order: 1
8
- title: 业务档案选择器
9
- order: 1
10
- ---
11
-
12
- # BusinessSearchSelect
13
-
14
-
15
- ## 供应商选择器 Select-GYS-001
16
-
17
- ```tsx
18
- import React, { useState } from 'react';
19
- import { Tabs } from 'antd';
20
- import {BusinessSearchSelect} from '../../../index.ts';
21
-
22
- const { TabPane } = Tabs;
23
-
24
- export default () => {
25
- // selectBusinessType 必传(不传默认为供应商选择器)
26
-
27
- const selectProps = {
28
- // mode: 'multiple',
29
- // maxTagCount: 1,
30
- // disabled: true
31
- }
32
- const selectPropsMultiple = {
33
- mode: 'multiple',
34
- maxTagCount: 1,
35
- }
36
-
37
- const [ tabKey, setTabKey ] = useState('single')
38
- const [value, setValue] = useState(null);
39
-
40
- const props = {
41
- value,
42
- // labelInValue: true, // 非必填 默认为false
43
- // requestConfig: {
44
- // url: `/bop/api/supplier`,
45
- // filter: 'qp-name,code-orGroup,like', // 过滤参数
46
- // otherParams: {}, // 默认参数
47
- // mappingTextField: 'name',
48
- // mappingValueField: 'code',
49
- // }, // 非必传,业务字段已根据业务默认默认
50
- // prefixUrl: { selectPrefix: '/bop/api', formSelectFix: '/bop/api' }, // 非必传,下拉框和tableForm下拉框接口前缀,默认为bop的接口
51
- selectProps, // 非必传
52
- onChange: (value: any) => {
53
- console.log(value)
54
- setValue(value)
55
- },
56
- selectBusinessType: 'supplier',
57
- disabled: true,
58
- };
59
-
60
- const props2 = {
61
- ...props,
62
- // prefixUrl: { selectPrefix: '/channel-manage/', formSelectFix: '/channel-manage/' },
63
- selectBusinessType: 'supplier2',
64
- }
65
-
66
- const onTabChange = (key) => {
67
- setTabKey(key)
68
- setValue(key === 'single' ? null: [])
69
- }
70
-
71
- return (
72
- <div>
73
- <Tabs onChange={onTabChange} activeKey={tabKey}>
74
- <TabPane tab='单选' key='single'>
75
- {tabKey === 'single' && (
76
- <>
77
- <span>版本1:支持英伦项目...</span>
78
- <BusinessSearchSelect {...props} />
79
- <span>版本2:支持麦克英孚项目...</span>
80
- <BusinessSearchSelect {...props2} />
81
- </>
82
- )}
83
- </TabPane>
84
- <TabPane tab='多选' key='multiple'>
85
- {tabKey === 'multiple' && (
86
- <>
87
- <span>版本1:支持英伦项目...</span>
88
- <BusinessSearchSelect {...props} selectProps={selectPropsMultiple} />
89
- <span>版本2:支持麦克英孚项目...</span>
90
- <BusinessSearchSelect {...props2} selectProps={selectPropsMultiple} />
91
- </>
92
- )}
93
- </TabPane>
94
- </Tabs>
95
- </div>
96
- );
97
- };
98
- ```
99
-
100
-
101
- ## 商品SKU选择器 Select-SKU-001
102
-
103
- ```tsx
104
- import React, { useState } from 'react';
105
- import { Tabs } from 'antd';
106
- import {BusinessSearchSelect} from '../../../index.ts';
107
-
108
- const { TabPane } = Tabs;
109
- export default () => {
110
- const selectProps = {
111
- // mode: 'multiple',
112
- // maxTagCount: 1,
113
- // disabled: true
114
- }
115
- const selectPropsMultiple = {
116
- mode: 'multiple',
117
- maxTagCount: 1,
118
- }
119
-
120
- const [ tabKey, setTabKey ] = useState('single')
121
- const [value, setValue] = useState(selectProps?.mode ? [] : null);
122
-
123
- const props = {
124
- value,
125
- onChange: (value: any) => {
126
- console.log(value)
127
- setValue(value)
128
- },
129
- // requestConfig: {
130
- // url: `/bop/api/sku/pager/v2`,
131
- // filter: 'skuCodeAndSkuName',
132
- // mappingValueField: 'skuCode',
133
- // otherParams: {
134
- // sorter: 'desc-id'
135
- // }, // 默认参数
136
- // sourceName: 'skuCode',
137
- // },
138
- // prefixUrl: { selectPrefix: '/bop/api', formSelectFix: '/bop/api' },
139
- selectProps,
140
- selectBusinessType: 'skuCommodity',
141
- };
142
-
143
- const onTabChange = (key) => {
144
- setTabKey(key)
145
- setValue(key === 'single' ? null: [])
146
- }
147
-
148
- return (
149
- <div>
150
- <Tabs onChange={onTabChange} activeKey={tabKey}>
151
- <TabPane tab='单选' key='single'>
152
- {tabKey === 'single' && (
153
- <BusinessSearchSelect {...props} />
154
- )}
155
- </TabPane>
156
- <TabPane tab='多选' key='multiple'>
157
- {tabKey === 'multiple' && (
158
- <BusinessSearchSelect {...props} selectProps={selectPropsMultiple} />
159
- )}
160
- </TabPane>
161
- </Tabs>
162
- </div>
163
- );
164
- };
165
- ```
166
-
167
- [comment]: <> (## 商品规格选择器 Select-SPGG-001)
168
-
169
- [comment]: <> (```tsx)
170
-
171
- [comment]: <> (import React, { useState } from 'react';)
172
-
173
- [comment]: <> (import { Tabs } from 'antd';)
174
-
175
- [comment]: <> (import {BusinessSearchSelect} from '../../../index.ts';)
176
-
177
- [comment]: <> (const { TabPane } = Tabs;)
178
-
179
- [comment]: <> (export default &#40;&#41; => {)
180
-
181
- [comment]: <> ( const selectProps = {)
182
-
183
- [comment]: <> ( // mode: 'multiple',)
184
-
185
- [comment]: <> ( // maxTagCount: 1,)
186
-
187
- [comment]: <> ( // disabled: true)
188
-
189
- [comment]: <> ( })
190
-
191
- [comment]: <> ( const selectPropsMultiple = {)
192
-
193
- [comment]: <> ( mode: 'multiple',)
194
-
195
- [comment]: <> ( maxTagCount: 1,)
196
-
197
- [comment]: <> ( })
198
-
199
- [comment]: <> ( const [ tabKey, setTabKey ] = useState&#40;'single'&#41;)
200
-
201
- [comment]: <> ( const [value, setValue] = useState&#40;selectProps?.mode ? [] : null&#41;;)
202
-
203
- [comment]: <> ( const props = {)
204
-
205
- [comment]: <> ( value,)
206
-
207
- [comment]: <> ( onChange: &#40;value: any&#41; => {)
208
-
209
- [comment]: <> ( console.log&#40;value&#41;)
210
-
211
- [comment]: <> ( setValue&#40;value&#41;)
212
-
213
- [comment]: <> ( },)
214
-
215
- [comment]: <> ( prefixUrl: { selectPrefix: '/bop/api', formSelectFix: '/bop/api' },)
216
-
217
- [comment]: <> ( selectProps,)
218
-
219
- [comment]: <> ( selectBusinessType: 'skuPropertyValue',)
220
-
221
- [comment]: <> ( };)
222
-
223
- [comment]: <> ( const onTabChange = &#40;key&#41; => {)
224
-
225
- [comment]: <> ( setTabKey&#40;key&#41;)
226
-
227
- [comment]: <> ( setValue&#40;key === 'single' ? null: []&#41;)
228
-
229
- [comment]: <> ( })
230
-
231
- [comment]: <> ( return &#40;)
232
-
233
- [comment]: <> ( <div>)
234
-
235
- [comment]: <> ( <Tabs onChange={onTabChange} activeKey={tabKey}>)
236
-
237
- [comment]: <> ( <TabPane tab='单选' key='single'>)
238
-
239
- [comment]: <> ( {tabKey === 'single' && &#40;)
240
-
241
- [comment]: <> ( <BusinessSearchSelect {...props} />)
242
-
243
- [comment]: <> ( &#41;})
244
-
245
- [comment]: <> ( </TabPane>)
246
-
247
- [comment]: <> ( <TabPane tab='多选' key='multiple'>)
248
-
249
- [comment]: <> ( {tabKey === 'multiple' && &#40;)
250
-
251
- [comment]: <> ( <BusinessSearchSelect {...props} selectProps={selectPropsMultiple} />)
252
-
253
- [comment]: <> ( &#41;})
254
-
255
- [comment]: <> ( </TabPane>)
256
-
257
- [comment]: <> ( </Tabs>)
258
-
259
- [comment]: <> ( </div>)
260
-
261
- [comment]: <> ( &#41;;)
262
-
263
- [comment]: <> (};)
264
-
265
- [comment]: <> (```)
266
-
267
- ## 商品SPU选择器 Select-SPU-001
268
-
269
- ```tsx
270
- import React, { useState } from 'react';
271
- import { Tabs } from 'antd';
272
- import {BusinessSearchSelect} from '../../../index.ts';
273
-
274
- const { TabPane } = Tabs;
275
- export default () => {
276
- const selectProps = {
277
- // mode: 'multiple',
278
- // maxTagCount: 1,
279
- // disabled: true
280
- }
281
- const selectPropsMultiple = {
282
- mode: 'multiple',
283
- maxTagCount: 6,
284
- }
285
-
286
- const [ tabKey, setTabKey ] = useState('single')
287
- const [value, setValue] = useState(selectProps?.mode ? [] : null);
288
-
289
- const props = {
290
- value,
291
- onChange: (value: any) => {
292
- console.log(value)
293
- setValue(value)
294
- },
295
- // prefixUrl: { selectPrefix: '/bop/api', formSelectFix: '/bop/api' },
296
- selectProps,
297
- selectBusinessType: 'spuCommodity',
298
- };
299
-
300
- const onTabChange = (key) => {
301
- setTabKey(key)
302
- setValue(key === 'single' ? null: [])
303
- }
304
-
305
- return (
306
- <div>
307
- <Tabs onChange={onTabChange} activeKey={tabKey}>
308
- <TabPane tab='单选' key='single'>
309
- {tabKey === 'single' && (
310
- <BusinessSearchSelect {...props} />
311
- )}
312
- </TabPane>
313
- <TabPane tab='多选' key='multiple'>
314
- {tabKey === 'multiple' && (
315
- <BusinessSearchSelect {...props} selectProps={selectPropsMultiple} />
316
- )}
317
- </TabPane>
318
- </Tabs>
319
- </div>
320
- );
321
- };
322
- ```
323
-
324
-
325
- ## 仓库选择器(物理仓) Select-Warehouse-001
326
-
327
- ```tsx
328
- import React, { useState, useEffect } from 'react';
329
- import { Tabs } from 'antd';
330
- import {BusinessSearchSelect} from '../../../index.ts';
331
-
332
- const { TabPane } = Tabs;
333
-
334
- export default () => {
335
- const selectProps = {
336
- // mode: 'multiple',
337
- // maxTagCount: 1,
338
- // disabled: true
339
- }
340
- const selectPropsMultiple = {
341
- mode: 'multiple',
342
- maxTagCount: 1,
343
- }
344
-
345
- const [ tabKey, setTabKey ] = useState('single')
346
- const [value, setValue] = useState(selectProps?.mode ? [] : null);
347
-
348
- useEffect(() => {
349
- if(tabKey === 'multiple') {
350
- setValue(['1540295745870573570', '1540173160826613762'])
351
- }
352
- },[tabKey])
353
-
354
- const props = {
355
- value,
356
- onChange: (value: any) => {
357
- console.log(value)
358
- setValue(value)
359
- },
360
- requestConfig: {
361
- // mappingValueField: 'physicalWarehouseCode',
362
- // sourceName: 'physicalWarehouseCode',
363
- filterInit: 'qp-id-in'
364
- },
365
- // modalTableProps: {
366
- // modalTableTitle: '选择物理仓-更改title测试',
367
- // needModalTable: false
368
- // },
369
- // prefixUrl: { selectPrefix: '/bop/api', formSelectFix: '/bop/api' },
370
- selectProps,
371
- // labelInValue: true,
372
- selectBusinessType: 'physicalWarehouse',
373
- };
374
-
375
- const onTabChange = (key) => {
376
- setTabKey(key)
377
- setValue(key === 'single' ? null: [])
378
- }
379
-
380
- return (
381
- <div>
382
- <Tabs onChange={onTabChange} activeKey={tabKey}>
383
- <TabPane tab='单选' key='single'>
384
- {tabKey === 'single' && (
385
- <BusinessSearchSelect {...props} />
386
- )}
387
- </TabPane>
388
- <TabPane tab='多选' key='multiple'>
389
- {tabKey === 'multiple' && (
390
- <BusinessSearchSelect {...props} selectProps={selectPropsMultiple} />
391
- )}
392
- </TabPane>
393
- </Tabs>
394
- </div>
395
- );
396
- };
397
- ```
398
-
399
- ## 仓库选择器(逻辑仓) Select-Warehouse-002
400
-
401
- ```tsx
402
- import React, { useState } from 'react';
403
- import { Tabs } from 'antd';
404
- import {BusinessSearchSelect} from '../../../index.ts';
405
-
406
- const { TabPane } = Tabs;
407
-
408
- export default () => {
409
- const selectProps = {
410
- // mode: 'multiple',
411
- // maxTagCount: 1,
412
- // disabled: true
413
- }
414
- const selectPropsMultiple = {
415
- mode: 'multiple',
416
- maxTagCount: 1,
417
- }
418
-
419
- const [ tabKey, setTabKey ] = useState('single')
420
- const [value, setValue] = useState(selectProps?.mode ? [] : null);
421
-
422
- const props = {
423
- value,
424
- onChange: (value: any) => {
425
- console.log(value)
426
- setValue(value)
427
- },
428
- // requestConfig: {
429
- // url: `/bop/api/realWarehouse`,
430
- // filter: 'qp-realWarehouseName,realWarehouseCode-orGroup,like',
431
- // mappingTextField: 'realWarehouseName',
432
- // mappingValueField: 'realWarehouseCode',
433
- // otherParams: {
434
- // sorter: 'desc-id'
435
- // }, // 默认参数
436
- // sourceName: 'warehouseIds',
437
- // },
438
- // prefixUrl: { selectPrefix: '/bop/api', formSelectFix: '/bop/api' },
439
- selectProps,
440
- selectBusinessType: 'realWarehouse',
441
- };
442
-
443
- const onTabChange = (key) => {
444
- setTabKey(key)
445
- setValue(key === 'single' ? null: [])
446
- }
447
-
448
- return (
449
- <div>
450
- <Tabs onChange={onTabChange} activeKey={tabKey}>
451
- <TabPane tab='单选' key='single'>
452
- {tabKey === 'single' && (
453
- <BusinessSearchSelect {...props} />
454
- )}
455
- </TabPane>
456
- <TabPane tab='多选' key='multiple'>
457
- {tabKey === 'multiple' && (
458
- <BusinessSearchSelect {...props} selectProps={selectPropsMultiple} />
459
- )}
460
- </TabPane>
461
- </Tabs>
462
- </div>
463
- );
464
- };
465
- ```
466
-
467
- ## 仓库选择器(运营仓) Select-Warehouse-005
468
-
469
- ```tsx
470
- import React, { useState } from 'react';
471
- import { Tabs } from 'antd';
472
- import {BusinessSearchSelect} from '../../../index.ts';
473
-
474
- const { TabPane } = Tabs;
475
-
476
- export default () => {
477
- const selectProps = {
478
- // mode: 'multiple',
479
- // maxTagCount: 1,
480
- // disabled: true
481
- }
482
- const selectPropsMultiple = {
483
- mode: 'multiple',
484
- maxTagCount: 1,
485
- }
486
-
487
- const [ tabKey, setTabKey ] = useState('single')
488
- const [value, setValue] = useState(selectProps?.mode ? [] : null);
489
-
490
- const props = {
491
- value,
492
- onChange: (value: any) => {
493
- console.log(value)
494
- setValue(value)
495
- },
496
- selectProps,
497
- selectBusinessType: 'ownerWarehouse',
498
- };
499
-
500
- const onTabChange = (key) => {
501
- setTabKey(key)
502
- setValue(key === 'single' ? null: [])
503
- }
504
-
505
- return (
506
- <div>
507
- <Tabs onChange={onTabChange} activeKey={tabKey}>
508
- <TabPane tab='单选' key='single'>
509
- {tabKey === 'single' && (
510
- <BusinessSearchSelect {...props} />
511
- )}
512
- </TabPane>
513
- <TabPane tab='多选' key='multiple'>
514
- {tabKey === 'multiple' && (
515
- <BusinessSearchSelect {...props} selectProps={selectPropsMultiple} />
516
- )}
517
- </TabPane>
518
- </Tabs>
519
- </div>
520
- );
521
- };
522
- ```
523
-
524
- ## 仓库选择器(虚拟仓) Select-Warehouse-003
525
-
526
- ```tsx
527
- import React, { useState } from 'react';
528
- import { Tabs } from 'antd';
529
- import {BusinessSearchSelect} from '../../../index.ts';
530
-
531
- const { TabPane } = Tabs;
532
-
533
- export default () => {
534
- const selectProps = {
535
- // mode: 'multiple',
536
- // maxTagCount: 1,
537
- // disabled: true
538
- }
539
- const selectPropsMultiple = {
540
- mode: 'multiple',
541
- maxTagCount: 1,
542
- }
543
-
544
- const [ tabKey, setTabKey ] = useState('single')
545
- const [value, setValue] = useState(selectProps?.mode ? [] : null);
546
-
547
- const props = {
548
- value,
549
- onChange: (value: any) => {
550
- console.log(value)
551
- setValue(value)
552
- },
553
- // requestConfig: {
554
- // url: `/bop/api/virtualWarehouse`,
555
- // filter: 'qp-virtualWarehouseName,virtualWarehouseCode-orGroup,like',
556
- // mappingTextField: 'virtualWarehouseName',
557
- // mappingValueField: 'virtualWarehouseCode',
558
- // otherParams: {
559
- // sorter: 'desc-id'
560
- // }, // 默认参数
561
- // sourceName: 'warehouseIds',
562
- // },
563
- // prefixUrl: { selectPrefix: '/bop/api', formSelectFix: '/bop/api' },
564
- selectProps,
565
- selectBusinessType: 'virtualWarehouse',
566
- };
567
-
568
- const onTabChange = (key) => {
569
- setTabKey(key)
570
- setValue(key === 'single' ? null: [])
571
- }
572
-
573
- return (
574
- <div>
575
- <Tabs onChange={onTabChange} activeKey={tabKey}>
576
- <TabPane tab='单选' key='single'>
577
- {tabKey === 'single' && (
578
- <BusinessSearchSelect {...props} />
579
- )}
580
- </TabPane>
581
- <TabPane tab='多选' key='multiple'>
582
- {tabKey === 'multiple' && (
583
- <BusinessSearchSelect {...props} selectProps={selectPropsMultiple} />
584
- )}
585
- </TabPane>
586
- </Tabs>
587
- </div>
588
- );
589
- };
590
- ```
591
-
592
- ## 仓库选择器(渠道仓) Select-Warehouse-004
593
-
594
- ```tsx
595
- import React, { useState } from 'react';
596
- import { Tabs } from 'antd';
597
- import {BusinessSearchSelect} from '../../../index.ts';
598
-
599
- const { TabPane } = Tabs;
600
-
601
- export default () => {
602
- const selectProps = {
603
- // mode: 'multiple',
604
- // maxTagCount: 1,
605
- // disabled: true
606
- }
607
- const selectPropsMultiple = {
608
- mode: 'multiple',
609
- maxTagCount: 1,
610
- }
611
-
612
- const [ tabKey, setTabKey ] = useState('single')
613
- const [value, setValue] = useState(selectProps?.mode ? [] : null);
614
-
615
- const props = {
616
- value,
617
- onChange: (value: any) => {
618
- console.log(value)
619
- setValue(value)
620
- },
621
- // requestConfig: {
622
- // url: `/bop/api/channelWarehouse`,
623
- // filter: 'qp-channelWarehouseName,channelWarehouseCode-orGroup,like',
624
- // mappingTextField: 'channelWarehouseName',
625
- // mappingValueField: 'channelWarehouseCode',
626
- // otherParams: {
627
- // sorter: 'desc-id'
628
- // }, // 默认参数
629
- // sourceName: 'warehouseIds',
630
- // },
631
- // prefixUrl: { selectPrefix: '/bop/api', formSelectFix: '/bop/api' },
632
- selectProps,
633
- selectBusinessType: 'channelWarehouse',
634
- };
635
-
636
- const onTabChange = (key) => {
637
- setTabKey(key)
638
- setValue(key === 'single' ? null: [])
639
- }
640
-
641
- return (
642
- <div>
643
- <Tabs onChange={onTabChange} activeKey={tabKey}>
644
- <TabPane tab='单选' key='single'>
645
- {tabKey === 'single' && (
646
- <BusinessSearchSelect {...props} />
647
- )}
648
- </TabPane>
649
- <TabPane tab='多选' key='multiple'>
650
- {tabKey === 'multiple' && (
651
- <BusinessSearchSelect {...props} selectProps={selectPropsMultiple} />
652
- )}
653
- </TabPane>
654
- </Tabs>
655
- </div>
656
- );
657
- };
658
- ```
659
-
660
-
661
- ## 客户选择器 Select-KH-001
662
-
663
- ```tsx
664
- import React, { useState } from 'react';
665
- import { Tabs } from 'antd';
666
- import {BusinessSearchSelect} from '../../../index.ts';
667
-
668
- const { TabPane } = Tabs;
669
-
670
- export default () => {
671
- const selectProps = {
672
- // mode: 'multiple',
673
- // maxTagCount: 1,
674
- // disabled: true
675
- }
676
- const selectPropsMultiple = {
677
- mode: 'multiple',
678
- maxTagCount: 1,
679
- }
680
-
681
- const [ tabKey, setTabKey ] = useState('single')
682
- const [value, setValue] = useState(selectProps?.mode ? [] : null);
683
-
684
- const props = {
685
- value,
686
- onChange: (value: any) => {
687
- console.log(value)
688
- setValue(value)
689
- },
690
- // requestConfig: {
691
- // url: `/bop/api/customer`,
692
- // filter: 'qp-name,code-orGroup,like', // 过滤参数
693
- // mappingTextField: 'name',
694
- // mappingValueField: 'code',
695
- // otherParams: {
696
- // sorter: 'desc-id'
697
- // }, // 默认参数
698
- // sourceName: 'customerCode',
699
- // },
700
- // prefixUrl: { selectPrefix: '/bop/api', formSelectFix: '/bop/api' },
701
- selectProps,
702
- selectBusinessType: 'customer',
703
- };
704
-
705
- const props2 = {
706
- ...props,
707
- // prefixUrl: { selectPrefix: '/channel-manage/', formSelectFix: '/channel-manage/' },
708
- selectBusinessType: 'customer2',
709
- }
710
-
711
- const onTabChange = (key) => {
712
- setTabKey(key)
713
- setValue(key === 'single' ? null: [])
714
- }
715
-
716
- return (
717
- <div>
718
- <Tabs onChange={onTabChange} activeKey={tabKey}>
719
- <TabPane tab='单选' key='single'>
720
- {tabKey === 'single' && (
721
- <>
722
- <span>版本1:支持英伦项目...</span>
723
- <BusinessSearchSelect {...props} />
724
- <span>版本2:支持麦克英孚项目...</span>
725
- <BusinessSearchSelect {...props2} />
726
- </>
727
- )}
728
- </TabPane>
729
- <TabPane tab='多选' key='multiple'>
730
- {tabKey === 'multiple' && (
731
- <>
732
- <span>版本1:支持英伦项目...</span>
733
- <BusinessSearchSelect {...props} selectProps={selectPropsMultiple} />
734
- <span>版本2:支持麦克英孚项目...</span>
735
- <BusinessSearchSelect {...props2} selectProps={selectPropsMultiple} />
736
- </>
737
- )}
738
- </TabPane>
739
- </Tabs>
740
- </div>
741
- );
742
- };
743
- ```
744
-
745
-
746
- ## 店铺选择器 Select-DP-001
747
-
748
- ```tsx
749
- import React, { useState } from 'react';
750
- import { Tabs } from 'antd';
751
- import {BusinessSearchSelect} from '../../../index.ts';
752
-
753
- const { TabPane } = Tabs;
754
-
755
- export default () => {
756
- const selectProps = {
757
- // mode: 'multiple',
758
- // maxTagCount: 1,
759
- // disabled: true
760
- }
761
- const selectPropsMultiple = {
762
- mode: 'multiple',
763
- maxTagCount: 1,
764
- }
765
-
766
- const [ tabKey, setTabKey ] = useState('single')
767
- const [value, setValue] = useState(selectProps?.mode ? [] : null);
768
-
769
- const props = {
770
- value,
771
- onChange: (value: any) => {
772
- console.log(value)
773
- setValue(value)
774
- },
775
- // requestConfig: {
776
- // url: `/bop/api/store`,
777
- // filter: 'qp-name,code-orGroup,like',,
778
- // mappingTextField: 'name',
779
- // mappingValueField: 'code',
780
- // otherParams: {
781
- // sorter: 'desc-id'
782
- // }, // 默认参数
783
- // sourceName: 'code',
784
- // },
785
- // prefixUrl: { selectPrefix: '/bop/api', formSelectFix: '/bop/api' },
786
- selectProps,
787
- selectBusinessType: 'shopFile',
788
- };
789
-
790
- const props2 = {
791
- ...props,
792
- // prefixUrl: { selectPrefix: '/channel-manage/', formSelectFix: '/channel-manage/' },
793
- selectBusinessType: 'shopFile2',
794
- }
795
-
796
- const onTabChange = (key) => {
797
- setTabKey(key)
798
- setValue(key === 'single' ? null: [])
799
- }
800
-
801
- return (
802
- <div>
803
- <Tabs onChange={onTabChange} activeKey={tabKey}>
804
- <TabPane tab='单选' key='single'>
805
- {tabKey === 'single' && (
806
- <>
807
- <span>版本1:支持英伦项目...</span>
808
- <BusinessSearchSelect {...props} />
809
- <span>版本2:支持麦克英孚项目...</span>
810
- <BusinessSearchSelect {...props2} />
811
- </>
812
- )}
813
- </TabPane>
814
- <TabPane tab='多选' key='multiple'>
815
- {tabKey === 'multiple' && (
816
- <>
817
- <span>版本1:支持英伦项目...</span>
818
- <BusinessSearchSelect {...props} selectProps={selectPropsMultiple} />
819
- <span>版本2:支持麦克英孚项目...</span>
820
- <BusinessSearchSelect {...props2} selectProps={selectPropsMultiple} />
821
- </>
822
- )}
823
- </TabPane>
824
- </Tabs>
825
- </div>
826
- );
827
- };
828
- ```
829
-
830
-
831
- ## 核算主体选择器 Select-HSZT-001
832
-
833
- ```tsx
834
- import React, { useState } from 'react';
835
- import { Tabs } from 'antd';
836
- import {BusinessSearchSelect} from '../../../index.ts';
837
-
838
- const { TabPane } = Tabs;
839
-
840
- export default () => {
841
- const selectProps = {
842
- // mode: 'multiple',
843
- // maxTagCount: 1,
844
- // disabled: true
845
- }
846
- const selectPropsMultiple = {
847
- mode: 'multiple',
848
- maxTagCount: 1,
849
- }
850
-
851
- const [ tabKey, setTabKey ] = useState('single')
852
- const [value, setValue] = useState(selectProps?.mode ? [] : null);
853
-
854
- const props = {
855
- value,
856
- onChange: (value: any) => {
857
- console.log(value)
858
- setValue(value)
859
- },
860
- // requestConfig: {
861
- // url: `/bop/api/accountingSubject`,
862
- // filter: 'qp-name,code-orGroup,like',
863
- // mappingTextField: 'name',
864
- // mappingValueField: 'code',
865
- // otherParams: {
866
- // sorter: 'desc-id'
867
- // }, // 默认参数
868
- // sourceName: 'accountingCode',
869
- // },
870
- // prefixUrl: { selectPrefix: '/bop/api', formSelectFix: '/bop/api' },
871
- selectProps,
872
- selectBusinessType: 'accountingSubject',
873
- };
874
-
875
- const onTabChange = (key) => {
876
- setTabKey(key)
877
- setValue(key === 'single' ? null: [])
878
- }
879
-
880
- return (
881
- <div>
882
- <Tabs onChange={onTabChange} activeKey={tabKey}>
883
- <TabPane tab='单选' key='single'>
884
- {tabKey === 'single' && (
885
- <BusinessSearchSelect {...props} />
886
- )}
887
- </TabPane>
888
- <TabPane tab='多选' key='multiple'>
889
- {tabKey === 'multiple' && (
890
- <BusinessSearchSelect {...props} selectProps={selectPropsMultiple} />
891
- )}
892
- </TabPane>
893
- </Tabs>
894
- </div>
895
- );
896
- };
897
- ```
898
-
899
-
900
- ## 库存组织选择器 Select-KCZZ-001
901
-
902
- ```tsx
903
- import React, { useState } from 'react';
904
- import { Tabs } from 'antd';
905
- import {BusinessSearchSelect} from '../../../index.ts';
906
-
907
- const { TabPane } = Tabs;
908
-
909
- export default () => {
910
- const selectProps = {
911
- // mode: 'multiple',
912
- // maxTagCount: 1,
913
- // disabled: true
914
- }
915
- const selectPropsMultiple = {
916
- mode: 'multiple',
917
- maxTagCount: 1,
918
- }
919
-
920
- const [ tabKey, setTabKey ] = useState('single')
921
- const [value, setValue] = useState(selectProps?.mode ? [] : null);
922
-
923
- const props = {
924
- value,
925
- onChange: (value: any) => {
926
- console.log(value)
927
- setValue(value)
928
- },
929
- // requestConfig: {
930
- // url: `/bop/api/inventoryOrg`,
931
- // filter: 'qp-name,code-orGroup,like',
932
- // mappingTextField: 'name',
933
- // mappingValueField: 'code',
934
- // otherParams: {
935
- // sorter: 'desc-id'
936
- // }, // 默认参数
937
- // sourceName: 'inventoryOrgCode',
938
- // },
939
- // prefixUrl: { selectPrefix: '/bop/api', formSelectFix: '/bop/api' },
940
- selectProps,
941
- selectBusinessType: 'inventoryOrg',
942
- };
943
-
944
- const props2 = {
945
- ...props,
946
- selectBusinessType: 'inventoryOrg2',
947
- }
948
-
949
- const onTabChange = (key) => {
950
- setTabKey(key)
951
- setValue(key === 'single' ? null: [])
952
- }
953
-
954
- return (
955
-
956
- <div>
957
- <Tabs onChange={onTabChange} activeKey={tabKey}>
958
- <TabPane tab='单选' key='single'>
959
- {tabKey === 'single' && <BusinessSearchSelect {...props} />}
960
- </TabPane>
961
- <TabPane tab='多选' key='multiple'>
962
- {tabKey === 'multiple' && <BusinessSearchSelect {...props} selectProps={selectPropsMultiple} />}
963
- </TabPane>
964
- </Tabs>
965
- </div>
966
- );
967
- };
968
- ```
969
-
970
-
971
- ## 法人公司选择器 Select-FRGS-001
972
-
973
- ```tsx
974
- import React, { useState } from 'react';
975
- import { Tabs } from 'antd';
976
- import {BusinessSearchSelect} from '../../../index.ts';
977
-
978
- const { TabPane } = Tabs;
979
-
980
- export default () => {
981
- const selectProps = {
982
- // mode: 'multiple',
983
- // maxTagCount: 1,
984
- // disabled: true
985
- }
986
- const selectPropsMultiple = {
987
- mode: 'multiple',
988
- maxTagCount: 1,
989
- }
990
-
991
- const [ tabKey, setTabKey ] = useState('single')
992
- const [value, setValue] = useState(selectProps?.mode ? [] : null);
993
-
994
- const props = {
995
- value,
996
- onChange: (value: any) => {
997
- console.log(value)
998
- setValue(value)
999
- },
1000
- // requestConfig: {
1001
- // url: `/bop/api/company`,
1002
- // filter: 'qp-name,code-orGroup,like',
1003
- // mappingTextField: 'name',
1004
- // mappingValueField: 'code',
1005
- // otherParams: {
1006
- // 'qp-companyType-eq': '20',
1007
- // sorter: 'desc-id'
1008
- // }, // 默认参数
1009
- // sourceName: 'companyCode',
1010
- // },
1011
- // prefixUrl: { selectPrefix: '/bop/api', formSelectFix: '/bop/api' },
1012
- selectProps,
1013
- selectBusinessType: 'corporationCompany',
1014
- };
1015
-
1016
- const onTabChange = (key) => {
1017
- setTabKey(key)
1018
- setValue(key === 'single' ? null: [])
1019
- }
1020
-
1021
- return (
1022
- <div>
1023
- <Tabs onChange={onTabChange} activeKey={tabKey}>
1024
- <TabPane tab='单选' key='single'>
1025
- {tabKey === 'single' && (
1026
- <BusinessSearchSelect {...props} />
1027
- )}
1028
- </TabPane>
1029
- <TabPane tab='多选' key='multiple'>
1030
- {tabKey === 'multiple' && (
1031
- <BusinessSearchSelect {...props} selectProps={selectPropsMultiple} />
1032
- )}
1033
- </TabPane>
1034
- </Tabs>
1035
- </div>
1036
- );
1037
- };
1038
- ```
1039
-
1040
-
1041
- ## 员工选择器 Select-YG-001
1042
-
1043
- ```tsx
1044
- import React, { useState } from 'react';
1045
- import { Tabs } from 'antd';
1046
- import {BusinessSearchSelect} from '../../../index.ts';
1047
-
1048
- const { TabPane } = Tabs;
1049
-
1050
- export default () => {
1051
- const selectProps = {
1052
- // mode: 'multiple',
1053
- // maxTagCount: 1,
1054
- // disabled: true
1055
- }
1056
- const selectPropsMultiple = {
1057
- mode: 'multiple',
1058
- maxTagCount: 1,
1059
- }
1060
-
1061
- const [ tabKey, setTabKey ] = useState('single')
1062
- const [value, setValue] = useState(selectProps?.mode ? [] : null);
1063
-
1064
- const props = {
1065
- value,
1066
- onChange: (value: any) => {
1067
- console.log(value)
1068
- setValue(value)
1069
- },
1070
- // requestConfig: {
1071
- // url: `/bop/api/employee`,
1072
- // filter: 'qp-name,code-orGroup,like',
1073
- // mappingTextField: 'name',
1074
- // mappingValueField: 'code',
1075
- // otherParams: {
1076
- // sorter: 'desc-id'
1077
- // }, // 默认参数
1078
- // sourceName: 'code',
1079
- // },
1080
- // prefixUrl: { selectPrefix: '/bop/api', formSelectFix: '/bop/api' },
1081
- selectProps,
1082
- selectBusinessType: 'employee',
1083
- };
1084
-
1085
- const props2 = {
1086
- ...props,
1087
- // prefixUrl: { selectPrefix: '/user/api', formSelectFix: '/user/api' },
1088
- selectBusinessType: 'employee2',
1089
- }
1090
-
1091
- const onTabChange = (key) => {
1092
- setTabKey(key)
1093
- setValue(key === 'single' ? null: [])
1094
- }
1095
-
1096
- return (
1097
- <div>
1098
- <Tabs onChange={onTabChange} activeKey={tabKey}>
1099
- <TabPane tab='单选' key='single'>
1100
- {tabKey === 'single' && (
1101
- <>
1102
- <span>版本1:支持英伦项目...</span>
1103
- <BusinessSearchSelect {...props} />
1104
- <span>版本2:支持麦克英孚项目...</span>
1105
- <BusinessSearchSelect {...props2} />
1106
- </>
1107
- )}
1108
- </TabPane>
1109
- <TabPane tab='多选' key='multiple'>
1110
- {tabKey === 'multiple' && (
1111
- <>
1112
- <span>版本1:支持英伦项目...</span>
1113
- <BusinessSearchSelect {...props} selectProps={selectPropsMultiple} />
1114
- <span>版本2:支持麦克英孚项目...</span>
1115
- <BusinessSearchSelect {...props2} selectProps={selectPropsMultiple} />
1116
- </>
1117
- )}
1118
- </TabPane>
1119
- </Tabs>
1120
- </div>
1121
- );
1122
- };
1123
- ```
1124
-
1125
-
1126
- ## 配送方式选择器 Select-PSFS-001
1127
-
1128
- ```tsx
1129
- import React, { useState } from 'react';
1130
- import { Tabs } from 'antd';
1131
- import {BusinessSearchSelect} from '../../../index.ts';
1132
-
1133
- const { TabPane } = Tabs;
1134
-
1135
- export default () => {
1136
- const selectProps = {
1137
- // mode: 'multiple',
1138
- // maxTagCount: 1,
1139
- // disabled: true
1140
- }
1141
- const selectPropsMultiple = {
1142
- mode: 'multiple',
1143
- maxTagCount: 1,
1144
- }
1145
-
1146
- const [ tabKey, setTabKey ] = useState('single')
1147
- const [value, setValue] = useState(selectProps?.mode ? [] : null);
1148
-
1149
- const props = {
1150
- value,
1151
- onChange: (value: any) => {
1152
- console.log(value)
1153
- setValue(value)
1154
- },
1155
- // requestConfig: {
1156
- // url: `/bop/api/getDeliveryModeCodeNameMap`,
1157
- // filter: 'qp-name,code-orGroup,like',
1158
- // mappingTextField: 'name',
1159
- // mappingValueField: 'code',
1160
- // otherParams: {
1161
- // sorter: 'desc-id'
1162
- // }, // 默认参数
1163
- // sourceName: 'deliveryModeCode',
1164
- // },
1165
- // prefixUrl: { selectPrefix: '/bop/api', formSelectFix: '/bop/api' },
1166
- selectProps,
1167
- selectBusinessType: 'deliveryMode',
1168
- };
1169
-
1170
- const onTabChange = (key) => {
1171
- setTabKey(key)
1172
- setValue(key === 'single' ? null: [])
1173
- }
1174
-
1175
- return (
1176
- <div>
1177
- <Tabs onChange={onTabChange} activeKey={tabKey}>
1178
- <TabPane tab='单选' key='single'>
1179
- {tabKey === 'single' && (
1180
- <BusinessSearchSelect {...props} />
1181
- )}
1182
- </TabPane>
1183
- <TabPane tab='多选' key='multiple'>
1184
- {tabKey === 'multiple' && (
1185
- <BusinessSearchSelect {...props} selectProps={selectPropsMultiple} />
1186
- )}
1187
- </TabPane>
1188
- </Tabs>
1189
- </div>
1190
- );
1191
- };
1192
- ```
1193
-
1194
- More skills for writing demo: https://d.umijs.org/guide/demo-principle
1195
-
1196
-
1197
- ## 规则场景选择器 Select-GZCJ-001
1198
-
1199
- ```tsx
1200
- import React, { useState } from 'react';
1201
- import { Tabs } from 'antd';
1202
- import {BusinessSearchSelect} from '../../../index.ts';
1203
-
1204
- const { TabPane } = Tabs;
1205
-
1206
- export default () => {
1207
- const selectProps = {
1208
- // mode: 'multiple',
1209
- // maxTagCount: 1,
1210
- // disabled: true
1211
- }
1212
- const selectPropsMultiple = {
1213
- mode: 'multiple',
1214
- maxTagCount: 1,
1215
- }
1216
-
1217
- const [ tabKey, setTabKey ] = useState('single')
1218
- const [value, setValue] = useState(selectProps?.mode ? [] : null);
1219
-
1220
- const props = {
1221
- value,
1222
- onChange: (value: any) => {
1223
- console.log(value)
1224
- setValue(value)
1225
- },
1226
- selectProps,
1227
- selectBusinessType: 'ruleTemplate',
1228
- };
1229
-
1230
- const onTabChange = (key) => {
1231
- setTabKey(key)
1232
- setValue(key === 'single' ? null: [])
1233
- }
1234
-
1235
- return (
1236
- <div>
1237
- <Tabs onChange={onTabChange} activeKey={tabKey}>
1238
- <TabPane tab='单选' key='single'>
1239
- {tabKey === 'single' && (
1240
- <BusinessSearchSelect {...props} />
1241
- )}
1242
- </TabPane>
1243
- <TabPane tab='多选' key='multiple'>
1244
- {tabKey === 'multiple' && (
1245
- <BusinessSearchSelect {...props} selectProps={selectPropsMultiple} />
1246
- )}
1247
- </TabPane>
1248
- </Tabs>
1249
- </div>
1250
- );
1251
- };
1252
- ```
1253
-
1254
- 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: 1
10
+ ---
11
+
12
+ # BusinessSearchSelect
13
+
14
+
15
+ ## 供应商选择器 Select-GYS-001
16
+
17
+ ```tsx
18
+ import React, { useState } from 'react';
19
+ import { Tabs } from 'antd';
20
+ import {BusinessSearchSelect} from '../../../index.ts';
21
+
22
+ const { TabPane } = Tabs;
23
+
24
+ export default () => {
25
+ // selectBusinessType 必传(不传默认为供应商选择器)
26
+
27
+ const selectProps = {
28
+ // mode: 'multiple',
29
+ // maxTagCount: 1,
30
+ // disabled: true
31
+ }
32
+ const selectPropsMultiple = {
33
+ mode: 'multiple',
34
+ maxTagCount: 1,
35
+ }
36
+
37
+ const [ tabKey, setTabKey ] = useState('single')
38
+ const [value, setValue] = useState(null);
39
+
40
+ const props = {
41
+ value,
42
+ // labelInValue: true, // 非必填 默认为false
43
+ // requestConfig: {
44
+ // url: `/bop/api/supplier`,
45
+ // filter: 'qp-name,code-orGroup,like', // 过滤参数
46
+ // otherParams: {}, // 默认参数
47
+ // mappingTextField: 'name',
48
+ // mappingValueField: 'code',
49
+ // }, // 非必传,业务字段已根据业务默认默认
50
+ // prefixUrl: { selectPrefix: '/bop/api', formSelectFix: '/bop/api' }, // 非必传,下拉框和tableForm下拉框接口前缀,默认为bop的接口
51
+ selectProps, // 非必传
52
+ onChange: (value: any) => {
53
+ console.log(value)
54
+ setValue(value)
55
+ },
56
+ selectBusinessType: 'supplier',
57
+ disabled: true,
58
+ };
59
+
60
+ const props2 = {
61
+ ...props,
62
+ // prefixUrl: { selectPrefix: '/channel-manage/', formSelectFix: '/channel-manage/' },
63
+ selectBusinessType: 'supplier2',
64
+ }
65
+
66
+ const onTabChange = (key) => {
67
+ setTabKey(key)
68
+ setValue(key === 'single' ? null: [])
69
+ }
70
+
71
+ return (
72
+ <div>
73
+ <Tabs onChange={onTabChange} activeKey={tabKey}>
74
+ <TabPane tab='单选' key='single'>
75
+ {tabKey === 'single' && (
76
+ <>
77
+ <span>版本1:支持英伦项目...</span>
78
+ <BusinessSearchSelect {...props} />
79
+ <span>版本2:支持麦克英孚项目...</span>
80
+ <BusinessSearchSelect {...props2} />
81
+ </>
82
+ )}
83
+ </TabPane>
84
+ <TabPane tab='多选' key='multiple'>
85
+ {tabKey === 'multiple' && (
86
+ <>
87
+ <span>版本1:支持英伦项目...</span>
88
+ <BusinessSearchSelect {...props} selectProps={selectPropsMultiple} />
89
+ <span>版本2:支持麦克英孚项目...</span>
90
+ <BusinessSearchSelect {...props2} selectProps={selectPropsMultiple} />
91
+ </>
92
+ )}
93
+ </TabPane>
94
+ </Tabs>
95
+ </div>
96
+ );
97
+ };
98
+ ```
99
+
100
+
101
+ ## 商品SKU选择器 Select-SKU-001
102
+
103
+ ```tsx
104
+ import React, { useState } from 'react';
105
+ import { Tabs } from 'antd';
106
+ import {BusinessSearchSelect} from '../../../index.ts';
107
+
108
+ const { TabPane } = Tabs;
109
+ export default () => {
110
+ const selectProps = {
111
+ // mode: 'multiple',
112
+ // maxTagCount: 1,
113
+ // disabled: true
114
+ }
115
+ const selectPropsMultiple = {
116
+ mode: 'multiple',
117
+ maxTagCount: 1,
118
+ }
119
+
120
+ const [ tabKey, setTabKey ] = useState('single')
121
+ const [value, setValue] = useState(selectProps?.mode ? [] : null);
122
+
123
+ const props = {
124
+ value,
125
+ onChange: (value: any) => {
126
+ console.log(value)
127
+ setValue(value)
128
+ },
129
+ // requestConfig: {
130
+ // url: `/bop/api/sku/pager/v2`,
131
+ // filter: 'skuCodeAndSkuName',
132
+ // mappingValueField: 'skuCode',
133
+ // otherParams: {
134
+ // sorter: 'desc-id'
135
+ // }, // 默认参数
136
+ // sourceName: 'skuCode',
137
+ // },
138
+ // prefixUrl: { selectPrefix: '/bop/api', formSelectFix: '/bop/api' },
139
+ selectProps,
140
+ selectBusinessType: 'skuCommodity',
141
+ };
142
+
143
+ const onTabChange = (key) => {
144
+ setTabKey(key)
145
+ setValue(key === 'single' ? null: [])
146
+ }
147
+
148
+ return (
149
+ <div>
150
+ <Tabs onChange={onTabChange} activeKey={tabKey}>
151
+ <TabPane tab='单选' key='single'>
152
+ {tabKey === 'single' && (
153
+ <BusinessSearchSelect {...props} />
154
+ )}
155
+ </TabPane>
156
+ <TabPane tab='多选' key='multiple'>
157
+ {tabKey === 'multiple' && (
158
+ <BusinessSearchSelect {...props} selectProps={selectPropsMultiple} />
159
+ )}
160
+ </TabPane>
161
+ </Tabs>
162
+ </div>
163
+ );
164
+ };
165
+ ```
166
+
167
+ [comment]: <> (## 商品规格选择器 Select-SPGG-001)
168
+
169
+ [comment]: <> (```tsx)
170
+
171
+ [comment]: <> (import React, { useState } from 'react';)
172
+
173
+ [comment]: <> (import { Tabs } from 'antd';)
174
+
175
+ [comment]: <> (import {BusinessSearchSelect} from '../../../index.ts';)
176
+
177
+ [comment]: <> (const { TabPane } = Tabs;)
178
+
179
+ [comment]: <> (export default &#40;&#41; => {)
180
+
181
+ [comment]: <> ( const selectProps = {)
182
+
183
+ [comment]: <> ( // mode: 'multiple',)
184
+
185
+ [comment]: <> ( // maxTagCount: 1,)
186
+
187
+ [comment]: <> ( // disabled: true)
188
+
189
+ [comment]: <> ( })
190
+
191
+ [comment]: <> ( const selectPropsMultiple = {)
192
+
193
+ [comment]: <> ( mode: 'multiple',)
194
+
195
+ [comment]: <> ( maxTagCount: 1,)
196
+
197
+ [comment]: <> ( })
198
+
199
+ [comment]: <> ( const [ tabKey, setTabKey ] = useState&#40;'single'&#41;)
200
+
201
+ [comment]: <> ( const [value, setValue] = useState&#40;selectProps?.mode ? [] : null&#41;;)
202
+
203
+ [comment]: <> ( const props = {)
204
+
205
+ [comment]: <> ( value,)
206
+
207
+ [comment]: <> ( onChange: &#40;value: any&#41; => {)
208
+
209
+ [comment]: <> ( console.log&#40;value&#41;)
210
+
211
+ [comment]: <> ( setValue&#40;value&#41;)
212
+
213
+ [comment]: <> ( },)
214
+
215
+ [comment]: <> ( prefixUrl: { selectPrefix: '/bop/api', formSelectFix: '/bop/api' },)
216
+
217
+ [comment]: <> ( selectProps,)
218
+
219
+ [comment]: <> ( selectBusinessType: 'skuPropertyValue',)
220
+
221
+ [comment]: <> ( };)
222
+
223
+ [comment]: <> ( const onTabChange = &#40;key&#41; => {)
224
+
225
+ [comment]: <> ( setTabKey&#40;key&#41;)
226
+
227
+ [comment]: <> ( setValue&#40;key === 'single' ? null: []&#41;)
228
+
229
+ [comment]: <> ( })
230
+
231
+ [comment]: <> ( return &#40;)
232
+
233
+ [comment]: <> ( <div>)
234
+
235
+ [comment]: <> ( <Tabs onChange={onTabChange} activeKey={tabKey}>)
236
+
237
+ [comment]: <> ( <TabPane tab='单选' key='single'>)
238
+
239
+ [comment]: <> ( {tabKey === 'single' && &#40;)
240
+
241
+ [comment]: <> ( <BusinessSearchSelect {...props} />)
242
+
243
+ [comment]: <> ( &#41;})
244
+
245
+ [comment]: <> ( </TabPane>)
246
+
247
+ [comment]: <> ( <TabPane tab='多选' key='multiple'>)
248
+
249
+ [comment]: <> ( {tabKey === 'multiple' && &#40;)
250
+
251
+ [comment]: <> ( <BusinessSearchSelect {...props} selectProps={selectPropsMultiple} />)
252
+
253
+ [comment]: <> ( &#41;})
254
+
255
+ [comment]: <> ( </TabPane>)
256
+
257
+ [comment]: <> ( </Tabs>)
258
+
259
+ [comment]: <> ( </div>)
260
+
261
+ [comment]: <> ( &#41;;)
262
+
263
+ [comment]: <> (};)
264
+
265
+ [comment]: <> (```)
266
+
267
+ ## 商品SPU选择器 Select-SPU-001
268
+
269
+ ```tsx
270
+ import React, { useState } from 'react';
271
+ import { Tabs } from 'antd';
272
+ import {BusinessSearchSelect} from '../../../index.ts';
273
+
274
+ const { TabPane } = Tabs;
275
+ export default () => {
276
+ const selectProps = {
277
+ // mode: 'multiple',
278
+ // maxTagCount: 1,
279
+ // disabled: true
280
+ }
281
+ const selectPropsMultiple = {
282
+ mode: 'multiple',
283
+ maxTagCount: 6,
284
+ }
285
+
286
+ const [ tabKey, setTabKey ] = useState('single')
287
+ const [value, setValue] = useState(selectProps?.mode ? [] : null);
288
+
289
+ const props = {
290
+ value,
291
+ onChange: (value: any) => {
292
+ console.log(value)
293
+ setValue(value)
294
+ },
295
+ // prefixUrl: { selectPrefix: '/bop/api', formSelectFix: '/bop/api' },
296
+ selectProps,
297
+ selectBusinessType: 'spuCommodity',
298
+ };
299
+
300
+ const onTabChange = (key) => {
301
+ setTabKey(key)
302
+ setValue(key === 'single' ? null: [])
303
+ }
304
+
305
+ return (
306
+ <div>
307
+ <Tabs onChange={onTabChange} activeKey={tabKey}>
308
+ <TabPane tab='单选' key='single'>
309
+ {tabKey === 'single' && (
310
+ <BusinessSearchSelect {...props} />
311
+ )}
312
+ </TabPane>
313
+ <TabPane tab='多选' key='multiple'>
314
+ {tabKey === 'multiple' && (
315
+ <BusinessSearchSelect {...props} selectProps={selectPropsMultiple} />
316
+ )}
317
+ </TabPane>
318
+ </Tabs>
319
+ </div>
320
+ );
321
+ };
322
+ ```
323
+
324
+ ## 商品SKC选择器 Select-SKC-001
325
+
326
+ ```tsx
327
+ import React, { useState } from 'react';
328
+ import { Tabs } from 'antd';
329
+ import {BusinessSearchSelect} from '../../../index.ts';
330
+
331
+ const { TabPane } = Tabs;
332
+ export default () => {
333
+ const selectProps = {
334
+ // mode: 'multiple',
335
+ // maxTagCount: 1,
336
+ // disabled: true
337
+ }
338
+ const selectPropsMultiple = {
339
+ mode: 'multiple',
340
+ maxTagCount: 6,
341
+ }
342
+
343
+ const [ tabKey, setTabKey ] = useState('single')
344
+ const [value, setValue] = useState(selectProps?.mode ? [] : null);
345
+
346
+ const props = {
347
+ value,
348
+ onChange: (value: any) => {
349
+ console.log(value)
350
+ setValue(value)
351
+ },
352
+ // prefixUrl: { selectPrefix: '/bop/api', formSelectFix: '/bop/api' },
353
+ selectProps,
354
+ selectBusinessType: 'skcCommodity',
355
+ };
356
+
357
+ const onTabChange = (key) => {
358
+ setTabKey(key)
359
+ setValue(key === 'single' ? null: [])
360
+ }
361
+
362
+ return (
363
+ <div>
364
+ <Tabs onChange={onTabChange} activeKey={tabKey}>
365
+ <TabPane tab='单选' key='single'>
366
+ {tabKey === 'single' && (
367
+ <BusinessSearchSelect {...props} />
368
+ )}
369
+ </TabPane>
370
+ <TabPane tab='多选' key='multiple'>
371
+ {tabKey === 'multiple' && (
372
+ <BusinessSearchSelect {...props} selectProps={selectPropsMultiple} />
373
+ )}
374
+ </TabPane>
375
+ </Tabs>
376
+ </div>
377
+ );
378
+ };
379
+ ```
380
+
381
+ ## 仓库选择器(物理仓) Select-Warehouse-001
382
+
383
+ ```tsx
384
+ import React, { useState, useEffect } from 'react';
385
+ import { Tabs } from 'antd';
386
+ import {BusinessSearchSelect} from '../../../index.ts';
387
+
388
+ const { TabPane } = Tabs;
389
+
390
+ export default () => {
391
+ const selectProps = {
392
+ // mode: 'multiple',
393
+ // maxTagCount: 1,
394
+ // disabled: true
395
+ }
396
+ const selectPropsMultiple = {
397
+ mode: 'multiple',
398
+ maxTagCount: 1,
399
+ }
400
+
401
+ const [ tabKey, setTabKey ] = useState('single')
402
+ const [value, setValue] = useState(selectProps?.mode ? [] : null);
403
+
404
+ useEffect(() => {
405
+ if(tabKey === 'multiple') {
406
+ setValue(['1540295745870573570', '1540173160826613762'])
407
+ }
408
+ },[tabKey])
409
+
410
+ const props = {
411
+ value,
412
+ onChange: (value: any) => {
413
+ console.log(value)
414
+ setValue(value)
415
+ },
416
+ requestConfig: {
417
+ // mappingValueField: 'physicalWarehouseCode',
418
+ // sourceName: 'physicalWarehouseCode',
419
+ filterInit: 'qp-id-in'
420
+ },
421
+ // modalTableProps: {
422
+ // modalTableTitle: '选择物理仓-更改title测试',
423
+ // needModalTable: false
424
+ // },
425
+ // prefixUrl: { selectPrefix: '/bop/api', formSelectFix: '/bop/api' },
426
+ selectProps,
427
+ // labelInValue: true,
428
+ selectBusinessType: 'physicalWarehouse',
429
+ };
430
+
431
+ const onTabChange = (key) => {
432
+ setTabKey(key)
433
+ setValue(key === 'single' ? null: [])
434
+ }
435
+
436
+ return (
437
+ <div>
438
+ <Tabs onChange={onTabChange} activeKey={tabKey}>
439
+ <TabPane tab='单选' key='single'>
440
+ {tabKey === 'single' && (
441
+ <BusinessSearchSelect {...props} />
442
+ )}
443
+ </TabPane>
444
+ <TabPane tab='多选' key='multiple'>
445
+ {tabKey === 'multiple' && (
446
+ <BusinessSearchSelect {...props} selectProps={selectPropsMultiple} />
447
+ )}
448
+ </TabPane>
449
+ </Tabs>
450
+ </div>
451
+ );
452
+ };
453
+ ```
454
+
455
+ ## 仓库选择器(逻辑仓) Select-Warehouse-002
456
+
457
+ ```tsx
458
+ import React, { useState } from 'react';
459
+ import { Tabs } from 'antd';
460
+ import {BusinessSearchSelect} from '../../../index.ts';
461
+
462
+ const { TabPane } = Tabs;
463
+
464
+ export default () => {
465
+ const selectProps = {
466
+ // mode: 'multiple',
467
+ // maxTagCount: 1,
468
+ // disabled: true
469
+ }
470
+ const selectPropsMultiple = {
471
+ mode: 'multiple',
472
+ maxTagCount: 1,
473
+ }
474
+
475
+ const [ tabKey, setTabKey ] = useState('single')
476
+ const [value, setValue] = useState(selectProps?.mode ? [] : null);
477
+
478
+ const props = {
479
+ value,
480
+ onChange: (value: any) => {
481
+ console.log(value)
482
+ setValue(value)
483
+ },
484
+ // requestConfig: {
485
+ // url: `/bop/api/realWarehouse`,
486
+ // filter: 'qp-realWarehouseName,realWarehouseCode-orGroup,like',
487
+ // mappingTextField: 'realWarehouseName',
488
+ // mappingValueField: 'realWarehouseCode',
489
+ // otherParams: {
490
+ // sorter: 'desc-id'
491
+ // }, // 默认参数
492
+ // sourceName: 'warehouseIds',
493
+ // },
494
+ // prefixUrl: { selectPrefix: '/bop/api', formSelectFix: '/bop/api' },
495
+ selectProps,
496
+ selectBusinessType: 'realWarehouse',
497
+ };
498
+
499
+ const onTabChange = (key) => {
500
+ setTabKey(key)
501
+ setValue(key === 'single' ? null: [])
502
+ }
503
+
504
+ return (
505
+ <div>
506
+ <Tabs onChange={onTabChange} activeKey={tabKey}>
507
+ <TabPane tab='单选' key='single'>
508
+ {tabKey === 'single' && (
509
+ <BusinessSearchSelect {...props} />
510
+ )}
511
+ </TabPane>
512
+ <TabPane tab='多选' key='multiple'>
513
+ {tabKey === 'multiple' && (
514
+ <BusinessSearchSelect {...props} selectProps={selectPropsMultiple} />
515
+ )}
516
+ </TabPane>
517
+ </Tabs>
518
+ </div>
519
+ );
520
+ };
521
+ ```
522
+
523
+ ## 仓库选择器(运营仓) Select-Warehouse-005
524
+
525
+ ```tsx
526
+ import React, { useState } from 'react';
527
+ import { Tabs } from 'antd';
528
+ import {BusinessSearchSelect} from '../../../index.ts';
529
+
530
+ const { TabPane } = Tabs;
531
+
532
+ export default () => {
533
+ const selectProps = {
534
+ // mode: 'multiple',
535
+ // maxTagCount: 1,
536
+ // disabled: true
537
+ }
538
+ const selectPropsMultiple = {
539
+ mode: 'multiple',
540
+ maxTagCount: 1,
541
+ }
542
+
543
+ const [ tabKey, setTabKey ] = useState('single')
544
+ const [value, setValue] = useState(selectProps?.mode ? [] : null);
545
+
546
+ const props = {
547
+ value,
548
+ onChange: (value: any) => {
549
+ console.log(value)
550
+ setValue(value)
551
+ },
552
+ selectProps,
553
+ selectBusinessType: 'ownerWarehouse',
554
+ };
555
+
556
+ const onTabChange = (key) => {
557
+ setTabKey(key)
558
+ setValue(key === 'single' ? null: [])
559
+ }
560
+
561
+ return (
562
+ <div>
563
+ <Tabs onChange={onTabChange} activeKey={tabKey}>
564
+ <TabPane tab='单选' key='single'>
565
+ {tabKey === 'single' && (
566
+ <BusinessSearchSelect {...props} />
567
+ )}
568
+ </TabPane>
569
+ <TabPane tab='多选' key='multiple'>
570
+ {tabKey === 'multiple' && (
571
+ <BusinessSearchSelect {...props} selectProps={selectPropsMultiple} />
572
+ )}
573
+ </TabPane>
574
+ </Tabs>
575
+ </div>
576
+ );
577
+ };
578
+ ```
579
+
580
+ ## 仓库选择器(虚拟仓) Select-Warehouse-003
581
+
582
+ ```tsx
583
+ import React, { useState } from 'react';
584
+ import { Tabs } from 'antd';
585
+ import {BusinessSearchSelect} from '../../../index.ts';
586
+
587
+ const { TabPane } = Tabs;
588
+
589
+ export default () => {
590
+ const selectProps = {
591
+ // mode: 'multiple',
592
+ // maxTagCount: 1,
593
+ // disabled: true
594
+ }
595
+ const selectPropsMultiple = {
596
+ mode: 'multiple',
597
+ maxTagCount: 1,
598
+ }
599
+
600
+ const [ tabKey, setTabKey ] = useState('single')
601
+ const [value, setValue] = useState(selectProps?.mode ? [] : null);
602
+
603
+ const props = {
604
+ value,
605
+ onChange: (value: any) => {
606
+ console.log(value)
607
+ setValue(value)
608
+ },
609
+ // requestConfig: {
610
+ // url: `/bop/api/virtualWarehouse`,
611
+ // filter: 'qp-virtualWarehouseName,virtualWarehouseCode-orGroup,like',
612
+ // mappingTextField: 'virtualWarehouseName',
613
+ // mappingValueField: 'virtualWarehouseCode',
614
+ // otherParams: {
615
+ // sorter: 'desc-id'
616
+ // }, // 默认参数
617
+ // sourceName: 'warehouseIds',
618
+ // },
619
+ // prefixUrl: { selectPrefix: '/bop/api', formSelectFix: '/bop/api' },
620
+ selectProps,
621
+ selectBusinessType: 'virtualWarehouse',
622
+ };
623
+
624
+ const onTabChange = (key) => {
625
+ setTabKey(key)
626
+ setValue(key === 'single' ? null: [])
627
+ }
628
+
629
+ return (
630
+ <div>
631
+ <Tabs onChange={onTabChange} activeKey={tabKey}>
632
+ <TabPane tab='单选' key='single'>
633
+ {tabKey === 'single' && (
634
+ <BusinessSearchSelect {...props} />
635
+ )}
636
+ </TabPane>
637
+ <TabPane tab='多选' key='multiple'>
638
+ {tabKey === 'multiple' && (
639
+ <BusinessSearchSelect {...props} selectProps={selectPropsMultiple} />
640
+ )}
641
+ </TabPane>
642
+ </Tabs>
643
+ </div>
644
+ );
645
+ };
646
+ ```
647
+
648
+ ## 仓库选择器(渠道仓) Select-Warehouse-004
649
+
650
+ ```tsx
651
+ import React, { useState } from 'react';
652
+ import { Tabs } from 'antd';
653
+ import {BusinessSearchSelect} from '../../../index.ts';
654
+
655
+ const { TabPane } = Tabs;
656
+
657
+ export default () => {
658
+ const selectProps = {
659
+ // mode: 'multiple',
660
+ // maxTagCount: 1,
661
+ // disabled: true
662
+ }
663
+ const selectPropsMultiple = {
664
+ mode: 'multiple',
665
+ maxTagCount: 1,
666
+ }
667
+
668
+ const [ tabKey, setTabKey ] = useState('single')
669
+ const [value, setValue] = useState(selectProps?.mode ? [] : null);
670
+
671
+ const props = {
672
+ value,
673
+ onChange: (value: any) => {
674
+ console.log(value)
675
+ setValue(value)
676
+ },
677
+ // requestConfig: {
678
+ // url: `/bop/api/channelWarehouse`,
679
+ // filter: 'qp-channelWarehouseName,channelWarehouseCode-orGroup,like',
680
+ // mappingTextField: 'channelWarehouseName',
681
+ // mappingValueField: 'channelWarehouseCode',
682
+ // otherParams: {
683
+ // sorter: 'desc-id'
684
+ // }, // 默认参数
685
+ // sourceName: 'warehouseIds',
686
+ // },
687
+ // prefixUrl: { selectPrefix: '/bop/api', formSelectFix: '/bop/api' },
688
+ selectProps,
689
+ selectBusinessType: 'channelWarehouse',
690
+ };
691
+
692
+ const onTabChange = (key) => {
693
+ setTabKey(key)
694
+ setValue(key === 'single' ? null: [])
695
+ }
696
+
697
+ return (
698
+ <div>
699
+ <Tabs onChange={onTabChange} activeKey={tabKey}>
700
+ <TabPane tab='单选' key='single'>
701
+ {tabKey === 'single' && (
702
+ <BusinessSearchSelect {...props} />
703
+ )}
704
+ </TabPane>
705
+ <TabPane tab='多选' key='multiple'>
706
+ {tabKey === 'multiple' && (
707
+ <BusinessSearchSelect {...props} selectProps={selectPropsMultiple} />
708
+ )}
709
+ </TabPane>
710
+ </Tabs>
711
+ </div>
712
+ );
713
+ };
714
+ ```
715
+
716
+
717
+ ## 客户选择器 Select-KH-001
718
+
719
+ ```tsx
720
+ import React, { useState } from 'react';
721
+ import { Tabs } from 'antd';
722
+ import {BusinessSearchSelect} from '../../../index.ts';
723
+
724
+ const { TabPane } = Tabs;
725
+
726
+ export default () => {
727
+ const selectProps = {
728
+ // mode: 'multiple',
729
+ // maxTagCount: 1,
730
+ // disabled: true
731
+ }
732
+ const selectPropsMultiple = {
733
+ mode: 'multiple',
734
+ maxTagCount: 1,
735
+ }
736
+
737
+ const [ tabKey, setTabKey ] = useState('single')
738
+ const [value, setValue] = useState(selectProps?.mode ? [] : null);
739
+
740
+ const props = {
741
+ value,
742
+ onChange: (value: any) => {
743
+ console.log(value)
744
+ setValue(value)
745
+ },
746
+ // requestConfig: {
747
+ // url: `/bop/api/customer`,
748
+ // filter: 'qp-name,code-orGroup,like', // 过滤参数
749
+ // mappingTextField: 'name',
750
+ // mappingValueField: 'code',
751
+ // otherParams: {
752
+ // sorter: 'desc-id'
753
+ // }, // 默认参数
754
+ // sourceName: 'customerCode',
755
+ // },
756
+ // prefixUrl: { selectPrefix: '/bop/api', formSelectFix: '/bop/api' },
757
+ selectProps,
758
+ selectBusinessType: 'customer',
759
+ };
760
+
761
+ const props2 = {
762
+ ...props,
763
+ // prefixUrl: { selectPrefix: '/channel-manage/', formSelectFix: '/channel-manage/' },
764
+ selectBusinessType: 'customer2',
765
+ }
766
+
767
+ const onTabChange = (key) => {
768
+ setTabKey(key)
769
+ setValue(key === 'single' ? null: [])
770
+ }
771
+
772
+ return (
773
+ <div>
774
+ <Tabs onChange={onTabChange} activeKey={tabKey}>
775
+ <TabPane tab='单选' key='single'>
776
+ {tabKey === 'single' && (
777
+ <>
778
+ <span>版本1:支持英伦项目...</span>
779
+ <BusinessSearchSelect {...props} />
780
+ <span>版本2:支持麦克英孚项目...</span>
781
+ <BusinessSearchSelect {...props2} />
782
+ </>
783
+ )}
784
+ </TabPane>
785
+ <TabPane tab='多选' key='multiple'>
786
+ {tabKey === 'multiple' && (
787
+ <>
788
+ <span>版本1:支持英伦项目...</span>
789
+ <BusinessSearchSelect {...props} selectProps={selectPropsMultiple} />
790
+ <span>版本2:支持麦克英孚项目...</span>
791
+ <BusinessSearchSelect {...props2} selectProps={selectPropsMultiple} />
792
+ </>
793
+ )}
794
+ </TabPane>
795
+ </Tabs>
796
+ </div>
797
+ );
798
+ };
799
+ ```
800
+
801
+
802
+ ## 店铺选择器 Select-DP-001
803
+
804
+ ```tsx
805
+ import React, { useState } from 'react';
806
+ import { Tabs } from 'antd';
807
+ import {BusinessSearchSelect} from '../../../index.ts';
808
+
809
+ const { TabPane } = Tabs;
810
+
811
+ export default () => {
812
+ const selectProps = {
813
+ // mode: 'multiple',
814
+ // maxTagCount: 1,
815
+ // disabled: true
816
+ }
817
+ const selectPropsMultiple = {
818
+ mode: 'multiple',
819
+ maxTagCount: 1,
820
+ }
821
+
822
+ const [ tabKey, setTabKey ] = useState('single')
823
+ const [value, setValue] = useState(selectProps?.mode ? [] : null);
824
+
825
+ const props = {
826
+ value,
827
+ onChange: (value: any) => {
828
+ console.log(value)
829
+ setValue(value)
830
+ },
831
+ // requestConfig: {
832
+ // url: `/bop/api/store`,
833
+ // filter: 'qp-name,code-orGroup,like',,
834
+ // mappingTextField: 'name',
835
+ // mappingValueField: 'code',
836
+ // otherParams: {
837
+ // sorter: 'desc-id'
838
+ // }, // 默认参数
839
+ // sourceName: 'code',
840
+ // },
841
+ // prefixUrl: { selectPrefix: '/bop/api', formSelectFix: '/bop/api' },
842
+ selectProps,
843
+ selectBusinessType: 'shopFile',
844
+ };
845
+
846
+ const props2 = {
847
+ ...props,
848
+ // prefixUrl: { selectPrefix: '/channel-manage/', formSelectFix: '/channel-manage/' },
849
+ selectBusinessType: 'shopFile2',
850
+ }
851
+
852
+ const onTabChange = (key) => {
853
+ setTabKey(key)
854
+ setValue(key === 'single' ? null: [])
855
+ }
856
+
857
+ return (
858
+ <div>
859
+ <Tabs onChange={onTabChange} activeKey={tabKey}>
860
+ <TabPane tab='单选' key='single'>
861
+ {tabKey === 'single' && (
862
+ <>
863
+ <span>版本1:支持英伦项目...</span>
864
+ <BusinessSearchSelect {...props} />
865
+ <span>版本2:支持麦克英孚项目...</span>
866
+ <BusinessSearchSelect {...props2} />
867
+ </>
868
+ )}
869
+ </TabPane>
870
+ <TabPane tab='多选' key='multiple'>
871
+ {tabKey === 'multiple' && (
872
+ <>
873
+ <span>版本1:支持英伦项目...</span>
874
+ <BusinessSearchSelect {...props} selectProps={selectPropsMultiple} />
875
+ <span>版本2:支持麦克英孚项目...</span>
876
+ <BusinessSearchSelect {...props2} selectProps={selectPropsMultiple} />
877
+ </>
878
+ )}
879
+ </TabPane>
880
+ </Tabs>
881
+ </div>
882
+ );
883
+ };
884
+ ```
885
+
886
+
887
+ ## 核算主体选择器 Select-HSZT-001
888
+
889
+ ```tsx
890
+ import React, { useState } from 'react';
891
+ import { Tabs } from 'antd';
892
+ import {BusinessSearchSelect} from '../../../index.ts';
893
+
894
+ const { TabPane } = Tabs;
895
+
896
+ export default () => {
897
+ const selectProps = {
898
+ // mode: 'multiple',
899
+ // maxTagCount: 1,
900
+ // disabled: true
901
+ }
902
+ const selectPropsMultiple = {
903
+ mode: 'multiple',
904
+ maxTagCount: 1,
905
+ }
906
+
907
+ const [ tabKey, setTabKey ] = useState('single')
908
+ const [value, setValue] = useState(selectProps?.mode ? [] : null);
909
+
910
+ const props = {
911
+ value,
912
+ onChange: (value: any) => {
913
+ console.log(value)
914
+ setValue(value)
915
+ },
916
+ // requestConfig: {
917
+ // url: `/bop/api/accountingSubject`,
918
+ // filter: 'qp-name,code-orGroup,like',
919
+ // mappingTextField: 'name',
920
+ // mappingValueField: 'code',
921
+ // otherParams: {
922
+ // sorter: 'desc-id'
923
+ // }, // 默认参数
924
+ // sourceName: 'accountingCode',
925
+ // },
926
+ // prefixUrl: { selectPrefix: '/bop/api', formSelectFix: '/bop/api' },
927
+ selectProps,
928
+ selectBusinessType: 'accountingSubject',
929
+ };
930
+
931
+ const onTabChange = (key) => {
932
+ setTabKey(key)
933
+ setValue(key === 'single' ? null: [])
934
+ }
935
+
936
+ return (
937
+ <div>
938
+ <Tabs onChange={onTabChange} activeKey={tabKey}>
939
+ <TabPane tab='单选' key='single'>
940
+ {tabKey === 'single' && (
941
+ <BusinessSearchSelect {...props} />
942
+ )}
943
+ </TabPane>
944
+ <TabPane tab='多选' key='multiple'>
945
+ {tabKey === 'multiple' && (
946
+ <BusinessSearchSelect {...props} selectProps={selectPropsMultiple} />
947
+ )}
948
+ </TabPane>
949
+ </Tabs>
950
+ </div>
951
+ );
952
+ };
953
+ ```
954
+
955
+
956
+ ## 库存组织选择器 Select-KCZZ-001
957
+
958
+ ```tsx
959
+ import React, { useState } from 'react';
960
+ import { Tabs } from 'antd';
961
+ import {BusinessSearchSelect} from '../../../index.ts';
962
+
963
+ const { TabPane } = Tabs;
964
+
965
+ export default () => {
966
+ const selectProps = {
967
+ // mode: 'multiple',
968
+ // maxTagCount: 1,
969
+ // disabled: true
970
+ }
971
+ const selectPropsMultiple = {
972
+ mode: 'multiple',
973
+ maxTagCount: 1,
974
+ }
975
+
976
+ const [ tabKey, setTabKey ] = useState('single')
977
+ const [value, setValue] = useState(selectProps?.mode ? [] : null);
978
+
979
+ const props = {
980
+ value,
981
+ onChange: (value: any) => {
982
+ console.log(value)
983
+ setValue(value)
984
+ },
985
+ // requestConfig: {
986
+ // url: `/bop/api/inventoryOrg`,
987
+ // filter: 'qp-name,code-orGroup,like',
988
+ // mappingTextField: 'name',
989
+ // mappingValueField: 'code',
990
+ // otherParams: {
991
+ // sorter: 'desc-id'
992
+ // }, // 默认参数
993
+ // sourceName: 'inventoryOrgCode',
994
+ // },
995
+ // prefixUrl: { selectPrefix: '/bop/api', formSelectFix: '/bop/api' },
996
+ selectProps,
997
+ selectBusinessType: 'inventoryOrg',
998
+ };
999
+
1000
+ const props2 = {
1001
+ ...props,
1002
+ selectBusinessType: 'inventoryOrg2',
1003
+ }
1004
+
1005
+ const onTabChange = (key) => {
1006
+ setTabKey(key)
1007
+ setValue(key === 'single' ? null: [])
1008
+ }
1009
+
1010
+ return (
1011
+
1012
+ <div>
1013
+ <Tabs onChange={onTabChange} activeKey={tabKey}>
1014
+ <TabPane tab='单选' key='single'>
1015
+ {tabKey === 'single' && <BusinessSearchSelect {...props} />}
1016
+ </TabPane>
1017
+ <TabPane tab='多选' key='multiple'>
1018
+ {tabKey === 'multiple' && <BusinessSearchSelect {...props} selectProps={selectPropsMultiple} />}
1019
+ </TabPane>
1020
+ </Tabs>
1021
+ </div>
1022
+ );
1023
+ };
1024
+ ```
1025
+
1026
+
1027
+ ## 法人公司选择器 Select-FRGS-001
1028
+
1029
+ ```tsx
1030
+ import React, { useState } from 'react';
1031
+ import { Tabs } from 'antd';
1032
+ import {BusinessSearchSelect} from '../../../index.ts';
1033
+
1034
+ const { TabPane } = Tabs;
1035
+
1036
+ export default () => {
1037
+ const selectProps = {
1038
+ // mode: 'multiple',
1039
+ // maxTagCount: 1,
1040
+ // disabled: true
1041
+ }
1042
+ const selectPropsMultiple = {
1043
+ mode: 'multiple',
1044
+ maxTagCount: 1,
1045
+ }
1046
+
1047
+ const [ tabKey, setTabKey ] = useState('single')
1048
+ const [value, setValue] = useState(selectProps?.mode ? [] : null);
1049
+
1050
+ const props = {
1051
+ value,
1052
+ onChange: (value: any) => {
1053
+ console.log(value)
1054
+ setValue(value)
1055
+ },
1056
+ // requestConfig: {
1057
+ // url: `/bop/api/company`,
1058
+ // filter: 'qp-name,code-orGroup,like',
1059
+ // mappingTextField: 'name',
1060
+ // mappingValueField: 'code',
1061
+ // otherParams: {
1062
+ // 'qp-companyType-eq': '20',
1063
+ // sorter: 'desc-id'
1064
+ // }, // 默认参数
1065
+ // sourceName: 'companyCode',
1066
+ // },
1067
+ // prefixUrl: { selectPrefix: '/bop/api', formSelectFix: '/bop/api' },
1068
+ selectProps,
1069
+ selectBusinessType: 'corporationCompany',
1070
+ };
1071
+
1072
+ const onTabChange = (key) => {
1073
+ setTabKey(key)
1074
+ setValue(key === 'single' ? null: [])
1075
+ }
1076
+
1077
+ return (
1078
+ <div>
1079
+ <Tabs onChange={onTabChange} activeKey={tabKey}>
1080
+ <TabPane tab='单选' key='single'>
1081
+ {tabKey === 'single' && (
1082
+ <BusinessSearchSelect {...props} />
1083
+ )}
1084
+ </TabPane>
1085
+ <TabPane tab='多选' key='multiple'>
1086
+ {tabKey === 'multiple' && (
1087
+ <BusinessSearchSelect {...props} selectProps={selectPropsMultiple} />
1088
+ )}
1089
+ </TabPane>
1090
+ </Tabs>
1091
+ </div>
1092
+ );
1093
+ };
1094
+ ```
1095
+
1096
+
1097
+ ## 员工选择器 Select-YG-001
1098
+
1099
+ ```tsx
1100
+ import React, { useState } from 'react';
1101
+ import { Tabs } from 'antd';
1102
+ import {BusinessSearchSelect} from '../../../index.ts';
1103
+
1104
+ const { TabPane } = Tabs;
1105
+
1106
+ export default () => {
1107
+ const selectProps = {
1108
+ // mode: 'multiple',
1109
+ // maxTagCount: 1,
1110
+ // disabled: true
1111
+ }
1112
+ const selectPropsMultiple = {
1113
+ mode: 'multiple',
1114
+ maxTagCount: 1,
1115
+ }
1116
+
1117
+ const [ tabKey, setTabKey ] = useState('single')
1118
+ const [value, setValue] = useState(selectProps?.mode ? [] : null);
1119
+
1120
+ const props = {
1121
+ value,
1122
+ onChange: (value: any) => {
1123
+ console.log(value)
1124
+ setValue(value)
1125
+ },
1126
+ // requestConfig: {
1127
+ // url: `/bop/api/employee`,
1128
+ // filter: 'qp-name,code-orGroup,like',
1129
+ // mappingTextField: 'name',
1130
+ // mappingValueField: 'code',
1131
+ // otherParams: {
1132
+ // sorter: 'desc-id'
1133
+ // }, // 默认参数
1134
+ // sourceName: 'code',
1135
+ // },
1136
+ // prefixUrl: { selectPrefix: '/bop/api', formSelectFix: '/bop/api' },
1137
+ selectProps,
1138
+ selectBusinessType: 'employee',
1139
+ };
1140
+
1141
+ const props2 = {
1142
+ ...props,
1143
+ // prefixUrl: { selectPrefix: '/user/api', formSelectFix: '/user/api' },
1144
+ selectBusinessType: 'employee2',
1145
+ }
1146
+
1147
+ const onTabChange = (key) => {
1148
+ setTabKey(key)
1149
+ setValue(key === 'single' ? null: [])
1150
+ }
1151
+
1152
+ return (
1153
+ <div>
1154
+ <Tabs onChange={onTabChange} activeKey={tabKey}>
1155
+ <TabPane tab='单选' key='single'>
1156
+ {tabKey === 'single' && (
1157
+ <>
1158
+ <span>版本1:支持英伦项目...</span>
1159
+ <BusinessSearchSelect {...props} />
1160
+ <span>版本2:支持麦克英孚项目...</span>
1161
+ <BusinessSearchSelect {...props2} />
1162
+ </>
1163
+ )}
1164
+ </TabPane>
1165
+ <TabPane tab='多选' key='multiple'>
1166
+ {tabKey === 'multiple' && (
1167
+ <>
1168
+ <span>版本1:支持英伦项目...</span>
1169
+ <BusinessSearchSelect {...props} selectProps={selectPropsMultiple} />
1170
+ <span>版本2:支持麦克英孚项目...</span>
1171
+ <BusinessSearchSelect {...props2} selectProps={selectPropsMultiple} />
1172
+ </>
1173
+ )}
1174
+ </TabPane>
1175
+ </Tabs>
1176
+ </div>
1177
+ );
1178
+ };
1179
+ ```
1180
+
1181
+
1182
+ ## 配送方式选择器 Select-PSFS-001
1183
+
1184
+ ```tsx
1185
+ import React, { useState } from 'react';
1186
+ import { Tabs } from 'antd';
1187
+ import {BusinessSearchSelect} from '../../../index.ts';
1188
+
1189
+ const { TabPane } = Tabs;
1190
+
1191
+ export default () => {
1192
+ const selectProps = {
1193
+ // mode: 'multiple',
1194
+ // maxTagCount: 1,
1195
+ // disabled: true
1196
+ }
1197
+ const selectPropsMultiple = {
1198
+ mode: 'multiple',
1199
+ maxTagCount: 1,
1200
+ }
1201
+
1202
+ const [ tabKey, setTabKey ] = useState('single')
1203
+ const [value, setValue] = useState(selectProps?.mode ? [] : null);
1204
+
1205
+ const props = {
1206
+ value,
1207
+ onChange: (value: any) => {
1208
+ console.log(value)
1209
+ setValue(value)
1210
+ },
1211
+ // requestConfig: {
1212
+ // url: `/bop/api/getDeliveryModeCodeNameMap`,
1213
+ // filter: 'qp-name,code-orGroup,like',
1214
+ // mappingTextField: 'name',
1215
+ // mappingValueField: 'code',
1216
+ // otherParams: {
1217
+ // sorter: 'desc-id'
1218
+ // }, // 默认参数
1219
+ // sourceName: 'deliveryModeCode',
1220
+ // },
1221
+ // prefixUrl: { selectPrefix: '/bop/api', formSelectFix: '/bop/api' },
1222
+ selectProps,
1223
+ selectBusinessType: 'deliveryMode',
1224
+ };
1225
+
1226
+ const onTabChange = (key) => {
1227
+ setTabKey(key)
1228
+ setValue(key === 'single' ? null: [])
1229
+ }
1230
+
1231
+ return (
1232
+ <div>
1233
+ <Tabs onChange={onTabChange} activeKey={tabKey}>
1234
+ <TabPane tab='单选' key='single'>
1235
+ {tabKey === 'single' && (
1236
+ <BusinessSearchSelect {...props} />
1237
+ )}
1238
+ </TabPane>
1239
+ <TabPane tab='多选' key='multiple'>
1240
+ {tabKey === 'multiple' && (
1241
+ <BusinessSearchSelect {...props} selectProps={selectPropsMultiple} />
1242
+ )}
1243
+ </TabPane>
1244
+ </Tabs>
1245
+ </div>
1246
+ );
1247
+ };
1248
+ ```
1249
+
1250
+ More skills for writing demo: https://d.umijs.org/guide/demo-principle
1251
+
1252
+
1253
+ ## 规则场景选择器 Select-GZCJ-001
1254
+
1255
+ ```tsx
1256
+ import React, { useState } from 'react';
1257
+ import { Tabs } from 'antd';
1258
+ import {BusinessSearchSelect} from '../../../index.ts';
1259
+
1260
+ const { TabPane } = Tabs;
1261
+
1262
+ export default () => {
1263
+ const selectProps = {
1264
+ // mode: 'multiple',
1265
+ // maxTagCount: 1,
1266
+ // disabled: true
1267
+ }
1268
+ const selectPropsMultiple = {
1269
+ mode: 'multiple',
1270
+ maxTagCount: 1,
1271
+ }
1272
+
1273
+ const [ tabKey, setTabKey ] = useState('single')
1274
+ const [value, setValue] = useState(selectProps?.mode ? [] : null);
1275
+
1276
+ const props = {
1277
+ value,
1278
+ onChange: (value: any) => {
1279
+ console.log(value)
1280
+ setValue(value)
1281
+ },
1282
+ selectProps,
1283
+ selectBusinessType: 'ruleTemplate',
1284
+ };
1285
+
1286
+ const onTabChange = (key) => {
1287
+ setTabKey(key)
1288
+ setValue(key === 'single' ? null: [])
1289
+ }
1290
+
1291
+ return (
1292
+ <div>
1293
+ <Tabs onChange={onTabChange} activeKey={tabKey}>
1294
+ <TabPane tab='单选' key='single'>
1295
+ {tabKey === 'single' && (
1296
+ <BusinessSearchSelect {...props} />
1297
+ )}
1298
+ </TabPane>
1299
+ <TabPane tab='多选' key='multiple'>
1300
+ {tabKey === 'multiple' && (
1301
+ <BusinessSearchSelect {...props} selectProps={selectPropsMultiple} />
1302
+ )}
1303
+ </TabPane>
1304
+ </Tabs>
1305
+ </div>
1306
+ );
1307
+ };
1308
+ ```
1309
+
1310
+ More skills for writing demo: https://d.umijs.org/guide/demo-principle