@kmkf-fe-packages/basic-components 2.10.9-beta.73 → 2.10.9-beta.76

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 CHANGED
@@ -28221,7 +28221,34 @@ var rowKeyMap = {
28221
28221
  TTX_SYSTEM_ORDER: 'code'
28222
28222
  };
28223
28223
  var RADIO_TABLE_KEYS = ['PLATFORM_AFTER_SALES_ORDER'];
28224
+ // 订单号/物流号使用精确匹配,并支持一次输入多个值。
28225
+ var EXACT_FILTER_FIELDS = {
28226
+ KM_SYSTEM_ORDER: ['billNo'],
28227
+ JY_SYSTEM_ORDER: ['tradeNo'],
28228
+ GY_SYSTEM_ORDER: ['billNo'],
28229
+ JST_SYSTEM_ORDER: ['oId'],
28230
+ BS_SYSTEM_ORDER: ['billNo'],
28231
+ BS_E3_SYSTEM_ORDER: ['orderSn'],
28232
+ WLN_SYSTEM_ORDER: ['billNo', 'expressCode'],
28233
+ WDT_SYSTEM_ORDER: ['billNo', 'logisticsNo'],
28234
+ JKY_SYSTEM_ORDER: ['tradeNo', 'logisticNo'],
28235
+ TTX_SYSTEM_ORDER: ['code', 'primaryWaybillCode', 'secondaryWaybillCode'],
28236
+ DXD_SYSTEM_ORDER: ['orderNo', 'logisticsNo']
28237
+ };
28238
+ var FILTER_VALUE_SEPARATOR = /[\s,,、]+/;
28239
+ var splitFilterValues = function splitFilterValues(value) {
28240
+ return String(value !== null && value !== void 0 ? value : '').split(FILTER_VALUE_SEPARATOR).map(function (item) {
28241
+ return item.trim();
28242
+ }).filter(Boolean);
28243
+ };
28244
+ var getFieldValues = function getFieldValues(value) {
28245
+ if (Array.isArray(value)) {
28246
+ return value.flatMap(getFieldValues);
28247
+ }
28248
+ return splitFilterValues(value);
28249
+ };
28224
28250
  var index$2 = (function (props) {
28251
+ var _EXACT_FILTER_FIELDS$2;
28225
28252
  var value = props.value,
28226
28253
  _onChange = props.onChange,
28227
28254
  disabled = props.disabled,
@@ -28237,7 +28264,7 @@ var index$2 = (function (props) {
28237
28264
  _useState2 = _slicedToArray(_useState, 2),
28238
28265
  filterField = _useState2[0],
28239
28266
  setFilterField = _useState2[1];
28240
- // 筛选关键词 - 输入框内容,用于模糊匹配选中字段列的值
28267
+ // 筛选关键词 - 输入框内容,用于匹配选中字段列的值
28241
28268
  var _useState3 = useState(''),
28242
28269
  _useState4 = _slicedToArray(_useState3, 2),
28243
28270
  filterKeyword = _useState4[0],
@@ -28372,16 +28399,27 @@ var index$2 = (function (props) {
28372
28399
  }
28373
28400
  return map;
28374
28401
  }, [type]);
28375
- // 过滤后的表格数据 - 根据选中字段和关键词模糊匹配(不区分大小写)
28402
+ // 过滤后的表格数据。订单号/物流号字段使用精确匹配,其他字段沿用模糊匹配。
28376
28403
  var filteredData = useMemo(function () {
28377
- if (!filterField || !filterKeyword) {
28404
+ var _EXACT_FILTER_FIELDS$;
28405
+ var filterValues = splitFilterValues(filterKeyword);
28406
+ if (!filterField || !filterValues.length) {
28378
28407
  return (value === null || value === void 0 ? void 0 : value.orders) || [];
28379
28408
  }
28380
- var keywordLower = filterKeyword.toLowerCase();
28409
+ var keywordSet = new Set(filterValues.map(function (item) {
28410
+ return item.toLowerCase();
28411
+ }));
28412
+ var isExactFilter = (_EXACT_FILTER_FIELDS$ = EXACT_FILTER_FIELDS[type]) === null || _EXACT_FILTER_FIELDS$ === void 0 ? void 0 : _EXACT_FILTER_FIELDS$.includes(filterField);
28381
28413
  var renderMap = fieldRenderMap[filterField];
28382
28414
  return ((value === null || value === void 0 ? void 0 : value.orders) || []).filter(function (item) {
28383
28415
  var fieldValue = item[filterField];
28384
28416
  if (fieldValue == null) return false;
28417
+ if (isExactFilter) {
28418
+ return getFieldValues(fieldValue).some(function (itemValue) {
28419
+ return keywordSet.has(itemValue.toLowerCase());
28420
+ });
28421
+ }
28422
+ var keywordLower = filterKeyword.toLowerCase();
28385
28423
  var fieldValueStr = String(fieldValue);
28386
28424
  var fieldValueLower = fieldValueStr.toLowerCase();
28387
28425
  // 直接匹配原始值
@@ -28410,7 +28448,8 @@ var index$2 = (function (props) {
28410
28448
  }
28411
28449
  return false;
28412
28450
  });
28413
- }, [value === null || value === void 0 ? void 0 : value.orders, filterField, filterKeyword, fieldRenderMap]);
28451
+ }, [value === null || value === void 0 ? void 0 : value.orders, filterField, filterKeyword, fieldRenderMap, type]);
28452
+ var supportsBatchFilter = (_EXACT_FILTER_FIELDS$2 = EXACT_FILTER_FIELDS[type]) === null || _EXACT_FILTER_FIELDS$2 === void 0 ? void 0 : _EXACT_FILTER_FIELDS$2.includes(filterField);
28414
28453
  var getOrderList = /*#__PURE__*/function () {
28415
28454
  var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(orderNo) {
28416
28455
  return _regeneratorRuntime().wrap(function _callee$(_context) {
@@ -28844,7 +28883,7 @@ var index$2 = (function (props) {
28844
28883
  value: col.dataIndex
28845
28884
  }, col.title);
28846
28885
  })), /*#__PURE__*/React.createElement(Input, {
28847
- placeholder: "\u8F93\u5165\u5173\u952E\u8BCD\u6A21\u7CCA\u5339\u914D",
28886
+ placeholder: supportsBatchFilter ? '输入关键词,支持批量查询' : '输入关键词模糊匹配',
28848
28887
  style: {
28849
28888
  width: 200
28850
28889
  },
@@ -19,5 +19,6 @@ interface BsSystemOrderProps {
19
19
  selectMode?: string;
20
20
  }
21
21
  export declare const rowKeyMap: Record<string, string>;
22
+ export declare const splitFilterValues: (value: unknown) => string[];
22
23
  declare const _default: (props: BsSystemOrderProps) => React.JSX.Element;
23
24
  export default _default;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kmkf-fe-packages/basic-components",
3
- "version": "2.10.9-beta.73",
3
+ "version": "2.10.9-beta.76",
4
4
  "description": "> TODO: description",
5
5
  "homepage": "",
6
6
  "license": "ISC",
@@ -20,7 +20,7 @@
20
20
  "watch": "nodemon --ignore dist/ --ignore node_modules/ --watch src/ -C -e ts,tsx,less --debug -x 'yarn async'"
21
21
  },
22
22
  "dependencies": {
23
- "@kmkf-fe-packages/kmkf-utils": "2.10.9-beta.73",
23
+ "@kmkf-fe-packages/kmkf-utils": "2.10.9-beta.76",
24
24
  "ahooks": "^3.7.4",
25
25
  "ali-react-table": "2.6.1",
26
26
  "bignumber.js": "^9.1.2",
@@ -66,5 +66,5 @@
66
66
  "publishConfig": {
67
67
  "access": "public"
68
68
  },
69
- "gitHead": "732c2f7632e5e44cf4074c1f4011a7befbd9fef0"
69
+ "gitHead": "c2cc9cc73817f992676da93baa45dd9bf1414894"
70
70
  }