@bit-sun/business-component 4.0.11-alpha.21 → 4.0.11-alpha.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.esm.js +47 -16
- package/dist/index.js +47 -16
- package/package.json +1 -1
- package/src/components/Functional/SearchSelect/index.tsx +39 -16
package/dist/index.esm.js
CHANGED
|
@@ -4185,7 +4185,8 @@ var SearchSelect = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
4185
4185
|
allowClear: true,
|
|
4186
4186
|
listHeight: 160,
|
|
4187
4187
|
optionLabelProp: "label",
|
|
4188
|
-
autoClearSearchValue: false
|
|
4188
|
+
autoClearSearchValue: false,
|
|
4189
|
+
placement: 'bottomLeft'
|
|
4189
4190
|
});
|
|
4190
4191
|
var initPagination = {
|
|
4191
4192
|
showQuickJumper: true,
|
|
@@ -4200,6 +4201,18 @@ var SearchSelect = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
4200
4201
|
current: 1
|
|
4201
4202
|
});
|
|
4202
4203
|
var disabled = noOperate || (selectProps === null || selectProps === void 0 ? void 0 : selectProps.disabled) || (props === null || props === void 0 ? void 0 : props.disabled);
|
|
4204
|
+
var isHaveDependency = fixedparameter && fieldValToParam && ctx;
|
|
4205
|
+
var isHaveDValue = function isHaveDValue() {
|
|
4206
|
+
var formValueList = [];
|
|
4207
|
+
fieldValToParam.forEach(function (item, index) {
|
|
4208
|
+
var fixedParamVal = ctx.form.getFieldValue(fieldValToParam[index]);
|
|
4209
|
+
formValueList.push(fixedParamVal);
|
|
4210
|
+
});
|
|
4211
|
+
return formValueList.filter(function (item) {
|
|
4212
|
+
return item;
|
|
4213
|
+
}).length > 0;
|
|
4214
|
+
};
|
|
4215
|
+
var sDisabled = disabled || isHaveDependency && !!!isHaveDValue();
|
|
4203
4216
|
var _useState = useState([]),
|
|
4204
4217
|
_useState2 = _slicedToArray(_useState, 2),
|
|
4205
4218
|
items = _useState2[0],
|
|
@@ -4333,6 +4346,11 @@ var SearchSelect = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
4333
4346
|
var reset = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
4334
4347
|
if (reset) {
|
|
4335
4348
|
if (init) {
|
|
4349
|
+
// 有关联,依赖项清空,此form项数据源也应清空, 也不可点击搜索
|
|
4350
|
+
if (isHaveDependency) {
|
|
4351
|
+
clearSelectDataSource();
|
|
4352
|
+
return;
|
|
4353
|
+
}
|
|
4336
4354
|
run('init');
|
|
4337
4355
|
} else {
|
|
4338
4356
|
clearSelectDataSource();
|
|
@@ -4371,7 +4389,7 @@ var SearchSelect = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
4371
4389
|
setFetching(true);
|
|
4372
4390
|
// 处理dependence参数
|
|
4373
4391
|
var fixedParam = {};
|
|
4374
|
-
if (
|
|
4392
|
+
if (isHaveDependency) {
|
|
4375
4393
|
fixedparameter.forEach(function (item, index) {
|
|
4376
4394
|
var fixedParamVal = ctx.form.getFieldValue(fieldValToParam[index]);
|
|
4377
4395
|
if (fixedParamVal) {
|
|
@@ -4671,6 +4689,7 @@ var SearchSelect = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
4671
4689
|
};
|
|
4672
4690
|
}, [isModalVisible]);
|
|
4673
4691
|
var showModal = function showModal() {
|
|
4692
|
+
if (sDisabled) return;
|
|
4674
4693
|
setSelectOpen(false);
|
|
4675
4694
|
setSearchValue('');
|
|
4676
4695
|
setModalSearched(false);
|
|
@@ -4788,14 +4807,7 @@ var SearchSelect = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
4788
4807
|
var refreshItems = function refreshItems() {
|
|
4789
4808
|
// 查看是否存在关联值 如果有关联值 就查询 没有就不能查询
|
|
4790
4809
|
if (fieldValToParam && ctx && fixedparamsDisabled) {
|
|
4791
|
-
|
|
4792
|
-
fieldValToParam.forEach(function (item, index) {
|
|
4793
|
-
var fixedParamVal = ctx.form.getFieldValue(fieldValToParam[index]);
|
|
4794
|
-
formValueList.push(fixedParamVal);
|
|
4795
|
-
});
|
|
4796
|
-
if (formValueList.filter(function (item) {
|
|
4797
|
-
return item;
|
|
4798
|
-
}).length > 0) {
|
|
4810
|
+
if (!!isHaveDValue()) {
|
|
4799
4811
|
run();
|
|
4800
4812
|
} else {
|
|
4801
4813
|
clearSelectDataSource();
|
|
@@ -5111,6 +5123,8 @@ var SearchSelect = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
5111
5123
|
}];
|
|
5112
5124
|
var resetSelectDataSource = function resetSelectDataSource() {
|
|
5113
5125
|
setSearchValue('');
|
|
5126
|
+
// 有关联值 不需要清空下拉框数据 也不需要重新去请求了
|
|
5127
|
+
if (isHaveDependency) return;
|
|
5114
5128
|
clearSelectDataSource();
|
|
5115
5129
|
init && run('init');
|
|
5116
5130
|
};
|
|
@@ -5118,6 +5132,18 @@ var SearchSelect = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
5118
5132
|
formaData([], items);
|
|
5119
5133
|
resetSelectDataSource();
|
|
5120
5134
|
};
|
|
5135
|
+
var onDeselect = function onDeselect() {
|
|
5136
|
+
var oldSelect = (value === null || value === void 0 ? void 0 : value.map(function (s) {
|
|
5137
|
+
return {
|
|
5138
|
+
value: (s === null || s === void 0 ? void 0 : s.value) || s
|
|
5139
|
+
};
|
|
5140
|
+
})) || [];
|
|
5141
|
+
var deRecord = arguments.length <= 1 ? undefined : arguments[1];
|
|
5142
|
+
var srs = oldSelect.filter(function (s) {
|
|
5143
|
+
return s.value != (deRecord === null || deRecord === void 0 ? void 0 : deRecord.value);
|
|
5144
|
+
});
|
|
5145
|
+
onSelectClick(srs, items, false);
|
|
5146
|
+
};
|
|
5121
5147
|
var onSelectClick = function onSelectClick(srs, ds) {
|
|
5122
5148
|
var nr = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
|
|
5123
5149
|
formaData(srs, ds);
|
|
@@ -5152,7 +5178,12 @@ var SearchSelect = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
5152
5178
|
var tmpSelectedRows = oldSelect.concat(srs).filter(function (item) {
|
|
5153
5179
|
return item != undefined;
|
|
5154
5180
|
});
|
|
5155
|
-
var
|
|
5181
|
+
var realStr = _toConsumableArray(((value === null || value === void 0 ? void 0 : value.map(function (s) {
|
|
5182
|
+
return (s === null || s === void 0 ? void 0 : s.value) || s;
|
|
5183
|
+
})) || []).concat(sks)).filter(function (item) {
|
|
5184
|
+
return item != undefined;
|
|
5185
|
+
}); // 避免搜索之后 没有了选中前的数据
|
|
5186
|
+
var realSrs = realStr.map(function (key) {
|
|
5156
5187
|
return tmpSelectedRows.filter(function (item) {
|
|
5157
5188
|
return item[mappingValueField] == key;
|
|
5158
5189
|
})[0];
|
|
@@ -5173,7 +5204,6 @@ var SearchSelect = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
5173
5204
|
};
|
|
5174
5205
|
})) || [];
|
|
5175
5206
|
var newSelect = [JSON.parse(JSON.stringify(record))];
|
|
5176
|
-
console.log('行选择:', 'oldSelect', oldSelect, 'newSelect', newSelect, 'record', record);
|
|
5177
5207
|
var srs = getRealStr(oldSelect, newSelect, record);
|
|
5178
5208
|
onSelectClick(srs, dataSource, false);
|
|
5179
5209
|
} // 点击行
|
|
@@ -5300,7 +5330,8 @@ var SearchSelect = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
5300
5330
|
value: value,
|
|
5301
5331
|
onChange: onchange,
|
|
5302
5332
|
onClear: onClear,
|
|
5303
|
-
|
|
5333
|
+
onDeselect: onDeselect,
|
|
5334
|
+
disabled: sDisabled,
|
|
5304
5335
|
dropdownStyle: {
|
|
5305
5336
|
borderRadius: '2px',
|
|
5306
5337
|
padding: '10px 2px'
|
|
@@ -5317,7 +5348,7 @@ var SearchSelect = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
5317
5348
|
style: {
|
|
5318
5349
|
textAlign: 'center'
|
|
5319
5350
|
}
|
|
5320
|
-
}, /*#__PURE__*/React$1.createElement("div", null, searchValue ? '无匹配结果,请更换其他内容再试' : "\u8BF7\u5F55\u5165".concat(searchStartLength ? '4位数以上' : '', "\u5B57\u7B26\u8FDB\u884C\u6A21\u7CCA\u67E5\u8BE2")))),
|
|
5351
|
+
}, /*#__PURE__*/React$1.createElement("div", null, searchValue || init ? '无匹配结果,请更换其他内容再试' : "\u8BF7\u5F55\u5165".concat(searchStartLength ? '4位数以上' : '', "\u5B57\u7B26\u8FDB\u884C\u6A21\u7CCA\u67E5\u8BE2")))),
|
|
5321
5352
|
onPopupScroll: SelectScroll,
|
|
5322
5353
|
style: {
|
|
5323
5354
|
width: 'calc(100%)'
|
|
@@ -5329,7 +5360,7 @@ var SearchSelect = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
5329
5360
|
}
|
|
5330
5361
|
}, needModalTable ? {
|
|
5331
5362
|
suffixIcon: /*#__PURE__*/React$1.createElement("div", {
|
|
5332
|
-
className: "search_select_expand_button ".concat(
|
|
5363
|
+
className: "search_select_expand_button ".concat(sDisabled ? 'search_select_expand_button_disabled' : ''),
|
|
5333
5364
|
onClick: showModal
|
|
5334
5365
|
}, /*#__PURE__*/React$1.createElement(SearchOutlined, null))
|
|
5335
5366
|
} : {}), currentSelectProps), {}, {
|
|
@@ -5361,7 +5392,7 @@ var SearchSelect = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
5361
5392
|
type: "primary",
|
|
5362
5393
|
loading: confirmLoading,
|
|
5363
5394
|
onClick: handleOk,
|
|
5364
|
-
disabled:
|
|
5395
|
+
disabled: sDisabled
|
|
5365
5396
|
}, "\u786E\u5B9A")] : null,
|
|
5366
5397
|
wrapClassName: 'search_select_modal_wrapper'
|
|
5367
5398
|
}, (modalTableProps === null || modalTableProps === void 0 ? void 0 : modalTableProps.modalProps) || {}), /*#__PURE__*/React$1.createElement("div", {
|
package/dist/index.js
CHANGED
|
@@ -4208,7 +4208,8 @@ var SearchSelect = /*#__PURE__*/React$1.forwardRef(function (props, ref) {
|
|
|
4208
4208
|
allowClear: true,
|
|
4209
4209
|
listHeight: 160,
|
|
4210
4210
|
optionLabelProp: "label",
|
|
4211
|
-
autoClearSearchValue: false
|
|
4211
|
+
autoClearSearchValue: false,
|
|
4212
|
+
placement: 'bottomLeft'
|
|
4212
4213
|
});
|
|
4213
4214
|
var initPagination = {
|
|
4214
4215
|
showQuickJumper: true,
|
|
@@ -4223,6 +4224,18 @@ var SearchSelect = /*#__PURE__*/React$1.forwardRef(function (props, ref) {
|
|
|
4223
4224
|
current: 1
|
|
4224
4225
|
});
|
|
4225
4226
|
var disabled = noOperate || (selectProps === null || selectProps === void 0 ? void 0 : selectProps.disabled) || (props === null || props === void 0 ? void 0 : props.disabled);
|
|
4227
|
+
var isHaveDependency = fixedparameter && fieldValToParam && ctx;
|
|
4228
|
+
var isHaveDValue = function isHaveDValue() {
|
|
4229
|
+
var formValueList = [];
|
|
4230
|
+
fieldValToParam.forEach(function (item, index) {
|
|
4231
|
+
var fixedParamVal = ctx.form.getFieldValue(fieldValToParam[index]);
|
|
4232
|
+
formValueList.push(fixedParamVal);
|
|
4233
|
+
});
|
|
4234
|
+
return formValueList.filter(function (item) {
|
|
4235
|
+
return item;
|
|
4236
|
+
}).length > 0;
|
|
4237
|
+
};
|
|
4238
|
+
var sDisabled = disabled || isHaveDependency && !!!isHaveDValue();
|
|
4226
4239
|
var _useState = React$1.useState([]),
|
|
4227
4240
|
_useState2 = _slicedToArray(_useState, 2),
|
|
4228
4241
|
items = _useState2[0],
|
|
@@ -4356,6 +4369,11 @@ var SearchSelect = /*#__PURE__*/React$1.forwardRef(function (props, ref) {
|
|
|
4356
4369
|
var reset = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
4357
4370
|
if (reset) {
|
|
4358
4371
|
if (init) {
|
|
4372
|
+
// 有关联,依赖项清空,此form项数据源也应清空, 也不可点击搜索
|
|
4373
|
+
if (isHaveDependency) {
|
|
4374
|
+
clearSelectDataSource();
|
|
4375
|
+
return;
|
|
4376
|
+
}
|
|
4359
4377
|
run('init');
|
|
4360
4378
|
} else {
|
|
4361
4379
|
clearSelectDataSource();
|
|
@@ -4394,7 +4412,7 @@ var SearchSelect = /*#__PURE__*/React$1.forwardRef(function (props, ref) {
|
|
|
4394
4412
|
setFetching(true);
|
|
4395
4413
|
// 处理dependence参数
|
|
4396
4414
|
var fixedParam = {};
|
|
4397
|
-
if (
|
|
4415
|
+
if (isHaveDependency) {
|
|
4398
4416
|
fixedparameter.forEach(function (item, index) {
|
|
4399
4417
|
var fixedParamVal = ctx.form.getFieldValue(fieldValToParam[index]);
|
|
4400
4418
|
if (fixedParamVal) {
|
|
@@ -4694,6 +4712,7 @@ var SearchSelect = /*#__PURE__*/React$1.forwardRef(function (props, ref) {
|
|
|
4694
4712
|
};
|
|
4695
4713
|
}, [isModalVisible]);
|
|
4696
4714
|
var showModal = function showModal() {
|
|
4715
|
+
if (sDisabled) return;
|
|
4697
4716
|
setSelectOpen(false);
|
|
4698
4717
|
setSearchValue('');
|
|
4699
4718
|
setModalSearched(false);
|
|
@@ -4811,14 +4830,7 @@ var SearchSelect = /*#__PURE__*/React$1.forwardRef(function (props, ref) {
|
|
|
4811
4830
|
var refreshItems = function refreshItems() {
|
|
4812
4831
|
// 查看是否存在关联值 如果有关联值 就查询 没有就不能查询
|
|
4813
4832
|
if (fieldValToParam && ctx && fixedparamsDisabled) {
|
|
4814
|
-
|
|
4815
|
-
fieldValToParam.forEach(function (item, index) {
|
|
4816
|
-
var fixedParamVal = ctx.form.getFieldValue(fieldValToParam[index]);
|
|
4817
|
-
formValueList.push(fixedParamVal);
|
|
4818
|
-
});
|
|
4819
|
-
if (formValueList.filter(function (item) {
|
|
4820
|
-
return item;
|
|
4821
|
-
}).length > 0) {
|
|
4833
|
+
if (!!isHaveDValue()) {
|
|
4822
4834
|
run();
|
|
4823
4835
|
} else {
|
|
4824
4836
|
clearSelectDataSource();
|
|
@@ -5134,6 +5146,8 @@ var SearchSelect = /*#__PURE__*/React$1.forwardRef(function (props, ref) {
|
|
|
5134
5146
|
}];
|
|
5135
5147
|
var resetSelectDataSource = function resetSelectDataSource() {
|
|
5136
5148
|
setSearchValue('');
|
|
5149
|
+
// 有关联值 不需要清空下拉框数据 也不需要重新去请求了
|
|
5150
|
+
if (isHaveDependency) return;
|
|
5137
5151
|
clearSelectDataSource();
|
|
5138
5152
|
init && run('init');
|
|
5139
5153
|
};
|
|
@@ -5141,6 +5155,18 @@ var SearchSelect = /*#__PURE__*/React$1.forwardRef(function (props, ref) {
|
|
|
5141
5155
|
formaData([], items);
|
|
5142
5156
|
resetSelectDataSource();
|
|
5143
5157
|
};
|
|
5158
|
+
var onDeselect = function onDeselect() {
|
|
5159
|
+
var oldSelect = (value === null || value === void 0 ? void 0 : value.map(function (s) {
|
|
5160
|
+
return {
|
|
5161
|
+
value: (s === null || s === void 0 ? void 0 : s.value) || s
|
|
5162
|
+
};
|
|
5163
|
+
})) || [];
|
|
5164
|
+
var deRecord = arguments.length <= 1 ? undefined : arguments[1];
|
|
5165
|
+
var srs = oldSelect.filter(function (s) {
|
|
5166
|
+
return s.value != (deRecord === null || deRecord === void 0 ? void 0 : deRecord.value);
|
|
5167
|
+
});
|
|
5168
|
+
onSelectClick(srs, items, false);
|
|
5169
|
+
};
|
|
5144
5170
|
var onSelectClick = function onSelectClick(srs, ds) {
|
|
5145
5171
|
var nr = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
|
|
5146
5172
|
formaData(srs, ds);
|
|
@@ -5175,7 +5201,12 @@ var SearchSelect = /*#__PURE__*/React$1.forwardRef(function (props, ref) {
|
|
|
5175
5201
|
var tmpSelectedRows = oldSelect.concat(srs).filter(function (item) {
|
|
5176
5202
|
return item != undefined;
|
|
5177
5203
|
});
|
|
5178
|
-
var
|
|
5204
|
+
var realStr = _toConsumableArray(((value === null || value === void 0 ? void 0 : value.map(function (s) {
|
|
5205
|
+
return (s === null || s === void 0 ? void 0 : s.value) || s;
|
|
5206
|
+
})) || []).concat(sks)).filter(function (item) {
|
|
5207
|
+
return item != undefined;
|
|
5208
|
+
}); // 避免搜索之后 没有了选中前的数据
|
|
5209
|
+
var realSrs = realStr.map(function (key) {
|
|
5179
5210
|
return tmpSelectedRows.filter(function (item) {
|
|
5180
5211
|
return item[mappingValueField] == key;
|
|
5181
5212
|
})[0];
|
|
@@ -5196,7 +5227,6 @@ var SearchSelect = /*#__PURE__*/React$1.forwardRef(function (props, ref) {
|
|
|
5196
5227
|
};
|
|
5197
5228
|
})) || [];
|
|
5198
5229
|
var newSelect = [JSON.parse(JSON.stringify(record))];
|
|
5199
|
-
console.log('行选择:', 'oldSelect', oldSelect, 'newSelect', newSelect, 'record', record);
|
|
5200
5230
|
var srs = getRealStr(oldSelect, newSelect, record);
|
|
5201
5231
|
onSelectClick(srs, dataSource, false);
|
|
5202
5232
|
} // 点击行
|
|
@@ -5323,7 +5353,8 @@ var SearchSelect = /*#__PURE__*/React$1.forwardRef(function (props, ref) {
|
|
|
5323
5353
|
value: value,
|
|
5324
5354
|
onChange: onchange,
|
|
5325
5355
|
onClear: onClear,
|
|
5326
|
-
|
|
5356
|
+
onDeselect: onDeselect,
|
|
5357
|
+
disabled: sDisabled,
|
|
5327
5358
|
dropdownStyle: {
|
|
5328
5359
|
borderRadius: '2px',
|
|
5329
5360
|
padding: '10px 2px'
|
|
@@ -5340,7 +5371,7 @@ var SearchSelect = /*#__PURE__*/React$1.forwardRef(function (props, ref) {
|
|
|
5340
5371
|
style: {
|
|
5341
5372
|
textAlign: 'center'
|
|
5342
5373
|
}
|
|
5343
|
-
}, /*#__PURE__*/React__default['default'].createElement("div", null, searchValue ? '无匹配结果,请更换其他内容再试' : "\u8BF7\u5F55\u5165".concat(searchStartLength ? '4位数以上' : '', "\u5B57\u7B26\u8FDB\u884C\u6A21\u7CCA\u67E5\u8BE2")))),
|
|
5374
|
+
}, /*#__PURE__*/React__default['default'].createElement("div", null, searchValue || init ? '无匹配结果,请更换其他内容再试' : "\u8BF7\u5F55\u5165".concat(searchStartLength ? '4位数以上' : '', "\u5B57\u7B26\u8FDB\u884C\u6A21\u7CCA\u67E5\u8BE2")))),
|
|
5344
5375
|
onPopupScroll: SelectScroll,
|
|
5345
5376
|
style: {
|
|
5346
5377
|
width: 'calc(100%)'
|
|
@@ -5352,7 +5383,7 @@ var SearchSelect = /*#__PURE__*/React$1.forwardRef(function (props, ref) {
|
|
|
5352
5383
|
}
|
|
5353
5384
|
}, needModalTable ? {
|
|
5354
5385
|
suffixIcon: /*#__PURE__*/React__default['default'].createElement("div", {
|
|
5355
|
-
className: "search_select_expand_button ".concat(
|
|
5386
|
+
className: "search_select_expand_button ".concat(sDisabled ? 'search_select_expand_button_disabled' : ''),
|
|
5356
5387
|
onClick: showModal
|
|
5357
5388
|
}, /*#__PURE__*/React__default['default'].createElement(icons.SearchOutlined, null))
|
|
5358
5389
|
} : {}), currentSelectProps), {}, {
|
|
@@ -5384,7 +5415,7 @@ var SearchSelect = /*#__PURE__*/React$1.forwardRef(function (props, ref) {
|
|
|
5384
5415
|
type: "primary",
|
|
5385
5416
|
loading: confirmLoading,
|
|
5386
5417
|
onClick: handleOk,
|
|
5387
|
-
disabled:
|
|
5418
|
+
disabled: sDisabled
|
|
5388
5419
|
}, "\u786E\u5B9A")] : null,
|
|
5389
5420
|
wrapClassName: 'search_select_modal_wrapper'
|
|
5390
5421
|
}, (modalTableProps === null || modalTableProps === void 0 ? void 0 : modalTableProps.modalProps) || {}), /*#__PURE__*/React__default['default'].createElement("div", {
|
package/package.json
CHANGED
|
@@ -68,11 +68,22 @@ const SearchSelect = forwardRef((props: any, ref: any) => {
|
|
|
68
68
|
allowClear: true,
|
|
69
69
|
listHeight: 160,
|
|
70
70
|
optionLabelProp: "label",
|
|
71
|
-
autoClearSearchValue: false
|
|
71
|
+
autoClearSearchValue: false,
|
|
72
|
+
placement: 'bottomLeft'
|
|
72
73
|
}
|
|
73
74
|
const initPagination = { showQuickJumper: true, showSizeChanger: false, showTotal: (total: any) => `共 ${total} 条`, pageSize: tableInitPageSize }
|
|
74
75
|
const tableInitPagination = { ...initPagination, total: 0, current: 1 }
|
|
75
|
-
const disabled = noOperate || selectProps?.disabled || props?.disabled
|
|
76
|
+
const disabled = noOperate || selectProps?.disabled || props?.disabled;
|
|
77
|
+
const isHaveDependency = fixedparameter && fieldValToParam && ctx;
|
|
78
|
+
const isHaveDValue = () => {
|
|
79
|
+
let formValueList = [];
|
|
80
|
+
fieldValToParam.forEach((item: any, index: any) => {
|
|
81
|
+
const fixedParamVal = ctx.form.getFieldValue(fieldValToParam[index]);
|
|
82
|
+
formValueList.push(fixedParamVal);
|
|
83
|
+
});
|
|
84
|
+
return formValueList.filter((item: any) => item).length > 0
|
|
85
|
+
}
|
|
86
|
+
const sDisabled = disabled || (isHaveDependency && !!!isHaveDValue());
|
|
76
87
|
|
|
77
88
|
const [items, setItems] = useState([]);
|
|
78
89
|
const [selectOpen, setSelectOpen] = useState(false);
|
|
@@ -136,6 +147,11 @@ const SearchSelect = forwardRef((props: any, ref: any) => {
|
|
|
136
147
|
refreshDataSource: (reset: boolean = false) => {
|
|
137
148
|
if (reset) {
|
|
138
149
|
if (init) {
|
|
150
|
+
// 有关联,依赖项清空,此form项数据源也应清空, 也不可点击搜索
|
|
151
|
+
if(isHaveDependency){
|
|
152
|
+
clearSelectDataSource();
|
|
153
|
+
return;
|
|
154
|
+
}
|
|
139
155
|
run('init');
|
|
140
156
|
} else {
|
|
141
157
|
clearSelectDataSource();
|
|
@@ -165,7 +181,7 @@ const SearchSelect = forwardRef((props: any, ref: any) => {
|
|
|
165
181
|
|
|
166
182
|
// 处理dependence参数
|
|
167
183
|
const fixedParam = {};
|
|
168
|
-
if (
|
|
184
|
+
if (isHaveDependency) {
|
|
169
185
|
fixedparameter.forEach((item: any, index: any) => {
|
|
170
186
|
const fixedParamVal = ctx.form.getFieldValue(fieldValToParam[index]);
|
|
171
187
|
if(fixedParamVal) {
|
|
@@ -487,6 +503,8 @@ const SearchSelect = forwardRef((props: any, ref: any) => {
|
|
|
487
503
|
},[isModalVisible])
|
|
488
504
|
|
|
489
505
|
const showModal = () => {
|
|
506
|
+
if(sDisabled) return;
|
|
507
|
+
|
|
490
508
|
setSelectOpen(false)
|
|
491
509
|
setSearchValue('');
|
|
492
510
|
setModalSearched(false);
|
|
@@ -582,12 +600,7 @@ const SearchSelect = forwardRef((props: any, ref: any) => {
|
|
|
582
600
|
const refreshItems = () => {
|
|
583
601
|
// 查看是否存在关联值 如果有关联值 就查询 没有就不能查询
|
|
584
602
|
if (fieldValToParam && ctx && fixedparamsDisabled) {
|
|
585
|
-
|
|
586
|
-
fieldValToParam.forEach((item: any, index: any) => {
|
|
587
|
-
const fixedParamVal = ctx.form.getFieldValue(fieldValToParam[index]);
|
|
588
|
-
formValueList.push(fixedParamVal);
|
|
589
|
-
});
|
|
590
|
-
if (formValueList.filter((item: any) => item).length > 0) {
|
|
603
|
+
if (!!isHaveDValue()) {
|
|
591
604
|
run();
|
|
592
605
|
} else {
|
|
593
606
|
clearSelectDataSource();
|
|
@@ -867,6 +880,8 @@ const SearchSelect = forwardRef((props: any, ref: any) => {
|
|
|
867
880
|
|
|
868
881
|
const resetSelectDataSource = () => {
|
|
869
882
|
setSearchValue('');
|
|
883
|
+
// 有关联值 不需要清空下拉框数据 也不需要重新去请求了
|
|
884
|
+
if(isHaveDependency) return;
|
|
870
885
|
clearSelectDataSource();
|
|
871
886
|
init && run('init')
|
|
872
887
|
}
|
|
@@ -875,6 +890,13 @@ const SearchSelect = forwardRef((props: any, ref: any) => {
|
|
|
875
890
|
formaData([], items);
|
|
876
891
|
resetSelectDataSource();
|
|
877
892
|
}
|
|
893
|
+
|
|
894
|
+
const onDeselect = (...arg) => {
|
|
895
|
+
const oldSelect = value?.map(s => ({ value: s?.value||s }))||[];
|
|
896
|
+
const deRecord = arg[1];
|
|
897
|
+
const srs = oldSelect.filter((s: any) => s.value != deRecord?.value)
|
|
898
|
+
onSelectClick(srs, items,false)
|
|
899
|
+
}
|
|
878
900
|
const onSelectClick = (srs, ds,nr=true) => {
|
|
879
901
|
formaData(srs, ds);
|
|
880
902
|
nr && setSelectOpen(false);
|
|
@@ -901,7 +923,8 @@ const SearchSelect = forwardRef((props: any, ref: any) => {
|
|
|
901
923
|
onChange: (sks, srs) => {
|
|
902
924
|
const oldSelect = value?.map(s => ({ value: s?.value||s }))||[];
|
|
903
925
|
let tmpSelectedRows = oldSelect.concat(srs).filter(item => item != undefined);
|
|
904
|
-
|
|
926
|
+
const realStr = [...((value?.map(s => s?.value||s)||[]).concat(sks))].filter(item => item != undefined); // 避免搜索之后 没有了选中前的数据
|
|
927
|
+
let realSrs = realStr.map(key => tmpSelectedRows.filter(item => item[mappingValueField] == key)[0]).filter(item => item != undefined)
|
|
905
928
|
onSelectClick(realSrs, dataSource,false)
|
|
906
929
|
}
|
|
907
930
|
},
|
|
@@ -912,7 +935,6 @@ const SearchSelect = forwardRef((props: any, ref: any) => {
|
|
|
912
935
|
|
|
913
936
|
const oldSelect = value?.map(s => ({ value: s?.value||s }))||[];
|
|
914
937
|
const newSelect = [JSON.parse(JSON.stringify(record))];
|
|
915
|
-
console.log('行选择:','oldSelect',oldSelect,'newSelect',newSelect,'record',record)
|
|
916
938
|
const srs = getRealStr(oldSelect,newSelect,record);
|
|
917
939
|
onSelectClick(srs,dataSource,false)
|
|
918
940
|
}, // 点击行
|
|
@@ -1002,7 +1024,7 @@ const SearchSelect = forwardRef((props: any, ref: any) => {
|
|
|
1002
1024
|
return getShowValueStr(kongValue);
|
|
1003
1025
|
}
|
|
1004
1026
|
|
|
1005
|
-
const isShouldShowStr = (props.disabled && ctx) || ctx?.mode == 'view'
|
|
1027
|
+
const isShouldShowStr = (props.disabled && ctx) || ctx?.mode == 'view';
|
|
1006
1028
|
return (
|
|
1007
1029
|
<div className={'search_select'}>
|
|
1008
1030
|
{fieldComponent ? (
|
|
@@ -1028,7 +1050,8 @@ const SearchSelect = forwardRef((props: any, ref: any) => {
|
|
|
1028
1050
|
value={value}
|
|
1029
1051
|
onChange={onchange}
|
|
1030
1052
|
onClear={onClear}
|
|
1031
|
-
|
|
1053
|
+
onDeselect={onDeselect}
|
|
1054
|
+
disabled={sDisabled}
|
|
1032
1055
|
dropdownStyle={{ borderRadius: '2px', padding: '10px 2px' }}
|
|
1033
1056
|
open={selectOpen}
|
|
1034
1057
|
onDropdownVisibleChange={onDropdownVisibleChange}
|
|
@@ -1038,7 +1061,7 @@ const SearchSelect = forwardRef((props: any, ref: any) => {
|
|
|
1038
1061
|
<Spin size="small" className='searchSelectSpin' />
|
|
1039
1062
|
) : (
|
|
1040
1063
|
<div style={{ textAlign: 'center' }}>
|
|
1041
|
-
<div>{searchValue?'无匹配结果,请更换其他内容再试':`请录入${searchStartLength?'4位数以上':''}字符进行模糊查询`}</div>
|
|
1064
|
+
<div>{(searchValue||init)?'无匹配结果,请更换其他内容再试':`请录入${searchStartLength?'4位数以上':''}字符进行模糊查询`}</div>
|
|
1042
1065
|
</div>
|
|
1043
1066
|
)
|
|
1044
1067
|
}
|
|
@@ -1048,7 +1071,7 @@ const SearchSelect = forwardRef((props: any, ref: any) => {
|
|
|
1048
1071
|
maxTagPlaceholder={maxTagPlaceholder}
|
|
1049
1072
|
onSearch={(v) => onSearchChange(v)}
|
|
1050
1073
|
{...(needModalTable ? {
|
|
1051
|
-
suffixIcon: <div className={`search_select_expand_button ${(
|
|
1074
|
+
suffixIcon: <div className={`search_select_expand_button ${(sDisabled)?'search_select_expand_button_disabled':''}`} onClick={showModal}><SearchOutlined /></div>
|
|
1052
1075
|
} : {})}
|
|
1053
1076
|
{...currentSelectProps}
|
|
1054
1077
|
getPopupContainer={(triggerNode) => (getPopupContainer && getPopupContainer(triggerNode)) || triggerNode.parentElement}
|
|
@@ -1085,7 +1108,7 @@ const SearchSelect = forwardRef((props: any, ref: any) => {
|
|
|
1085
1108
|
type="primary"
|
|
1086
1109
|
loading={confirmLoading}
|
|
1087
1110
|
onClick={handleOk}
|
|
1088
|
-
disabled={
|
|
1111
|
+
disabled={sDisabled}
|
|
1089
1112
|
>
|
|
1090
1113
|
确定
|
|
1091
1114
|
</Button>,
|