@bit-sun/business-component 2.3.21 → 2.3.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (202) 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/BsLayouts/Components/CustomerMenu/MenuSetting/index.d.ts +1 -1
  9. package/dist/components/Business/BsLayouts/Components/CustomerMenu/index.d.ts +1 -1
  10. package/dist/components/Business/SearchSelect/index.d.ts +1 -1
  11. package/dist/components/Business/moreTreeTable/FixedScrollBar.d.ts +1 -1
  12. package/dist/components/Functional/AddSelect/helps.d.ts +13 -0
  13. package/dist/components/Functional/SearchSelect/index.d.ts +1 -1
  14. package/dist/index.esm.js +1338 -1258
  15. package/dist/index.js +1344 -1264
  16. package/dist/utils/utils.d.ts +1 -1
  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 +78 -78
  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/common/ENUM.ts +41 -41
  52. package/src/components/Business/AddSelectBusiness/index.md +162 -162
  53. package/src/components/Business/AddSelectBusiness/index.tsx +1060 -895
  54. package/src/components/Business/BsLayouts/Components/AllFunc/drawContent.tsx +111 -111
  55. package/src/components/Business/BsLayouts/Components/AllFunc/index.less +153 -153
  56. package/src/components/Business/BsLayouts/Components/AllFunc/index.tsx +70 -70
  57. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/index.less +90 -90
  58. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/index.tsx +37 -37
  59. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/leftTree.tsx +242 -242
  60. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/rightTree.tsx +384 -384
  61. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/DrawContent.tsx +285 -285
  62. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/customMenuHeader.tsx +74 -74
  63. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/drawContent.less +170 -170
  64. package/src/components/Business/BsLayouts/Components/CustomerMenu/index.less +64 -64
  65. package/src/components/Business/BsLayouts/Components/CustomerMenu/index.tsx +153 -153
  66. package/src/components/Business/BsLayouts/Components/GlobalHeader/index.less +72 -72
  67. package/src/components/Business/BsLayouts/Components/GlobalHeader/index.tsx +157 -157
  68. package/src/components/Business/BsLayouts/Components/RightContent/LoginModal.tsx +85 -85
  69. package/src/components/Business/BsLayouts/Components/RightContent/home.less +218 -218
  70. package/src/components/Business/BsLayouts/Components/RightContent/index.tsx +155 -155
  71. package/src/components/Business/BsLayouts/Components/SearchFunc/index.less +160 -160
  72. package/src/components/Business/BsLayouts/Components/SearchFunc/index.tsx +75 -75
  73. package/src/components/Business/BsLayouts/index.less +79 -79
  74. package/src/components/Business/BsLayouts/index.tsx +1484 -1484
  75. package/src/components/Business/BsLayouts/service.ts +10 -10
  76. package/src/components/Business/BsLayouts/utils.tsx +203 -203
  77. package/src/components/Business/BsSulaQueryTable/SearchItemSetting.tsx +564 -564
  78. package/src/components/Business/BsSulaQueryTable/index.less +221 -221
  79. package/src/components/Business/BsSulaQueryTable/index.tsx +535 -535
  80. package/src/components/Business/BsSulaQueryTable/setting.tsx +852 -852
  81. package/src/components/Business/BsSulaQueryTable/utils.less +65 -65
  82. package/src/components/Business/BsSulaQueryTable/utils.tsx +690 -690
  83. package/src/components/Business/CommodityEntry/index.md +70 -70
  84. package/src/components/Business/CommodityEntry/index.tsx +80 -80
  85. package/src/components/Business/CommonAlert/index.tsx +23 -23
  86. package/src/components/Business/CommonGuideWrapper/index.less +111 -111
  87. package/src/components/Business/CommonGuideWrapper/index.md +39 -39
  88. package/src/components/Business/CommonGuideWrapper/index.tsx +83 -83
  89. package/src/components/Business/DetailPageWrapper/index.less +79 -79
  90. package/src/components/Business/DetailPageWrapper/index.tsx +313 -313
  91. package/src/components/Business/DetailPageWrapper/utils.tsx +100 -100
  92. package/src/components/Business/HomePageWrapper/index.less +33 -33
  93. package/src/components/Business/HomePageWrapper/index.md +45 -45
  94. package/src/components/Business/HomePageWrapper/index.tsx +162 -162
  95. package/src/components/Business/JsonQueryTable/components/FieldsModifyModal.tsx +824 -824
  96. package/src/components/Business/JsonQueryTable/components/FieldsSettingsTable.tsx +205 -205
  97. package/src/components/Business/JsonQueryTable/components/Formula.tsx +205 -205
  98. package/src/components/Business/JsonQueryTable/components/MaintainOptions.tsx +127 -127
  99. package/src/components/Business/JsonQueryTable/configButton/index.js +20 -20
  100. package/src/components/Business/JsonQueryTable/configTree/component/compactArrayView.js +25 -25
  101. package/src/components/Business/JsonQueryTable/configTree/component/compactObjectView.js +30 -30
  102. package/src/components/Business/JsonQueryTable/configTree/index.js +82 -82
  103. package/src/components/Business/JsonQueryTable/configTree/index.less +44 -44
  104. package/src/components/Business/JsonQueryTable/configTree/parser/highlight.js +57 -57
  105. package/src/components/Business/JsonQueryTable/configTree/parser/index.js +124 -124
  106. package/src/components/Business/JsonQueryTable/configTree/render/iconRender.js +29 -29
  107. package/src/components/Business/JsonQueryTable/configTree/render/nameRender.js +22 -22
  108. package/src/components/Business/JsonQueryTable/configTree/treeNode.js +116 -116
  109. package/src/components/Business/JsonQueryTable/drawer/index.tsx +12 -12
  110. package/src/components/Business/JsonQueryTable/function.ts +62 -62
  111. package/src/components/Business/JsonQueryTable/index.less +16 -16
  112. package/src/components/Business/JsonQueryTable/index.md +328 -328
  113. package/src/components/Business/JsonQueryTable/index.tsx +535 -535
  114. package/src/components/Business/JsonQueryTable/jsonEditor/index.js +346 -346
  115. package/src/components/Business/JsonQueryTable/jsonEditor/index.less +22 -22
  116. package/src/components/Business/JsonQueryTable/jsonEditor/lint/basicType.js +147 -147
  117. package/src/components/Business/JsonQueryTable/jsonEditor/lint/index.js +389 -389
  118. package/src/components/Business/JsonQueryTable/jsonEditor/suggestions/actions.js +118 -118
  119. package/src/components/Business/JsonQueryTable/jsonEditor/suggestions/dependency.js +22 -22
  120. package/src/components/Business/JsonQueryTable/jsonEditor/suggestions/index.js +21 -21
  121. package/src/components/Business/JsonQueryTable/jsonEditor/suggestions/request.js +65 -65
  122. package/src/components/Business/JsonQueryTable/static.ts +390 -390
  123. package/src/components/Business/SearchSelect/BusinessUtils.ts +1762 -1762
  124. package/src/components/Business/SearchSelect/common.ts +75 -75
  125. package/src/components/Business/SearchSelect/index.md +1329 -1329
  126. package/src/components/Business/SearchSelect/index.tsx +55 -55
  127. package/src/components/Business/SearchSelect/utils.ts +100 -100
  128. package/src/components/Business/StateFlow/index.less +130 -130
  129. package/src/components/Business/StateFlow/index.md +60 -60
  130. package/src/components/Business/StateFlow/index.tsx +29 -29
  131. package/src/components/Business/TreeSearchSelect/index.md +156 -156
  132. package/src/components/Business/TreeSearchSelect/index.tsx +33 -33
  133. package/src/components/Business/TreeSearchSelect/utils.ts +75 -75
  134. package/src/components/Business/columnSettingTable/columnSetting.tsx +764 -764
  135. package/src/components/Business/columnSettingTable/index.less +247 -247
  136. package/src/components/Business/columnSettingTable/index.md +357 -357
  137. package/src/components/Business/columnSettingTable/index.tsx +232 -232
  138. package/src/components/Business/columnSettingTable/sulaSettingTable.tsx +240 -240
  139. package/src/components/Business/columnSettingTable/utils.tsx +71 -71
  140. package/src/components/Business/moreTreeTable/FixedScrollBar.tsx +87 -87
  141. package/src/components/Business/moreTreeTable/hooks/useSticky.ts +21 -21
  142. package/src/components/Business/moreTreeTable/index.less +99 -99
  143. package/src/components/Business/moreTreeTable/index.md +448 -448
  144. package/src/components/Business/moreTreeTable/index.tsx +387 -387
  145. package/src/components/Business/moreTreeTable/utils.ts +126 -126
  146. package/src/components/Functional/AddSelect/helps.ts +79 -14
  147. package/src/components/Functional/AddSelect/index.less +367 -367
  148. package/src/components/Functional/AddSelect/index.md +155 -155
  149. package/src/components/Functional/AddSelect/index.tsx +1170 -1282
  150. package/src/components/Functional/BillEntry/index.less +371 -371
  151. package/src/components/Functional/BillEntry/index.md +39 -39
  152. package/src/components/Functional/BillEntry/index.tsx +772 -772
  153. package/src/components/Functional/BsAntdSula/BsCascader/index.md +62 -62
  154. package/src/components/Functional/BsAntdSula/BsCascader/index.tsx +178 -178
  155. package/src/components/Functional/BsAntdSula/index.ts +2 -2
  156. package/src/components/Functional/DataImport/index.less +63 -63
  157. package/src/components/Functional/DataImport/index.md +44 -44
  158. package/src/components/Functional/DataImport/index.tsx +695 -695
  159. package/src/components/Functional/DataValidation/index.less +63 -63
  160. package/src/components/Functional/DataValidation/index.md +39 -39
  161. package/src/components/Functional/DataValidation/index.tsx +687 -687
  162. package/src/components/Functional/EllipsisTooltip/index.d.ts +5 -5
  163. package/src/components/Functional/EllipsisTooltip/index.js +36 -36
  164. package/src/components/Functional/EllipsisTooltip/index.md +30 -30
  165. package/src/components/Functional/ExportFunctions/ExportIcon/index.md +37 -37
  166. package/src/components/Functional/ExportFunctions/ExportIcon/index.tsx +59 -59
  167. package/src/components/Functional/QueryMutipleInput/index.less +37 -37
  168. package/src/components/Functional/QueryMutipleInput/index.md +33 -33
  169. package/src/components/Functional/QueryMutipleInput/index.tsx +128 -128
  170. package/src/components/Functional/SearchSelect/index.less +115 -115
  171. package/src/components/Functional/SearchSelect/index.md +141 -141
  172. package/src/components/Functional/SearchSelect/index.tsx +879 -879
  173. package/src/components/Functional/SearchSelect/utils.ts +3 -3
  174. package/src/components/Functional/TreeSearchSelect/index.md +47 -47
  175. package/src/components/Functional/TreeSearchSelect/index.tsx +199 -199
  176. package/src/components/Solution/RuleComponent/Formula.tsx +335 -335
  177. package/src/components/Solution/RuleComponent/index.d.ts +29 -29
  178. package/src/components/Solution/RuleComponent/index.js +2032 -2032
  179. package/src/components/Solution/RuleComponent/index.less +230 -230
  180. package/src/components/Solution/RuleComponent/renderSpecificAction.js +99 -99
  181. package/src/components/Solution/RuleComponent/ruleFiled.js +2107 -2107
  182. package/src/components/Solution/RuleComponent/services.ts +13 -13
  183. package/src/components/Solution/RuleComponent/util.js +139 -139
  184. package/src/index.ts +38 -38
  185. package/src/plugin/TableColumnSetting/index.less +247 -247
  186. package/src/plugin/TableColumnSetting/index.md +50 -50
  187. package/src/plugin/TableColumnSetting/index.tsx +724 -724
  188. package/src/plugin/TableColumnSetting/utils.ts +19 -19
  189. package/src/styles/bsDefault.less +1912 -1912
  190. package/src/utils/CheckOneUser/index.md +39 -39
  191. package/src/utils/CheckOneUser/index.ts +51 -51
  192. package/src/utils/LocalstorageUtils.ts +95 -95
  193. package/src/utils/TableUtils.tsx +18 -18
  194. package/src/utils/checkUtils.ts +39 -39
  195. package/src/utils/enumConfig.ts +11 -11
  196. package/src/utils/getFormMode.js +12 -12
  197. package/src/utils/index.ts +4 -4
  198. package/src/utils/requestUtils.ts +34 -34
  199. package/src/utils/serialize.js +7 -7
  200. package/src/utils/utils.ts +212 -212
  201. package/tsconfig.json +29 -29
  202. package/typings.d.ts +4 -4
