linkmore-design 1.0.3 → 1.0.4

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 (43) hide show
  1. package/dist/index.umd.js +478 -166
  2. package/dist/index.umd.min.js +5 -5
  3. package/es/ButtonTags/style/style.css +353 -8
  4. package/es/CkFilter/baseFilter/filterMenu.js +36 -6
  5. package/es/CkFilter/complexFilter/drawer.js +3 -2
  6. package/es/CkFilter/components/filterTypes.js +178 -76
  7. package/es/CkFilter/context.js +11 -2
  8. package/es/CkFilter/filter.js +50 -12
  9. package/es/CkFilter/style/style.css +408 -8
  10. package/es/CustomerService/style/style.css +353 -8
  11. package/es/EditTable/EditTable.js +177 -73
  12. package/es/EditTable/style/style.css +353 -8
  13. package/es/Filter/style/style.css +353 -8
  14. package/es/IconFont/index.js +1 -1
  15. package/es/LeftTable/style/style.css +353 -8
  16. package/es/Modal/exportModal.js +1 -1
  17. package/es/PopTable/style/style.css +353 -8
  18. package/es/ProTable/ImgList/cardCell.js +19 -6
  19. package/es/ProTable/style/style.css +378 -15
  20. package/es/styles/globalClass.css +63 -0
  21. package/es/styles/main.css +353 -8
  22. package/es/styles/resetAntd.css +15 -0
  23. package/lib/ButtonTags/style/style.css +353 -8
  24. package/lib/CkFilter/baseFilter/filterMenu.js +36 -6
  25. package/lib/CkFilter/complexFilter/drawer.js +3 -2
  26. package/lib/CkFilter/components/filterTypes.js +178 -76
  27. package/lib/CkFilter/context.js +11 -2
  28. package/lib/CkFilter/filter.js +50 -12
  29. package/lib/CkFilter/style/style.css +408 -8
  30. package/lib/CustomerService/style/style.css +353 -8
  31. package/lib/EditTable/EditTable.js +177 -73
  32. package/lib/EditTable/style/style.css +353 -8
  33. package/lib/Filter/style/style.css +353 -8
  34. package/lib/IconFont/index.js +1 -1
  35. package/lib/LeftTable/style/style.css +353 -8
  36. package/lib/Modal/exportModal.js +1 -1
  37. package/lib/PopTable/style/style.css +353 -8
  38. package/lib/ProTable/ImgList/cardCell.js +19 -6
  39. package/lib/ProTable/style/style.css +378 -15
  40. package/lib/styles/globalClass.css +63 -0
  41. package/lib/styles/main.css +353 -8
  42. package/lib/styles/resetAntd.css +15 -0
  43. package/package.json +4 -3
