@bit-sun/business-component 4.2.1-alpha.22-aiwei → 4.2.1-alpha.23-aiwei
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 +125 -58
- package/dist/index.js +125 -58
- package/package.json +1 -1
- package/src/components/Functional/SearchSelect/index.md +145 -117
- package/src/components/Functional/SearchSelect/index.tsx +73 -8
package/dist/index.esm.js
CHANGED
|
@@ -5347,10 +5347,17 @@ var SearchSelect = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
5347
5347
|
searchStartLength: searchStartLength
|
|
5348
5348
|
}, rCTemp);
|
|
5349
5349
|
var resultSourceKey = handleSourceName(sourceName || (requestConfig === null || requestConfig === void 0 ? void 0 : requestConfig.sourceName) || (ctx === null || ctx === void 0 ? void 0 : ctx.name) || 'supplierCode');
|
|
5350
|
+
var TABLE_PAGE_SIZE_OPTIONS = [10, 20, 50, 100, 200, 500, 1000, 2000, 3000];
|
|
5351
|
+
var resolveTablePageSize = function resolveTablePageSize(pageSize) {
|
|
5352
|
+
if (TABLE_PAGE_SIZE_OPTIONS.includes(Number(pageSize))) {
|
|
5353
|
+
return Number(pageSize);
|
|
5354
|
+
}
|
|
5355
|
+
return 20;
|
|
5356
|
+
};
|
|
5350
5357
|
var selectMode = selectProps === null || selectProps === void 0 ? void 0 : selectProps.mode; // 设定当前选择器 为单选或者多选模式 无设定为单选模式(默认)
|
|
5351
5358
|
var initVal = value || (selectMode ? [] : null);
|
|
5352
5359
|
var pageSize = 100; // 下拉框默认分页 条数
|
|
5353
|
-
var tableInitPageSize =
|
|
5360
|
+
var tableInitPageSize = resolveTablePageSize((props === null || props === void 0 ? void 0 : props.pageSize) || null); // 弹框默认分页 条数
|
|
5354
5361
|
var currentPage = 1;
|
|
5355
5362
|
var selectParamsKey = (requestConfig === null || requestConfig === void 0 ? void 0 : requestConfig.filter) || 'qp-codeAndName-like';
|
|
5356
5363
|
var selectParamsInitKey = (requestConfig === null || requestConfig === void 0 ? void 0 : requestConfig.filterInit) || selectParamsKey;
|
|
@@ -5381,7 +5388,7 @@ var SearchSelect = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
5381
5388
|
var tableInitPagination = _objectSpread2(_objectSpread2({}, initPagination), {}, {
|
|
5382
5389
|
total: 0,
|
|
5383
5390
|
current: 1,
|
|
5384
|
-
pageSizeOptions:
|
|
5391
|
+
pageSizeOptions: TABLE_PAGE_SIZE_OPTIONS.map(String)
|
|
5385
5392
|
});
|
|
5386
5393
|
var disabled = !!noOperate || (selectProps === null || selectProps === void 0 ? void 0 : selectProps.disabled) || (props === null || props === void 0 ? void 0 : props.disabled);
|
|
5387
5394
|
var isHaveDependency = fixedparameter && fieldValToParam && ctx;
|
|
@@ -5436,6 +5443,10 @@ var SearchSelect = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
5436
5443
|
_useState18 = _slicedToArray(_useState17, 2),
|
|
5437
5444
|
uniqueValue = _useState18[0],
|
|
5438
5445
|
setUniqueValue = _useState18[1];
|
|
5446
|
+
var _useState19 = useState({}),
|
|
5447
|
+
_useState20 = _slicedToArray(_useState19, 2),
|
|
5448
|
+
selectToggleMap = _useState20[0],
|
|
5449
|
+
setSelectToggleMap = _useState20[1];
|
|
5439
5450
|
var _useDebounceFn = useDebounceFn(function (v) {
|
|
5440
5451
|
// 优化搜索参数 支持传多个
|
|
5441
5452
|
var searchParams = {};
|
|
@@ -5464,58 +5475,58 @@ var SearchSelect = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
5464
5475
|
var _Form$useForm = Form.useForm(),
|
|
5465
5476
|
_Form$useForm2 = _slicedToArray(_Form$useForm, 1),
|
|
5466
5477
|
form = _Form$useForm2[0];
|
|
5467
|
-
var _useState19 = useState(true),
|
|
5468
|
-
_useState20 = _slicedToArray(_useState19, 2),
|
|
5469
|
-
collapsed = _useState20[0],
|
|
5470
|
-
setCollapsed = _useState20[1];
|
|
5471
5478
|
var _useState21 = useState(true),
|
|
5472
5479
|
_useState22 = _slicedToArray(_useState21, 2),
|
|
5473
|
-
|
|
5474
|
-
|
|
5475
|
-
var _useState23 = useState(
|
|
5480
|
+
collapsed = _useState22[0],
|
|
5481
|
+
setCollapsed = _useState22[1];
|
|
5482
|
+
var _useState23 = useState(true),
|
|
5476
5483
|
_useState24 = _slicedToArray(_useState23, 2),
|
|
5477
|
-
|
|
5478
|
-
|
|
5479
|
-
var _useState25 = useState(
|
|
5484
|
+
caretLeftFlag = _useState24[0],
|
|
5485
|
+
setCaretLeftFlag = _useState24[1];
|
|
5486
|
+
var _useState25 = useState([]),
|
|
5480
5487
|
_useState26 = _slicedToArray(_useState25, 2),
|
|
5481
|
-
|
|
5482
|
-
|
|
5483
|
-
var _useState27 = useState(
|
|
5488
|
+
tableData = _useState26[0],
|
|
5489
|
+
setTableData = _useState26[1];
|
|
5490
|
+
var _useState27 = useState(tableInitPagination),
|
|
5484
5491
|
_useState28 = _slicedToArray(_useState27, 2),
|
|
5485
|
-
|
|
5486
|
-
|
|
5492
|
+
tablePagination = _useState28[0],
|
|
5493
|
+
setTablePagination = _useState28[1];
|
|
5487
5494
|
var _useState29 = useState([]),
|
|
5488
5495
|
_useState30 = _slicedToArray(_useState29, 2),
|
|
5489
|
-
|
|
5490
|
-
|
|
5491
|
-
var _useState31 = useState(
|
|
5496
|
+
selectedRowKeys = _useState30[0],
|
|
5497
|
+
setSelectedRowKeys = _useState30[1];
|
|
5498
|
+
var _useState31 = useState([]),
|
|
5492
5499
|
_useState32 = _slicedToArray(_useState31, 2),
|
|
5493
|
-
|
|
5494
|
-
|
|
5500
|
+
selectedRows = _useState32[0],
|
|
5501
|
+
setSelectedRows = _useState32[1];
|
|
5495
5502
|
var _useState33 = useState(false),
|
|
5496
5503
|
_useState34 = _slicedToArray(_useState33, 2),
|
|
5497
|
-
|
|
5498
|
-
|
|
5499
|
-
var _useState35 = useState(
|
|
5504
|
+
checkedAll = _useState34[0],
|
|
5505
|
+
setCheckedAll = _useState34[1];
|
|
5506
|
+
var _useState35 = useState(false),
|
|
5500
5507
|
_useState36 = _slicedToArray(_useState35, 2),
|
|
5501
|
-
|
|
5502
|
-
|
|
5503
|
-
var _useState37 = useState(
|
|
5508
|
+
indeterminate = _useState36[0],
|
|
5509
|
+
setIndeterminate = _useState36[1];
|
|
5510
|
+
var _useState37 = useState({}),
|
|
5504
5511
|
_useState38 = _slicedToArray(_useState37, 2),
|
|
5505
|
-
|
|
5506
|
-
|
|
5507
|
-
var _useState39 = useState(
|
|
5512
|
+
tableFormParams = _useState38[0],
|
|
5513
|
+
setTableFormParams = _useState38[1];
|
|
5514
|
+
var _useState39 = useState(false),
|
|
5508
5515
|
_useState40 = _slicedToArray(_useState39, 2),
|
|
5509
|
-
|
|
5510
|
-
|
|
5511
|
-
var _useState41 = useState(
|
|
5516
|
+
tooltipVisible = _useState40[0],
|
|
5517
|
+
setTooltipVisible = _useState40[1];
|
|
5518
|
+
var _useState41 = useState(handleTableColumns(modalTableProps === null || modalTableProps === void 0 ? void 0 : modalTableProps.tableColumns)),
|
|
5512
5519
|
_useState42 = _slicedToArray(_useState41, 2),
|
|
5513
|
-
|
|
5514
|
-
|
|
5520
|
+
tableShowColumns = _useState42[0],
|
|
5521
|
+
setTabletShowColumns = _useState42[1]; // 默认展示表头-modalTableProps?.tableColumns
|
|
5515
5522
|
var _useState43 = useState(false),
|
|
5516
5523
|
_useState44 = _slicedToArray(_useState43, 2),
|
|
5517
|
-
|
|
5518
|
-
|
|
5524
|
+
confirmLoading = _useState44[0],
|
|
5525
|
+
setConfirmLoading = _useState44[1];
|
|
5526
|
+
var _useState45 = useState(false),
|
|
5527
|
+
_useState46 = _slicedToArray(_useState45, 2),
|
|
5528
|
+
modalSearched = _useState46[0],
|
|
5529
|
+
setModalSearched = _useState46[1];
|
|
5519
5530
|
var setSelectDataSource = function setSelectDataSource(list, total) {
|
|
5520
5531
|
setItems(list);
|
|
5521
5532
|
setItemsTotal(total);
|
|
@@ -6003,13 +6014,13 @@ var SearchSelect = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
6003
6014
|
})) || [];
|
|
6004
6015
|
var searchList = (modalTableProps === null || modalTableProps === void 0 ? void 0 : modalTableProps.noEmptySearchField) ? list : list === null || list === void 0 ? void 0 : list.concat(addKong);
|
|
6005
6016
|
return searchList.map(function (i, index) {
|
|
6006
|
-
var _i$field, _i$
|
|
6017
|
+
var _i$field, _i$field6, _i$field8, _i$field0, _i$field10, _i$field11, _i$field12, _i$field13, _i$field15, _i$field16;
|
|
6007
6018
|
if ((i === null || i === void 0 ? void 0 : i.type) === 'kong') return /*#__PURE__*/React$1.createElement(Col, {
|
|
6008
6019
|
span: ColSpan,
|
|
6009
6020
|
key: i
|
|
6010
6021
|
});
|
|
6011
6022
|
if ((i === null || i === void 0 ? void 0 : i.type) === 'select' || (i === null || i === void 0 ? void 0 : (_i$field = i.field) === null || _i$field === void 0 ? void 0 : _i$field.type) === 'select') {
|
|
6012
|
-
var _i$field2, _i$initialSource;
|
|
6023
|
+
var _i$field2, _i$field3, _i$field3$props, _i$initialSource;
|
|
6013
6024
|
return /*#__PURE__*/React$1.createElement(Col, {
|
|
6014
6025
|
span: ColSpan,
|
|
6015
6026
|
key: i.name
|
|
@@ -6026,7 +6037,63 @@ var SearchSelect = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
6026
6037
|
return onSearchTable();
|
|
6027
6038
|
}
|
|
6028
6039
|
}, i === null || i === void 0 ? void 0 : (_i$field2 = i.field) === null || _i$field2 === void 0 ? void 0 : _i$field2.props), {}, {
|
|
6029
|
-
disabled: setDisabled(i.name)
|
|
6040
|
+
disabled: setDisabled(i.name),
|
|
6041
|
+
mode: i === null || i === void 0 ? void 0 : (_i$field3 = i.field) === null || _i$field3 === void 0 ? void 0 : (_i$field3$props = _i$field3.props) === null || _i$field3$props === void 0 ? void 0 : _i$field3$props.mode,
|
|
6042
|
+
dropdownRender: function dropdownRender(menu) {
|
|
6043
|
+
var _i$field4, _i$field4$props, _i$field5, _i$field5$props;
|
|
6044
|
+
// 候选项数组(去重)
|
|
6045
|
+
var allValues = Array.isArray(i === null || i === void 0 ? void 0 : i.initialSource) ? Array.from(new Set(i.initialSource.map(function (s) {
|
|
6046
|
+
return s.value;
|
|
6047
|
+
}).filter(function (v) {
|
|
6048
|
+
return v !== undefined && v !== null;
|
|
6049
|
+
}))) : [];
|
|
6050
|
+
var isMulti = (i === null || i === void 0 ? void 0 : (_i$field4 = i.field) === null || _i$field4 === void 0 ? void 0 : (_i$field4$props = _i$field4.props) === null || _i$field4$props === void 0 ? void 0 : _i$field4$props.mode) === 'multiple' || (i === null || i === void 0 ? void 0 : (_i$field5 = i.field) === null || _i$field5 === void 0 ? void 0 : (_i$field5$props = _i$field5.props) === null || _i$field5$props === void 0 ? void 0 : _i$field5$props.mode) === 'tags';
|
|
6051
|
+
// 当前 toggle 状态(true 表示下一次点击是反选 -> 显示为“反选”)
|
|
6052
|
+
var toggled = !!selectToggleMap[i.name];
|
|
6053
|
+
var label = toggled ? '反选' : '全选';
|
|
6054
|
+
// 通过 props.allSelectValues 控制按钮是否显示
|
|
6055
|
+
var showSelectAllButton = props.showAllSelectBtn && isMulti && allValues.length > 0;
|
|
6056
|
+
return /*#__PURE__*/React$1.createElement("div", null, showSelectAllButton && (/*#__PURE__*/React$1.createElement("div", {
|
|
6057
|
+
style: {
|
|
6058
|
+
padding: 6,
|
|
6059
|
+
display: 'flex',
|
|
6060
|
+
justifyContent: 'flex-end',
|
|
6061
|
+
alignItems: 'center'
|
|
6062
|
+
}
|
|
6063
|
+
}, /*#__PURE__*/React$1.createElement(Button, {
|
|
6064
|
+
type: "link",
|
|
6065
|
+
size: "small",
|
|
6066
|
+
onMouseDown: function onMouseDown(e) {
|
|
6067
|
+
return e.preventDefault();
|
|
6068
|
+
},
|
|
6069
|
+
onClick: function onClick(e) {
|
|
6070
|
+
e.stopPropagation();
|
|
6071
|
+
var cur = form.getFieldValue(i.name) || [];
|
|
6072
|
+
var curArr = Array.isArray(cur) ? cur : [cur].filter(Boolean);
|
|
6073
|
+
if (!toggled) {
|
|
6074
|
+
// 全选:把所有候选值写入表单
|
|
6075
|
+
form.setFieldsValue(_defineProperty({}, i.name, allValues));
|
|
6076
|
+
setSelectToggleMap(function (prev) {
|
|
6077
|
+
return _objectSpread2(_objectSpread2({}, prev || {}), {}, _defineProperty({}, i.name, true));
|
|
6078
|
+
});
|
|
6079
|
+
} else {
|
|
6080
|
+
// 反选:当前实现为“把候选项中未被选中的项选上”(基于当前值取补集)
|
|
6081
|
+
var newVals = allValues.filter(function (v) {
|
|
6082
|
+
return !curArr.includes(v);
|
|
6083
|
+
});
|
|
6084
|
+
form.setFieldsValue(_defineProperty({}, i.name, newVals));
|
|
6085
|
+
setSelectToggleMap(function (prev) {
|
|
6086
|
+
return _objectSpread2(_objectSpread2({}, prev || {}), {}, _defineProperty({}, i.name, false));
|
|
6087
|
+
});
|
|
6088
|
+
}
|
|
6089
|
+
},
|
|
6090
|
+
style: {
|
|
6091
|
+
padding: '0 6px',
|
|
6092
|
+
height: 20,
|
|
6093
|
+
lineHeight: '20px'
|
|
6094
|
+
}
|
|
6095
|
+
}, label))), /*#__PURE__*/React$1.createElement("div", null, menu));
|
|
6096
|
+
}
|
|
6030
6097
|
}), (i === null || i === void 0 ? void 0 : (_i$initialSource = i.initialSource) === null || _i$initialSource === void 0 ? void 0 : _i$initialSource.length) && (i === null || i === void 0 ? void 0 : i.initialSource.map(function (m) {
|
|
6031
6098
|
return /*#__PURE__*/React$1.createElement(Option$1, {
|
|
6032
6099
|
value: m.value,
|
|
@@ -6034,8 +6101,8 @@ var SearchSelect = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
6034
6101
|
}, m.text);
|
|
6035
6102
|
})))));
|
|
6036
6103
|
}
|
|
6037
|
-
if ((i === null || i === void 0 ? void 0 : i.type) === 'treeSelect' || (i === null || i === void 0 ? void 0 : (_i$
|
|
6038
|
-
var _i$
|
|
6104
|
+
if ((i === null || i === void 0 ? void 0 : i.type) === 'treeSelect' || (i === null || i === void 0 ? void 0 : (_i$field6 = i.field) === null || _i$field6 === void 0 ? void 0 : _i$field6.type) === 'treeSelect') {
|
|
6105
|
+
var _i$field7;
|
|
6039
6106
|
return /*#__PURE__*/React$1.createElement(Col, {
|
|
6040
6107
|
span: ColSpan,
|
|
6041
6108
|
key: i.name
|
|
@@ -6048,12 +6115,12 @@ var SearchSelect = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
6048
6115
|
width: '100%'
|
|
6049
6116
|
},
|
|
6050
6117
|
placeholder: "\u8BF7\u9009\u62E9"
|
|
6051
|
-
}, i === null || i === void 0 ? void 0 : (_i$
|
|
6118
|
+
}, i === null || i === void 0 ? void 0 : (_i$field7 = i.field) === null || _i$field7 === void 0 ? void 0 : _i$field7.props), {}, {
|
|
6052
6119
|
disabled: setDisabled(i.name)
|
|
6053
6120
|
}))));
|
|
6054
6121
|
}
|
|
6055
|
-
if ((i === null || i === void 0 ? void 0 : i.type) === 'rangepicker' || (i === null || i === void 0 ? void 0 : (_i$
|
|
6056
|
-
var _i$initialValue, _i$
|
|
6122
|
+
if ((i === null || i === void 0 ? void 0 : i.type) === 'rangepicker' || (i === null || i === void 0 ? void 0 : (_i$field8 = i.field) === null || _i$field8 === void 0 ? void 0 : _i$field8.type) === 'rangepicker') {
|
|
6123
|
+
var _i$initialValue, _i$field9;
|
|
6057
6124
|
return /*#__PURE__*/React$1.createElement(Col, {
|
|
6058
6125
|
span: ColSpan,
|
|
6059
6126
|
key: i.name
|
|
@@ -6067,12 +6134,12 @@ var SearchSelect = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
6067
6134
|
width: '100%'
|
|
6068
6135
|
},
|
|
6069
6136
|
placeholder: "\u8BF7\u9009\u62E9"
|
|
6070
|
-
}, i === null || i === void 0 ? void 0 : (_i$
|
|
6137
|
+
}, i === null || i === void 0 ? void 0 : (_i$field9 = i.field) === null || _i$field9 === void 0 ? void 0 : _i$field9.props), {}, {
|
|
6071
6138
|
disabled: setDisabled(i.name)
|
|
6072
6139
|
}))));
|
|
6073
6140
|
}
|
|
6074
|
-
if ((i === null || i === void 0 ? void 0 : i.type) === 'datepicker' || (i === null || i === void 0 ? void 0 : (_i$
|
|
6075
|
-
var _i$
|
|
6141
|
+
if ((i === null || i === void 0 ? void 0 : i.type) === 'datepicker' || (i === null || i === void 0 ? void 0 : (_i$field0 = i.field) === null || _i$field0 === void 0 ? void 0 : _i$field0.type) === 'datepicker') {
|
|
6142
|
+
var _i$field1;
|
|
6076
6143
|
return /*#__PURE__*/React$1.createElement(Col, {
|
|
6077
6144
|
span: ColSpan,
|
|
6078
6145
|
key: i.name
|
|
@@ -6085,11 +6152,11 @@ var SearchSelect = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
6085
6152
|
width: '100%'
|
|
6086
6153
|
},
|
|
6087
6154
|
placeholder: "\u8BF7\u9009\u62E9"
|
|
6088
|
-
}, i === null || i === void 0 ? void 0 : (_i$
|
|
6155
|
+
}, i === null || i === void 0 ? void 0 : (_i$field1 = i.field) === null || _i$field1 === void 0 ? void 0 : _i$field1.props), {}, {
|
|
6089
6156
|
disabled: setDisabled(i.name)
|
|
6090
6157
|
}))));
|
|
6091
6158
|
}
|
|
6092
|
-
if ((i === null || i === void 0 ? void 0 : i.type) === 'businessSearchSelect' || (i === null || i === void 0 ? void 0 : (_i$
|
|
6159
|
+
if ((i === null || i === void 0 ? void 0 : i.type) === 'businessSearchSelect' || (i === null || i === void 0 ? void 0 : (_i$field10 = i.field) === null || _i$field10 === void 0 ? void 0 : _i$field10.type) === 'businessSearchSelect') {
|
|
6093
6160
|
return /*#__PURE__*/React$1.createElement(Col, {
|
|
6094
6161
|
span: ColSpan,
|
|
6095
6162
|
key: i.name
|
|
@@ -6101,7 +6168,7 @@ var SearchSelect = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
6101
6168
|
disabled: setDisabled(i.name)
|
|
6102
6169
|
}))));
|
|
6103
6170
|
}
|
|
6104
|
-
if ((i === null || i === void 0 ? void 0 : i.type) === 'multipleQueryInput' || (i === null || i === void 0 ? void 0 : (_i$
|
|
6171
|
+
if ((i === null || i === void 0 ? void 0 : i.type) === 'multipleQueryInput' || (i === null || i === void 0 ? void 0 : (_i$field11 = i.field) === null || _i$field11 === void 0 ? void 0 : _i$field11.type) === 'multipleQueryInput') {
|
|
6105
6172
|
return /*#__PURE__*/React$1.createElement(Col, {
|
|
6106
6173
|
span: ColSpan,
|
|
6107
6174
|
key: i.name
|
|
@@ -6115,7 +6182,7 @@ var SearchSelect = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
6115
6182
|
}
|
|
6116
6183
|
})));
|
|
6117
6184
|
}
|
|
6118
|
-
if ((i === null || i === void 0 ? void 0 : (_i$
|
|
6185
|
+
if ((i === null || i === void 0 ? void 0 : (_i$field12 = i.field) === null || _i$field12 === void 0 ? void 0 : _i$field12.type) === 'proppertySelector') {
|
|
6119
6186
|
return /*#__PURE__*/React$1.createElement(Col, {
|
|
6120
6187
|
span: ColSpan,
|
|
6121
6188
|
key: i.name
|
|
@@ -6125,8 +6192,8 @@ var SearchSelect = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
6125
6192
|
key: i.name
|
|
6126
6193
|
}, /*#__PURE__*/React$1.createElement(PropertySelector, null)));
|
|
6127
6194
|
}
|
|
6128
|
-
if ((i === null || i === void 0 ? void 0 : i.type) === 'itemPropertySelector' || (i === null || i === void 0 ? void 0 : (_i$
|
|
6129
|
-
var _i$
|
|
6195
|
+
if ((i === null || i === void 0 ? void 0 : i.type) === 'itemPropertySelector' || (i === null || i === void 0 ? void 0 : (_i$field13 = i.field) === null || _i$field13 === void 0 ? void 0 : _i$field13.type) === 'itemPropertySelector') {
|
|
6196
|
+
var _i$field14;
|
|
6130
6197
|
return /*#__PURE__*/React$1.createElement(Col, {
|
|
6131
6198
|
span: ColSpan,
|
|
6132
6199
|
key: i.name
|
|
@@ -6139,9 +6206,9 @@ var SearchSelect = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
6139
6206
|
width: '100%'
|
|
6140
6207
|
},
|
|
6141
6208
|
placeholder: "\u8BF7\u9009\u62E9"
|
|
6142
|
-
}, i === null || i === void 0 ? void 0 : (_i$
|
|
6209
|
+
}, i === null || i === void 0 ? void 0 : (_i$field14 = i.field) === null || _i$field14 === void 0 ? void 0 : _i$field14.props))));
|
|
6143
6210
|
}
|
|
6144
|
-
if ((i === null || i === void 0 ? void 0 : (_i$
|
|
6211
|
+
if ((i === null || i === void 0 ? void 0 : (_i$field15 = i.field) === null || _i$field15 === void 0 ? void 0 : _i$field15.type) === 'multipleQuerySearchSelect') {
|
|
6145
6212
|
return /*#__PURE__*/React$1.createElement(Col, {
|
|
6146
6213
|
span: ColSpan,
|
|
6147
6214
|
key: i.name
|
|
@@ -6170,7 +6237,7 @@ var SearchSelect = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
6170
6237
|
placeholder: "\u8BF7\u8F93\u5165",
|
|
6171
6238
|
allowClear: true,
|
|
6172
6239
|
maxLength: 100
|
|
6173
|
-
}, i === null || i === void 0 ? void 0 : (_i$
|
|
6240
|
+
}, i === null || i === void 0 ? void 0 : (_i$field16 = i.field) === null || _i$field16 === void 0 ? void 0 : _i$field16.props), {}, {
|
|
6174
6241
|
disabled: setDisabled(i.name)
|
|
6175
6242
|
}))));
|
|
6176
6243
|
});
|
package/dist/index.js
CHANGED
|
@@ -5370,10 +5370,17 @@ var SearchSelect = /*#__PURE__*/React$1.forwardRef(function (props, ref) {
|
|
|
5370
5370
|
searchStartLength: searchStartLength
|
|
5371
5371
|
}, rCTemp);
|
|
5372
5372
|
var resultSourceKey = handleSourceName(sourceName || (requestConfig === null || requestConfig === void 0 ? void 0 : requestConfig.sourceName) || (ctx === null || ctx === void 0 ? void 0 : ctx.name) || 'supplierCode');
|
|
5373
|
+
var TABLE_PAGE_SIZE_OPTIONS = [10, 20, 50, 100, 200, 500, 1000, 2000, 3000];
|
|
5374
|
+
var resolveTablePageSize = function resolveTablePageSize(pageSize) {
|
|
5375
|
+
if (TABLE_PAGE_SIZE_OPTIONS.includes(Number(pageSize))) {
|
|
5376
|
+
return Number(pageSize);
|
|
5377
|
+
}
|
|
5378
|
+
return 20;
|
|
5379
|
+
};
|
|
5373
5380
|
var selectMode = selectProps === null || selectProps === void 0 ? void 0 : selectProps.mode; // 设定当前选择器 为单选或者多选模式 无设定为单选模式(默认)
|
|
5374
5381
|
var initVal = value || (selectMode ? [] : null);
|
|
5375
5382
|
var pageSize = 100; // 下拉框默认分页 条数
|
|
5376
|
-
var tableInitPageSize =
|
|
5383
|
+
var tableInitPageSize = resolveTablePageSize((props === null || props === void 0 ? void 0 : props.pageSize) || null); // 弹框默认分页 条数
|
|
5377
5384
|
var currentPage = 1;
|
|
5378
5385
|
var selectParamsKey = (requestConfig === null || requestConfig === void 0 ? void 0 : requestConfig.filter) || 'qp-codeAndName-like';
|
|
5379
5386
|
var selectParamsInitKey = (requestConfig === null || requestConfig === void 0 ? void 0 : requestConfig.filterInit) || selectParamsKey;
|
|
@@ -5404,7 +5411,7 @@ var SearchSelect = /*#__PURE__*/React$1.forwardRef(function (props, ref) {
|
|
|
5404
5411
|
var tableInitPagination = _objectSpread2(_objectSpread2({}, initPagination), {}, {
|
|
5405
5412
|
total: 0,
|
|
5406
5413
|
current: 1,
|
|
5407
|
-
pageSizeOptions:
|
|
5414
|
+
pageSizeOptions: TABLE_PAGE_SIZE_OPTIONS.map(String)
|
|
5408
5415
|
});
|
|
5409
5416
|
var disabled = !!noOperate || (selectProps === null || selectProps === void 0 ? void 0 : selectProps.disabled) || (props === null || props === void 0 ? void 0 : props.disabled);
|
|
5410
5417
|
var isHaveDependency = fixedparameter && fieldValToParam && ctx;
|
|
@@ -5459,6 +5466,10 @@ var SearchSelect = /*#__PURE__*/React$1.forwardRef(function (props, ref) {
|
|
|
5459
5466
|
_useState18 = _slicedToArray(_useState17, 2),
|
|
5460
5467
|
uniqueValue = _useState18[0],
|
|
5461
5468
|
setUniqueValue = _useState18[1];
|
|
5469
|
+
var _useState19 = React$1.useState({}),
|
|
5470
|
+
_useState20 = _slicedToArray(_useState19, 2),
|
|
5471
|
+
selectToggleMap = _useState20[0],
|
|
5472
|
+
setSelectToggleMap = _useState20[1];
|
|
5462
5473
|
var _useDebounceFn = ahooks.useDebounceFn(function (v) {
|
|
5463
5474
|
// 优化搜索参数 支持传多个
|
|
5464
5475
|
var searchParams = {};
|
|
@@ -5487,58 +5498,58 @@ var SearchSelect = /*#__PURE__*/React$1.forwardRef(function (props, ref) {
|
|
|
5487
5498
|
var _Form$useForm = antd.Form.useForm(),
|
|
5488
5499
|
_Form$useForm2 = _slicedToArray(_Form$useForm, 1),
|
|
5489
5500
|
form = _Form$useForm2[0];
|
|
5490
|
-
var _useState19 = React$1.useState(true),
|
|
5491
|
-
_useState20 = _slicedToArray(_useState19, 2),
|
|
5492
|
-
collapsed = _useState20[0],
|
|
5493
|
-
setCollapsed = _useState20[1];
|
|
5494
5501
|
var _useState21 = React$1.useState(true),
|
|
5495
5502
|
_useState22 = _slicedToArray(_useState21, 2),
|
|
5496
|
-
|
|
5497
|
-
|
|
5498
|
-
var _useState23 = React$1.useState(
|
|
5503
|
+
collapsed = _useState22[0],
|
|
5504
|
+
setCollapsed = _useState22[1];
|
|
5505
|
+
var _useState23 = React$1.useState(true),
|
|
5499
5506
|
_useState24 = _slicedToArray(_useState23, 2),
|
|
5500
|
-
|
|
5501
|
-
|
|
5502
|
-
var _useState25 = React$1.useState(
|
|
5507
|
+
caretLeftFlag = _useState24[0],
|
|
5508
|
+
setCaretLeftFlag = _useState24[1];
|
|
5509
|
+
var _useState25 = React$1.useState([]),
|
|
5503
5510
|
_useState26 = _slicedToArray(_useState25, 2),
|
|
5504
|
-
|
|
5505
|
-
|
|
5506
|
-
var _useState27 = React$1.useState(
|
|
5511
|
+
tableData = _useState26[0],
|
|
5512
|
+
setTableData = _useState26[1];
|
|
5513
|
+
var _useState27 = React$1.useState(tableInitPagination),
|
|
5507
5514
|
_useState28 = _slicedToArray(_useState27, 2),
|
|
5508
|
-
|
|
5509
|
-
|
|
5515
|
+
tablePagination = _useState28[0],
|
|
5516
|
+
setTablePagination = _useState28[1];
|
|
5510
5517
|
var _useState29 = React$1.useState([]),
|
|
5511
5518
|
_useState30 = _slicedToArray(_useState29, 2),
|
|
5512
|
-
|
|
5513
|
-
|
|
5514
|
-
var _useState31 = React$1.useState(
|
|
5519
|
+
selectedRowKeys = _useState30[0],
|
|
5520
|
+
setSelectedRowKeys = _useState30[1];
|
|
5521
|
+
var _useState31 = React$1.useState([]),
|
|
5515
5522
|
_useState32 = _slicedToArray(_useState31, 2),
|
|
5516
|
-
|
|
5517
|
-
|
|
5523
|
+
selectedRows = _useState32[0],
|
|
5524
|
+
setSelectedRows = _useState32[1];
|
|
5518
5525
|
var _useState33 = React$1.useState(false),
|
|
5519
5526
|
_useState34 = _slicedToArray(_useState33, 2),
|
|
5520
|
-
|
|
5521
|
-
|
|
5522
|
-
var _useState35 = React$1.useState(
|
|
5527
|
+
checkedAll = _useState34[0],
|
|
5528
|
+
setCheckedAll = _useState34[1];
|
|
5529
|
+
var _useState35 = React$1.useState(false),
|
|
5523
5530
|
_useState36 = _slicedToArray(_useState35, 2),
|
|
5524
|
-
|
|
5525
|
-
|
|
5526
|
-
var _useState37 = React$1.useState(
|
|
5531
|
+
indeterminate = _useState36[0],
|
|
5532
|
+
setIndeterminate = _useState36[1];
|
|
5533
|
+
var _useState37 = React$1.useState({}),
|
|
5527
5534
|
_useState38 = _slicedToArray(_useState37, 2),
|
|
5528
|
-
|
|
5529
|
-
|
|
5530
|
-
var _useState39 = React$1.useState(
|
|
5535
|
+
tableFormParams = _useState38[0],
|
|
5536
|
+
setTableFormParams = _useState38[1];
|
|
5537
|
+
var _useState39 = React$1.useState(false),
|
|
5531
5538
|
_useState40 = _slicedToArray(_useState39, 2),
|
|
5532
|
-
|
|
5533
|
-
|
|
5534
|
-
var _useState41 = React$1.useState(
|
|
5539
|
+
tooltipVisible = _useState40[0],
|
|
5540
|
+
setTooltipVisible = _useState40[1];
|
|
5541
|
+
var _useState41 = React$1.useState(handleTableColumns(modalTableProps === null || modalTableProps === void 0 ? void 0 : modalTableProps.tableColumns)),
|
|
5535
5542
|
_useState42 = _slicedToArray(_useState41, 2),
|
|
5536
|
-
|
|
5537
|
-
|
|
5543
|
+
tableShowColumns = _useState42[0],
|
|
5544
|
+
setTabletShowColumns = _useState42[1]; // 默认展示表头-modalTableProps?.tableColumns
|
|
5538
5545
|
var _useState43 = React$1.useState(false),
|
|
5539
5546
|
_useState44 = _slicedToArray(_useState43, 2),
|
|
5540
|
-
|
|
5541
|
-
|
|
5547
|
+
confirmLoading = _useState44[0],
|
|
5548
|
+
setConfirmLoading = _useState44[1];
|
|
5549
|
+
var _useState45 = React$1.useState(false),
|
|
5550
|
+
_useState46 = _slicedToArray(_useState45, 2),
|
|
5551
|
+
modalSearched = _useState46[0],
|
|
5552
|
+
setModalSearched = _useState46[1];
|
|
5542
5553
|
var setSelectDataSource = function setSelectDataSource(list, total) {
|
|
5543
5554
|
setItems(list);
|
|
5544
5555
|
setItemsTotal(total);
|
|
@@ -6026,13 +6037,13 @@ var SearchSelect = /*#__PURE__*/React$1.forwardRef(function (props, ref) {
|
|
|
6026
6037
|
})) || [];
|
|
6027
6038
|
var searchList = (modalTableProps === null || modalTableProps === void 0 ? void 0 : modalTableProps.noEmptySearchField) ? list : list === null || list === void 0 ? void 0 : list.concat(addKong);
|
|
6028
6039
|
return searchList.map(function (i, index) {
|
|
6029
|
-
var _i$field, _i$
|
|
6040
|
+
var _i$field, _i$field6, _i$field8, _i$field0, _i$field10, _i$field11, _i$field12, _i$field13, _i$field15, _i$field16;
|
|
6030
6041
|
if ((i === null || i === void 0 ? void 0 : i.type) === 'kong') return /*#__PURE__*/React__default['default'].createElement(antd.Col, {
|
|
6031
6042
|
span: ColSpan,
|
|
6032
6043
|
key: i
|
|
6033
6044
|
});
|
|
6034
6045
|
if ((i === null || i === void 0 ? void 0 : i.type) === 'select' || (i === null || i === void 0 ? void 0 : (_i$field = i.field) === null || _i$field === void 0 ? void 0 : _i$field.type) === 'select') {
|
|
6035
|
-
var _i$field2, _i$initialSource;
|
|
6046
|
+
var _i$field2, _i$field3, _i$field3$props, _i$initialSource;
|
|
6036
6047
|
return /*#__PURE__*/React__default['default'].createElement(antd.Col, {
|
|
6037
6048
|
span: ColSpan,
|
|
6038
6049
|
key: i.name
|
|
@@ -6049,7 +6060,63 @@ var SearchSelect = /*#__PURE__*/React$1.forwardRef(function (props, ref) {
|
|
|
6049
6060
|
return onSearchTable();
|
|
6050
6061
|
}
|
|
6051
6062
|
}, i === null || i === void 0 ? void 0 : (_i$field2 = i.field) === null || _i$field2 === void 0 ? void 0 : _i$field2.props), {}, {
|
|
6052
|
-
disabled: setDisabled(i.name)
|
|
6063
|
+
disabled: setDisabled(i.name),
|
|
6064
|
+
mode: i === null || i === void 0 ? void 0 : (_i$field3 = i.field) === null || _i$field3 === void 0 ? void 0 : (_i$field3$props = _i$field3.props) === null || _i$field3$props === void 0 ? void 0 : _i$field3$props.mode,
|
|
6065
|
+
dropdownRender: function dropdownRender(menu) {
|
|
6066
|
+
var _i$field4, _i$field4$props, _i$field5, _i$field5$props;
|
|
6067
|
+
// 候选项数组(去重)
|
|
6068
|
+
var allValues = Array.isArray(i === null || i === void 0 ? void 0 : i.initialSource) ? Array.from(new Set(i.initialSource.map(function (s) {
|
|
6069
|
+
return s.value;
|
|
6070
|
+
}).filter(function (v) {
|
|
6071
|
+
return v !== undefined && v !== null;
|
|
6072
|
+
}))) : [];
|
|
6073
|
+
var isMulti = (i === null || i === void 0 ? void 0 : (_i$field4 = i.field) === null || _i$field4 === void 0 ? void 0 : (_i$field4$props = _i$field4.props) === null || _i$field4$props === void 0 ? void 0 : _i$field4$props.mode) === 'multiple' || (i === null || i === void 0 ? void 0 : (_i$field5 = i.field) === null || _i$field5 === void 0 ? void 0 : (_i$field5$props = _i$field5.props) === null || _i$field5$props === void 0 ? void 0 : _i$field5$props.mode) === 'tags';
|
|
6074
|
+
// 当前 toggle 状态(true 表示下一次点击是反选 -> 显示为“反选”)
|
|
6075
|
+
var toggled = !!selectToggleMap[i.name];
|
|
6076
|
+
var label = toggled ? '反选' : '全选';
|
|
6077
|
+
// 通过 props.allSelectValues 控制按钮是否显示
|
|
6078
|
+
var showSelectAllButton = props.showAllSelectBtn && isMulti && allValues.length > 0;
|
|
6079
|
+
return /*#__PURE__*/React__default['default'].createElement("div", null, showSelectAllButton && (/*#__PURE__*/React__default['default'].createElement("div", {
|
|
6080
|
+
style: {
|
|
6081
|
+
padding: 6,
|
|
6082
|
+
display: 'flex',
|
|
6083
|
+
justifyContent: 'flex-end',
|
|
6084
|
+
alignItems: 'center'
|
|
6085
|
+
}
|
|
6086
|
+
}, /*#__PURE__*/React__default['default'].createElement(antd.Button, {
|
|
6087
|
+
type: "link",
|
|
6088
|
+
size: "small",
|
|
6089
|
+
onMouseDown: function onMouseDown(e) {
|
|
6090
|
+
return e.preventDefault();
|
|
6091
|
+
},
|
|
6092
|
+
onClick: function onClick(e) {
|
|
6093
|
+
e.stopPropagation();
|
|
6094
|
+
var cur = form.getFieldValue(i.name) || [];
|
|
6095
|
+
var curArr = Array.isArray(cur) ? cur : [cur].filter(Boolean);
|
|
6096
|
+
if (!toggled) {
|
|
6097
|
+
// 全选:把所有候选值写入表单
|
|
6098
|
+
form.setFieldsValue(_defineProperty({}, i.name, allValues));
|
|
6099
|
+
setSelectToggleMap(function (prev) {
|
|
6100
|
+
return _objectSpread2(_objectSpread2({}, prev || {}), {}, _defineProperty({}, i.name, true));
|
|
6101
|
+
});
|
|
6102
|
+
} else {
|
|
6103
|
+
// 反选:当前实现为“把候选项中未被选中的项选上”(基于当前值取补集)
|
|
6104
|
+
var newVals = allValues.filter(function (v) {
|
|
6105
|
+
return !curArr.includes(v);
|
|
6106
|
+
});
|
|
6107
|
+
form.setFieldsValue(_defineProperty({}, i.name, newVals));
|
|
6108
|
+
setSelectToggleMap(function (prev) {
|
|
6109
|
+
return _objectSpread2(_objectSpread2({}, prev || {}), {}, _defineProperty({}, i.name, false));
|
|
6110
|
+
});
|
|
6111
|
+
}
|
|
6112
|
+
},
|
|
6113
|
+
style: {
|
|
6114
|
+
padding: '0 6px',
|
|
6115
|
+
height: 20,
|
|
6116
|
+
lineHeight: '20px'
|
|
6117
|
+
}
|
|
6118
|
+
}, label))), /*#__PURE__*/React__default['default'].createElement("div", null, menu));
|
|
6119
|
+
}
|
|
6053
6120
|
}), (i === null || i === void 0 ? void 0 : (_i$initialSource = i.initialSource) === null || _i$initialSource === void 0 ? void 0 : _i$initialSource.length) && (i === null || i === void 0 ? void 0 : i.initialSource.map(function (m) {
|
|
6054
6121
|
return /*#__PURE__*/React__default['default'].createElement(Option$1, {
|
|
6055
6122
|
value: m.value,
|
|
@@ -6057,8 +6124,8 @@ var SearchSelect = /*#__PURE__*/React$1.forwardRef(function (props, ref) {
|
|
|
6057
6124
|
}, m.text);
|
|
6058
6125
|
})))));
|
|
6059
6126
|
}
|
|
6060
|
-
if ((i === null || i === void 0 ? void 0 : i.type) === 'treeSelect' || (i === null || i === void 0 ? void 0 : (_i$
|
|
6061
|
-
var _i$
|
|
6127
|
+
if ((i === null || i === void 0 ? void 0 : i.type) === 'treeSelect' || (i === null || i === void 0 ? void 0 : (_i$field6 = i.field) === null || _i$field6 === void 0 ? void 0 : _i$field6.type) === 'treeSelect') {
|
|
6128
|
+
var _i$field7;
|
|
6062
6129
|
return /*#__PURE__*/React__default['default'].createElement(antd.Col, {
|
|
6063
6130
|
span: ColSpan,
|
|
6064
6131
|
key: i.name
|
|
@@ -6071,12 +6138,12 @@ var SearchSelect = /*#__PURE__*/React$1.forwardRef(function (props, ref) {
|
|
|
6071
6138
|
width: '100%'
|
|
6072
6139
|
},
|
|
6073
6140
|
placeholder: "\u8BF7\u9009\u62E9"
|
|
6074
|
-
}, i === null || i === void 0 ? void 0 : (_i$
|
|
6141
|
+
}, i === null || i === void 0 ? void 0 : (_i$field7 = i.field) === null || _i$field7 === void 0 ? void 0 : _i$field7.props), {}, {
|
|
6075
6142
|
disabled: setDisabled(i.name)
|
|
6076
6143
|
}))));
|
|
6077
6144
|
}
|
|
6078
|
-
if ((i === null || i === void 0 ? void 0 : i.type) === 'rangepicker' || (i === null || i === void 0 ? void 0 : (_i$
|
|
6079
|
-
var _i$initialValue, _i$
|
|
6145
|
+
if ((i === null || i === void 0 ? void 0 : i.type) === 'rangepicker' || (i === null || i === void 0 ? void 0 : (_i$field8 = i.field) === null || _i$field8 === void 0 ? void 0 : _i$field8.type) === 'rangepicker') {
|
|
6146
|
+
var _i$initialValue, _i$field9;
|
|
6080
6147
|
return /*#__PURE__*/React__default['default'].createElement(antd.Col, {
|
|
6081
6148
|
span: ColSpan,
|
|
6082
6149
|
key: i.name
|
|
@@ -6090,12 +6157,12 @@ var SearchSelect = /*#__PURE__*/React$1.forwardRef(function (props, ref) {
|
|
|
6090
6157
|
width: '100%'
|
|
6091
6158
|
},
|
|
6092
6159
|
placeholder: "\u8BF7\u9009\u62E9"
|
|
6093
|
-
}, i === null || i === void 0 ? void 0 : (_i$
|
|
6160
|
+
}, i === null || i === void 0 ? void 0 : (_i$field9 = i.field) === null || _i$field9 === void 0 ? void 0 : _i$field9.props), {}, {
|
|
6094
6161
|
disabled: setDisabled(i.name)
|
|
6095
6162
|
}))));
|
|
6096
6163
|
}
|
|
6097
|
-
if ((i === null || i === void 0 ? void 0 : i.type) === 'datepicker' || (i === null || i === void 0 ? void 0 : (_i$
|
|
6098
|
-
var _i$
|
|
6164
|
+
if ((i === null || i === void 0 ? void 0 : i.type) === 'datepicker' || (i === null || i === void 0 ? void 0 : (_i$field0 = i.field) === null || _i$field0 === void 0 ? void 0 : _i$field0.type) === 'datepicker') {
|
|
6165
|
+
var _i$field1;
|
|
6099
6166
|
return /*#__PURE__*/React__default['default'].createElement(antd.Col, {
|
|
6100
6167
|
span: ColSpan,
|
|
6101
6168
|
key: i.name
|
|
@@ -6108,11 +6175,11 @@ var SearchSelect = /*#__PURE__*/React$1.forwardRef(function (props, ref) {
|
|
|
6108
6175
|
width: '100%'
|
|
6109
6176
|
},
|
|
6110
6177
|
placeholder: "\u8BF7\u9009\u62E9"
|
|
6111
|
-
}, i === null || i === void 0 ? void 0 : (_i$
|
|
6178
|
+
}, i === null || i === void 0 ? void 0 : (_i$field1 = i.field) === null || _i$field1 === void 0 ? void 0 : _i$field1.props), {}, {
|
|
6112
6179
|
disabled: setDisabled(i.name)
|
|
6113
6180
|
}))));
|
|
6114
6181
|
}
|
|
6115
|
-
if ((i === null || i === void 0 ? void 0 : i.type) === 'businessSearchSelect' || (i === null || i === void 0 ? void 0 : (_i$
|
|
6182
|
+
if ((i === null || i === void 0 ? void 0 : i.type) === 'businessSearchSelect' || (i === null || i === void 0 ? void 0 : (_i$field10 = i.field) === null || _i$field10 === void 0 ? void 0 : _i$field10.type) === 'businessSearchSelect') {
|
|
6116
6183
|
return /*#__PURE__*/React__default['default'].createElement(antd.Col, {
|
|
6117
6184
|
span: ColSpan,
|
|
6118
6185
|
key: i.name
|
|
@@ -6124,7 +6191,7 @@ var SearchSelect = /*#__PURE__*/React$1.forwardRef(function (props, ref) {
|
|
|
6124
6191
|
disabled: setDisabled(i.name)
|
|
6125
6192
|
}))));
|
|
6126
6193
|
}
|
|
6127
|
-
if ((i === null || i === void 0 ? void 0 : i.type) === 'multipleQueryInput' || (i === null || i === void 0 ? void 0 : (_i$
|
|
6194
|
+
if ((i === null || i === void 0 ? void 0 : i.type) === 'multipleQueryInput' || (i === null || i === void 0 ? void 0 : (_i$field11 = i.field) === null || _i$field11 === void 0 ? void 0 : _i$field11.type) === 'multipleQueryInput') {
|
|
6128
6195
|
return /*#__PURE__*/React__default['default'].createElement(antd.Col, {
|
|
6129
6196
|
span: ColSpan,
|
|
6130
6197
|
key: i.name
|
|
@@ -6138,7 +6205,7 @@ var SearchSelect = /*#__PURE__*/React$1.forwardRef(function (props, ref) {
|
|
|
6138
6205
|
}
|
|
6139
6206
|
})));
|
|
6140
6207
|
}
|
|
6141
|
-
if ((i === null || i === void 0 ? void 0 : (_i$
|
|
6208
|
+
if ((i === null || i === void 0 ? void 0 : (_i$field12 = i.field) === null || _i$field12 === void 0 ? void 0 : _i$field12.type) === 'proppertySelector') {
|
|
6142
6209
|
return /*#__PURE__*/React__default['default'].createElement(antd.Col, {
|
|
6143
6210
|
span: ColSpan,
|
|
6144
6211
|
key: i.name
|
|
@@ -6148,8 +6215,8 @@ var SearchSelect = /*#__PURE__*/React$1.forwardRef(function (props, ref) {
|
|
|
6148
6215
|
key: i.name
|
|
6149
6216
|
}, /*#__PURE__*/React__default['default'].createElement(PropertySelector, null)));
|
|
6150
6217
|
}
|
|
6151
|
-
if ((i === null || i === void 0 ? void 0 : i.type) === 'itemPropertySelector' || (i === null || i === void 0 ? void 0 : (_i$
|
|
6152
|
-
var _i$
|
|
6218
|
+
if ((i === null || i === void 0 ? void 0 : i.type) === 'itemPropertySelector' || (i === null || i === void 0 ? void 0 : (_i$field13 = i.field) === null || _i$field13 === void 0 ? void 0 : _i$field13.type) === 'itemPropertySelector') {
|
|
6219
|
+
var _i$field14;
|
|
6153
6220
|
return /*#__PURE__*/React__default['default'].createElement(antd.Col, {
|
|
6154
6221
|
span: ColSpan,
|
|
6155
6222
|
key: i.name
|
|
@@ -6162,9 +6229,9 @@ var SearchSelect = /*#__PURE__*/React$1.forwardRef(function (props, ref) {
|
|
|
6162
6229
|
width: '100%'
|
|
6163
6230
|
},
|
|
6164
6231
|
placeholder: "\u8BF7\u9009\u62E9"
|
|
6165
|
-
}, i === null || i === void 0 ? void 0 : (_i$
|
|
6232
|
+
}, i === null || i === void 0 ? void 0 : (_i$field14 = i.field) === null || _i$field14 === void 0 ? void 0 : _i$field14.props))));
|
|
6166
6233
|
}
|
|
6167
|
-
if ((i === null || i === void 0 ? void 0 : (_i$
|
|
6234
|
+
if ((i === null || i === void 0 ? void 0 : (_i$field15 = i.field) === null || _i$field15 === void 0 ? void 0 : _i$field15.type) === 'multipleQuerySearchSelect') {
|
|
6168
6235
|
return /*#__PURE__*/React__default['default'].createElement(antd.Col, {
|
|
6169
6236
|
span: ColSpan,
|
|
6170
6237
|
key: i.name
|
|
@@ -6193,7 +6260,7 @@ var SearchSelect = /*#__PURE__*/React$1.forwardRef(function (props, ref) {
|
|
|
6193
6260
|
placeholder: "\u8BF7\u8F93\u5165",
|
|
6194
6261
|
allowClear: true,
|
|
6195
6262
|
maxLength: 100
|
|
6196
|
-
}, i === null || i === void 0 ? void 0 : (_i$
|
|
6263
|
+
}, i === null || i === void 0 ? void 0 : (_i$field16 = i.field) === null || _i$field16 === void 0 ? void 0 : _i$field16.props), {}, {
|
|
6197
6264
|
disabled: setDisabled(i.name)
|
|
6198
6265
|
}))));
|
|
6199
6266
|
});
|
package/package.json
CHANGED
|
@@ -14,126 +14,154 @@ order: 3
|
|
|
14
14
|
Demo:
|
|
15
15
|
|
|
16
16
|
```tsx
|
|
17
|
-
import React, { useState } from 'react';
|
|
18
|
-
import { SearchSelect } from '../../../index';
|
|
17
|
+
// import React, { useState } from 'react';
|
|
18
|
+
// import { SearchSelect } from '../../../index';
|
|
19
19
|
|
|
20
|
-
export default () => {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
20
|
+
// export default () => {
|
|
21
|
+
// const selectProps = {
|
|
22
|
+
// // mode: 'multiple',
|
|
23
|
+
// // maxTagCount: 1,
|
|
24
|
+
// }
|
|
25
|
+
// const [value, setValue] = useState(selectProps?.mode ? [] : null);
|
|
26
|
+
// const props = {
|
|
27
|
+
// value,
|
|
28
|
+
// // labelInValue: true, // 非必填 默认为false
|
|
29
|
+
// requestConfig: {
|
|
30
|
+
// url: `/bop/api/supplier`,
|
|
31
|
+
// filter: 'qp-name-like', // 过滤参数 支持'qp-name-like'和['qp-name-like', 'qp-code-like']两种结构
|
|
32
|
+
// otherParams: {}, // 默认参数
|
|
33
|
+
// // mappingTextField: 'name',
|
|
34
|
+
// // mappingValueField: 'code',
|
|
35
|
+
// },
|
|
36
|
+
// selectProps,
|
|
37
|
+
// onChange: (value: any) => {
|
|
38
|
+
// console.log(value)
|
|
39
|
+
// setValue(value)
|
|
40
|
+
// }
|
|
41
|
+
// };
|
|
42
|
+
// const DictionaryUC000013 = [{ text: '共享', value: '10' }, { text: '私有', value: '20' }]
|
|
43
|
+
// const modalTableProps = {
|
|
44
|
+
// modalTableTitle: '选择供应商',
|
|
45
|
+
// tableSearchForm: [
|
|
46
|
+
// { name: 'qp-name-like', label: '客户名称' }, // field: { type: 'input', props: { placeholder: '8888'}}
|
|
47
|
+
// { name: 'qp-code-like', label: '客户编码' },
|
|
48
|
+
// {
|
|
49
|
+
// name: 'qp-conglomerateCode-in', type: 'select', label: '归属集团', field: {
|
|
50
|
+
// type: 'select',
|
|
51
|
+
// props: {
|
|
52
|
+
// mode: 'multiple',
|
|
53
|
+
// notFoundContent: '暂无数据',
|
|
54
|
+
// allowClear: true,
|
|
55
|
+
// showSearch: true,
|
|
56
|
+
// showArrow: true,
|
|
57
|
+
// maxTagCount: 1,
|
|
58
|
+
// optionFilterProp: 'children',
|
|
59
|
+
// filterOption: (input: string, option: { props: { children: string } }) =>
|
|
60
|
+
// option.props.children.toLowerCase().indexOf(input.toLowerCase()) >= 0,
|
|
61
|
+
// },
|
|
62
|
+
// },
|
|
63
|
+
// initialSource: [{ text: '英伦宝贝儿童用品有限公司', value: 'A0001' }]
|
|
64
|
+
// },
|
|
65
|
+
// {
|
|
66
|
+
// name: 'qp-accountingCode-in', type: 'select', label: '归属核算主体', field: {
|
|
67
|
+
// type: 'select',
|
|
68
|
+
// props: {
|
|
69
|
+
// mode: 'multiple',
|
|
70
|
+
// notFoundContent: '暂无数据',
|
|
71
|
+
// allowClear: true,
|
|
72
|
+
// showSearch: true,
|
|
73
|
+
// showArrow: true,
|
|
74
|
+
// maxTagCount: 1,
|
|
75
|
+
// optionFilterProp: 'children',
|
|
76
|
+
// filterOption: (input: string, option: { props: { children: string } }) =>
|
|
77
|
+
// option.props.children.toLowerCase().indexOf(input.toLowerCase()) >= 0,
|
|
78
|
+
// },
|
|
79
|
+
// },
|
|
80
|
+
// initialSource: [{ text: '上海哲雄母婴用品有限公司', value: 'F002' }, { text: '上海英伦宝贝儿童用品有限公司', value: 'F001' }]
|
|
81
|
+
// },
|
|
82
|
+
// {
|
|
83
|
+
// name: 'qp-companyCode-in', type: 'select', label: '归属法人公司', field: {
|
|
84
|
+
// type: 'select',
|
|
85
|
+
// props: {
|
|
86
|
+
// mode: 'multiple',
|
|
87
|
+
// notFoundContent: '暂无数据',
|
|
88
|
+
// allowClear: true,
|
|
89
|
+
// showSearch: true,
|
|
90
|
+
// showArrow: true,
|
|
91
|
+
// maxTagCount: 1,
|
|
92
|
+
// optionFilterProp: 'children',
|
|
93
|
+
// filterOption: (input: string, option: { props: { children: string } }) =>
|
|
94
|
+
// option.props.children.toLowerCase().indexOf(input.toLowerCase()) >= 0,
|
|
95
|
+
// },
|
|
96
|
+
// },
|
|
97
|
+
// initialSource: [{ text: '上海哲雄母婴用品有限公司', value: 'F002' }, { text: '上海英伦宝贝儿童用品有限公司', value: 'F001' }]
|
|
98
|
+
// },
|
|
99
|
+
// { name: 'qp-sharingType-eq', type: 'select', label: '共享类型', initialSource: DictionaryUC000013 }, // 页面可以直接使用getDictionarySource('UC000013')
|
|
100
|
+
// ],
|
|
101
|
+
// tableColumns: [
|
|
102
|
+
// {
|
|
103
|
+
// title: '客户编码',
|
|
104
|
+
// dataIndex: 'code',
|
|
105
|
+
// },
|
|
106
|
+
// {
|
|
107
|
+
// title: '客户名称',
|
|
108
|
+
// dataIndex: 'name',
|
|
109
|
+
// },
|
|
110
|
+
// {
|
|
111
|
+
// title: '归属集团',
|
|
112
|
+
// dataIndex: 'conglomerateName',
|
|
113
|
+
// },
|
|
114
|
+
// {
|
|
115
|
+
// title: '归属法人公司',
|
|
116
|
+
// dataIndex: 'legalCompanyName',
|
|
117
|
+
// },
|
|
118
|
+
// {
|
|
119
|
+
// title: '归属核算主体',
|
|
120
|
+
// dataIndex: 'accountingName',
|
|
121
|
+
// },
|
|
122
|
+
// {
|
|
123
|
+
// title: '共享类型',
|
|
124
|
+
// dataIndex: 'sharingType',
|
|
125
|
+
// render: (text) => DictionaryUC000013?.find((i) => i.value === text)?.text, // getDictionaryTextByValue('UC000013', text)
|
|
126
|
+
// },
|
|
127
|
+
// ]
|
|
128
|
+
// }
|
|
129
|
+
|
|
130
|
+
// return (
|
|
131
|
+
// <div>
|
|
132
|
+
// <SearchSelect
|
|
133
|
+
// {...props}
|
|
134
|
+
// modalTableProps={modalTableProps}
|
|
135
|
+
// />
|
|
136
|
+
// </div>
|
|
137
|
+
// );
|
|
138
|
+
// };
|
|
139
|
+
import BusinessSearchSelect from '../../Business/SearchSelect/index.tsx';
|
|
140
|
+
import React, { useState, useEffect } from 'react';
|
|
141
|
+
import { Button } from 'antd';
|
|
129
142
|
|
|
143
|
+
export default () => {
|
|
144
|
+
const [value, setValue] = useState<any[]>([]);
|
|
130
145
|
return (
|
|
131
|
-
<
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
146
|
+
<BusinessSearchSelect
|
|
147
|
+
selectBusinessType="skuCommodity"
|
|
148
|
+
prefixUrl={{
|
|
149
|
+
selectPrefix: '/items',
|
|
150
|
+
formSelectFix: '/items',
|
|
151
|
+
}}
|
|
152
|
+
selectProps={{
|
|
153
|
+
mode: 'multiple',
|
|
154
|
+
}}
|
|
155
|
+
value={value}
|
|
156
|
+
onChange={(val) => {
|
|
157
|
+
console.log('onChange val =>', val);
|
|
158
|
+
setValue(val);
|
|
159
|
+
}}
|
|
160
|
+
pageSize={2000}
|
|
161
|
+
showAllSelectBtn
|
|
162
|
+
highestPopContainer={() => document.body}
|
|
163
|
+
fieldComponent={<Button type="primary">选择 SKU 测试</Button>}
|
|
164
|
+
/>
|
|
137
165
|
);
|
|
138
166
|
};
|
|
139
167
|
```
|
|
@@ -59,11 +59,20 @@ const SearchSelect = forwardRef((props: any, ref: any) => {
|
|
|
59
59
|
} = rCTemp || {};
|
|
60
60
|
const requestConfig = {url,method,otherParams,isMap,fixedparameter,fieldValToParam,fixedparamsDisabled,mappingTextField,mappingTextShowKeyField,mappingValueField,mappingTextShowTextField,init,extralHeaders,specialBracket,noNeedSplit,noOperate,viewShowValueStr,searchStartLength,...rCTemp};
|
|
61
61
|
const resultSourceKey = handleSourceName(sourceName || requestConfig?.sourceName || ctx?.name || 'supplierCode')
|
|
62
|
+
const TABLE_PAGE_SIZE_OPTIONS = [
|
|
63
|
+
10, 20, 50, 100, 200, 500, 1000, 2000, 3000,
|
|
64
|
+
];
|
|
62
65
|
|
|
66
|
+
const resolveTablePageSize = (pageSize?: number) => {
|
|
67
|
+
if (TABLE_PAGE_SIZE_OPTIONS.includes(Number(pageSize))) {
|
|
68
|
+
return Number(pageSize);
|
|
69
|
+
}
|
|
70
|
+
return 20;
|
|
71
|
+
};
|
|
63
72
|
const selectMode = selectProps?.mode // 设定当前选择器 为单选或者多选模式 无设定为单选模式(默认)
|
|
64
73
|
const initVal = value || (selectMode ? [] : null);
|
|
65
74
|
const pageSize = 100 // 下拉框默认分页 条数
|
|
66
|
-
const tableInitPageSize =
|
|
75
|
+
const tableInitPageSize = resolveTablePageSize(props?.pageSize || null) // 弹框默认分页 条数
|
|
67
76
|
const currentPage = 1
|
|
68
77
|
const selectParamsKey = requestConfig?.filter || 'qp-codeAndName-like'
|
|
69
78
|
const selectParamsInitKey = requestConfig?.filterInit || selectParamsKey
|
|
@@ -86,7 +95,7 @@ const SearchSelect = forwardRef((props: any, ref: any) => {
|
|
|
86
95
|
const isFormPage = pathname.match(pattern)?.length > 0;
|
|
87
96
|
|
|
88
97
|
const initPagination = { showQuickJumper: true, showSizeChanger: true, showTotal: (total: any) => `共 ${total} 条`, pageSize: tableInitPageSize }
|
|
89
|
-
const tableInitPagination = { ...initPagination, total: 0, current: 1, pageSizeOptions:
|
|
98
|
+
const tableInitPagination = { ...initPagination, total: 0, current: 1, pageSizeOptions:TABLE_PAGE_SIZE_OPTIONS.map(String) }
|
|
90
99
|
const disabled = !!noOperate || selectProps?.disabled || props?.disabled;
|
|
91
100
|
const isHaveDependency = fixedparameter && fieldValToParam && ctx;
|
|
92
101
|
const isHaveDValue = () => {
|
|
@@ -109,6 +118,8 @@ const SearchSelect = forwardRef((props: any, ref: any) => {
|
|
|
109
118
|
const [isModalVisible, setIsModalVisible] = useState(false);
|
|
110
119
|
const [popvalue, setPopValue] = useState(initVal);
|
|
111
120
|
const [uniqueValue, setUniqueValue] = useState(resultSourceKey)
|
|
121
|
+
const [selectToggleMap, setSelectToggleMap] = useState<any>({});
|
|
122
|
+
|
|
112
123
|
const { run } = useDebounceFn(
|
|
113
124
|
(v?: any) => {
|
|
114
125
|
// 优化搜索参数 支持传多个
|
|
@@ -600,12 +611,66 @@ const SearchSelect = forwardRef((props: any, ref: any) => {
|
|
|
600
611
|
|
|
601
612
|
if (i?.type === 'select' || i?.field?.type === 'select') {
|
|
602
613
|
return (
|
|
603
|
-
<Col span={ColSpan}
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
614
|
+
<Col span={ColSpan}
|
|
615
|
+
key={i.name}>
|
|
616
|
+
<Form.Item name={i.name}
|
|
617
|
+
label={i.label} key={i.name}>
|
|
618
|
+
<Select style={{ width: '100%' }}
|
|
619
|
+
placeholder='请选择'
|
|
620
|
+
onDeselect ={v => onSearchTable()} {...i?.field?.props}
|
|
621
|
+
disabled={
|
|
622
|
+
setDisabled(i.name)
|
|
623
|
+
}
|
|
624
|
+
mode={i?.field?.props?.mode}
|
|
625
|
+
dropdownRender={(menu) => {
|
|
626
|
+
// 候选项数组(去重)
|
|
627
|
+
const allValues = Array.isArray(i?.initialSource)
|
|
628
|
+
? Array.from(new Set(i.initialSource.map((s: any) => s.value).filter(v => v !== undefined && v !== null)))
|
|
629
|
+
: [];
|
|
630
|
+
const isMulti = i?.field?.props?.mode === 'multiple' || i?.field?.props?.mode === 'tags';
|
|
631
|
+
// 当前 toggle 状态(true 表示下一次点击是反选 -> 显示为“反选”)
|
|
632
|
+
const toggled = !!selectToggleMap[i.name];
|
|
633
|
+
const label = toggled ? '反选' : '全选';
|
|
634
|
+
// 通过 props.allSelectValues 控制按钮是否显示
|
|
635
|
+
const showSelectAllButton = props.showAllSelectBtn && isMulti && allValues.length > 0;
|
|
636
|
+
return (
|
|
637
|
+
<div>
|
|
638
|
+
{showSelectAllButton && (
|
|
639
|
+
<div style={{ padding: 6, display: 'flex', justifyContent: 'flex-end', alignItems: 'center' }}>
|
|
640
|
+
<Button
|
|
641
|
+
type="link"
|
|
642
|
+
size="small"
|
|
643
|
+
onMouseDown={(e) => e.preventDefault()} // 防止 dropdown 失焦关闭
|
|
644
|
+
onClick={(e) => {
|
|
645
|
+
e.stopPropagation();
|
|
646
|
+
const cur = form.getFieldValue(i.name) || [];
|
|
647
|
+
const curArr = Array.isArray(cur) ? cur : [cur].filter(Boolean);
|
|
648
|
+
|
|
649
|
+
if (!toggled) {
|
|
650
|
+
// 全选:把所有候选值写入表单
|
|
651
|
+
form.setFieldsValue({ [i.name]: allValues });
|
|
652
|
+
setSelectToggleMap(prev => ({ ...(prev || {}), [i.name]: true }));
|
|
653
|
+
} else {
|
|
654
|
+
// 反选:当前实现为“把候选项中未被选中的项选上”(基于当前值取补集)
|
|
655
|
+
const newVals = allValues.filter((v) => !curArr.includes(v));
|
|
656
|
+
form.setFieldsValue({ [i.name]: newVals });
|
|
657
|
+
setSelectToggleMap(prev => ({ ...(prev || {}), [i.name]: false }));
|
|
658
|
+
}
|
|
659
|
+
}}
|
|
660
|
+
style={{ padding: '0 6px', height: 20, lineHeight: '20px' }}
|
|
661
|
+
>
|
|
662
|
+
{label}
|
|
663
|
+
</Button>
|
|
664
|
+
</div>
|
|
665
|
+
)}
|
|
666
|
+
<div>{menu}</div>
|
|
667
|
+
</div>
|
|
668
|
+
);
|
|
669
|
+
}}
|
|
670
|
+
>
|
|
671
|
+
{i?.initialSource?.length && i?.initialSource.map((m: any) => (
|
|
672
|
+
<Option value={m.value} key={m.value}>{m.text}</Option>
|
|
673
|
+
))}
|
|
609
674
|
</Select>
|
|
610
675
|
</Form.Item>
|
|
611
676
|
</Col>
|