@bit-sun/business-component 2.3.22-beta9 → 2.3.23-beta01

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