package/dist/index.umd.js CHANGED
@@ -1,12 +1,11 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('antd/es/button/style'), require('antd/es/button'), require('antd/es/table/style'), require('antd/es/table'), require('antd/es/radio/style'), require('antd/es/radio'), require('antd/es/checkbox/style'), require('antd/es/checkbox'), require('antd/es/select/style'), require('antd/es/select'), require('antd/es/date-picker/style'), require('antd/es/date-picker'), require('antd/es/input-number/style'), require('antd/es/input-number'), require('antd/es/form/style'), require('antd/es/form'), require('antd/es/input/style'), require('antd/es/input'), require('react'), require('antd/es/spin/style'), require('antd/es/spin'), require('antd/es/message/style'), require('antd/es/message'), require('antd/es/image/style'), require('antd/es/image'), require('antd/es/drawer/style'), require('antd/es/drawer'), require('antd/es/modal/style'), require('antd/es/modal'), require('antd/es/space/style'), require('antd/es/space'), require('antd/es/row/style'), require('antd/es/row'), require('antd/es/col/style'), require('antd/es/col'), require('antd/es/divider/style'), require('antd/es/divider'), require('antd/es/list/style'), require('antd/es/list'), require('antd/es/tag/style'), require('antd/es/tag'), require('antd/es/popover/style'), require('antd/es/popover'), require('antd/es/tree/style'), require('antd/es/tree'), require('antd/es/time-picker/style'), require('antd/es/time-picker'), require('antd/es/dropdown/style'), require('antd/es/dropdown'), require('antd/es/config-provider/style'), require('antd/es/config-provider'), require('antd/es/locale/zh_CN'), require('antd/es/avatar/style'), require('antd/es/avatar'), require('antd/es/tooltip/style'), require('antd/es/tooltip'), require('antd/es/popconfirm/style'), require('antd/es/popconfirm'), require('antd/es/table/hooks/useLazyKVMap'), require('antd/es/result/style'), require('antd/es/result'), require('antd/es/typography/style'), require('antd/es/typography'), require('antd/es/progress/style'), require('antd/es/progress'), require('antd/es/badge/style'), require('antd/es/badge'), require('antd/es/rate/style'), require('antd/es/rate'), require('antd/es/switch/style'), require('antd/es/switch'), require('antd/es/cascader/style'), require('antd/es/cascader'), require('antd/es/tree-select/style'), require('antd/es/tree-select'), require('antd/es/tabs/style'), require('antd/es/tabs'), require('antd/es/grid/style'), require('antd/es/grid'), require('antd/es/menu/style'), require('antd/es/menu'), require('antd/es/alert/style'), require('antd/es/alert'), require('react-dom'), require('antd/es/steps/style'), require('antd/es/steps'), require('antd/es/empty/style'), require('antd/es/empty'), require('antd/es/pagination/style'), require('antd/es/pagination')) :
3
- typeof define === 'function' && define.amd ? define(['exports', 'antd/es/button/style', 'antd/es/button', 'antd/es/table/style', 'antd/es/table', 'antd/es/radio/style', 'antd/es/radio', 'antd/es/checkbox/style', 'antd/es/checkbox', 'antd/es/select/style', 'antd/es/select', 'antd/es/date-picker/style', 'antd/es/date-picker', 'antd/es/input-number/style', 'antd/es/input-number', 'antd/es/form/style', 'antd/es/form', 'antd/es/input/style', 'antd/es/input', 'react', 'antd/es/spin/style', 'antd/es/spin', 'antd/es/message/style', 'antd/es/message', 'antd/es/image/style', 'antd/es/image', 'antd/es/drawer/style', 'antd/es/drawer', 'antd/es/modal/style', 'antd/es/modal', 'antd/es/space/style', 'antd/es/space', 'antd/es/row/style', 'antd/es/row', 'antd/es/col/style', 'antd/es/col', 'antd/es/divider/style', 'antd/es/divider', 'antd/es/list/style', 'antd/es/list', 'antd/es/tag/style', 'antd/es/tag', 'antd/es/popover/style', 'antd/es/popover', 'antd/es/tree/style', 'antd/es/tree', 'antd/es/time-picker/style', 'antd/es/time-picker', 'antd/es/dropdown/style', 'antd/es/dropdown', 'antd/es/config-provider/style', 'antd/es/config-provider', 'antd/es/locale/zh_CN', 'antd/es/avatar/style', 'antd/es/avatar', 'antd/es/tooltip/style', 'antd/es/tooltip', 'antd/es/popconfirm/style', 'antd/es/popconfirm', 'antd/es/table/hooks/useLazyKVMap', 'antd/es/result/style', 'antd/es/result', 'antd/es/typography/style', 'antd/es/typography', 'antd/es/progress/style', 'antd/es/progress', 'antd/es/badge/style', 'antd/es/badge', 'antd/es/rate/style', 'antd/es/rate', 'antd/es/switch/style', 'antd/es/switch', 'antd/es/cascader/style', 'antd/es/cascader', 'antd/es/tree-select/style', 'antd/es/tree-select', 'antd/es/tabs/style', 'antd/es/tabs', 'antd/es/grid/style', 'antd/es/grid', 'antd/es/menu/style', 'antd/es/menu', 'antd/es/alert/style', 'antd/es/alert', 'react-dom', 'antd/es/steps/style', 'antd/es/steps', 'antd/es/empty/style', 'antd/es/empty', 'antd/es/pagination/style', 'antd/es/pagination'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.linkDesign = {}, null, global._Button, null, global._Table, null, global._Radio, null, global._Checkbox, null, global._Select, null, global._DatePicker, null, global._InputNumber, null, global._Form, null, global._Input, global.React, null, global._Spin, null, global._message, null, global._Image, null, global._Drawer, null, global._Modal, null, global._Space, null, global._Row, null, global._Col, null, global._Divider, null, global._List, null, global._Tag, null, global._Popover, null, global._Tree, null, global._TimePicker, null, global._Dropdown, null, global._ConfigProvider, global.zh_CN, null, global._Avatar, null, global._Tooltip, null, global._Popconfirm, global.useLazyKVMap, null, global._Result, null, global._Typography, null, global._Progress, null, global._Badge, null, global._Rate, null, global._Switch, null, global._Cascader, null, global._TreeSelect, null, global._Tabs, null, global._Grid, null, global._Menu, null, global._Alert, global.require$$2, null, global._Steps, null, global._Empty, null, global._Pagination));
5
- }(this, (function (exports, style, _Button, style$1, _Table, style$2, _Radio, style$3, _Checkbox, style$4, _Select, style$5, _DatePicker, style$6, _InputNumber, style$7, _Form, style$8, _Input, React, style$9, _Spin, style$a, _message, style$b, _Image, style$c, _Drawer, style$d, _Modal, style$e, _Space, style$f, _Row, style$g, _Col, style$h, _Divider, style$i, _List, style$j, _Tag, style$k, _Popover, style$l, _Tree, style$m, _TimePicker, style$n, _Dropdown, style$o, _ConfigProvider, zh_CN, style$p, _Avatar, style$q, _Tooltip, style$r, _Popconfirm, useLazyKVMap, style$s, _Result, style$t, _Typography, style$u, _Progress, style$v, _Badge, style$w, _Rate, style$x, _Switch, style$y, _Cascader, style$z, _TreeSelect, style$A, _Tabs, style$B, _Grid, style$C, _Menu, style$D, _Alert, require$$2, style$E, _Steps, style$F, _Empty, style$G, _Pagination) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('antd/es/table/style'), require('antd/es/table'), require('antd/es/radio/style'), require('antd/es/radio'), require('antd/es/checkbox/style'), require('antd/es/checkbox'), require('antd/es/select/style'), require('antd/es/select'), require('antd/es/date-picker/style'), require('antd/es/date-picker'), require('antd/es/input-number/style'), require('antd/es/input-number'), require('antd/es/form/style'), require('antd/es/form'), require('antd/es/button/style'), require('antd/es/button'), require('antd/es/input/style'), require('antd/es/input'), require('react'), require('antd/es/spin/style'), require('antd/es/spin'), require('antd/es/message/style'), require('antd/es/message'), require('antd/es/image/style'), require('antd/es/image'), require('antd/es/drawer/style'), require('antd/es/drawer'), require('antd/es/modal/style'), require('antd/es/modal'), require('antd/es/space/style'), require('antd/es/space'), require('antd/es/row/style'), require('antd/es/row'), require('antd/es/col/style'), require('antd/es/col'), require('antd/es/divider/style'), require('antd/es/divider'), require('antd/es/list/style'), require('antd/es/list'), require('antd/es/tag/style'), require('antd/es/tag'), require('antd/es/popover/style'), require('antd/es/popover'), require('antd/es/tree/style'), require('antd/es/tree'), require('antd/es/time-picker/style'), require('antd/es/time-picker'), require('antd/es/dropdown/style'), require('antd/es/dropdown'), require('antd/es/config-provider/style'), require('antd/es/config-provider'), require('antd/es/locale/zh_CN'), require('antd/es/avatar/style'), require('antd/es/avatar'), require('antd/es/tooltip/style'), require('antd/es/tooltip'), require('antd/es/popconfirm/style'), require('antd/es/popconfirm'), require('antd/es/table/hooks/useLazyKVMap'), require('antd/es/result/style'), require('antd/es/result'), require('antd/es/typography/style'), require('antd/es/typography'), require('antd/es/progress/style'), require('antd/es/progress'), require('antd/es/badge/style'), require('antd/es/badge'), require('antd/es/rate/style'), require('antd/es/rate'), require('antd/es/switch/style'), require('antd/es/switch'), require('antd/es/cascader/style'), require('antd/es/cascader'), require('antd/es/tree-select/style'), require('antd/es/tree-select'), require('antd/es/tabs/style'), require('antd/es/tabs'), require('antd/es/grid/style'), require('antd/es/grid'), require('antd/es/menu/style'), require('antd/es/menu'), require('antd/es/alert/style'), require('antd/es/alert'), require('react-dom'), require('antd/es/steps/style'), require('antd/es/steps'), require('antd/es/empty/style'), require('antd/es/empty'), require('antd/es/pagination/style'), require('antd/es/pagination')) :
3
+ typeof define === 'function' && define.amd ? define(['exports', 'antd/es/table/style', 'antd/es/table', 'antd/es/radio/style', 'antd/es/radio', 'antd/es/checkbox/style', 'antd/es/checkbox', 'antd/es/select/style', 'antd/es/select', 'antd/es/date-picker/style', 'antd/es/date-picker', 'antd/es/input-number/style', 'antd/es/input-number', 'antd/es/form/style', 'antd/es/form', 'antd/es/button/style', 'antd/es/button', 'antd/es/input/style', 'antd/es/input', 'react', 'antd/es/spin/style', 'antd/es/spin', 'antd/es/message/style', 'antd/es/message', 'antd/es/image/style', 'antd/es/image', 'antd/es/drawer/style', 'antd/es/drawer', 'antd/es/modal/style', 'antd/es/modal', 'antd/es/space/style', 'antd/es/space', 'antd/es/row/style', 'antd/es/row', 'antd/es/col/style', 'antd/es/col', 'antd/es/divider/style', 'antd/es/divider', 'antd/es/list/style', 'antd/es/list', 'antd/es/tag/style', 'antd/es/tag', 'antd/es/popover/style', 'antd/es/popover', 'antd/es/tree/style', 'antd/es/tree', 'antd/es/time-picker/style', 'antd/es/time-picker', 'antd/es/dropdown/style', 'antd/es/dropdown', 'antd/es/config-provider/style', 'antd/es/config-provider', 'antd/es/locale/zh_CN', 'antd/es/avatar/style', 'antd/es/avatar', 'antd/es/tooltip/style', 'antd/es/tooltip', 'antd/es/popconfirm/style', 'antd/es/popconfirm', 'antd/es/table/hooks/useLazyKVMap', 'antd/es/result/style', 'antd/es/result', 'antd/es/typography/style', 'antd/es/typography', 'antd/es/progress/style', 'antd/es/progress', 'antd/es/badge/style', 'antd/es/badge', 'antd/es/rate/style', 'antd/es/rate', 'antd/es/switch/style', 'antd/es/switch', 'antd/es/cascader/style', 'antd/es/cascader', 'antd/es/tree-select/style', 'antd/es/tree-select', 'antd/es/tabs/style', 'antd/es/tabs', 'antd/es/grid/style', 'antd/es/grid', 'antd/es/menu/style', 'antd/es/menu', 'antd/es/alert/style', 'antd/es/alert', 'react-dom', 'antd/es/steps/style', 'antd/es/steps', 'antd/es/empty/style', 'antd/es/empty', 'antd/es/pagination/style', 'antd/es/pagination'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.linkmoreDesign = {}, null, global._Table, null, global._Radio, null, global._Checkbox, null, global._Select, null, global._DatePicker, null, global._InputNumber, null, global._Form, null, global._Button, null, global._Input, global.React, null, global._Spin, null, global._message, null, global._Image, null, global._Drawer, null, global._Modal, null, global._Space, null, global._Row, null, global._Col, null, global._Divider, null, global._List, null, global._Tag, null, global._Popover, null, global._Tree, null, global._TimePicker, null, global._Dropdown, null, global._ConfigProvider, global.zh_CN, null, global._Avatar, null, global._Tooltip, null, global._Popconfirm, global.useLazyKVMap, null, global._Result, null, global._Typography, null, global._Progress, null, global._Badge, null, global._Rate, null, global._Switch, null, global._Cascader, null, global._TreeSelect, null, global._Tabs, null, global._Grid, null, global._Menu, null, global._Alert, global.require$$2, null, global._Steps, null, global._Empty, null, global._Pagination));
5
+ }(this, (function (exports, style, _Table, style$1, _Radio, style$2, _Checkbox, style$3, _Select, style$4, _DatePicker, style$5, _InputNumber, style$6, _Form, style$7, _Button, style$8, _Input, React, style$9, _Spin, style$a, _message, style$b, _Image, style$c, _Drawer, style$d, _Modal, style$e, _Space, style$f, _Row, style$g, _Col, style$h, _Divider, style$i, _List, style$j, _Tag, style$k, _Popover, style$l, _Tree, style$m, _TimePicker, style$n, _Dropdown, style$o, _ConfigProvider, zh_CN, style$p, _Avatar, style$q, _Tooltip, style$r, _Popconfirm, useLazyKVMap, style$s, _Result, style$t, _Typography, style$u, _Progress, style$v, _Badge, style$w, _Rate, style$x, _Switch, style$y, _Cascader, style$z, _TreeSelect, style$A, _Tabs, style$B, _Grid, style$C, _Menu, style$D, _Alert, require$$2, style$E, _Steps, style$F, _Empty, style$G, _Pagination) { 'use strict';
6
6
 
7
7
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
8
 
9
- var _Button__default = /*#__PURE__*/_interopDefaultLegacy(_Button);
10
9
  var _Table__default = /*#__PURE__*/_interopDefaultLegacy(_Table);
11
10
  var _Radio__default = /*#__PURE__*/_interopDefaultLegacy(_Radio);
12
11
  var _Checkbox__default = /*#__PURE__*/_interopDefaultLegacy(_Checkbox);
@@ -14,6 +13,7 @@
14
13
  var _DatePicker__default = /*#__PURE__*/_interopDefaultLegacy(_DatePicker);
15
14
  var _InputNumber__default = /*#__PURE__*/_interopDefaultLegacy(_InputNumber);
16
15
  var _Form__default = /*#__PURE__*/_interopDefaultLegacy(_Form);
16
+ var _Button__default = /*#__PURE__*/_interopDefaultLegacy(_Button);
17
17
  var _Input__default = /*#__PURE__*/_interopDefaultLegacy(_Input);
18
18
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
19
19
  var _Spin__default = /*#__PURE__*/_interopDefaultLegacy(_Spin);
@@ -3070,7 +3070,7 @@
3070
3070
  }
3071
3071
 
3072
3072
  var IconFont = create({
3073
- scriptUrl: '//at.alicdn.com/t/font_2966019_oo18nfy5zb.js' // 在 iconfont.cn 上生成
3073
+ scriptUrl: '//at.alicdn.com/t/font_2966019_r2sjvddyblq.js' // 在 iconfont.cn 上生成
3074
3074
 
3075
3075
  });
3076
3076
 
@@ -3435,7 +3435,7 @@
3435
3435
 
3436
3436
  var _excluded$4 = ["value", "onChange"],
3437
3437
  _excluded2 = ["index"],
3438
- _excluded3 = ["isEdit", "editEnum", "valueType", "editable", "children", "dataIndex", "record", "handleSave"],
3438
+ _excluded3 = ["isEdit", "editEnum", "valueType", "editable", "children", "dataIndex", "record", "handleSave", "rowKey", "handleAdd", "handleDelete", "getLength", "itemProps", "setValid"],
3439
3439
  _excluded4 = ["value", "onChange", "columns", "isEdit", "isAdd", "rowKey"];
3440
3440
  var UploadBtn = UploadOss.UploadBtn;
3441
3441
  var EditableContext = /*#__PURE__*/React__default['default'].createContext(null);
@@ -3514,12 +3514,51 @@
3514
3514
  return handleInput(e, 'next');
3515
3515
  }
3516
3516
  }, editEnum))));
