linkmore-design 1.0.18 → 1.0.21

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.
Files changed (59) hide show
  1. package/dist/index.umd.js +1001 -53
  2. package/dist/index.umd.min.js +6 -6
  3. package/es/Button/style/style.css +2 -2
  4. package/es/CkFilter/baseFilter/moreFilters.js +29 -4
  5. package/es/CkFilter/components/Controls.js +3 -1
  6. package/es/CkFilter/components/filterTypes.js +81 -44
  7. package/es/CkFilter/style/style.css +12 -2
  8. package/es/Input/style/style.css +21 -7
  9. package/es/InputNumber/style/index.css +1 -0
  10. package/es/LeftTable/style/style.css +1 -0
  11. package/es/LmTable/ImgList/body.js +111 -0
  12. package/es/LmTable/ImgList/cardCell.js +192 -0
  13. package/es/LmTable/ImgList/context.js +12 -0
  14. package/es/LmTable/ImgList/empty.js +24 -0
  15. package/es/LmTable/ImgList/footer.js +59 -0
  16. package/es/LmTable/ImgList/imgCell.js +181 -0
  17. package/es/LmTable/ImgList/imgTable.js +110 -0
  18. package/es/LmTable/ImgList/index.js +13 -0
  19. package/es/LmTable/Table.js +390 -0
  20. package/es/LmTable/VList.js +594 -0
  21. package/es/LmTable/autosize.js +170 -0
  22. package/es/LmTable/context.js +12 -0
  23. package/es/LmTable/detectElementResize.js +225 -0
  24. package/es/LmTable/index.js +19 -0
  25. package/es/LmTable/resetConfig.js +39 -0
  26. package/es/LmTable/style/index.js +3 -0
  27. package/es/LmTable/style/style.css +1068 -0
  28. package/es/ProTable/style/style.css +0 -3
  29. package/es/Radio/style/style.css +3 -0
  30. package/es/index.js +9 -1
  31. package/lib/Button/style/style.css +2 -2
  32. package/lib/CkFilter/baseFilter/moreFilters.js +29 -4
  33. package/lib/CkFilter/components/Controls.js +3 -1
  34. package/lib/CkFilter/components/filterTypes.js +81 -44
  35. package/lib/CkFilter/style/style.css +12 -2
  36. package/lib/Input/style/style.css +21 -7
  37. package/lib/InputNumber/style/index.css +1 -0
  38. package/lib/LeftTable/style/style.css +1 -0
  39. package/lib/LmTable/ImgList/body.js +111 -0
  40. package/lib/LmTable/ImgList/cardCell.js +192 -0
  41. package/lib/LmTable/ImgList/context.js +12 -0
  42. package/lib/LmTable/ImgList/empty.js +24 -0
  43. package/lib/LmTable/ImgList/footer.js +59 -0
  44. package/lib/LmTable/ImgList/imgCell.js +181 -0
  45. package/lib/LmTable/ImgList/imgTable.js +110 -0
  46. package/lib/LmTable/ImgList/index.js +13 -0
  47. package/lib/LmTable/Table.js +390 -0
  48. package/lib/LmTable/VList.js +594 -0
  49. package/lib/LmTable/autosize.js +170 -0
  50. package/lib/LmTable/context.js +12 -0
  51. package/lib/LmTable/detectElementResize.js +225 -0
  52. package/lib/LmTable/index.js +19 -0
  53. package/lib/LmTable/resetConfig.js +39 -0
  54. package/lib/LmTable/style/index.js +3 -0
  55. package/lib/LmTable/style/style.css +1068 -0
  56. package/lib/ProTable/style/style.css +0 -3
  57. package/lib/Radio/style/style.css +3 -0
  58. package/lib/index.js +9 -1
  59. package/package.json +1 -1
package/dist/index.umd.js CHANGED
@@ -23391,7 +23391,7 @@
23391
23391
  }
23392
23392
 
23393
23393
  var add = createAdder(1, 'add'),
23394
- subtract = createAdder(-1, 'subtract');
23394
+ subtract$1 = createAdder(-1, 'subtract');
23395
23395
 
23396
23396
  function isString(input) {
23397
23397
  return typeof input === 'string' || input instanceof String;
@@ -24681,7 +24681,7 @@
24681
24681
  proto.parsingFlags = parsingFlags;
24682
24682
  proto.set = stringSet;
24683
24683
  proto.startOf = startOf;
24684
- proto.subtract = subtract;
24684
+ proto.subtract = subtract$1;
24685
24685
  proto.toArray = toArray;
24686
24686
  proto.toObject = toObject;
24687
24687
  proto.toDate = toDate;
@@ -24979,7 +24979,7 @@
24979
24979
  }
24980
24980
 
24981
24981
  // supports only 2.0-style subtract(1, 's') or subtract(duration)
24982
- function subtract$1(input, value) {
24982
+ function subtract$1$1(input, value) {
24983
24983
  return addSubtract$1(this, input, value, -1);
24984
24984
  }
24985
24985
 
@@ -25343,7 +25343,7 @@
25343
25343
  proto$2.isValid = isValid$1;
25344
25344
  proto$2.abs = abs;
25345
25345
  proto$2.add = add$1;
25346
- proto$2.subtract = subtract$1;
25346
+ proto$2.subtract = subtract$1$1;
25347
25347
  proto$2.as = as;
25348
25348
  proto$2.asMilliseconds = asMilliseconds;
25349
25349
  proto$2.asSeconds = asSeconds;
@@ -26301,7 +26301,7 @@
26301
26301
 
26302
26302
  var handleSure = function handleSure() {
26303
26303
  setFilterValue(checkedValues);
26304
- }; // 清空
26304
+ }; // 取消
26305
26305
 
26306
26306
 
26307
26307
  var handleReset = function handleReset() {
@@ -26370,14 +26370,13 @@
26370
26370
  }, item.label));
26371
26371
  }), !options.length && /*#__PURE__*/React__default['default'].createElement("div", {
26372
26372
  className: "filter_empty"
26373
- }, "\u6682\u65E0\u6570\u636E")), isSearch && /*#__PURE__*/React__default['default'].createElement("div", {
26373
+ }, "\u6682\u65E0\u6570\u636E")), /*#__PURE__*/React__default['default'].createElement("div", {
26374
26374
  className: "filter_footer"
26375
26375
  }, /*#__PURE__*/React__default['default'].createElement("div", {
26376
26376
  className: "footer_clear",
26377
26377
  onClick: handleReset
26378
- }, "\u6E05\u7A7A"), /*#__PURE__*/React__default['default'].createElement(linkmoreDesign.Button, {
26378
+ }, "\u53D6\u6D88"), /*#__PURE__*/React__default['default'].createElement(linkmoreDesign.Button, {
26379
26379
  type: "primary",
26380
- disabled: !checkedValues.length,
26381
26380
  size: "small",
26382
26381
  onClick: handleSure
26383
26382
  }, "\u786E\u5B9A")));
@@ -26388,10 +26387,13 @@
26388
26387
  var filters = _ref12.filters,
26389
26388
  getFilterValue = _ref12.getFilterValue,
26390
26389
  setFilterValue = _ref12.setFilterValue;
26390
+
26391
26391
  // 选中的数据
26392
- var checkedValues = React.useMemo(function () {
26393
- return getFilterValue;
26394
- }, [getFilterValue]); // 排序后的数组
26392
+ var _useState9 = React.useState(getFilterValue || []),
26393
+ _useState10 = _slicedToArray(_useState9, 2),
26394
+ checkedValues = _useState10[0],
26395
+ setCheckedValues = _useState10[1]; // 排序后的数组
26396
+
26395
26397
 
26396
26398
  var options = React.useMemo(function () {
26397
26399
  return filters;
@@ -26411,15 +26413,29 @@
26411
26413
  return checkedValues.length === options.length;
26412
26414
  }, [checkedValues.length, options.length]); // 全选事件
26413
26415
 
