@bit-sun/business-component 4.2.1-alpha.24-aiwei → 4.2.1-alpha.26-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 +203 -74
- package/dist/index.js +202 -73
- package/package.json +1 -1
- package/src/components/Functional/SearchSelect/index.tsx +118 -24
- package/src/components/Solution/RuleComponent/index.js +29 -12
package/dist/index.esm.js
CHANGED
|
@@ -6,7 +6,7 @@ import _, { omit, uniqBy, escapeRegExp, isNil, trim, isBoolean, debounce, cloneD
|
|
|
6
6
|
import memoizeOne from 'memoize-one';
|
|
7
7
|
import { formatMessage, history, useLocation, Link, useModel, setLocale, useIntl, request as request$3 } from 'umi';
|
|
8
8
|
import isEqual from 'lodash/isEqual';
|
|
9
|
-
import React$1, { useState, useEffect, useRef, forwardRef,
|
|
9
|
+
import React$1, { useState, useEffect, useRef, forwardRef, useMemo, useImperativeHandle, Component, Fragment, useCallback, useLayoutEffect, createRef } from 'react';
|
|
10
10
|
import { renderToString as renderToString$1 } from 'react-dom/server';
|
|
11
11
|
import moment$1 from 'moment';
|
|
12
12
|
import { EyeOutlined, DeleteOutlined, EditOutlined, CopyOutlined, CloseSquareOutlined, WarningOutlined, SendOutlined, ProfileTwoTone, ExclamationCircleOutlined, DownOutlined, UnorderedListOutlined, DashOutlined, CaretUpOutlined, CaretDownOutlined, SearchOutlined, CloseCircleOutlined, DownCircleFilled, ArrowLeftOutlined, FolderOutlined, EllipsisOutlined, HomeOutlined, DoubleLeftOutlined, DoubleRightOutlined, MenuUnfoldOutlined, CaretLeftOutlined, SettingOutlined, BulbOutlined, PlayCircleOutlined, SaveOutlined, FullscreenExitOutlined, MinusCircleOutlined, PlusCircleOutlined } from '@ant-design/icons';
|
|
@@ -5388,11 +5388,20 @@ var SearchSelect = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
5388
5388
|
},
|
|
5389
5389
|
pageSize: tableInitPageSize
|
|
5390
5390
|
};
|
|
5391
|
+
var selectedInitPagination = _objectSpread2(_objectSpread2({}, initPagination), {}, {
|
|
5392
|
+
current: 1,
|
|
5393
|
+
pageSize: resolveTablePageSize((modalTableProps === null || modalTableProps === void 0 ? void 0 : modalTableProps.selectedTablePageSize) || 20),
|
|
5394
|
+
total: 0
|
|
5395
|
+
});
|
|
5391
5396
|
var tableInitPagination = _objectSpread2(_objectSpread2({}, initPagination), {}, {
|
|
5392
5397
|
total: 0,
|
|
5393
5398
|
current: 1,
|
|
5394
5399
|
pageSizeOptions: TABLE_PAGE_SIZE_OPTIONS.map(String)
|
|
5395
5400
|
});
|
|
5401
|
+
/**
|
|
5402
|
+
* 左侧弹窗表格大分页时的实际渲染上限;全选仍基于完整当前页 tableData。
|
|
5403
|
+
*/
|
|
5404
|
+
var tableRenderPageSize = 200;
|
|
5396
5405
|
var disabled = !!noOperate || (selectProps === null || selectProps === void 0 ? void 0 : selectProps.disabled) || (props === null || props === void 0 ? void 0 : props.disabled);
|
|
5397
5406
|
var isHaveDependency = fixedparameter && fieldValToParam && ctx;
|
|
5398
5407
|
var isHaveDValue = function isHaveDValue() {
|
|
@@ -5502,34 +5511,48 @@ var SearchSelect = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
5502
5511
|
_useState32 = _slicedToArray(_useState31, 2),
|
|
5503
5512
|
selectedRows = _useState32[0],
|
|
5504
5513
|
setSelectedRows = _useState32[1];
|
|
5505
|
-
var _useState33 = useState(
|
|
5514
|
+
var _useState33 = useState(selectedInitPagination),
|
|
5506
5515
|
_useState34 = _slicedToArray(_useState33, 2),
|
|
5507
|
-
|
|
5508
|
-
|
|
5509
|
-
var _useState35 = useState(
|
|
5516
|
+
selectedTablePagination = _useState34[0],
|
|
5517
|
+
setSelectedTablePagination = _useState34[1];
|
|
5518
|
+
var _useState35 = useState({}),
|
|
5510
5519
|
_useState36 = _slicedToArray(_useState35, 2),
|
|
5511
|
-
|
|
5512
|
-
|
|
5513
|
-
var _useState37 = useState(
|
|
5520
|
+
tableFormParams = _useState36[0],
|
|
5521
|
+
setTableFormParams = _useState36[1];
|
|
5522
|
+
var _useState37 = useState(false),
|
|
5514
5523
|
_useState38 = _slicedToArray(_useState37, 2),
|
|
5515
|
-
|
|
5516
|
-
|
|
5517
|
-
var _useState39 = useState(
|
|
5524
|
+
tooltipVisible = _useState38[0],
|
|
5525
|
+
setTooltipVisible = _useState38[1];
|
|
5526
|
+
var _useState39 = useState(handleTableColumns(modalTableProps === null || modalTableProps === void 0 ? void 0 : modalTableProps.tableColumns)),
|
|
5518
5527
|
_useState40 = _slicedToArray(_useState39, 2),
|
|
5519
|
-
|
|
5520
|
-
|
|
5521
|
-
var _useState41 = useState(
|
|
5528
|
+
tableShowColumns = _useState40[0],
|
|
5529
|
+
setTabletShowColumns = _useState40[1]; // 默认展示表头-modalTableProps?.tableColumns
|
|
5530
|
+
var _useState41 = useState(false),
|
|
5522
5531
|
_useState42 = _slicedToArray(_useState41, 2),
|
|
5523
|
-
|
|
5524
|
-
|
|
5532
|
+
confirmLoading = _useState42[0],
|
|
5533
|
+
setConfirmLoading = _useState42[1];
|
|
5525
5534
|
var _useState43 = useState(false),
|
|
5526
5535
|
_useState44 = _slicedToArray(_useState43, 2),
|
|
5527
|
-
|
|
5528
|
-
|
|
5529
|
-
var
|
|
5530
|
-
|
|
5531
|
-
|
|
5532
|
-
|
|
5536
|
+
modalSearched = _useState44[0],
|
|
5537
|
+
setModalSearched = _useState44[1];
|
|
5538
|
+
var selectAllTableRef = useRef(false);
|
|
5539
|
+
var getRecordKey = function getRecordKey(record) {
|
|
5540
|
+
var _record$mappingValueF;
|
|
5541
|
+
return (_record$mappingValueF = record === null || record === void 0 ? void 0 : record[mappingValueField]) !== null && _record$mappingValueF !== void 0 ? _record$mappingValueF : record === null || record === void 0 ? void 0 : record.value;
|
|
5542
|
+
};
|
|
5543
|
+
/**
|
|
5544
|
+
* 已选表格只向 Table 传入当前页数据,避免全选 1000 条时右侧表格同步处理全部数据。
|
|
5545
|
+
*/
|
|
5546
|
+
var selectedTablePageRows = useMemo(function () {
|
|
5547
|
+
var current = Number((selectedTablePagination === null || selectedTablePagination === void 0 ? void 0 : selectedTablePagination.current) || 1);
|
|
5548
|
+
var pageSize = Number((selectedTablePagination === null || selectedTablePagination === void 0 ? void 0 : selectedTablePagination.pageSize) || selectedInitPagination.pageSize);
|
|
5549
|
+
var start = (current - 1) * pageSize;
|
|
5550
|
+
return (selectedRows || []).slice(start, start + pageSize).map(function (s, index) {
|
|
5551
|
+
return _objectSpread2(_objectSpread2({}, s), {}, {
|
|
5552
|
+
keyIndex: start + index + 1
|
|
5553
|
+
});
|
|
5554
|
+
});
|
|
5555
|
+
}, [selectedRows, selectedTablePagination === null || selectedTablePagination === void 0 ? void 0 : selectedTablePagination.current, selectedTablePagination === null || selectedTablePagination === void 0 ? void 0 : selectedTablePagination.pageSize, selectedInitPagination.pageSize]);
|
|
5533
5556
|
var setSelectDataSource = function setSelectDataSource(list, total) {
|
|
5534
5557
|
setItems(list);
|
|
5535
5558
|
setItemsTotal(total);
|
|
@@ -5537,6 +5560,20 @@ var SearchSelect = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
5537
5560
|
var clearSelectDataSource = function clearSelectDataSource() {
|
|
5538
5561
|
setSelectDataSource([], 0);
|
|
5539
5562
|
};
|
|
5563
|
+
/**
|
|
5564
|
+
* 清空弹窗已选数据。
|
|
5565
|
+
*/
|
|
5566
|
+
var clearSelectedRows = function clearSelectedRows() {
|
|
5567
|
+
setSelectedRows([]);
|
|
5568
|
+
setPopValue([]);
|
|
5569
|
+
setSelectedTablePagination(function (prev) {
|
|
5570
|
+
return _objectSpread2(_objectSpread2({}, prev), {}, {
|
|
5571
|
+
total: 0,
|
|
5572
|
+
current: 1
|
|
5573
|
+
});
|
|
5574
|
+
});
|
|
5575
|
+
setSelectedRowKeys([]);
|
|
5576
|
+
};
|
|
5540
5577
|
useImperativeHandle(ref, function () {
|
|
5541
5578
|
return {
|
|
5542
5579
|
refreshDataSource: function refreshDataSource() {
|
|
@@ -5729,6 +5766,18 @@ var SearchSelect = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
5729
5766
|
setUniqueValue(makeUniqueValue());
|
|
5730
5767
|
setTabletShowColumns(handleTableColumns(modalTableProps === null || modalTableProps === void 0 ? void 0 : modalTableProps.tableColumns));
|
|
5731
5768
|
}, [resultSourceKey]);
|
|
5769
|
+
useEffect(function () {
|
|
5770
|
+
setSelectedTablePagination(function (prev) {
|
|
5771
|
+
var pageSize = (prev === null || prev === void 0 ? void 0 : prev.pageSize) || selectedInitPagination.pageSize;
|
|
5772
|
+
var maxCurrent = Math.ceil(selectedRows.length / pageSize) || 1;
|
|
5773
|
+
var current = selectedRows.length ? Math.min((prev === null || prev === void 0 ? void 0 : prev.current) || 1, maxCurrent) : 1;
|
|
5774
|
+
if ((prev === null || prev === void 0 ? void 0 : prev.total) === selectedRows.length && (prev === null || prev === void 0 ? void 0 : prev.current) === current) return prev;
|
|
5775
|
+
return _objectSpread2(_objectSpread2({}, prev), {}, {
|
|
5776
|
+
total: selectedRows.length,
|
|
5777
|
+
current: current
|
|
5778
|
+
});
|
|
5779
|
+
});
|
|
5780
|
+
}, [selectedRows.length, selectedInitPagination.pageSize]);
|
|
5732
5781
|
useEffect(function () {
|
|
5733
5782
|
if (init) {
|
|
5734
5783
|
clearSelectDataSource();
|
|
@@ -5786,8 +5835,6 @@ var SearchSelect = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
5786
5835
|
value: i
|
|
5787
5836
|
};
|
|
5788
5837
|
}));
|
|
5789
|
-
setIndeterminate(!!value.length && value.length < itemsTotal);
|
|
5790
|
-
setCheckedAll(itemsTotal && value.length === itemsTotal);
|
|
5791
5838
|
} else {
|
|
5792
5839
|
setSelectedRowKeys(labelInValue ? [value.key] : [value]);
|
|
5793
5840
|
setSelectedRows(labelInValue ? [_defineProperty(_defineProperty(_defineProperty({}, mappingValueField, value.key), "value", value.key), "text", value.label)] : [_defineProperty(_defineProperty({}, mappingValueField, value), "value", value)]);
|
|
@@ -5875,8 +5922,6 @@ var SearchSelect = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
5875
5922
|
setTablePagination(tableInitPagination);
|
|
5876
5923
|
setSelectedRowKeys([]);
|
|
5877
5924
|
setSelectedRows([]);
|
|
5878
|
-
setCheckedAll(false);
|
|
5879
|
-
setIndeterminate(false);
|
|
5880
5925
|
};
|
|
5881
5926
|
var handleCancel = function handleCancel() {
|
|
5882
5927
|
clearModalTable();
|
|
@@ -5935,9 +5980,17 @@ var SearchSelect = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
5935
5980
|
currentPage: pagination.current
|
|
5936
5981
|
}), 2);
|
|
5937
5982
|
};
|
|
5983
|
+
var handleSelectedTableChange = function handleSelectedTableChange(pagination) {
|
|
5984
|
+
setSelectedTablePagination(function (prev) {
|
|
5985
|
+
return _objectSpread2(_objectSpread2({}, prev), {}, {
|
|
5986
|
+
current: pagination.current,
|
|
5987
|
+
pageSize: pagination.pageSize
|
|
5988
|
+
});
|
|
5989
|
+
});
|
|
5990
|
+
};
|
|
5938
5991
|
var onChangeSelectedKeys = function onChangeSelectedKeys(selectKeys, selectRows) {
|
|
5939
|
-
var sksResult = (selectRows === null || selectRows === void 0 ? void 0 : selectRows.map(function (i) {
|
|
5940
|
-
return i
|
|
5992
|
+
var sksResult = (selectKeys === null || selectKeys === void 0 ? void 0 : selectKeys.length) ? selectKeys : (selectRows === null || selectRows === void 0 ? void 0 : selectRows.map(function (i) {
|
|
5993
|
+
return getRecordKey(i);
|
|
5941
5994
|
})) || [];
|
|
5942
5995
|
// 单选 默认直接选中 不需要确定 配置了modalRadioNeedFooter就需要确定
|
|
5943
5996
|
if (!selectMode && !(modalTableProps === null || modalTableProps === void 0 ? void 0 : modalTableProps.modalRadioNeedFooter)) {
|
|
@@ -5947,33 +6000,96 @@ var SearchSelect = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
5947
6000
|
setSelectedRowKeys(sksResult);
|
|
5948
6001
|
setSelectedRows(selectRows);
|
|
5949
6002
|
setPopValue(selectRows);
|
|
5950
|
-
setIndeterminate(!!selectRows.length && selectRows.length < (tablePagination === null || tablePagination === void 0 ? void 0 : tablePagination.total));
|
|
5951
|
-
setCheckedAll(selectRows.length === (tablePagination === null || tablePagination === void 0 ? void 0 : tablePagination.total));
|
|
5952
6003
|
};
|
|
5953
|
-
var
|
|
5954
|
-
|
|
5955
|
-
|
|
5956
|
-
|
|
5957
|
-
|
|
5958
|
-
|
|
5959
|
-
|
|
5960
|
-
|
|
5961
|
-
|
|
5962
|
-
|
|
5963
|
-
|
|
5964
|
-
|
|
5965
|
-
|
|
5966
|
-
|
|
5967
|
-
|
|
5968
|
-
|
|
5969
|
-
|
|
5970
|
-
|
|
5971
|
-
|
|
5972
|
-
|
|
5973
|
-
|
|
5974
|
-
|
|
5975
|
-
|
|
5976
|
-
|
|
6004
|
+
var getRowSelection = function getRowSelection() {
|
|
6005
|
+
var visibleRows = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
6006
|
+
var type = arguments.length > 1 ? arguments[1] : undefined;
|
|
6007
|
+
return {
|
|
6008
|
+
type: selectMode ? 'checkbox' : 'radio',
|
|
6009
|
+
selectedRowKeys: selectedRowKeys,
|
|
6010
|
+
preserveSelectedRowKeys: true,
|
|
6011
|
+
onSelectAll: function onSelectAll(selected) {
|
|
6012
|
+
selectAllTableRef.current = true;
|
|
6013
|
+
setTimeout(function () {
|
|
6014
|
+
selectAllTableRef.current = false;
|
|
6015
|
+
}, 0);
|
|
6016
|
+
var targetRows = type === 'noPage' ? visibleRows : tableData;
|
|
6017
|
+
var targetKeys = (targetRows || []).map(function (item) {
|
|
6018
|
+
return getRecordKey(item);
|
|
6019
|
+
});
|
|
6020
|
+
if (!selected) {
|
|
6021
|
+
var selectedKeySet = new Set((selectedRows || []).map(function (item) {
|
|
6022
|
+
return getRecordKey(item);
|
|
6023
|
+
}));
|
|
6024
|
+
if ((selectedRows || []).length === (targetRows || []).length && targetKeys.every(function (key) {
|
|
6025
|
+
return selectedKeySet.has(key);
|
|
6026
|
+
})) {
|
|
6027
|
+
clearSelectedRows();
|
|
6028
|
+
return;
|
|
6029
|
+
}
|
|
6030
|
+
var targetKeySet = new Set(targetKeys);
|
|
6031
|
+
var _nextSelectedRows = (selectedRows || []).filter(function (item) {
|
|
6032
|
+
return !targetKeySet.has(getRecordKey(item));
|
|
6033
|
+
});
|
|
6034
|
+
var _nextSelectedKeys = _nextSelectedRows.map(function (item) {
|
|
6035
|
+
return getRecordKey(item);
|
|
6036
|
+
});
|
|
6037
|
+
onChangeSelectedKeys(_nextSelectedKeys, _nextSelectedRows);
|
|
6038
|
+
return;
|
|
6039
|
+
}
|
|
6040
|
+
if (!(selectedRows || []).length) {
|
|
6041
|
+
onChangeSelectedKeys(targetKeys, targetRows || []);
|
|
6042
|
+
return;
|
|
6043
|
+
}
|
|
6044
|
+
var selectedRowMap = new Map();
|
|
6045
|
+
(selectedRows || []).forEach(function (item) {
|
|
6046
|
+
selectedRowMap.set(getRecordKey(item), item);
|
|
6047
|
+
});
|
|
6048
|
+
(targetRows || []).forEach(function (item) {
|
|
6049
|
+
selectedRowMap.set(getRecordKey(item), item);
|
|
6050
|
+
});
|
|
6051
|
+
var nextSelectedRows = Array.from(selectedRowMap.values()).filter(Boolean);
|
|
6052
|
+
var nextSelectedKeys = nextSelectedRows.map(function (item) {
|
|
6053
|
+
return getRecordKey(item);
|
|
6054
|
+
});
|
|
6055
|
+
onChangeSelectedKeys(nextSelectedKeys, nextSelectedRows);
|
|
6056
|
+
},
|
|
6057
|
+
onChange: function onChange(sks, srs) {
|
|
6058
|
+
if (selectAllTableRef.current) {
|
|
6059
|
+
selectAllTableRef.current = false;
|
|
6060
|
+
return;
|
|
6061
|
+
}
|
|
6062
|
+
if (!(sks === null || sks === void 0 ? void 0 : sks.length)) {
|
|
6063
|
+
clearSelectedRows();
|
|
6064
|
+
return;
|
|
6065
|
+
}
|
|
6066
|
+
// 处理翻页后,之前存储的selectedRows变为undefined
|
|
6067
|
+
// selectedRows合并新数组,过滤undefined,过滤留下对应selectedRowKeys的集合
|
|
6068
|
+
var visibleKeySet = new Set((visibleRows || []).map(function (item) {
|
|
6069
|
+
return getRecordKey(item);
|
|
6070
|
+
}));
|
|
6071
|
+
var selectedRowMap = new Map();
|
|
6072
|
+
(selectedRows || []).forEach(function (item) {
|
|
6073
|
+
var key = getRecordKey(item);
|
|
6074
|
+
if (!visibleKeySet.has(key)) {
|
|
6075
|
+
selectedRowMap.set(key, item);
|
|
6076
|
+
}
|
|
6077
|
+
});
|
|
6078
|
+
(srs || []).filter(Boolean).forEach(function (item) {
|
|
6079
|
+
selectedRowMap.set(getRecordKey(item), item);
|
|
6080
|
+
});
|
|
6081
|
+
var totalSelectedRows = Array.from(selectedRowMap.values()).filter(Boolean);
|
|
6082
|
+
var totalSelectedKeys = totalSelectedRows.map(function (item) {
|
|
6083
|
+
return getRecordKey(item);
|
|
6084
|
+
});
|
|
6085
|
+
onChangeSelectedKeys(totalSelectedKeys, totalSelectedRows);
|
|
6086
|
+
},
|
|
6087
|
+
getCheckboxProps: (selectProps === null || selectProps === void 0 ? void 0 : selectProps.getCheckboxProps) ? selectProps === null || selectProps === void 0 ? void 0 : selectProps.getCheckboxProps : function () {
|
|
6088
|
+
return {
|
|
6089
|
+
disabled: disabled || !items.length && !tableData.length
|
|
6090
|
+
};
|
|
6091
|
+
}
|
|
6092
|
+
};
|
|
5977
6093
|
};
|
|
5978
6094
|
var onRowClickSelect = function onRowClickSelect(e, record, type) {
|
|
5979
6095
|
if (selectMode && !(disabled || !items.length && !tableData.length)) {
|
|
@@ -5981,7 +6097,7 @@ var SearchSelect = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
5981
6097
|
var newSelect = [JSON.parse(JSON.stringify(record))];
|
|
5982
6098
|
var srs = getRealStr(oldSelect, newSelect, record);
|
|
5983
6099
|
var sks = srs.map(function (i) {
|
|
5984
|
-
return i
|
|
6100
|
+
return getRecordKey(i);
|
|
5985
6101
|
});
|
|
5986
6102
|
onChangeSelectedKeys(sks, srs);
|
|
5987
6103
|
}
|
|
@@ -5990,7 +6106,7 @@ var SearchSelect = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
5990
6106
|
if (!selectMode && !(disabled || !items.length && !tableData.length)) {
|
|
5991
6107
|
var srs = [JSON.parse(JSON.stringify(record))];
|
|
5992
6108
|
var sks = srs.map(function (i) {
|
|
5993
|
-
return i
|
|
6109
|
+
return getRecordKey(i);
|
|
5994
6110
|
});
|
|
5995
6111
|
onChangeSelectedKeys(sks, srs);
|
|
5996
6112
|
}
|
|
@@ -6262,6 +6378,10 @@ var SearchSelect = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
6262
6378
|
};
|
|
6263
6379
|
var renderShowTable = function renderShowTable(tableList, type) {
|
|
6264
6380
|
var _modalTableProps$tabl;
|
|
6381
|
+
var currentPageSize = Number((tablePagination === null || tablePagination === void 0 ? void 0 : tablePagination.pageSize) || tableInitPageSize);
|
|
6382
|
+
var needLimitRenderRows = type !== 'noPage' && currentPageSize >= tableRenderPageSize && (tableList === null || tableList === void 0 ? void 0 : tableList.length) > tableRenderPageSize;
|
|
6383
|
+
var currentTableList = needLimitRenderRows ? tableList.slice(0, tableRenderPageSize) : tableList;
|
|
6384
|
+
var currentDataSource = type == 'noPage' ? selectedTablePageRows : currentTableList;
|
|
6265
6385
|
var viCount = (modalTableProps === null || modalTableProps === void 0 ? void 0 : modalTableProps.visibleFieldsCount) || defaultVisibleFieldsCount;
|
|
6266
6386
|
var canExpand = hasMoreQueryFields(modalTableProps);
|
|
6267
6387
|
var collapsedList = modalTableProps === null || modalTableProps === void 0 ? void 0 : (_modalTableProps$tabl = modalTableProps.tableSearchForm) === null || _modalTableProps$tabl === void 0 ? void 0 : _modalTableProps$tabl.slice(0, viCount);
|
|
@@ -6291,13 +6411,14 @@ var SearchSelect = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
6291
6411
|
}, /*#__PURE__*/React$1.createElement(Table, _objectSpread2(_objectSpread2({
|
|
6292
6412
|
bordered: true,
|
|
6293
6413
|
size: "middle",
|
|
6294
|
-
rowSelection:
|
|
6414
|
+
rowSelection: getRowSelection(currentDataSource, type),
|
|
6295
6415
|
columns: tableShowColumns,
|
|
6296
|
-
dataSource:
|
|
6416
|
+
dataSource: currentDataSource
|
|
6297
6417
|
}, type == 'noPage' ? {
|
|
6298
|
-
pagination: _objectSpread2(_objectSpread2({},
|
|
6418
|
+
pagination: _objectSpread2(_objectSpread2({}, selectedTablePagination), {}, {
|
|
6299
6419
|
showSizeChanger: false
|
|
6300
6420
|
}),
|
|
6421
|
+
onChange: handleSelectedTableChange,
|
|
6301
6422
|
locale: {
|
|
6302
6423
|
emptyText: renderEmptyText('暂无已选结果', mTB)
|
|
6303
6424
|
}
|
|
@@ -6333,13 +6454,9 @@ var SearchSelect = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
6333
6454
|
} // 务必填写 key
|
|
6334
6455
|
];
|
|
6335
6456
|
var tabsItems2 = [{
|
|
6336
|
-
label: "\u5DF2\u9009\uFF08".concat((
|
|
6457
|
+
label: "\u5DF2\u9009\uFF08".concat((selectedRows === null || selectedRows === void 0 ? void 0 : selectedRows.length) || 0, "\uFF09"),
|
|
6337
6458
|
key: 'selected',
|
|
6338
|
-
children: renderShowTable(
|
|
6339
|
-
return _objectSpread2(_objectSpread2({}, s), {}, {
|
|
6340
|
-
keyIndex: index + 1
|
|
6341
|
-
});
|
|
6342
|
-
})) || [], 'noPage')
|
|
6459
|
+
children: renderShowTable(selectedRows, 'noPage')
|
|
6343
6460
|
}];
|
|
6344
6461
|
var resetSelectDataSource = function resetSelectDataSource() {
|
|
6345
6462
|
var isClear = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
@@ -6355,7 +6472,7 @@ var SearchSelect = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
6355
6472
|
props === null || props === void 0 ? void 0 : (_props$onClear = props.onClear) === null || _props$onClear === void 0 ? void 0 : _props$onClear.call(props);
|
|
6356
6473
|
// 清空下拉框 / 弹窗 选中数据
|
|
6357
6474
|
formaData([], items);
|
|
6358
|
-
|
|
6475
|
+
clearSelectedRows();
|
|
6359
6476
|
// 重置下拉框数据源
|
|
6360
6477
|
resetSelectDataSource(true);
|
|
6361
6478
|
};
|
|
@@ -6612,9 +6729,7 @@ var SearchSelect = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
6612
6729
|
}, /*#__PURE__*/React$1.createElement(Tabs, {
|
|
6613
6730
|
items: tabsItems2,
|
|
6614
6731
|
tabBarExtraContent: /*#__PURE__*/React$1.createElement("span", {
|
|
6615
|
-
onClick:
|
|
6616
|
-
return onChangeSelectedKeys([], []);
|
|
6617
|
-
}
|
|
6732
|
+
onClick: clearSelectedRows
|
|
6618
6733
|
}, "\u6E05\u7A7A\u5DF2\u9009")
|
|
6619
6734
|
})) : null)))));
|
|
6620
6735
|
});
|
|
@@ -39330,12 +39445,24 @@ var RuleObjectComponent = /*#__PURE__*/function (_Component) {
|
|
|
39330
39445
|
padding: '10px',
|
|
39331
39446
|
borderRadius: '4px'
|
|
39332
39447
|
}
|
|
39333
|
-
}, /*#__PURE__*/React$1.createElement(
|
|
39448
|
+
}, /*#__PURE__*/React$1.createElement(Select, {
|
|
39449
|
+
disabled: disabled,
|
|
39334
39450
|
style: {
|
|
39335
|
-
|
|
39336
|
-
|
|
39337
|
-
}
|
|
39338
|
-
|
|
39451
|
+
width: 150,
|
|
39452
|
+
marginRight: 10
|
|
39453
|
+
},
|
|
39454
|
+
placeholder: "\u8BF7\u9009\u62E9",
|
|
39455
|
+
value: String(itemDetail.reqConditionData.reqParamType || '10'),
|
|
39456
|
+
onChange: function onChange(val) {
|
|
39457
|
+
return _this.handleReqDataChange(itemDetail, 'reqParamType', val);
|
|
39458
|
+
}
|
|
39459
|
+
}, /*#__PURE__*/React$1.createElement(Select.Option, {
|
|
39460
|
+
value: "10"
|
|
39461
|
+
}, "\u8BF7\u6C42\u53C2\u6570\u540D\u79F0"), /*#__PURE__*/React$1.createElement(Select.Option, {
|
|
39462
|
+
value: "20"
|
|
39463
|
+
}, "\u8BF7\u6C42\u5934\u53C2\u6570\u540D\u79F0"), /*#__PURE__*/React$1.createElement(Select.Option, {
|
|
39464
|
+
value: "40"
|
|
39465
|
+
}, "\u6E90\u8BF7\u6C42\u5730\u5740")), String(itemDetail.reqConditionData.reqParamType || '10') !== '40' && /*#__PURE__*/React$1.createElement(Input, {
|
|
39339
39466
|
disabled: disabled,
|
|
39340
39467
|
style: {
|
|
39341
39468
|
width: 150,
|
|
@@ -39891,6 +40018,8 @@ var RuleObjectComponent = /*#__PURE__*/function (_Component) {
|
|
|
39891
40018
|
if (valueNames) {
|
|
39892
40019
|
itemDetail.reqConditionData.paramNames = valueNames;
|
|
39893
40020
|
}
|
|
40021
|
+
} else if (field === 'reqParamType') {
|
|
40022
|
+
itemDetail.reqConditionData.reqParamType = value;
|
|
39894
40023
|
}
|
|
39895
40024
|
_this.setState({
|
|
39896
40025
|
ruleClassData: ruleClassData
|
package/dist/index.js
CHANGED
|
@@ -5411,11 +5411,20 @@ var SearchSelect = /*#__PURE__*/React$1.forwardRef(function (props, ref) {
|
|
|
5411
5411
|
},
|
|
5412
5412
|
pageSize: tableInitPageSize
|
|
5413
5413
|
};
|
|
5414
|
+
var selectedInitPagination = _objectSpread2(_objectSpread2({}, initPagination), {}, {
|
|
5415
|
+
current: 1,
|
|
5416
|
+
pageSize: resolveTablePageSize((modalTableProps === null || modalTableProps === void 0 ? void 0 : modalTableProps.selectedTablePageSize) || 20),
|
|
5417
|
+
total: 0
|
|
5418
|
+
});
|
|
5414
5419
|
var tableInitPagination = _objectSpread2(_objectSpread2({}, initPagination), {}, {
|
|
5415
5420
|
total: 0,
|
|
5416
5421
|
current: 1,
|
|
5417
5422
|
pageSizeOptions: TABLE_PAGE_SIZE_OPTIONS.map(String)
|
|
5418
5423
|
});
|
|
5424
|
+
/**
|
|
5425
|
+
* 左侧弹窗表格大分页时的实际渲染上限;全选仍基于完整当前页 tableData。
|
|
5426
|
+
*/
|
|
5427
|
+
var tableRenderPageSize = 200;
|
|
5419
5428
|
var disabled = !!noOperate || (selectProps === null || selectProps === void 0 ? void 0 : selectProps.disabled) || (props === null || props === void 0 ? void 0 : props.disabled);
|
|
5420
5429
|
var isHaveDependency = fixedparameter && fieldValToParam && ctx;
|
|
5421
5430
|
var isHaveDValue = function isHaveDValue() {
|
|
@@ -5525,34 +5534,48 @@ var SearchSelect = /*#__PURE__*/React$1.forwardRef(function (props, ref) {
|
|
|
5525
5534
|
_useState32 = _slicedToArray(_useState31, 2),
|
|
5526
5535
|
selectedRows = _useState32[0],
|
|
5527
5536
|
setSelectedRows = _useState32[1];
|
|
5528
|
-
var _useState33 = React$1.useState(
|
|
5537
|
+
var _useState33 = React$1.useState(selectedInitPagination),
|
|
5529
5538
|
_useState34 = _slicedToArray(_useState33, 2),
|
|
5530
|
-
|
|
5531
|
-
|
|
5532
|
-
var _useState35 = React$1.useState(
|
|
5539
|
+
selectedTablePagination = _useState34[0],
|
|
5540
|
+
setSelectedTablePagination = _useState34[1];
|
|
5541
|
+
var _useState35 = React$1.useState({}),
|
|
5533
5542
|
_useState36 = _slicedToArray(_useState35, 2),
|
|
5534
|
-
|
|
5535
|
-
|
|
5536
|
-
var _useState37 = React$1.useState(
|
|
5543
|
+
tableFormParams = _useState36[0],
|
|
5544
|
+
setTableFormParams = _useState36[1];
|
|
5545
|
+
var _useState37 = React$1.useState(false),
|
|
5537
5546
|
_useState38 = _slicedToArray(_useState37, 2),
|
|
5538
|
-
|
|
5539
|
-
|
|
5540
|
-
var _useState39 = React$1.useState(
|
|
5547
|
+
tooltipVisible = _useState38[0],
|
|
5548
|
+
setTooltipVisible = _useState38[1];
|
|
5549
|
+
var _useState39 = React$1.useState(handleTableColumns(modalTableProps === null || modalTableProps === void 0 ? void 0 : modalTableProps.tableColumns)),
|
|
5541
5550
|
_useState40 = _slicedToArray(_useState39, 2),
|
|
5542
|
-
|
|
5543
|
-
|
|
5544
|
-
var _useState41 = React$1.useState(
|
|
5551
|
+
tableShowColumns = _useState40[0],
|
|
5552
|
+
setTabletShowColumns = _useState40[1]; // 默认展示表头-modalTableProps?.tableColumns
|
|
5553
|
+
var _useState41 = React$1.useState(false),
|
|
5545
5554
|
_useState42 = _slicedToArray(_useState41, 2),
|
|
5546
|
-
|
|
5547
|
-
|
|
5555
|
+
confirmLoading = _useState42[0],
|
|
5556
|
+
setConfirmLoading = _useState42[1];
|
|
5548
5557
|
var _useState43 = React$1.useState(false),
|
|
5549
5558
|
_useState44 = _slicedToArray(_useState43, 2),
|
|
5550
|
-
|
|
5551
|
-
|
|
5552
|
-
var
|
|
5553
|
-
|
|
5554
|
-
|
|
5555
|
-
|
|
5559
|
+
modalSearched = _useState44[0],
|
|
5560
|
+
setModalSearched = _useState44[1];
|
|
5561
|
+
var selectAllTableRef = React$1.useRef(false);
|
|
5562
|
+
var getRecordKey = function getRecordKey(record) {
|
|
5563
|
+
var _record$mappingValueF;
|
|
5564
|
+
return (_record$mappingValueF = record === null || record === void 0 ? void 0 : record[mappingValueField]) !== null && _record$mappingValueF !== void 0 ? _record$mappingValueF : record === null || record === void 0 ? void 0 : record.value;
|
|
5565
|
+
};
|
|
5566
|
+
/**
|
|
5567
|
+
* 已选表格只向 Table 传入当前页数据,避免全选 1000 条时右侧表格同步处理全部数据。
|
|
5568
|
+
*/
|
|
5569
|
+
var selectedTablePageRows = React$1.useMemo(function () {
|
|
5570
|
+
var current = Number((selectedTablePagination === null || selectedTablePagination === void 0 ? void 0 : selectedTablePagination.current) || 1);
|
|
5571
|
+
var pageSize = Number((selectedTablePagination === null || selectedTablePagination === void 0 ? void 0 : selectedTablePagination.pageSize) || selectedInitPagination.pageSize);
|
|
5572
|
+
var start = (current - 1) * pageSize;
|
|
5573
|
+
return (selectedRows || []).slice(start, start + pageSize).map(function (s, index) {
|
|
5574
|
+
return _objectSpread2(_objectSpread2({}, s), {}, {
|
|
5575
|
+
keyIndex: start + index + 1
|
|
5576
|
+
});
|
|
5577
|
+
});
|
|
5578
|
+
}, [selectedRows, selectedTablePagination === null || selectedTablePagination === void 0 ? void 0 : selectedTablePagination.current, selectedTablePagination === null || selectedTablePagination === void 0 ? void 0 : selectedTablePagination.pageSize, selectedInitPagination.pageSize]);
|
|
5556
5579
|
var setSelectDataSource = function setSelectDataSource(list, total) {
|
|
5557
5580
|
setItems(list);
|
|
5558
5581
|
setItemsTotal(total);
|
|
@@ -5560,6 +5583,20 @@ var SearchSelect = /*#__PURE__*/React$1.forwardRef(function (props, ref) {
|
|
|
5560
5583
|
var clearSelectDataSource = function clearSelectDataSource() {
|
|
5561
5584
|
setSelectDataSource([], 0);
|
|
5562
5585
|
};
|
|
5586
|
+
/**
|
|
5587
|
+
* 清空弹窗已选数据。
|
|
5588
|
+
*/
|
|
5589
|
+
var clearSelectedRows = function clearSelectedRows() {
|
|
5590
|
+
setSelectedRows([]);
|
|
5591
|
+
setPopValue([]);
|
|
5592
|
+
setSelectedTablePagination(function (prev) {
|
|
5593
|
+
return _objectSpread2(_objectSpread2({}, prev), {}, {
|
|
5594
|
+
total: 0,
|
|
5595
|
+
current: 1
|
|
5596
|
+
});
|
|
5597
|
+
});
|
|
5598
|
+
setSelectedRowKeys([]);
|
|
5599
|
+
};
|
|
5563
5600
|
React$1.useImperativeHandle(ref, function () {
|
|
5564
5601
|
return {
|
|
5565
5602
|
refreshDataSource: function refreshDataSource() {
|
|
@@ -5752,6 +5789,18 @@ var SearchSelect = /*#__PURE__*/React$1.forwardRef(function (props, ref) {
|
|
|
5752
5789
|
setUniqueValue(makeUniqueValue());
|
|
5753
5790
|
setTabletShowColumns(handleTableColumns(modalTableProps === null || modalTableProps === void 0 ? void 0 : modalTableProps.tableColumns));
|
|
5754
5791
|
}, [resultSourceKey]);
|
|
5792
|
+
React$1.useEffect(function () {
|
|
5793
|
+
setSelectedTablePagination(function (prev) {
|
|
5794
|
+
var pageSize = (prev === null || prev === void 0 ? void 0 : prev.pageSize) || selectedInitPagination.pageSize;
|
|
5795
|
+
var maxCurrent = Math.ceil(selectedRows.length / pageSize) || 1;
|
|
5796
|
+
var current = selectedRows.length ? Math.min((prev === null || prev === void 0 ? void 0 : prev.current) || 1, maxCurrent) : 1;
|
|
5797
|
+
if ((prev === null || prev === void 0 ? void 0 : prev.total) === selectedRows.length && (prev === null || prev === void 0 ? void 0 : prev.current) === current) return prev;
|
|
5798
|
+
return _objectSpread2(_objectSpread2({}, prev), {}, {
|
|
5799
|
+
total: selectedRows.length,
|
|
5800
|
+
current: current
|
|
5801
|
+
});
|
|
5802
|
+
});
|
|
5803
|
+
}, [selectedRows.length, selectedInitPagination.pageSize]);
|
|
5755
5804
|
React$1.useEffect(function () {
|
|
5756
5805
|
if (init) {
|
|
5757
5806
|
clearSelectDataSource();
|
|
@@ -5809,8 +5858,6 @@ var SearchSelect = /*#__PURE__*/React$1.forwardRef(function (props, ref) {
|
|
|
5809
5858
|
value: i
|
|
5810
5859
|
};
|
|
5811
5860
|
}));
|
|
5812
|
-
setIndeterminate(!!value.length && value.length < itemsTotal);
|
|
5813
|
-
setCheckedAll(itemsTotal && value.length === itemsTotal);
|
|
5814
5861
|
} else {
|
|
5815
5862
|
setSelectedRowKeys(labelInValue ? [value.key] : [value]);
|
|
5816
5863
|
setSelectedRows(labelInValue ? [_defineProperty(_defineProperty(_defineProperty({}, mappingValueField, value.key), "value", value.key), "text", value.label)] : [_defineProperty(_defineProperty({}, mappingValueField, value), "value", value)]);
|
|
@@ -5898,8 +5945,6 @@ var SearchSelect = /*#__PURE__*/React$1.forwardRef(function (props, ref) {
|
|
|
5898
5945
|
setTablePagination(tableInitPagination);
|
|
5899
5946
|
setSelectedRowKeys([]);
|
|
5900
5947
|
setSelectedRows([]);
|
|
5901
|
-
setCheckedAll(false);
|
|
5902
|
-
setIndeterminate(false);
|
|
5903
5948
|
};
|
|
5904
5949
|
var handleCancel = function handleCancel() {
|
|
5905
5950
|
clearModalTable();
|
|
@@ -5958,9 +6003,17 @@ var SearchSelect = /*#__PURE__*/React$1.forwardRef(function (props, ref) {
|
|
|
5958
6003
|
currentPage: pagination.current
|
|
5959
6004
|
}), 2);
|
|
5960
6005
|
};
|
|
6006
|
+
var handleSelectedTableChange = function handleSelectedTableChange(pagination) {
|
|
6007
|
+
setSelectedTablePagination(function (prev) {
|
|
6008
|
+
return _objectSpread2(_objectSpread2({}, prev), {}, {
|
|
6009
|
+
current: pagination.current,
|
|
6010
|
+
pageSize: pagination.pageSize
|
|
6011
|
+
});
|
|
6012
|
+
});
|
|
6013
|
+
};
|
|
5961
6014
|
var onChangeSelectedKeys = function onChangeSelectedKeys(selectKeys, selectRows) {
|
|
5962
|
-
var sksResult = (selectRows === null || selectRows === void 0 ? void 0 : selectRows.map(function (i) {
|
|
5963
|
-
return i
|
|
6015
|
+
var sksResult = (selectKeys === null || selectKeys === void 0 ? void 0 : selectKeys.length) ? selectKeys : (selectRows === null || selectRows === void 0 ? void 0 : selectRows.map(function (i) {
|
|
6016
|
+
return getRecordKey(i);
|
|
5964
6017
|
})) || [];
|
|
5965
6018
|
// 单选 默认直接选中 不需要确定 配置了modalRadioNeedFooter就需要确定
|
|
5966
6019
|
if (!selectMode && !(modalTableProps === null || modalTableProps === void 0 ? void 0 : modalTableProps.modalRadioNeedFooter)) {
|
|
@@ -5970,33 +6023,96 @@ var SearchSelect = /*#__PURE__*/React$1.forwardRef(function (props, ref) {
|
|
|
5970
6023
|
setSelectedRowKeys(sksResult);
|
|
5971
6024
|
setSelectedRows(selectRows);
|
|
5972
6025
|
setPopValue(selectRows);
|
|
5973
|
-
setIndeterminate(!!selectRows.length && selectRows.length < (tablePagination === null || tablePagination === void 0 ? void 0 : tablePagination.total));
|
|
5974
|
-
setCheckedAll(selectRows.length === (tablePagination === null || tablePagination === void 0 ? void 0 : tablePagination.total));
|
|
5975
6026
|
};
|
|
5976
|
-
var
|
|
5977
|
-
|
|
5978
|
-
|
|
5979
|
-
|
|
5980
|
-
|
|
5981
|
-
|
|
5982
|
-
|
|
5983
|
-
|
|
5984
|
-
|
|
5985
|
-
|
|
5986
|
-
|
|
5987
|
-
|
|
5988
|
-
|
|
5989
|
-
|
|
5990
|
-
|
|
5991
|
-
|
|
5992
|
-
|
|
5993
|
-
|
|
5994
|
-
|
|
5995
|
-
|
|
5996
|
-
|
|
5997
|
-
|
|
5998
|
-
|
|
5999
|
-
|
|
6027
|
+
var getRowSelection = function getRowSelection() {
|
|
6028
|
+
var visibleRows = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
6029
|
+
var type = arguments.length > 1 ? arguments[1] : undefined;
|
|
6030
|
+
return {
|
|
6031
|
+
type: selectMode ? 'checkbox' : 'radio',
|
|
6032
|
+
selectedRowKeys: selectedRowKeys,
|
|
6033
|
+
preserveSelectedRowKeys: true,
|
|
6034
|
+
onSelectAll: function onSelectAll(selected) {
|
|
6035
|
+
selectAllTableRef.current = true;
|
|
6036
|
+
setTimeout(function () {
|
|
6037
|
+
selectAllTableRef.current = false;
|
|
6038
|
+
}, 0);
|
|
6039
|
+
var targetRows = type === 'noPage' ? visibleRows : tableData;
|
|
6040
|
+
var targetKeys = (targetRows || []).map(function (item) {
|
|
6041
|
+
return getRecordKey(item);
|
|
6042
|
+
});
|
|
6043
|
+
if (!selected) {
|
|
6044
|
+
var selectedKeySet = new Set((selectedRows || []).map(function (item) {
|
|
6045
|
+
return getRecordKey(item);
|
|
6046
|
+
}));
|
|
6047
|
+
if ((selectedRows || []).length === (targetRows || []).length && targetKeys.every(function (key) {
|
|
6048
|
+
return selectedKeySet.has(key);
|
|
6049
|
+
})) {
|
|
6050
|
+
clearSelectedRows();
|
|
6051
|
+
return;
|
|
6052
|
+
}
|
|
6053
|
+
var targetKeySet = new Set(targetKeys);
|
|
6054
|
+
var _nextSelectedRows = (selectedRows || []).filter(function (item) {
|
|
6055
|
+
return !targetKeySet.has(getRecordKey(item));
|
|
6056
|
+
});
|
|
6057
|
+
var _nextSelectedKeys = _nextSelectedRows.map(function (item) {
|
|
6058
|
+
return getRecordKey(item);
|
|
6059
|
+
});
|
|
6060
|
+
onChangeSelectedKeys(_nextSelectedKeys, _nextSelectedRows);
|
|
6061
|
+
return;
|
|
6062
|
+
}
|
|
6063
|
+
if (!(selectedRows || []).length) {
|
|
6064
|
+
onChangeSelectedKeys(targetKeys, targetRows || []);
|
|
6065
|
+
return;
|
|
6066
|
+
}
|
|
6067
|
+
var selectedRowMap = new Map();
|
|
6068
|
+
(selectedRows || []).forEach(function (item) {
|
|
6069
|
+
selectedRowMap.set(getRecordKey(item), item);
|
|
6070
|
+
});
|
|
6071
|
+
(targetRows || []).forEach(function (item) {
|
|
6072
|
+
selectedRowMap.set(getRecordKey(item), item);
|
|
6073
|
+
});
|
|
6074
|
+
var nextSelectedRows = Array.from(selectedRowMap.values()).filter(Boolean);
|
|
6075
|
+
var nextSelectedKeys = nextSelectedRows.map(function (item) {
|
|
6076
|
+
return getRecordKey(item);
|
|
6077
|
+
});
|
|
6078
|
+
onChangeSelectedKeys(nextSelectedKeys, nextSelectedRows);
|
|
6079
|
+
},
|
|
6080
|
+
onChange: function onChange(sks, srs) {
|
|
6081
|
+
if (selectAllTableRef.current) {
|
|
6082
|
+
selectAllTableRef.current = false;
|
|
6083
|
+
return;
|
|
6084
|
+
}
|
|
6085
|
+
if (!(sks === null || sks === void 0 ? void 0 : sks.length)) {
|
|
6086
|
+
clearSelectedRows();
|
|
6087
|
+
return;
|
|
6088
|
+
}
|
|
6089
|
+
// 处理翻页后,之前存储的selectedRows变为undefined
|
|
6090
|
+
// selectedRows合并新数组,过滤undefined,过滤留下对应selectedRowKeys的集合
|
|
6091
|
+
var visibleKeySet = new Set((visibleRows || []).map(function (item) {
|
|
6092
|
+
return getRecordKey(item);
|
|
6093
|
+
}));
|
|
6094
|
+
var selectedRowMap = new Map();
|
|
6095
|
+
(selectedRows || []).forEach(function (item) {
|
|
6096
|
+
var key = getRecordKey(item);
|
|
6097
|
+
if (!visibleKeySet.has(key)) {
|
|
6098
|
+
selectedRowMap.set(key, item);
|
|
6099
|
+
}
|
|
6100
|
+
});
|
|
6101
|
+
(srs || []).filter(Boolean).forEach(function (item) {
|
|
6102
|
+
selectedRowMap.set(getRecordKey(item), item);
|
|
6103
|
+
});
|
|
6104
|
+
var totalSelectedRows = Array.from(selectedRowMap.values()).filter(Boolean);
|
|
6105
|
+
var totalSelectedKeys = totalSelectedRows.map(function (item) {
|
|
6106
|
+
return getRecordKey(item);
|
|
6107
|
+
});
|
|
6108
|
+
onChangeSelectedKeys(totalSelectedKeys, totalSelectedRows);
|
|
6109
|
+
},
|
|
6110
|
+
getCheckboxProps: (selectProps === null || selectProps === void 0 ? void 0 : selectProps.getCheckboxProps) ? selectProps === null || selectProps === void 0 ? void 0 : selectProps.getCheckboxProps : function () {
|
|
6111
|
+
return {
|
|
6112
|
+
disabled: disabled || !items.length && !tableData.length
|
|
6113
|
+
};
|
|
6114
|
+
}
|
|
6115
|
+
};
|
|
6000
6116
|
};
|
|
6001
6117
|
var onRowClickSelect = function onRowClickSelect(e, record, type) {
|
|
6002
6118
|
if (selectMode && !(disabled || !items.length && !tableData.length)) {
|
|
@@ -6004,7 +6120,7 @@ var SearchSelect = /*#__PURE__*/React$1.forwardRef(function (props, ref) {
|
|
|
6004
6120
|
var newSelect = [JSON.parse(JSON.stringify(record))];
|
|
6005
6121
|
var srs = getRealStr(oldSelect, newSelect, record);
|
|
6006
6122
|
var sks = srs.map(function (i) {
|
|
6007
|
-
return i
|
|
6123
|
+
return getRecordKey(i);
|
|
6008
6124
|
});
|
|
6009
6125
|
onChangeSelectedKeys(sks, srs);
|
|
6010
6126
|
}
|
|
@@ -6013,7 +6129,7 @@ var SearchSelect = /*#__PURE__*/React$1.forwardRef(function (props, ref) {
|
|
|
6013
6129
|
if (!selectMode && !(disabled || !items.length && !tableData.length)) {
|
|
6014
6130
|
var srs = [JSON.parse(JSON.stringify(record))];
|
|
6015
6131
|
var sks = srs.map(function (i) {
|
|
6016
|
-
return i
|
|
6132
|
+
return getRecordKey(i);
|
|
6017
6133
|
});
|
|
6018
6134
|
onChangeSelectedKeys(sks, srs);
|
|
6019
6135
|
}
|
|
@@ -6285,6 +6401,10 @@ var SearchSelect = /*#__PURE__*/React$1.forwardRef(function (props, ref) {
|
|
|
6285
6401
|
};
|
|
6286
6402
|
var renderShowTable = function renderShowTable(tableList, type) {
|
|
6287
6403
|
var _modalTableProps$tabl;
|
|
6404
|
+
var currentPageSize = Number((tablePagination === null || tablePagination === void 0 ? void 0 : tablePagination.pageSize) || tableInitPageSize);
|
|
6405
|
+
var needLimitRenderRows = type !== 'noPage' && currentPageSize >= tableRenderPageSize && (tableList === null || tableList === void 0 ? void 0 : tableList.length) > tableRenderPageSize;
|
|
6406
|
+
var currentTableList = needLimitRenderRows ? tableList.slice(0, tableRenderPageSize) : tableList;
|
|
6407
|
+
var currentDataSource = type == 'noPage' ? selectedTablePageRows : currentTableList;
|
|
6288
6408
|
var viCount = (modalTableProps === null || modalTableProps === void 0 ? void 0 : modalTableProps.visibleFieldsCount) || defaultVisibleFieldsCount;
|
|
6289
6409
|
var canExpand = hasMoreQueryFields(modalTableProps);
|
|
6290
6410
|
var collapsedList = modalTableProps === null || modalTableProps === void 0 ? void 0 : (_modalTableProps$tabl = modalTableProps.tableSearchForm) === null || _modalTableProps$tabl === void 0 ? void 0 : _modalTableProps$tabl.slice(0, viCount);
|
|
@@ -6314,13 +6434,14 @@ var SearchSelect = /*#__PURE__*/React$1.forwardRef(function (props, ref) {
|
|
|
6314
6434
|
}, /*#__PURE__*/React__default['default'].createElement(antd.Table, _objectSpread2(_objectSpread2({
|
|
6315
6435
|
bordered: true,
|
|
6316
6436
|
size: "middle",
|
|
6317
|
-
rowSelection:
|
|
6437
|
+
rowSelection: getRowSelection(currentDataSource, type),
|
|
6318
6438
|
columns: tableShowColumns,
|
|
6319
|
-
dataSource:
|
|
6439
|
+
dataSource: currentDataSource
|
|
6320
6440
|
}, type == 'noPage' ? {
|
|
6321
|
-
pagination: _objectSpread2(_objectSpread2({},
|
|
6441
|
+
pagination: _objectSpread2(_objectSpread2({}, selectedTablePagination), {}, {
|
|
6322
6442
|
showSizeChanger: false
|
|
6323
6443
|
}),
|
|
6444
|
+
onChange: handleSelectedTableChange,
|
|
6324
6445
|
locale: {
|
|
6325
6446
|
emptyText: renderEmptyText('暂无已选结果', mTB)
|
|
6326
6447
|
}
|
|
@@ -6356,13 +6477,9 @@ var SearchSelect = /*#__PURE__*/React$1.forwardRef(function (props, ref) {
|
|
|
6356
6477
|
} // 务必填写 key
|
|
6357
6478
|
];
|
|
6358
6479
|
var tabsItems2 = [{
|
|
6359
|
-
label: "\u5DF2\u9009\uFF08".concat((
|
|
6480
|
+
label: "\u5DF2\u9009\uFF08".concat((selectedRows === null || selectedRows === void 0 ? void 0 : selectedRows.length) || 0, "\uFF09"),
|
|
6360
6481
|
key: 'selected',
|
|
6361
|
-
children: renderShowTable(
|
|
6362
|
-
return _objectSpread2(_objectSpread2({}, s), {}, {
|
|
6363
|
-
keyIndex: index + 1
|
|
6364
|
-
});
|
|
6365
|
-
})) || [], 'noPage')
|
|
6482
|
+
children: renderShowTable(selectedRows, 'noPage')
|
|
6366
6483
|
}];
|
|
6367
6484
|
var resetSelectDataSource = function resetSelectDataSource() {
|
|
6368
6485
|
var isClear = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
@@ -6378,7 +6495,7 @@ var SearchSelect = /*#__PURE__*/React$1.forwardRef(function (props, ref) {
|
|
|
6378
6495
|
props === null || props === void 0 ? void 0 : (_props$onClear = props.onClear) === null || _props$onClear === void 0 ? void 0 : _props$onClear.call(props);
|
|
6379
6496
|
// 清空下拉框 / 弹窗 选中数据
|
|
6380
6497
|
formaData([], items);
|
|
6381
|
-
|
|
6498
|
+
clearSelectedRows();
|
|
6382
6499
|
// 重置下拉框数据源
|
|
6383
6500
|
resetSelectDataSource(true);
|
|
6384
6501
|
};
|
|
@@ -6635,9 +6752,7 @@ var SearchSelect = /*#__PURE__*/React$1.forwardRef(function (props, ref) {
|
|
|
6635
6752
|
}, /*#__PURE__*/React__default['default'].createElement(antd.Tabs, {
|
|
6636
6753
|
items: tabsItems2,
|
|
6637
6754
|
tabBarExtraContent: /*#__PURE__*/React__default['default'].createElement("span", {
|
|
6638
|
-
onClick:
|
|
6639
|
-
return onChangeSelectedKeys([], []);
|
|
6640
|
-
}
|
|
6755
|
+
onClick: clearSelectedRows
|
|
6641
6756
|
}, "\u6E05\u7A7A\u5DF2\u9009")
|
|
6642
6757
|
})) : null)))));
|
|
6643
6758
|
});
|
|
@@ -39353,12 +39468,24 @@ var RuleObjectComponent = /*#__PURE__*/function (_Component) {
|
|
|
39353
39468
|
padding: '10px',
|
|
39354
39469
|
borderRadius: '4px'
|
|
39355
39470
|
}
|
|
39356
|
-
}, /*#__PURE__*/React__default['default'].createElement(
|
|
39471
|
+
}, /*#__PURE__*/React__default['default'].createElement(antd.Select, {
|
|
39472
|
+
disabled: disabled,
|
|
39357
39473
|
style: {
|
|
39358
|
-
|
|
39359
|
-
|
|
39360
|
-
}
|
|
39361
|
-
|
|
39474
|
+
width: 150,
|
|
39475
|
+
marginRight: 10
|
|
39476
|
+
},
|
|
39477
|
+
placeholder: "\u8BF7\u9009\u62E9",
|
|
39478
|
+
value: String(itemDetail.reqConditionData.reqParamType || '10'),
|
|
39479
|
+
onChange: function onChange(val) {
|
|
39480
|
+
return _this.handleReqDataChange(itemDetail, 'reqParamType', val);
|
|
39481
|
+
}
|
|
39482
|
+
}, /*#__PURE__*/React__default['default'].createElement(antd.Select.Option, {
|
|
39483
|
+
value: "10"
|
|
39484
|
+
}, "\u8BF7\u6C42\u53C2\u6570\u540D\u79F0"), /*#__PURE__*/React__default['default'].createElement(antd.Select.Option, {
|
|
39485
|
+
value: "20"
|
|
39486
|
+
}, "\u8BF7\u6C42\u5934\u53C2\u6570\u540D\u79F0"), /*#__PURE__*/React__default['default'].createElement(antd.Select.Option, {
|
|
39487
|
+
value: "40"
|
|
39488
|
+
}, "\u6E90\u8BF7\u6C42\u5730\u5740")), String(itemDetail.reqConditionData.reqParamType || '10') !== '40' && /*#__PURE__*/React__default['default'].createElement(antd.Input, {
|
|
39362
39489
|
disabled: disabled,
|
|
39363
39490
|
style: {
|
|
39364
39491
|
width: 150,
|
|
@@ -39914,6 +40041,8 @@ var RuleObjectComponent = /*#__PURE__*/function (_Component) {
|
|
|
39914
40041
|
if (valueNames) {
|
|
39915
40042
|
itemDetail.reqConditionData.paramNames = valueNames;
|
|
39916
40043
|
}
|
|
40044
|
+
} else if (field === 'reqParamType') {
|
|
40045
|
+
itemDetail.reqConditionData.reqParamType = value;
|
|
39917
40046
|
}
|
|
39918
40047
|
_this.setState({
|
|
39919
40048
|
ruleClassData: ruleClassData
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @ts-nocheck
|
|
2
|
-
import React, { useState, useEffect, forwardRef, useImperativeHandle } from 'react';
|
|
2
|
+
import React, { useState, useEffect, useMemo, useRef, forwardRef, useImperativeHandle } from 'react';
|
|
3
3
|
import { useDebounceFn } from 'ahooks';
|
|
4
4
|
import { Input, Button, Modal, Select, Divider, message, Spin, Form, Table, Checkbox, TreeSelect, Tooltip, Tag, Row, Col, Space, Tabs, Empty, DatePicker } from 'antd';
|
|
5
5
|
import { SearchOutlined, CopyOutlined, CaretLeftOutlined } from '@ant-design/icons';
|
|
@@ -95,7 +95,12 @@ const SearchSelect = forwardRef((props: any, ref: any) => {
|
|
|
95
95
|
const isFormPage = pathname.match(pattern)?.length > 0;
|
|
96
96
|
|
|
97
97
|
const initPagination = { showQuickJumper: true, showSizeChanger: true, showTotal: (total: any) => `共 ${total} 条`, pageSize: tableInitPageSize }
|
|
98
|
+
const selectedInitPagination = { ...initPagination, current: 1, pageSize: resolveTablePageSize(modalTableProps?.selectedTablePageSize || 20), total: 0 }
|
|
98
99
|
const tableInitPagination = { ...initPagination, total: 0, current: 1, pageSizeOptions:TABLE_PAGE_SIZE_OPTIONS.map(String) }
|
|
100
|
+
/**
|
|
101
|
+
* 左侧弹窗表格大分页时的实际渲染上限;全选仍基于完整当前页 tableData。
|
|
102
|
+
*/
|
|
103
|
+
const tableRenderPageSize = 200;
|
|
99
104
|
const disabled = !!noOperate || selectProps?.disabled || props?.disabled;
|
|
100
105
|
const isHaveDependency = fixedparameter && fieldValToParam && ctx;
|
|
101
106
|
const isHaveDValue = () => {
|
|
@@ -153,13 +158,25 @@ const SearchSelect = forwardRef((props: any, ref: any) => {
|
|
|
153
158
|
const [tablePagination, setTablePagination] = useState(tableInitPagination)
|
|
154
159
|
const [selectedRowKeys, setSelectedRowKeys] = useState([]);
|
|
155
160
|
const [selectedRows, setSelectedRows] = useState([]);
|
|
156
|
-
const [
|
|
157
|
-
const [indeterminate, setIndeterminate] = useState(false)
|
|
161
|
+
const [selectedTablePagination, setSelectedTablePagination] = useState(selectedInitPagination);
|
|
158
162
|
const [tableFormParams, setTableFormParams] = useState({});
|
|
159
163
|
const [tooltipVisible, setTooltipVisible] = useState(false);
|
|
160
164
|
const [tableShowColumns, setTabletShowColumns] = useState(handleTableColumns(modalTableProps?.tableColumns)); // 默认展示表头-modalTableProps?.tableColumns
|
|
161
165
|
const [confirmLoading, setConfirmLoading] = useState(false);
|
|
162
166
|
const [modalSearched, setModalSearched]=useState(false);
|
|
167
|
+
const selectAllTableRef = useRef(false);
|
|
168
|
+
|
|
169
|
+
const getRecordKey = (record: any) => record?.[mappingValueField] ?? record?.value;
|
|
170
|
+
|
|
171
|
+
/**
|
|
172
|
+
* 已选表格只向 Table 传入当前页数据,避免全选 1000 条时右侧表格同步处理全部数据。
|
|
173
|
+
*/
|
|
174
|
+
const selectedTablePageRows = useMemo(() => {
|
|
175
|
+
const current = Number(selectedTablePagination?.current || 1);
|
|
176
|
+
const pageSize = Number(selectedTablePagination?.pageSize || selectedInitPagination.pageSize);
|
|
177
|
+
const start = (current - 1) * pageSize;
|
|
178
|
+
return (selectedRows || []).slice(start, start + pageSize).map((s,index)=> ({...s,keyIndex:start + index + 1}));
|
|
179
|
+
}, [selectedRows, selectedTablePagination?.current, selectedTablePagination?.pageSize, selectedInitPagination.pageSize]);
|
|
163
180
|
|
|
164
181
|
const setSelectDataSource = (list,total: number) => {
|
|
165
182
|
setItems(list);
|
|
@@ -169,6 +186,16 @@ const SearchSelect = forwardRef((props: any, ref: any) => {
|
|
|
169
186
|
setSelectDataSource([],0)
|
|
170
187
|
}
|
|
171
188
|
|
|
189
|
+
/**
|
|
190
|
+
* 清空弹窗已选数据。
|
|
191
|
+
*/
|
|
192
|
+
const clearSelectedRows = () => {
|
|
193
|
+
setSelectedRows([]);
|
|
194
|
+
setPopValue([]);
|
|
195
|
+
setSelectedTablePagination((prev: any) => ({ ...prev, total: 0, current: 1 }));
|
|
196
|
+
setSelectedRowKeys([]);
|
|
197
|
+
}
|
|
198
|
+
|
|
172
199
|
useImperativeHandle(ref, () => ({
|
|
173
200
|
refreshDataSource: (reset: boolean = false) => {
|
|
174
201
|
if (reset) {
|
|
@@ -342,6 +369,16 @@ const SearchSelect = forwardRef((props: any, ref: any) => {
|
|
|
342
369
|
setTabletShowColumns(handleTableColumns(modalTableProps?.tableColumns));
|
|
343
370
|
}, [resultSourceKey])
|
|
344
371
|
|
|
372
|
+
useEffect(() => {
|
|
373
|
+
setSelectedTablePagination((prev: any) => {
|
|
374
|
+
const pageSize = prev?.pageSize || selectedInitPagination.pageSize;
|
|
375
|
+
const maxCurrent = Math.ceil(selectedRows.length / pageSize) || 1;
|
|
376
|
+
const current = selectedRows.length ? Math.min(prev?.current || 1, maxCurrent) : 1;
|
|
377
|
+
if (prev?.total === selectedRows.length && prev?.current === current) return prev;
|
|
378
|
+
return { ...prev, total: selectedRows.length, current };
|
|
379
|
+
});
|
|
380
|
+
}, [selectedRows.length, selectedInitPagination.pageSize])
|
|
381
|
+
|
|
345
382
|
useEffect(() => {
|
|
346
383
|
if (init) {
|
|
347
384
|
clearSelectDataSource();
|
|
@@ -388,9 +425,6 @@ const SearchSelect = forwardRef((props: any, ref: any) => {
|
|
|
388
425
|
setSelectedRowKeys(labelInValue ? value.map(i => i.key) : value)
|
|
389
426
|
setSelectedRows(labelInValue ? value.map(i => ({ [mappingValueField]: i.key, value: i.key, text: i.label })) : value.map(i => ({ [mappingValueField]: i, value: i })))
|
|
390
427
|
setPopValue(labelInValue ? value.map(i => ({ value: i.key, text: i.label })) : value.map(i => ({ value: i })));
|
|
391
|
-
setIndeterminate(!!value.length && value.length < itemsTotal);
|
|
392
|
-
setCheckedAll(itemsTotal && value.length === itemsTotal);
|
|
393
|
-
|
|
394
428
|
} else {
|
|
395
429
|
setSelectedRowKeys(labelInValue ? [value.key] : [value])
|
|
396
430
|
setSelectedRows(labelInValue ? [{ [mappingValueField]: value.key, value: value.key, text: value.label }] : [{ [mappingValueField]: value, value: value }])
|
|
@@ -461,8 +495,6 @@ const SearchSelect = forwardRef((props: any, ref: any) => {
|
|
|
461
495
|
setTablePagination(tableInitPagination);
|
|
462
496
|
setSelectedRowKeys([]);
|
|
463
497
|
setSelectedRows([]);
|
|
464
|
-
setCheckedAll(false);
|
|
465
|
-
setIndeterminate(false);
|
|
466
498
|
};
|
|
467
499
|
|
|
468
500
|
const handleCancel = () => {
|
|
@@ -522,6 +554,10 @@ const SearchSelect = forwardRef((props: any, ref: any) => {
|
|
|
522
554
|
getData({ ...tableFormParams, pageSize: pagination.pageSize, currentPage: pagination.current }, 2)
|
|
523
555
|
}
|
|
524
556
|
|
|
557
|
+
const handleSelectedTableChange = (pagination) => {
|
|
558
|
+
setSelectedTablePagination((prev: any) => ({ ...prev, current: pagination.current, pageSize: pagination.pageSize }));
|
|
559
|
+
}
|
|
560
|
+
|
|
525
561
|
// 扁平化二维数组的方法
|
|
526
562
|
const mapRows = params => {
|
|
527
563
|
var res = [];
|
|
@@ -539,7 +575,7 @@ const SearchSelect = forwardRef((props: any, ref: any) => {
|
|
|
539
575
|
};
|
|
540
576
|
|
|
541
577
|
const onChangeSelectedKeys = (selectKeys, selectRows) => {
|
|
542
|
-
let sksResult = selectRows?.map((i) => i
|
|
578
|
+
let sksResult = selectKeys?.length ? selectKeys : selectRows?.map((i) => getRecordKey(i))||[];
|
|
543
579
|
|
|
544
580
|
// 单选 默认直接选中 不需要确定 配置了modalRadioNeedFooter就需要确定
|
|
545
581
|
if(!selectMode && !modalTableProps?.modalRadioNeedFooter) {
|
|
@@ -550,34 +586,87 @@ const SearchSelect = forwardRef((props: any, ref: any) => {
|
|
|
550
586
|
setSelectedRowKeys(sksResult)
|
|
551
587
|
setSelectedRows(selectRows)
|
|
552
588
|
setPopValue(selectRows);
|
|
553
|
-
setIndeterminate(!!selectRows.length && selectRows.length < tablePagination?.total);
|
|
554
|
-
setCheckedAll(selectRows.length === tablePagination?.total);
|
|
555
589
|
}
|
|
556
590
|
|
|
557
|
-
const
|
|
591
|
+
const getRowSelection = (visibleRows: any[] = [], type?: string) => ({
|
|
558
592
|
type: selectMode ? 'checkbox' : 'radio',
|
|
559
593
|
selectedRowKeys,
|
|
560
594
|
preserveSelectedRowKeys: true,
|
|
595
|
+
onSelectAll: (selected) => {
|
|
596
|
+
selectAllTableRef.current = true;
|
|
597
|
+
setTimeout(() => {
|
|
598
|
+
selectAllTableRef.current = false;
|
|
599
|
+
}, 0);
|
|
600
|
+
const targetRows = type === 'noPage' ? visibleRows : tableData;
|
|
601
|
+
const targetKeys = (targetRows || []).map((item: any) => getRecordKey(item));
|
|
602
|
+
if (!selected) {
|
|
603
|
+
const selectedKeySet = new Set((selectedRows || []).map((item: any) => getRecordKey(item)));
|
|
604
|
+
if ((selectedRows || []).length === (targetRows || []).length && targetKeys.every((key: any) => selectedKeySet.has(key))) {
|
|
605
|
+
clearSelectedRows();
|
|
606
|
+
return;
|
|
607
|
+
}
|
|
608
|
+
const targetKeySet = new Set(targetKeys);
|
|
609
|
+
const nextSelectedRows = (selectedRows || []).filter((item: any) => !targetKeySet.has(getRecordKey(item)));
|
|
610
|
+
const nextSelectedKeys = nextSelectedRows.map((item: any) => getRecordKey(item));
|
|
611
|
+
onChangeSelectedKeys(nextSelectedKeys, nextSelectedRows);
|
|
612
|
+
return;
|
|
613
|
+
}
|
|
614
|
+
|
|
615
|
+
if (!(selectedRows || []).length) {
|
|
616
|
+
onChangeSelectedKeys(targetKeys, targetRows || []);
|
|
617
|
+
return;
|
|
618
|
+
}
|
|
619
|
+
|
|
620
|
+
const selectedRowMap = new Map();
|
|
621
|
+
(selectedRows || []).forEach((item: any) => {
|
|
622
|
+
selectedRowMap.set(getRecordKey(item), item);
|
|
623
|
+
});
|
|
624
|
+
(targetRows || []).forEach((item: any) => {
|
|
625
|
+
selectedRowMap.set(getRecordKey(item), item);
|
|
626
|
+
});
|
|
627
|
+
const nextSelectedRows = Array.from(selectedRowMap.values()).filter(Boolean);
|
|
628
|
+
const nextSelectedKeys = nextSelectedRows.map((item: any) => getRecordKey(item));
|
|
629
|
+
onChangeSelectedKeys(nextSelectedKeys, nextSelectedRows);
|
|
630
|
+
},
|
|
561
631
|
onChange: (sks, srs) => {
|
|
632
|
+
if (selectAllTableRef.current) {
|
|
633
|
+
selectAllTableRef.current = false;
|
|
634
|
+
return;
|
|
635
|
+
}
|
|
636
|
+
if (!sks?.length) {
|
|
637
|
+
clearSelectedRows();
|
|
638
|
+
return;
|
|
639
|
+
}
|
|
562
640
|
// 处理翻页后,之前存储的selectedRows变为undefined
|
|
563
641
|
// selectedRows合并新数组,过滤undefined,过滤留下对应selectedRowKeys的集合
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
642
|
+
const visibleKeySet = new Set((visibleRows || []).map((item: any) => getRecordKey(item)));
|
|
643
|
+
const selectedRowMap = new Map();
|
|
644
|
+
(selectedRows || []).forEach((item: any) => {
|
|
645
|
+
const key = getRecordKey(item);
|
|
646
|
+
if (!visibleKeySet.has(key)) {
|
|
647
|
+
selectedRowMap.set(key, item);
|
|
648
|
+
}
|
|
649
|
+
});
|
|
650
|
+
(srs || []).filter(Boolean).forEach((item: any) => {
|
|
651
|
+
selectedRowMap.set(getRecordKey(item), item);
|
|
652
|
+
});
|
|
653
|
+
const totalSelectedRows = Array.from(selectedRowMap.values()).filter(Boolean);
|
|
654
|
+
const totalSelectedKeys = totalSelectedRows.map((item: any) => getRecordKey(item));
|
|
655
|
+
onChangeSelectedKeys(totalSelectedKeys, totalSelectedRows)
|
|
567
656
|
},
|
|
568
657
|
getCheckboxProps: selectProps?.getCheckboxProps ? selectProps?.getCheckboxProps : () => {
|
|
569
658
|
return ({
|
|
570
659
|
disabled: disabled || (!items.length && !tableData.length),
|
|
571
660
|
})
|
|
572
661
|
},
|
|
573
|
-
};
|
|
662
|
+
});
|
|
574
663
|
|
|
575
664
|
const onRowClickSelect = (e, record,type) => {
|
|
576
665
|
if (selectMode && !(disabled || (!items.length && !tableData.length))) {
|
|
577
666
|
const oldSelect = selectedRows;
|
|
578
667
|
const newSelect = [JSON.parse(JSON.stringify(record))];
|
|
579
668
|
const srs = getRealStr(oldSelect,newSelect,record);
|
|
580
|
-
const sks = srs.map((i: any) => i
|
|
669
|
+
const sks = srs.map((i: any) => getRecordKey(i))
|
|
581
670
|
|
|
582
671
|
onChangeSelectedKeys(sks, srs)
|
|
583
672
|
}
|
|
@@ -585,7 +674,7 @@ const SearchSelect = forwardRef((props: any, ref: any) => {
|
|
|
585
674
|
const onDoubleClickSelect = (e, record,type) => {
|
|
586
675
|
if (!selectMode && !(disabled || (!items.length && !tableData.length))) {
|
|
587
676
|
const srs = [JSON.parse(JSON.stringify(record))]
|
|
588
|
-
const sks = srs.map((i: any) => i
|
|
677
|
+
const sks = srs.map((i: any) => getRecordKey(i))
|
|
589
678
|
onChangeSelectedKeys(sks, srs)
|
|
590
679
|
}
|
|
591
680
|
}
|
|
@@ -788,6 +877,10 @@ const SearchSelect = forwardRef((props: any, ref: any) => {
|
|
|
788
877
|
}
|
|
789
878
|
|
|
790
879
|
const renderShowTable = (tableList, type) => {
|
|
880
|
+
const currentPageSize = Number(tablePagination?.pageSize || tableInitPageSize);
|
|
881
|
+
const needLimitRenderRows = type !== 'noPage' && currentPageSize >= tableRenderPageSize && tableList?.length > tableRenderPageSize;
|
|
882
|
+
const currentTableList = needLimitRenderRows ? tableList.slice(0, tableRenderPageSize) : tableList;
|
|
883
|
+
const currentDataSource = type=='noPage' ? selectedTablePageRows : currentTableList;
|
|
791
884
|
const viCount = modalTableProps?.visibleFieldsCount || defaultVisibleFieldsCount;
|
|
792
885
|
const canExpand = hasMoreQueryFields(modalTableProps);
|
|
793
886
|
const collapsedList = modalTableProps?.tableSearchForm?.slice(0, viCount);
|
|
@@ -815,11 +908,12 @@ const SearchSelect = forwardRef((props: any, ref: any) => {
|
|
|
815
908
|
<Table
|
|
816
909
|
bordered
|
|
817
910
|
size="middle"
|
|
818
|
-
rowSelection={
|
|
911
|
+
rowSelection={getRowSelection(currentDataSource, type)}
|
|
819
912
|
columns={tableShowColumns}
|
|
820
|
-
dataSource={
|
|
913
|
+
dataSource={currentDataSource}
|
|
821
914
|
{...type=='noPage'?{
|
|
822
|
-
pagination: { ...
|
|
915
|
+
pagination: { ...selectedTablePagination,showSizeChanger: false },
|
|
916
|
+
onChange: handleSelectedTableChange,
|
|
823
917
|
locale: {
|
|
824
918
|
emptyText: renderEmptyText('暂无已选结果',mTB),
|
|
825
919
|
}
|
|
@@ -852,7 +946,7 @@ const SearchSelect = forwardRef((props: any, ref: any) => {
|
|
|
852
946
|
{ label: `全部(${tablePagination?.total || 0})`, key: 'all', children: renderShowTable(tableData) }, // 务必填写 key
|
|
853
947
|
];
|
|
854
948
|
const tabsItems2 = [
|
|
855
|
-
{ label: `已选(${
|
|
949
|
+
{ label: `已选(${selectedRows?.length || 0})`, key: 'selected', children: renderShowTable(selectedRows,'noPage') },
|
|
856
950
|
];
|
|
857
951
|
|
|
858
952
|
const resetSelectDataSource = (isClear=false) => {
|
|
@@ -868,7 +962,7 @@ const SearchSelect = forwardRef((props: any, ref: any) => {
|
|
|
868
962
|
props?.onClear?.();
|
|
869
963
|
// 清空下拉框 / 弹窗 选中数据
|
|
870
964
|
formaData([], items);
|
|
871
|
-
|
|
965
|
+
clearSelectedRows();
|
|
872
966
|
// 重置下拉框数据源
|
|
873
967
|
resetSelectDataSource(true);
|
|
874
968
|
}
|
|
@@ -1082,7 +1176,7 @@ const SearchSelect = forwardRef((props: any, ref: any) => {
|
|
|
1082
1176
|
|
|
1083
1177
|
<div className={'search_select_wrapper_bottomTable'}>
|
|
1084
1178
|
<div className={selectMode ?'search_select_wrapper_bottomTable_wrapLeft2':'search_select_wrapper_bottomTable_wrapLeft1'}><Tabs items={tabsItems1} /></div>
|
|
1085
|
-
{selectMode ? <div className={'search_select_wrapper_bottomTable_wrapRight'}><Tabs items={tabsItems2} tabBarExtraContent={<span onClick={
|
|
1179
|
+
{selectMode ? <div className={'search_select_wrapper_bottomTable_wrapRight'}><Tabs items={tabsItems2} tabBarExtraContent={<span onClick={clearSelectedRows}>清空已选</span>} /></div> : null}
|
|
1086
1180
|
</div>
|
|
1087
1181
|
</div>
|
|
1088
1182
|
</Modal>
|
|
@@ -1143,21 +1143,36 @@ class RuleObjectComponent extends Component {
|
|
|
1143
1143
|
borderRadius: '4px',
|
|
1144
1144
|
}}
|
|
1145
1145
|
>
|
|
1146
|
-
<
|
|
1147
|
-
请求参数名称:
|
|
1148
|
-
</span>
|
|
1149
|
-
<Input
|
|
1146
|
+
<Select
|
|
1150
1147
|
disabled={disabled}
|
|
1151
1148
|
style={{ width: 150, marginRight: 10 }}
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
)
|
|
1149
|
+
placeholder="请选择"
|
|
1150
|
+
value={String(
|
|
1151
|
+
itemDetail.reqConditionData.reqParamType || '10',
|
|
1152
|
+
)}
|
|
1153
|
+
onChange={(val) =>
|
|
1154
|
+
this.handleReqDataChange(itemDetail, 'reqParamType', val)
|
|
1159
1155
|
}
|
|
1160
|
-
|
|
1156
|
+
>
|
|
1157
|
+
<Select.Option value="10">请求参数名称</Select.Option>
|
|
1158
|
+
<Select.Option value="20">请求头参数名称</Select.Option>
|
|
1159
|
+
<Select.Option value="40">源请求地址</Select.Option>
|
|
1160
|
+
</Select>
|
|
1161
|
+
{String(itemDetail.reqConditionData.reqParamType || '10') !==
|
|
1162
|
+
'40' && (
|
|
1163
|
+
<Input
|
|
1164
|
+
disabled={disabled}
|
|
1165
|
+
style={{ width: 150, marginRight: 10 }}
|
|
1166
|
+
value={itemDetail.reqConditionData.reqParamName}
|
|
1167
|
+
onChange={(e) =>
|
|
1168
|
+
this.handleReqDataChange(
|
|
1169
|
+
itemDetail,
|
|
1170
|
+
'reqParamName',
|
|
1171
|
+
e.target.value,
|
|
1172
|
+
)
|
|
1173
|
+
}
|
|
1174
|
+
/>
|
|
1175
|
+
)}
|
|
1161
1176
|
|
|
1162
1177
|
<span style={{ marginRight: 8, flexShrink: 0 }}>类型:</span>
|
|
1163
1178
|
<Select
|
|
@@ -1843,6 +1858,8 @@ class RuleObjectComponent extends Component {
|
|
|
1843
1858
|
if (valueNames) {
|
|
1844
1859
|
itemDetail.reqConditionData.paramNames = valueNames;
|
|
1845
1860
|
}
|
|
1861
|
+
} else if (field === 'reqParamType') {
|
|
1862
|
+
itemDetail.reqConditionData.reqParamType = value;
|
|
1846
1863
|
}
|
|
1847
1864
|
|
|
1848
1865
|
this.setState(
|