3517
+ }; // 操作列
3518
+
3519
+
3520
+ var Opetate = function Opetate(_ref2) {
3521
+ var record = _ref2.record,
3522
+ rowKey = _ref2.rowKey,
3523
+ handleAdd = _ref2.handleAdd,
3524
+ handleDelete = _ref2.handleDelete,
3525
+ getLength = _ref2.getLength,
3526
+ removeEnum = _ref2.removeEnum,
3527
+ addEnum = _ref2.addEnum;
3528
+ return /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, /*#__PURE__*/React__default['default'].createElement(_Button__default['default'], _extends({
3529
+ type: "link",
3530
+ size: "small",
3531
+ icon: /*#__PURE__*/React__default['default'].createElement(IconFont, {
3532
+ type: "lmweb-minus-circle",
3533
+ style: {
3534
+ fontSize: 16
3535
+ }
3536
+ }),
3537
+ disabled: getLength() < 2 || !!(removeEnum === null || removeEnum === void 0 ? void 0 : removeEnum.disabled)
3538
+ }, removeEnum, {
3539
+ onClick: function onClick() {
3540
+ return handleDelete(record[rowKey]);
3541
+ }
3542
+ })), /*#__PURE__*/React__default['default'].createElement(_Button__default['default'], _extends({
3543
+ type: "link",
3544
+ size: "small",
3545
+ icon: /*#__PURE__*/React__default['default'].createElement(IconFont, {
3546
+ type: "lmweb-plus-circle",
3547
+ style: {
3548
+ fontSize: 16
3549
+ }
3550
+ })
3551
+ }, addEnum, {
3552
+ onClick: function onClick() {
3553
+ return handleAdd(record);
3554
+ }
3555
+ })));
3517
3556
  }; // 表格行
3518
3557
 
3519
3558
 
3520
- var EditableRow = function EditableRow(_ref2) {
3521
- var index = _ref2.index,
3522
- props = _objectWithoutProperties(_ref2, _excluded2);
3559
+ var EditableRow = function EditableRow(_ref3) {
3560
+ var index = _ref3.index,
3561
+ props = _objectWithoutProperties(_ref3, _excluded2);
3523
3562
 
3524
3563
  var _Form$useForm = _Form__default['default'].useForm(),
3525
3564
  _Form$useForm2 = _slicedToArray(_Form$useForm, 1),
@@ -3548,6 +3587,12 @@
3548
3587
  dataIndex = props.dataIndex,
3549
3588
  record = props.record,
3550
3589
  handleSave = props.handleSave,
3590
+ rowKey = props.rowKey,
3591
+ handleAdd = props.handleAdd,
3592
+ handleDelete = props.handleDelete,
3593
+ getLength = props.getLength,
3594
+ itemProps = props.itemProps,
3595
+ setValid = props.setValid,
3551
3596
  restProps = _objectWithoutProperties(props, _excluded3);
3552
3597
 
3553
3598
  var _useState = React.useState(true),
@@ -3555,56 +3600,77 @@
3555
3600
  editing = _useState2[0],
3556
3601
  setEditing = _useState2[1];
3557
3602
 
3558
- var form = React.useContext(EditableContext); // useEffect(() => {
3559
- // if (editing) {
3560
- // inputRef.current.focus();
3561
- // }
3562
- // }, [editing]);
3563
- // 出现死循环找我
3603
+ var form = React.useContext(EditableContext); // 出现死循环找我
3564
3604
 
3565
3605
  React.useEffect(function () {
3566
3606
  if (isEdit && editable && record[dataIndex]) {
3567
3607
  form.setFieldsValue(_defineProperty({}, dataIndex, editable === 'date' ? dayjs_min(record[dataIndex]) : record[dataIndex]));
3568
3608
  }
3569
- }, [record]); // 切换编辑状态
3609
+ }, [record]); // 校验保存
3570
3610
 
3571
3611
  var save = /*#__PURE__*/function () {
3572
- var _ref3 = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee() {
3612
+ var _ref4 = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee(row) {
3573
3613
  var values;
3574
3614
  return regenerator.wrap(function _callee$(_context) {
3575
3615
  while (1) {
3576
3616
  switch (_context.prev = _context.next) {
3577
3617
  case 0:
3578
3618
  _context.prev = 0;
3579
- _context.next = 3;
3580
- return form.validateFields();
3619
+ _context.t0 = row;
3581
3620
 
3582
- case 3:
3583
- values = _context.sent;
3584
- // 传入服务器时格式化mount
3585
- // values.endTime = values.endTime.format('YYYY-MM-DD');
3586
- // toggleEdit();
3621
+ if (_context.t0) {
3622
+ _context.next = 6;
3623
+ break;
3624
+ }
3625
+
3626
+ _context.next = 5;
3627
+ return form.getFieldsValue();
3628
+
3629
+ case 5:
3630
+ _context.t0 = _context.sent;
3631
+
3632
+ case 6:
3633
+ values = _context.t0;
3587
3634
  handleSave(_objectSpread(_objectSpread({}, record), values));
3588
3635
  _context.next = 10;
3636
+ return form.validateFields();
3637
+
3638
+ case 10:
3639
+ // 清空异常校验
3640
+ setValid(function (old) {
3641
+ var obj = _objectSpread({}, old);
3642
+
3643
+ delete obj[record[rowKey]];
3644
+ return obj;
3645
+ });
3646
+ _context.next = 16;
3589
3647
  break;
3590
3648
 
3591
- case 7:
3592
- _context.prev = 7;
3593
- _context.t0 = _context["catch"](0);
3594
- console.log('Save failedtext:', _context.t0);
3649
+ case 13:
3650
+ _context.prev = 13;
3651
+ _context.t1 = _context["catch"](0);
3652
+ // 加入异常校验
3653
+ setValid(function (old) {
3654
+ return _objectSpread(_objectSpread({}, old), {}, _defineProperty({}, record[rowKey], _context.t1.errorFields));
3655
+ });
3595
3656
 
3596
- case 10:
3657
+ case 16:
3597
3658
  case "end":
3598
3659
  return _context.stop();
3599
3660
  }
3600
3661
  }
3601
- }, _callee, null, [[0, 7]]);
3662
+ }, _callee, null, [[0, 13]]);
3602
3663
  }));
3603
3664
 
3604
- return function save() {
3605
- return _ref3.apply(this, arguments);
3665
+ return function save(_x) {
3666
+ return _ref4.apply(this, arguments);
3606
3667
  };
3607
- }();
3668
+ }(); // 触发保存
3669
+
3670
+
3671
+ var handleFormItemChange = function handleFormItemChange() {
3672
+ save === null || save === void 0 ? void 0 : save();
3673
+ };
3608
3674
 
