@bit-sun/business-component 3.1.0 → 3.1.1

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
@@ -2700,6 +2700,7 @@ var DataValidation = /*#__PURE__*/function (_React$Component) {
2700
2700
  return data;
2701
2701
  };
2702
2702
  _this.resetData = function () {
2703
+ var _customerColumnsMappi;
2703
2704
  var _this$props = _this.props,
2704
2705
  validDataUrl = _this$props.validDataUrl,
2705
2706
  validDataParams = _this$props.validDataParams,
@@ -2707,10 +2708,16 @@ var DataValidation = /*#__PURE__*/function (_React$Component) {
2707
2708
  columns = _this$props.columns,
2708
2709
  isBrandAuth = _this$props.isBrandAuth,
2709
2710
  _this$props$isCheckSt = _this$props.isCheckStockNum,
2710
- isCheckStockNum = _this$props$isCheckSt === void 0 ? true : _this$props$isCheckSt;
2711
+ isCheckStockNum = _this$props$isCheckSt === void 0 ? true : _this$props$isCheckSt,
2712
+ customerColumnsMapping = _this$props.customerColumnsMapping;
2711
2713
  var resultData = _this.getData().filter(function (d) {
2712
2714
  return _.compact(Object.values(d)).length;
2713
2715
  });
2716
+ var resultColumns = (customerColumnsMapping === null || customerColumnsMapping === void 0 ? void 0 : customerColumnsMapping.length) ? customerColumnsMapping === null || customerColumnsMapping === void 0 ? void 0 : (_customerColumnsMappi = customerColumnsMapping.filter(function (c) {
2717
+ return !(c === null || c === void 0 ? void 0 : c.name);
2718
+ })) === null || _customerColumnsMappi === void 0 ? void 0 : _customerColumnsMappi.map(function (c) {
2719
+ return c.name;
2720
+ }) : columns;
2714
2721
  // 处理业务参数
2715
2722
  var otherParams = {};
2716
2723
  if (isBrandAuth) {
@@ -2719,7 +2726,7 @@ var DataValidation = /*#__PURE__*/function (_React$Component) {
2719
2726
  };
2720
2727
  }
2721
2728
  requestUtil.post(validDataUrl, _objectSpread2(_objectSpread2(_objectSpread2({}, otherParams), validDataParams), {}, {
2722
- columns: columns,
2729
+ columns: resultColumns,
2723
2730
  data: resultData,
2724
2731
  checkStockNum: isCheckStockNum
2725
2732
  })).then(function (result) {
@@ -2734,12 +2741,12 @@ var DataValidation = /*#__PURE__*/function (_React$Component) {
2734
2741
  var sheetData = luckysheet.getSheetData();
2735
2742
  sheetData.map(function (item, index) {
2736
2743
  if (!res[index]) return item;
2737
- var changeVMIndex = _this.props.columns.findIndex(function (i) {
2744
+ var changeVMIndex = resultColumns === null || resultColumns === void 0 ? void 0 : resultColumns.findIndex(function (i) {
2738
2745
  return i === 'skuCode';
2739
2746
  });
2740
- if (_this.props.columns.find(function (i) {
2747
+ if ((resultColumns === null || resultColumns === void 0 ? void 0 : resultColumns.find(function (i) {
2741
2748
  return i === 'skuCode';
2742
- }) && item[changeVMIndex].v !== res[index].skuCode) {
2749
+ })) && item[changeVMIndex].v !== res[index].skuCode) {
2743
2750
  item[changeVMIndex].v = res[index].skuCode;
2744
2751
  item[changeVMIndex].m = res[index].skuCode;
2745
2752
  }
@@ -2994,7 +3001,7 @@ var luckysheet$1;
2994
3001
  // { "key": "quantity", "name": "数量", "rule": "quantity" },
2995
3002
  // { "key": "price", "name": "单价", "rule": "price" }
2996
3003
  // ]
2997
- var mapping$1 = new Map([['skuCode', 'SKU编码'], ['quantity', '数量'], ['price', '单价'], ['regionCode', '库区'], ['checkQuantity', '实盘数量'], ['shareRatio', '共享比例'], ['lotNumberCode', '批号'], ['warehouseCode', '仓库编码'], ['regionCode', '库区'], ['locationCode', '货位'], ['rowNumber', '货位排数'], ['layerNumber', '货位层数'], ['gridNumber', '货位格号'], ['oldUniqueCode', '原始唯一码'], ['newUniqueCode', '新唯一码'], ['relationRecordCode', '单据编码'], ['remark', '备注'], ['externalCode', 'JDE商品编码'], ['realWarehouseCode', '仓库编码'], ['syncRate', '按百分比'], ['assignQuantity', '按指定数量'], ['retainQuantity', ' 按保留数量'], ['priority', ' 优先级']]);
3004
+ var mapping$1 = new Map([['skuCode', 'SKU编码'], ['quantity', '数量'], ['price', '单价'], ['regionCode', '库区'], ['checkQuantity', '实盘数量'], ['shareRatio', '共享比例'], ['lotNumberCode', '批号'], ['warehouseCode', '仓库编码'], ['regionCode', '库区'], ['locationCode', '货位'], ['rowNumber', '货位排数'], ['layerNumber', '货位层数'], ['gridNumber', '货位格号'], ['oldUniqueCode', '原始唯一码'], ['newUniqueCode', '新唯一码'], ['relationRecordCode', '单据编码'], ['remark', '备注'], ['externalCode', 'JDE商品编码'], ['realWarehouseCode', '仓库编码'], ['syncRate', '按百分比'], ['assignQuantity', '按指定数量'], ['retainQuantity', ' 按保留数量'], ['priority', ' 优先级'], ['stockBizTypeCode', ' 库存类型']]);
2998
3005
  // a little function to help us with reordering the result
2999
3006
  var reorder$1 = function reorder(list, startIndex, endIndex) {
3000
3007
  var result = Array.from(list);
@@ -3287,6 +3294,7 @@ var DataImport = /*#__PURE__*/function (_React$Component) {
3287
3294
  return data;
3288
3295
  };
3289
3296
  _this.resetData = function () {
3297
+ var _customerColumnsMappi;
3290
3298
  var _this$props = _this.props,
3291
3299
  validDataUrl = _this$props.validDataUrl,
3292
3300
  validDataParams = _this$props.validDataParams,
@@ -3294,10 +3302,16 @@ var DataImport = /*#__PURE__*/function (_React$Component) {
3294
3302
  columns = _this$props.columns,
3295
3303
  isBrandAuth = _this$props.isBrandAuth,
3296
3304
  _this$props$isCheckSt = _this$props.isCheckStockNum,
3297
- isCheckStockNum = _this$props$isCheckSt === void 0 ? true : _this$props$isCheckSt;
3305
+ isCheckStockNum = _this$props$isCheckSt === void 0 ? true : _this$props$isCheckSt,
3306
+ customerColumnsMapping = _this$props.customerColumnsMapping;
3298
3307
  var resultData = _this.getData().filter(function (d) {
3299
3308
  return _.compact(Object.values(d)).length;
3300
3309
  });
3310
+ var resultColumns = (customerColumnsMapping === null || customerColumnsMapping === void 0 ? void 0 : customerColumnsMapping.length) ? customerColumnsMapping === null || customerColumnsMapping === void 0 ? void 0 : (_customerColumnsMappi = customerColumnsMapping.filter(function (c) {
3311
+ return !(c === null || c === void 0 ? void 0 : c.name);
3312
+ })) === null || _customerColumnsMappi === void 0 ? void 0 : _customerColumnsMappi.map(function (c) {
3313
+ return c.name;
3314
+ }) : columns;
3301
3315
  // 处理业务参数
3302
3316
  var otherParams = {};
3303
3317
  if (isBrandAuth) {
@@ -3306,7 +3320,7 @@ var DataImport = /*#__PURE__*/function (_React$Component) {
3306
3320
  };
3307
3321
  }
3308
3322
  requestUtil.post(validDataUrl, _objectSpread2(_objectSpread2(_objectSpread2({}, otherParams), validDataParams), {}, {
3309
- columns: columns,
3323
+ columns: resultColumns,
3310
3324
  data: resultData,
3311
3325
  checkStockNum: isCheckStockNum
3312
3326
  })).then(function (result) {
@@ -3321,12 +3335,12 @@ var DataImport = /*#__PURE__*/function (_React$Component) {
3321
3335
  var sheetData = luckysheet$1.getSheetData();
3322
3336
  sheetData.map(function (item, index) {
3323
3337
  if (!res[index]) return item;
3324
- var changeVMIndex = _this.props.columns.findIndex(function (i) {
3338
+ var changeVMIndex = resultColumns === null || resultColumns === void 0 ? void 0 : resultColumns.findIndex(function (i) {
3325
3339
  return i === 'skuCode';
3326
3340
  });
3327
- if (_this.props.columns.find(function (i) {
3341
+ if ((resultColumns === null || resultColumns === void 0 ? void 0 : resultColumns.find(function (i) {
3328
3342
  return i === 'skuCode';
3329
- }) && item[changeVMIndex].v !== res[index].skuCode) {
3343
+ })) && item[changeVMIndex].v !== res[index].skuCode) {
3330
3344
  item[changeVMIndex].v = res[index].skuCode;
3331
3345
  item[changeVMIndex].m = res[index].skuCode;
3332
3346
  }
@@ -4548,26 +4562,40 @@ var SearchSelect = /*#__PURE__*/forwardRef(function (props, ref) {
4548
4562
  return specialBracket ? "\u3010".concat(item.textShowKey, "\u3011").concat(showText) : "".concat(item.textShowKey, " ").concat(showText);
4549
4563
  }
4550
4564
  };
4565
+ var getShowLabelTextStr = function getShowLabelTextStr(kongValue) {
4566
+ if (selectMode) {
4567
+ var _value$map;
4568
+ return (value === null || value === void 0 ? void 0 : (_value$map = value.map(function (item) {
4569
+ return item.label || item.text || '';
4570
+ })) === null || _value$map === void 0 ? void 0 : _value$map.join(',')) || kongValue;
4571
+ }
4572
+ return (value === null || value === void 0 ? void 0 : value.label) || (value === null || value === void 0 ? void 0 : value.text) || kongValue;
4573
+ };
4551
4574
  var getSelectValueText = function getSelectValueText(v) {
4552
4575
  var _filter, _filter$;
4553
4576
  return ((_filter = (items || []).filter(function (item) {
4554
4577
  return item.value === v;
4555
4578
  })) === null || _filter === void 0 ? void 0 : (_filter$ = _filter[0]) === null || _filter$ === void 0 ? void 0 : _filter$.text) || v || '';
4556
4579
  };
4580
+ var getShowValueStr = function getShowValueStr(kongValue) {
4581
+ if (selectMode) {
4582
+ var _value$map2;
4583
+ return (value === null || value === void 0 ? void 0 : (_value$map2 = value.map(function (item) {
4584
+ return getSelectValueText(item);
4585
+ })) === null || _value$map2 === void 0 ? void 0 : _value$map2.join(',')) || kongValue;
4586
+ }
4587
+ return getSelectValueText(value) || kongValue;
4588
+ };
4557
4589
  var getShowStr = function getShowStr() {
4558
- var _value$map2;
4590
+ var kongValue = '无';
4559
4591
  // 先判断labelInValue与否,labelInValue可以直接去value中获取字段名称,否则去下拉框数据里面去拿;
4560
4592
  // 再判断是单选还是多选,数据类型不同取值方式也不同
4561
4593
  if (labelInValue) {
4562
- var _value$map;
4563
- return selectMode ? value === null || value === void 0 ? void 0 : (_value$map = value.map(function (item) {
4564
- return item.label || item.text;
4565
- })) === null || _value$map === void 0 ? void 0 : _value$map.join(',') : (value === null || value === void 0 ? void 0 : value.label) || (value === null || value === void 0 ? void 0 : value.text);
4594
+ return getShowLabelTextStr(kongValue);
4566
4595
  }
4567
- return selectMode ? value === null || value === void 0 ? void 0 : (_value$map2 = value.map(function (item) {
4568
- return getSelectValueText(item);
4569
- })) === null || _value$map2 === void 0 ? void 0 : _value$map2.join(',') : getSelectValueText(value);
4596
+ return getShowValueStr(kongValue);
4570
4597
  };
4598
+ var isShouldShowStr = props.disabled && ctx;
4571
4599
  return /*#__PURE__*/React$1.createElement("div", {
4572
4600
  className: 'search_select'
4573
4601
  }, fieldComponent ? ( /*#__PURE__*/React$1.createElement("div", {
@@ -4576,7 +4604,7 @@ var SearchSelect = /*#__PURE__*/forwardRef(function (props, ref) {
4576
4604
  (_fieldComponent$props = fieldComponent.props) === null || _fieldComponent$props === void 0 ? void 0 : (_fieldComponent$props2 = _fieldComponent$props.onClick) === null || _fieldComponent$props2 === void 0 ? void 0 : _fieldComponent$props2.call(_fieldComponent$props);
4577
4605
  showModal();
4578
4606
  }
4579
- }, fieldComponent)) : props.disabled && ctx ? ( /*#__PURE__*/React$1.createElement("div", {
4607
+ }, fieldComponent)) : isShouldShowStr ? ( /*#__PURE__*/React$1.createElement("div", {
4580
4608
  title: getShowStr(),
4581
4609
  style: {
4582
4610
  overflow: 'hidden',
@@ -11783,9 +11811,30 @@ var TreeSearchSelect = function TreeSearchSelect(props) {
11783
11811
  })
11784
11812
  }, "+ ".concat(selectedValues === null || selectedValues === void 0 ? void 0 : selectedValues.length));
11785
11813
  };
11814
+ var getShowStr = function getShowStr() {
11815
+ var isMultiple = multiple || treeCheckable;
11816
+ var kongValue = '无';
11817
+ var parallelTreeData = parallelData(treeData, []);
11818
+ var currentItem = getSelectItem(parallelTreeData, value); // 得到选中的数据项
11819
+ if (isMultiple) {
11820
+ return (currentItem === null || currentItem === void 0 ? void 0 : currentItem.map(function (i) {
11821
+ return i === null || i === void 0 ? void 0 : i['title'];
11822
+ }).join(',')) || kongValue;
11823
+ }
11824
+ return valueName || (currentItem === null || currentItem === void 0 ? void 0 : currentItem['title']) || kongValue;
11825
+ };
11826
+ var isShouldShowStr = (disabled || mode === 'view' || (ctx === null || ctx === void 0 ? void 0 : ctx.mode) === 'view') && ctx;
11786
11827
  return /*#__PURE__*/React$1.createElement("div", {
11787
11828
  className: 'tree_search_select'
11788
- }, /*#__PURE__*/React$1.createElement(TreeSelect, _objectSpread2(_objectSpread2({}, restProps), {}, {
11829
+ }, isShouldShowStr ? ( /*#__PURE__*/React$1.createElement("div", {
11830
+ title: getShowStr(),
11831
+ style: {
11832
+ overflow: 'hidden',
11833
+ textOverflow: 'ellipsis',
11834
+ whiteSpace: 'nowrap'
11835
+ },
11836
+ className: 'search_select_show'
11837
+ }, getShowStr())) : ( /*#__PURE__*/React$1.createElement(TreeSelect, _objectSpread2(_objectSpread2({}, restProps), {}, {
11789
11838
  treeCheckable: treeCheckable,
11790
11839
  maxTagCount: maxTagCount,
11791
11840
  showSearch: showSearch,
@@ -11811,7 +11860,7 @@ var TreeSearchSelect = function TreeSearchSelect(props) {
11811
11860
  getPopupContainer: function getPopupContainer(triggerNode) {
11812
11861
  return _getPopupContainer && _getPopupContainer(triggerNode) || document.body;
11813
11862
  }
11814
- })));
11863
+ }))));
11815
11864
  };
11816
11865
 
11817
11866
  var handleDefaultProps = function handleDefaultProps(type, otherRequestConfig) {
@@ -15074,6 +15123,14 @@ var ResizeableTitle$2 = function ResizeableTitle(props) {
15074
15123
  var BsSulaQueryTable = (function (props) {
15075
15124
  var _props$expandable, _value$exportConfig7;
15076
15125
  var bsTableCode = (props === null || props === void 0 ? void 0 : props.tableCode) || window.location.hash; //设置列字段的唯一标识
15126
+ // 获取 table columns中所有的 key 防止有的地方是 dataindex
15127
+ var checkedList = useMemo(function () {
15128
+ return props.columns.filter(function (col) {
15129
+ return !col.hidden;
15130
+ }).map(function (d) {
15131
+ return Array.isArray(d.key || d.dataIndex) ? JSON.stringify(d.key || d.dataIndex) : d.key || d.dataIndex;
15132
+ });
15133
+ }, [props.columns]);
15077
15134
  var getConfigFromlocalstorage = function getConfigFromlocalstorage(type) {
15078
15135
  var tableCode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : bsTableCode;
15079
15136
  var config = localStorage.getItem(type) || '[]';
@@ -15086,34 +15143,64 @@ var BsSulaQueryTable = (function (props) {
15086
15143
  }
15087
15144
  return [];
15088
15145
  };
15089
- var getInitialSearchFieldsInfo = function getInitialSearchFieldsInfo() {
15090
- //获取搜索字段的缓存配置
15091
- var _props$fields = props.fields,
15092
- fields = _props$fields === void 0 ? [] : _props$fields;
15093
- var searchFieldsConfig = getConfigFromlocalstorage(ENUM.BROWSER_CACHE.SEARCH_FIELDS_CONDITION);
15094
- var showSearchFields = searchFieldsConfig.length ? searchFieldsConfig.map(function (item) {
15095
- var inner = fields.filter(function (inneritem) {
15096
- var innerKey = Array.isArray(inneritem.name) ? JSON.stringify(inneritem.name) : inneritem.name;
15097
- var itemKey = Array.isArray(item.name) ? JSON.stringify(item.name) : item.name;
15098
- return innerKey && innerKey === itemKey;
15099
- })[0];
15100
- return _objectSpread2(_objectSpread2({}, inner), item);
15101
- }) : fields;
15102
- return _toConsumableArray(showSearchFields);
15146
+ /**
15147
+ * 根据保存的配置和原始配置,获取设置的字段或列。
15148
+ * @param savedConfig 保存的配置数组,可能包含字段或列的配置。
15149
+ * @param originConfig 原始配置数组,包含完整的字段或列信息。
15150
+ * @param type 字段或列的类型,用于确定配置的属性。
15151
+ * @returns 返回根据保存的配置处理后的字段或列数组,如果未保存任何配置,则返回原始配置。
15152
+ */
15153
+ var getSettingFieldOrColumn = function getSettingFieldOrColumn(savedConfig, originConfig, type) {
15154
+ /**
15155
+ * 判断值是否为字符串数组。
15156
+ * @param value 待判断的值。
15157
+ * @returns 如果值是字符串数组,则返回true,否则返回false。
15158
+ */
15159
+ var isStringArray = function isStringArray(value) {
15160
+ return Array.isArray(value) && value.every(function (v) {
15161
+ return typeof v === 'string';
15162
+ });
15163
+ };
15164
+ /**
15165
+ * 根据配置项和类型,获取配置项的键。
15166
+ * @param config 配置项,可以是字段或列。
15167
+ * @param type 配置项的类型。
15168
+ * @returns 返回配置项的键,如果无法获取,则返回空字符串。
15169
+ */
15170
+ var getItemKey = function getItemKey(config, type) {
15171
+ try {
15172
+ if (type === 'columns') {
15173
+ return isStringArray(config.key) ? JSON.stringify(config.key) : isStringArray(config.dataIndex) ? JSON.stringify(config.dataIndex) : config.key || config.dataIndex || '';
15174
+ }
15175
+ return isStringArray(config.name) ? JSON.stringify(config.name) : config.name || '';
15176
+ } catch (e) {}
15177
+ return '';
15178
+ };
15179
+ var newConfig = [];
15180
+ if (savedConfig.length) {
15181
+ var hash = originConfig.reduce(function (prev, inneritem) {
15182
+ prev[getItemKey(inneritem, type)] = inneritem;
15183
+ return prev;
15184
+ }, {});
15185
+ savedConfig.forEach(function (config, index) {
15186
+ var inner = hash[getItemKey(config, type)];
15187
+ inner && newConfig.push(_objectSpread2(_objectSpread2({}, inner), config));
15188
+ });
15189
+ }
15190
+ if (newConfig.length) return newConfig;
15191
+ if (type === 'columns') {
15192
+ return originConfig.filter(function (column) {
15193
+ var columnKey = getItemKey(column, type);
15194
+ return column.notRegularCheckList || checkedList.indexOf(columnKey) > -1;
15195
+ });
15196
+ }
15197
+ return _toConsumableArray(originConfig);
15103
15198
  };
15104
15199
  var refs = useRef(null);
15105
15200
  var _useState = useState(''),
15106
15201
  _useState2 = _slicedToArray(_useState, 2),
15107
15202
  pagePath = _useState2[0],
15108
15203
  setPagePath = _useState2[1];
15109
- // 获取 table columns中所有的 key 防止有的地方是 dataindex
15110
- var checkedList = useMemo(function () {
15111
- return props.columns.filter(function (col) {
15112
- return !col.hidden;
15113
- }).map(function (d) {
15114
- return Array.isArray(d.key || d.dataIndex) ? JSON.stringify(d.key || d.dataIndex) : d.key || d.dataIndex;
15115
- });
15116
- }, [props.columns]);
15117
15204
  var _useLocation = useLocation(),
15118
15205
  pathname = _useLocation.pathname,
15119
15206
  _useLocation$state = _useLocation.state,
@@ -15124,11 +15211,13 @@ var BsSulaQueryTable = (function (props) {
15124
15211
  setIsFnllScreen = _useState4[1];
15125
15212
  // @ts-nocheck
15126
15213
  var value = props;
15214
+ var _props$fields = props.fields,
15215
+ fields = _props$fields === void 0 ? [] : _props$fields;
15127
15216
  var _useState5 = useState([]),
15128
15217
  _useState6 = _slicedToArray(_useState5, 2),
15129
15218
  showColumn = _useState6[0],
15130
15219
  setShowColumns = _useState6[1]; // 列字段
15131
- var originSearchFields = getInitialSearchFieldsInfo();
15220
+ var originSearchFields = getSettingFieldOrColumn(getConfigFromlocalstorage(ENUM.BROWSER_CACHE.SEARCH_FIELDS_CONDITION), fields, 'searchFields');
15132
15221
  var _useState7 = useState(originSearchFields),
15133
15222
  _useState8 = _slicedToArray(_useState7, 2),
15134
15223
  showSearchFields = _useState8[0],
@@ -15221,44 +15310,11 @@ var BsSulaQueryTable = (function (props) {
15221
15310
  }
15222
15311
  var columns = props.columns;
15223
15312
  var columnConfig = getConfigFromlocalstorage(ENUM.BROWSER_CACHE.COLUMN_CONDITION);
15224
- var isStringArray = function isStringArray(value) {
15225
- return Array.isArray(value) && value.every(function (v) {
15226
- return typeof v === 'string';
15227
- });
15228
- };
15229
- var getColumnKey = function getColumnKey(column) {
15230
- if (isStringArray(column.key)) {
15231
- return JSON.stringify(column.key);
15232
- } else if (isStringArray(column.dataIndex)) {
15233
- return JSON.stringify(column.dataIndex);
15234
- } else {
15235
- return column.key || column.dataIndex || '';
15236
- }
15237
- };
15238
15313
  var parseWidth = function parseWidth(widthStr) {
15239
15314
  var parsedWidth = parseInt(widthStr.replace('px', ''));
15240
15315
  return isNaN(parsedWidth) ? 0 : parsedWidth;
15241
15316
  };
15242
- // 优化column key发生改变与原key不一致时产生的bug
15243
- var getShowColumns = function getShowColumns(columnConfig) {
15244
- var cols = [];
15245
- if (columnConfig.length) {
15246
- columnConfig.forEach(function (config, index) {
15247
- var hash = columns.reduce(function (prev, inneritem) {
15248
- prev[getColumnKey(inneritem)] = inneritem;
15249
- return prev;
15250
- }, {});
15251
- var inner = hash[getColumnKey(config)];
15252
- inner && cols.push(_objectSpread2(_objectSpread2({}, inner), config));
15253
- });
15254
- }
15255
- if (cols.length) return cols;
15256
- return columns.filter(function (column) {
15257
- var columnKey = getColumnKey(column);
15258
- return column.notRegularCheckList || checkedList.indexOf(columnKey) > -1;
15259
- });
15260
- };
15261
- var showColumns = getShowColumns(columnConfig);
15317
+ var showColumns = getSettingFieldOrColumn(columnConfig, columns, 'columns');
15262
15318
  showColumns.forEach(function (item, index) {
15263
15319
  item.width = item.width || getItemDefaultWidth(item);
15264
15320
  handleBssulaColumnsSpecialParams(item);
@@ -15271,7 +15327,7 @@ var BsSulaQueryTable = (function (props) {
15271
15327
  });
15272
15328
  setShowColumns(_toConsumableArray(showColumns));
15273
15329
  var exportColumnConfig = getConfigFromlocalstorage(ENUM.BROWSER_CACHE.COLUMN_CONDITION, bsTableCodeExport);
15274
- var showExportColumns = getShowColumns(exportColumnConfig);
15330
+ var showExportColumns = getSettingFieldOrColumn(exportColumnConfig, columns, 'columns');
15275
15331
  showExportColumns.forEach(function (item, index) {
15276
15332
  item.width = item.width || getItemDefaultWidth(item);
15277
15333
  handleBssulaColumnsSpecialParams(item);
@@ -15289,14 +15345,7 @@ var BsSulaQueryTable = (function (props) {
15289
15345
  var _props$fields2 = props.fields,
15290
15346
  fields = _props$fields2 === void 0 ? [] : _props$fields2;
15291
15347
  var searchFieldsConfig = getConfigFromlocalstorage(ENUM.BROWSER_CACHE.SEARCH_FIELDS_CONDITION);
15292
- var showSearchFields = searchFieldsConfig.length ? searchFieldsConfig.map(function (item) {
15293
- var inner = fields.filter(function (inneritem) {
15294
- var innerKey = Array.isArray(inneritem.name) ? JSON.stringify(inneritem.name) : inneritem.name;
15295
- var itemKey = Array.isArray(item.name) ? JSON.stringify(item.name) : item.name;
15296
- return innerKey && innerKey === itemKey;
15297
- })[0];
15298
- return _objectSpread2(_objectSpread2({}, inner), item);
15299
- }) : fields;
15348
+ var showSearchFields = getSettingFieldOrColumn(searchFieldsConfig, fields, 'searchFields');
15300
15349
  setShowSearchFields(_toConsumableArray(showSearchFields));
15301
15350
  };
15302
15351
  //组件初始挂载
package/dist/index.js CHANGED
@@ -2723,6 +2723,7 @@ var DataValidation = /*#__PURE__*/function (_React$Component) {
2723
2723
  return data;
2724
2724
  };
2725
2725
  _this.resetData = function () {
2726
+ var _customerColumnsMappi;
2726
2727
  var _this$props = _this.props,
2727
2728
  validDataUrl = _this$props.validDataUrl,
2728
2729
  validDataParams = _this$props.validDataParams,
@@ -2730,10 +2731,16 @@ var DataValidation = /*#__PURE__*/function (_React$Component) {
2730
2731
  columns = _this$props.columns,
2731
2732
  isBrandAuth = _this$props.isBrandAuth,
2732
2733
  _this$props$isCheckSt = _this$props.isCheckStockNum,
2733
- isCheckStockNum = _this$props$isCheckSt === void 0 ? true : _this$props$isCheckSt;
2734
+ isCheckStockNum = _this$props$isCheckSt === void 0 ? true : _this$props$isCheckSt,
2735
+ customerColumnsMapping = _this$props.customerColumnsMapping;
2734
2736
  var resultData = _this.getData().filter(function (d) {
2735
2737
  return ___default['default'].compact(Object.values(d)).length;
2736
2738
  });
2739
+ var resultColumns = (customerColumnsMapping === null || customerColumnsMapping === void 0 ? void 0 : customerColumnsMapping.length) ? customerColumnsMapping === null || customerColumnsMapping === void 0 ? void 0 : (_customerColumnsMappi = customerColumnsMapping.filter(function (c) {
2740
+ return !(c === null || c === void 0 ? void 0 : c.name);
2741
+ })) === null || _customerColumnsMappi === void 0 ? void 0 : _customerColumnsMappi.map(function (c) {
2742
+ return c.name;
2743
+ }) : columns;
2737
2744
  // 处理业务参数
2738
2745
  var otherParams = {};
2739
2746
  if (isBrandAuth) {
@@ -2742,7 +2749,7 @@ var DataValidation = /*#__PURE__*/function (_React$Component) {
2742
2749
  };
2743
2750
  }
2744
2751
  requestUtil.post(validDataUrl, _objectSpread2(_objectSpread2(_objectSpread2({}, otherParams), validDataParams), {}, {
2745
- columns: columns,
2752
+ columns: resultColumns,
2746
2753
  data: resultData,
2747
2754
  checkStockNum: isCheckStockNum
2748
2755
  })).then(function (result) {
@@ -2757,12 +2764,12 @@ var DataValidation = /*#__PURE__*/function (_React$Component) {
2757
2764
  var sheetData = luckysheet.getSheetData();
2758
2765
  sheetData.map(function (item, index) {
2759
2766
  if (!res[index]) return item;
2760
- var changeVMIndex = _this.props.columns.findIndex(function (i) {
2767
+ var changeVMIndex = resultColumns === null || resultColumns === void 0 ? void 0 : resultColumns.findIndex(function (i) {
2761
2768
  return i === 'skuCode';
2762
2769
  });
2763
- if (_this.props.columns.find(function (i) {
2770
+ if ((resultColumns === null || resultColumns === void 0 ? void 0 : resultColumns.find(function (i) {
2764
2771
  return i === 'skuCode';
2765
- }) && item[changeVMIndex].v !== res[index].skuCode) {
2772
+ })) && item[changeVMIndex].v !== res[index].skuCode) {
2766
2773
  item[changeVMIndex].v = res[index].skuCode;
2767
2774
  item[changeVMIndex].m = res[index].skuCode;
2768
2775
  }
@@ -3017,7 +3024,7 @@ var luckysheet$1;
3017
3024
  // { "key": "quantity", "name": "数量", "rule": "quantity" },
3018
3025
  // { "key": "price", "name": "单价", "rule": "price" }
3019
3026
  // ]
3020
- var mapping$1 = new Map([['skuCode', 'SKU编码'], ['quantity', '数量'], ['price', '单价'], ['regionCode', '库区'], ['checkQuantity', '实盘数量'], ['shareRatio', '共享比例'], ['lotNumberCode', '批号'], ['warehouseCode', '仓库编码'], ['regionCode', '库区'], ['locationCode', '货位'], ['rowNumber', '货位排数'], ['layerNumber', '货位层数'], ['gridNumber', '货位格号'], ['oldUniqueCode', '原始唯一码'], ['newUniqueCode', '新唯一码'], ['relationRecordCode', '单据编码'], ['remark', '备注'], ['externalCode', 'JDE商品编码'], ['realWarehouseCode', '仓库编码'], ['syncRate', '按百分比'], ['assignQuantity', '按指定数量'], ['retainQuantity', ' 按保留数量'], ['priority', ' 优先级']]);
3027
+ var mapping$1 = new Map([['skuCode', 'SKU编码'], ['quantity', '数量'], ['price', '单价'], ['regionCode', '库区'], ['checkQuantity', '实盘数量'], ['shareRatio', '共享比例'], ['lotNumberCode', '批号'], ['warehouseCode', '仓库编码'], ['regionCode', '库区'], ['locationCode', '货位'], ['rowNumber', '货位排数'], ['layerNumber', '货位层数'], ['gridNumber', '货位格号'], ['oldUniqueCode', '原始唯一码'], ['newUniqueCode', '新唯一码'], ['relationRecordCode', '单据编码'], ['remark', '备注'], ['externalCode', 'JDE商品编码'], ['realWarehouseCode', '仓库编码'], ['syncRate', '按百分比'], ['assignQuantity', '按指定数量'], ['retainQuantity', ' 按保留数量'], ['priority', ' 优先级'], ['stockBizTypeCode', ' 库存类型']]);
3021
3028
  // a little function to help us with reordering the result
3022
3029
  var reorder$1 = function reorder(list, startIndex, endIndex) {
3023
3030
  var result = Array.from(list);
@@ -3310,6 +3317,7 @@ var DataImport = /*#__PURE__*/function (_React$Component) {
3310
3317
  return data;
3311
3318
  };
3312
3319
  _this.resetData = function () {
3320
+ var _customerColumnsMappi;
3313
3321
  var _this$props = _this.props,
3314
3322
  validDataUrl = _this$props.validDataUrl,
3315
3323
  validDataParams = _this$props.validDataParams,
@@ -3317,10 +3325,16 @@ var DataImport = /*#__PURE__*/function (_React$Component) {
3317
3325
  columns = _this$props.columns,
3318
3326
  isBrandAuth = _this$props.isBrandAuth,
3319
3327
  _this$props$isCheckSt = _this$props.isCheckStockNum,
3320
- isCheckStockNum = _this$props$isCheckSt === void 0 ? true : _this$props$isCheckSt;
3328
+ isCheckStockNum = _this$props$isCheckSt === void 0 ? true : _this$props$isCheckSt,
3329
+ customerColumnsMapping = _this$props.customerColumnsMapping;
3321
3330
  var resultData = _this.getData().filter(function (d) {
3322
3331
  return ___default['default'].compact(Object.values(d)).length;
3323
3332
  });
3333
+ var resultColumns = (customerColumnsMapping === null || customerColumnsMapping === void 0 ? void 0 : customerColumnsMapping.length) ? customerColumnsMapping === null || customerColumnsMapping === void 0 ? void 0 : (_customerColumnsMappi = customerColumnsMapping.filter(function (c) {
3334
+ return !(c === null || c === void 0 ? void 0 : c.name);
3335
+ })) === null || _customerColumnsMappi === void 0 ? void 0 : _customerColumnsMappi.map(function (c) {
3336
+ return c.name;
3337
+ }) : columns;
3324
3338
  // 处理业务参数
3325
3339
  var otherParams = {};
3326
3340
  if (isBrandAuth) {
@@ -3329,7 +3343,7 @@ var DataImport = /*#__PURE__*/function (_React$Component) {
3329
3343
  };
3330
3344
  }
3331
3345
  requestUtil.post(validDataUrl, _objectSpread2(_objectSpread2(_objectSpread2({}, otherParams), validDataParams), {}, {
3332
- columns: columns,
3346
+ columns: resultColumns,
3333
3347
  data: resultData,
3334
3348
  checkStockNum: isCheckStockNum
3335
3349
  })).then(function (result) {
@@ -3344,12 +3358,12 @@ var DataImport = /*#__PURE__*/function (_React$Component) {
3344
3358
  var sheetData = luckysheet$1.getSheetData();
3345
3359
  sheetData.map(function (item, index) {
3346
3360
  if (!res[index]) return item;
3347
- var changeVMIndex = _this.props.columns.findIndex(function (i) {
3361
+ var changeVMIndex = resultColumns === null || resultColumns === void 0 ? void 0 : resultColumns.findIndex(function (i) {
3348
3362
  return i === 'skuCode';
3349
3363
  });
3350
- if (_this.props.columns.find(function (i) {
3364
+ if ((resultColumns === null || resultColumns === void 0 ? void 0 : resultColumns.find(function (i) {
3351
3365
  return i === 'skuCode';
3352
- }) && item[changeVMIndex].v !== res[index].skuCode) {
3366
+ })) && item[changeVMIndex].v !== res[index].skuCode) {
3353
3367
  item[changeVMIndex].v = res[index].skuCode;
3354
3368
  item[changeVMIndex].m = res[index].skuCode;
3355
3369
  }
@@ -4571,26 +4585,40 @@ var SearchSelect = /*#__PURE__*/React$1.forwardRef(function (props, ref) {
4571
4585
  return specialBracket ? "\u3010".concat(item.textShowKey, "\u3011").concat(showText) : "".concat(item.textShowKey, " ").concat(showText);
4572
4586
  }
4573
4587
  };
4588
+ var getShowLabelTextStr = function getShowLabelTextStr(kongValue) {
4589
+ if (selectMode) {
4590
+ var _value$map;
4591
+ return (value === null || value === void 0 ? void 0 : (_value$map = value.map(function (item) {
4592
+ return item.label || item.text || '';
4593
+ })) === null || _value$map === void 0 ? void 0 : _value$map.join(',')) || kongValue;
4594
+ }
4595
+ return (value === null || value === void 0 ? void 0 : value.label) || (value === null || value === void 0 ? void 0 : value.text) || kongValue;
4596
+ };
4574
4597
  var getSelectValueText = function getSelectValueText(v) {
4575
4598
  var _filter, _filter$;
4576
4599
  return ((_filter = (items || []).filter(function (item) {
4577
4600
  return item.value === v;
4578
4601
  })) === null || _filter === void 0 ? void 0 : (_filter$ = _filter[0]) === null || _filter$ === void 0 ? void 0 : _filter$.text) || v || '';
4579
4602
  };
4603
+ var getShowValueStr = function getShowValueStr(kongValue) {
4604
+ if (selectMode) {
4605
+ var _value$map2;
4606
+ return (value === null || value === void 0 ? void 0 : (_value$map2 = value.map(function (item) {
4607
+ return getSelectValueText(item);
4608
+ })) === null || _value$map2 === void 0 ? void 0 : _value$map2.join(',')) || kongValue;
4609
+ }
4610
+ return getSelectValueText(value) || kongValue;
4611
+ };
4580
4612
  var getShowStr = function getShowStr() {
4581
- var _value$map2;
4613
+ var kongValue = '无';
4582
4614
  // 先判断labelInValue与否,labelInValue可以直接去value中获取字段名称,否则去下拉框数据里面去拿;
4583
4615
  // 再判断是单选还是多选,数据类型不同取值方式也不同
4584
4616
  if (labelInValue) {
4585
- var _value$map;
4586
- return selectMode ? value === null || value === void 0 ? void 0 : (_value$map = value.map(function (item) {
4587
- return item.label || item.text;
4588
- })) === null || _value$map === void 0 ? void 0 : _value$map.join(',') : (value === null || value === void 0 ? void 0 : value.label) || (value === null || value === void 0 ? void 0 : value.text);
4617
+ return getShowLabelTextStr(kongValue);
4589
4618
  }
4590
- return selectMode ? value === null || value === void 0 ? void 0 : (_value$map2 = value.map(function (item) {
4591
- return getSelectValueText(item);
4592
- })) === null || _value$map2 === void 0 ? void 0 : _value$map2.join(',') : getSelectValueText(value);
4619
+ return getShowValueStr(kongValue);
4593
4620
  };
4621
+ var isShouldShowStr = props.disabled && ctx;
4594
4622
  return /*#__PURE__*/React__default['default'].createElement("div", {
4595
4623
  className: 'search_select'
4596
4624
  }, fieldComponent ? ( /*#__PURE__*/React__default['default'].createElement("div", {
@@ -4599,7 +4627,7 @@ var SearchSelect = /*#__PURE__*/React$1.forwardRef(function (props, ref) {
4599
4627
  (_fieldComponent$props = fieldComponent.props) === null || _fieldComponent$props === void 0 ? void 0 : (_fieldComponent$props2 = _fieldComponent$props.onClick) === null || _fieldComponent$props2 === void 0 ? void 0 : _fieldComponent$props2.call(_fieldComponent$props);
4600
4628
  showModal();
4601
4629
  }
4602
- }, fieldComponent)) : props.disabled && ctx ? ( /*#__PURE__*/React__default['default'].createElement("div", {
4630
+ }, fieldComponent)) : isShouldShowStr ? ( /*#__PURE__*/React__default['default'].createElement("div", {
4603
4631
  title: getShowStr(),
4604
4632
  style: {
4605
4633
  overflow: 'hidden',
@@ -11806,9 +11834,30 @@ var TreeSearchSelect = function TreeSearchSelect(props) {
11806
11834
  })
11807
11835
  }, "+ ".concat(selectedValues === null || selectedValues === void 0 ? void 0 : selectedValues.length));
11808
11836
  };
11837
+ var getShowStr = function getShowStr() {
11838
+ var isMultiple = multiple || treeCheckable;
11839
+ var kongValue = '无';
11840
+ var parallelTreeData = parallelData(treeData, []);
11841
+ var currentItem = getSelectItem(parallelTreeData, value); // 得到选中的数据项
11842
+ if (isMultiple) {
11843
+ return (currentItem === null || currentItem === void 0 ? void 0 : currentItem.map(function (i) {
11844
+ return i === null || i === void 0 ? void 0 : i['title'];
11845
+ }).join(',')) || kongValue;
11846
+ }
11847
+ return valueName || (currentItem === null || currentItem === void 0 ? void 0 : currentItem['title']) || kongValue;
11848
+ };
11849
+ var isShouldShowStr = (disabled || mode === 'view' || (ctx === null || ctx === void 0 ? void 0 : ctx.mode) === 'view') && ctx;
11809
11850
  return /*#__PURE__*/React__default['default'].createElement("div", {
11810
11851
  className: 'tree_search_select'
11811
- }, /*#__PURE__*/React__default['default'].createElement(antd.TreeSelect, _objectSpread2(_objectSpread2({}, restProps), {}, {
11852
+ }, isShouldShowStr ? ( /*#__PURE__*/React__default['default'].createElement("div", {
11853
+ title: getShowStr(),
11854
+ style: {
11855
+ overflow: 'hidden',
11856
+ textOverflow: 'ellipsis',
11857
+ whiteSpace: 'nowrap'
11858
+ },
11859
+ className: 'search_select_show'
11860
+ }, getShowStr())) : ( /*#__PURE__*/React__default['default'].createElement(antd.TreeSelect, _objectSpread2(_objectSpread2({}, restProps), {}, {
11812
11861
  treeCheckable: treeCheckable,
11813
11862
  maxTagCount: maxTagCount,
11814
11863
  showSearch: showSearch,
@@ -11834,7 +11883,7 @@ var TreeSearchSelect = function TreeSearchSelect(props) {
11834
11883
  getPopupContainer: function getPopupContainer(triggerNode) {
11835
11884
  return _getPopupContainer && _getPopupContainer(triggerNode) || document.body;
11836
11885
  }
11837
- })));
11886
+ }))));
11838
11887
  };
11839
11888
 
11840
11889
  var handleDefaultProps = function handleDefaultProps(type, otherRequestConfig) {
@@ -15097,6 +15146,14 @@ var ResizeableTitle$2 = function ResizeableTitle(props) {
15097
15146
  var BsSulaQueryTable = (function (props) {
15098
15147
  var _props$expandable, _value$exportConfig7;
15099
15148
  var bsTableCode = (props === null || props === void 0 ? void 0 : props.tableCode) || window.location.hash; //设置列字段的唯一标识
15149
+ // 获取 table columns中所有的 key 防止有的地方是 dataindex
15150
+ var checkedList = React$1.useMemo(function () {
15151
+ return props.columns.filter(function (col) {
15152
+ return !col.hidden;
15153
+ }).map(function (d) {
15154
+ return Array.isArray(d.key || d.dataIndex) ? JSON.stringify(d.key || d.dataIndex) : d.key || d.dataIndex;
15155
+ });
15156
+ }, [props.columns]);
15100
15157
  var getConfigFromlocalstorage = function getConfigFromlocalstorage(type) {
15101
15158
  var tableCode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : bsTableCode;
15102
15159
  var config = localStorage.getItem(type) || '[]';
@@ -15109,34 +15166,64 @@ var BsSulaQueryTable = (function (props) {
15109
15166
  }
15110
15167
  return [];
15111
15168
  };
15112
- var getInitialSearchFieldsInfo = function getInitialSearchFieldsInfo() {
15113
- //获取搜索字段的缓存配置
15114
- var _props$fields = props.fields,
15115
- fields = _props$fields === void 0 ? [] : _props$fields;
15116
- var searchFieldsConfig = getConfigFromlocalstorage(ENUM.BROWSER_CACHE.SEARCH_FIELDS_CONDITION);
15117
- var showSearchFields = searchFieldsConfig.length ? searchFieldsConfig.map(function (item) {
15118
- var inner = fields.filter(function (inneritem) {
15119
- var innerKey = Array.isArray(inneritem.name) ? JSON.stringify(inneritem.name) : inneritem.name;
15120
- var itemKey = Array.isArray(item.name) ? JSON.stringify(item.name) : item.name;
15121
- return innerKey && innerKey === itemKey;
15122
- })[0];
15123
- return _objectSpread2(_objectSpread2({}, inner), item);
15124
- }) : fields;
15125
- return _toConsumableArray(showSearchFields);
15169
+ /**
15170
+ * 根据保存的配置和原始配置,获取设置的字段或列。
15171
+ * @param savedConfig 保存的配置数组,可能包含字段或列的配置。
15172
+ * @param originConfig 原始配置数组,包含完整的字段或列信息。
15173
+ * @param type 字段或列的类型,用于确定配置的属性。
15174
+ * @returns 返回根据保存的配置处理后的字段或列数组,如果未保存任何配置,则返回原始配置。
15175
+ */
15176
+ var getSettingFieldOrColumn = function getSettingFieldOrColumn(savedConfig, originConfig, type) {
15177
+ /**
15178
+ * 判断值是否为字符串数组。
15179
+ * @param value 待判断的值。
15180
+ * @returns 如果值是字符串数组,则返回true,否则返回false。
15181
+ */
15182
+ var isStringArray = function isStringArray(value) {
15183
+ return Array.isArray(value) && value.every(function (v) {
15184
+ return typeof v === 'string';
15185
+ });
15186
+ };
15187
+ /**
15188
+ * 根据配置项和类型,获取配置项的键。
15189
+ * @param config 配置项,可以是字段或列。
15190
+ * @param type 配置项的类型。
15191
+ * @returns 返回配置项的键,如果无法获取,则返回空字符串。
15192
+ */
15193
+ var getItemKey = function getItemKey(config, type) {
15194
+ try {
15195
+ if (type === 'columns') {
15196
+ return isStringArray(config.key) ? JSON.stringify(config.key) : isStringArray(config.dataIndex) ? JSON.stringify(config.dataIndex) : config.key || config.dataIndex || '';
15197
+ }
15198
+ return isStringArray(config.name) ? JSON.stringify(config.name) : config.name || '';
15199
+ } catch (e) {}
15200
+ return '';
15201
+ };
15202
+ var newConfig = [];
15203
+ if (savedConfig.length) {
15204
+ var hash = originConfig.reduce(function (prev, inneritem) {
15205
+ prev[getItemKey(inneritem, type)] = inneritem;
15206
+ return prev;
15207
+ }, {});
15208
+ savedConfig.forEach(function (config, index) {
15209
+ var inner = hash[getItemKey(config, type)];
15210
+ inner && newConfig.push(_objectSpread2(_objectSpread2({}, inner), config));
15211
+ });
15212
+ }
15213
+ if (newConfig.length) return newConfig;
15214
+ if (type === 'columns') {
15215
+ return originConfig.filter(function (column) {
15216
+ var columnKey = getItemKey(column, type);
15217
+ return column.notRegularCheckList || checkedList.indexOf(columnKey) > -1;
15218
+ });
15219
+ }
15220
+ return _toConsumableArray(originConfig);
15126
15221
  };
15127
15222
  var refs = React$1.useRef(null);
15128
15223
  var _useState = React$1.useState(''),
15129
15224
  _useState2 = _slicedToArray(_useState, 2),
15130
15225
  pagePath = _useState2[0],
15131
15226
  setPagePath = _useState2[1];
15132
- // 获取 table columns中所有的 key 防止有的地方是 dataindex
15133
- var checkedList = React$1.useMemo(function () {
15134
- return props.columns.filter(function (col) {
15135
- return !col.hidden;
15136
- }).map(function (d) {
15137
- return Array.isArray(d.key || d.dataIndex) ? JSON.stringify(d.key || d.dataIndex) : d.key || d.dataIndex;
15138
- });
15139
- }, [props.columns]);
15140
15227
  var _useLocation = umi.useLocation(),
15141
15228
  pathname = _useLocation.pathname,
15142
15229
  _useLocation$state = _useLocation.state,
@@ -15147,11 +15234,13 @@ var BsSulaQueryTable = (function (props) {
15147
15234
  setIsFnllScreen = _useState4[1];
15148
15235
  // @ts-nocheck
15149
15236
  var value = props;
15237
+ var _props$fields = props.fields,
15238
+ fields = _props$fields === void 0 ? [] : _props$fields;
15150
15239
  var _useState5 = React$1.useState([]),
15151
15240
  _useState6 = _slicedToArray(_useState5, 2),
15152
15241
  showColumn = _useState6[0],
15153
15242
  setShowColumns = _useState6[1]; // 列字段
15154
- var originSearchFields = getInitialSearchFieldsInfo();
15243
+ var originSearchFields = getSettingFieldOrColumn(getConfigFromlocalstorage(ENUM.BROWSER_CACHE.SEARCH_FIELDS_CONDITION), fields, 'searchFields');
15155
15244
  var _useState7 = React$1.useState(originSearchFields),
15156
15245
  _useState8 = _slicedToArray(_useState7, 2),
15157
15246
  showSearchFields = _useState8[0],
@@ -15244,44 +15333,11 @@ var BsSulaQueryTable = (function (props) {
15244
15333
  }
15245
15334
  var columns = props.columns;
15246
15335
  var columnConfig = getConfigFromlocalstorage(ENUM.BROWSER_CACHE.COLUMN_CONDITION);
15247
- var isStringArray = function isStringArray(value) {
15248
- return Array.isArray(value) && value.every(function (v) {
15249
- return typeof v === 'string';
15250
- });
15251
- };
15252
- var getColumnKey = function getColumnKey(column) {
15253
- if (isStringArray(column.key)) {
15254
- return JSON.stringify(column.key);
15255
- } else if (isStringArray(column.dataIndex)) {
15256
- return JSON.stringify(column.dataIndex);
15257
- } else {
15258
- return column.key || column.dataIndex || '';
15259
- }
15260
- };
15261
15336
  var parseWidth = function parseWidth(widthStr) {
15262
15337
  var parsedWidth = parseInt(widthStr.replace('px', ''));
15263
15338
  return isNaN(parsedWidth) ? 0 : parsedWidth;
15264
15339
  };
15265
- // 优化column key发生改变与原key不一致时产生的bug
15266
- var getShowColumns = function getShowColumns(columnConfig) {
15267
- var cols = [];
15268
- if (columnConfig.length) {
15269
- columnConfig.forEach(function (config, index) {
15270
- var hash = columns.reduce(function (prev, inneritem) {
15271
- prev[getColumnKey(inneritem)] = inneritem;
15272
- return prev;
15273
- }, {});
15274
- var inner = hash[getColumnKey(config)];
15275
- inner && cols.push(_objectSpread2(_objectSpread2({}, inner), config));
15276
- });
15277
- }
15278
- if (cols.length) return cols;
15279
- return columns.filter(function (column) {
15280
- var columnKey = getColumnKey(column);
15281
- return column.notRegularCheckList || checkedList.indexOf(columnKey) > -1;
15282
- });
15283
- };
15284
- var showColumns = getShowColumns(columnConfig);
15340
+ var showColumns = getSettingFieldOrColumn(columnConfig, columns, 'columns');
15285
15341
  showColumns.forEach(function (item, index) {
15286
15342
  item.width = item.width || getItemDefaultWidth(item);
15287
15343
  handleBssulaColumnsSpecialParams(item);
@@ -15294,7 +15350,7 @@ var BsSulaQueryTable = (function (props) {
15294
15350
  });
15295
15351
  setShowColumns(_toConsumableArray(showColumns));
15296
15352
  var exportColumnConfig = getConfigFromlocalstorage(ENUM.BROWSER_CACHE.COLUMN_CONDITION, bsTableCodeExport);
15297
- var showExportColumns = getShowColumns(exportColumnConfig);
15353
+ var showExportColumns = getSettingFieldOrColumn(exportColumnConfig, columns, 'columns');
15298
15354
  showExportColumns.forEach(function (item, index) {
15299
15355
  item.width = item.width || getItemDefaultWidth(item);
15300
15356
  handleBssulaColumnsSpecialParams(item);
@@ -15312,14 +15368,7 @@ var BsSulaQueryTable = (function (props) {
15312
15368
  var _props$fields2 = props.fields,
15313
15369
  fields = _props$fields2 === void 0 ? [] : _props$fields2;
15314
15370
  var searchFieldsConfig = getConfigFromlocalstorage(ENUM.BROWSER_CACHE.SEARCH_FIELDS_CONDITION);
15315
- var showSearchFields = searchFieldsConfig.length ? searchFieldsConfig.map(function (item) {
15316
- var inner = fields.filter(function (inneritem) {
15317
- var innerKey = Array.isArray(inneritem.name) ? JSON.stringify(inneritem.name) : inneritem.name;
15318
- var itemKey = Array.isArray(item.name) ? JSON.stringify(item.name) : item.name;
15319
- return innerKey && innerKey === itemKey;
15320
- })[0];
15321
- return _objectSpread2(_objectSpread2({}, inner), item);
15322
- }) : fields;
15371
+ var showSearchFields = getSettingFieldOrColumn(searchFieldsConfig, fields, 'searchFields');
15323
15372
  setShowSearchFields(_toConsumableArray(showSearchFields));
15324
15373
  };
15325
15374
  //组件初始挂载
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bit-sun/business-component",
3
- "version": "3.1.0",
3
+ "version": "3.1.1",
4
4
  "scripts": {
5
5
  "start": "dumi dev",
6
6
  "docs:build": "dumi build",
@@ -32,6 +32,12 @@ interface Column {
32
32
  onHeaderCell?: (column: Column) => any; // 仅作示例,具体类型根据实际情况定义
33
33
  }
34
34
 
35
+ interface Field {
36
+ name: string;
37
+ label: string;
38
+ field: any;
39
+ }
40
+
35
41
  const MemoQueryTable = React.memo(QueryTable);
36
42
  const { Text } = Typography;
37
43
 
@@ -55,6 +61,20 @@ const ResizeableTitle = (props) => {
55
61
 
56
62
  export default (props: any) => {
57
63
  const bsTableCode = props?.tableCode || window.location.hash; //设置列字段的唯一标识
64
+
65
+ // 获取 table columns中所有的 key 防止有的地方是 dataindex
66
+ const checkedList = useMemo(
67
+ () =>
68
+ props.columns
69
+ .filter((col: any) => !col.hidden)
70
+ .map((d: any) =>
71
+ Array.isArray(d.key || d.dataIndex)
72
+ ? JSON.stringify(d.key || d.dataIndex)
73
+ : d.key || d.dataIndex,
74
+ ),
75
+ [props.columns],
76
+ );
77
+
58
78
  const getConfigFromlocalstorage = (type: string, tableCode:string = bsTableCode) => {
59
79
  let config = localStorage.getItem(type) || '[]';
60
80
  let configArray = JSON.parse(config);
@@ -67,47 +87,75 @@ export default (props: any) => {
67
87
  }
68
88
  return [];
69
89
  };
70
- const getInitialSearchFieldsInfo = () => {
71
- //获取搜索字段的缓存配置
72
- const { fields = [] } = props;
73
- let searchFieldsConfig = getConfigFromlocalstorage(ENUM.BROWSER_CACHE.SEARCH_FIELDS_CONDITION);
74
- let showSearchFields = searchFieldsConfig.length ? searchFieldsConfig.map((item) => {
75
- let inner = fields.filter(
76
- (inneritem) => {
77
- let innerKey = Array.isArray(inneritem.name) ? JSON.stringify(inneritem.name) : inneritem.name;
78
- let itemKey = Array.isArray(item.name) ? JSON.stringify(item.name) : item.name;
79
- return innerKey && innerKey === itemKey;
80
- }
81
- )[0];
82
90
 
83
- return {
84
- ...inner,
85
- ...item,
86
- };
87
- }) : fields;
88
- return [...showSearchFields]
91
+ /**
92
+ * 根据保存的配置和原始配置,获取设置的字段或列。
93
+ * @param savedConfig 保存的配置数组,可能包含字段或列的配置。
94
+ * @param originConfig 原始配置数组,包含完整的字段或列信息。
95
+ * @param type 字段或列的类型,用于确定配置的属性。
96
+ * @returns 返回根据保存的配置处理后的字段或列数组,如果未保存任何配置,则返回原始配置。
97
+ */
98
+ const getSettingFieldOrColumn = (savedConfig, originConfig, type: string) => {
99
+ /**
100
+ * 判断值是否为字符串数组。
101
+ * @param value 待判断的值。
102
+ * @returns 如果值是字符串数组,则返回true,否则返回false。
103
+ */
104
+ const isStringArray = (value: any): value is string[] => {
105
+ return Array.isArray(value) && value.every(v => typeof v === 'string');
106
+ }
107
+
108
+ /**
109
+ * 根据配置项和类型,获取配置项的键。
110
+ * @param config 配置项,可以是字段或列。
111
+ * @param type 配置项的类型。
112
+ * @returns 返回配置项的键,如果无法获取,则返回空字符串。
113
+ */
114
+ const getItemKey = (config: Column | Field, type: string): string => {
115
+ try {
116
+ if (type === 'columns') {
117
+ return isStringArray(config.key) ? JSON.stringify(config.key) : isStringArray(config.dataIndex) ? JSON.stringify(config.dataIndex) : config.key || config.dataIndex || '';
118
+ }
119
+ return isStringArray(config.name) ? JSON.stringify(config.name) : config.name || '';
120
+ } catch(e) {}
121
+ return '';
122
+ }
123
+
124
+ const newConfig = [];
125
+
126
+ if (savedConfig.length) {
127
+ const hash = originConfig.reduce((prev, inneritem) => {
128
+ prev[getItemKey(inneritem, type)] = inneritem;
129
+ return prev;
130
+ }, {} as { [key: string]: Column | Field });
131
+
132
+ savedConfig.forEach((config, index) => {
133
+ let inner = hash[getItemKey(config, type)];
134
+ inner && newConfig.push({ ...inner, ...config });
135
+ })
89
136
  }
137
+
138
+ if (newConfig.length) return newConfig;
139
+
140
+ if (type === 'columns') {
141
+ return originConfig.filter(column => {
142
+ const columnKey = getItemKey(column, type);
143
+ return column.notRegularCheckList || checkedList.indexOf(columnKey) > -1;
144
+ });
145
+ }
146
+
147
+ return [...originConfig];
148
+ }
90
149
  const refs = useRef(null);
91
150
  const [pagePath, setPagePath] = useState('');
92
- // 获取 table columns中所有的 key 防止有的地方是 dataindex
93
- const checkedList = useMemo(
94
- () =>
95
- props.columns
96
- .filter((col: any) => !col.hidden)
97
- .map((d: any) =>
98
- Array.isArray(d.key || d.dataIndex)
99
- ? JSON.stringify(d.key || d.dataIndex)
100
- : d.key || d.dataIndex,
101
- ),
102
- [props.columns],
103
- );
104
151
 
105
152
  const { pathname, state = {} } = useLocation();
106
153
  const [isFullScreen, setIsFnllScreen]: any = useState(false);
107
154
  // @ts-nocheck
108
155
  const value = props;
156
+ const { fields = [] } = props;
109
157
  const [showColumn, setShowColumns] = useState([]); // 列字段
110
- const originSearchFields = getInitialSearchFieldsInfo();
158
+ const originSearchFields = getSettingFieldOrColumn(getConfigFromlocalstorage(ENUM.BROWSER_CACHE.SEARCH_FIELDS_CONDITION), fields, 'searchFields');
111
159
  const [showSearchFields, setShowSearchFields] = useState(originSearchFields); //搜索项字段
112
160
  const [showExportColumn, setShowExportColumns] = useState([]); // 导出列字段
113
161
 
@@ -117,6 +165,7 @@ export default (props: any) => {
117
165
  const exportTableRef = useRef<any>(null);
118
166
 
119
167
  const bsTableCodeExport = `${bsTableCode}___Export`; //设置导出列字段的唯一标识
168
+
120
169
  // 获取table高度
121
170
  const getTableHeight = () => {
122
171
  setTimeout(() => {
@@ -217,49 +266,12 @@ export default (props: any) => {
217
266
  let columnConfig = getConfigFromlocalstorage(ENUM.BROWSER_CACHE.COLUMN_CONDITION);
218
267
 
219
268
 
220
- const isStringArray = (value: any): value is string[] => {
221
- return Array.isArray(value) && value.every(v => typeof v === 'string');
222
- }
223
-
224
- const getColumnKey = (column: Column): string => {
225
- if (isStringArray(column.key)) {
226
- return JSON.stringify(column.key);
227
- } else if (isStringArray(column.dataIndex)) {
228
- return JSON.stringify(column.dataIndex);
229
- } else {
230
- return column.key || column.dataIndex || '';
231
- }
232
- }
233
-
234
269
  const parseWidth = (widthStr: string): number => {
235
270
  const parsedWidth = parseInt(widthStr.replace('px', ''));
236
271
  return isNaN(parsedWidth) ? 0 : parsedWidth;
237
272
  }
238
273
 
239
- // 优化column key发生改变与原key不一致时产生的bug
240
- const getShowColumns = (columnConfig: Array<Column>) => {
241
- const cols = [];
242
- if (columnConfig.length) {
243
- columnConfig.forEach((config, index) => {
244
- const hash = columns.reduce((prev, inneritem) => {
245
- prev[getColumnKey(inneritem)] = inneritem;
246
- return prev;
247
- }, {} as { [key: string]: Column });
248
-
249
- let inner = hash[getColumnKey(config)];
250
- inner && cols.push({ ...inner, ...config });
251
- })
252
- }
253
-
254
- if (cols.length) return cols;
255
-
256
- return columns.filter(column => {
257
- const columnKey = getColumnKey(column);
258
- return column.notRegularCheckList || checkedList.indexOf(columnKey) > -1;
259
- });
260
- }
261
-
262
- let showColumns = getShowColumns(columnConfig);
274
+ let showColumns = getSettingFieldOrColumn(columnConfig, columns, 'columns');
263
275
 
264
276
  showColumns.forEach((item, index) => {
265
277
  item.width = item.width || getItemDefaultWidth(item);
@@ -278,7 +290,7 @@ export default (props: any) => {
278
290
  ENUM.BROWSER_CACHE.COLUMN_CONDITION,
279
291
  bsTableCodeExport,
280
292
  );
281
- let showExportColumns = getShowColumns(exportColumnConfig);
293
+ let showExportColumns = getSettingFieldOrColumn(exportColumnConfig, columns, 'columns');
282
294
 
283
295
  showExportColumns.forEach((item, index) => {
284
296
  item.width = item.width || getItemDefaultWidth(item);
@@ -301,24 +313,7 @@ export default (props: any) => {
301
313
  let searchFieldsConfig = getConfigFromlocalstorage(
302
314
  ENUM.BROWSER_CACHE.SEARCH_FIELDS_CONDITION,
303
315
  );
304
- let showSearchFields = searchFieldsConfig.length
305
- ? searchFieldsConfig.map((item) => {
306
- let inner = fields.filter((inneritem) => {
307
- let innerKey = Array.isArray(inneritem.name)
308
- ? JSON.stringify(inneritem.name)
309
- : inneritem.name;
310
- let itemKey = Array.isArray(item.name)
311
- ? JSON.stringify(item.name)
312
- : item.name;
313
- return innerKey && innerKey === itemKey;
314
- })[0];
315
-
316
- return {
317
- ...inner,
318
- ...item,
319
- };
320
- })
321
- : fields;
316
+ const showSearchFields = getSettingFieldOrColumn(searchFieldsConfig, fields, 'searchFields');
322
317
  setShowSearchFields([...showSearchFields]);
323
318
  };
324
319
 
@@ -133,6 +133,27 @@ import React, { useState } from 'react';
133
133
  import { BusinessTreeSearchSelect } from '../../../index';
134
134
 
135
135
  export default () => {
136
+ // 'LJCaxiao01', ['LJCaxiao01', 'Store061201'],
137
+ // {
138
+ // "label": "上海七宝万科安正家居体验店",
139
+ // "value": "Store061201",
140
+ // "disabled": false,
141
+ // "key": "Store061201"
142
+ // },
143
+ // [
144
+ // {
145
+ // "label": "阿宵的逻辑仓02",
146
+ // "value": "LJCaxiao01",
147
+ // "disabled": false,
148
+ // "key": "LJCaxiao01"
149
+ // },
150
+ // {
151
+ // "label": "上海七宝万科安正家居体验店",
152
+ // "value": "Store061201",
153
+ // "disabled": false,
154
+ // "key": "Store061201"
155
+ // }
156
+ // ]
136
157
 
137
158
  const [value, setValue] = useState();
138
159
 
@@ -140,7 +161,12 @@ export default () => {
140
161
  mode: 'create',
141
162
  value,
142
163
  isChoose: false, // 控制是否父节点可选中,默认不可选中
164
+ // ctx: {},
165
+ // disabled: true,
166
+ // treeCheckable: true,
167
+ // labelInValue: true,
143
168
  onChange: (v) => {
169
+ // console.log(v,'----v')
144
170
  setValue(v)
145
171
  },
146
172
  businessType: 'settle-organization'
@@ -65,6 +65,7 @@ const mapping = new Map([
65
65
  ['assignQuantity', '按指定数量'],
66
66
  ['retainQuantity', ' 按保留数量'],
67
67
  ['priority', ' 优先级'],
68
+ ['stockBizTypeCode', ' 库存类型'],
68
69
  ]);
69
70
 
70
71
  // for dnd
@@ -420,12 +421,12 @@ class DataImport extends React.Component {
420
421
  };
421
422
 
422
423
  resetData = () => {
423
- const { validDataUrl, validDataParams, updateData, columns, isBrandAuth, isCheckStockNum = true } = this.props;
424
+ const { validDataUrl, validDataParams, updateData, columns, isBrandAuth, isCheckStockNum = true, customerColumnsMapping } = this.props;
424
425
  const resultData = this.getData().filter(d => {
425
426
  return _.compact(Object.values(d)).length
426
427
  })
428
+ const resultColumns = customerColumnsMapping?.length? customerColumnsMapping?.filter((c: any) => !c?.name)?.map((c: any) => c.name) : columns
427
429
 
428
-
429
430
  // 处理业务参数
430
431
  let otherParams={}
431
432
  if(isBrandAuth){
@@ -436,7 +437,7 @@ class DataImport extends React.Component {
436
437
  .post(validDataUrl, {
437
438
  ...otherParams,
438
439
  ...validDataParams,
439
- columns: columns,
440
+ columns: resultColumns,
440
441
  data: resultData,
441
442
  checkStockNum: isCheckStockNum
442
443
  })
@@ -455,8 +456,8 @@ class DataImport extends React.Component {
455
456
  sheetData.map((item, index) => {
456
457
  if (!res[index]) return item;
457
458
 
458
- const changeVMIndex = this.props.columns.findIndex(i => i === 'skuCode');
459
- if(this.props.columns.find(i => i === 'skuCode') && item[changeVMIndex].v !== res[index].skuCode) {
459
+ const changeVMIndex = resultColumns?.findIndex(i => i === 'skuCode');
460
+ if(resultColumns?.find(i => i === 'skuCode') && item[changeVMIndex].v !== res[index].skuCode) {
460
461
  item[changeVMIndex].v = res[index].skuCode;
461
462
  item[changeVMIndex].m = res[index].skuCode;
462
463
  }
@@ -421,10 +421,11 @@ class DataValidation extends React.Component {
421
421
  };
422
422
 
423
423
  resetData = () => {
424
- const { validDataUrl, validDataParams, updateData, columns, isBrandAuth, isCheckStockNum = true } = this.props;
424
+ const { validDataUrl, validDataParams, updateData, columns, isBrandAuth, isCheckStockNum = true, customerColumnsMapping } = this.props;
425
425
  const resultData = this.getData().filter(d => {
426
426
  return _.compact(Object.values(d)).length
427
427
  })
428
+ const resultColumns = customerColumnsMapping?.length? customerColumnsMapping?.filter((c: any) => !c?.name)?.map((c: any) => c.name) : columns
428
429
 
429
430
  // 处理业务参数
430
431
  let otherParams={}
@@ -436,7 +437,7 @@ class DataValidation extends React.Component {
436
437
  .post(validDataUrl, {
437
438
  ...otherParams,
438
439
  ...validDataParams,
439
- columns: columns,
440
+ columns: resultColumns,
440
441
  data: resultData,
441
442
  checkStockNum: isCheckStockNum
442
443
  })
@@ -455,8 +456,8 @@ class DataValidation extends React.Component {
455
456
  sheetData.map((item, index) => {
456
457
  if (!res[index]) return item;
457
458
 
458
- const changeVMIndex = this.props.columns.findIndex(i => i === 'skuCode');
459
- if(this.props.columns.find(i => i === 'skuCode') && item[changeVMIndex].v !== res[index].skuCode) {
459
+ const changeVMIndex = resultColumns?.findIndex(i => i === 'skuCode');
460
+ if(resultColumns?.find(i => i === 'skuCode') && item[changeVMIndex].v !== res[index].skuCode) {
460
461
  item[changeVMIndex].v = res[index].skuCode;
461
462
  item[changeVMIndex].m = res[index].skuCode;
462
463
  }
@@ -776,18 +776,32 @@ const SearchSelect = forwardRef((props: any, ref: any) => {
776
776
  }
777
777
  };
778
778
 
779
+ const getShowLabelTextStr = (kongValue): string => {
780
+ if (selectMode) {
781
+ return value?.map(item => item.label || item.text || '')?.join(',') || kongValue;
782
+ }
783
+ return (value?.label || value?.text || kongValue) as string;
784
+ };
779
785
  const getSelectValueText = (v: any) => {
780
786
  return (items || []).filter(item => item.value === v)?.[0]?.text || v || '';
781
787
  }
788
+ const getShowValueStr = (kongValue): string => {
789
+ if (selectMode) {
790
+ return value?.map(item => getSelectValueText(item))?.join(',') || kongValue;
791
+ }
792
+ return (getSelectValueText(value) || kongValue) as string;
793
+ }
782
794
  const getShowStr = () => {
795
+ const kongValue = '无'
783
796
  // 先判断labelInValue与否,labelInValue可以直接去value中获取字段名称,否则去下拉框数据里面去拿;
784
797
  // 再判断是单选还是多选,数据类型不同取值方式也不同
785
- if(labelInValue) {
786
- return selectMode ? value?.map(item => item.label || item.text)?.join(',') : (value?.label|| value?.text)
798
+ if (labelInValue) {
799
+ return getShowLabelTextStr(kongValue);
787
800
  }
788
- return selectMode ? value?.map(item => getSelectValueText(item))?.join(',') : getSelectValueText(value);
801
+ return getShowValueStr(kongValue);
789
802
  }
790
803
 
804
+ const isShouldShowStr = props.disabled && ctx
791
805
  return (
792
806
  <div className={'search_select'}>
793
807
  {fieldComponent ? (
@@ -800,7 +814,7 @@ const SearchSelect = forwardRef((props: any, ref: any) => {
800
814
  {fieldComponent}
801
815
  </div>
802
816
  ) : (
803
- props.disabled && ctx ?
817
+ isShouldShowStr ?
804
818
  (<div title={getShowStr()} style={{overflow:'hidden',textOverflow:'ellipsis',whiteSpace:'nowrap'}} className={'search_select_show'}>
805
819
  {getShowStr()}
806
820
  </div>) :
@@ -174,31 +174,49 @@ const TreeSearchSelect = (props: any) => {
174
174
  )
175
175
  }
176
176
 
177
+ const getShowStr = () => {
178
+ const isMultiple = multiple || treeCheckable
179
+ const kongValue = '无';
180
+ const parallelTreeData = parallelData(treeData,[])
181
+ const currentItem = getSelectItem(parallelTreeData,value); // 得到选中的数据项
182
+ if(isMultiple) {
183
+ return currentItem?.map((i: any) => i?.['title']).join(',') || kongValue
184
+ }
185
+ return valueName || currentItem?.['title'] || kongValue
186
+ }
187
+
188
+ const isShouldShowStr = (disabled || mode==='view' || ctx?.mode === 'view') && ctx
177
189
  return (
178
190
  <div className={'tree_search_select'}>
179
- <TreeSelect
180
- {...restProps}
181
- treeCheckable={treeCheckable}
182
- maxTagCount={maxTagCount}
183
- showSearch={showSearch}
184
- style={style}
185
- value={value}
186
- dropdownStyle={{ maxHeight: 400, maxWidth: 100, overflow: 'auto' }}
187
- treeData={treeData}
188
- placeholder={placeholder}
189
- allowClear={allowClear}
190
- labelInValue={labelInValue}
191
- showArrow={showArrow}
192
- showCheckedStrategy={showCheckedStrategy}
193
- treeNodeFilterProp={'title'}
194
- treeDefaultExpandAll
195
- multiple={multiple} // 支持多选(当设置 treeCheckable 时自动变为 true)
196
- maxTagPlaceholder={maxTagPlaceholder}
197
- onChange={handleChange}
198
- disabled={disabled || mode==='view' || ctx?.mode === 'view'}
199
- getPopupContainer={(triggerNode) => (getPopupContainer && getPopupContainer(triggerNode)) || document.body}
200
- >
201
- </TreeSelect>
191
+ {isShouldShowStr ? (
192
+ <div title={getShowStr()} style={{overflow:'hidden',textOverflow:'ellipsis',whiteSpace:'nowrap'}} className={'search_select_show'}>
193
+ {getShowStr()}
194
+ </div>
195
+ ): (
196
+ <TreeSelect
197
+ {...restProps}
198
+ treeCheckable={treeCheckable}
199
+ maxTagCount={maxTagCount}
200
+ showSearch={showSearch}
201
+ style={style}
202
+ value={value}
203
+ dropdownStyle={{ maxHeight: 400, maxWidth: 100, overflow: 'auto' }}
204
+ treeData={treeData}
205
+ placeholder={placeholder}
206
+ allowClear={allowClear}
207
+ labelInValue={labelInValue}
208
+ showArrow={showArrow}
209
+ showCheckedStrategy={showCheckedStrategy}
210
+ treeNodeFilterProp={'title'}
211
+ treeDefaultExpandAll
212
+ multiple={multiple} // 支持多选(当设置 treeCheckable 时自动变为 true)
213
+ maxTagPlaceholder={maxTagPlaceholder}
214
+ onChange={handleChange}
215
+ disabled={disabled || mode==='view' || ctx?.mode === 'view'}
216
+ getPopupContainer={(triggerNode) => (getPopupContainer && getPopupContainer(triggerNode)) || document.body}
217
+ >
218
+ </TreeSelect>
219
+ )}
202
220
  </div>
203
221
  );
204
222
  };