26414
- var onCheckAllChange = function onCheckAllChange() {
26415
- // const nValue = checkAll ? [] : options.map(v => v.field);
26416
- // setCheckedValues(nValue);
26417
- setFilterValue(options, checkAll ? 'hidden' : 'show');
26416
+ var onCheckAllChange = function onCheckAllChange(e) {
26417
+ e.preventDefault();
26418
+ e.stopPropagation();
26419
+ var nValue = checkAll ? [] : options.map(function (v) {
26420
+ return v.field;
26421
+ });
26422
+ console.log('nValue', checkAll, nValue, nValue.length);
26423
+ setCheckedValues(nValue); // setFilterValue(options, checkAll ? 'hidden' : 'show')
26418
26424
  }; // 重置
26419
26425
 
26420
26426
 
26421
26427
  var handleReset = function handleReset() {
26422
26428
  return setFilterValue(null, 'reset');
26429
+ }; // 确定
26430
+
26431
+
26432
+ var handleSure = function handleSure() {
26433
+ setFilterValue(checkedValues, 'sure');
26434
+ }; // 取消
26435
+
26436
+
26437
+ var handleCancel = function handleCancel() {
26438
+ setFilterValue(checkedValues, 'cancel');
26423
26439
  }; // 置顶操作, 防止频繁操作, 建议加上节流
26424
26440
 
26425
26441
 
@@ -26431,7 +26447,13 @@
26431
26447
 
26432
26448
  var onChange = function onChange(e, item) {
26433
26449
  e.preventDefault();
26434
- setFilterValue(item);
26450
+ e.stopPropagation(); // setFilterValue(item)
26451
+
26452
+ var nValue = checkedValues.includes(item.field) ? checkedValues.filter(function (v) {
26453
+ return v !== item.field;
26454
+ }) : [].concat(_toConsumableArray(checkedValues), [item.field]);
26455
+ console.log('item', getFilterValue, nValue, checkedValues, item);
26456
+ setCheckedValues(nValue);
26435
26457
  };
26436
26458
 
26437
26459
  return /*#__PURE__*/React__default['default'].createElement("div", {
@@ -26440,11 +26462,13 @@
26440
26462
  className: "filter_header"
26441
26463
  }, /*#__PURE__*/React__default['default'].createElement("div", {
26442
26464
  className: "filter_header_operate"
26465
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
26466
+ onClick: onCheckAllChange,
26467
+ className: "filter_header_operate_checked"
26443
26468
  }, /*#__PURE__*/React__default['default'].createElement(linkmoreDesign.Checkbox, {
26444
26469
  indeterminate: indeterminate,
26445
- onChange: onCheckAllChange,
26446
26470
  checked: checkAll
26447
- }, "\u5168\u90E8"), /*#__PURE__*/React__default['default'].createElement("div", null, /*#__PURE__*/React__default['default'].createElement("span", {
26471
+ }, "\u5168\u90E8")), /*#__PURE__*/React__default['default'].createElement("div", null, /*#__PURE__*/React__default['default'].createElement("span", {
26448
26472
  className: "filter_reset",
26449
26473
  onClick: handleReset
26450
26474
  }, "\u91CD\u7F6E")))), /*#__PURE__*/React__default['default'].createElement(linkmoreDesign.Checkbox.Group, {
@@ -26474,7 +26498,16 @@
26474
26498
  return handleTop(e, item);
26475
26499
  }
26476
26500
  })));
26477
- })));
26501
+ })), /*#__PURE__*/React__default['default'].createElement("div", {
26502
+ className: "filter_footer"
26503
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
26504
+ className: "footer_clear",
26505
+ onClick: handleCancel
26506
+ }, "\u53D6\u6D88"), /*#__PURE__*/React__default['default'].createElement(linkmoreDesign.Button, {
26507
+ type: "primary",
26508
+ size: "small",
26509
+ onClick: handleSure
26510
+ }, "\u786E\u5B9A")));
26478
26511
  }; // 日期范围选择器
26479
26512
 
26480
26513
 
@@ -26584,47 +26617,52 @@
26584
26617
  itemProps = _props$itemProps === void 0 ? {} : _props$itemProps,
26585
26618
  isFiltering = props.isFiltering;
26586
26619
 
26587
- var _useState9 = React.useState(false),
26588
- _useState10 = _slicedToArray(_useState9, 2),
26589
- visible = _useState10[0],
26590
- setVisible = _useState10[1];
26591
-
26592
- var _useState11 = React.useState(filters),
26620
+ var _useState11 = React.useState(false),
26593
26621
  _useState12 = _slicedToArray(_useState11, 2),
26594
- options = _useState12[0],
26595
- setOptions = _useState12[1];
26622
+ visible = _useState12[0],
26623
+ setVisible = _useState12[1];
26596
26624
 
26597
- var _useState13 = React.useState('全部'),
26625
+ var _useState13 = React.useState(filters),
26598
26626
  _useState14 = _slicedToArray(_useState13, 2),
26599
- text = _useState14[0],
26600
- setText = _useState14[1];
26627
+ options = _useState14[0],
26628
+ setOptions = _useState14[1];
26601
26629
 
26602
- var _useState15 = React.useState(getFilterValue || itemProps.multiple ? [] : ''),
26630
+ var _useState15 = React.useState('全部'),
26603
26631
  _useState16 = _slicedToArray(_useState15, 2),
26604
- checkedValues = _useState16[0],
26605
- setCheckedValues = _useState16[1];
26632
+ text = _useState16[0],
26633
+ setText = _useState16[1];
26634
+
26635
+ var _useState17 = React.useState(getFilterValue || itemProps.multiple ? [] : ''),
26636
+ _useState18 = _slicedToArray(_useState17, 2),
26637
+ checkedValues = _useState18[0],
26638
+ setCheckedValues = _useState18[1]; // const isSearch = useMemo(() => filters.length > 8, [filters.length]);
26606
26639
 
26607
- var isSearch = React.useMemo(function () {
26608
- return filters.length > 8;
26609
- }, [filters.length]);
26610
26640
 
26611
26641
  var handleFilter = function handleFilter(val) {
26612
26642
  setOptions(filters.filter(function (v) {
26613
26643
  return v.label.indexOf(val) > -1;
26614
26644
  }));
26615
- };
26645
+ }; // 重置级联弹框
26646
+
26616
26647
 
26617
26648
  var dropdownRender = function dropdownRender(menus) {
26618
26649
  var inputRef = React.useRef(null); // 确定
26619
26650
 
26620
26651
  var handleSure = function handleSure() {
26621
- setFilterValue(checkedValues);
26622
- }; // 清空
26652
+ setFilterValue(itemProps.multiple ? checkedValues.map(function (v) {
26653
+ return v[v.length - 1];
26654
+ }) : checkedValues);
26655
+ setVisible(false);
26656
+ }; // 取消
26623
26657
 
26624
26658
 
26625
26659
  var handleReset = function handleReset() {
26626
- inputRef.current.input.value = '';
26660
+ if (inputRef.current) {
26661
+ inputRef.current.input.value = '';
26662
+ }
26663
+
26627
26664
  setFilterValue(undefined);
26665
+ setCheckedValues(itemProps.multiple ? [] : '');
26628
26666
  };
26629
26667
 
26630
26668
  return /*#__PURE__*/React__default['default'].createElement("div", {
@@ -26640,15 +26678,16 @@
26640
26678
  onChange: lodash.debounce(function (e) {
26641
26679
  return handleFilter(e.target.value);
26642
26680
  }, 500)
26643
- })), menus, isSearch && /*#__PURE__*/React__default['default'].createElement("div", {
26681
+ })), menus, itemProps.multiple && /*#__PURE__*/React__default['default'].createElement("div", {
26644
26682
  className: "filter_footer"
26645
26683
  }, /*#__PURE__*/React__default['default'].createElement("div", {
26646
26684
  className: "footer_clear",
26647
26685
  onClick: handleReset
26648
- }, "\u6E05\u7A7A"), /*#__PURE__*/React__default['default'].createElement(linkmoreDesign.Button, {
26686
+ }, "\u53D6\u6D88"), /*#__PURE__*/React__default['default'].createElement(linkmoreDesign.Button, {
26649
26687
  type: "primary",
26650
26688
  size: "small",
26651
- onClick: handleSure
26689
+ onClick: handleSure,
26690
+ disabled: !(checkedValues === null || checkedValues === void 0 ? void 0 : checkedValues.length)
26652
26691
  }, "\u786E\u5B9A")));
