@kmkf-fe-packages/basic-components 2.3.19-beta.6 → 2.3.19-beta.8
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 +170 -32
- package/dist/index.js +169 -31
- package/dist/src/bs/SystemOrder/index.d.ts +1 -1
- package/package.json +3 -3
package/dist/index.esm.js
CHANGED
|
@@ -3,7 +3,7 @@ import { Cascader, DatePicker, Image, InputNumber, Input, Select, Upload, messag
|
|
|
3
3
|
import { EyeOutlined, DeleteOutlined, CloseOutlined, PlusSquareOutlined, MinusCircleFilled, PlusCircleFilled, CopyOutlined, CloseCircleOutlined, CaretUpOutlined, UpOutlined, DownOutlined, PlusOutlined, VideoCameraTwoTone } from '@ant-design/icons';
|
|
4
4
|
import request, { extend as extend$1 } from 'umi-request';
|
|
5
5
|
import { CopyToClipboard } from 'react-copy-to-clipboard';
|
|
6
|
-
import { AddressData, BsAddressData, WdtAddressData, GyAddressData, JstAddressData, request as request$1, ExpressData, isNull, imgResize, uuid, servers, columnsGoodsList, LogisticsAddressData, SendDataCenter, kmSkuTypeMap, hasAddNullComponent, SUBMIT_TIME_ID, UPGRADE_TIME_ID, FINAL_TIME_ID, CUSTOM_TIME_ID, useStatus, finalFormData, transformList, dataSourceTrans, DATA_SPLIT_COMPONENT_FIELDS_MAP, findLabelBySelectValue, BS_E3_BOOLEAN_STATUS_MAP, filterWdtOrders, WDT_ORDER_TYPE_MAP, tradeStatusMap, filterBsE3Orders, filterGyOrders, GY_DELIVERY_STATE_MAPPING, filterJstOrders, filterJyOrders, JY_ORDER_TYPE_MAP, JY_ORDER_STATUS_MAP, filterJkyOrders, JKY_ORDER_FROM_MAP, JKY_ORDER_TYPE_MAP, JKY_ORDER_STATUS_MAP, getJkyLogisticInfo, filterKmOrders, getSystemShowHead, getIsPlatformCodesIncludeOrderNos, BS_SYSTEM_ORDER_CONFIG, KM_SYSTEM_ORDER_CONFIG, WLN_SYSTEM_ORDER_CONFIG, WDT_SYSTEM_ORDER_CONFIG, BS_E3_SYSTEM_ORDER_CONFIG, GY_SYSTEM_ORDER_CONFIG, JST_SYSTEM_ORDER_CONFIG, JY_SYSTEM_ORDER_CONFIG, JKY_SYSTEM_ORDER_CONFIG, WDT_RETURN_BILL_NO_CONFIG, updateOrderSubFormGoodsHandle, updateWlnGoodsHandle, updateWdtGoodsHandle, updateBsE3GoodsHandle, updateGyGoodsHandle, updateJstGoodsHandle, updateKmGoodsHandle, updateJyGoodsHandle, updateJkyGoodsHandle, updateWdtAftersaleGoodsHandle, jstMergeIdenticalGoods, msgTypeCh, pushGyLog, skxSystemOrderBackValues, skxReturnSystemOrderBackValues, formatTrade, updateSkxGoodsHandle, formatReturnTrade, updateSkxReturnGoodsHandle } from '@kmkf-fe-packages/kmkf-utils';
|
|
6
|
+
import { AddressData, BsAddressData, WdtAddressData, GyAddressData, JstAddressData, request as request$1, ExpressData, isNull, imgResize, uuid, servers, columnsGoodsList, LogisticsAddressData, SendDataCenter, kmSkuTypeMap, hasAddNullComponent, SUBMIT_TIME_ID, UPGRADE_TIME_ID, FINAL_TIME_ID, CUSTOM_TIME_ID, useStatus, finalFormData, transformList, dataSourceTrans, DATA_SPLIT_COMPONENT_FIELDS_MAP, findLabelBySelectValue, BS_E3_BOOLEAN_STATUS_MAP, filterWdtOrders, WDT_ORDER_TYPE_MAP, tradeStatusMap, filterBsE3Orders, filterGyOrders, GY_DELIVERY_STATE_MAPPING, filterJstOrders, filterJyOrders, JY_ORDER_TYPE_MAP, JY_ORDER_STATUS_MAP, filterJkyOrders, JKY_ORDER_FROM_MAP, JKY_ORDER_TYPE_MAP, JKY_ORDER_STATUS_MAP, getJkyLogisticInfo, filterKmOrders, getSystemShowHead, getIsPlatformCodesIncludeOrderNos, BS_SYSTEM_ORDER_CONFIG, KM_SYSTEM_ORDER_CONFIG, WLN_SYSTEM_ORDER_CONFIG, WDT_SYSTEM_ORDER_CONFIG, BS_E3_SYSTEM_ORDER_CONFIG, GY_SYSTEM_ORDER_CONFIG, JST_SYSTEM_ORDER_CONFIG, JY_SYSTEM_ORDER_CONFIG, JKY_SYSTEM_ORDER_CONFIG, WDT_RETURN_BILL_NO_CONFIG, BS_E3_ORDER_STATUS_MAP, KM_ORDER_TYPE_MAP, KM_ORDER_STATUS, updateOrderSubFormGoodsHandle, updateWlnGoodsHandle, updateWdtGoodsHandle, updateBsE3GoodsHandle, updateGyGoodsHandle, updateJstGoodsHandle, updateKmGoodsHandle, updateJyGoodsHandle, updateJkyGoodsHandle, updateWdtAftersaleGoodsHandle, jstMergeIdenticalGoods, msgTypeCh, pushGyLog, skxSystemOrderBackValues, skxReturnSystemOrderBackValues, formatTrade, updateSkxGoodsHandle, formatReturnTrade, updateSkxReturnGoodsHandle } from '@kmkf-fe-packages/kmkf-utils';
|
|
7
7
|
import every from 'lodash/every';
|
|
8
8
|
import maxBy from 'lodash/maxBy';
|
|
9
9
|
import { debounce, isNaN as isNaN$1, isNumber as isNumber$1, uniqBy, cloneDeep, difference, differenceWith, isBoolean, isEqual, takeRight, reject as reject$1, intersection, isEmpty } from 'lodash';
|
|
@@ -16144,30 +16144,33 @@ var GoodList = function GoodList(props, ref) {
|
|
|
16144
16144
|
selectedRowKeys: selectIds,
|
|
16145
16145
|
fixed: true,
|
|
16146
16146
|
onSelect: function onSelect(record, selected) {
|
|
16147
|
+
var uniqueKey = "".concat(record.goodNo, "-").concat(record.specNo);
|
|
16147
16148
|
if (selected) {
|
|
16148
|
-
setSelectIds([].concat(_toConsumableArray(selectIds), [
|
|
16149
|
+
setSelectIds([].concat(_toConsumableArray(selectIds), [uniqueKey]));
|
|
16149
16150
|
setSelect([].concat(_toConsumableArray(selectList), [record]));
|
|
16150
16151
|
} else {
|
|
16151
16152
|
setSelectIds(selectIds.filter(function (t) {
|
|
16152
|
-
return t !==
|
|
16153
|
+
return t !== uniqueKey;
|
|
16153
16154
|
}));
|
|
16154
16155
|
setSelect(selectList.filter(function (t) {
|
|
16155
|
-
return t.specNo !==
|
|
16156
|
+
return "".concat(t.goodNo, "-").concat(t.specNo) !== uniqueKey;
|
|
16156
16157
|
}));
|
|
16157
16158
|
}
|
|
16158
16159
|
},
|
|
16159
16160
|
onSelectAll: function onSelectAll(selected, selectedRows, changeRows) {
|
|
16160
16161
|
if (selected) {
|
|
16161
|
-
|
|
16162
|
-
return t.specNo;
|
|
16163
|
-
})
|
|
16162
|
+
var changeKeys = changeRows.map(function (t) {
|
|
16163
|
+
return "".concat(t.goodNo, "-").concat(t.specNo);
|
|
16164
|
+
});
|
|
16165
|
+
setSelectIds([].concat(_toConsumableArray(selectIds), _toConsumableArray(changeKeys)));
|
|
16164
16166
|
setSelect([].concat(_toConsumableArray(selectList), _toConsumableArray(changeRows)));
|
|
16165
16167
|
} else {
|
|
16166
|
-
|
|
16167
|
-
return t.specNo;
|
|
16168
|
-
})
|
|
16168
|
+
var _changeKeys = changeRows.map(function (t) {
|
|
16169
|
+
return "".concat(t.goodNo, "-").concat(t.specNo);
|
|
16170
|
+
});
|
|
16171
|
+
setSelectIds(difference(selectIds, _changeKeys));
|
|
16169
16172
|
var list = differenceWith(selectList, changeRows, function (arrVal, othVal) {
|
|
16170
|
-
return arrVal.specNo !== othVal.specNo;
|
|
16173
|
+
return "".concat(arrVal.goodNo, "-").concat(arrVal.specNo) !== "".concat(othVal.goodNo, "-").concat(othVal.specNo);
|
|
16171
16174
|
});
|
|
16172
16175
|
setSelect(list);
|
|
16173
16176
|
}
|
|
@@ -16175,11 +16178,12 @@ var GoodList = function GoodList(props, ref) {
|
|
|
16175
16178
|
};
|
|
16176
16179
|
var showTable = function showTable() {
|
|
16177
16180
|
var handleDelete = function handleDelete(record) {
|
|
16181
|
+
var uniqueKey = "".concat(record.goodNo, "-").concat(record.specNo);
|
|
16178
16182
|
setSelectIds(selectIds.filter(function (t) {
|
|
16179
|
-
return t !==
|
|
16183
|
+
return t !== uniqueKey;
|
|
16180
16184
|
}));
|
|
16181
16185
|
setSelect(selectList.filter(function (t) {
|
|
16182
|
-
return t.specNo !==
|
|
16186
|
+
return "".concat(t.goodNo, "-").concat(t.specNo) !== uniqueKey;
|
|
16183
16187
|
}));
|
|
16184
16188
|
};
|
|
16185
16189
|
var showColumns = [{
|
|
@@ -16203,7 +16207,9 @@ var GoodList = function GoodList(props, ref) {
|
|
|
16203
16207
|
}
|
|
16204
16208
|
}, /*#__PURE__*/React.createElement(Table, {
|
|
16205
16209
|
columns: showColumns,
|
|
16206
|
-
rowKey:
|
|
16210
|
+
rowKey: function rowKey(record) {
|
|
16211
|
+
return "".concat(record.goodNo, "-").concat(record.specNo);
|
|
16212
|
+
},
|
|
16207
16213
|
dataSource: selectList,
|
|
16208
16214
|
scroll: {
|
|
16209
16215
|
x: '100%',
|
|
@@ -16233,7 +16239,9 @@ var GoodList = function GoodList(props, ref) {
|
|
|
16233
16239
|
}, /*#__PURE__*/React.createElement(Table, _objectSpread2(_objectSpread2({
|
|
16234
16240
|
className: "GoodModalColumns",
|
|
16235
16241
|
rowSelection: rowSelection,
|
|
16236
|
-
rowKey:
|
|
16242
|
+
rowKey: function rowKey(record) {
|
|
16243
|
+
return "".concat(record.goodNo, "-").concat(record.specNo);
|
|
16244
|
+
},
|
|
16237
16245
|
columns: columns,
|
|
16238
16246
|
scroll: {
|
|
16239
16247
|
x: '100%',
|
|
@@ -25886,6 +25894,34 @@ var index$2 = (function (props) {
|
|
|
25886
25894
|
showHeader = _props$showHeader === void 0 ? [] : _props$showHeader;
|
|
25887
25895
|
var onceRef = useRef(false);
|
|
25888
25896
|
var valueRef = useRef(null);
|
|
25897
|
+
// 字段筛选状态 - 用户选择要筛选的字段(单选)
|
|
25898
|
+
var _useState = useState(''),
|
|
25899
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
25900
|
+
filterField = _useState2[0],
|
|
25901
|
+
setFilterField = _useState2[1];
|
|
25902
|
+
// 筛选关键词 - 输入框内容,用于模糊匹配选中字段列的值
|
|
25903
|
+
var _useState3 = useState(''),
|
|
25904
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
25905
|
+
filterKeyword = _useState4[0],
|
|
25906
|
+
setFilterKeyword = _useState4[1];
|
|
25907
|
+
// 初始化筛选字段(仅在 type 变化时初始化)
|
|
25908
|
+
useEffect(function () {
|
|
25909
|
+
var allColumns = columnsMap[type] || [];
|
|
25910
|
+
if (showHeader && showHeader.length > 0) {
|
|
25911
|
+
var _validItems$;
|
|
25912
|
+
// showHeader 是对象数组,提取第一个 dataIndex
|
|
25913
|
+
var validItems = showHeader.filter(function (item) {
|
|
25914
|
+
return item.show !== false;
|
|
25915
|
+
});
|
|
25916
|
+
var defaultField = ((_validItems$ = validItems[0]) === null || _validItems$ === void 0 ? void 0 : _validItems$.dataIndex) || '';
|
|
25917
|
+
setFilterField(defaultField);
|
|
25918
|
+
} else {
|
|
25919
|
+
var _allColumns$;
|
|
25920
|
+
// 如果 showHeader 为空,使用第一个列
|
|
25921
|
+
var firstField = ((_allColumns$ = allColumns[0]) === null || _allColumns$ === void 0 ? void 0 : _allColumns$.dataIndex) || '';
|
|
25922
|
+
setFilterField(firstField);
|
|
25923
|
+
}
|
|
25924
|
+
}, [type]);
|
|
25889
25925
|
useEffect(function () {
|
|
25890
25926
|
var _value$orders, _value$showOrderInfo;
|
|
25891
25927
|
valueRef.current = value;
|
|
@@ -25913,12 +25949,100 @@ var index$2 = (function (props) {
|
|
|
25913
25949
|
}
|
|
25914
25950
|
}, [value, type]);
|
|
25915
25951
|
var columns = useMemo(function () {
|
|
25952
|
+
// 通过 getSystemShowHead 处理 showHeader 配置
|
|
25916
25953
|
var baseInfoColumns = getSystemShowHead({
|
|
25917
25954
|
columns: columnsMap[type] || [],
|
|
25918
25955
|
showHeader: showHeader
|
|
25919
25956
|
});
|
|
25920
25957
|
return baseInfoColumns || [];
|
|
25921
25958
|
}, [type, showHeader]);
|
|
25959
|
+
// 构建字段渲染值映射表(原始值 -> 显示值),用于筛选时同时匹配原始值和显示值
|
|
25960
|
+
var fieldRenderMap = useMemo(function () {
|
|
25961
|
+
var map = {};
|
|
25962
|
+
// JKY_SYSTEM_ORDER 需要处理的字段
|
|
25963
|
+
if (type === 'JKY_SYSTEM_ORDER') {
|
|
25964
|
+
// isDelete: 1 -> "是", 0 -> "否"
|
|
25965
|
+
map['isDelete'] = {
|
|
25966
|
+
'1': '是',
|
|
25967
|
+
'0': '否'
|
|
25968
|
+
};
|
|
25969
|
+
// tradeFrom - 订单来源映射
|
|
25970
|
+
map['tradeFrom'] = _objectSpread2({}, JKY_ORDER_FROM_MAP);
|
|
25971
|
+
// tradeType - 订单类型映射
|
|
25972
|
+
map['tradeType'] = _objectSpread2({}, JKY_ORDER_TYPE_MAP);
|
|
25973
|
+
// tradeStatus - 销售单状态映射
|
|
25974
|
+
map['tradeStatus'] = _objectSpread2({}, JKY_ORDER_STATUS_MAP);
|
|
25975
|
+
}
|
|
25976
|
+
// BS_E3_SYSTEM_ORDER 需要处理的字段
|
|
25977
|
+
if (type === 'BS_E3_SYSTEM_ORDER') {
|
|
25978
|
+
// orderStatus - 订单状态映射
|
|
25979
|
+
map['orderStatus'] = _objectSpread2({}, BS_E3_ORDER_STATUS_MAP);
|
|
25980
|
+
// 布尔类型字段映射
|
|
25981
|
+
var booleanMap = _objectSpread2({}, BS_E3_BOOLEAN_STATUS_MAP);
|
|
25982
|
+
['isSplit', 'isSplitNew', 'isCombine', 'isCombineNew', 'isCopy', 'isExchangeOrder'].forEach(function (field) {
|
|
25983
|
+
map[field] = booleanMap;
|
|
25984
|
+
});
|
|
25985
|
+
}
|
|
25986
|
+
// KM_SYSTEM_ORDER 需要处理的字段
|
|
25987
|
+
if (type === 'KM_SYSTEM_ORDER') {
|
|
25988
|
+
// billType - 订单类型映射(0: "普通订单", 1: "货到付款", ...)
|
|
25989
|
+
map['billType'] = _objectSpread2({}, KM_ORDER_TYPE_MAP);
|
|
25990
|
+
// sysStatus - 订单系统状态映射
|
|
25991
|
+
map['sysStatus'] = _objectSpread2({}, KM_ORDER_STATUS);
|
|
25992
|
+
}
|
|
25993
|
+
// JY_SYSTEM_ORDER 需要处理的字段
|
|
25994
|
+
if (type === 'JY_SYSTEM_ORDER') {
|
|
25995
|
+
// tradeType - 订单类型映射
|
|
25996
|
+
map['tradeType'] = _objectSpread2({}, JY_ORDER_TYPE_MAP);
|
|
25997
|
+
// tradeStatus - 订单状态映射
|
|
25998
|
+
map['tradeStatus'] = _objectSpread2({}, JY_ORDER_STATUS_MAP);
|
|
25999
|
+
}
|
|
26000
|
+
// GY_SYSTEM_ORDER 需要处理的字段
|
|
26001
|
+
if (type === 'GY_SYSTEM_ORDER') {
|
|
26002
|
+
// deliveryStateName - 发货状态映射 (0: "未发货", 2: "全部发货")
|
|
26003
|
+
map['deliveryStateName'] = _objectSpread2({}, GY_DELIVERY_STATE_MAPPING);
|
|
26004
|
+
}
|
|
26005
|
+
return map;
|
|
26006
|
+
}, [type]);
|
|
26007
|
+
// 过滤后的表格数据 - 根据选中字段和关键词模糊匹配(不区分大小写)
|
|
26008
|
+
var filteredData = useMemo(function () {
|
|
26009
|
+
if (!filterField || !filterKeyword) {
|
|
26010
|
+
return (value === null || value === void 0 ? void 0 : value.orders) || [];
|
|
26011
|
+
}
|
|
26012
|
+
var keywordLower = filterKeyword.toLowerCase();
|
|
26013
|
+
var renderMap = fieldRenderMap[filterField];
|
|
26014
|
+
return ((value === null || value === void 0 ? void 0 : value.orders) || []).filter(function (item) {
|
|
26015
|
+
var fieldValue = item[filterField];
|
|
26016
|
+
if (fieldValue == null) return false;
|
|
26017
|
+
var fieldValueStr = String(fieldValue);
|
|
26018
|
+
var fieldValueLower = fieldValueStr.toLowerCase();
|
|
26019
|
+
// 直接匹配原始值
|
|
26020
|
+
if (fieldValueLower.includes(keywordLower)) return true;
|
|
26021
|
+
// 匹配渲染后的值
|
|
26022
|
+
if (renderMap) {
|
|
26023
|
+
// KM_SYSTEM_ORDER 的 billType 是逗号分隔的多个类型(如 "2,3,0")
|
|
26024
|
+
var isKmBillType = filterField === 'billType' && fieldValueStr.includes(',');
|
|
26025
|
+
if (isKmBillType) {
|
|
26026
|
+
// 拆分为单个类型代码,分别映射后拼接
|
|
26027
|
+
var typeCodes = fieldValueStr.split(',');
|
|
26028
|
+
var displayValues = typeCodes.map(function (code) {
|
|
26029
|
+
return renderMap[code.trim()];
|
|
26030
|
+
}).filter(Boolean);
|
|
26031
|
+
var displayValueStr = displayValues.join(',');
|
|
26032
|
+
if (displayValueStr.toLowerCase().includes(keywordLower)) {
|
|
26033
|
+
return true;
|
|
26034
|
+
}
|
|
26035
|
+
} else {
|
|
26036
|
+
// 单个值的字段
|
|
26037
|
+
var displayValue = renderMap[fieldValueStr];
|
|
26038
|
+
if (displayValue && displayValue.toLowerCase().includes(keywordLower)) {
|
|
26039
|
+
return true;
|
|
26040
|
+
}
|
|
26041
|
+
}
|
|
26042
|
+
}
|
|
26043
|
+
return false;
|
|
26044
|
+
});
|
|
26045
|
+
}, [value === null || value === void 0 ? void 0 : value.orders, filterField, filterKeyword, fieldRenderMap]);
|
|
25922
26046
|
var getOrderList = /*#__PURE__*/function () {
|
|
25923
26047
|
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(orderNo) {
|
|
25924
26048
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
@@ -26211,25 +26335,39 @@ var index$2 = (function (props) {
|
|
|
26211
26335
|
};
|
|
26212
26336
|
}
|
|
26213
26337
|
};
|
|
26214
|
-
// useEffect(() => {
|
|
26215
|
-
// const dom = document.querySelector(
|
|
26216
|
-
// `.${type}_SYSTEM_ORDER_COMPONENT .ant-table-content`,
|
|
26217
|
-
// );
|
|
26218
|
-
// //解决列表出现横向滚动条时选择数据造成行内闪烁问题
|
|
26219
|
-
// if (
|
|
26220
|
-
// (value?.selectIds || []).length > 0 &&
|
|
26221
|
-
// dom &&
|
|
26222
|
-
// dom.scrollWidth > dom.clientWidth &&
|
|
26223
|
-
// dom.scrollLeft === 0
|
|
26224
|
-
// ) {
|
|
26225
|
-
// console.log(dom.scrollWidth > dom.clientWidth, dom.scrollLeft === 0);
|
|
26226
|
-
// dom.scrollLeft = 1;
|
|
26227
|
-
// }
|
|
26228
|
-
// }, [JSON.stringify(value?.selectIds || [])]);
|
|
26229
26338
|
return /*#__PURE__*/React.createElement("div", {
|
|
26230
26339
|
className: "".concat(type, "_SYSTEM_ORDER_COMPONENT")
|
|
26231
|
-
}, /*#__PURE__*/React.createElement(
|
|
26232
|
-
|
|
26340
|
+
}, /*#__PURE__*/React.createElement(Space, {
|
|
26341
|
+
style: {
|
|
26342
|
+
marginBottom: 8
|
|
26343
|
+
}
|
|
26344
|
+
}, /*#__PURE__*/React.createElement(Select, {
|
|
26345
|
+
style: {
|
|
26346
|
+
width: 150
|
|
26347
|
+
},
|
|
26348
|
+
placeholder: "\u9009\u62E9\u5B57\u6BB5",
|
|
26349
|
+
value: filterField,
|
|
26350
|
+
onChange: setFilterField,
|
|
26351
|
+
allowClear: true,
|
|
26352
|
+
showSearch: true,
|
|
26353
|
+
optionFilterProp: "children"
|
|
26354
|
+
}, (columnsMap[type] || []).map(function (col) {
|
|
26355
|
+
return /*#__PURE__*/React.createElement(Select.Option, {
|
|
26356
|
+
key: col.dataIndex,
|
|
26357
|
+
value: col.dataIndex
|
|
26358
|
+
}, col.title);
|
|
26359
|
+
})), /*#__PURE__*/React.createElement(Input, {
|
|
26360
|
+
placeholder: "\u8F93\u5165\u5173\u952E\u8BCD\u6A21\u7CCA\u5339\u914D",
|
|
26361
|
+
style: {
|
|
26362
|
+
width: 200
|
|
26363
|
+
},
|
|
26364
|
+
value: filterKeyword,
|
|
26365
|
+
onChange: function onChange(e) {
|
|
26366
|
+
return setFilterKeyword(e.target.value);
|
|
26367
|
+
},
|
|
26368
|
+
allowClear: true
|
|
26369
|
+
})), /*#__PURE__*/React.createElement(Table, {
|
|
26370
|
+
dataSource: filteredData,
|
|
26233
26371
|
columns: columns,
|
|
26234
26372
|
rowSelection: rowSelection,
|
|
26235
26373
|
rowKey: rowKeyMap[type] || 'billNo',
|
package/dist/index.js
CHANGED
|
@@ -16159,30 +16159,33 @@ var GoodList = function GoodList(props, ref) {
|
|
|
16159
16159
|
selectedRowKeys: selectIds,
|
|
16160
16160
|
fixed: true,
|
|
16161
16161
|
onSelect: function onSelect(record, selected) {
|
|
16162
|
+
var uniqueKey = "".concat(record.goodNo, "-").concat(record.specNo);
|
|
16162
16163
|
if (selected) {
|
|
16163
|
-
setSelectIds([].concat(_toConsumableArray(selectIds), [
|
|
16164
|
+
setSelectIds([].concat(_toConsumableArray(selectIds), [uniqueKey]));
|
|
16164
16165
|
setSelect([].concat(_toConsumableArray(selectList), [record]));
|
|
16165
16166
|
} else {
|
|
16166
16167
|
setSelectIds(selectIds.filter(function (t) {
|
|
16167
|
-
return t !==
|
|
16168
|
+
return t !== uniqueKey;
|
|
16168
16169
|
}));
|
|
16169
16170
|
setSelect(selectList.filter(function (t) {
|
|
16170
|
-
return t.specNo !==
|
|
16171
|
+
return "".concat(t.goodNo, "-").concat(t.specNo) !== uniqueKey;
|
|
16171
16172
|
}));
|
|
16172
16173
|
}
|
|
16173
16174
|
},
|
|
16174
16175
|
onSelectAll: function onSelectAll(selected, selectedRows, changeRows) {
|
|
16175
16176
|
if (selected) {
|
|
16176
|
-
|
|
16177
|
-
return t.specNo;
|
|
16178
|
-
})
|
|
16177
|
+
var changeKeys = changeRows.map(function (t) {
|
|
16178
|
+
return "".concat(t.goodNo, "-").concat(t.specNo);
|
|
16179
|
+
});
|
|
16180
|
+
setSelectIds([].concat(_toConsumableArray(selectIds), _toConsumableArray(changeKeys)));
|
|
16179
16181
|
setSelect([].concat(_toConsumableArray(selectList), _toConsumableArray(changeRows)));
|
|
16180
16182
|
} else {
|
|
16181
|
-
|
|
16182
|
-
return t.specNo;
|
|
16183
|
-
})
|
|
16183
|
+
var _changeKeys = changeRows.map(function (t) {
|
|
16184
|
+
return "".concat(t.goodNo, "-").concat(t.specNo);
|
|
16185
|
+
});
|
|
16186
|
+
setSelectIds(lodash.difference(selectIds, _changeKeys));
|
|
16184
16187
|
var list = lodash.differenceWith(selectList, changeRows, function (arrVal, othVal) {
|
|
16185
|
-
return arrVal.specNo !== othVal.specNo;
|
|
16188
|
+
return "".concat(arrVal.goodNo, "-").concat(arrVal.specNo) !== "".concat(othVal.goodNo, "-").concat(othVal.specNo);
|
|
16186
16189
|
});
|
|
16187
16190
|
setSelect(list);
|
|
16188
16191
|
}
|
|
@@ -16190,11 +16193,12 @@ var GoodList = function GoodList(props, ref) {
|
|
|
16190
16193
|
};
|
|
16191
16194
|
var showTable = function showTable() {
|
|
16192
16195
|
var handleDelete = function handleDelete(record) {
|
|
16196
|
+
var uniqueKey = "".concat(record.goodNo, "-").concat(record.specNo);
|
|
16193
16197
|
setSelectIds(selectIds.filter(function (t) {
|
|
16194
|
-
return t !==
|
|
16198
|
+
return t !== uniqueKey;
|
|
16195
16199
|
}));
|
|
16196
16200
|
setSelect(selectList.filter(function (t) {
|
|
16197
|
-
return t.specNo !==
|
|
16201
|
+
return "".concat(t.goodNo, "-").concat(t.specNo) !== uniqueKey;
|
|
16198
16202
|
}));
|
|
16199
16203
|
};
|
|
16200
16204
|
var showColumns = [{
|
|
@@ -16218,7 +16222,9 @@ var GoodList = function GoodList(props, ref) {
|
|
|
16218
16222
|
}
|
|
16219
16223
|
}, /*#__PURE__*/React__default['default'].createElement(antd.Table, {
|
|
16220
16224
|
columns: showColumns,
|
|
16221
|
-
rowKey:
|
|
16225
|
+
rowKey: function rowKey(record) {
|
|
16226
|
+
return "".concat(record.goodNo, "-").concat(record.specNo);
|
|
16227
|
+
},
|
|
16222
16228
|
dataSource: selectList,
|
|
16223
16229
|
scroll: {
|
|
16224
16230
|
x: '100%',
|
|
@@ -16248,7 +16254,9 @@ var GoodList = function GoodList(props, ref) {
|
|
|
16248
16254
|
}, /*#__PURE__*/React__default['default'].createElement(antd.Table, _objectSpread2(_objectSpread2({
|
|
16249
16255
|
className: "GoodModalColumns",
|
|
16250
16256
|
rowSelection: rowSelection,
|
|
16251
|
-
rowKey:
|
|
16257
|
+
rowKey: function rowKey(record) {
|
|
16258
|
+
return "".concat(record.goodNo, "-").concat(record.specNo);
|
|
16259
|
+
},
|
|
16252
16260
|
columns: columns,
|
|
16253
16261
|
scroll: {
|
|
16254
16262
|
x: '100%',
|
|
@@ -25901,6 +25909,34 @@ var index$2 = (function (props) {
|
|
|
25901
25909
|
showHeader = _props$showHeader === void 0 ? [] : _props$showHeader;
|
|
25902
25910
|
var onceRef = React.useRef(false);
|
|
25903
25911
|
var valueRef = React.useRef(null);
|
|
25912
|
+
// 字段筛选状态 - 用户选择要筛选的字段(单选)
|
|
25913
|
+
var _useState = React.useState(''),
|
|
25914
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
25915
|
+
filterField = _useState2[0],
|
|
25916
|
+
setFilterField = _useState2[1];
|
|
25917
|
+
// 筛选关键词 - 输入框内容,用于模糊匹配选中字段列的值
|
|
25918
|
+
var _useState3 = React.useState(''),
|
|
25919
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
25920
|
+
filterKeyword = _useState4[0],
|
|
25921
|
+
setFilterKeyword = _useState4[1];
|
|
25922
|
+
// 初始化筛选字段(仅在 type 变化时初始化)
|
|
25923
|
+
React.useEffect(function () {
|
|
25924
|
+
var allColumns = columnsMap[type] || [];
|
|
25925
|
+
if (showHeader && showHeader.length > 0) {
|
|
25926
|
+
var _validItems$;
|
|
25927
|
+
// showHeader 是对象数组,提取第一个 dataIndex
|
|
25928
|
+
var validItems = showHeader.filter(function (item) {
|
|
25929
|
+
return item.show !== false;
|
|
25930
|
+
});
|
|
25931
|
+
var defaultField = ((_validItems$ = validItems[0]) === null || _validItems$ === void 0 ? void 0 : _validItems$.dataIndex) || '';
|
|
25932
|
+
setFilterField(defaultField);
|
|
25933
|
+
} else {
|
|
25934
|
+
var _allColumns$;
|
|
25935
|
+
// 如果 showHeader 为空,使用第一个列
|
|
25936
|
+
var firstField = ((_allColumns$ = allColumns[0]) === null || _allColumns$ === void 0 ? void 0 : _allColumns$.dataIndex) || '';
|
|
25937
|
+
setFilterField(firstField);
|
|
25938
|
+
}
|
|
25939
|
+
}, [type]);
|
|
25904
25940
|
React.useEffect(function () {
|
|
25905
25941
|
var _value$orders, _value$showOrderInfo;
|
|
25906
25942
|
valueRef.current = value;
|
|
@@ -25928,12 +25964,100 @@ var index$2 = (function (props) {
|
|
|
25928
25964
|
}
|
|
25929
25965
|
}, [value, type]);
|
|
25930
25966
|
var columns = React.useMemo(function () {
|
|
25967
|
+
// 通过 getSystemShowHead 处理 showHeader 配置
|
|
25931
25968
|
var baseInfoColumns = kmkfUtils.getSystemShowHead({
|
|
25932
25969
|
columns: columnsMap[type] || [],
|
|
25933
25970
|
showHeader: showHeader
|
|
25934
25971
|
});
|
|
25935
25972
|
return baseInfoColumns || [];
|
|
25936
25973
|
}, [type, showHeader]);
|
|
25974
|
+
// 构建字段渲染值映射表(原始值 -> 显示值),用于筛选时同时匹配原始值和显示值
|
|
25975
|
+
var fieldRenderMap = React.useMemo(function () {
|
|
25976
|
+
var map = {};
|
|
25977
|
+
// JKY_SYSTEM_ORDER 需要处理的字段
|
|
25978
|
+
if (type === 'JKY_SYSTEM_ORDER') {
|
|
25979
|
+
// isDelete: 1 -> "是", 0 -> "否"
|
|
25980
|
+
map['isDelete'] = {
|
|
25981
|
+
'1': '是',
|
|
25982
|
+
'0': '否'
|
|
25983
|
+
};
|
|
25984
|
+
// tradeFrom - 订单来源映射
|
|
25985
|
+
map['tradeFrom'] = _objectSpread2({}, kmkfUtils.JKY_ORDER_FROM_MAP);
|
|
25986
|
+
// tradeType - 订单类型映射
|
|
25987
|
+
map['tradeType'] = _objectSpread2({}, kmkfUtils.JKY_ORDER_TYPE_MAP);
|
|
25988
|
+
// tradeStatus - 销售单状态映射
|
|
25989
|
+
map['tradeStatus'] = _objectSpread2({}, kmkfUtils.JKY_ORDER_STATUS_MAP);
|
|
25990
|
+
}
|
|
25991
|
+
// BS_E3_SYSTEM_ORDER 需要处理的字段
|
|
25992
|
+
if (type === 'BS_E3_SYSTEM_ORDER') {
|
|
25993
|
+
// orderStatus - 订单状态映射
|
|
25994
|
+
map['orderStatus'] = _objectSpread2({}, kmkfUtils.BS_E3_ORDER_STATUS_MAP);
|
|
25995
|
+
// 布尔类型字段映射
|
|
25996
|
+
var booleanMap = _objectSpread2({}, kmkfUtils.BS_E3_BOOLEAN_STATUS_MAP);
|
|
25997
|
+
['isSplit', 'isSplitNew', 'isCombine', 'isCombineNew', 'isCopy', 'isExchangeOrder'].forEach(function (field) {
|
|
25998
|
+
map[field] = booleanMap;
|
|
25999
|
+
});
|
|
26000
|
+
}
|
|
26001
|
+
// KM_SYSTEM_ORDER 需要处理的字段
|
|
26002
|
+
if (type === 'KM_SYSTEM_ORDER') {
|
|
26003
|
+
// billType - 订单类型映射(0: "普通订单", 1: "货到付款", ...)
|
|
26004
|
+
map['billType'] = _objectSpread2({}, kmkfUtils.KM_ORDER_TYPE_MAP);
|
|
26005
|
+
// sysStatus - 订单系统状态映射
|
|
26006
|
+
map['sysStatus'] = _objectSpread2({}, kmkfUtils.KM_ORDER_STATUS);
|
|
26007
|
+
}
|
|
26008
|
+
// JY_SYSTEM_ORDER 需要处理的字段
|
|
26009
|
+
if (type === 'JY_SYSTEM_ORDER') {
|
|
26010
|
+
// tradeType - 订单类型映射
|
|
26011
|
+
map['tradeType'] = _objectSpread2({}, kmkfUtils.JY_ORDER_TYPE_MAP);
|
|
26012
|
+
// tradeStatus - 订单状态映射
|
|
26013
|
+
map['tradeStatus'] = _objectSpread2({}, kmkfUtils.JY_ORDER_STATUS_MAP);
|
|
26014
|
+
}
|
|
26015
|
+
// GY_SYSTEM_ORDER 需要处理的字段
|
|
26016
|
+
if (type === 'GY_SYSTEM_ORDER') {
|
|
26017
|
+
// deliveryStateName - 发货状态映射 (0: "未发货", 2: "全部发货")
|
|
26018
|
+
map['deliveryStateName'] = _objectSpread2({}, kmkfUtils.GY_DELIVERY_STATE_MAPPING);
|
|
26019
|
+
}
|
|
26020
|
+
return map;
|
|
26021
|
+
}, [type]);
|
|
26022
|
+
// 过滤后的表格数据 - 根据选中字段和关键词模糊匹配(不区分大小写)
|
|
26023
|
+
var filteredData = React.useMemo(function () {
|
|
26024
|
+
if (!filterField || !filterKeyword) {
|
|
26025
|
+
return (value === null || value === void 0 ? void 0 : value.orders) || [];
|
|
26026
|
+
}
|
|
26027
|
+
var keywordLower = filterKeyword.toLowerCase();
|
|
26028
|
+
var renderMap = fieldRenderMap[filterField];
|
|
26029
|
+
return ((value === null || value === void 0 ? void 0 : value.orders) || []).filter(function (item) {
|
|
26030
|
+
var fieldValue = item[filterField];
|
|
26031
|
+
if (fieldValue == null) return false;
|
|
26032
|
+
var fieldValueStr = String(fieldValue);
|
|
26033
|
+
var fieldValueLower = fieldValueStr.toLowerCase();
|
|
26034
|
+
// 直接匹配原始值
|
|
26035
|
+
if (fieldValueLower.includes(keywordLower)) return true;
|
|
26036
|
+
// 匹配渲染后的值
|
|
26037
|
+
if (renderMap) {
|
|
26038
|
+
// KM_SYSTEM_ORDER 的 billType 是逗号分隔的多个类型(如 "2,3,0")
|
|
26039
|
+
var isKmBillType = filterField === 'billType' && fieldValueStr.includes(',');
|
|
26040
|
+
if (isKmBillType) {
|
|
26041
|
+
// 拆分为单个类型代码,分别映射后拼接
|
|
26042
|
+
var typeCodes = fieldValueStr.split(',');
|
|
26043
|
+
var displayValues = typeCodes.map(function (code) {
|
|
26044
|
+
return renderMap[code.trim()];
|
|
26045
|
+
}).filter(Boolean);
|
|
26046
|
+
var displayValueStr = displayValues.join(',');
|
|
26047
|
+
if (displayValueStr.toLowerCase().includes(keywordLower)) {
|
|
26048
|
+
return true;
|
|
26049
|
+
}
|
|
26050
|
+
} else {
|
|
26051
|
+
// 单个值的字段
|
|
26052
|
+
var displayValue = renderMap[fieldValueStr];
|
|
26053
|
+
if (displayValue && displayValue.toLowerCase().includes(keywordLower)) {
|
|
26054
|
+
return true;
|
|
26055
|
+
}
|
|
26056
|
+
}
|
|
26057
|
+
}
|
|
26058
|
+
return false;
|
|
26059
|
+
});
|
|
26060
|
+
}, [value === null || value === void 0 ? void 0 : value.orders, filterField, filterKeyword, fieldRenderMap]);
|
|
25937
26061
|
var getOrderList = /*#__PURE__*/function () {
|
|
25938
26062
|
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(orderNo) {
|
|
25939
26063
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
@@ -26226,25 +26350,39 @@ var index$2 = (function (props) {
|
|
|
26226
26350
|
};
|
|
26227
26351
|
}
|
|
26228
26352
|
};
|
|
26229
|
-
// useEffect(() => {
|
|
26230
|
-
// const dom = document.querySelector(
|
|
26231
|
-
// `.${type}_SYSTEM_ORDER_COMPONENT .ant-table-content`,
|
|
26232
|
-
// );
|
|
26233
|
-
// //解决列表出现横向滚动条时选择数据造成行内闪烁问题
|
|
26234
|
-
// if (
|
|
26235
|
-
// (value?.selectIds || []).length > 0 &&
|
|
26236
|
-
// dom &&
|
|
26237
|
-
// dom.scrollWidth > dom.clientWidth &&
|
|
26238
|
-
// dom.scrollLeft === 0
|
|
26239
|
-
// ) {
|
|
26240
|
-
// console.log(dom.scrollWidth > dom.clientWidth, dom.scrollLeft === 0);
|
|
26241
|
-
// dom.scrollLeft = 1;
|
|
26242
|
-
// }
|
|
26243
|
-
// }, [JSON.stringify(value?.selectIds || [])]);
|
|
26244
26353
|
return /*#__PURE__*/React__default['default'].createElement("div", {
|
|
26245
26354
|
className: "".concat(type, "_SYSTEM_ORDER_COMPONENT")
|
|
26246
|
-
}, /*#__PURE__*/React__default['default'].createElement(antd.
|
|
26247
|
-
|
|
26355
|
+
}, /*#__PURE__*/React__default['default'].createElement(antd.Space, {
|
|
26356
|
+
style: {
|
|
26357
|
+
marginBottom: 8
|
|
26358
|
+
}
|
|
26359
|
+
}, /*#__PURE__*/React__default['default'].createElement(antd.Select, {
|
|
26360
|
+
style: {
|
|
26361
|
+
width: 150
|
|
26362
|
+
},
|
|
26363
|
+
placeholder: "\u9009\u62E9\u5B57\u6BB5",
|
|
26364
|
+
value: filterField,
|
|
26365
|
+
onChange: setFilterField,
|
|
26366
|
+
allowClear: true,
|
|
26367
|
+
showSearch: true,
|
|
26368
|
+
optionFilterProp: "children"
|
|
26369
|
+
}, (columnsMap[type] || []).map(function (col) {
|
|
26370
|
+
return /*#__PURE__*/React__default['default'].createElement(antd.Select.Option, {
|
|
26371
|
+
key: col.dataIndex,
|
|
26372
|
+
value: col.dataIndex
|
|
26373
|
+
}, col.title);
|
|
26374
|
+
})), /*#__PURE__*/React__default['default'].createElement(antd.Input, {
|
|
26375
|
+
placeholder: "\u8F93\u5165\u5173\u952E\u8BCD\u6A21\u7CCA\u5339\u914D",
|
|
26376
|
+
style: {
|
|
26377
|
+
width: 200
|
|
26378
|
+
},
|
|
26379
|
+
value: filterKeyword,
|
|
26380
|
+
onChange: function onChange(e) {
|
|
26381
|
+
return setFilterKeyword(e.target.value);
|
|
26382
|
+
},
|
|
26383
|
+
allowClear: true
|
|
26384
|
+
})), /*#__PURE__*/React__default['default'].createElement(antd.Table, {
|
|
26385
|
+
dataSource: filteredData,
|
|
26248
26386
|
columns: columns,
|
|
26249
26387
|
rowSelection: rowSelection,
|
|
26250
26388
|
rowKey: rowKeyMap[type] || 'billNo',
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kmkf-fe-packages/basic-components",
|
|
3
|
-
"version": "2.3.19-beta.
|
|
3
|
+
"version": "2.3.19-beta.8",
|
|
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.3.19-beta.
|
|
23
|
+
"@kmkf-fe-packages/kmkf-utils": "2.3.19-beta.8",
|
|
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": "
|
|
69
|
+
"gitHead": "e64e81ee97f6b60aba0cbf5eb21caa3901804e9e"
|
|
70
70
|
}
|