3609
3675
  var childNode = children; // 输入框
3610
3676
 
@@ -3612,20 +3678,20 @@
3612
3678
  switch (con) {
3613
3679
  case 'input':
3614
3680
  return /*#__PURE__*/React__default['default'].createElement(_Input__default['default'], _extends({
3615
- onPressEnter: save,
3616
- onBlur: save,
3681
+ onPressEnter: handleFormItemChange,
3682
+ onBlur: handleFormItemChange,
3617
3683
  placeholder: "\u8BF7\u8F93\u5165"
3618
3684
  }, editEnum));
3619
3685
 
3620
3686
  case 'inputRange':
3621
3687
  return /*#__PURE__*/React__default['default'].createElement(InputRange, _extends({
3622
- onChange: save
3688
+ onChange: handleFormItemChange
3623
3689
  }, editEnum));
3624
3690
 
3625
3691
  case 'number':
3626
3692
  return /*#__PURE__*/React__default['default'].createElement(_InputNumber__default['default'], _extends({
3627
- onPressEnter: save,
3628
- onChange: save,
3693
+ onPressEnter: handleFormItemChange,
3694
+ onBlur: handleFormItemChange,
3629
3695
  style: {
3630
3696
  width: (editEnum === null || editEnum === void 0 ? void 0 : editEnum.width) || '100%'
3631
3697
  },
@@ -3634,20 +3700,20 @@
3634
3700
 
3635
3701
  case 'date':
3636
3702
  return /*#__PURE__*/React__default['default'].createElement(_DatePicker__default['default'], _extends({
3637
- onChange: save
3703
+ onChange: handleFormItemChange
3638
3704
  }, editEnum));
3639
3705
 
3640
3706
  case 'select':
3641
3707
  return /*#__PURE__*/React__default['default'].createElement(_Select__default['default'], _extends({
3642
- onSelect: save,
3643
- onClear: save,
3644
3708
  showSearch: true,
3645
3709
  allowClear: true,
3646
3710
  placeholder: "\u8BF7\u9009\u62E9",
3647
3711
  filterOption: function filterOption(input, option) {
3648
3712
  return option.children.toLowerCase().indexOf(input.toLowerCase()) >= 0;
3649
3713
  }
3650
- }, valueType), editEnum === null || editEnum === void 0 ? void 0 : editEnum.map(function (v) {
3714
+ }, valueType, {
3715
+ onChange: handleFormItemChange
3716
+ }), editEnum === null || editEnum === void 0 ? void 0 : editEnum.map(function (v) {
3651
3717
  return /*#__PURE__*/React__default['default'].createElement(_Select__default['default'].Option, {
3652
3718
  key: v.value,
3653
3719
  value: v.value
@@ -3657,15 +3723,16 @@
3657
3723
  case 'multiple':
3658
3724
  return /*#__PURE__*/React__default['default'].createElement(_Select__default['default'], _extends({
3659
3725
  mode: "multiple",
3660
- onSelect: save,
3661
- onClear: save,
3662
3726
  showSearch: true,
3663
3727
  allowClear: true,
3664
3728
  placeholder: "\u8BF7\u9009\u62E9",
3665
3729
  filterOption: function filterOption(input, option) {
3666
3730
  return option.children.toLowerCase().indexOf(input.toLowerCase()) >= 0;
3667
3731
  }
3668
- }, valueType), editEnum === null || editEnum === void 0 ? void 0 : editEnum.map(function (v) {
3732
+ }, valueType, {
3733
+ onChange: handleFormItemChange,
3734
+ onDeselect: handleFormItemChange
3735
+ }), editEnum === null || editEnum === void 0 ? void 0 : editEnum.map(function (v) {
3669
3736
  return /*#__PURE__*/React__default['default'].createElement(_Select__default['default'].Option, {
3670
3737
  key: v.value,
3671
3738
  value: v.value
@@ -3673,9 +3740,9 @@
3673
3740
  }));
3674
3741
 
3675
3742
  case 'checkbox':
3676
- return /*#__PURE__*/React__default['default'].createElement(_Checkbox__default['default'].Group, {
3677
- onChange: save
3678
- }, editEnum === null || editEnum === void 0 ? void 0 : editEnum.map(function (v) {
3743
+ return /*#__PURE__*/React__default['default'].createElement(_Checkbox__default['default'].Group, _extends({
3744
+ onChange: handleFormItemChange
3745
+ }, valueType), editEnum === null || editEnum === void 0 ? void 0 : editEnum.map(function (v) {
3679
3746
  return /*#__PURE__*/React__default['default'].createElement(_Checkbox__default['default'], {
3680
3747
  key: v.value,
3681
3748
  value: v.value
@@ -3684,7 +3751,7 @@
3684
3751
 
3685
3752
  case 'radio':
3686
3753
  return /*#__PURE__*/React__default['default'].createElement(_Radio__default['default'].Group, {
3687
- onChange: save
3754
+ onChange: handleFormItemChange
3688
3755
  }, editEnum === null || editEnum === void 0 ? void 0 : editEnum.map(function (v) {
3689
3756
  return /*#__PURE__*/React__default['default'].createElement(_Radio__default['default'], {
3690
3757
  key: v.value,
@@ -3695,9 +3762,18 @@
3695
3762
  case 'upload':
3696
3763
  return /*#__PURE__*/React__default['default'].createElement(UploadSingle, {
3697
3764
  editEnum: editEnum,
3698
- onChange: save
3765
+ onChange: handleFormItemChange
3699
3766
  });
3700
3767
 
3768
+ case 'operate':
3769
+ return /*#__PURE__*/React__default['default'].createElement(Opetate, _extends({}, editEnum, {
3770
+ record: record,
3771
+ rowKey: rowKey,
3772
+ handleAdd: handleAdd,
3773
+ handleDelete: handleDelete,
3774
+ getLength: getLength
3775
+ }));
3776
+
3701
3777
  case 'render':
3702
3778
  {
3703
3779
  var render = editEnum.render;
@@ -3708,19 +3784,20 @@
3708
3784
 
3709
3785
  default:
3710
3786
  return /*#__PURE__*/React__default['default'].createElement(_Input__default['default'], {
3711
- onPressEnter: save,
3712
- onBlur: save
3787
+ onPressEnter: handleFormItemChange,
3788
+ onBlur: handleFormItemChange
3713
3789
  });
3714
3790
  }
3715
3791
  }
3716
3792
 
3717
3793
  if (isEdit && editable) {
3718
- childNode = /*#__PURE__*/React__default['default'].createElement(_Form__default['default'].Item, {
3794
+ childNode = /*#__PURE__*/React__default['default'].createElement(_Form__default['default'].Item, _extends({
3719
3795
  style: {
3720
3796
  margin: 0
3721
- },
3797
+ }
3798
+ }, itemProps, {
3722
3799
  name: dataIndex
3723
- }, Control(editable));
3800
+ }), Control(editable));
3724
3801
  }
3725
3802
 
3726
3803
  return /*#__PURE__*/React__default['default'].createElement("td", restProps, childNode);
@@ -3751,12 +3828,33 @@
3751
3828
  count = _useState6[0],
3752
3829
  setCount = _useState6[1]; // 删除
3753
3830
 
3754
- var handleAdd = function handleAdd() {
3831
+
3832
+ var handleDelete = function handleDelete(key) {
3833
+ var nValue = dataSource.filter(function (item) {
3834
+ return item[_rowKey] !== key;
3835
+ });
3836
+ onChange === null || onChange === void 0 ? void 0 : onChange(nValue);
3837
+ };
3838
+
3839
+ var handleAdd = function handleAdd(row) {
3755
3840
  var newData = _defineProperty({}, _rowKey, count + 1);
3756
3841
 
3757
- var nValue = [].concat(_toConsumableArray(dataSource), [newData]);
3758
- setDataSource(nValue);
3842
+ var nValue = [];
3843
+
3844
+ if (row) {
3845
+ var arr = _toConsumableArray(dataSource);
3846
+
3847
+ var index = arr.findIndex(function (item) {
3848
+ return row[_rowKey] === item[_rowKey];
3849
+ });
3850
+ var map = arr.splice(0, index + 1);
3851
+ nValue = [].concat(_toConsumableArray(map), [newData], _toConsumableArray(arr));
3852
+ } else {
3853
+ nValue = [].concat(_toConsumableArray(dataSource), [newData]);
3854
+ }
3855
+
3759
3856
  setCount(count + 1);
3857
+ onChange === null || onChange === void 0 ? void 0 : onChange(nValue);
3760
3858
  };
3761
3859
 
3762
3860
  var handleSave = function handleSave(row) {
@@ -3796,10 +3894,18 @@
3796
3894
  return _objectSpread(_objectSpread({}, col), {}, {
3797
3895
  onCell: function onCell(record) {
3798
3896
  return {
3897
+ getLength: function getLength() {
3898
+ return dataSource.length;
3899
+ },
3900
+ setValid: setValid,
3901
+ rowKey: _rowKey,
3799
3902
  record: record,
3800
3903
  isEdit: isEdit,
3904
+ handleAdd: handleAdd,
3905
+ handleDelete: handleDelete,
3801
3906
  editable: col.editable,
3802
3907
  dataIndex: col.dataIndex,
3908
+ itemProps: col.itemProps,
3803
3909
  editEnum: typeof col.editEnum === 'function' ? col.editEnum(record) : col.editEnum,
3804
3910
  valueType: typeof col.valueType === 'function' ? col.valueType(record) : col.valueType,
3805
3911
  handleSave: handleSave
@@ -3816,7 +3922,20 @@
3816
3922
  }, [defaultData]);
3817
3923
  React.useImperativeHandle(ref, function () {
3818
3924
  return {
3819
- setRow: handleSave
3925
+ setRow: handleSave,
3926
+ valid: function (_valid) {
3927
+ function valid() {
3928
+ return _valid.apply(this, arguments);
3929
+ }
3930
+
3931
+ valid.toString = function () {
3932
+ return _valid.toString();
3933
+ };
3934
+
3935
+ return valid;
3936
+ }(function () {
3937
+ return valid;
3938
+ })
3820
3939
  };
3821
3940
  });
3822
3941
  return /*#__PURE__*/React__default['default'].createElement("div", {
@@ -5815,7 +5934,7 @@
5815
5934
  searchKey: 'search',
5816
5935
  levelGroupKey: 'levGroup',
5817
5936
  filter: true,
5818
- complex: true
5937
+ complex: false
5819
5938
  },
5820
5939
  // 初始化数据
5821
5940
  visibleFields: [],
@@ -5830,6 +5949,8 @@
5830
5949
  // 一级筛选过滤的内容
5831
5950
  complexFilterValues: {},
5832
5951
  // 高级筛选过滤的内容
5952
+ nestedFilterValues: {},
5953
+ // 嵌套结构的过滤内容 {objType: {field: 'supplier', value: 's1', label: '一号供应商'}, ...}
5833
5954
  customDrawer: {
5834
5955
  visible: false,
5835
5956
  data: {}
@@ -5858,7 +5979,8 @@
5858
5979
  customModal = action.customModal,
5859
5980
  complexDrawer = action.complexDrawer,
5860
5981
  customFilterValues = action.customFilterValues,
5861
- complexFilterValues = action.complexFilterValues;
5982
+ complexFilterValues = action.complexFilterValues,
5983
+ nestedFilterValues = action.nestedFilterValues;
5862
5984
 
5863
5985
  switch (action.type) {
5864
5986
  // 仅在初始化时触发
@@ -5917,6 +6039,12 @@
5917
6039
  return _objectSpread(_objectSpread({}, state), {}, {
5918
6040
  complexFilterValues: complexFilterValues
5919
6041
  });
6042
+ // 设置嵌套结构的内容
6043
+
6044
+ case 'changeNestedFilterValues':
6045
+ return _objectSpread(_objectSpread({}, state), {}, {
6046
+ nestedFilterValues: nestedFilterValues
6047
+ });
5920
6048
 
5921
6049
  default:
5922
6050
  throw new Error();
@@ -29418,7 +29546,8 @@
29418
29546
  _excluded2$1 = ["item"],
29419
29547
  _excluded3$1 = ["item"],
29420
29548
  _excluded4$1 = ["item"],
29421
- _excluded5 = ["type"];
29549
+ _excluded5 = ["item"],
29550
+ _excluded6 = ["type"];
29422
29551
 
29423
29552
  var InputFilter = function InputFilter(_ref) {
29424
29553
  var getFilterValue = _ref.getFilterValue,
@@ -29445,7 +29574,8 @@
29445
29574
 
29446
29575
 
29447
29576
  var SelectFilter = function SelectFilter(_ref2) {
29448
- var filters = _ref2.filters,
29577
+ var _ref2$filters = _ref2.filters,
29578
+ filters = _ref2$filters === void 0 ? [] : _ref2$filters,
29449
29579
  getFilterValue = _ref2.getFilterValue,
29450
29580
  setFilterValue = _ref2.setFilterValue;
29451
29581
  var inputRef = React.useRef(null); // 搜索后的筛选项
@@ -29507,13 +29637,91 @@
29507
29637
  }), !options.length && /*#__PURE__*/React__default['default'].createElement("div", {
29508
29638
  className: "filter_empty"
29509
29639
  }, "\u6682\u65E0\u6570\u636E")));
29510
- }; // 自定义筛选下拉选过滤器
29640
+ }; // 嵌套结构下拉单选过滤器
29511
29641
 
29512
29642
 
29513
- var CustomFilter = function CustomFilter(_ref4) {
29643
+ var NestedFilter = function NestedFilter(_ref4) {
29514
29644
  var filters = _ref4.filters,
29515
29645
  getFilterValue = _ref4.getFilterValue,
29516
29646
  setFilterValue = _ref4.setFilterValue;
29647
+ var inputRef = React.useRef(null); // 搜索后的筛选项
29648
+
29649
+ var _useState3 = React.useState(filters),
29650
+ _useState4 = _slicedToArray(_useState3, 2),
29651
+ options = _useState4[0],
29652
+ setOptions = _useState4[1]; // 是否存在搜索, 当数据大于8时存在搜索
29653
+
29654
+
29655
+ var isSearch = React.useMemo(function () {
29656
+ return filters.length > 8;
29657
+ }, [filters.length]); // 搜索
29658
+
29659
+ var handleFilter = function handleFilter(val) {
29660
+ setOptions(filters.filter(function (v) {
29661
+ return v.label.indexOf(val) > -1;
29662
+ }));
29663
+ }; // 单选事件
29664
+
29665
+
29666
+ var onChange = function onChange(e, item) {
29667
+ e.preventDefault();
29668
+ setFilterValue(item.value);
29669
+ };
29670
+
29671
+ var handleClick = function handleClick(e, item) {
29672
+ e.preventDefault();
29673
+ e.stopPropagation();
29674
+ setFilterValue(item, 'children');
29675
+ };
29676
+
29677
+ return /*#__PURE__*/React__default['default'].createElement("div", {
29678
+ className: "filter_dropdown"
29679
+ }, isSearch && /*#__PURE__*/React__default['default'].createElement("div", {
29680
+ className: "filter_header"
29681
+ }, /*#__PURE__*/React__default['default'].createElement(_Input__default['default'].Search, {
29682
+ ref: inputRef,
29683
+ allowClear: true,
29684
+ size: "small",
29685
+ placeholder: "\u8BF7\u8F93\u5165",
29686
+ onSearch: handleFilter,
29687
+ onChange: lodash.debounce(function (e) {
29688
+ return handleFilter(e.target.value);
29689
+ }, 500)
29690
+ })), /*#__PURE__*/React__default['default'].createElement("div", {
29691
+ className: "filter_body"
29692
+ }, /*#__PURE__*/React__default['default'].createElement(VirList, {
29693
+ options: options,
29694
+ className: "filter_list"
29695
+ }, function (_ref5) {
29696
+ var item = _ref5.item,
29697
+ resetProps = _objectWithoutProperties(_ref5, _excluded2$1);
29698
+
29699
+ return /*#__PURE__*/React__default['default'].createElement("div", _extends({}, resetProps, {
29700
+ className: classnames('filter_item', {
29701
+ checked: item.value === getFilterValue
29702
+ }),
29703
+ onClick: function onClick(e) {
29704
+ return onChange(e, item);
29705
+ }
29706
+ }), /*#__PURE__*/React__default['default'].createElement("div", {
29707
+ className: "filter_item-content"
29708
+ }, item.label), /*#__PURE__*/React__default['default'].createElement(IconFont, {
29709
+ type: "lmweb-gengduotianchong",
29710
+ onClick: function onClick(e) {
29711
+ return handleClick(e, item);
29712
+ }
29713
+ }));
29714
+ }), !options.length && /*#__PURE__*/React__default['default'].createElement("div", {
29715
+ className: "filter_empty"
29716
+ }, "\u6682\u65E0\u6570\u636E")));
29717
+ }; // 自定义筛选下拉选过滤器
29718
+
29719
+
29720
+ var CustomFilter = function CustomFilter(_ref6) {
29721
+ var _ref6$filters = _ref6.filters,
29722
+ filters = _ref6$filters === void 0 ? [] : _ref6$filters,
29723
+ getFilterValue = _ref6.getFilterValue,
29724
+ setFilterValue = _ref6.setFilterValue;
29517
29725
 
29518
29726
  // 单选事件
29519
29727
  var onChange = function onChange(e, item) {
@@ -29538,9 +29746,9 @@
29538
29746
  }, /*#__PURE__*/React__default['default'].createElement(VirList, {
29539
29747
  options: filters,
29540
29748
  className: "filter_list"
29541
- }, function (_ref5) {
29542
- var item = _ref5.item,
29543
- resetProps = _objectWithoutProperties(_ref5, _excluded2$1);
29749
+ }, function (_ref7) {
29750
+ var item = _ref7.item,
29751
+ resetProps = _objectWithoutProperties(_ref7, _excluded3$1);
29544
29752
 
29545
29753
  return /*#__PURE__*/React__default['default'].createElement("div", _extends({}, resetProps, {
29546
29754
  className: classnames('filter_item', {
@@ -29575,22 +29783,23 @@
29575
29783
  }; // 下拉多选过滤器: 要过滤的数据, 当前选中项, 触发过滤, 过滤前的数据
29576
29784
 
29577
29785
 
29578
- var CheckboxFilter = function CheckboxFilter(_ref6) {
29579
- var filters = _ref6.filters,
29580
- getFilterValue = _ref6.getFilterValue,
29581
- setFilterValue = _ref6.setFilterValue;
29786
+ var CheckboxFilter = function CheckboxFilter(_ref8) {
29787
+ var _ref8$filters = _ref8.filters,
29788
+ filters = _ref8$filters === void 0 ? [] : _ref8$filters,
29789
+ getFilterValue = _ref8.getFilterValue,
29790
+ setFilterValue = _ref8.setFilterValue;
29582
29791
  var inputRef = React.useRef(null);
29583
29792
 
29584
- var _useState3 = React.useState(getFilterValue || []),
29585
- _useState4 = _slicedToArray(_useState3, 2),
29586
- checkedValues = _useState4[0],
29587
- setCheckedValues = _useState4[1]; // 搜索后的筛选项
29793
+ var _useState5 = React.useState(getFilterValue || []),
29794
+ _useState6 = _slicedToArray(_useState5, 2),
29795
+ checkedValues = _useState6[0],
29796
+ setCheckedValues = _useState6[1]; // 搜索后的筛选项
29588
29797
 
29589
29798
 
29590
- var _useState5 = React.useState(filters),
29591
- _useState6 = _slicedToArray(_useState5, 2),
29592
- options = _useState6[0],
29593
- setOptions = _useState6[1]; // 是否存在搜索, 当数据大于8时存在搜索
29799
+ var _useState7 = React.useState(filters),
29800
+ _useState8 = _slicedToArray(_useState7, 2),
29801
+ options = _useState8[0],
29802
+ setOptions = _useState8[1]; // 是否存在搜索, 当数据大于8时存在搜索
29594
29803
 
29595
29804
 
29596
29805
  var isSearch = React.useMemo(function () {
@@ -29669,9 +29878,9 @@
29669
29878
  }, /*#__PURE__*/React__default['default'].createElement(VirList, {
29670
29879
  options: options,
29671
29880
  className: "filter_list"
29672
- }, function (_ref7) {
29673
- var item = _ref7.item,
29674
- resetProps = _objectWithoutProperties(_ref7, _excluded3$1);
29881
+ }, function (_ref9) {
29882
+ var item = _ref9.item,
29883
+ resetProps = _objectWithoutProperties(_ref9, _excluded4$1);
29675
29884
 
29676
29885
  return /*#__PURE__*/React__default['default'].createElement("div", _extends({}, resetProps, {
29677
29886
  className: classnames('filter_item', {
@@ -29698,10 +29907,10 @@
29698
29907
  }; // 更多筛选
29699
29908
 
29700
29909
 
29701
- var MoreFilter = function MoreFilter(_ref8) {
29702
- var filters = _ref8.filters,
29703
- getFilterValue = _ref8.getFilterValue,
29704
- setFilterValue = _ref8.setFilterValue;
29910
+ var MoreFilter = function MoreFilter(_ref10) {
29911
+ var filters = _ref10.filters,
29912
+ getFilterValue = _ref10.getFilterValue,
29913
+ setFilterValue = _ref10.setFilterValue;
29705
29914
  // 选中的数据
29706
29915
  var checkedValues = React.useMemo(function () {
29707
29916
  return getFilterValue;
@@ -29767,9 +29976,9 @@
29767
29976
  }, /*#__PURE__*/React__default['default'].createElement(VirList, {
29768
29977
  options: options,
29769
29978
  className: "filter_list"
29770
- }, function (_ref9) {
29771
- var item = _ref9.item,
29772
- resetProps = _objectWithoutProperties(_ref9, _excluded4$1);
29979
+ }, function (_ref11) {
29980
+ var item = _ref11.item,
29981
+ resetProps = _objectWithoutProperties(_ref11, _excluded5);
29773
29982
 
29774
29983
  return /*#__PURE__*/React__default['default'].createElement("div", _extends({}, resetProps, {
29775
29984
  className: "filter_item",
@@ -29792,16 +30001,17 @@
29792
30001
  }; // 日期范围选择器
29793
30002
 
29794
30003
 
29795
- var DatePickerFilter = function DatePickerFilter(_ref10) {
29796
- var getFilterValue = _ref10.getFilterValue,
29797
- setFilterValue = _ref10.setFilterValue,
29798
- props = _ref10.props;
30004
+ var DatePickerFilter = function DatePickerFilter(_ref12) {
30005
+ var getFilterValue = _ref12.getFilterValue,
30006
+ setFilterValue = _ref12.setFilterValue,
30007
+ props = _ref12.props,
30008
+ dateType = _ref12.dateType;
29799
30009
  // 对日期格式的转换, 日期组件仅接收moment格式
29800
30010
  var value = React.useMemo(function () {
29801
30011
  var nValue;
29802
30012
 
29803
30013
  if (getFilterValue) {
29804
- nValue = [hooks(getFilterValue[0]), hooks(getFilterValue[1])];
30014
+ nValue = dateType === 'rangePicker' ? [hooks(getFilterValue[0]), hooks(getFilterValue[1])] : hooks(getFilterValue);
29805
30015
  }
29806
30016
 
29807
30017
  return nValue;
@@ -29818,59 +30028,75 @@
29818
30028
  }, []); // 选中时间段的触发
29819
30029
 
29820
30030
  var onChange = function onChange(dates, dateStrings) {
29821
- setFilterValue(getIsHas(dateStrings.filter(function (v) {
29822
- return !!v;
29823
- })) ? dateStrings : null);
29824
- }; // 最近的时间触发事件
30031
+ setFilterValue(getIsHas(dateStrings) ? dateStrings : null);
30032
+ };
29825
30033
 
30034
+ if (dateType === 'rangePicker') {
30035
+ // 选中时间段的触发
30036
+ var handleOnChange = function handleOnChange(dates, dateStrings) {
30037
+ onChange(dates, getIsHas(dateStrings.filter(function (v) {
30038
+ return !!v;
30039
+ })) ? dateStrings : null);
30040
+ }; // 最近的时间触发事件
29826
30041
 
29827
- var handleLastDateOnChange = function handleLastDateOnChange(e) {
29828
- var nValue = JSON.parse(e.target.value);
29829
- setFilterValue(nValue);
29830
- };
29831
30042
 
29832
- var panelRender = function panelRender(panelNode) {
29833
- return /*#__PURE__*/React__default['default'].createElement("div", {
29834
- className: "filter_picker_box"
29835
- }, /*#__PURE__*/React__default['default'].createElement("div", {
29836
- className: "filter_picker_main"
29837
- }, /*#__PURE__*/React__default['default'].createElement("div", {
29838
- className: "filter_picker_header"
29839
- }, /*#__PURE__*/React__default['default'].createElement("div", {
29840
- className: "filter_picker_header_tip"
29841
- }, getFilterValue && "".concat(getFilterValue[0], " - ").concat(getFilterValue[1])), /*#__PURE__*/React__default['default'].createElement("div", {
29842
- className: "filter_picker_header_operate"
29843
- }, /*#__PURE__*/React__default['default'].createElement(_Radio__default['default'].Group, {
29844
- value: JSON.stringify(getFilterValue),
29845
- onChange: handleLastDateOnChange,
29846
- size: "small"
29847
- }, ranges.map(function (v) {
29848
- return /*#__PURE__*/React__default['default'].createElement(_Radio__default['default'].Button, {
29849
- key: v.label,
29850
- value: v.value
29851
- }, v.label);
29852
- })))), panelNode));
29853
- };
30043
+ var handleLastDateOnChange = function handleLastDateOnChange(e) {
30044
+ var nValue = JSON.parse(e.target.value);
30045
+ setFilterValue(nValue);
30046
+ };
29854
30047
 
29855
- return /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, /*#__PURE__*/React__default['default'].createElement(_DatePicker__default['default'].RangePicker, _extends({
30048
+ var panelRender = function panelRender(panelNode) {
30049
+ return /*#__PURE__*/React__default['default'].createElement("div", {
30050
+ className: "filter_picker_box"
30051
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
30052
+ className: "filter_picker_main"
30053
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
30054
+ className: "filter_picker_header"
30055
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
30056
+ className: "filter_picker_header_tip"
30057
+ }, getFilterValue && "".concat(getFilterValue[0], " - ").concat(getFilterValue[1])), /*#__PURE__*/React__default['default'].createElement("div", {
30058
+ className: "filter_picker_header_operate"
30059
+ }, /*#__PURE__*/React__default['default'].createElement(_Radio__default['default'].Group, {
30060
+ value: JSON.stringify(getFilterValue),
30061
+ onChange: handleLastDateOnChange,
30062
+ size: "small"
30063
+ }, ranges.map(function (v) {
30064
+ return /*#__PURE__*/React__default['default'].createElement(_Radio__default['default'].Button, {
30065
+ key: v.label,
30066
+ value: v.value
30067
+ }, v.label);
30068
+ })))), panelNode));
30069
+ };
30070
+
30071
+ return /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, /*#__PURE__*/React__default['default'].createElement(_DatePicker__default['default'].RangePicker, _extends({
30072
+ picker: "date",
30073
+ separator: "\u81F3",
30074
+ placeholder: ['开始日期', '结束日期'],
30075
+ style: {
30076
+ width: 200
30077
+ }
30078
+ }, props, {
30079
+ value: value,
30080
+ onChange: handleOnChange,
30081
+ panelRender: panelRender,
30082
+ dropdownClassName: "filter_dropdown_picker",
30083
+ bordered: false,
30084
+ size: "small"
30085
+ })));
30086
+ }
30087
+ return /*#__PURE__*/React__default['default'].createElement(_DatePicker__default['default'], _extends({
30088
+ placeholder: "\u9009\u62E9\u65F6\u95F4"
30089
+ }, props, {
29856
30090
  value: value,
29857
30091
  onChange: onChange,
29858
- panelRender: panelRender,
29859
- dropdownClassName: "lm_filter_dropdown_picker",
29860
30092
  bordered: false,
29861
- picker: "date",
29862
- size: "small",
29863
- separator: "\u81F3",
29864
- placeholder: ['开始日期', '结束日期'],
29865
- style: {
29866
- width: 200
29867
- }
29868
- }, props)));
30093
+ size: "small"
30094
+ }));
29869
30095
  };
29870
30096
 
29871
30097
  var FilterComp = function FilterComp(props) {
29872
30098
  var type = props.type,
29873
- resetProps = _objectWithoutProperties(props, _excluded5);
30099
+ resetProps = _objectWithoutProperties(props, _excluded6);
29874
30100
 
29875
30101
  switch (type) {
29876
30102
  case 'input':
@@ -29891,6 +30117,9 @@
29891
30117
  case 'more':
29892
30118
  return /*#__PURE__*/React__default['default'].createElement(MoreFilter, resetProps);
29893
30119
 
30120
+ case 'nested':
30121
+ return /*#__PURE__*/React__default['default'].createElement(NestedFilter, resetProps);
30122
+
29894
30123
  default:
29895
30124
  return /*#__PURE__*/React__default['default'].createElement(CheckboxFilter, resetProps);
29896
30125
  }
@@ -30299,6 +30528,8 @@
30299
30528
  title = props.title,
30300
30529
  _props$type = props.type,
30301
30530
  type = _props$type === void 0 ? 'checkbox' : _props$type,
30531
+ _props$dateType = props.dateType,
30532
+ dateType = _props$dateType === void 0 ? 'date' : _props$dateType,
30302
30533
  data = props.data,
30303
30534
  comProps = props.props;
30304
30535
 
@@ -30317,13 +30548,37 @@
30317
30548
  }, [state.filterValues]); // 判断是否正在过滤
30318
30549
 
30319
30550
  var isFiltering = React.useMemo(function () {
30320
- return getIsHas(filterValue);
30551
+ return getIsHas(filterValue) || getIsHas(state.nestedFilterValues[field]);
30321
30552
  }, [filterValue]); // 设置过滤的内容 filterType: 'single' 存在时 单个勾选时触发, 默认按钮触发
30322
30553
 
30323
30554
  var setFilterValue = React.useCallback(function (val, filterType) {
30324
- var _state$instance$onCha, _state$instance;
30555
+ var _state$instance$onCha, _state$instance2;
30325
30556
 
30326
- var nValue = _objectSpread({}, state.filterValues);
30557
+ // 嵌套结构时触发
30558
+ if (filterType === 'children') {
30559
+ var _state$instance$onNes, _state$instance;
30560
+
30561
+ (_state$instance$onNes = (_state$instance = state.instance).onNested) === null || _state$instance$onNes === void 0 ? void 0 : _state$instance$onNes.call(_state$instance, val);
30562
+ setVisible(false);
30563
+ return;
30564
+ }
30565
+
30566
+ var nValue = _objectSpread({}, state.filterValues); // 嵌套结构单选时删除嵌套数据
30567
+
30568
+
30569
+ if (type === 'nested') {
30570
+ data.forEach(function (element) {
30571
+ delete nValue[element.value];
30572
+ });
30573
+
30574
+ var resetValue = _objectSpread({}, state.nestedFilterValues);
30575
+
30576
+ delete resetValue[field];
30577
+ dispatch({
30578
+ type: 'changeNestedFilterValues',
30579
+ nestedFilterValues: resetValue
30580
+ });
30581
+ }
30327
30582
 
30328
30583
  getIsHas(val) ? nValue[field] = val : delete nValue[field];
30329
30584
  dispatch({
@@ -30331,7 +30586,7 @@
30331
30586
  filterValues: nValue
30332
30587
  }); // 触发外部查询, 单击时不关闭菜单
30333
30588
 
30334
- (_state$instance$onCha = (_state$instance = state.instance).onChange) === null || _state$instance$onCha === void 0 ? void 0 : _state$instance$onCha.call(_state$instance, nValue, state.customFilterValues);
30589
+ (_state$instance$onCha = (_state$instance2 = state.instance).onChange) === null || _state$instance$onCha === void 0 ? void 0 : _state$instance$onCha.call(_state$instance2, nValue, state.customFilterValues);
30335
30590
  !filterType && setVisible(false);
30336
30591
  }, [dispatch, field, state.filterValues, state.instance]); // 展示的内容
30337
30592
 
@@ -30339,17 +30594,23 @@
30339
30594
  if (type === 'date') {
30340
30595
  var obj = {
30341
30596
  props: comProps,
30597
+ dateType: dateType,
30342
30598
  getFilterValue: filterValue,
30343
30599
  setFilterValue: setFilterValue
30344
30600
  };
30345
30601
  return /*#__PURE__*/React__default['default'].createElement(FilterComp, _extends({
30346
30602
  type: "datePicker"
30347
30603
  }, obj));
30604
+ } // 是否存在嵌套结构
30605
+
30606
+
30607
+ if (getIsHas(state.nestedFilterValues[field])) {
30608
+ return state.nestedFilterValues[field].label;
30348
30609
  }
30349
30610
 
30350
30611
  if (!isFiltering) return '全部'; // select & checkbox
30351
30612
 
30352
- if (['select', 'checkbox'].includes(type)) {
30613
+ if (['select', 'checkbox', 'nested'].includes(type)) {
30353
30614
  var findItem = data.find(function (v) {
30354
30615
  return Array.isArray(filterValue) ? filterValue.includes(v.value) : filterValue === v.value;
30355
30616
  });
@@ -30373,7 +30634,7 @@
30373
30634
  }
30374
30635
 
30375
30636
  return filterValue;
30376
- }, [comProps, data, isFiltering, setFilterValue, type, filterValue]); // 下拉组件渲染
30637
+ }, [comProps, data, isFiltering, setFilterValue, type, filterValue, state.nestedFilterValues, field]); // 下拉组件渲染
30377
30638
 
30378
30639
  var FilterControl = React.useCallback(function () {
30379
30640
  var obj = {
@@ -30860,7 +31121,8 @@
30860
31121
  state = _useStore3.state,
30861
31122
  dispatch = _useStore3.dispatch;
30862
31123
 
30863
- var _state$complexDrawer = state.complexDrawer,
31124
+ var instance = state.instance,
31125
+ _state$complexDrawer = state.complexDrawer,
30864
31126
  visible = _state$complexDrawer.visible,
30865
31127
  data = _state$complexDrawer.data,
30866
31128
  complexFilterValues = state.complexFilterValues;
@@ -30921,7 +31183,7 @@
30921
31183
  extra: /*#__PURE__*/React__default['default'].createElement(_Space__default['default'], null, /*#__PURE__*/React__default['default'].createElement(_Button__default['default'], {
30922
31184
  onClick: onClose,
30923
31185
  size: "small"
30924
- }, "\u53D6\u6D88"), /*#__PURE__*/React__default['default'].createElement(_Button__default['default'], {
31186
+ }, "\u53D6\u6D88"), !!instance.custom && /*#__PURE__*/React__default['default'].createElement(_Button__default['default'], {
30925
31187
  onClick: onSave,
30926
31188
  size: "small"
30927
31189
  }, "\u4FDD\u5B58\u67E5\u8BE2"), /*#__PURE__*/React__default['default'].createElement(_Button__default['default'], {
@@ -31174,7 +31436,7 @@
31174
31436
  return /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, /*#__PURE__*/React__default['default'].createElement("div", {
31175
31437
  className: "import_box"
31176
31438
  }, /*#__PURE__*/React__default['default'].createElement(IconFont, {
31177
- type: "lmweb-cloud-upload",
31439
+ type: "lmweb-inbox",
31178
31440
  className: "import_icon"
31179
31441
  }), /*#__PURE__*/React__default['default'].createElement("input", {
31180
31442
  ref: fileRef,
@@ -31642,7 +31904,7 @@
31642
31904
  *
31643
31905
  */
31644
31906
 
31645
- var Filter$1 = function Filter$1(props) {
31907
+ var Filter$1 = /*#__PURE__*/React.forwardRef(function (props, ref) {
31646
31908
  var _useContent = useContent(),
31647
31909
  _useContent2 = _slicedToArray(_useContent, 2),
31648
31910
  state = _useContent2[0],
@@ -31651,15 +31913,9 @@
31651
31913
  var _state$instance = state.instance,
31652
31914
  custom = _state$instance.custom,
31653
31915
  levelGroup = _state$instance.levelGroup,
31654
- complex = _state$instance.complex;
31655
- React.useEffect(function () {
31656
- dispatch({
31657
- type: 'initOptions',
31658
- instance: props
31659
- });
31660
- }, []); // 初始化过滤的值
31916
+ complex = _state$instance.complex; // 初始化
31661
31917
 
31662
- React.useEffect(function () {
31918
+ var setOptions = React.useCallback(function () {
31663
31919
  var trigger = props.trigger,
31664
31920
  onChange = props.onChange,
31665
31921
  data = props.data,
@@ -31703,13 +31959,56 @@
31703
31959
  }); // 是否立即触发
31704
31960
 
31705
31961
  trigger === 'init' && (onChange === null || onChange === void 0 ? void 0 : onChange(filterValues, customFilterValues()));
31962
+ }, [dispatch, props]); // 初始化过滤的值
31963
+
31964
+ React.useEffect(function () {
31965
+ setOptions();
31706
31966
  }, []);
31707
31967
  React.useEffect(function () {
31708
31968
  dispatch({
31709
31969
  type: 'initInstance',
31710
31970
  instance: props
31711
31971
  });
31712
- }, [props]);
31972
+ }, [props]); // 外部控制
31973
+
31974
+ var setFilter = function setFilter(_ref) {
31975
+ var _state$instance$onCha, _state$instance2;
31976
+
31977
+ var field = _ref.field,
31978
+ value = _ref.value,
31979
+ label = _ref.label,
31980
+ relation = _ref.relation;
31981
+
31982
+ var nValue = _objectSpread({}, state.filterValues);
31983
+
31984
+ delete nValue[relation];
31985
+ state.instance.data.find(function (v) {
31986
+ return v.field === relation;
31987
+ }).data.forEach(function (element) {
31988
+ delete nValue[element.value];
31989
+ });
31990
+ getIsHas(value) ? nValue[field] = value : delete nValue[field];
31991
+ dispatch({
31992
+ type: 'changeFilterValues',
31993
+ filterValues: nValue
31994
+ });
31995
+ label && dispatch({
31996
+ type: 'changeNestedFilterValues',
31997
+ nestedFilterValues: _defineProperty({}, relation, {
31998
+ value: value,
31999
+ label: label,
32000
+ field: field
32001
+ })
32002
+ });
32003
+ (_state$instance$onCha = (_state$instance2 = state.instance).onChange) === null || _state$instance$onCha === void 0 ? void 0 : _state$instance$onCha.call(_state$instance2, nValue, state.customFilterValues);
32004
+ };
32005
+
32006
+ React.useImperativeHandle(ref, function () {
32007
+ return {
32008
+ setOptions: setOptions,
32009
+ setFilter: setFilter
32010
+ };
32011
+ });
31713
32012
  return /*#__PURE__*/React__default['default'].createElement(Context$1.Provider, {
31714
32013
  value: {
31715
32014
  state: state,
@@ -31720,7 +32019,7 @@
31720
32019
  }, custom && /*#__PURE__*/React__default['default'].createElement(Custom, null), levelGroup && /*#__PURE__*/React__default['default'].createElement(CustomGroup, null), (custom || levelGroup) && /*#__PURE__*/React__default['default'].createElement("div", {
31721
32020
  className: "line"
31722
32021
  }), /*#__PURE__*/React__default['default'].createElement(Filter, null), complex && /*#__PURE__*/React__default['default'].createElement(Custom$1, null), /*#__PURE__*/React__default['default'].createElement(ModalItem, null)));
31723
- };
32022
+ });
31724
32023
 
31725
32024
  var Icon$2 = function Icon(prop) {
31726
32025
  var className = prop.className;
@@ -67122,7 +67421,7 @@
67122
67421
  _excluded3$3 = ["children", "style"],
67123
67422
  _excluded4$2 = ["children"],
67124
67423
  _excluded5$1 = ["style", "children"],
67125
- _excluded6 = ["width"];
67424
+ _excluded6$1 = ["width"];
67126
67425
 
67127
67426
  var initialState$2 = {
67128
67427
  // 行高度
@@ -67385,7 +67684,7 @@
67385
67684
  rest = _objectWithoutProperties(props, _excluded5$1);
67386
67685
 
67387
67686
  var width = style.width,
67388
- restStyle = _objectWithoutProperties(style, _excluded6);
67687
+ restStyle = _objectWithoutProperties(style, _excluded6$1);
67389
67688
 
67390
67689
  var _ref3 = otherParams !== null && otherParams !== void 0 ? otherParams : {},
67391
67690
  vid = _ref3.vid,
@@ -69240,7 +69539,9 @@
69240
69539
  footer = _useContext.footer,
69241
69540
  onClick = _useContext.onClick,
69242
69541
  _onDoubleClick = _useContext.onDoubleClick,
69243
- expand = _useContext.expand;
69542
+ onTitleClick = _useContext.onTitleClick,
69543
+ expand = _useContext.expand,
69544
+ checkboxConfig = _useContext.checkboxConfig;
69244
69545
 
69245
69546
  var _useState = React.useState(false),
69246
69547
  _useState2 = _slicedToArray(_useState, 2),
@@ -69271,9 +69572,8 @@
69271
69572
  }, resetConfig);
69272
69573
  }, [config]); // 多选事件
69273
69574
 
69274
- var onChange = function onChange(e) {
69275
- var bol = e.target.checked;
69276
- var nValue = bol ? [].concat(_toConsumableArray(defaultValue), [item]) : defaultValue.filter(function (v) {
69575
+ var _onChange = function onChange(val) {
69576
+ var nValue = val ? [].concat(_toConsumableArray(defaultValue), [item]) : defaultValue.filter(function (v) {
69277
69577
  return v[rowKey] !== item[rowKey];
69278
69578
  });
69279
69579
  dispatch({
@@ -69285,6 +69585,15 @@
69285
69585
  var handleClick = function handleClick(e) {
69286
69586
  e.stopPropagation();
69287
69587
  onClick === null || onClick === void 0 ? void 0 : onClick(item);
69588
+
69589
+ if (checkboxConfig.trigger === 'row') {
69590
+ _onChange === null || _onChange === void 0 ? void 0 : _onChange(!useCheck);
69591
+ }
69592
+ };
69593
+
69594
+ var handleOnTitleClick = function handleOnTitleClick(e) {
69595
+ e.stopPropagation();
69596
+ onTitleClick === null || onTitleClick === void 0 ? void 0 : onTitleClick(item);
69288
69597
  };
69289
69598
 
69290
69599
  React.useEffect(function () {
@@ -69313,13 +69622,16 @@
69313
69622
  }
69314
69623
  }, /*#__PURE__*/React__default['default'].createElement(_Checkbox__default['default'], {
69315
69624
  checked: useCheck,
69316
- onChange: onChange
69625
+ onChange: function onChange(e) {
69626
+ return _onChange(e.target.checked);
69627
+ }
69317
69628
  })), /*#__PURE__*/React__default['default'].createElement("div", {
69318
69629
  className: "card_cell_info"
69319
69630
  }, /*#__PURE__*/React__default['default'].createElement("div", {
69320
69631
  className: "title"
69321
69632
  }, /*#__PURE__*/React__default['default'].createElement("div", {
69322
- className: "label"
69633
+ className: "label",
69634
+ onClick: handleOnTitleClick
69323
69635
  }, item[defaultConfig.title]), /*#__PURE__*/React__default['default'].createElement("div", {
69324
69636
  className: "icon"
69325
69637
  }, /*#__PURE__*/React__default['default'].createElement(defaultConfig.stateRender, {