26653
26692
  };
26654
26693
 
@@ -26671,9 +26710,6 @@
26671
26710
  });
26672
26711
  var showLabel = arr.length < 3 ? arr.join('、') : "".concat(arr[0], "\u3001+").concat(arr.length);
26673
26712
  setText(showLabel);
26674
- setFilterValue(item.map(function (v) {
26675
- return v[v.length - 1];
26676
- }));
26677
26713
  setCheckedValues(item);
26678
26714
  } else {
26679
26715
  setText(selectedOptions.map(function (v) {
@@ -26697,7 +26733,8 @@
26697
26733
  options: options,
26698
26734
  value: checkedValues,
26699
26735
  onChange: onChange,
26700
- showCheckedStrategy: "Cascader.SHOW_CHILD",
26736
+ open: visible // showCheckedStrategy="Cascader.SHOW_CHILD"
26737
+ ,
26701
26738
  dropdownRender: dropdownRender,
26702
26739
  onDropdownVisibleChange: function onDropdownVisibleChange(v) {
26703
26740
  return setVisible(v);
@@ -26713,7 +26750,7 @@
26713
26750
  className: "filter_item_value"
26714
26751
  }, /*#__PURE__*/React__default['default'].createElement("div", {
26715
26752
  className: "checked"
26716
- }, text), /*#__PURE__*/React__default['default'].createElement(IconFont, {
26753
+ }, isFiltering ? text : '全部'), /*#__PURE__*/React__default['default'].createElement(IconFont, {
26717
26754
  type: isFiltering ? 'lmweb-close-circle-fill' : 'lmweb-down',
26718
26755
  className: "addonAfter",
26719
26756
  onClick: handleClear
@@ -26980,11 +27017,36 @@
26980
27017
  });
26981
27018
  (_state$instance$onCha = (_state$instance = state.instance).onChange) === null || _state$instance$onCha === void 0 ? void 0 : _state$instance$onCha.call(_state$instance, filterValues, state.customFilterValues); // 触发外部查询事件
26982
27019
  }
27020
+ }
27021
+
27022
+ if (type === 'sure') {
27023
+ var _state$instance$onCha2, _state$instance2;
27024
+
27025
+ var flag = false; // 是否触发查询
27026
+
27027
+ dispatch({
27028
+ type: 'changeVisibleFields',
27029
+ visibleFields: item
27030
+ }); // 收起时,仅当存在筛选条件时, 才会触发筛选改变事件
27031
+
27032
+ var _filterValues = _objectSpread({}, state.filterValues);
27033
+
27034
+ Object.keys(_filterValues).forEach(function (v) {
27035
+ if (!item.includes(v)) {
27036
+ flag = true;
27037
+ delete _filterValues[v];
27038
+ }
27039
+ });
27040
+ dispatch({
27041
+ type: 'changeFilterValues',
27042
+ filterValues: _filterValues
27043
+ });
27044
+ flag && ((_state$instance$onCha2 = (_state$instance2 = state.instance).onChange) === null || _state$instance$onCha2 === void 0 ? void 0 : _state$instance$onCha2.call(_state$instance2, _filterValues, state.customFilterValues)); // 触发外部查询事件
26983
27045
  } // 重置操作: 输入框的内容不重置
26984
27046
 
26985
27047
 
26986
27048
  if (type === 'reset') {
26987
- var _state$instance$onCha2, _state$instance2;
27049
+ var _state$instance$onCha3, _state$instance3;
26988
27050
 
26989
27051
  var searchKey = state.instance.searchKey;
26990
27052
  var searchValue = state.filterValues[searchKey];
@@ -27011,7 +27073,7 @@
27011
27073
  type: 'initOptions',
27012
27074
  options: options
27013
27075
  });
27014
- (_state$instance$onCha2 = (_state$instance2 = state.instance).onChange) === null || _state$instance$onCha2 === void 0 ? void 0 : _state$instance$onCha2.call(_state$instance2, obj, state.customFilterValues); // 触发外部查询事件
27076
+ (_state$instance$onCha3 = (_state$instance3 = state.instance).onChange) === null || _state$instance$onCha3 === void 0 ? void 0 : _state$instance$onCha3.call(_state$instance3, obj, state.customFilterValues); // 触发外部查询事件
27015
27077
  }
27016
27078
 
27017
27079
  if (type === 'top') {
@@ -27041,7 +27103,7 @@
27041
27103
 
27042
27104
 
27043
27105
  if (JSON.stringify(searchObj) !== JSON.stringify(state.filterValues)) {
27044
- var _state$instance$onCha3, _state$instance3;
27106
+ var _state$instance$onCha4, _state$instance4;
27045
27107
 
27046
27108
  var _obj = {};
27047
27109
  getIsHas(_searchValue) && (_obj[_searchKey] = _searchValue);
@@ -27049,7 +27111,7 @@
27049
27111
  type: 'changeFilterValues',
27050
27112
  filterValues: _obj
27051
27113
  });
27052
- (_state$instance$onCha3 = (_state$instance3 = state.instance).onChange) === null || _state$instance$onCha3 === void 0 ? void 0 : _state$instance$onCha3.call(_state$instance3, _obj, state.customFilterValues); // 触发外部查询事件
27114
+ (_state$instance$onCha4 = (_state$instance4 = state.instance).onChange) === null || _state$instance$onCha4 === void 0 ? void 0 : _state$instance$onCha4.call(_state$instance4, _obj, state.customFilterValues); // 触发外部查询事件
27053
27115
  }
27054
27116
  }
27055
27117
  } // 人性化设计,位置不变无需收起
@@ -27722,7 +27784,9 @@
27722
27784
  'cascader': /*#__PURE__*/React__default['default'].createElement(CascaderFilter$1, _extends({
27723
27785
  options: options
27724
27786
  }, resetProps)),
27725
- 'input': /*#__PURE__*/React__default['default'].createElement(_Input__default['default'], resetProps)
27787
+ 'input': /*#__PURE__*/React__default['default'].createElement(_Input__default['default'], _extends({
27788
+ placeholder: "\u8BF7\u8F93\u5165"
27789
+ }, resetProps))
27726
27790
  };
27727
27791
  return obj[type] || null;
27728
27792
  };
@@ -73677,6 +73741,889 @@
73677
73741
  }))));
73678
73742
  };
73679
73743
 