@@ -1,2107 +1,2107 @@
1
- import React, { Component } from 'react';
2
- import { Select, Input, InputNumber, DatePicker, TimePicker } from 'antd';
3
- import styles from './index.less';
4
- import { getRegularThresholdRange } from './services';
5
- import moment from 'moment';
6
- import { handleError, judgeIsEmpty } from '../../../utils/utils';
7
- import { queryIdentityInfo, findChangedThresholdQuery, setParams } from './util';
8
- import { request as SulaRequest } from 'bssula';
9
- import { stringify } from 'querystring';
10
- import {
11
- BusinessSearchSelect,
12
- BusinessTreeSearchSelect,
13
- BsCascader
14
- } from '../../../index';
15
- const { RangePicker } = DatePicker;
16
-
17
- export default class RuleField extends Component {
18
- constructor(props) {
19
- super(props);
20
- this.state = {
21
- selectOperation: '',
22
- dataTypeCode: '',
23
- dataChoiceBusinessType: '',
24
- dataInputBusinessType: '',
25
- fieldValues: [],
26
- thresholdQuery: {},
27
- thresholdList: [],
28
- options: [],
29
- };
30
- }
31
-
32
- componentDidMount() {
33
- const {
34
- selectOperation,
35
- dataTypeCode,
36
- dataChoiceBusinessType,
37
- dataInputBusinessType,
38
- options,
39
- values,
40
- initialThresholdQuery,
41
- queryIdentify,
42
- propertyCode,
43
- queryIdentifyType,
44
- } = this.props;
45
- this.setState(
46
- {
47
- selectOperation,
48
- thresholdQuery: initialThresholdQuery
49
- ? {
50
- ...initialThresholdQuery,
51
- }
52
- : {},
53
- dataTypeCode,
54
- dataChoiceBusinessType,
55
- dataInputBusinessType,
56
- fieldValues: [...values],
57
- options,
58
- },
59
- () => {
60
- !judgeIsEmpty(queryIdentify) &&
61
- this.getRegularThresholdRange(
62
- queryIdentify,
63
- propertyCode,
64
- queryIdentifyType,
65
- );
66
- },
67
- );
68
- window.addEventListener('testEvent', this.eventHandle);
69
- }
70
-
71
- eventHandle = (obj) => {
72
- const { thresholdQuery } = this.state;
73
- const { queryIdentify, propertyCode, queryIdentifyType } = this.props;
74
- this.setState(
75
- {
76
- thresholdQuery: {
77
- ...thresholdQuery,
78
- ...obj.data,
79
- },
80
- },
81
- () => {
82
- this.getRegularThresholdRange(
83
- queryIdentify,
84
- propertyCode,
85
- queryIdentifyType,
86
- );
87
- },
88
- );
89
- };
90
-
91
- componentWillUnmount() {
92
- window.removeEventListener('testEvent', this.eventHandle);
93
- }
94
-
95
- componentWillReceiveProps(nextProps) {
96
- if (nextProps.selectOperation != this.props.selectOperation) {
97
- this.setState({
98
- selectOperation: nextProps.selectOperation,
99
- });
100
- }
101
- if (nextProps.dataTypeCode != this.props.dataTypeCode) {
102
- this.setState({
103
- dataTypeCode: nextProps.dataTypeCode,
104
- });
105
- }
106
- if (nextProps.dataChoiceBusinessType != this.props.dataChoiceBusinessType) {
107
- this.setState({
108
- dataChoiceBusinessType: nextProps.dataChoiceBusinessType,
109
- });
110
- }
111
- if (nextProps.dataInputBusinessType != this.props.dataInputBusinessType) {
112
- this.setState({
113
- dataInputBusinessType: nextProps.dataInputBusinessType,
114
- });
115
- }
116
- // if (nextProps.selectOperation != this.props.selectOperation) {
117
- // this.setState({
118
- // options: nextProps.options
119
- // })
120
- // }
121
- if (
122
- nextProps.queryIdentify &&
123
- nextProps.queryIdentify != this.props.queryIdentify
124
- ) {
125
- this.getRegularThresholdRange(
126
- nextProps.queryIdentify,
127
- nextProps.propertyCode,
128
- nextProps.queryIdentifyType,
129
- );
130
- }
131
-
132
- if (
133
- JSON.stringify(nextProps.initialThresholdQuery) !=
134
- JSON.stringify(this.props.initialThresholdQuery)
135
- ) {
136
- console.log(
137
- findChangedThresholdQuery(
138
- this.props.initialThresholdQuery,
139
- nextProps.initialThresholdQuery,
140
- ),
141
- );
142
- let changedPropsVal = findChangedThresholdQuery(
143
- this.props.initialThresholdQuery,
144
- nextProps.initialThresholdQuery,
145
- );
146
- this.setState(
147
- {
148
- thresholdQuery: {
149
- ...nextProps.initialThresholdQuery,
150
- },
151
- },
152
- () => {
153
- if (changedPropsVal.indexOf(nextProps.propertyCode) > -1) {
154
- this.getRegularThresholdRange(
155
- nextProps.queryIdentify,
156
- nextProps.propertyCode,
157
- nextProps.queryIdentifyType,
158
- );
159
- }
160
- },
161
- );
162
- }
163
- }
164
-
165
- //规则对象属性枚举值查询处理 queryIdentify有值是表示该属性有枚举选择
166
- getRegularThresholdRange = async (
167
- queryIdentify,
168
- propertyCode,
169
- queryIdentifyType,
170
- ) => {
171
- if (!queryIdentify) return;
172
- const { thresholdQuery } = this.state;
173
- let extraRequestUrl = '';
174
- let querParams = setParams(propertyCode, thresholdQuery);
175
- if (queryIdentityInfo.find((item) => item.identity == propertyCode)) {
176
- //判断查询属性枚举时有没有必传参数,如果必传参数没有值则不调用查询接口
177
- let needQueryList = queryIdentityInfo
178
- .find((item) => item.identity == propertyCode)
179
- .queryParam.filter((item) => item.isRequired)
180
- .map((item) => item.queryKey);
181
- if (
182
- needQueryList.some(
183
- (item) => !querParams[item] || !querParams[item].length,
184
- )
185
- ) {
186
- return;
187
- }
188
- extraRequestUrl =
189
- queryIdentityInfo.find((item) => item.identity == propertyCode)
190
- .requestUrl || '';
191
- }
192
- if (queryIdentifyType === 'dictCodeIdentify') {
193
- extraRequestUrl = `bscDictItem/selectDictItemsByDictCode`; // 字典接口
194
- querParams = { dictCode: queryIdentify };
195
- } else if (queryIdentifyType === 'dynamicDictCodeIdentify') {
196
- extraRequestUrl = `dictDynamicItem/getDynamicData/${queryIdentify}`; // 字典接口
197
- // querParams = { dictCode: queryIdentify }
198
- }
199
-
200
- if (extraRequestUrl) {
201
- if (queryIdentify == 'maintain_area_code') {
202
- extraRequestUrl = `/basic/${extraRequestUrl}${
203
- querParams.memberCardCode
204
- }?${stringify(querParams)}`;
205
- } else if (queryIdentifyType == 'dictCodeIdentify') {
206
- extraRequestUrl = `/basic/${extraRequestUrl}?${stringify(querParams)}`;
207
- } else if (queryIdentifyType == 'dynamicDictCodeIdentify') {
208
- extraRequestUrl = `/basic/${extraRequestUrl}`;
209
- }
210
-
211
- SulaRequest({
212
- url: extraRequestUrl,
213
- method: 'get',
214
- converter: (res) => {
215
- if (handleError(res)) {
216
- let handleData = res?.data || [];
217
- if (queryIdentifyType === 'dictCodeIdentify') {
218
- handleData = handleData?.length
219
- ? handleData.map((i) => ({
220
- code: i.dictItemCode,
221
- name: i.dictItemName,
222
- }))
223
- : [];
224
- }
225
- if (queryIdentifyType === 'dynamicDictCodeIdentify') {
226
- handleData = handleData?.length
227
- ? handleData.map((i) => ({
228
- code: i.code.toString(),
229
- name: i.name,
230
- }))
231
- : [];
232
- }
233
- this.setState({
234
- thresholdList: handleData,
235
- });
236
- }
237
- return handleData;
238
- },
239
- });
240
- } else {
241
- if (queryIdentifyType == 'objectPropertyListIdentify') {
242
- this.setState({
243
- thresholdList: queryIdentify,
244
- });
245
- } else if (queryIdentifyType == 'objectPropertyCodeIdentify') {
246
- // TODO待处理
247
- this.setState({
248
- thresholdList: [],
249
- });
250
- } else {
251
- querParams.queryIdentify = queryIdentify;
252
- let res = await getRegularThresholdRange(querParams);
253
- if (handleError(res)) {
254
- this.setState({
255
- thresholdList: res?.data || [],
256
- });
257
- }
258
- }
259
- }
260
- };
261
-
262
- renderConditionField = () => {
263
- let {
264
- selectOperation,
265
- dataTypeCode,
266
- dataChoiceBusinessType,
267
- dataInputBusinessType,
268
- options,
269
- values,
270
- valueNames,
271
- callback,
272
- queryIdentify,
273
- disabled,
274
- customerWidth,
275
- } = this.props;
276
- const { thresholdList } = this.state;
277
- const dateFormat = 'YYYY-MM-DD';
278
- const fullDateFormat = 'YYYY-MM-DD HH:mm:ss';
279
- const styleCommon = {
280
- width: customerWidth || '150px',
281
- };
282
- if (!selectOperation) return <Input disabled style={styleCommon}></Input>;
283
- const SET_TYPE = ['in', 'nin', 'cn', 'ncn']; //集合类型
284
- const INTERVAL_TYPE = ['be', 'bed', 'nbe', 'nbed', 'ber', 'bel']; //区间类型
285
- const IS_KONG = ['en']; // 为空
286
- if (IS_KONG.indexOf(selectOperation) > -1) {
287
- return '';
288
- }
289
- // queryIdentify有值是表示该属性有枚举选择
290
- if (!judgeIsEmpty(queryIdentify)) {
291
- if (INTERVAL_TYPE.indexOf(selectOperation) > -1) {
292
- return (
293
- <>
294
- <Select
295
- disabled={disabled}
296
- showSearch
297
- filterOption={(input, option) =>
298
- option.props.children
299
- ?.toLowerCase()
300
- .indexOf(input.toLowerCase()) >= 0
301
- }
302
- onChange={(value, option) => {
303
- values[0] = value;
304
- valueNames[0] = option?.props?.children || '';
305
- callback(values, valueNames);
306
- }}
307
- value={values[0]}
308
- style={styleCommon}
309
- >
310
- {thresholdList.map((item) => (
311
- <Select.Option value={item.code}>{item.name}</Select.Option>
312
- ))}
313
- </Select>
314
- <span>~</span>
315
- <Select
316
- value={values[1]}
317
- disabled={disabled}
318
- showSearch
319
- filterOption={(input, option) =>
320
- option.props.children
321
- ?.toLowerCase()
322
- .indexOf(input.toLowerCase()) >= 0
323
- }
324
- onChange={(value, option) => {
325
- values[1] = value;
326
- valueNames[1] = option?.props?.children || '';
327
- callback(values, valueNames);
328
- }}
329
- style={styleCommon}
330
- >
331
- {thresholdList.map((item) => (
332
- <Select.Option value={item.code}>{item.name}</Select.Option>
333
- ))}
334
- </Select>
335
- </>
336
- );
337
- } else {
338
- return (
339
- <Select
340
- disabled={disabled}
341
- showSearch
342
- filterOption={(input, option) =>
343
- option.props.children
344
- ?.toLowerCase()
345
- .indexOf(input.toLowerCase()) >= 0
346
- }
347
- onChange={(value, option) => {
348
- if (SET_TYPE.indexOf(selectOperation) > -1) {
349
- let valueNames1 = Array.isArray(option)
350
- ? option.map((item) => item?.props?.children || '')
351
- : [];
352
- values = [...value];
353
- valueNames = [...valueNames1];
354
- } else {
355
- values = [value];
356
- valueNames = [option?.props?.children || ''];
357
- }
358
- callback(values, valueNames);
359
- }}
360
- value={SET_TYPE.indexOf(selectOperation) > -1 ? values : values[0]}
361
- style={styleCommon}
362
- mode={
363
- SET_TYPE.indexOf(selectOperation) > -1 ? 'multiple' : 'default'
364
- }
365
- >
366
- {thresholdList.map((item) => (
367
- <Select.Option value={item.code}>{item.name}</Select.Option>
368
- ))}
369
- </Select>
370
- );
371
- }
372
- } else if (dataInputBusinessType == 11 || dataInputBusinessType == 12) {
373
- // 11 单选 12 多选
374
- // 物理仓
375
- if (dataChoiceBusinessType == 110) {
376
- if (INTERVAL_TYPE.indexOf(selectOperation) > -1) {
377
- return (
378
- <>
379
- <BusinessSearchSelect
380
- selectBusinessType="physicalWarehouse"
381
- selectProps={{
382
- style: styleCommon,
383
- placeholder: '请选择物理仓',
384
- ...(dataInputBusinessType === 12
385
- ? {
386
- mode: 'multiple',
387
- maxTagCount: 1,
388
- }
389
- : {}),
390
- }}
391
- disabled={disabled}
392
- labelInValue={true}
393
- value={values[0]}
394
- requestConfig={{
395
- mappingValueField: 'physicalWarehouseCode',
396
- filterInit: 'qp-physicalWarehouseCode-in',
397
- }}
398
- onChange={(value) => {
399
- if (dataInputBusinessType === 12) {
400
- values[0] = value.map((i) => i.key);
401
- valueNames[0] = value.map((i) => i.label || '');
402
- } else {
403
- values[0] = [value.key];
404
- valueNames[0] = [value.label || ''];
405
- }
406
- callback(values, valueNames);
407
- }}
408
- getPopupContainer={() => document.body}
409
- />
410
- <span>~</span>
411
- <BusinessSearchSelect
412
- selectBusinessType="physicalWarehouse"
413
- selectProps={{
414
- style: styleCommon,
415
- placeholder: '请选择物理仓',
416
- ...(dataInputBusinessType === 12
417
- ? {
418
- mode: 'multiple',
419
- maxTagCount: 1,
420
- }
421
- : {}),
422
- }}
423
- disabled={disabled}
424
- labelInValue={true}
425
- value={values[1]}
426
- requestConfig={{
427
- mappingValueField: 'physicalWarehouseCode',
428
- filterInit: 'qp-physicalWarehouseCode-in',
429
- }}
430
- onChange={(value) => {
431
- if (dataInputBusinessType === 12) {
432
- values[1] = value.map((i) => i.key);
433
- valueNames[1] = value.map((i) => i.label || '');
434
- } else {
435
- values[1] = [value.key];
436
- valueNames[1] = [value.label || ''];
437
- }
438
- callback(values, valueNames);
439
- }}
440
- getPopupContainer={() => document.body}
441
- />
442
- </>
443
- );
444
- } else {
445
- const currentValue = dataInputBusinessType === 12 ?
446
- values?.map((s,vIndex)=> ({key: s, label: valueNames[vIndex]}))||[]
447
- : values[0]&&{key:values[0],label:valueNames[0]}||{}
448
- return (
449
- <BusinessSearchSelect
450
- selectBusinessType="physicalWarehouse"
451
- selectProps={{
452
- style: styleCommon,
453
- placeholder: '请选择物理仓',
454
- ...(dataInputBusinessType === 12
455
- ? {
456
- mode: 'multiple',
457
- maxTagCount: 1,
458
- }
459
- : {}),
460
- }}
461
- disabled={disabled}
462
- labelInValue={true}
463
- value={currentValue}
464
- requestConfig={{
465
- mappingValueField: 'physicalWarehouseCode',
466
- filterInit: 'qp-physicalWarehouseCode-in',
467
- }}
468
- onChange={(value) => {
469
- if (dataInputBusinessType === 12) {
470
- values = value.map((i) => i.key)||[];
471
- valueNames = value.map((i) => i.label || '')||[];
472
- } else {
473
- values = value?.key?[value.key]:[];
474
- valueNames = value?.label?[value.label]:[];
475
- }
476
- callback(values, valueNames);
477
- }}
478
- getPopupContainer={() => document.body}
479
- />
480
- );
481
- }
482
- }
483
- // 逻辑仓
484
- if (dataChoiceBusinessType == 120) {
485
- if (INTERVAL_TYPE.indexOf(selectOperation) > -1) {
486
- return (
487
- <>
488
- <BusinessSearchSelect
489
- selectBusinessType="realWarehouse"
490
- selectProps={{
491
- style: styleCommon,
492
- placeholder: '请选择逻辑仓',
493
- ...(dataInputBusinessType === 12
494
- ? {
495
- mode: 'multiple',
496
- maxTagCount: 1,
497
- }
498
- : {}),
499
- }}
500
- disabled={disabled}
501
- labelInValue={true}
502
- value={values[0]}
503
- requestConfig={{
504
- mappingValueField: 'realWarehouseCode',
505
- filterInit: 'qp-realWarehouseCode-in',
506
- }}
507
- onChange={(value) => {
508
- if (dataInputBusinessType === 12) {
509
- values[0] = value.map((i) => i.key);
510
- valueNames[0] = value.map((i) => i.label || '');
511
- } else {
512
- values[0] = [value.key];
513
- valueNames[0] = [value.label || ''];
514
- }
515
- callback(values, valueNames);
516
- }}
517
- getPopupContainer={() => document.body}
518
- />
519
- <span>~</span>
520
- <BusinessSearchSelect
521
- selectBusinessType="realWarehouse"
522
- selectProps={{
523
- style: styleCommon,
524
- placeholder: '请选择逻辑仓',
525
- ...(dataInputBusinessType === 12
526
- ? {
527
- mode: 'multiple',
528
- maxTagCount: 1,
529
- }
530
- : {}),
531
- }}
532
- disabled={disabled}
533
- labelInValue={true}
534
- value={values[1]}
535
- requestConfig={{
536
- mappingValueField: 'realWarehouseCode',
537
- filterInit: 'qp-realWarehouseCode-in',
538
- }}
539
- onChange={(value) => {
540
- if (dataInputBusinessType === 12) {
541
- values[1] = value.map((i) => i.key);
542
- valueNames[1] = value.map((i) => i.label || '');
543
- } else {
544
- values[1] = [value.key];
545
- valueNames[1] = [value.label || ''];
546
- }
547
- callback(values, valueNames);
548
- }}
549
- getPopupContainer={() => document.body}
550
- />
551
- </>
552
- );
553
- } else {
554
- const currentValue = dataInputBusinessType === 12 ?
555
- values?.map((s,vIndex)=> ({key: s, label: valueNames[vIndex]}))||[]
556
- : values[0]&&{key:values[0],label:valueNames[0]}||{}
557
- return (
558
- <BusinessSearchSelect
559
- selectBusinessType="realWarehouse"
560
- selectProps={{
561
- style: styleCommon,
562
- placeholder: '请选择逻辑仓',
563
- ...(dataInputBusinessType === 12
564
- ? {
565
- mode: 'multiple',
566
- maxTagCount: 1,
567
- }
568
- : {}),
569
- }}
570
- disabled={disabled}
571
- labelInValue={true}
572
- value={currentValue}
573
- requestConfig={{
574
- mappingValueField: 'realWarehouseCode',
575
- filterInit: 'qp-realWarehouseCode-in',
576
- }}
577
- onChange={(value) => {
578
- if (dataInputBusinessType === 12) {
579
- values = value.map((i) => i.key)||[];
580
- valueNames = value.map((i) => i.label || '')||[];
581
- } else {
582
- values = value?.key?[value.key]:[];
583
- valueNames = value?.label?[value.label]:[];
584
- }
585
- callback(values, valueNames);
586
- }}
587
- getPopupContainer={() => document.body}
588
- />
589
- );
590
- }
591
- }
592
- // 虚拟仓
593
- if (dataChoiceBusinessType == 130) {
594
- if (INTERVAL_TYPE.indexOf(selectOperation) > -1) {
595
- return (
596
- <>
597
- <BusinessSearchSelect
598
- selectBusinessType="virtualWarehouse"
599
- selectProps={{
600
- style: styleCommon,
601
- placeholder: '请选择虚拟仓',
602
- ...(dataInputBusinessType === 12
603
- ? {
604
- mode: 'multiple',
605
- maxTagCount: 1,
606
- }
607
- : {}),
608
- }}
609
- disabled={disabled}
610
- labelInValue={true}
611
- value={values[0]}
612
- requestConfig={{
613
- mappingValueField: 'virtualWarehouseCode',
614
- filterInit: 'qp-virtualWarehouseCode-in',
615
- }}
616
- onChange={(value) => {
617
- if (dataInputBusinessType === 12) {
618
- values[0] = value.map((i) => i.key);
619
- valueNames[0] = value.map((i) => i.label || '');
620
- } else {
621
- values[0] = [value.key];
622
- valueNames[0] = [value.label || ''];
623
- }
624
- callback(values, valueNames);
625
- }}
626
- getPopupContainer={() => document.body}
627
- />
628
- <span>~</span>
629
- <BusinessSearchSelect
630
- selectBusinessType="virtualWarehouse"
631
- selectProps={{
632
- style: styleCommon,
633
- placeholder: '请选择虚拟仓',
634
- ...(dataInputBusinessType === 12
635
- ? {
636
- mode: 'multiple',
637
- maxTagCount: 1,
638
- }
639
- : {}),
640
- }}
641
- disabled={disabled}
642
- labelInValue={true}
643
- value={values[1]}
644
- requestConfig={{
645
- mappingValueField: 'virtualWarehouseCode',
646
- filterInit: 'qp-virtualWarehouseCode-in',
647
- }}
648
- onChange={(value) => {
649
- if (dataInputBusinessType === 12) {
650
- values[1] = value.map((i) => i.key);
651
- valueNames[1] = value.map((i) => i.label || '');
652
- } else {
653
- values[1] = [value.key];
654
- valueNames[1] = [value.label || ''];
655
- }
656
- callback(values, valueNames);
657
- }}
658
- getPopupContainer={() => document.body}
659
- />
660
- </>
661
- );
662
- } else {
663
- const currentValue = dataInputBusinessType === 12 ?
664
- values?.map((s,vIndex)=> ({key: s, label: valueNames[vIndex]}))||[]
665
- : values[0]&&{key:values[0],label:valueNames[0]}||{}
666
- return (
667
- <BusinessSearchSelect
668
- selectBusinessType="virtualWarehouse"
669
- selectProps={{
670
- style: styleCommon,
671
- placeholder: '请选择虚拟仓',
672
- ...(dataInputBusinessType === 12
673
- ? {
674
- mode: 'multiple',
675
- maxTagCount: 1,
676
- }
677
- : {}),
678
- }}
679
- disabled={disabled}
680
- labelInValue={true}
681
- value={currentValue}
682
- requestConfig={{
683
- mappingValueField: 'virtualWarehouseCode',
684
- filterInit: 'qp-virtualWarehouseCode-in',
685
- }}
686
- onChange={(value) => {
687
- if (dataInputBusinessType === 12) {
688
- values = value.map((i) => i.key)||[];
689
- valueNames = value.map((i) => i.label || '')||[];
690
- } else {
691
- values = value?.key?[value.key]:[];
692
- valueNames = value?.label?[value.label]:[];
693
- }
694
- callback(values, valueNames);
695
- }}
696
- getPopupContainer={() => document.body}
697
- />
698
- );
699
- }
700
- }
701
- // 渠道仓
702
- if (dataChoiceBusinessType == 140) {
703
- if (INTERVAL_TYPE.indexOf(selectOperation) > -1) {
704
- return (
705
- <>
706
- <BusinessSearchSelect
707
- selectBusinessType="channelWarehouse"
708
- selectProps={{
709
- style: styleCommon,
710
- placeholder: '请选择渠道仓',
711
- ...(dataInputBusinessType === 12
712
- ? {
713
- mode: 'multiple',
714
- maxTagCount: 1,
715
- }
716
- : {}),
717
- }}
718
- disabled={disabled}
719
- labelInValue={true}
720
- value={values[0]}
721
- requestConfig={{
722
- mappingValueField: 'channelWarehouseCode',
723
- filterInit: 'qp-channelWarehouseCode-in',
724
- }}
725
- onChange={(value) => {
726
- if (dataInputBusinessType === 12) {
727
- values[0] = value.map((i) => i.key);
728
- valueNames[0] = value.map((i) => i.label || '');
729
- } else {
730
- values[0] = [value.key];
731
- valueNames[0] = [value.label || ''];
732
- }
733
- callback(values, valueNames);
734
- }}
735
- getPopupContainer={() => document.body}
736
- />
737
- <span>~</span>
738
- <BusinessSearchSelect
739
- selectBusinessType="channelWarehouse"
740
- selectProps={{
741
- style: styleCommon,
742
- placeholder: '请选择渠道仓',
743
- ...(dataInputBusinessType === 12
744
- ? {
745
- mode: 'multiple',
746
- maxTagCount: 1,
747
- }
748
- : {}),
749
- }}
750
- disabled={disabled}
751
- labelInValue={true}
752
- value={values[1]}
753
- requestConfig={{
754
- mappingValueField: 'channelWarehouseCode',
755
- filterInit: 'qp-channelWarehouseCode-in',
756
- }}
757
- onChange={(value) => {
758
- if (dataInputBusinessType === 12) {
759
- values[1] = value.map((i) => i.key);
760
- valueNames[1] = value.map((i) => i.label || '');
761
- } else {
762
- values[1] = [value.key];
763
- valueNames[1] = [value.label || ''];
764
- }
765
- callback(values, valueNames);
766
- }}
767
- getPopupContainer={() => document.body}
768
- />
769
- </>
770
- );
771
- } else {
772
- const currentValue = dataInputBusinessType === 12 ?
773
- values?.map((s,vIndex)=> ({key: s, label: valueNames[vIndex]}))||[]
774
- : values[0]&&{key:values[0],label:valueNames[0]}||{}
775
- return (
776
- <BusinessSearchSelect
777
- selectBusinessType="channelWarehouse"
778
- selectProps={{
779
- style: styleCommon,
780
- placeholder: '请选择渠道仓',
781
- ...(dataInputBusinessType === 12
782
- ? {
783
- mode: 'multiple',
784
- maxTagCount: 1,
785
- }
786
- : {}),
787
- }}
788
- disabled={disabled}
789
- labelInValue={true}
790
- value={currentValue}
791
- requestConfig={{
792
- mappingValueField: 'channelWarehouseCode',
793
- filterInit: 'qp-channelWarehouseCode-in',
794
- }}
795
- onChange={(value) => {
796
- if (dataInputBusinessType === 12) {
797
- values = value.map((i) => i.key)||[];
798
- valueNames = value.map((i) => i.label || '')||[];
799
- } else {
800
- values = value?.key?[value.key]:[];
801
- valueNames = value?.label?[value.label]:[];
802
- }
803
- callback(values, valueNames);
804
- }}
805
- getPopupContainer={() => document.body}
806
- />
807
- );
808
- }
809
- }
810
- // 商品SPU选择器
811
- if (dataChoiceBusinessType == 150) {
812
- if (INTERVAL_TYPE.indexOf(selectOperation) > -1) {
813
- return (
814
- <>
815
- <BusinessSearchSelect
816
- selectBusinessType="spuCommodity"
817
- selectProps={{
818
- style: styleCommon,
819
- placeholder: '请选择SPU',
820
- ...(dataInputBusinessType === 12
821
- ? {
822
- mode: 'multiple',
823
- maxTagCount: 1,
824
- }
825
- : {}),
826
- }}
827
- disabled={disabled}
828
- labelInValue={true}
829
- value={values[0]}
830
- requestConfig={{
831
- filterInit: 'qp-itemCode-in',
832
- }}
833
- onChange={(value) => {
834
- if (dataInputBusinessType === 12) {
835
- values[0] = value.map((i) => i.key);
836
- valueNames[0] = value.map((i) => i.label || '');
837
- } else {
838
- values[0] = [value.key];
839
- valueNames[0] = [value.label || ''];
840
- }
841
- callback(values, valueNames);
842
- }}
843
- getPopupContainer={() => document.body}
844
- />
845
- <span>~</span>
846
- <BusinessSearchSelect
847
- selectBusinessType="spuCommodity"
848
- selectProps={{
849
- style: styleCommon,
850
- placeholder: '请选择SPU',
851
- ...(dataInputBusinessType === 12
852
- ? {
853
- mode: 'multiple',
854
- maxTagCount: 1,
855
- }
856
- : {}),
857
- }}
858
- disabled={disabled}
859
- labelInValue={true}
860
- value={values[1]}
861
- requestConfig={{
862
- filterInit: 'qp-itemCode-in',
863
- }}
864
- onChange={(value) => {
865
- if (dataInputBusinessType === 12) {
866
- values[1] = value.map((i) => i.key);
867
- valueNames[1] = value.map((i) => i.label || '');
868
- } else {
869
- values[1] = [value.key];
870
- valueNames[1] = [value.label || ''];
871
- }
872
- callback(values, valueNames);
873
- }}
874
- getPopupContainer={() => document.body}
875
- />
876
- </>
877
- );
878
- } else {
879
- const currentValue = dataInputBusinessType === 12 ?
880
- values?.map((s,vIndex)=> ({key: s, label: valueNames[vIndex]}))||[]
881
- : values[0]&&{key:values[0],label:valueNames[0]}||{}
882
- return (
883
- <BusinessSearchSelect
884
- selectBusinessType="spuCommodity"
885
- selectProps={{
886
- style: styleCommon,
887
- placeholder: '请选择SPU',
888
- ...(dataInputBusinessType === 12
889
- ? {
890
- mode: 'multiple',
891
- maxTagCount: 1,
892
- }
893
- : {}),
894
- }}
895
- disabled={disabled}
896
- labelInValue={true}
897
- value={currentValue}
898
- requestConfig={{
899
- filterInit: 'qp-itemCode-in',
900
- }}
901
- onChange={(value) => {
902
- if (dataInputBusinessType === 12) {
903
- values = value.map((i) => i.key)||[];
904
- valueNames = value.map((i) => i.label || '')||[];
905
- } else {
906
- values = value?.key?[value.key]:[];
907
- valueNames = value?.label?[value.label]:[];
908
- }
909
- callback(values, valueNames);
910
- }}
911
- getPopupContainer={() => document.body}
912
- />
913
- );
914
- }
915
- }
916
- // 商品SKU选择器
917
- if (dataChoiceBusinessType == 160) {
918
- if (INTERVAL_TYPE.indexOf(selectOperation) > -1) {
919
- return (
920
- <>
921
- <BusinessSearchSelect
922
- selectBusinessType="skuCommodity"
923
- selectProps={{
924
- style: styleCommon,
925
- placeholder: '请选择商品',
926
- ...(dataInputBusinessType === 12
927
- ? {
928
- mode: 'multiple',
929
- maxTagCount: 1,
930
- }
931
- : {}),
932
- }}
933
- disabled={disabled}
934
- labelInValue={true}
935
- value={values[0]}
936
- requestConfig={{
937
- filterInit: 'qp-skuCode-in',
938
- }}
939
- onChange={(value) => {
940
- if (dataInputBusinessType === 12) {
941
- values[0] = value.map((i) => i.key);
942
- valueNames[0] = value.map((i) => i.label || '');
943
- } else {
944
- values[0] = [value.key];
945
- valueNames[0] = [value.label || ''];
946
- }
947
- callback(values, valueNames);
948
- }}
949
- getPopupContainer={() => document.body}
950
- />
951
- <span>~</span>
952
- <BusinessSearchSelect
953
- selectBusinessType="skuCommodity"
954
- selectProps={{
955
- style: styleCommon,
956
- placeholder: '请选择商品',
957
- ...(dataInputBusinessType === 12
958
- ? {
959
- mode: 'multiple',
960
- maxTagCount: 1,
961
- }
962
- : {}),
963
- }}
964
- disabled={disabled}
965
- labelInValue={true}
966
- value={values[1]}
967
- requestConfig={{
968
- filterInit: 'qp-skuCode-in',
969
- }}
970
- onChange={(value) => {
971
- if (dataInputBusinessType === 12) {
972
- values[1] = value.map((i) => i.key);
973
- valueNames[1] = value.map((i) => i.label || '');
974
- } else {
975
- values[1] = [value.key];
976
- valueNames[1] = [value.label || ''];
977
- }
978
- callback(values, valueNames);
979
- }}
980
- getPopupContainer={() => document.body}
981
- />
982
- </>
983
- );
984
- } else {
985
- const currentValue = dataInputBusinessType === 12 ?
986
- values?.map((s,vIndex)=> ({key: s, label: valueNames[vIndex]}))||[]
987
- : values[0]&&{key:values[0],label:valueNames[0]}||{}
988
- return (
989
- <BusinessSearchSelect
990
- selectBusinessType="skuCommodity"
991
- selectProps={{
992
- style: styleCommon,
993
- placeholder: '请选择商品',
994
- ...(dataInputBusinessType === 12
995
- ? {
996
- mode: 'multiple',
997
- maxTagCount: 1,
998
- }
999
- : {}),
1000
- }}
1001
- disabled={disabled}
1002
- labelInValue={true}
1003
- value={currentValue}
1004
- requestConfig={{
1005
- filterInit: 'qp-skuCode-in',
1006
- }}
1007
- onChange={(value) => {
1008
- if (dataInputBusinessType === 12) {
1009
- values = value.map((i) => i.key)||[];
1010
- valueNames = value.map((i) => i.label || '')||[];
1011
- } else {
1012
- values = value?.key?[value.key]:[];
1013
- valueNames = value?.label?[value.label]:[];
1014
- }
1015
- callback(values, valueNames);
1016
- }}
1017
- getPopupContainer={() => document.body}
1018
- />
1019
- );
1020
- }
1021
- }
1022
- // 省市区
1023
- if (dataChoiceBusinessType == 190) {
1024
- if (INTERVAL_TYPE.indexOf(selectOperation) > -1) {
1025
- return (
1026
- <>
1027
- <BsCascader
1028
- disabled={disabled}
1029
- isAll={true}
1030
- needNameAndCode={true}
1031
- notChangeOnSelect={true}
1032
- initRequestSource={async () => {
1033
- return await SulaRequest({
1034
- url: '/basic/bscArea/getBscAreaList?qp-level-eq=1&qp-pid-eq=100000',
1035
- method: 'get',
1036
- converter: ({ data }) => {
1037
- const handleData =
1038
- data && data[0]
1039
- ? data?.map((item) => {
1040
- return {
1041
- text: item.name,
1042
- value: item.id,
1043
- level: item.level,
1044
- id: item.id,
1045
- };
1046
- })
1047
- : [];
1048
- return handleData;
1049
- },
1050
- });
1051
- }}
1052
- style={{ width: 240 }}
1053
- value={{ PCDName: valueNames[0] || [] }}
1054
- onChange={(value) => {
1055
- values[0] = value.PCDCode;
1056
- valueNames[0] = value.PCDName;
1057
- callback(values, valueNames);
1058
- }}
1059
- getPopupContainer={() => document.body}
1060
- />
1061
- <span>~</span>
1062
- <BsCascader
1063
- disabled={disabled}
1064
- onlyCode={true}
1065
- isAll={true}
1066
- needNameAndCode={true}
1067
- notChangeOnSelect={true}
1068
- initRequestSource={async () => {
1069
- return await SulaRequest({
1070
- url: '/basic/bscArea/getBscAreaList?qp-level-eq=1&qp-pid-eq=100000',
1071
- method: 'get',
1072
- converter: ({ data }) => {
1073
- const handleData =
1074
- data && data[0]
1075
- ? data?.map((item) => {
1076
- return {
1077
- text: item.name,
1078
- value: item.id,
1079
- level: item.level,
1080
- id: item.id,
1081
- };
1082
- })
1083
- : [];
1084
- return handleData;
1085
- },
1086
- });
1087
- }}
1088
- style={{ width: 240 }}
1089
- value={{ PCDName: valueNames[1] || [] }}
1090
- onChange={(value) => {
1091
- values[1] = value.PCDCode;
1092
- valueNames[1] = value.PCDName;
1093
- callback(values, valueNames);
1094
- }}
1095
- getPopupContainer={() => document.body}
1096
- />
1097
- </>
1098
- );
1099
- } else {
1100
- return (
1101
- <BsCascader
1102
- disabled={disabled}
1103
- onlyCode={true}
1104
- isAll={true}
1105
- needNameAndCode={true}
1106
- notChangeOnSelect={true}
1107
- initRequestSource={async () => {
1108
- return await SulaRequest({
1109
- url: '/basic/bscArea/getBscAreaList?qp-level-eq=1&qp-pid-eq=100000',
1110
- method: 'get',
1111
- converter: ({ data }) => {
1112
- const handleData =
1113
- data && data[0]
1114
- ? data?.map((item) => {
1115
- return {
1116
- text: item.name,
1117
- value: item.id,
1118
- level: item.level,
1119
- id: item.id,
1120
- };
1121
- })
1122
- : [];
1123
- return handleData;
1124
- },
1125
- });
1126
- }}
1127
- style={{ width: 240 }}
1128
- value={{ PCDName: valueNames || [] }}
1129
- onChange={(value) => {
1130
- values = value.PCDCode;
1131
- valueNames = value.PCDName;
1132
- callback(values, valueNames);
1133
- }}
1134
- getPopupContainer={() => document.body}
1135
- />
1136
- );
1137
- }
1138
- }
1139
- // 行政组织选择器
1140
- if (dataChoiceBusinessType == 210) {
1141
- if (INTERVAL_TYPE.indexOf(selectOperation) > -1) {
1142
- return (
1143
- <>
1144
- <BusinessTreeSearchSelect
1145
- disabled={disabled}
1146
- treeCheckable={dataInputBusinessType === 12}
1147
- businessType="department"
1148
- labelInValue={true}
1149
- value={values[0]}
1150
- style={styleCommon}
1151
- onChange={(value) => {
1152
- if (dataInputBusinessType === 12) {
1153
- values[0] = value.map((i) => i.key);
1154
- valueNames[0] = value.map((i) => i.label || '');
1155
- } else {
1156
- values[0] = [value.key];
1157
- valueNames[0] = [value.label || ''];
1158
- }
1159
- callback(values, valueNames);
1160
- }}
1161
- getPopupContainer={() => document.body}
1162
- />
1163
- <span>~</span>
1164
- <BusinessTreeSearchSelect
1165
- disabled={disabled}
1166
- treeCheckable={dataInputBusinessType === 12}
1167
- businessType="department"
1168
- labelInValue={true}
1169
- value={values[0]}
1170
- style={styleCommon}
1171
- onChange={(value) => {
1172
- if (dataInputBusinessType === 12) {
1173
- values[1] = value.map((i) => i.key);
1174
- valueNames[1] = value.map((i) => i.label || '');
1175
- } else {
1176
- values[1] = [value.key];
1177
- valueNames[1] = [value.label || ''];
1178
- }
1179
- callback(values, valueNames);
1180
- }}
1181
- getPopupContainer={() => document.body}
1182
- />
1183
- </>
1184
- );
1185
- } else {
1186
- return (
1187
- <BusinessTreeSearchSelect
1188
- disabled={disabled}
1189
- treeCheckable={dataInputBusinessType === 12}
1190
- businessType="department"
1191
- labelInValue={true}
1192
- value={values[0]}
1193
- style={styleCommon}
1194
- onChange={(value) => {
1195
- if (dataInputBusinessType === 12) {
1196
- values = value.map((i) => i.key)||[];
1197
- valueNames = value.map((i) => i.label || '')||[];
1198
- } else {
1199
- values = value?.key?[value.key]:[];
1200
- valueNames = value?.label?[value.label]:[];
1201
- }
1202
- callback(values, valueNames);
1203
- }}
1204
- getPopupContainer={() => document.body}
1205
- />
1206
- );
1207
- }
1208
- }
1209
- // 采购组织选择器
1210
- if (dataChoiceBusinessType == 220) {
1211
- if (INTERVAL_TYPE.indexOf(selectOperation) > -1) {
1212
- return (
1213
- <>
1214
- <BusinessTreeSearchSelect
1215
- disabled={disabled}
1216
- treeCheckable={dataInputBusinessType === 12}
1217
- businessType="purchase-organization"
1218
- labelInValue={true}
1219
- value={values[0]}
1220
- style={styleCommon}
1221
- onChange={(value) => {
1222
- if (dataInputBusinessType === 12) {
1223
- values[0] = value.map((i) => i.key);
1224
- valueNames[0] = value.map((i) => i.label || '');
1225
- } else {
1226
- values[0] = [value.key];
1227
- valueNames[0] = [value.label || ''];
1228
- }
1229
- callback(values, valueNames);
1230
- }}
1231
- getPopupContainer={() => document.body}
1232
- />
1233
- <span>~</span>
1234
- <BusinessTreeSearchSelect
1235
- disabled={disabled}
1236
- treeCheckable={dataInputBusinessType === 12}
1237
- businessType="purchase-organization"
1238
- labelInValue={true}
1239
- value={values[0]}
1240
- style={styleCommon}
1241
- onChange={(value) => {
1242
- if (dataInputBusinessType === 12) {
1243
- values[1] = value.map((i) => i.key);
1244
- valueNames[1] = value.map((i) => i.label || '');
1245
- } else {
1246
- values[1] = [value.key];
1247
- valueNames[1] = [value.label || ''];
1248
- }
1249
- callback(values, valueNames);
1250
- }}
1251
- getPopupContainer={() => document.body}
1252
- />
1253
- </>
1254
- );
1255
- } else {
1256
- return (
1257
- <BusinessTreeSearchSelect
1258
- disabled={disabled}
1259
- treeCheckable={dataInputBusinessType === 12}
1260
- businessType="purchase-organization"
1261
- labelInValue={true}
1262
- value={values[0]}
1263
- style={styleCommon}
1264
- onChange={(value) => {
1265
- if (dataInputBusinessType === 12) {
1266
- values = value.map((i) => i.key)||[];
1267
- valueNames = value.map((i) => i.label || '')||[];
1268
- } else {
1269
- values = value?.key?[value.key]:[];
1270
- valueNames = value?.label?[value.label]:[];
1271
- }
1272
- callback(values, valueNames);
1273
- }}
1274
- getPopupContainer={() => document.body}
1275
- />
1276
- );
1277
- }
1278
- }
1279
- // 销售组织选择器
1280
- if (dataChoiceBusinessType == 230) {
1281
- if (INTERVAL_TYPE.indexOf(selectOperation) > -1) {
1282
- return (
1283
- <>
1284
- <BusinessTreeSearchSelect
1285
- disabled={disabled}
1286
- treeCheckable={dataInputBusinessType === 12}
1287
- businessType="sales-organization"
1288
- labelInValue={true}
1289
- value={values[0]}
1290
- style={styleCommon}
1291
- onChange={(value) => {
1292
- if (dataInputBusinessType === 12) {
1293
- values[0] = value.map((i) => i.key);
1294
- valueNames[0] = value.map((i) => i.label || '');
1295
- } else {
1296
- values[0] = [value.key];
1297
- valueNames[0] = [value.label || ''];
1298
- }
1299
- callback(values, valueNames);
1300
- }}
1301
- getPopupContainer={() => document.body}
1302
- />
1303
- <span>~</span>
1304
- <BusinessTreeSearchSelect
1305
- disabled={disabled}
1306
- treeCheckable={dataInputBusinessType === 12}
1307
- businessType="sales-organization"
1308
- labelInValue={true}
1309
- value={values[0]}
1310
- style={styleCommon}
1311
- onChange={(value) => {
1312
- if (dataInputBusinessType === 12) {
1313
- values[1] = value.map((i) => i.key);
1314
- valueNames[1] = value.map((i) => i.label || '');
1315
- } else {
1316
- values[1] = [value.key];
1317
- valueNames[1] = [value.label || ''];
1318
- }
1319
- callback(values, valueNames);
1320
- }}
1321
- getPopupContainer={() => document.body}
1322
- />
1323
- </>
1324
- );
1325
- } else {
1326
- return (
1327
- <BusinessTreeSearchSelect
1328
- disabled={disabled}
1329
- treeCheckable={dataInputBusinessType === 12}
1330
- businessType="sales-organization"
1331
- labelInValue={true}
1332
- value={values[0]}
1333
- style={styleCommon}
1334
- onChange={(value) => {
1335
- if (dataInputBusinessType === 12) {
1336
- values = value.map((i) => i.key)||[];
1337
- valueNames = value.map((i) => i.label || '')||[];
1338
- } else {
1339
- values = value?.key?[value.key]:[];
1340
- valueNames = value?.label?[value.label]:[];
1341
- }
1342
- callback(values, valueNames);
1343
- }}
1344
- getPopupContainer={() => document.body}
1345
- />
1346
- );
1347
- }
1348
- }
1349
- // 供应商选择器
1350
- if (dataChoiceBusinessType == 240) {
1351
- if (INTERVAL_TYPE.indexOf(selectOperation) > -1) {
1352
- return (
1353
- <>
1354
- <BusinessSearchSelect
1355
- selectBusinessType="supplier2"
1356
- selectProps={{
1357
- style: styleCommon,
1358
- placeholder: '请选择供应商',
1359
- ...(dataInputBusinessType === 12
1360
- ? {
1361
- mode: 'multiple',
1362
- maxTagCount: 1,
1363
- }
1364
- : {}),
1365
- }}
1366
- disabled={disabled}
1367
- labelInValue={true}
1368
- value={values[0]}
1369
- requestConfig={{
1370
- filterInit: 'qp-code-in',
1371
- }}
1372
- onChange={(value) => {
1373
- if (dataInputBusinessType === 12) {
1374
- values[0] = value.map((i) => i.key);
1375
- valueNames[0] = value.map((i) => i.label || '');
1376
- } else {
1377
- values[0] = [value.key];
1378
- valueNames[0] = [value.label || ''];
1379
- }
1380
- callback(values, valueNames);
1381
- }}
1382
- getPopupContainer={() => document.body}
1383
- />
1384
- <span>~</span>
1385
- <BusinessSearchSelect
1386
- selectBusinessType="supplier2"
1387
- selectProps={{
1388
- style: styleCommon,
1389
- placeholder: '请选择供应商',
1390
- ...(dataInputBusinessType === 12
1391
- ? {
1392
- mode: 'multiple',
1393
- maxTagCount: 1,
1394
- }
1395
- : {}),
1396
- }}
1397
- disabled={disabled}
1398
- labelInValue={true}
1399
- value={values[1]}
1400
- requestConfig={{
1401
- filterInit: 'qp-code-in',
1402
- }}
1403
- onChange={(value) => {
1404
- if (dataInputBusinessType === 12) {
1405
- values[1] = value.map((i) => i.key);
1406
- valueNames[1] = value.map((i) => i.label || '');
1407
- } else {
1408
- values[1] = [value.key];
1409
- valueNames[1] = [value.label || ''];
1410
- }
1411
- callback(values, valueNames);
1412
- }}
1413
- getPopupContainer={() => document.body}
1414
- />
1415
- </>
1416
- );
1417
- } else {
1418
- const currentValue = dataInputBusinessType === 12 ?
1419
- values?.map((s,vIndex)=> ({key: s, label: valueNames[vIndex]}))||[]
1420
- : values[0]&&{key:values[0],label:valueNames[0]}||{}
1421
- return (
1422
- <BusinessSearchSelect
1423
- selectBusinessType="supplier2"
1424
- selectProps={{
1425
- style: styleCommon,
1426
- placeholder: '请选择供应商',
1427
- ...(dataInputBusinessType === 12
1428
- ? {
1429
- mode: 'multiple',
1430
- maxTagCount: 1,
1431
- }
1432
- : {}),
1433
- }}
1434
- disabled={disabled}
1435
- labelInValue={true}
1436
- value={currentValue}
1437
- requestConfig={{
1438
- filterInit: 'qp-code-in',
1439
- }}
1440
- onChange={(value) => {
1441
- if (dataInputBusinessType === 12) {
1442
- values = value.map((i) => i.key)||[];
1443
- valueNames = value.map((i) => i.label || '')||[];
1444
- } else {
1445
- values = value?.key?[value.key]:[];
1446
- valueNames = value?.label?[value.label]:[];
1447
- }
1448
- callback(values, valueNames);
1449
- }}
1450
- getPopupContainer={() => document.body}
1451
- />
1452
- );
1453
- }
1454
- }
1455
- // 客户选择器
1456
- if (dataChoiceBusinessType == 250) {
1457
- if (INTERVAL_TYPE.indexOf(selectOperation) > -1) {
1458
- return (
1459
- <>
1460
- <BusinessSearchSelect
1461
- selectBusinessType="customer2"
1462
- selectProps={{
1463
- style: styleCommon,
1464
- placeholder: '请选择客户',
1465
- ...(dataInputBusinessType === 12
1466
- ? {
1467
- mode: 'multiple',
1468
- maxTagCount: 1,
1469
- }
1470
- : {}),
1471
- }}
1472
- disabled={disabled}
1473
- labelInValue={true}
1474
- value={values[0]}
1475
- requestConfig={{
1476
- filterInit: 'qp-code-in',
1477
- }}
1478
- onChange={(value) => {
1479
- if (dataInputBusinessType === 12) {
1480
- values[0] = value.map((i) => i.key);
1481
- valueNames[0] = value.map((i) => i.label || '');
1482
- } else {
1483
- values[0] = [value.key];
1484
- valueNames[0] = [value.label || ''];
1485
- }
1486
- callback(values, valueNames);
1487
- }}
1488
- getPopupContainer={() => document.body}
1489
- />
1490
- <span>~</span>
1491
- <BusinessSearchSelect
1492
- selectBusinessType="customer2"
1493
- selectProps={{
1494
- style: styleCommon,
1495
- placeholder: '请选择客户',
1496
- ...(dataInputBusinessType === 12
1497
- ? {
1498
- mode: 'multiple',
1499
- maxTagCount: 1,
1500
- }
1501
- : {}),
1502
- }}
1503
- disabled={disabled}
1504
- labelInValue={true}
1505
- value={values[1]}
1506
- requestConfig={{
1507
- filterInit: 'qp-code-in',
1508
- }}
1509
- onChange={(value) => {
1510
- if (dataInputBusinessType === 12) {
1511
- values[1] = value.map((i) => i.key);
1512
- valueNames[1] = value.map((i) => i.label || '');
1513
- } else {
1514
- values[1] = [value.key];
1515
- valueNames[1] = [value.label || ''];
1516
- }
1517
- callback(values, valueNames);
1518
- }}
1519
- getPopupContainer={() => document.body}
1520
- />
1521
- </>
1522
- );
1523
- } else {
1524
- const currentValue = dataInputBusinessType === 12 ?
1525
- values?.map((s,vIndex)=> ({key: s, label: valueNames[vIndex]}))||[]
1526
- : values[0]&&{key:values[0],label:valueNames[0]}||{}
1527
- return (
1528
- <BusinessSearchSelect
1529
- selectBusinessType="customer2"
1530
- selectProps={{
1531
- style: styleCommon,
1532
- placeholder: '请选择客户',
1533
- ...(dataInputBusinessType === 12
1534
- ? {
1535
- mode: 'multiple',
1536
- maxTagCount: 1,
1537
- }
1538
- : {}),
1539
- }}
1540
- disabled={disabled}
1541
- labelInValue={true}
1542
- value={currentValue}
1543
- requestConfig={{
1544
- filterInit: 'qp-code-in',
1545
- }}
1546
- onChange={(value) => {
1547
- if (dataInputBusinessType === 12) {
1548
- values = value.map((i) => i.key)||[];
1549
- valueNames = value.map((i) => i.label || '')||[];
1550
- } else {
1551
- values = value?.key?[value.key]:[];
1552
- valueNames = value?.label?[value.label]:[];
1553
- }
1554
- callback(values, valueNames);
1555
- }}
1556
- getPopupContainer={() => document.body}
1557
- />
1558
- );
1559
- }
1560
- }
1561
- // 店铺选择器
1562
- if (dataChoiceBusinessType == 260) {
1563
- if (INTERVAL_TYPE.indexOf(selectOperation) > -1) {
1564
- return (
1565
- <>
1566
- <BusinessSearchSelect
1567
- selectBusinessType="shopFile2"
1568
- selectProps={{
1569
- style: styleCommon,
1570
- placeholder: '请选择店铺',
1571
- ...(dataInputBusinessType === 12
1572
- ? {
1573
- mode: 'multiple',
1574
- maxTagCount: 1,
1575
- }
1576
- : {}),
1577
- }}
1578
- disabled={disabled}
1579
- labelInValue={true}
1580
- value={values[0]}
1581
- requestConfig={{
1582
- filterInit: 'qp-code-in',
1583
- }}
1584
- onChange={(value) => {
1585
- if (dataInputBusinessType === 12) {
1586
- values[0] = value.map((i) => i.key);
1587
- valueNames[0] = value.map((i) => i.label || '');
1588
- } else {
1589
- values[0] = [value.key];
1590
- valueNames[0] = [value.label || ''];
1591
- }
1592
- callback(values, valueNames);
1593
- }}
1594
- getPopupContainer={() => document.body}
1595
- />
1596
- <span>~</span>
1597
- <BusinessSearchSelect
1598
- selectBusinessType="shopFile2"
1599
- selectProps={{
1600
- style: styleCommon,
1601
- placeholder: '请选择店铺',
1602
- ...(dataInputBusinessType === 12
1603
- ? {
1604
- mode: 'multiple',
1605
- maxTagCount: 1,
1606
- }
1607
- : {}),
1608
- }}
1609
- disabled={disabled}
1610
- labelInValue={true}
1611
- value={values[1]}
1612
- requestConfig={{
1613
- filterInit: 'qp-code-in',
1614
- }}
1615
- onChange={(value) => {
1616
- if (dataInputBusinessType === 12) {
1617
- values[1] = value.map((i) => i.key);
1618
- valueNames[1] = value.map((i) => i.label || '');
1619
- } else {
1620
- values[1] = [value.key];
1621
- valueNames[1] = [value.label || ''];
1622
- }
1623
- callback(values, valueNames);
1624
- }}
1625
- getPopupContainer={() => document.body}
1626
- />
1627
- </>
1628
- );
1629
- } else {
1630
- const currentValue = dataInputBusinessType === 12 ?
1631
- values?.map((s,vIndex)=> ({key: s, label: valueNames[vIndex]}))||[]
1632
- : values[0]&&{key:values[0],label:valueNames[0]}||{}
1633
- return (
1634
- <BusinessSearchSelect
1635
- selectBusinessType="shopFile2"
1636
- selectProps={{
1637
- style: styleCommon,
1638
- placeholder: '请选择店铺',
1639
- ...(dataInputBusinessType === 12
1640
- ? {
1641
- mode: 'multiple',
1642
- maxTagCount: 1,
1643
- }
1644
- : {}),
1645
- }}
1646
- disabled={disabled}
1647
- labelInValue={true}
1648
- value={currentValue}
1649
- requestConfig={{
1650
- filterInit: 'qp-code-in',
1651
- }}
1652
- onChange={(value) => {
1653
- if (dataInputBusinessType === 12) {
1654
- values = value.map((i) => i.key)||[];
1655
- valueNames = value.map((i) => i.label || '')||[];
1656
- } else {
1657
- values = value?.key?[value.key]:[];
1658
- valueNames = value?.label?[value.label]:[];
1659
- }
1660
- callback(values, valueNames);
1661
- }}
1662
- getPopupContainer={() => document.body}
1663
- />
1664
- );
1665
- }
1666
- }
1667
- // 员工选择器
1668
- if (dataChoiceBusinessType == 270) {
1669
- if (INTERVAL_TYPE.indexOf(selectOperation) > -1) {
1670
- return (
1671
- <>
1672
- <BusinessSearchSelect
1673
- selectBusinessType="employee2"
1674
- selectProps={{
1675
- style: styleCommon,
1676
- placeholder: '请选择员工',
1677
- ...(dataInputBusinessType === 12
1678
- ? {
1679
- mode: 'multiple',
1680
- maxTagCount: 1,
1681
- }
1682
- : {}),
1683
- }}
1684
- disabled={disabled}
1685
- labelInValue={true}
1686
- value={values[0]}
1687
- requestConfig={{
1688
- filterInit: 'qp-id-in',
1689
- }}
1690
- onChange={(value) => {
1691
- if (dataInputBusinessType === 12) {
1692
- values[0] = value.map((i) => i.key);
1693
- valueNames[0] = value.map((i) => i.label || '');
1694
- } else {
1695
- values[0] = [value.key];
1696
- valueNames[0] = [value.label || ''];
1697
- }
1698
- callback(values, valueNames);
1699
- }}
1700
- getPopupContainer={() => document.body}
1701
- />
1702
- <span>~</span>
1703
- <BusinessSearchSelect
1704
- selectBusinessType="employee2"
1705
- selectProps={{
1706
- style: styleCommon,
1707
- placeholder: '请选择员工',
1708
- ...(dataInputBusinessType === 12
1709
- ? {
1710
- mode: 'multiple',
1711
- maxTagCount: 1,
1712
- }
1713
- : {}),
1714
- }}
1715
- disabled={disabled}
1716
- labelInValue={true}
1717
- value={values[1]}
1718
- requestConfig={{
1719
- filterInit: 'qp-id-in',
1720
- }}
1721
- onChange={(value) => {
1722
- if (dataInputBusinessType === 12) {
1723
- values[1] = value.map((i) => i.key);
1724
- valueNames[1] = value.map((i) => i.label || '');
1725
- } else {
1726
- values[1] = [value.key];
1727
- valueNames[1] = [value.label || ''];
1728
- }
1729
- callback(values, valueNames);
1730
- }}
1731
- getPopupContainer={() => document.body}
1732
- />
1733
- </>
1734
- );
1735
- } else {
1736
- const currentValue = dataInputBusinessType === 12 ?
1737
- values?.map((s,vIndex)=> ({key: s, label: valueNames[vIndex]}))||[]
1738
- : values[0]&&{key:values[0],label:valueNames[0]}||{}
1739
- return (
1740
- <BusinessSearchSelect
1741
- selectBusinessType="employee2"
1742
- selectProps={{
1743
- style: styleCommon,
1744
- placeholder: '请选择员工',
1745
- ...(dataInputBusinessType === 12
1746
- ? {
1747
- mode: 'multiple',
1748
- maxTagCount: 1,
1749
- }
1750
- : {}),
1751
- }}
1752
- disabled={disabled}
1753
- labelInValue={true}
1754
- value={currentValue}
1755
- requestConfig={{
1756
- filterInit: 'qp-id-in',
1757
- }}
1758
- onChange={(value) => {
1759
- if (dataInputBusinessType === 12) {
1760
- values = value.map((i) => i.key)||[];
1761
- valueNames = value.map((i) => i.label || '')||[];
1762
- } else {
1763
- values = value?.key?[value.key]:[];
1764
- valueNames = value?.label?[value.label]:[];
1765
- }
1766
- callback(values, valueNames);
1767
- }}
1768
- getPopupContainer={() => document.body}
1769
- />
1770
- );
1771
- }
1772
- }
1773
- // 库存组织选择器
1774
- if (dataChoiceBusinessType == 280) {
1775
- if (INTERVAL_TYPE.indexOf(selectOperation) > -1) {
1776
- return (
1777
- <>
1778
- <BusinessTreeSearchSelect
1779
- disabled={disabled}
1780
- treeCheckable={dataInputBusinessType === 12}
1781
- businessType="stock-organization"
1782
- labelInValue={true}
1783
- value={values[0]}
1784
- style={styleCommon}
1785
- onChange={(value) => {
1786
- if (dataInputBusinessType === 12) {
1787
- values[0] = value.map((i) => i.key);
1788
- valueNames[0] = value.map((i) => i.label || '');
1789
- } else {
1790
- values[0] = [value.key];
1791
- valueNames[0] = [value.label || ''];
1792
- }
1793
- callback(values, valueNames);
1794
- }}
1795
- getPopupContainer={() => document.body}
1796
- />
1797
- <span>~</span>
1798
- <BusinessTreeSearchSelect
1799
- disabled={disabled}
1800
- treeCheckable={dataInputBusinessType === 12}
1801
- businessType="stock-organization"
1802
- labelInValue={true}
1803
- value={values[0]}
1804
- style={styleCommon}
1805
- onChange={(value) => {
1806
- if (dataInputBusinessType === 12) {
1807
- values[1] = value.map((i) => i.key);
1808
- valueNames[1] = value.map((i) => i.label || '');
1809
- } else {
1810
- values[1] = [value.key];
1811
- valueNames[1] = [value.label || ''];
1812
- }
1813
- callback(values, valueNames);
1814
- }}
1815
- getPopupContainer={() => document.body}
1816
- />
1817
- </>
1818
- );
1819
- } else {
1820
- return (
1821
- <BusinessTreeSearchSelect
1822
- disabled={disabled}
1823
- treeCheckable={dataInputBusinessType === 12}
1824
- businessType="stock-organization"
1825
- labelInValue={true}
1826
- value={values[0]}
1827
- style={styleCommon}
1828
- onChange={(value) => {
1829
- if (dataInputBusinessType === 12) {
1830
- values = value.map((i) => i.key)||[];
1831
- valueNames = value.map((i) => i.label || '')||[];
1832
- } else {
1833
- values = value?.key?[value.key]:[];
1834
- valueNames = value?.label?[value.label]:[];
1835
- }
1836
- callback(values, valueNames);
1837
- }}
1838
- getPopupContainer={() => document.body}
1839
- />
1840
- );
1841
- }
1842
- }
1843
- // 配送方式选择器
1844
- if (dataChoiceBusinessType == 310) {
1845
- if (INTERVAL_TYPE.indexOf(selectOperation) > -1) {
1846
- return (
1847
- <>
1848
- <BusinessSearchSelect
1849
- selectBusinessType="deliveryMode"
1850
- selectProps={{
1851
- style: styleCommon,
1852
- placeholder: '请选择配送方式',
1853
- ...(dataInputBusinessType === 12
1854
- ? {
1855
- mode: 'multiple',
1856
- maxTagCount: 1,
1857
- }
1858
- : {}),
1859
- }}
1860
- disabled={disabled}
1861
- labelInValue={true}
1862
- value={values[0]}
1863
- requestConfig={{
1864
- filterInit: 'qp-code-in',
1865
- }}
1866
- onChange={(value) => {
1867
- if (dataInputBusinessType === 12) {
1868
- values[0] = value.map((i) => i.key);
1869
- valueNames[0] = value.map((i) => i.label || '');
1870
- } else {
1871
- values[0] = [value.key];
1872
- valueNames[0] = [value.label || ''];
1873
- }
1874
- callback(values, valueNames);
1875
- }}
1876
- getPopupContainer={() => document.body}
1877
- />
1878
- <span>~</span>
1879
- <BusinessSearchSelect
1880
- selectBusinessType="deliveryMode"
1881
- selectProps={{
1882
- style: styleCommon,
1883
- placeholder: '请选择配送方式',
1884
- ...(dataInputBusinessType === 12
1885
- ? {
1886
- mode: 'multiple',
1887
- maxTagCount: 1,
1888
- }
1889
- : {}),
1890
- }}
1891
- disabled={disabled}
1892
- labelInValue={true}
1893
- value={values[1]}
1894
- requestConfig={{
1895
- filterInit: 'qp-code-in',
1896
- }}
1897
- onChange={(value) => {
1898
- if (dataInputBusinessType === 12) {
1899
- values[1] = value.map((i) => i.key);
1900
- valueNames[1] = value.map((i) => i.label || '');
1901
- } else {
1902
- values[1] = [value.key];
1903
- valueNames[1] = [value.label || ''];
1904
- }
1905
- callback(values, valueNames);
1906
- }}
1907
- getPopupContainer={() => document.body}
1908
- />
1909
- </>
1910
- );
1911
- } else {
1912
- const currentValue = dataInputBusinessType === 12 ?
1913
- values?.map((s,vIndex)=> ({key: s, label: valueNames[vIndex]}))||[]
1914
- : values[0]&&{key:values[0],label:valueNames[0]}||{}
1915
- return (
1916
- <BusinessSearchSelect
1917
- selectBusinessType="deliveryMode"
1918
- selectProps={{
1919
- style: styleCommon,
1920
- placeholder: '请选择配送方式',
1921
- ...(dataInputBusinessType === 12
1922
- ? {
1923
- mode: 'multiple',
1924
- maxTagCount: 1,
1925
- }
1926
- : {}),
1927
- }}
1928
- disabled={disabled}
1929
- labelInValue={true}
1930
- value={currentValue}
1931
- requestConfig={{
1932
- filterInit: 'qp-code-in',
1933
- }}
1934
- onChange={(value) => {
1935
- if (dataInputBusinessType === 12) {
1936
- values = value.map((i) => i.key)||[];
1937
- valueNames = value.map((i) => i.label || '')||[];
1938
- } else {
1939
- values = value?.key?[value.key]:[];
1940
- valueNames = value?.label?[value.label]:[];
1941
- }
1942
- callback(values, valueNames);
1943
- }}
1944
- getPopupContainer={() => document.body}
1945
- />
1946
- );
1947
- }
1948
- }
1949
- } else {
1950
- if (
1951
- dataTypeCode == 22 ||
1952
- dataTypeCode == 21 ||
1953
- dataTypeCode == 24 ||
1954
- dataTypeCode == 23
1955
- ) {
1956
- //数值22, 字符串21, 布尔类型24, long23
1957
- if (INTERVAL_TYPE.indexOf(selectOperation) > -1) {
1958
- return (
1959
- <>
1960
- <Input
1961
- defaultValue={values[0]}
1962
- disabled={disabled}
1963
- style={styleCommon}
1964
- onBlur={(e) => {
1965
- values[0] = e.target.value;
1966
- valueNames[0] = e.target.value;
1967
- callback(values, valueNames);
1968
- }}
1969
- />
1970
- <span>~</span>
1971
- <Input
1972
- defaultValue={values[1]}
1973
- disabled={disabled}
1974
- style={styleCommon}
1975
- onBlur={(e) => {
1976
- values[1] = e.target.value;
1977
- valueNames[1] = e.target.value;
1978
- callback(values, valueNames);
1979
- }}
1980
- />
1981
- </>
1982
- );
1983
- } else {
1984
- return (
1985
- <Input
1986
- defaultValue={values.join(',')}
1987
- disabled={disabled}
1988
- style={styleCommon}
1989
- onBlur={(e) => {
1990
- values = e.target.value.split(',');
1991
- valueNames = e.target.value.split(',');
1992
- callback(values, valueNames);
1993
- }}
1994
- />
1995
- );
1996
- }
1997
- } else if (dataTypeCode == 41) {
1998
- // 日期41
1999
- if (INTERVAL_TYPE.indexOf(selectOperation) > -1) {
2000
- return (
2001
- <RangePicker
2002
- // showTime
2003
- disabled={disabled}
2004
- style={{ width: customerWidth || '300px' }}
2005
- format={dataTypeCode == 41 ? dateFormat : fullDateFormat}
2006
- value={[
2007
- values[0] ? moment(values[0]) : '',
2008
- values[1] ? moment(values[1]) : '',
2009
- ]}
2010
- onChange={(dates, dateStrings) => {
2011
- // 业务产品要求时间范围取值固定00:00:00-23:59:59,有问题请找产品业务
2012
- let dateStringFormat = [];
2013
- if (dataTypeCode == 41) {
2014
- dateStringFormat[0] = dateStrings[0]
2015
- ? moment(dateStrings[0]).format('YYYY-MM-DD')
2016
- : '';
2017
- dateStringFormat[1] = dateStrings[1]
2018
- ? moment(dateStrings[1]).format('YYYY-MM-DD')
2019
- : '';
2020
- } else {
2021
- dateStringFormat[0] = dateStrings[0]
2022
- ? moment(dateStrings[0]).format('YYYY-MM-DD 00:00:00')
2023
- : '';
2024
- dateStringFormat[1] = dateStrings[1]
2025
- ? moment(dateStrings[1]).format('YYYY-MM-DD 23:59:59')
2026
- : '';
2027
- }
2028
- values = [...dateStringFormat];
2029
- valueNames = [...dateStringFormat];
2030
- callback(values, valueNames);
2031
- }}
2032
- />
2033
- );
2034
- } else {
2035
- return (
2036
- <>
2037
- <DatePicker
2038
- format={dataTypeCode == 41 ? dateFormat : fullDateFormat}
2039
- disabled={disabled}
2040
- style={{ width: customerWidth || '300px' }}
2041
- value={values[0] ? moment(values[0]) : ''}
2042
- onChange={(date, dateString) => {
2043
- values[0] = dateString;
2044
- valueNames[0] = dateString;
2045
- callback(values, valueNames);
2046
- }}
2047
- />
2048
- </>
2049
- );
2050
- }
2051
- } else if (dataTypeCode == 40) {
2052
- // 时间40
2053
- if (INTERVAL_TYPE.indexOf(selectOperation) > -1) {
2054
- return (
2055
- <>
2056
- <TimePicker
2057
- key="1"
2058
- disabled={disabled}
2059
- value={values[0] ? moment(values[0]) : ''}
2060
- style={styleCommon}
2061
- onChange={(time, timeString) => {
2062
- values[0] = timeString;
2063
- valueNames[0] = timeString;
2064
- callback(values, valueNames);
2065
- }}
2066
- />
2067
- <span>~</span>
2068
- <TimePicker
2069
- key="2"
2070
- disabled={disabled}
2071
- value={values[1] ? moment(values[1]) : ''}
2072
- style={styleCommon}
2073
- onChange={(time, timeString) => {
2074
- values[1] = timeString;
2075
- valueNames[1] = timeString;
2076
- callback(values, valueNames);
2077
- }}
2078
- />
2079
- </>
2080
- );
2081
- } else {
2082
- return (
2083
- <TimePicker
2084
- defaultValue={values[0] ? moment(values[0]) : ''}
2085
- disabled={disabled}
2086
- style={styleCommon}
2087
- onChange={(time, timeString) => {
2088
- values[0] = timeString;
2089
- valueNames[0] = timeString;
2090
- callback(values, valueNames);
2091
- }}
2092
- />
2093
- );
2094
- }
2095
- }
2096
- }
2097
- return '';
2098
- };
2099
-
2100
- render() {
2101
- return (
2102
- <div style={{ marginLeft: '10px' }} className={styles.rule_field_style}>
2103
- {this.renderConditionField()}
2104
- </div>
2105
- );
2106
- }
2107
- }
1
+ import React, { Component } from 'react';
2
+ import { Select, Input, InputNumber, DatePicker, TimePicker } from 'antd';
3
+ import styles from './index.less';
4
+ import { getRegularThresholdRange } from './services';
5
+ import moment from 'moment';
6
+ import { handleError, judgeIsEmpty } from '../../../utils/utils';
7
+ import { queryIdentityInfo, findChangedThresholdQuery, setParams } from './util';
8
+ import { request as SulaRequest } from 'bssula';
9
+ import { stringify } from 'querystring';
10
+ import {
11
+ BusinessSearchSelect,
12
+ BusinessTreeSearchSelect,
13
+ BsCascader
14
+ } from '../../../index';
15
+ const { RangePicker } = DatePicker;
16
+
17
+ export default class RuleField extends Component {
18
+ constructor(props) {
19
+ super(props);
20
+ this.state = {
21
+ selectOperation: '',
22
+ dataTypeCode: '',
23
+ dataChoiceBusinessType: '',
24
+ dataInputBusinessType: '',
25
+ fieldValues: [],
26
+ thresholdQuery: {},
27
+ thresholdList: [],
28
+ options: [],
29
+ };
30
+ }
31
+
32
+ componentDidMount() {
33
+ const {
34
+ selectOperation,
35
+ dataTypeCode,
36
+ dataChoiceBusinessType,
37
+ dataInputBusinessType,
38
+ options,
39
+ values,
40
+ initialThresholdQuery,
41
+ queryIdentify,
42
+ propertyCode,
43
+ queryIdentifyType,
44
+ } = this.props;
45
+ this.setState(
46
+ {
47
+ selectOperation,
48
+ thresholdQuery: initialThresholdQuery
49
+ ? {
50
+ ...initialThresholdQuery,
51
+ }
52
+ : {},
53
+ dataTypeCode,
54
+ dataChoiceBusinessType,
55
+ dataInputBusinessType,
56
+ fieldValues: [...values],
57
+ options,
58
+ },
59
+ () => {
60
+ !judgeIsEmpty(queryIdentify) &&
61
+ this.getRegularThresholdRange(
62
+ queryIdentify,
63
+ propertyCode,
64
+ queryIdentifyType,
65
+ );
66
+ },
67
+ );
68
+ window.addEventListener('testEvent', this.eventHandle);
69
+ }
70
+
71
+ eventHandle = (obj) => {
72
+ const { thresholdQuery } = this.state;
73
+ const { queryIdentify, propertyCode, queryIdentifyType } = this.props;
74
+ this.setState(
75
+ {
76
+ thresholdQuery: {
77
+ ...thresholdQuery,
78
+ ...obj.data,
79
+ },
80
+ },
81
+ () => {
82
+ this.getRegularThresholdRange(
83
+ queryIdentify,
84
+ propertyCode,
85
+ queryIdentifyType,
86
+ );
87
+ },
88
+ );
89
+ };
90
+
91
+ componentWillUnmount() {
92
+ window.removeEventListener('testEvent', this.eventHandle);
93
+ }
94
+
95
+ componentWillReceiveProps(nextProps) {
96
+ if (nextProps.selectOperation != this.props.selectOperation) {
97
+ this.setState({
98
+ selectOperation: nextProps.selectOperation,
99
+ });
100
+ }
101
+ if (nextProps.dataTypeCode != this.props.dataTypeCode) {
102
+ this.setState({
103
+ dataTypeCode: nextProps.dataTypeCode,
104
+ });
105
+ }
106
+ if (nextProps.dataChoiceBusinessType != this.props.dataChoiceBusinessType) {
107
+ this.setState({
108
+ dataChoiceBusinessType: nextProps.dataChoiceBusinessType,
109
+ });
110
+ }
111
+ if (nextProps.dataInputBusinessType != this.props.dataInputBusinessType) {
112
+ this.setState({
113
+ dataInputBusinessType: nextProps.dataInputBusinessType,
114
+ });
115
+ }
116
+ // if (nextProps.selectOperation != this.props.selectOperation) {
117
+ // this.setState({
118
+ // options: nextProps.options
119
+ // })
120
+ // }
121
+ if (
122
+ nextProps.queryIdentify &&
123
+ nextProps.queryIdentify != this.props.queryIdentify
124
+ ) {
125
+ this.getRegularThresholdRange(
126
+ nextProps.queryIdentify,
127
+ nextProps.propertyCode,
128
+ nextProps.queryIdentifyType,
129
+ );
130
+ }
131
+
132
+ if (
133
+ JSON.stringify(nextProps.initialThresholdQuery) !=
134
+ JSON.stringify(this.props.initialThresholdQuery)
135
+ ) {
136
+ console.log(
137
+ findChangedThresholdQuery(
138
+ this.props.initialThresholdQuery,
139
+ nextProps.initialThresholdQuery,
140
+ ),
141
+ );
142
+ let changedPropsVal = findChangedThresholdQuery(
143
+ this.props.initialThresholdQuery,
144
+ nextProps.initialThresholdQuery,
145
+ );
146
+ this.setState(
147
+ {
148
+ thresholdQuery: {
149
+ ...nextProps.initialThresholdQuery,
150
+ },
151
+ },
152
+ () => {
153
+ if (changedPropsVal.indexOf(nextProps.propertyCode) > -1) {
154
+ this.getRegularThresholdRange(
155
+ nextProps.queryIdentify,
156
+ nextProps.propertyCode,
157
+ nextProps.queryIdentifyType,
158
+ );
159
+ }
160
+ },
161
+ );
162
+ }
163
+ }
164
+
165
+ //规则对象属性枚举值查询处理 queryIdentify有值是表示该属性有枚举选择
166
+ getRegularThresholdRange = async (
167
+ queryIdentify,
168
+ propertyCode,
169
+ queryIdentifyType,
170
+ ) => {
171
+ if (!queryIdentify) return;
172
+ const { thresholdQuery } = this.state;
173
+ let extraRequestUrl = '';
174
+ let querParams = setParams(propertyCode, thresholdQuery);
175
+ if (queryIdentityInfo.find((item) => item.identity == propertyCode)) {
176
+ //判断查询属性枚举时有没有必传参数,如果必传参数没有值则不调用查询接口
177
+ let needQueryList = queryIdentityInfo
178
+ .find((item) => item.identity == propertyCode)
179
+ .queryParam.filter((item) => item.isRequired)
180
+ .map((item) => item.queryKey);
181
+ if (
182
+ needQueryList.some(
183
+ (item) => !querParams[item] || !querParams[item].length,
184
+ )
185
+ ) {
186
+ return;
187
+ }
188
+ extraRequestUrl =
189
+ queryIdentityInfo.find((item) => item.identity == propertyCode)
190
+ .requestUrl || '';
191
+ }
192
+ if (queryIdentifyType === 'dictCodeIdentify') {
193
+ extraRequestUrl = `bscDictItem/selectDictItemsByDictCode`; // 字典接口
194
+ querParams = { dictCode: queryIdentify };
195
+ } else if (queryIdentifyType === 'dynamicDictCodeIdentify') {
196
+ extraRequestUrl = `dictDynamicItem/getDynamicData/${queryIdentify}`; // 字典接口
197
+ // querParams = { dictCode: queryIdentify }
198
+ }
199
+
200
+ if (extraRequestUrl) {
201
+ if (queryIdentify == 'maintain_area_code') {
202
+ extraRequestUrl = `/basic/${extraRequestUrl}${
203
+ querParams.memberCardCode
204
+ }?${stringify(querParams)}`;
205
+ } else if (queryIdentifyType == 'dictCodeIdentify') {
206
+ extraRequestUrl = `/basic/${extraRequestUrl}?${stringify(querParams)}`;
207
+ } else if (queryIdentifyType == 'dynamicDictCodeIdentify') {
208
+ extraRequestUrl = `/basic/${extraRequestUrl}`;
209
+ }
210
+
211
+ SulaRequest({
212
+ url: extraRequestUrl,
213
+ method: 'get',
214
+ converter: (res) => {
215
+ if (handleError(res)) {
216
+ let handleData = res?.data || [];
217
+ if (queryIdentifyType === 'dictCodeIdentify') {
218
+ handleData = handleData?.length
219
+ ? handleData.map((i) => ({
220
+ code: i.dictItemCode,
221
+ name: i.dictItemName,
222
+ }))
223
+ : [];
224
+ }
225
+ if (queryIdentifyType === 'dynamicDictCodeIdentify') {
226
+ handleData = handleData?.length
227
+ ? handleData.map((i) => ({
228
+ code: i.code.toString(),
229
+ name: i.name,
230
+ }))
231
+ : [];
232
+ }
233
+ this.setState({
234
+ thresholdList: handleData,
235
+ });
236
+ }
237
+ return handleData;
238
+ },
239
+ });
240
+ } else {
241
+ if (queryIdentifyType == 'objectPropertyListIdentify') {
242
+ this.setState({
243
+ thresholdList: queryIdentify,
244
+ });
245
+ } else if (queryIdentifyType == 'objectPropertyCodeIdentify') {
246
+ // TODO待处理
247
+ this.setState({
248
+ thresholdList: [],
249
+ });
250
+ } else {
251
+ querParams.queryIdentify = queryIdentify;
252
+ let res = await getRegularThresholdRange(querParams);
253
+ if (handleError(res)) {
254
+ this.setState({
255
+ thresholdList: res?.data || [],
256
+ });
257
+ }
258
+ }
259
+ }
260
+ };
261
+
262
+ renderConditionField = () => {
263
+ let {
264
+ selectOperation,
265
+ dataTypeCode,
266
+ dataChoiceBusinessType,
267
+ dataInputBusinessType,
268
+ options,
269
+ values,
270
+ valueNames,
271
+ callback,
272
+ queryIdentify,
273
+ disabled,
274
+ customerWidth,
275
+ } = this.props;
276
+ const { thresholdList } = this.state;
277
+ const dateFormat = 'YYYY-MM-DD';
278
+ const fullDateFormat = 'YYYY-MM-DD HH:mm:ss';
279
+ const styleCommon = {
280
+ width: customerWidth || '150px',
281
+ };
282
+ if (!selectOperation) return <Input disabled style={styleCommon}></Input>;
283
+ const SET_TYPE = ['in', 'nin', 'cn', 'ncn']; //集合类型
284
+ const INTERVAL_TYPE = ['be', 'bed', 'nbe', 'nbed', 'ber', 'bel']; //区间类型
285
+ const IS_KONG = ['en']; // 为空
286
+ if (IS_KONG.indexOf(selectOperation) > -1) {
287
+ return '';
288
+ }
289
+ // queryIdentify有值是表示该属性有枚举选择
290
+ if (!judgeIsEmpty(queryIdentify)) {
291
+ if (INTERVAL_TYPE.indexOf(selectOperation) > -1) {
292
+ return (
293
+ <>
294
+ <Select
295
+ disabled={disabled}
296
+ showSearch
297
+ filterOption={(input, option) =>
298
+ option.props.children
299
+ ?.toLowerCase()
300
+ .indexOf(input.toLowerCase()) >= 0
301
+ }
302
+ onChange={(value, option) => {
303
+ values[0] = value;
304
+ valueNames[0] = option?.props?.children || '';
305
+ callback(values, valueNames);
306
+ }}
307
+ value={values[0]}
308
+ style={styleCommon}
309
+ >
310
+ {thresholdList.map((item) => (
311
+ <Select.Option value={item.code}>{item.name}</Select.Option>
312
+ ))}
313
+ </Select>
314
+ <span>~</span>
315
+ <Select
316
+ value={values[1]}
317
+ disabled={disabled}
318
+ showSearch
319
+ filterOption={(input, option) =>
320
+ option.props.children
321
+ ?.toLowerCase()
322
+ .indexOf(input.toLowerCase()) >= 0
323
+ }
324
+ onChange={(value, option) => {
325
+ values[1] = value;
326
+ valueNames[1] = option?.props?.children || '';
327
+ callback(values, valueNames);
328
+ }}
329
+ style={styleCommon}
330
+ >
331
+ {thresholdList.map((item) => (
332
+ <Select.Option value={item.code}>{item.name}</Select.Option>
333
+ ))}
334
+ </Select>
335
+ </>
336
+ );
337
+ } else {
338
+ return (
339
+ <Select
340
+ disabled={disabled}
341
+ showSearch
342
+ filterOption={(input, option) =>
343
+ option.props.children
344
+ ?.toLowerCase()
345
+ .indexOf(input.toLowerCase()) >= 0
346
+ }
347
+ onChange={(value, option) => {
348
+ if (SET_TYPE.indexOf(selectOperation) > -1) {
349
+ let valueNames1 = Array.isArray(option)
350
+ ? option.map((item) => item?.props?.children || '')
351
+ : [];
352
+ values = [...value];
353
+ valueNames = [...valueNames1];
354
+ } else {
355
+ values = [value];
356
+ valueNames = [option?.props?.children || ''];
357
+ }
358
+ callback(values, valueNames);
359
+ }}
360
+ value={SET_TYPE.indexOf(selectOperation) > -1 ? values : values[0]}
361
+ style={styleCommon}
362
+ mode={
363
+ SET_TYPE.indexOf(selectOperation) > -1 ? 'multiple' : 'default'
364
+ }
365
+ >
366
+ {thresholdList.map((item) => (
367
+ <Select.Option value={item.code}>{item.name}</Select.Option>
368
+ ))}
369
+ </Select>
370
+ );
371
+ }
372
+ } else if (dataInputBusinessType == 11 || dataInputBusinessType == 12) {
373
+ // 11 单选 12 多选
374
+ // 物理仓
375
+ if (dataChoiceBusinessType == 110) {
376
+ if (INTERVAL_TYPE.indexOf(selectOperation) > -1) {
377
+ return (
378
+ <>
379
+ <BusinessSearchSelect
380
+ selectBusinessType="physicalWarehouse"
381
+ selectProps={{
382
+ style: styleCommon,
383
+ placeholder: '请选择物理仓',
384
+ ...(dataInputBusinessType === 12
385
+ ? {
386
+ mode: 'multiple',
387
+ maxTagCount: 1,
388
+ }
389
+ : {}),
390
+ }}
391
+ disabled={disabled}
392
+ labelInValue={true}
393
+ value={values[0]}
394
+ requestConfig={{
395
+ mappingValueField: 'physicalWarehouseCode',
396
+ filterInit: 'qp-physicalWarehouseCode-in',
397
+ }}
398
+ onChange={(value) => {
399
+ if (dataInputBusinessType === 12) {
400
+ values[0] = value.map((i) => i.key);
401
+ valueNames[0] = value.map((i) => i.label || '');
402
+ } else {
403
+ values[0] = [value.key];
404
+ valueNames[0] = [value.label || ''];
405
+ }
406
+ callback(values, valueNames);
407
+ }}
408
+ getPopupContainer={() => document.body}
409
+ />
410
+ <span>~</span>
411
+ <BusinessSearchSelect
412
+ selectBusinessType="physicalWarehouse"
413
+ selectProps={{
414
+ style: styleCommon,
415
+ placeholder: '请选择物理仓',
416
+ ...(dataInputBusinessType === 12
417
+ ? {
418
+ mode: 'multiple',
419
+ maxTagCount: 1,
420
+ }
421
+ : {}),
422
+ }}
423
+ disabled={disabled}
424
+ labelInValue={true}
425
+ value={values[1]}
426
+ requestConfig={{
427
+ mappingValueField: 'physicalWarehouseCode',
428
+ filterInit: 'qp-physicalWarehouseCode-in',
429
+ }}
430
+ onChange={(value) => {
431
+ if (dataInputBusinessType === 12) {
432
+ values[1] = value.map((i) => i.key);
433
+ valueNames[1] = value.map((i) => i.label || '');
434
+ } else {
435
+ values[1] = [value.key];
436
+ valueNames[1] = [value.label || ''];
437
+ }
438
+ callback(values, valueNames);
439
+ }}
440
+ getPopupContainer={() => document.body}
441
+ />
442
+ </>
443
+ );
444
+ } else {
445
+ const currentValue = dataInputBusinessType === 12 ?
446
+ values?.map((s,vIndex)=> ({key: s, label: valueNames[vIndex]}))||[]
447
+ : values[0]&&{key:values[0],label:valueNames[0]}||{}
448
+ return (
449
+ <BusinessSearchSelect
450
+ selectBusinessType="physicalWarehouse"
451
+ selectProps={{
452
+ style: styleCommon,
453
+ placeholder: '请选择物理仓',
454
+ ...(dataInputBusinessType === 12
455
+ ? {
456
+ mode: 'multiple',
457
+ maxTagCount: 1,
458
+ }
459
+ : {}),
460
+ }}
461
+ disabled={disabled}
462
+ labelInValue={true}
463
+ value={currentValue}
464
+ requestConfig={{
465
+ mappingValueField: 'physicalWarehouseCode',
466
+ filterInit: 'qp-physicalWarehouseCode-in',
467
+ }}
468
+ onChange={(value) => {
469
+ if (dataInputBusinessType === 12) {
470
+ values = value.map((i) => i.key)||[];
471
+ valueNames = value.map((i) => i.label || '')||[];
472
+ } else {
473
+ values = value?.key?[value.key]:[];
474
+ valueNames = value?.label?[value.label]:[];
475
+ }
476
+ callback(values, valueNames);
477
+ }}
478
+ getPopupContainer={() => document.body}
479
+ />
480
+ );
481
+ }
482
+ }
483
+ // 逻辑仓
484
+ if (dataChoiceBusinessType == 120) {
485
+ if (INTERVAL_TYPE.indexOf(selectOperation) > -1) {
486
+ return (
487
+ <>
488
+ <BusinessSearchSelect
489
+ selectBusinessType="realWarehouse"
490
+ selectProps={{
491
+ style: styleCommon,
492
+ placeholder: '请选择逻辑仓',
493
+ ...(dataInputBusinessType === 12
494
+ ? {
495
+ mode: 'multiple',
496
+ maxTagCount: 1,
497
+ }
498
+ : {}),
499
+ }}
500
+ disabled={disabled}
501
+ labelInValue={true}
502
+ value={values[0]}
503
+ requestConfig={{
504
+ mappingValueField: 'realWarehouseCode',
505
+ filterInit: 'qp-realWarehouseCode-in',
506
+ }}
507
+ onChange={(value) => {
508
+ if (dataInputBusinessType === 12) {
509
+ values[0] = value.map((i) => i.key);
510
+ valueNames[0] = value.map((i) => i.label || '');
511
+ } else {
512
+ values[0] = [value.key];
513
+ valueNames[0] = [value.label || ''];
514
+ }
515
+ callback(values, valueNames);
516
+ }}
517
+ getPopupContainer={() => document.body}
518
+ />
519
+ <span>~</span>
520
+ <BusinessSearchSelect
521
+ selectBusinessType="realWarehouse"
522
+ selectProps={{
523
+ style: styleCommon,
524
+ placeholder: '请选择逻辑仓',
525
+ ...(dataInputBusinessType === 12
526
+ ? {
527
+ mode: 'multiple',
528
+ maxTagCount: 1,
529
+ }
530
+ : {}),
531
+ }}
532
+ disabled={disabled}
533
+ labelInValue={true}
534
+ value={values[1]}
535
+ requestConfig={{
536
+ mappingValueField: 'realWarehouseCode',
537
+ filterInit: 'qp-realWarehouseCode-in',
538
+ }}
539
+ onChange={(value) => {
540
+ if (dataInputBusinessType === 12) {
541
+ values[1] = value.map((i) => i.key);
542
+ valueNames[1] = value.map((i) => i.label || '');
543
+ } else {
544
+ values[1] = [value.key];
545
+ valueNames[1] = [value.label || ''];
546
+ }
547
+ callback(values, valueNames);
548
+ }}
549
+ getPopupContainer={() => document.body}
550
+ />
551
+ </>
552
+ );
553
+ } else {
554
+ const currentValue = dataInputBusinessType === 12 ?
555
+ values?.map((s,vIndex)=> ({key: s, label: valueNames[vIndex]}))||[]
556
+ : values[0]&&{key:values[0],label:valueNames[0]}||{}
557
+ return (
558
+ <BusinessSearchSelect
559
+ selectBusinessType="realWarehouse"
560
+ selectProps={{
561
+ style: styleCommon,
562
+ placeholder: '请选择逻辑仓',
563
+ ...(dataInputBusinessType === 12
564
+ ? {
565
+ mode: 'multiple',
566
+ maxTagCount: 1,
567
+ }
568
+ : {}),
569
+ }}
570
+ disabled={disabled}
571
+ labelInValue={true}
572
+ value={currentValue}
573
+ requestConfig={{
574
+ mappingValueField: 'realWarehouseCode',
575
+ filterInit: 'qp-realWarehouseCode-in',
576
+ }}
577
+ onChange={(value) => {
578
+ if (dataInputBusinessType === 12) {
579
+ values = value.map((i) => i.key)||[];
580
+ valueNames = value.map((i) => i.label || '')||[];
581
+ } else {
582
+ values = value?.key?[value.key]:[];
583
+ valueNames = value?.label?[value.label]:[];
584
+ }
585
+ callback(values, valueNames);
586
+ }}
587
+ getPopupContainer={() => document.body}
588
+ />
589
+ );
590
+ }
591
+ }
592
+ // 虚拟仓
593
+ if (dataChoiceBusinessType == 130) {
594
+ if (INTERVAL_TYPE.indexOf(selectOperation) > -1) {
595
+ return (
596
+ <>
597
+ <BusinessSearchSelect
598
+ selectBusinessType="virtualWarehouse"
599
+ selectProps={{
600
+ style: styleCommon,
601
+ placeholder: '请选择虚拟仓',
602
+ ...(dataInputBusinessType === 12
603
+ ? {
604
+ mode: 'multiple',
605
+ maxTagCount: 1,
606
+ }
607
+ : {}),
608
+ }}
609
+ disabled={disabled}
610
+ labelInValue={true}
611
+ value={values[0]}
612
+ requestConfig={{
613
+ mappingValueField: 'virtualWarehouseCode',
614
+ filterInit: 'qp-virtualWarehouseCode-in',
615
+ }}
616
+ onChange={(value) => {
617
+ if (dataInputBusinessType === 12) {
618
+ values[0] = value.map((i) => i.key);
619
+ valueNames[0] = value.map((i) => i.label || '');
620
+ } else {
621
+ values[0] = [value.key];
622
+ valueNames[0] = [value.label || ''];
623
+ }
624
+ callback(values, valueNames);
625
+ }}
626
+ getPopupContainer={() => document.body}
627
+ />
628
+ <span>~</span>
629
+ <BusinessSearchSelect
630
+ selectBusinessType="virtualWarehouse"
631
+ selectProps={{
632
+ style: styleCommon,
633
+ placeholder: '请选择虚拟仓',
634
+ ...(dataInputBusinessType === 12
635
+ ? {
636
+ mode: 'multiple',
637
+ maxTagCount: 1,
638
+ }
639
+ : {}),
640
+ }}
641
+ disabled={disabled}
642
+ labelInValue={true}
643
+ value={values[1]}
644
+ requestConfig={{
645
+ mappingValueField: 'virtualWarehouseCode',
646
+ filterInit: 'qp-virtualWarehouseCode-in',
647
+ }}
648
+ onChange={(value) => {
649
+ if (dataInputBusinessType === 12) {
650
+ values[1] = value.map((i) => i.key);
651
+ valueNames[1] = value.map((i) => i.label || '');
652
+ } else {
653
+ values[1] = [value.key];
654
+ valueNames[1] = [value.label || ''];
655
+ }
656
+ callback(values, valueNames);
657
+ }}
658
+ getPopupContainer={() => document.body}
659
+ />
660
+ </>
661
+ );
662
+ } else {
663
+ const currentValue = dataInputBusinessType === 12 ?
664
+ values?.map((s,vIndex)=> ({key: s, label: valueNames[vIndex]}))||[]
665
+ : values[0]&&{key:values[0],label:valueNames[0]}||{}
666
+ return (
667
+ <BusinessSearchSelect
668
+ selectBusinessType="virtualWarehouse"
669
+ selectProps={{
670
+ style: styleCommon,
671
+ placeholder: '请选择虚拟仓',
672
+ ...(dataInputBusinessType === 12
673
+ ? {
674
+ mode: 'multiple',
675
+ maxTagCount: 1,
676
+ }
677
+ : {}),
678
+ }}
679
+ disabled={disabled}
680
+ labelInValue={true}
681
+ value={currentValue}
682
+ requestConfig={{
683
+ mappingValueField: 'virtualWarehouseCode',
684
+ filterInit: 'qp-virtualWarehouseCode-in',
685
+ }}
686
+ onChange={(value) => {
687
+ if (dataInputBusinessType === 12) {
688
+ values = value.map((i) => i.key)||[];
689
+ valueNames = value.map((i) => i.label || '')||[];
690
+ } else {
691
+ values = value?.key?[value.key]:[];
692
+ valueNames = value?.label?[value.label]:[];
693
+ }
694
+ callback(values, valueNames);
695
+ }}
696
+ getPopupContainer={() => document.body}
697
+ />
698
+ );
699
+ }
700
+ }
701
+ // 渠道仓
702
+ if (dataChoiceBusinessType == 140) {
703
+ if (INTERVAL_TYPE.indexOf(selectOperation) > -1) {
704
+ return (
705
+ <>
706
+ <BusinessSearchSelect
707
+ selectBusinessType="channelWarehouse"
708
+ selectProps={{
709
+ style: styleCommon,
710
+ placeholder: '请选择渠道仓',
711
+ ...(dataInputBusinessType === 12
712
+ ? {
713
+ mode: 'multiple',
714
+ maxTagCount: 1,
715
+ }
716
+ : {}),
717
+ }}
718
+ disabled={disabled}
719
+ labelInValue={true}
720
+ value={values[0]}
721
+ requestConfig={{
722
+ mappingValueField: 'channelWarehouseCode',
723
+ filterInit: 'qp-channelWarehouseCode-in',
724
+ }}
725
+ onChange={(value) => {
726
+ if (dataInputBusinessType === 12) {
727
+ values[0] = value.map((i) => i.key);
728
+ valueNames[0] = value.map((i) => i.label || '');
729
+ } else {
730
+ values[0] = [value.key];
731
+ valueNames[0] = [value.label || ''];
732
+ }
733
+ callback(values, valueNames);
734
+ }}
735
+ getPopupContainer={() => document.body}
736
+ />
737
+ <span>~</span>
738
+ <BusinessSearchSelect
739
+ selectBusinessType="channelWarehouse"
740
+ selectProps={{
741
+ style: styleCommon,
742
+ placeholder: '请选择渠道仓',
743
+ ...(dataInputBusinessType === 12
744
+ ? {
745
+ mode: 'multiple',
746
+ maxTagCount: 1,
747
+ }
748
+ : {}),
749
+ }}
750
+ disabled={disabled}
751
+ labelInValue={true}
752
+ value={values[1]}
753
+ requestConfig={{
754
+ mappingValueField: 'channelWarehouseCode',
755
+ filterInit: 'qp-channelWarehouseCode-in',
756
+ }}
757
+ onChange={(value) => {
758
+ if (dataInputBusinessType === 12) {
759
+ values[1] = value.map((i) => i.key);
760
+ valueNames[1] = value.map((i) => i.label || '');
761
+ } else {
762
+ values[1] = [value.key];
763
+ valueNames[1] = [value.label || ''];
764
+ }
765
+ callback(values, valueNames);
766
+ }}
767
+ getPopupContainer={() => document.body}
768
+ />
769
+ </>
770
+ );
771
+ } else {
772
+ const currentValue = dataInputBusinessType === 12 ?
773
+ values?.map((s,vIndex)=> ({key: s, label: valueNames[vIndex]}))||[]
774
+ : values[0]&&{key:values[0],label:valueNames[0]}||{}
775
+ return (
776
+ <BusinessSearchSelect
777
+ selectBusinessType="channelWarehouse"
778
+ selectProps={{
779
+ style: styleCommon,
780
+ placeholder: '请选择渠道仓',
781
+ ...(dataInputBusinessType === 12
782
+ ? {
783
+ mode: 'multiple',
784
+ maxTagCount: 1,
785
+ }
786
+ : {}),
787
+ }}
788
+ disabled={disabled}
789
+ labelInValue={true}
790
+ value={currentValue}
791
+ requestConfig={{
792
+ mappingValueField: 'channelWarehouseCode',
793
+ filterInit: 'qp-channelWarehouseCode-in',
794
+ }}
795
+ onChange={(value) => {
796
+ if (dataInputBusinessType === 12) {
797
+ values = value.map((i) => i.key)||[];
798
+ valueNames = value.map((i) => i.label || '')||[];
799
+ } else {
800
+ values = value?.key?[value.key]:[];
801
+ valueNames = value?.label?[value.label]:[];
802
+ }
803
+ callback(values, valueNames);
804
+ }}
805
+ getPopupContainer={() => document.body}
806
+ />
807
+ );
808
+ }
809
+ }
810
+ // 商品SPU选择器
811
+ if (dataChoiceBusinessType == 150) {
812
+ if (INTERVAL_TYPE.indexOf(selectOperation) > -1) {
813
+ return (
814
+ <>
815
+ <BusinessSearchSelect
816
+ selectBusinessType="spuCommodity"
817
+ selectProps={{
818
+ style: styleCommon,
819
+ placeholder: '请选择SPU',
820
+ ...(dataInputBusinessType === 12
821
+ ? {
822
+ mode: 'multiple',
823
+ maxTagCount: 1,
824
+ }
825
+ : {}),
826
+ }}
827
+ disabled={disabled}
828
+ labelInValue={true}
829
+ value={values[0]}
830
+ requestConfig={{
831
+ filterInit: 'qp-itemCode-in',
832
+ }}
833
+ onChange={(value) => {
834
+ if (dataInputBusinessType === 12) {
835
+ values[0] = value.map((i) => i.key);
836
+ valueNames[0] = value.map((i) => i.label || '');
837
+ } else {
838
+ values[0] = [value.key];
839
+ valueNames[0] = [value.label || ''];
840
+ }
841
+ callback(values, valueNames);
842
+ }}
843
+ getPopupContainer={() => document.body}
844
+ />
845
+ <span>~</span>
846
+ <BusinessSearchSelect
847
+ selectBusinessType="spuCommodity"
848
+ selectProps={{
849
+ style: styleCommon,
850
+ placeholder: '请选择SPU',
851
+ ...(dataInputBusinessType === 12
852
+ ? {
853
+ mode: 'multiple',
854
+ maxTagCount: 1,
855
+ }
856
+ : {}),
857
+ }}
858
+ disabled={disabled}
859
+ labelInValue={true}
860
+ value={values[1]}
861
+ requestConfig={{
862
+ filterInit: 'qp-itemCode-in',
863
+ }}
864
+ onChange={(value) => {
865
+ if (dataInputBusinessType === 12) {
866
+ values[1] = value.map((i) => i.key);
867
+ valueNames[1] = value.map((i) => i.label || '');
868
+ } else {
869
+ values[1] = [value.key];
870
+ valueNames[1] = [value.label || ''];
871
+ }
872
+ callback(values, valueNames);
873
+ }}
874
+ getPopupContainer={() => document.body}
875
+ />
876
+ </>
877
+ );
878
+ } else {
879
+ const currentValue = dataInputBusinessType === 12 ?
880
+ values?.map((s,vIndex)=> ({key: s, label: valueNames[vIndex]}))||[]
881
+ : values[0]&&{key:values[0],label:valueNames[0]}||{}
882
+ return (
883
+ <BusinessSearchSelect
884
+ selectBusinessType="spuCommodity"
885
+ selectProps={{
886
+ style: styleCommon,
887
+ placeholder: '请选择SPU',
888
+ ...(dataInputBusinessType === 12
889
+ ? {
890
+ mode: 'multiple',
891
+ maxTagCount: 1,
892
+ }
893
+ : {}),
894
+ }}
895
+ disabled={disabled}
896
+ labelInValue={true}
897
+ value={currentValue}
898
+ requestConfig={{
899
+ filterInit: 'qp-itemCode-in',
900
+ }}
901
+ onChange={(value) => {
902
+ if (dataInputBusinessType === 12) {
903
+ values = value.map((i) => i.key)||[];
904
+ valueNames = value.map((i) => i.label || '')||[];
905
+ } else {
906
+ values = value?.key?[value.key]:[];
907
+ valueNames = value?.label?[value.label]:[];
908
+ }
909
+ callback(values, valueNames);
910
+ }}
911
+ getPopupContainer={() => document.body}
912
+ />
913
+ );
914
+ }
915
+ }
916
+ // 商品SKU选择器
917
+ if (dataChoiceBusinessType == 160) {
918
+ if (INTERVAL_TYPE.indexOf(selectOperation) > -1) {
919
+ return (
920
+ <>
921
+ <BusinessSearchSelect
922
+ selectBusinessType="skuCommodity"
923
+ selectProps={{
924
+ style: styleCommon,
925
+ placeholder: '请选择商品',
926
+ ...(dataInputBusinessType === 12
927
+ ? {
928
+ mode: 'multiple',
929
+ maxTagCount: 1,
930
+ }
931
+ : {}),
932
+ }}
933
+ disabled={disabled}
934
+ labelInValue={true}
935
+ value={values[0]}
936
+ requestConfig={{
937
+ filterInit: 'qp-skuCode-in',
938
+ }}
939
+ onChange={(value) => {
940
+ if (dataInputBusinessType === 12) {
941
+ values[0] = value.map((i) => i.key);
942
+ valueNames[0] = value.map((i) => i.label || '');
943
+ } else {
944
+ values[0] = [value.key];
945
+ valueNames[0] = [value.label || ''];
946
+ }
947
+ callback(values, valueNames);
948
+ }}
949
+ getPopupContainer={() => document.body}
950
+ />
951
+ <span>~</span>
952
+ <BusinessSearchSelect
953
+ selectBusinessType="skuCommodity"
954
+ selectProps={{
955
+ style: styleCommon,
956
+ placeholder: '请选择商品',
957
+ ...(dataInputBusinessType === 12
958
+ ? {
959
+ mode: 'multiple',
960
+ maxTagCount: 1,
961
+ }
962
+ : {}),
963
+ }}
964
+ disabled={disabled}
965
+ labelInValue={true}
966
+ value={values[1]}
967
+ requestConfig={{
968
+ filterInit: 'qp-skuCode-in',
969
+ }}
970
+ onChange={(value) => {
971
+ if (dataInputBusinessType === 12) {
972
+ values[1] = value.map((i) => i.key);
973
+ valueNames[1] = value.map((i) => i.label || '');
974
+ } else {
975
+ values[1] = [value.key];
976
+ valueNames[1] = [value.label || ''];
977
+ }
978
+ callback(values, valueNames);
979
+ }}
980
+ getPopupContainer={() => document.body}
981
+ />
982
+ </>
983
+ );
984
+ } else {
985
+ const currentValue = dataInputBusinessType === 12 ?
986
+ values?.map((s,vIndex)=> ({key: s, label: valueNames[vIndex]}))||[]
987
+ : values[0]&&{key:values[0],label:valueNames[0]}||{}
988
+ return (
989
+ <BusinessSearchSelect
990
+ selectBusinessType="skuCommodity"
991
+ selectProps={{
992
+ style: styleCommon,
993
+ placeholder: '请选择商品',
994
+ ...(dataInputBusinessType === 12
995
+ ? {
996
+ mode: 'multiple',
997
+ maxTagCount: 1,
998
+ }
999
+ : {}),
1000
+ }}
1001
+ disabled={disabled}
1002
+ labelInValue={true}
1003
+ value={currentValue}
1004
+ requestConfig={{
1005
+ filterInit: 'qp-skuCode-in',
1006
+ }}
1007
+ onChange={(value) => {
1008
+ if (dataInputBusinessType === 12) {
1009
+ values = value.map((i) => i.key)||[];
1010
+ valueNames = value.map((i) => i.label || '')||[];
1011
+ } else {
1012
+ values = value?.key?[value.key]:[];
1013
+ valueNames = value?.label?[value.label]:[];
1014
+ }
1015
+ callback(values, valueNames);
1016
+ }}
1017
+ getPopupContainer={() => document.body}
1018
+ />
1019
+ );
1020
+ }
1021
+ }
1022
+ // 省市区
1023
+ if (dataChoiceBusinessType == 190) {
1024
+ if (INTERVAL_TYPE.indexOf(selectOperation) > -1) {
1025
+ return (
1026
+ <>
1027
+ <BsCascader
1028
+ disabled={disabled}
1029
+ isAll={true}
1030
+ needNameAndCode={true}
1031
+ notChangeOnSelect={true}
1032
+ initRequestSource={async () => {
1033
+ return await SulaRequest({
1034
+ url: '/basic/bscArea/getBscAreaList?qp-level-eq=1&qp-pid-eq=100000',
1035
+ method: 'get',
1036
+ converter: ({ data }) => {
1037
+ const handleData =
1038
+ data && data[0]
1039
+ ? data?.map((item) => {
1040
+ return {
1041
+ text: item.name,
1042
+ value: item.id,
1043
+ level: item.level,
1044
+ id: item.id,
1045
+ };
1046
+ })
1047
+ : [];
1048
+ return handleData;
1049
+ },
1050
+ });
1051
+ }}
1052
+ style={{ width: 240 }}
1053
+ value={{ PCDName: valueNames[0] || [] }}
1054
+ onChange={(value) => {
1055
+ values[0] = value.PCDCode;
1056
+ valueNames[0] = value.PCDName;
1057
+ callback(values, valueNames);
1058
+ }}
1059
+ getPopupContainer={() => document.body}
1060
+ />
1061
+ <span>~</span>
1062
+ <BsCascader
1063
+ disabled={disabled}
1064
+ onlyCode={true}
1065
+ isAll={true}
1066
+ needNameAndCode={true}
1067
+ notChangeOnSelect={true}
1068
+ initRequestSource={async () => {
1069
+ return await SulaRequest({
1070
+ url: '/basic/bscArea/getBscAreaList?qp-level-eq=1&qp-pid-eq=100000',
1071
+ method: 'get',
1072
+ converter: ({ data }) => {
1073
+ const handleData =
1074
+ data && data[0]
1075
+ ? data?.map((item) => {
1076
+ return {
1077
+ text: item.name,
1078
+ value: item.id,
1079
+ level: item.level,
1080
+ id: item.id,
1081
+ };
1082
+ })
1083
+ : [];
1084
+ return handleData;
1085
+ },
1086
+ });
1087
+ }}
1088
+ style={{ width: 240 }}
1089
+ value={{ PCDName: valueNames[1] || [] }}
1090
+ onChange={(value) => {
1091
+ values[1] = value.PCDCode;
1092
+ valueNames[1] = value.PCDName;
1093
+ callback(values, valueNames);
1094
+ }}
1095
+ getPopupContainer={() => document.body}
1096
+ />
1097
+ </>
1098
+ );
1099
+ } else {
1100
+ return (
1101
+ <BsCascader
1102
+ disabled={disabled}
1103
+ onlyCode={true}
1104
+ isAll={true}
1105
+ needNameAndCode={true}
1106
+ notChangeOnSelect={true}
1107
+ initRequestSource={async () => {
1108
+ return await SulaRequest({
1109
+ url: '/basic/bscArea/getBscAreaList?qp-level-eq=1&qp-pid-eq=100000',
1110
+ method: 'get',
1111
+ converter: ({ data }) => {
1112
+ const handleData =
1113
+ data && data[0]
1114
+ ? data?.map((item) => {
1115
+ return {
1116
+ text: item.name,
1117
+ value: item.id,
1118
+ level: item.level,
1119
+ id: item.id,
1120
+ };
1121
+ })
1122
+ : [];
1123
+ return handleData;
1124
+ },
1125
+ });
1126
+ }}
1127
+ style={{ width: 240 }}
1128
+ value={{ PCDName: valueNames || [] }}
1129
+ onChange={(value) => {
1130
+ values = value.PCDCode;
1131
+ valueNames = value.PCDName;
1132
+ callback(values, valueNames);
1133
+ }}
1134
+ getPopupContainer={() => document.body}
1135
+ />
1136
+ );
1137
+ }
1138
+ }
1139
+ // 行政组织选择器
1140
+ if (dataChoiceBusinessType == 210) {
1141
+ if (INTERVAL_TYPE.indexOf(selectOperation) > -1) {
1142
+ return (
1143
+ <>
1144
+ <BusinessTreeSearchSelect
1145
+ disabled={disabled}
1146
+ treeCheckable={dataInputBusinessType === 12}
1147
+ businessType="department"
1148
+ labelInValue={true}
1149
+ value={values[0]}
1150
+ style={styleCommon}
1151
+ onChange={(value) => {
1152
+ if (dataInputBusinessType === 12) {
1153
+ values[0] = value.map((i) => i.key);
1154
+ valueNames[0] = value.map((i) => i.label || '');
1155
+ } else {
1156
+ values[0] = [value.key];
1157
+ valueNames[0] = [value.label || ''];
1158
+ }
1159
+ callback(values, valueNames);
1160
+ }}
1161
+ getPopupContainer={() => document.body}
1162
+ />
1163
+ <span>~</span>
1164
+ <BusinessTreeSearchSelect
1165
+ disabled={disabled}
1166
+ treeCheckable={dataInputBusinessType === 12}
1167
+ businessType="department"
1168
+ labelInValue={true}
1169
+ value={values[0]}
1170
+ style={styleCommon}
1171
+ onChange={(value) => {
1172
+ if (dataInputBusinessType === 12) {
1173
+ values[1] = value.map((i) => i.key);
1174
+ valueNames[1] = value.map((i) => i.label || '');
1175
+ } else {
1176
+ values[1] = [value.key];
1177
+ valueNames[1] = [value.label || ''];
1178
+ }
1179
+ callback(values, valueNames);
1180
+ }}
1181
+ getPopupContainer={() => document.body}
1182
+ />
1183
+ </>
1184
+ );
1185
+ } else {
1186
+ return (
1187
+ <BusinessTreeSearchSelect
1188
+ disabled={disabled}
1189
+ treeCheckable={dataInputBusinessType === 12}
1190
+ businessType="department"
1191
+ labelInValue={true}
1192
+ value={values[0]}
1193
+ style={styleCommon}
1194
+ onChange={(value) => {
1195
+ if (dataInputBusinessType === 12) {
1196
+ values = value.map((i) => i.key)||[];
1197
+ valueNames = value.map((i) => i.label || '')||[];
1198
+ } else {
1199
+ values = value?.key?[value.key]:[];
1200
+ valueNames = value?.label?[value.label]:[];
1201
+ }
1202
+ callback(values, valueNames);
1203
+ }}
1204
+ getPopupContainer={() => document.body}
1205
+ />
1206
+ );
1207
+ }
1208
+ }
1209
+ // 采购组织选择器
1210
+ if (dataChoiceBusinessType == 220) {
1211
+ if (INTERVAL_TYPE.indexOf(selectOperation) > -1) {
1212
+ return (
1213
+ <>
1214
+ <BusinessTreeSearchSelect
1215
+ disabled={disabled}
1216
+ treeCheckable={dataInputBusinessType === 12}
1217
+ businessType="purchase-organization"
1218
+ labelInValue={true}
1219
+ value={values[0]}
1220
+ style={styleCommon}
1221
+ onChange={(value) => {
1222
+ if (dataInputBusinessType === 12) {
1223
+ values[0] = value.map((i) => i.key);
1224
+ valueNames[0] = value.map((i) => i.label || '');
1225
+ } else {
1226
+ values[0] = [value.key];
1227
+ valueNames[0] = [value.label || ''];
1228
+ }
1229
+ callback(values, valueNames);
1230
+ }}
1231
+ getPopupContainer={() => document.body}
1232
+ />
1233
+ <span>~</span>
1234
+ <BusinessTreeSearchSelect
1235
+ disabled={disabled}
1236
+ treeCheckable={dataInputBusinessType === 12}
1237
+ businessType="purchase-organization"
1238
+ labelInValue={true}
1239
+ value={values[0]}
1240
+ style={styleCommon}
1241
+ onChange={(value) => {
1242
+ if (dataInputBusinessType === 12) {
1243
+ values[1] = value.map((i) => i.key);
1244
+ valueNames[1] = value.map((i) => i.label || '');
1245
+ } else {
1246
+ values[1] = [value.key];
1247
+ valueNames[1] = [value.label || ''];
1248
+ }
1249
+ callback(values, valueNames);
1250
+ }}
1251
+ getPopupContainer={() => document.body}
1252
+ />
1253
+ </>
1254
+ );
1255
+ } else {
1256
+ return (
1257
+ <BusinessTreeSearchSelect
1258
+ disabled={disabled}
1259
+ treeCheckable={dataInputBusinessType === 12}
1260
+ businessType="purchase-organization"
1261
+ labelInValue={true}
1262
+ value={values[0]}
1263
+ style={styleCommon}
1264
+ onChange={(value) => {
1265
+ if (dataInputBusinessType === 12) {
1266
+ values = value.map((i) => i.key)||[];
1267
+ valueNames = value.map((i) => i.label || '')||[];
1268
+ } else {
1269
+ values = value?.key?[value.key]:[];
1270
+ valueNames = value?.label?[value.label]:[];
1271
+ }
1272
+ callback(values, valueNames);
1273
+ }}
1274
+ getPopupContainer={() => document.body}
1275
+ />
1276
+ );
1277
+ }
1278
+ }
1279
+ // 销售组织选择器
1280
+ if (dataChoiceBusinessType == 230) {
1281
+ if (INTERVAL_TYPE.indexOf(selectOperation) > -1) {
1282
+ return (
1283
+ <>
1284
+ <BusinessTreeSearchSelect
1285
+ disabled={disabled}
1286
+ treeCheckable={dataInputBusinessType === 12}
1287
+ businessType="sales-organization"
1288
+ labelInValue={true}
1289
+ value={values[0]}
1290
+ style={styleCommon}
1291
+ onChange={(value) => {
1292
+ if (dataInputBusinessType === 12) {
1293
+ values[0] = value.map((i) => i.key);
1294
+ valueNames[0] = value.map((i) => i.label || '');
1295
+ } else {
1296
+ values[0] = [value.key];
1297
+ valueNames[0] = [value.label || ''];
1298
+ }
1299
+ callback(values, valueNames);
1300
+ }}
1301
+ getPopupContainer={() => document.body}
1302
+ />
1303
+ <span>~</span>
1304
+ <BusinessTreeSearchSelect
1305
+ disabled={disabled}
1306
+ treeCheckable={dataInputBusinessType === 12}
1307
+ businessType="sales-organization"
1308
+ labelInValue={true}
1309
+ value={values[0]}
1310
+ style={styleCommon}
1311
+ onChange={(value) => {
1312
+ if (dataInputBusinessType === 12) {
1313
+ values[1] = value.map((i) => i.key);
1314
+ valueNames[1] = value.map((i) => i.label || '');
1315
+ } else {
1316
+ values[1] = [value.key];
1317
+ valueNames[1] = [value.label || ''];
1318
+ }
1319
+ callback(values, valueNames);
1320
+ }}
1321
+ getPopupContainer={() => document.body}
1322
+ />
1323
+ </>
1324
+ );
1325
+ } else {
1326
+ return (
1327
+ <BusinessTreeSearchSelect
1328
+ disabled={disabled}
1329
+ treeCheckable={dataInputBusinessType === 12}
1330
+ businessType="sales-organization"
1331
+ labelInValue={true}
1332
+ value={values[0]}
1333
+ style={styleCommon}
1334
+ onChange={(value) => {
1335
+ if (dataInputBusinessType === 12) {
1336
+ values = value.map((i) => i.key)||[];
1337
+ valueNames = value.map((i) => i.label || '')||[];
1338
+ } else {
1339
+ values = value?.key?[value.key]:[];
1340
+ valueNames = value?.label?[value.label]:[];
1341
+ }
1342
+ callback(values, valueNames);
1343
+ }}
1344
+ getPopupContainer={() => document.body}
1345
+ />
1346
+ );
1347
+ }
1348
+ }
1349
+ // 供应商选择器
1350
+ if (dataChoiceBusinessType == 240) {
1351
+ if (INTERVAL_TYPE.indexOf(selectOperation) > -1) {
1352
+ return (
1353
+ <>
1354
+ <BusinessSearchSelect
1355
+ selectBusinessType="supplier2"
1356
+ selectProps={{
1357
+ style: styleCommon,
1358
+ placeholder: '请选择供应商',
1359
+ ...(dataInputBusinessType === 12
1360
+ ? {
1361
+ mode: 'multiple',
1362
+ maxTagCount: 1,
1363
+ }
1364
+ : {}),
1365
+ }}
1366
+ disabled={disabled}
1367
+ labelInValue={true}
1368
+ value={values[0]}
1369
+ requestConfig={{
1370
+ filterInit: 'qp-code-in',
1371
+ }}
1372
+ onChange={(value) => {
1373
+ if (dataInputBusinessType === 12) {
1374
+ values[0] = value.map((i) => i.key);
1375
+ valueNames[0] = value.map((i) => i.label || '');
1376
+ } else {
1377
+ values[0] = [value.key];
1378
+ valueNames[0] = [value.label || ''];
1379
+ }
1380
+ callback(values, valueNames);
1381
+ }}
1382
+ getPopupContainer={() => document.body}
1383
+ />
1384
+ <span>~</span>
1385
+ <BusinessSearchSelect
1386
+ selectBusinessType="supplier2"
1387
+ selectProps={{
1388
+ style: styleCommon,
1389
+ placeholder: '请选择供应商',
1390
+ ...(dataInputBusinessType === 12
1391
+ ? {
1392
+ mode: 'multiple',
1393
+ maxTagCount: 1,
1394
+ }
1395
+ : {}),
1396
+ }}
1397
+ disabled={disabled}
1398
+ labelInValue={true}
1399
+ value={values[1]}
1400
+ requestConfig={{
1401
+ filterInit: 'qp-code-in',
1402
+ }}
1403
+ onChange={(value) => {
1404
+ if (dataInputBusinessType === 12) {
1405
+ values[1] = value.map((i) => i.key);
1406
+ valueNames[1] = value.map((i) => i.label || '');
1407
+ } else {
1408
+ values[1] = [value.key];
1409
+ valueNames[1] = [value.label || ''];
1410
+ }
1411
+ callback(values, valueNames);
1412
+ }}
1413
+ getPopupContainer={() => document.body}
1414
+ />
1415
+ </>
1416
+ );
1417
+ } else {
1418
+ const currentValue = dataInputBusinessType === 12 ?
1419
+ values?.map((s,vIndex)=> ({key: s, label: valueNames[vIndex]}))||[]
1420
+ : values[0]&&{key:values[0],label:valueNames[0]}||{}
1421
+ return (
1422
+ <BusinessSearchSelect
1423
+ selectBusinessType="supplier2"
1424
+ selectProps={{
1425
+ style: styleCommon,
1426
+ placeholder: '请选择供应商',
1427
+ ...(dataInputBusinessType === 12
1428
+ ? {
1429
+ mode: 'multiple',
1430
+ maxTagCount: 1,
1431
+ }
1432
+ : {}),
1433
+ }}
1434
+ disabled={disabled}
1435
+ labelInValue={true}
1436
+ value={currentValue}
1437
+ requestConfig={{
1438
+ filterInit: 'qp-code-in',
1439
+ }}
1440
+ onChange={(value) => {
1441
+ if (dataInputBusinessType === 12) {
1442
+ values = value.map((i) => i.key)||[];
1443
+ valueNames = value.map((i) => i.label || '')||[];
1444
+ } else {
1445
+ values = value?.key?[value.key]:[];
1446
+ valueNames = value?.label?[value.label]:[];
1447
+ }
1448
+ callback(values, valueNames);
1449
+ }}
1450
+ getPopupContainer={() => document.body}
1451
+ />
1452
+ );
1453
+ }
1454
+ }
1455
+ // 客户选择器
1456
+ if (dataChoiceBusinessType == 250) {
1457
+ if (INTERVAL_TYPE.indexOf(selectOperation) > -1) {
1458
+ return (
1459
+ <>
1460
+ <BusinessSearchSelect
1461
+ selectBusinessType="customer2"
1462
+ selectProps={{
1463
+ style: styleCommon,
1464
+ placeholder: '请选择客户',
1465
+ ...(dataInputBusinessType === 12
1466
+ ? {
1467
+ mode: 'multiple',
1468
+ maxTagCount: 1,
1469
+ }
1470
+ : {}),
1471
+ }}
1472
+ disabled={disabled}
1473
+ labelInValue={true}
1474
+ value={values[0]}
1475
+ requestConfig={{
1476
+ filterInit: 'qp-code-in',
1477
+ }}
1478
+ onChange={(value) => {
1479
+ if (dataInputBusinessType === 12) {
1480
+ values[0] = value.map((i) => i.key);
1481
+ valueNames[0] = value.map((i) => i.label || '');
1482
+ } else {
1483
+ values[0] = [value.key];
1484
+ valueNames[0] = [value.label || ''];
1485
+ }
1486
+ callback(values, valueNames);
1487
+ }}
1488
+ getPopupContainer={() => document.body}
1489
+ />
1490
+ <span>~</span>
1491
+ <BusinessSearchSelect
1492
+ selectBusinessType="customer2"
1493
+ selectProps={{
1494
+ style: styleCommon,
1495
+ placeholder: '请选择客户',
1496
+ ...(dataInputBusinessType === 12
1497
+ ? {
1498
+ mode: 'multiple',
1499
+ maxTagCount: 1,
1500
+ }
1501
+ : {}),
1502
+ }}
1503
+ disabled={disabled}
1504
+ labelInValue={true}
1505
+ value={values[1]}
1506
+ requestConfig={{
1507
+ filterInit: 'qp-code-in',
1508
+ }}
1509
+ onChange={(value) => {
1510
+ if (dataInputBusinessType === 12) {
1511
+ values[1] = value.map((i) => i.key);
1512
+ valueNames[1] = value.map((i) => i.label || '');
1513
+ } else {
1514
+ values[1] = [value.key];
1515
+ valueNames[1] = [value.label || ''];
1516
+ }
1517
+ callback(values, valueNames);
1518
+ }}
1519
+ getPopupContainer={() => document.body}
1520
+ />
1521
+ </>
1522
+ );
1523
+ } else {
1524
+ const currentValue = dataInputBusinessType === 12 ?
1525
+ values?.map((s,vIndex)=> ({key: s, label: valueNames[vIndex]}))||[]
1526
+ : values[0]&&{key:values[0],label:valueNames[0]}||{}
1527
+ return (
1528
+ <BusinessSearchSelect
1529
+ selectBusinessType="customer2"
1530
+ selectProps={{
1531
+ style: styleCommon,
1532
+ placeholder: '请选择客户',
1533
+ ...(dataInputBusinessType === 12
1534
+ ? {
1535
+ mode: 'multiple',
1536
+ maxTagCount: 1,
1537
+ }
1538
+ : {}),
1539
+ }}
1540
+ disabled={disabled}
1541
+ labelInValue={true}
1542
+ value={currentValue}
1543
+ requestConfig={{
1544
+ filterInit: 'qp-code-in',
1545
+ }}
1546
+ onChange={(value) => {
1547
+ if (dataInputBusinessType === 12) {
1548
+ values = value.map((i) => i.key)||[];
1549
+ valueNames = value.map((i) => i.label || '')||[];
1550
+ } else {
1551
+ values = value?.key?[value.key]:[];
1552
+ valueNames = value?.label?[value.label]:[];
1553
+ }
1554
+ callback(values, valueNames);
1555
+ }}
1556
+ getPopupContainer={() => document.body}
1557
+ />
1558
+ );
1559
+ }
1560
+ }
1561
+ // 店铺选择器
1562
+ if (dataChoiceBusinessType == 260) {
1563
+ if (INTERVAL_TYPE.indexOf(selectOperation) > -1) {
1564
+ return (
1565
+ <>
1566
+ <BusinessSearchSelect
1567
+ selectBusinessType="shopFile2"
1568
+ selectProps={{
1569
+ style: styleCommon,
1570
+ placeholder: '请选择店铺',
1571
+ ...(dataInputBusinessType === 12
1572
+ ? {
1573
+ mode: 'multiple',
1574
+ maxTagCount: 1,
1575
+ }
1576
+ : {}),
1577
+ }}
1578
+ disabled={disabled}
1579
+ labelInValue={true}
1580
+ value={values[0]}
1581
+ requestConfig={{
1582
+ filterInit: 'qp-code-in',
1583
+ }}
1584
+ onChange={(value) => {
1585
+ if (dataInputBusinessType === 12) {
1586
+ values[0] = value.map((i) => i.key);
1587
+ valueNames[0] = value.map((i) => i.label || '');
1588
+ } else {
1589
+ values[0] = [value.key];
1590
+ valueNames[0] = [value.label || ''];
1591
+ }
1592
+ callback(values, valueNames);
1593
+ }}
1594
+ getPopupContainer={() => document.body}
1595
+ />
1596
+ <span>~</span>
1597
+ <BusinessSearchSelect
1598
+ selectBusinessType="shopFile2"
1599
+ selectProps={{
1600
+ style: styleCommon,
1601
+ placeholder: '请选择店铺',
1602
+ ...(dataInputBusinessType === 12
1603
+ ? {
1604
+ mode: 'multiple',
1605
+ maxTagCount: 1,
1606
+ }
1607
+ : {}),
1608
+ }}
1609
+ disabled={disabled}
1610
+ labelInValue={true}
1611
+ value={values[1]}
1612
+ requestConfig={{
1613
+ filterInit: 'qp-code-in',
1614
+ }}
1615
+ onChange={(value) => {
1616
+ if (dataInputBusinessType === 12) {
1617
+ values[1] = value.map((i) => i.key);
1618
+ valueNames[1] = value.map((i) => i.label || '');
1619
+ } else {
1620
+ values[1] = [value.key];
1621
+ valueNames[1] = [value.label || ''];
1622
+ }
1623
+ callback(values, valueNames);
1624
+ }}
1625
+ getPopupContainer={() => document.body}
1626
+ />
1627
+ </>
1628
+ );
1629
+ } else {
1630
+ const currentValue = dataInputBusinessType === 12 ?
1631
+ values?.map((s,vIndex)=> ({key: s, label: valueNames[vIndex]}))||[]
1632
+ : values[0]&&{key:values[0],label:valueNames[0]}||{}
1633
+ return (
1634
+ <BusinessSearchSelect
1635
+ selectBusinessType="shopFile2"
1636
+ selectProps={{
1637
+ style: styleCommon,
1638
+ placeholder: '请选择店铺',
1639
+ ...(dataInputBusinessType === 12
1640
+ ? {
1641
+ mode: 'multiple',
1642
+ maxTagCount: 1,
1643
+ }
1644
+ : {}),
1645
+ }}
1646
+ disabled={disabled}
1647
+ labelInValue={true}
1648
+ value={currentValue}
1649
+ requestConfig={{
1650
+ filterInit: 'qp-code-in',
1651
+ }}
1652
+ onChange={(value) => {
1653
+ if (dataInputBusinessType === 12) {
1654
+ values = value.map((i) => i.key)||[];
1655
+ valueNames = value.map((i) => i.label || '')||[];
1656
+ } else {
1657
+ values = value?.key?[value.key]:[];
1658
+ valueNames = value?.label?[value.label]:[];
1659
+ }
1660
+ callback(values, valueNames);
1661
+ }}
1662
+ getPopupContainer={() => document.body}
1663
+ />
1664
+ );
1665
+ }
1666
+ }
1667
+ // 员工选择器
1668
+ if (dataChoiceBusinessType == 270) {
1669
+ if (INTERVAL_TYPE.indexOf(selectOperation) > -1) {
1670
+ return (
1671
+ <>
1672
+ <BusinessSearchSelect
1673
+ selectBusinessType="employee2"
1674
+ selectProps={{
1675
+ style: styleCommon,
1676
+ placeholder: '请选择员工',
1677
+ ...(dataInputBusinessType === 12
1678
+ ? {
1679
+ mode: 'multiple',
1680
+ maxTagCount: 1,
1681
+ }
1682
+ : {}),
1683
+ }}
1684
+ disabled={disabled}
1685
+ labelInValue={true}
1686
+ value={values[0]}
1687
+ requestConfig={{
1688
+ filterInit: 'qp-id-in',
1689
+ }}
1690
+ onChange={(value) => {
1691
+ if (dataInputBusinessType === 12) {
1692
+ values[0] = value.map((i) => i.key);
1693
+ valueNames[0] = value.map((i) => i.label || '');
1694
+ } else {
1695
+ values[0] = [value.key];
1696
+ valueNames[0] = [value.label || ''];
1697
+ }
1698
+ callback(values, valueNames);
1699
+ }}
1700
+ getPopupContainer={() => document.body}
1701
+ />
1702
+ <span>~</span>
1703
+ <BusinessSearchSelect
1704
+ selectBusinessType="employee2"
1705
+ selectProps={{
1706
+ style: styleCommon,
1707
+ placeholder: '请选择员工',
1708
+ ...(dataInputBusinessType === 12
1709
+ ? {
1710
+ mode: 'multiple',
1711
+ maxTagCount: 1,
1712
+ }
1713
+ : {}),
1714
+ }}
1715
+ disabled={disabled}
1716
+ labelInValue={true}
1717
+ value={values[1]}
1718
+ requestConfig={{
1719
+ filterInit: 'qp-id-in',
1720
+ }}
1721
+ onChange={(value) => {
1722
+ if (dataInputBusinessType === 12) {
1723
+ values[1] = value.map((i) => i.key);
1724
+ valueNames[1] = value.map((i) => i.label || '');
1725
+ } else {
1726
+ values[1] = [value.key];
1727
+ valueNames[1] = [value.label || ''];
1728
+ }
1729
+ callback(values, valueNames);
1730
+ }}
1731
+ getPopupContainer={() => document.body}
1732
+ />
1733
+ </>
1734
+ );
1735
+ } else {
1736
+ const currentValue = dataInputBusinessType === 12 ?
1737
+ values?.map((s,vIndex)=> ({key: s, label: valueNames[vIndex]}))||[]
1738
+ : values[0]&&{key:values[0],label:valueNames[0]}||{}
1739
+ return (
1740
+ <BusinessSearchSelect
1741
+ selectBusinessType="employee2"
1742
+ selectProps={{
1743
+ style: styleCommon,
1744
+ placeholder: '请选择员工',
1745
+ ...(dataInputBusinessType === 12
1746
+ ? {
1747
+ mode: 'multiple',
1748
+ maxTagCount: 1,
1749
+ }
1750
+ : {}),
1751
+ }}
1752
+ disabled={disabled}
1753
+ labelInValue={true}
1754
+ value={currentValue}
1755
+ requestConfig={{
1756
+ filterInit: 'qp-id-in',
1757
+ }}
1758
+ onChange={(value) => {
1759
+ if (dataInputBusinessType === 12) {
1760
+ values = value.map((i) => i.key)||[];
1761
+ valueNames = value.map((i) => i.label || '')||[];
1762
+ } else {
1763
+ values = value?.key?[value.key]:[];
1764
+ valueNames = value?.label?[value.label]:[];
1765
+ }
1766
+ callback(values, valueNames);
1767
+ }}
1768
+ getPopupContainer={() => document.body}
1769
+ />
1770
+ );
1771
+ }
1772
+ }
1773
+ // 库存组织选择器
1774
+ if (dataChoiceBusinessType == 280) {
1775
+ if (INTERVAL_TYPE.indexOf(selectOperation) > -1) {
1776
+ return (
1777
+ <>
1778
+ <BusinessTreeSearchSelect
1779
+ disabled={disabled}
1780
+ treeCheckable={dataInputBusinessType === 12}
1781
+ businessType="stock-organization"
1782
+ labelInValue={true}
1783
+ value={values[0]}
1784
+ style={styleCommon}
1785
+ onChange={(value) => {
1786
+ if (dataInputBusinessType === 12) {
1787
+ values[0] = value.map((i) => i.key);
1788
+ valueNames[0] = value.map((i) => i.label || '');
1789
+ } else {
1790
+ values[0] = [value.key];
1791
+ valueNames[0] = [value.label || ''];
1792
+ }
1793
+ callback(values, valueNames);
1794
+ }}
1795
+ getPopupContainer={() => document.body}
1796
+ />
1797
+ <span>~</span>
1798
+ <BusinessTreeSearchSelect
1799
+ disabled={disabled}
1800
+ treeCheckable={dataInputBusinessType === 12}
1801
+ businessType="stock-organization"
1802
+ labelInValue={true}
1803
+ value={values[0]}
1804
+ style={styleCommon}
1805
+ onChange={(value) => {
1806
+ if (dataInputBusinessType === 12) {
1807
+ values[1] = value.map((i) => i.key);
1808
+ valueNames[1] = value.map((i) => i.label || '');
1809
+ } else {
1810
+ values[1] = [value.key];
1811
+ valueNames[1] = [value.label || ''];
1812
+ }
1813
+ callback(values, valueNames);
1814
+ }}
1815
+ getPopupContainer={() => document.body}
1816
+ />
1817
+ </>
1818
+ );
1819
+ } else {
1820
+ return (
1821
+ <BusinessTreeSearchSelect
1822
+ disabled={disabled}
1823
+ treeCheckable={dataInputBusinessType === 12}
1824
+ businessType="stock-organization"
1825
+ labelInValue={true}
1826
+ value={values[0]}
1827
+ style={styleCommon}
1828
+ onChange={(value) => {
1829
+ if (dataInputBusinessType === 12) {
1830
+ values = value.map((i) => i.key)||[];
1831
+ valueNames = value.map((i) => i.label || '')||[];
1832
+ } else {
1833
+ values = value?.key?[value.key]:[];
1834
+ valueNames = value?.label?[value.label]:[];
1835
+ }
1836
+ callback(values, valueNames);
1837
+ }}
1838
+ getPopupContainer={() => document.body}
1839
+ />
1840
+ );
1841
+ }
1842
+ }
1843
+ // 配送方式选择器
1844
+ if (dataChoiceBusinessType == 310) {
1845
+ if (INTERVAL_TYPE.indexOf(selectOperation) > -1) {
1846
+ return (
1847
+ <>
1848
+ <BusinessSearchSelect
1849
+ selectBusinessType="deliveryMode"
1850
+ selectProps={{
1851
+ style: styleCommon,
1852
+ placeholder: '请选择配送方式',
1853
+ ...(dataInputBusinessType === 12
1854
+ ? {
1855
+ mode: 'multiple',
1856
+ maxTagCount: 1,
1857
+ }
1858
+ : {}),
1859
+ }}
1860
+ disabled={disabled}
1861
+ labelInValue={true}
1862
+ value={values[0]}
1863
+ requestConfig={{
1864
+ filterInit: 'qp-code-in',
1865
+ }}
1866
+ onChange={(value) => {
1867
+ if (dataInputBusinessType === 12) {
1868
+ values[0] = value.map((i) => i.key);
1869
+ valueNames[0] = value.map((i) => i.label || '');
1870
+ } else {
1871
+ values[0] = [value.key];
1872
+ valueNames[0] = [value.label || ''];
1873
+ }
1874
+ callback(values, valueNames);
1875
+ }}
1876
+ getPopupContainer={() => document.body}
1877
+ />
1878
+ <span>~</span>
1879
+ <BusinessSearchSelect
1880
+ selectBusinessType="deliveryMode"
1881
+ selectProps={{
1882
+ style: styleCommon,
1883
+ placeholder: '请选择配送方式',
1884
+ ...(dataInputBusinessType === 12
1885
+ ? {
1886
+ mode: 'multiple',
1887
+ maxTagCount: 1,
1888
+ }
1889
+ : {}),
1890
+ }}
1891
+ disabled={disabled}
1892
+ labelInValue={true}
1893
+ value={values[1]}
1894
+ requestConfig={{
1895
+ filterInit: 'qp-code-in',
1896
+ }}
1897
+ onChange={(value) => {
1898
+ if (dataInputBusinessType === 12) {
1899
+ values[1] = value.map((i) => i.key);
1900
+ valueNames[1] = value.map((i) => i.label || '');
1901
+ } else {
1902
+ values[1] = [value.key];
1903
+ valueNames[1] = [value.label || ''];
1904
+ }
1905
+ callback(values, valueNames);
1906
+ }}
1907
+ getPopupContainer={() => document.body}
1908
+ />
1909
+ </>
1910
+ );
1911
+ } else {
1912
+ const currentValue = dataInputBusinessType === 12 ?
1913
+ values?.map((s,vIndex)=> ({key: s, label: valueNames[vIndex]}))||[]
1914
+ : values[0]&&{key:values[0],label:valueNames[0]}||{}
1915
+ return (
1916
+ <BusinessSearchSelect
1917
+ selectBusinessType="deliveryMode"
1918
+ selectProps={{
1919
+ style: styleCommon,
1920
+ placeholder: '请选择配送方式',
1921
+ ...(dataInputBusinessType === 12
1922
+ ? {
1923
+ mode: 'multiple',
1924
+ maxTagCount: 1,
1925
+ }
1926
+ : {}),
1927
+ }}
1928
+ disabled={disabled}
1929
+ labelInValue={true}
1930
+ value={currentValue}
1931
+ requestConfig={{
1932
+ filterInit: 'qp-code-in',
1933
+ }}
1934
+ onChange={(value) => {
1935
+ if (dataInputBusinessType === 12) {
1936
+ values = value.map((i) => i.key)||[];
1937
+ valueNames = value.map((i) => i.label || '')||[];
1938
+ } else {
1939
+ values = value?.key?[value.key]:[];
1940
+ valueNames = value?.label?[value.label]:[];
1941
+ }
1942
+ callback(values, valueNames);
1943
+ }}
1944
+ getPopupContainer={() => document.body}
1945
+ />
1946
+ );
1947
+ }
1948
+ }
1949
+ } else {
1950
+ if (
1951
+ dataTypeCode == 22 ||
1952
+ dataTypeCode == 21 ||
1953
+ dataTypeCode == 24 ||
1954
+ dataTypeCode == 23
1955
+ ) {
1956
+ //数值22, 字符串21, 布尔类型24, long23
1957
+ if (INTERVAL_TYPE.indexOf(selectOperation) > -1) {
1958
+ return (
1959
+ <>
1960
+ <Input
1961
+ defaultValue={values[0]}
1962
+ disabled={disabled}
1963
+ style={styleCommon}
1964
+ onBlur={(e) => {
1965
+ values[0] = e.target.value;
1966
+ valueNames[0] = e.target.value;
1967
+ callback(values, valueNames);
1968
+ }}
1969
+ />
1970
+ <span>~</span>
1971
+ <Input
1972
+ defaultValue={values[1]}
1973
+ disabled={disabled}
1974
+ style={styleCommon}
1975
+ onBlur={(e) => {
1976
+ values[1] = e.target.value;
1977
+ valueNames[1] = e.target.value;
1978
+ callback(values, valueNames);
1979
+ }}
1980
+ />
1981
+ </>
1982
+ );
1983
+ } else {
1984
+ return (
1985
+ <Input
1986
+ defaultValue={values.join(',')}
1987
+ disabled={disabled}
1988
+ style={styleCommon}
1989
+ onBlur={(e) => {
1990
+ values = e.target.value.split(',');
1991
+ valueNames = e.target.value.split(',');
1992
+ callback(values, valueNames);
1993
+ }}
1994
+ />
1995
+ );
1996
+ }
1997
+ } else if (dataTypeCode == 41) {
1998
+ // 日期41
1999
+ if (INTERVAL_TYPE.indexOf(selectOperation) > -1) {
2000
+ return (
2001
+ <RangePicker
2002
+ // showTime
2003
+ disabled={disabled}
2004
+ style={{ width: customerWidth || '300px' }}
2005
+ format={dataTypeCode == 41 ? dateFormat : fullDateFormat}
2006
+ value={[
2007
+ values[0] ? moment(values[0]) : '',
2008
+ values[1] ? moment(values[1]) : '',
2009
+ ]}
2010
+ onChange={(dates, dateStrings) => {
2011
+ // 业务产品要求时间范围取值固定00:00:00-23:59:59,有问题请找产品业务
2012
+ let dateStringFormat = [];
2013
+ if (dataTypeCode == 41) {
2014
+ dateStringFormat[0] = dateStrings[0]
2015
+ ? moment(dateStrings[0]).format('YYYY-MM-DD')
2016
+ : '';
2017
+ dateStringFormat[1] = dateStrings[1]
2018
+ ? moment(dateStrings[1]).format('YYYY-MM-DD')
2019
+ : '';
2020
+ } else {
2021
+ dateStringFormat[0] = dateStrings[0]
2022
+ ? moment(dateStrings[0]).format('YYYY-MM-DD 00:00:00')
2023
+ : '';
2024
+ dateStringFormat[1] = dateStrings[1]
2025
+ ? moment(dateStrings[1]).format('YYYY-MM-DD 23:59:59')
2026
+ : '';
2027
+ }
2028
+ values = [...dateStringFormat];
2029
+ valueNames = [...dateStringFormat];
2030
+ callback(values, valueNames);
2031
+ }}
2032
+ />
2033
+ );
2034
+ } else {
2035
+ return (
2036
+ <>
2037
+ <DatePicker
2038
+ format={dataTypeCode == 41 ? dateFormat : fullDateFormat}
2039
+ disabled={disabled}
2040
+ style={{ width: customerWidth || '300px' }}
2041
+ value={values[0] ? moment(values[0]) : ''}
2042
+ onChange={(date, dateString) => {
2043
+ values[0] = dateString;
2044
+ valueNames[0] = dateString;
2045
+ callback(values, valueNames);
2046
+ }}
2047
+ />
2048
+ </>
2049
+ );
2050
+ }
2051
+ } else if (dataTypeCode == 40) {
2052
+ // 时间40
2053
+ if (INTERVAL_TYPE.indexOf(selectOperation) > -1) {
2054
+ return (
2055
+ <>
2056
+ <TimePicker
2057
+ key="1"
2058
+ disabled={disabled}
2059
+ value={values[0] ? moment(values[0]) : ''}
2060
+ style={styleCommon}
2061
+ onChange={(time, timeString) => {
2062
+ values[0] = timeString;
2063
+ valueNames[0] = timeString;
2064
+ callback(values, valueNames);
2065
+ }}
2066
+ />
2067
+ <span>~</span>
2068
+ <TimePicker
2069
+ key="2"
2070
+ disabled={disabled}
2071
+ value={values[1] ? moment(values[1]) : ''}
2072
+ style={styleCommon}
2073
+ onChange={(time, timeString) => {
2074
+ values[1] = timeString;
2075
+ valueNames[1] = timeString;
2076
+ callback(values, valueNames);
2077
+ }}
2078
+ />
2079
+ </>
2080
+ );
2081
+ } else {
2082
+ return (
2083
+ <TimePicker
2084
+ defaultValue={values[0] ? moment(values[0]) : ''}
2085
+ disabled={disabled}
2086
+ style={styleCommon}
2087
+ onChange={(time, timeString) => {
2088
+ values[0] = timeString;
2089
+ valueNames[0] = timeString;
2090
+ callback(values, valueNames);
2091
+ }}
2092
+ />
2093
+ );
2094
+ }
2095
+ }
2096
+ }
2097
+ return '';
2098
+ };
2099
+
2100
+ render() {
2101
+ return (
2102
+ <div style={{ marginLeft: '10px' }} className={styles.rule_field_style}>
2103
+ {this.renderConditionField()}
2104
+ </div>
2105
+ );
2106
+ }
2107
+ }