73744
+ // 表格基础配置文件
73745
+ // 行选择
73746
+ var checkConfig$1 = {
73747
+ trigger: 'row',
73748
+ highlight: false
73749
+ }; // 列排序
73750
+
73751
+ var sortConfig$1 = {
73752
+ trigger: 'default',
73753
+ checkRowIds: []
73754
+ }; // 列过滤
73755
+
73756
+ var filterConfig$1 = {
73757
+ trigger: 'default',
73758
+ checkRowIds: []
73759
+ }; // 分页
73760
+
73761
+ var pagerConfig$1 = {
73762
+ pageSize: 30,
73763
+ pageIndex: 0
73764
+ }; // 编辑配置
73765
+
73766
+ var editConfig$1 = {
73767
+ enabled: false
73768
+ };
73769
+ var ResetConfig$1 = {
73770
+ checkConfig: checkConfig$1,
73771
+ sortConfig: sortConfig$1,
73772
+ filterConfig: filterConfig$1,
73773
+ pagerConfig: pagerConfig$1,
73774
+ editConfig: editConfig$1
73775
+ };
73776
+
73777
+ var _excluded$1a = ["dataSource", "autoSize", "columns", "rowClick", "onDoubleClick", "checkConfig", "summary", "pagination", "hiddenPage", "loading", "virtual", "customCheck"];
73778
+ var Summary$1 = ProviderWarp.Summary;
73779
+ var ResetTable$1 = /*#__PURE__*/React.forwardRef(function (props, ref) {
73780
+ var dataSource = props.dataSource,
73781
+ autoSize = props.autoSize,
73782
+ columns = props.columns,
73783
+ rowClick = props.rowClick,
73784
+ _onDoubleClick = props.onDoubleClick,
73785
+ checkConfig = props.checkConfig,
73786
+ _summary = props.summary,
73787
+ pagination = props.pagination,
73788
+ hiddenPage = props.hiddenPage,
73789
+ loading = props.loading,
73790
+ _props$virtual = props.virtual,
73791
+ virtual = _props$virtual === void 0 ? false : _props$virtual,
73792
+ customCheck = props.customCheck,
73793
+ resetProps = _objectWithoutProperties(props, _excluded$1a);
73794
+
73795
+ console.log(virtual, '--virtual', autoSize);
73796
+ var _resetProps$rowKey = resetProps.rowKey,
73797
+ rowKey = _resetProps$rowKey === void 0 ? 'id' : _resetProps$rowKey;
73798
+
73799
+ var _useState = React.useState({
73800
+ selectedRows: []
73801
+ }),
73802
+ _useState2 = _slicedToArray(_useState, 2),
73803
+ useSelectedRows = _useState2[0],
73804
+ setSelectedRows = _useState2[1]; // 复选中的值
73805
+
73806
+
73807
+ var _useState3 = React.useState(''),
73808
+ _useState4 = _slicedToArray(_useState3, 2),
73809
+ useActiveKey = _useState4[0],
73810
+ setActiveKey = _useState4[1]; // 行选中
73811
+
73812
+
73813
+ var _useState5 = React.useState([]),
73814
+ _useState6 = _slicedToArray(_useState5, 2),
73815
+ useColumns = _useState6[0],
73816
+ setColumns = _useState6[1]; // 列设置
73817
+
73818
+
73819
+ var _useState7 = React.useState(),
73820
+ _useState8 = _slicedToArray(_useState7, 2),
73821
+ columnsStateMap = _useState8[0],
73822
+ setColumnsStateMap = _useState8[1]; // 原宽度,先宽度,序号
73823
+
73824
+
73825
+ var handleResize = function handleResize(sc, size, index) {
73826
+ var preCountW = lodash.sumBy(useColumns, 'width') + 36;
73827
+ var curCountW = preCountW - sc + size;
73828
+ var scale = curCountW > preCountW ? subtract(preCountW, size) / subtract(preCountW, sc) : subtract(autoSize.width, size) / subtract(autoSize.width, sc);
73829
+ var nValue = useColumns.map(function (v, idx) {
73830
+ var w = curCountW < autoSize.width ? scale * v.width : v.width;
73831
+ return _objectSpread(_objectSpread({}, v), {}, {
73832
+ width: idx === index ? size : w
73833
+ });
73834
+ });
73835
+ setColumns(_toConsumableArray(nValue));
73836
+ };
73837
+
73838
+ var resetColumns = React.useCallback(function () {
73839
+ return useColumns.map(function (col, index) {
73840
+ return _objectSpread(_objectSpread({}, col), {}, {
73841
+ width: col.width,
73842
+ onHeaderCell: function onHeaderCell(column) {
73843
+ return {
73844
+ width: column.width,
73845
+ onResize: function onResize(e, size) {
73846
+ return handleResize(e, size, index);
73847
+ }
73848
+ };
73849
+ }
73850
+ });
73851
+ });
73852
+ }, [useColumns]);
73853
+ React.useEffect(function () {
73854
+ setColumns(columns);
73855
+ }, [columns]); // 行点击事件
73856
+
73857
+ var onRecord = function onRecord(record) {
73858
+ var _Object$assign = Object.assign(ResetConfig$1.checkConfig, checkConfig),
73859
+ trigger = _Object$assign.trigger,
73860
+ highlight = _Object$assign.highlight;
73861
+
73862
+ if (highlight) {
73863
+ setActiveKey(record[rowKey]);
73864
+ }
73865
+
73866
+ if (trigger === 'row') {
73867
+ var selectedRows = useSelectedRows.selectedRows;
73868
+ var selectedRowKeys = selectedRows.map(function (v) {
73869
+ return v[rowKey];
73870
+ });
73871
+ var Idx = selectedRowKeys.indexOf(record[rowKey]);
73872
+ Idx >= 0 ? selectedRows.splice(Idx, 1) : selectedRows.push(record);
73873
+ setSelectedRows({
73874
+ selectedRows: selectedRows
73875
+ });
73876
+ }
73877
+
73878
+ rowClick === null || rowClick === void 0 ? void 0 : rowClick(record);
73879
+ }; // 重写表格,增加虚拟滚动
73880
+ // const vComponents = useMemo(() => {
73881
+ // return VList({
73882
+ // height: autoSize.height, // 此值和scrollY值相同. 必传.
73883
+ // })
73884
+ // }, [autoSize.height])
73885
+ // 复选框配置
73886
+
73887
+
73888
+ var config = React.useMemo(function () {
73889
+ return _objectSpread({
73890
+ defaultSize: 'small',
73891
+ tableLayout: 'fixed',
73892
+ rowKey: rowKey,
73893
+ debounceTime: 300,
73894
+ revalidateOnFocus: false,
73895
+ options: {
73896
+ setting: true,
73897
+ density: false,
73898
+ fullScreen: false,
73899
+ reload: false
73900
+ },
73901
+ columnsState: {
73902
+ value: columnsStateMap,
73903
+ onChange: function onChange(k) {
73904
+ setColumnsStateMap(k);
73905
+ }
73906
+ },
73907
+ search: false,
73908
+ tableAlertRender: false,
73909
+ checkConfig: checkConfig,
73910
+ // components: vComponents,
73911
+ scroll: _objectSpread({
73912
+ y: autoSize.height
73913
+ }, props.scroll),
73914
+ pagination: !hiddenPage && _objectSpread({
73915
+ showSizeChanger: true,
73916
+ showQuickJumper: true,
73917
+ showTotal: function showTotal(total) {
73918
+ return "\u5171 ".concat(total, " \u6761");
73919
+ }
73920
+ }, pagination),
73921
+ rowSelection: {
73922
+ fixed: true,
73923
+ type: 'checkbox',
73924
+ columnWidth: 36,
73925
+ selectedRowKeys: useSelectedRows.selectedRows.map(function (v) {
73926
+ return v[rowKey];
73927
+ }),
73928
+ onChange: function onChange(selectedRowKeys, selectedRows, t, s) {
73929
+ setSelectedRows({
73930
+ selectedRows: selectedRows
73931
+ });
73932
+ rowClick === null || rowClick === void 0 ? void 0 : rowClick(selectedRows);
73933
+ }
73934
+ },
73935
+ onRow: function onRow(record) {
73936
+ return {
73937
+ onClick: function onClick(e) {
73938
+ onRecord(record);
73939
+ },
73940
+ onDoubleClick: function onDoubleClick() {
73941
+ _onDoubleClick === null || _onDoubleClick === void 0 ? void 0 : _onDoubleClick(record);
73942
+ }
73943
+ };
73944
+ },
73945
+ rowClassName: function rowClassName(record) {
73946
+ return record[rowKey] === useActiveKey ? 'row-active' : '';
73947
+ },
73948
+ columns: resetColumns()
73949
+ }, resetProps);
73950
+ }, [useColumns, useSelectedRows, columnsStateMap, resetProps, autoSize.height]);
73951
+ var resultColumns = React.useMemo(function () {
73952
+ var result = useColumns.map(function (item, index) {
73953
+ var _columnsStateMap$item, _columnsStateMap$item2, _columnsStateMap$item3, _columnsStateMap$item4;
73954
+
73955
+ return _objectSpread(_objectSpread({}, item), {}, {
73956
+ colSort: (columnsStateMap === null || columnsStateMap === void 0 ? void 0 : (_columnsStateMap$item = columnsStateMap[item.dataIndex]) === null || _columnsStateMap$item === void 0 ? void 0 : _columnsStateMap$item.order) === undefined ? index : (columnsStateMap === null || columnsStateMap === void 0 ? void 0 : (_columnsStateMap$item2 = columnsStateMap[item.dataIndex]) === null || _columnsStateMap$item2 === void 0 ? void 0 : _columnsStateMap$item2.order) || index,
73957
+ fixed: (columnsStateMap === null || columnsStateMap === void 0 ? void 0 : (_columnsStateMap$item3 = columnsStateMap[item.dataIndex]) === null || _columnsStateMap$item3 === void 0 ? void 0 : _columnsStateMap$item3.fixed) || item.fixed || undefined,
73958
+ show: (columnsStateMap === null || columnsStateMap === void 0 ? void 0 : (_columnsStateMap$item4 = columnsStateMap[item.dataIndex]) === null || _columnsStateMap$item4 === void 0 ? void 0 : _columnsStateMap$item4.show) !== false
73959
+ });
73960
+ }).filter(function (item) {
73961
+ return !!item.show;
73962
+ });
73963
+ result.sort(function (a, b) {
73964
+ return (a.fixed === 'left' ? a.colSort : a.fixed === 'right' ? 500 + a.colSort : a.colSort + 50) - (b.fixed === 'left' ? b.colSort : b.fixed === 'right' ? 500 + b.colSort : b.colSort + 50);
73965
+ });
73966
+ return result;
73967
+ }, [columnsStateMap, useColumns]); // useEffect(() => {
73968
+ // const countW = sumBy(columns, 'width') + 36
73969
+ // const nValue = columns.map((col) => {
73970
+ // const rw = countW < autoSize.width ? (autoSize.width / countW) * col.width : col.width
73971
+ // return {
73972
+ // ...col,
73973
+ // width: round(rw),
73974
+ // }
73975
+ // })
73976
+ // setColumns(nValue)
73977
+ // }, [columns, autoSize.width])
73978
+
73979
+ React.useEffect(function () {
73980
+ var obj = {};
73981
+ columns === null || columns === void 0 ? void 0 : columns.forEach(function (item) {
73982
+ if (item.fixed) {
73983
+ obj[item.dataIndex || item.key] = {
73984
+ fixed: item.fixed
73985
+ };
73986
+ }
73987
+ });
73988
+ setColumnsStateMap(obj);
73989
+ }, []); // useEffect(() => {
73990
+ // rowClick?.()
73991
+ // }, [useSelectedRows])
73992
+ // 将节点方法给外部使用
73993
+
73994
+ React__default['default'].useImperativeHandle(ref, function () {
73995
+ return {
73996
+ getCheckboxRecords: function getCheckboxRecords() {
73997
+ return useSelectedRows.selectedRows;
73998
+ },
73999
+ // 用于按钮触发事件
74000
+ clearSelect: function clearSelect() {
74001
+ setSelectedRows({
74002
+ selectedRows: []
74003
+ });
74004
+ rowClick === null || rowClick === void 0 ? void 0 : rowClick([]);
74005
+ },
74006
+ customSetCheckboxRecords: function customSetCheckboxRecords(value) {
74007
+ setSelectedRows({
74008
+ selectedRows: value
74009
+ });
74010
+ rowClick === null || rowClick === void 0 ? void 0 : rowClick(value);
74011
+ }
74012
+ };
74013
+ }); // loading触发清空选中状态
74014
+
74015
+ React.useEffect(function () {
74016
+ setSelectedRows({
74017
+ selectedRows: []
74018
+ });
74019
+ }, [loading]);
74020
+ return /*#__PURE__*/React__default['default'].createElement("div", {
74021
+ style: {
74022
+ height: '100%',
74023
+ width: '100%'
74024
+ }
74025
+ }, /*#__PURE__*/React__default['default'].createElement(ProviderWarp, _extends({}, config, {
74026
+ loading: loading,
74027
+ dataSource: dataSource,
74028
+ components: virtual ? vComponents : null,
74029
+ tableClassName: "lm_protable",
74030
+ summary: function summary(pageData) {
74031
+ return _summary && _summary(pageData, resultColumns);
74032
+ }
74033
+ })), !!customCheck && /*#__PURE__*/React__default['default'].createElement("div", {
74034
+ className: "lm_customCheck"
74035
+ }, customCheck));
74036
+ }); // 监听大小: 这里的高度是整个表格的高度,表体需要减去列头和分页的高度
74037
+
74038
+ /** 1: 使用scroll.x y 来控制宽高 默认都是100% */
74039
+
74040
+ var ResizeSize$2 = /*#__PURE__*/React.forwardRef(function (props, ref) {
74041
+ var _useState9 = React.useState({
74042
+ width: '100%',
74043
+ height: '100%'
74044
+ }),
74045
+ _useState10 = _slicedToArray(_useState9, 2),
74046
+ tableSize = _useState10[0],
74047
+ setTableSize = _useState10[1];
74048
+
74049
+ var defaultRef = ref || React.useRef(null);
74050
+ var tableWarpRef = React.useRef(null);
74051
+ var resizeRef = React.useRef(null);
74052
+ var resetHeight = React.useMemo(function () {
74053
+ var height = tableSize.height;
74054
+ console.log(3);
74055
+ var h = height - 48;
74056
+
74057
+ if (!props.hiddenPage || props.customCheck) {
74058
+ h -= 32;
74059
+ }
74060
+
74061
+ if (props.columns.some(function (v) {
74062
+ return v.children;
74063
+ })) {
74064
+ h -= 32;
74065
+ }
74066
+
74067
+ return h;
74068
+ }, [props.hiddenPage, props.customCheck, props.column, tableSize]);
74069
+ var throttleSize = React.useCallback(function () {
74070
+ var width = tableSize.width,
74071
+ height = tableSize.height;
74072
+ return /*#__PURE__*/React__default['default'].createElement(ResetTable$1, _extends({
74073
+ ref: defaultRef
74074
+ }, props, {
74075
+ autoSize: {
74076
+ height: resetHeight,
74077
+ width: width
74078
+ }
74079
+ }));
74080
+ }, [tableSize, props]);
74081
+
74082
+ var changeSize = function changeSize() {
74083
+ var _tableWarpRef$current4;
74084
+
74085
+ var value = props.summary ? 48 : 0;
74086
+
74087
+ var _tableWarpRef$current = (_tableWarpRef$current4 = tableWarpRef.current) === null || _tableWarpRef$current4 === void 0 ? void 0 : _tableWarpRef$current4.getBoundingClientRect(),
74088
+ _tableWarpRef$current2 = _tableWarpRef$current.width,
74089
+ width = _tableWarpRef$current2 === void 0 ? '100%' : _tableWarpRef$current2,
74090
+ _tableWarpRef$current3 = _tableWarpRef$current.height,
74091
+ height = _tableWarpRef$current3 === void 0 ? '100%' : _tableWarpRef$current3;
74092
+
74093
+ setTableSize({
74094
+ width: width,
74095
+ height: typeof height === 'string' ? "calc(".concat(height, " - ").concat(value, "px)") : height - value
74096
+ });
74097
+ };
74098
+
74099
+ var handResize = lodash.throttle(changeSize, 600);
74100
+ React.useEffect(function () {
74101
+ var _tableWarpRef$current8;
74102
+
74103
+ var hiddenPage = props.hiddenPage,
74104
+ customCheck = props.customCheck,
74105
+ summary = props.summary;
74106
+
74107
+ var _tableWarpRef$current5 = (_tableWarpRef$current8 = tableWarpRef.current) === null || _tableWarpRef$current8 === void 0 ? void 0 : _tableWarpRef$current8.getBoundingClientRect(),
74108
+ _tableWarpRef$current6 = _tableWarpRef$current5.width,
74109
+ width = _tableWarpRef$current6 === void 0 ? '100%' : _tableWarpRef$current6,
74110
+ _tableWarpRef$current7 = _tableWarpRef$current5.height,
74111
+ height = _tableWarpRef$current7 === void 0 ? '100%' : _tableWarpRef$current7;
74112
+
74113
+ console.log(width, height, '--tableWarpReftableWarpRef', tableWarpRef.current);
74114
+ var value = summary ? 48 : 0;
74115
+ resizeRef.current = window.addEventListener('resize', handResize);
74116
+ setTableSize({
74117
+ width: width,
74118
+ height: typeof height === 'string' ? "calc(".concat(height, " - ").concat(value, "px)") : height - value - 32
74119
+ });
74120
+ return function () {
74121
+ window.removeEventListener('resize', handResize);
74122
+ };
74123
+ }, []);
74124
+ return /*#__PURE__*/React__default['default'].createElement("div", {
74125
+ ref: tableWarpRef,
74126
+ id: "lm_protable_warp",
74127
+ style: {
74128
+ width: '100%',
74129
+ height: '100%'
74130
+ }
74131
+ }, throttleSize());
74132
+ });
74133
+ var Table = /*#__PURE__*/React.memo(ResizeSize$2);
74134
+
74135
+ var Context$5 = /*#__PURE__*/React.createContext();
74136
+
74137
+ var _excluded$1b = ["desc"];
74138
+ var Paragraph$2 = _Typography__default['default'].Paragraph;
74139
+
74140
+ var Access$1 = function Access(props) {
74141
+ var _defaultConfig$desc, _defaultConfig$bigVie;
74142
+
74143
+ var item = props.item,
74144
+ style = props.style,
74145
+ className = props.className;
74146
+
74147
+ var _useContext = React.useContext(Context$5),
74148
+ dispatch = _useContext.dispatch,
74149
+ defaultValue = _useContext.defaultValue,
74150
+ _useContext$rowKey = _useContext.rowKey,
74151
+ rowKey = _useContext$rowKey === void 0 ? 'id' : _useContext$rowKey,
74152
+ config = _useContext.config,
74153
+ footer = _useContext.footer,
74154
+ onClick = _useContext.onClick,
74155
+ _onDoubleClick = _useContext.onDoubleClick,
74156
+ onTitleClick = _useContext.onTitleClick,
74157
+ expand = _useContext.expand,
74158
+ checkboxConfig = _useContext.checkboxConfig;
74159
+
74160
+ var _useState = React.useState(false),
74161
+ _useState2 = _slicedToArray(_useState, 2),
74162
+ useCheck = _useState2[0],
74163
+ setCheck = _useState2[1];
74164
+
74165
+ var defaultConfig = React.useMemo(function () {
74166
+ var desc = config.desc,
74167
+ resetConfig = _objectWithoutProperties(config, _excluded$1b);
74168
+
74169
+ return _objectSpread({
74170
+ title: 'title',
74171
+ code: 'code',
74172
+ bigView: [{
74173
+ label: '计划数量',
74174
+ value: 'cfg'
74175
+ }, {
74176
+ label: '已录入',
74177
+ value: 'cfg1'
74178
+ }, {
74179
+ label: '已准入',
74180
+ value: 'cfg2'
74181
+ }],
74182
+ state: 'state',
74183
+ stateRender: Index$l,
74184
+ checkbox: true,
74185
+ desc: typeof desc === 'function' ? desc(item) : desc
74186
+ }, resetConfig);
74187
+ }, [config]); // 多选事件
74188
+
74189
+ var _onChange = function onChange(val) {
74190
+ var nValue = val ? [].concat(_toConsumableArray(defaultValue), [item]) : defaultValue.filter(function (v) {
74191
+ return v[rowKey] !== item[rowKey];
74192
+ });
74193
+ dispatch({
74194
+ type: 'changeList',
74195
+ checkList: nValue
74196
+ });
74197
+ };
74198
+
74199
+ var handleClick = function handleClick(e) {
74200
+ e.stopPropagation();
74201
+ onClick === null || onClick === void 0 ? void 0 : onClick(item);
74202
+
74203
+ if (checkboxConfig.trigger === 'row') {
74204
+ _onChange === null || _onChange === void 0 ? void 0 : _onChange(!useCheck);
74205
+ }
74206
+ };
74207
+
74208
+ var handleOnTitleClick = function handleOnTitleClick(e) {
74209
+ e.stopPropagation();
74210
+ onTitleClick === null || onTitleClick === void 0 ? void 0 : onTitleClick(item);
74211
+ };
74212
+
74213
+ React.useEffect(function () {
74214
+ setCheck(defaultValue.some(function (v) {
74215
+ return v[rowKey] === item[rowKey];
74216
+ }));
74217
+ }, [defaultValue]);
74218
+ return /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, /*#__PURE__*/React__default['default'].createElement("div", {
74219
+ className: "".concat(className, " img_cell_wrap"),
74220
+ key: item[rowKey],
74221
+ style: style
74222
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
74223
+ className: classnames('card_cell_content', {
74224
+ checked: useCheck
74225
+ })
74226
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
74227
+ className: "card_cell_body",
74228
+ onClick: handleClick,
74229
+ onDoubleClick: function onDoubleClick() {
74230
+ return _onDoubleClick === null || _onDoubleClick === void 0 ? void 0 : _onDoubleClick(item);
74231
+ }
74232
+ }, defaultConfig.checkbox && /*#__PURE__*/React__default['default'].createElement("div", {
74233
+ className: "card_cell_checkbox",
74234
+ onClick: function onClick(e) {
74235
+ return e.stopPropagation();
74236
+ }
74237
+ }, /*#__PURE__*/React__default['default'].createElement(_Checkbox__default['default'], {
74238
+ checked: useCheck,
74239
+ onChange: function onChange(e) {
74240
+ return _onChange(e.target.checked);
74241
+ }
74242
+ })), /*#__PURE__*/React__default['default'].createElement("div", {
74243
+ className: "card_cell_info"
74244
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
74245
+ className: "title"
74246
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
74247
+ className: "label",
74248
+ onClick: handleOnTitleClick
74249
+ }, item[defaultConfig.title]), /*#__PURE__*/React__default['default'].createElement("div", {
74250
+ className: "icon"
74251
+ }, /*#__PURE__*/React__default['default'].createElement(defaultConfig.stateRender, {
74252
+ dom: item[defaultConfig.state]
74253
+ }))), /*#__PURE__*/React__default['default'].createElement("div", {
74254
+ className: "code",
74255
+ onClick: function onClick(e) {
74256
+ return e.stopPropagation();
74257
+ }
74258
+ }, /*#__PURE__*/React__default['default'].createElement(Paragraph$2, {
74259
+ copyable: {
74260
+ tooltips: false,
74261
+ onCopy: function onCopy() {
74262
+ return _message__default['default'].success('复制成功!', 1.5);
74263
+ }
74264
+ }
74265
+ }, item[defaultConfig.code])), /*#__PURE__*/React__default['default'].createElement("div", {
74266
+ className: "expand"
74267
+ }, (_defaultConfig$desc = defaultConfig.desc) === null || _defaultConfig$desc === void 0 ? void 0 : _defaultConfig$desc.map(function (v) {
74268
+ return /*#__PURE__*/React__default['default'].createElement("div", null, v.label, "\uFF1A", v.value);
74269
+ }))), /*#__PURE__*/React__default['default'].createElement("div", {
74270
+ className: "card_cell_center"
74271
+ }, /*#__PURE__*/React__default['default'].createElement("ul", {
74272
+ className: "list"
74273
+ }, (_defaultConfig$bigVie = defaultConfig.bigView) === null || _defaultConfig$bigVie === void 0 ? void 0 : _defaultConfig$bigVie.map(function (v) {
74274
+ return /*#__PURE__*/React__default['default'].createElement("li", {
74275
+ key: v.value,
74276
+ className: "item"
74277
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
74278
+ className: "num"
74279
+ }, item[v.value] || 0), /*#__PURE__*/React__default['default'].createElement("div", {
74280
+ className: "text"
74281
+ }, v.label));
74282
+ })))), /*#__PURE__*/React__default['default'].createElement("div", {
74283
+ className: "card_cell_footer"
74284
+ }, footer && footer(item), expand && /*#__PURE__*/React__default['default'].createElement("div", {
74285
+ className: "footer_expand"
74286
+ }, expand(item))))));
74287
+ };
74288
+
74289
+ // import IconFont from '@/components/IconFont';
74290
+ var EmptyCom$1 = function EmptyCom() {
74291
+ return /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, /*#__PURE__*/React__default['default'].createElement("div", null, /*#__PURE__*/React__default['default'].createElement(_Empty__default['default'], {
74292
+ image: _Empty__default['default'].PRESENTED_IMAGE_SIMPLE
74293
+ })));
74294
+ };
74295
+
74296
+ var Paragraph$3 = _Typography__default['default'].Paragraph;
74297
+
74298
+ var stateRender$1 = function stateRender(v) {
74299
+ switch (v) {
74300
+ case 'ok':
74301
+ return /*#__PURE__*/React__default['default'].createElement(_Button__default['default'], null, /*#__PURE__*/React__default['default'].createElement(CheckCircleFilled$2, {
74302
+ style: {
74303
+ color: 'rgb(253,77,78)'
74304
+ }
74305
+ }), "\u5DF2\u5BA1\u6838");
74306
+
74307
+ case 'wait':
74308
+ return /*#__PURE__*/React__default['default'].createElement(_Button__default['default'], null, /*#__PURE__*/React__default['default'].createElement(ClockCircleFilled$2, {
74309
+ style: {
74310
+ color: 'rgb(253,77,78)'
74311
+ }
74312
+ }), "\u5F85\u5BA1\u6838");
74313
+
74314
+ default:
74315
+ return /*#__PURE__*/React__default['default'].createElement(_Button__default['default'], null, /*#__PURE__*/React__default['default'].createElement(StopOutlined$2, {
74316
+ style: {
74317
+ color: 'rgb(253,77,78)'
74318
+ }
74319
+ }), "\u51BB\u7ED3");
74320
+ }
74321
+ };
74322
+
74323
+ var Cell$1 = function Cell(props) {
74324
+ var _item$defaultConfig$t;
74325
+
74326
+ var item = props.item,
74327
+ style = props.style,
74328
+ className = props.className;
74329
+
74330
+ var _useContext = React.useContext(Context$5),
74331
+ dispatch = _useContext.dispatch,
74332
+ defaultValue = _useContext.defaultValue,
74333
+ _useContext$rowKey = _useContext.rowKey,
74334
+ rowKey = _useContext$rowKey === void 0 ? 'id' : _useContext$rowKey,
74335
+ config = _useContext.config,
74336
+ desc = _useContext.desc,
74337
+ footer = _useContext.footer,
74338
+ _onDoubleClick = _useContext.onDoubleClick,
74339
+ expand = _useContext.expand;
74340
+
74341
+ var _useState = React.useState(false),
74342
+ _useState2 = _slicedToArray(_useState, 2),
74343
+ useCheck = _useState2[0],
74344
+ setCheck = _useState2[1];
74345
+
74346
+ var defaultConfig = React.useMemo(function () {
74347
+ return _objectSpread({
74348
+ title: 'title',
74349
+ code: 'code',
74350
+ state: 'state',
74351
+ tags: 'tags',
74352
+ checkbox: false,
74353
+ singleRender: stateRender$1,
74354
+ mapRender: function mapRender(v, i) {
74355
+ return /*#__PURE__*/React__default['default'].createElement(_Button__default['default'], {
74356
+ key: i,
74357
+ icon: v.icon || /*#__PURE__*/React__default['default'].createElement(StarFilled$2, {
74358
+ style: {
74359
+ color: 'rgb(253,77,78)'
74360
+ }
74361
+ })
74362
+ }, v.label);
74363
+ }
74364
+ }, config);
74365
+ }, []); // 多选事件
74366
+
74367
+ var onChange = function onChange(e) {
74368
+ var bol = e.target.checked;
74369
+ var nValue = bol ? [].concat(_toConsumableArray(defaultValue), [item]) : defaultValue.filter(function (v) {
74370
+ return v[rowKey] !== item[rowKey];
74371
+ });
74372
+ dispatch({
74373
+ type: 'changeList',
74374
+ checkList: nValue
74375
+ });
74376
+ };
74377
+
74378
+ React.useEffect(function () {
74379
+ setCheck(defaultValue.some(function (v) {
74380
+ return v[rowKey] === item[rowKey];
74381
+ }));
74382
+ }, [defaultValue]);
74383
+ return /*#__PURE__*/React__default['default'].createElement("div", {
74384
+ className: "".concat(className, " img_cell_wrap"),
74385
+ key: item[rowKey],
74386
+ style: style
74387
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
74388
+ className: classnames('img_cell_body', {
74389
+ checked: useCheck
74390
+ }),
74391
+ onDoubleClick: function onDoubleClick() {
74392
+ return _onDoubleClick === null || _onDoubleClick === void 0 ? void 0 : _onDoubleClick(item);
74393
+ }
74394
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
74395
+ className: "img_cell_thum"
74396
+ }, defaultConfig.checkbox && /*#__PURE__*/React__default['default'].createElement(_Checkbox__default['default'], {
74397
+ className: "checkBox",
74398
+ checked: useCheck,
74399
+ onChange: onChange
74400
+ }), expand && /*#__PURE__*/React__default['default'].createElement("div", {
74401
+ className: "more"
74402
+ }, /*#__PURE__*/React__default['default'].createElement(_Dropdown__default['default'], {
74403
+ placement: "bottomRight",
74404
+ trigger: "click",
74405
+ overlay: expand
74406
+ }, /*#__PURE__*/React__default['default'].createElement(EllipsisOutlined$2, {
74407
+ className: "more_btn"
74408
+ }))), /*#__PURE__*/React__default['default'].createElement(EnlargeImg, {
74409
+ src: item.imgUrl
74410
+ })), /*#__PURE__*/React__default['default'].createElement("div", {
74411
+ className: "img_cell_title"
74412
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
74413
+ className: "title"
74414
+ }, item[defaultConfig.title]), /*#__PURE__*/React__default['default'].createElement("div", {
74415
+ className: "code"
74416
+ }, desc ? desc(item) : /*#__PURE__*/React__default['default'].createElement(Paragraph$3, {
74417
+ copyable: {
74418
+ tooltips: false,
74419
+ onCopy: function onCopy() {
74420
+ return _message__default['default'].success('复制成功!', 1.5);
74421
+ }
74422
+ }
74423
+ }, item[defaultConfig.code]))), /*#__PURE__*/React__default['default'].createElement("div", {
74424
+ className: "img_cell_tags"
74425
+ }, footer ? footer(item) : (item[defaultConfig.state] && defaultConfig.singleRender(item[defaultConfig.state]), (_item$defaultConfig$t = item[defaultConfig.tags]) === null || _item$defaultConfig$t === void 0 ? void 0 : _item$defaultConfig$t.map(defaultConfig.mapRender)))));
74426
+ };
74427
+
74428
+ var ImgList$1 = function ImgList(props) {
74429
+ var widthCount = props.width,
74430
+ heightCount = props.height;
74431
+
74432
+ var _useContext = React.useContext(Context$5),
74433
+ data = _useContext.data,
74434
+ _useContext$heightCel = _useContext.heightCell,
74435
+ heightCell = _useContext$heightCel === void 0 ? 375 : _useContext$heightCel,
74436
+ _useContext$rowKey = _useContext.rowKey,
74437
+ rowKey = _useContext$rowKey === void 0 ? 'id' : _useContext$rowKey,
74438
+ _useContext$cell = _useContext.cell,
74439
+ cell = _useContext$cell === void 0 ? 'img' : _useContext$cell; // 响应式列数量控制
74440
+
74441
+
74442
+ var columnCount = React.useMemo(function () {
74443
+ return widthCount > 1800 ? 7 : widthCount > 1400 ? 6 : widthCount > 1000 ? 5 : 4;
74444
+ }, [widthCount]);
74445
+ var widthCell = React.useMemo(function () {
74446
+ return (widthCount - 8) / columnCount;
74447
+ }, [widthCount]);
74448
+ var rowCount = React.useMemo(function () {
74449
+ var rs = Math.ceil(data.length / columnCount);
74450
+ return rs;
74451
+ }, [data, widthCount]);
74452
+ var Cell = React__default['default'].useCallback(function (_ref) {
74453
+ var columnIndex = _ref.columnIndex,
74454
+ rowIndex = _ref.rowIndex,
74455
+ style = _ref.style;
74456
+ var idx = rowIndex * columnCount + columnIndex;
74457
+ var config = {
74458
+ item: data[idx],
74459
+ index: idx,
74460
+ style: style
74461
+ };
74462
+ var r = rowIndex === 0 ? 'first_row' : rowIndex === rowCount - 1 ? 'last_row' : '';
74463
+ var c = columnIndex === 0 ? 'first_column' : columnIndex + 1 === columnCount ? 'last_column' : '';
74464
+ var classN = "".concat(r, " ").concat(c);
74465
+ return data[idx] ? cell === 'img' ? /*#__PURE__*/React__default['default'].createElement(Cell$1, _extends({
74466
+ key: rowKey,
74467
+ className: classN
74468
+ }, config)) : /*#__PURE__*/React__default['default'].createElement(Access$1, _extends({
74469
+ key: rowKey,
74470
+ className: classN
74471
+ }, config)) : '';
74472
+ }, [data, widthCount]);
74473
+ var Gd = React__default['default'].useCallback(function () {
74474
+ return /*#__PURE__*/React__default['default'].createElement(VariableSizeGrid, {
74475
+ className: "virtual-grid lm_imgList",
74476
+ columnCount: columnCount,
74477
+ columnWidth: function columnWidth() {
74478
+ return widthCell;
74479
+ },
74480
+ height: heightCount,
74481
+ rowCount: rowCount,
74482
+ rowHeight: function rowHeight() {
74483
+ return heightCell;
74484
+ },
74485
+ width: widthCount
74486
+ }, Cell);
74487
+ }, [data, widthCount, heightCount]);
74488
+ return data.length > 0 ? /*#__PURE__*/React__default['default'].createElement(Gd, null) : /*#__PURE__*/React__default['default'].createElement(EmptyCom$1, null);
74489
+ }; // 监听大小
74490
+
74491
+
74492
+ var ResizeSize$3 = function ResizeSize(props) {
74493
+ return /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, /*#__PURE__*/React__default['default'].createElement(AutoSizer, {
74494
+ style: {
74495
+ width: '100%'
74496
+ }
74497
+ }, function (_ref2) {
74498
+ var height = _ref2.height,
74499
+ width = _ref2.width;
74500
+ return /*#__PURE__*/React__default['default'].createElement(ImgList$1, _extends({}, props, {
74501
+ width: width,
74502
+ height: height
74503
+ }));
74504
+ }));
74505
+ };
74506
+
74507
+ var Footer$1 = function Footer() {
74508
+ var _useContext = React.useContext(Context$5),
74509
+ dispatch = _useContext.dispatch,
74510
+ data = _useContext.data,
74511
+ onChange = _useContext.onChange,
74512
+ defaultPage = _useContext.defaultPage;
74513
+
74514
+ var onPageChange = function onPageChange(pageIndex, pageSize) {
74515
+ dispatch({
74516
+ type: 'changePage',
74517
+ page: {
74518
+ pageIndex: pageIndex,
74519
+ pageSize: pageSize
74520
+ }
74521
+ });
74522
+ onChange === null || onChange === void 0 ? void 0 : onChange(pageIndex, pageSize);
74523
+ };
74524
+
74525
+ var config = React.useMemo(function () {
74526
+ return {
74527
+ total: (defaultPage === null || defaultPage === void 0 ? void 0 : defaultPage.total) || data.length,
74528
+ current: (defaultPage === null || defaultPage === void 0 ? void 0 : defaultPage.pageIndex) || 1,
74529
+ pageSize: (defaultPage === null || defaultPage === void 0 ? void 0 : defaultPage.pageSize) || 20
74530
+ };
74531
+ }, [defaultPage]);
74532
+ return /*#__PURE__*/React__default['default'].createElement(_Pagination__default['default'], _extends({
74533
+ showSizeChanger: true,
74534
+ showQuickJumper: true,
74535
+ showTotal: function showTotal(total) {
74536
+ return "\u5171 ".concat(total, " \u6761");
74537
+ },
74538
+ size: "small",
74539
+ onChange: onPageChange
74540
+ }, config));
74541
+ };
74542
+
74543
+ var _excluded$1c = ["style", "defaultPage"];
74544
+ var initialState$4 = {
74545
+ // 选中的数据
74546
+ checkList: [],
74547
+ page: {
74548
+ pageIndex: 1,
74549
+ pageSize: 20
74550
+ }
74551
+ };
74552
+
74553
+ var reducer$4 = function reducer(state, action) {
74554
+ var checkList = action.checkList,
74555
+ page = action.page,
74556
+ ifScrollTopClear = action.ifScrollTopClear;
74557
+
74558
+ switch (action.type) {
74559
+ // 选中时改变默认
74560
+ case 'changeList':
74561
+ return _objectSpread(_objectSpread({}, state), {}, {
74562
+ checkList: checkList
74563
+ });
74564
+ // 更改totalLen
74565
+
74566
+ case 'changePage':
74567
+ return _objectSpread(_objectSpread({}, state), {}, {
74568
+ page: page
74569
+ });
74570
+
74571
+ case 'reset':
74572
+ return _objectSpread(_objectSpread({}, state), {}, {
74573
+ curScrollTop: ifScrollTopClear ? 0 : state.curScrollTop
74574
+ });
74575
+
74576
+ default:
74577
+ throw new Error();
74578
+ }
74579
+ };
74580
+
74581
+ var ImgTable$1 = /*#__PURE__*/React.forwardRef(function (props, ref) {
74582
+ var style = props.style,
74583
+ defaultPage = props.defaultPage,
74584
+ resetProps = _objectWithoutProperties(props, _excluded$1c);
74585
+
74586
+ var _useReducer = React.useReducer(reducer$4, initialState$4),
74587
+ _useReducer2 = _slicedToArray(_useReducer, 2),
74588
+ state = _useReducer2[0],
74589
+ dispatch = _useReducer2[1]; // 将节点方法给外部使用
74590
+
74591
+
74592
+ React__default['default'].useImperativeHandle(ref, function () {
74593
+ return {
74594
+ getCheckboxRecords: function getCheckboxRecords() {
74595
+ return state.checkList;
74596
+ },
74597
+ clearSelect: function clearSelect() {
74598
+ return dispatch({
74599
+ type: 'changeList',
74600
+ checkList: []
74601
+ });
74602
+ }
74603
+ };
74604
+ });
74605
+ return /*#__PURE__*/React__default['default'].createElement(Context$5.Provider, {
74606
+ value: _objectSpread(_objectSpread({
74607
+ dispatch: dispatch
74608
+ }, resetProps), {}, {
74609
+ defaultValue: state.checkList,
74610
+ defaultPage: defaultPage
74611
+ })
74612
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
74613
+ className: "lm_img_table",
74614
+ style: _objectSpread({}, style)
74615
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
74616
+ className: classnames('lm_img_body', {
74617
+ hasChecked: state.checkList.length > 0
74618
+ })
74619
+ }, /*#__PURE__*/React__default['default'].createElement(ResizeSize$3, null)), /*#__PURE__*/React__default['default'].createElement("div", {
74620
+ className: "lm_img_footer"
74621
+ }, /*#__PURE__*/React__default['default'].createElement(Footer$1, null))));
74622
+ });
74623
+
74624
+ Table.ImgTable = ImgTable$1;
74625
+ Table.Summary = Summary$1;
74626
+
73680
74627
  Object.defineProperty(exports, 'Space', {
73681
74628
  enumerable: true,
73682
74629
  get: function () {
@@ -73706,6 +74653,7 @@
73706
74653
  exports.InputNumber = CInputNumber;
73707
74654
  exports.LMTabBar = LMTabBar;
73708
74655
  exports.LeftTable = LeftSide;
74656
+ exports.LmTable = Table;
73709
74657
  exports.LoadingPage = LoadingPage;
73710
74658
  exports.Modal = LMModal;
73711
74659
  exports.OldModal = Modal;