linkmore-design 1.0.15 → 1.0.16

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 (35) hide show
  1. package/dist/index.umd.js +1756 -730
  2. package/dist/index.umd.min.js +6 -6
  3. package/es/CkFilter/baseFilter/filterMenu.js +11 -0
  4. package/es/CkFilter/complexFilter/drawer.js +42 -2
  5. package/es/CkFilter/components/CascaderFilter.js +132 -0
  6. package/es/CkFilter/components/CheckboxTags.js +53 -0
  7. package/es/CkFilter/components/Controls.js +43 -0
  8. package/es/CkFilter/components/CustomModal.js +230 -0
  9. package/es/CkFilter/components/filterTypes.js +153 -1
  10. package/es/CkFilter/components/modal.js +36 -67
  11. package/es/CkFilter/components/modalBack.js +261 -0
  12. package/es/CkFilter/context.js +1 -1
  13. package/es/CkFilter/customFilter/drawer.js +4 -1
  14. package/es/CkFilter/filter.js +3 -3
  15. package/es/CkFilter/style/style.css +69 -27
  16. package/es/ProTable/Table.js +5 -3
  17. package/es/ProTable/autosize.js +170 -0
  18. package/es/ProTable/detectElementResize.js +225 -0
  19. package/lib/CkFilter/baseFilter/filterMenu.js +11 -0
  20. package/lib/CkFilter/complexFilter/drawer.js +42 -2
  21. package/lib/CkFilter/components/CascaderFilter.js +132 -0
  22. package/lib/CkFilter/components/CheckboxTags.js +53 -0
  23. package/lib/CkFilter/components/Controls.js +43 -0
  24. package/lib/CkFilter/components/CustomModal.js +230 -0
  25. package/lib/CkFilter/components/filterTypes.js +153 -1
  26. package/lib/CkFilter/components/modal.js +36 -67
  27. package/lib/CkFilter/components/modalBack.js +261 -0
  28. package/lib/CkFilter/context.js +1 -1
  29. package/lib/CkFilter/customFilter/drawer.js +4 -1
  30. package/lib/CkFilter/filter.js +3 -3
  31. package/lib/CkFilter/style/style.css +69 -27
  32. package/lib/ProTable/Table.js +5 -3
  33. package/lib/ProTable/autosize.js +170 -0
  34. package/lib/ProTable/detectElementResize.js +225 -0
  35. package/package.json +1 -1
@@ -9,6 +9,10 @@ Object.defineProperty(exports, "__esModule", {
9
9
  });
10
10
  exports.default = void 0;
11
11
 
12
+ require("antd/es/cascader/style");
13
+
14
+ var _cascader = _interopRequireDefault(require("antd/es/cascader"));
15
+
12
16
  require("antd/es/date-picker/style");
13
17
 
14
18
  var _datePicker = _interopRequireDefault(require("antd/es/date-picker"));
@@ -602,12 +606,157 @@ var DatePickerFilter = function DatePickerFilter(_ref14) {
602
606
  bordered: false,
603
607
  size: "small"
604
608
  }));
609
+ }; // 级联选择器
610
+
611
+
612
+ var CascaderFilter = function CascaderFilter(props) {
613
+ var title = props.title,
614
+ filters = props.filters,
615
+ getFilterValue = props.getFilterValue,
616
+ setFilterValue = props.setFilterValue,
617
+ _props$itemProps = props.itemProps,
618
+ itemProps = _props$itemProps === void 0 ? {} : _props$itemProps,
619
+ isFiltering = props.isFiltering;
620
+
621
+ var _useState9 = (0, _react.useState)(false),
622
+ _useState10 = (0, _slicedToArray2.default)(_useState9, 2),
623
+ visible = _useState10[0],
624
+ setVisible = _useState10[1];
625
+
626
+ var _useState11 = (0, _react.useState)(filters),
627
+ _useState12 = (0, _slicedToArray2.default)(_useState11, 2),
628
+ options = _useState12[0],
629
+ setOptions = _useState12[1];
630
+
631
+ var _useState13 = (0, _react.useState)('全部'),
632
+ _useState14 = (0, _slicedToArray2.default)(_useState13, 2),
633
+ text = _useState14[0],
634
+ setText = _useState14[1];
635
+
636
+ var _useState15 = (0, _react.useState)(getFilterValue || itemProps.multiple ? [] : ''),
637
+ _useState16 = (0, _slicedToArray2.default)(_useState15, 2),
638
+ checkedValues = _useState16[0],
639
+ setCheckedValues = _useState16[1];
640
+
641
+ var isSearch = (0, _react.useMemo)(function () {
642
+ return filters.length > 8;
643
+ }, [filters.length]);
644
+
645
+ var handleFilter = function handleFilter(val) {
646
+ setOptions(filters.filter(function (v) {
647
+ return v.label.indexOf(val) > -1;
648
+ }));
649
+ };
650
+
651
+ var dropdownRender = function dropdownRender(menus) {
652
+ var inputRef = (0, _react.useRef)(null); // 确定
653
+
654
+ var handleSure = function handleSure() {
655
+ setFilterValue(checkedValues);
656
+ }; // 清空
657
+
658
+
659
+ var handleReset = function handleReset() {
660
+ inputRef.current.input.value = '';
661
+ setFilterValue(undefined);
662
+ };
663
+
664
+ return /*#__PURE__*/_react.default.createElement("div", {
665
+ className: "filter_cascader_container filter_dropdown"
666
+ }, /*#__PURE__*/_react.default.createElement("div", {
667
+ className: "filter_header"
668
+ }, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Input.Search, {
669
+ ref: inputRef,
670
+ allowClear: true,
671
+ size: "small",
672
+ placeholder: "\u8BF7\u8F93\u5165",
673
+ onSearch: handleFilter,
674
+ onChange: (0, _lodash.debounce)(function (e) {
675
+ return handleFilter(e.target.value);
676
+ }, 500)
677
+ })), menus, isSearch && /*#__PURE__*/_react.default.createElement("div", {
678
+ className: "filter_footer"
679
+ }, /*#__PURE__*/_react.default.createElement("div", {
680
+ className: "footer_clear",
681
+ onClick: handleReset
682
+ }, "\u6E05\u7A7A"), /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Button, {
683
+ type: "primary",
684
+ size: "small",
685
+ onClick: handleSure
686
+ }, "\u786E\u5B9A")));
687
+ };
688
+
689
+ var onChange = function onChange(item, selectedOptions) {
690
+ if (!item.length) {
691
+ setText('全部');
692
+ setCheckedValues(itemProps.multiple ? [] : '');
693
+ setFilterValue(undefined);
694
+ return;
695
+ }
696
+
697
+ if (itemProps.multiple) {
698
+ var arr = [];
699
+ selectedOptions.map(function (vals) {
700
+ return vals.length > 1 ? arr.push(vals.map(function (v) {
701
+ return v.label;
702
+ }).join('/')) : vals[0].children.map(function (v) {
703
+ return arr.push("".concat(vals[0].label, "/").concat(v.label));
704
+ });
705
+ });
706
+ var showLabel = arr.length < 3 ? arr.join('、') : "".concat(arr[0], "\u3001+").concat(arr.length);
707
+ setText(showLabel);
708
+ setFilterValue(item.map(function (v) {
709
+ return v[v.length - 1];
710
+ }));
711
+ setCheckedValues(item);
712
+ } else {
713
+ setText(selectedOptions.map(function (v) {
714
+ return v.label;
715
+ }).join('/'));
716
+ setFilterValue(item);
717
+ setCheckedValues(item);
718
+ }
719
+ };
720
+
721
+ var handleClear = function handleClear(e) {
722
+ if (isFiltering) {
723
+ e.stopPropagation();
724
+ setText('全部');
725
+ setCheckedValues(itemProps.multiple ? [] : '');
726
+ setFilterValue(undefined);
727
+ }
728
+ };
729
+
730
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_cascader.default, (0, _extends2.default)({}, itemProps, {
731
+ options: options,
732
+ value: checkedValues,
733
+ onChange: onChange,
734
+ showCheckedStrategy: "Cascader.SHOW_CHILD",
735
+ dropdownRender: dropdownRender,
736
+ onDropdownVisibleChange: function onDropdownVisibleChange(v) {
737
+ return setVisible(v);
738
+ }
739
+ }), /*#__PURE__*/_react.default.createElement("div", {
740
+ className: (0, _classnames.default)('filter_item', {
741
+ isfiltering: isFiltering,
742
+ active: !isFiltering && visible
743
+ })
744
+ }, /*#__PURE__*/_react.default.createElement("div", {
745
+ className: "filter_item_label"
746
+ }, title, ":"), /*#__PURE__*/_react.default.createElement("div", {
747
+ className: "filter_item_value"
748
+ }, /*#__PURE__*/_react.default.createElement("div", {
749
+ className: "checked"
750
+ }, text), /*#__PURE__*/_react.default.createElement(_IconFont.default, {
751
+ type: isFiltering ? 'lmweb-close-circle-fill' : 'lmweb-down',
752
+ className: "addonAfter",
753
+ onClick: handleClear
754
+ })))));
605
755
  };
606
756
 
607
757
  var FilterComp = function FilterComp(props) {
608
758
  var type = props.type,
609
759
  resetProps = (0, _objectWithoutProperties2.default)(props, _excluded6);
610
- console.log(props, '--props');
611
760
 
612
761
  switch (type) {
613
762
  case 'input':
@@ -631,6 +780,9 @@ var FilterComp = function FilterComp(props) {
631
780
  case 'nested':
632
781
  return /*#__PURE__*/_react.default.createElement(NestedFilter, resetProps);
633
782
 
783
+ case 'cascader':
784
+ return /*#__PURE__*/_react.default.createElement(CascaderFilter, resetProps);
785
+
634
786
  default:
635
787
  return /*#__PURE__*/_react.default.createElement(CheckboxFilter, resetProps);
636
788
  }
@@ -11,6 +11,8 @@ exports.default = void 0;
11
11
 
12
12
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
13
13
 
14
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
15
+
14
16
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
17
 
16
18
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
@@ -25,10 +27,6 @@ var _form = _interopRequireDefault(require("antd/es/form"));
25
27
 
26
28
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
27
29
 
28
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
29
-
30
- var _classnames = _interopRequireDefault(require("classnames"));
31
-
32
30
  var _linkmoreDesign = require("linkmore-design");
33
31
 
34
32
  var _react = _interopRequireWildcard(require("react"));
@@ -37,40 +35,12 @@ var _context2 = require("../context");
37
35
 
38
36
  var _utils = require("../utils");
39
37
 
38
+ var _Controls = _interopRequireDefault(require("./Controls"));
39
+
40
40
  var _excluded = ["field"];
41
41
 
42
42
  // const { EditModal } = Modal
43
- var ButtonTags = function ButtonTags(_ref) {
44
- var value = _ref.value,
45
- onChange = _ref.onChange,
46
- options = _ref.options;
47
-
48
- var handleClick = function handleClick(item) {
49
- var oriValue = value || [];
50
- var has = oriValue === null || oriValue === void 0 ? void 0 : oriValue.includes(item.value);
51
- var nValue = has ? oriValue.filter(function (v) {
52
- return v !== item.value;
53
- }) : [].concat((0, _toConsumableArray2.default)(oriValue), [item.value]);
54
- onChange === null || onChange === void 0 ? void 0 : onChange(nValue);
55
- };
56
-
57
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Space, {
58
- size: 8,
59
- wrap: true,
60
- className: "auto_height"
61
- }, options === null || options === void 0 ? void 0 : options.map(function (v) {
62
- return /*#__PURE__*/_react.default.createElement("div", {
63
- key: v.value,
64
- className: (0, _classnames.default)('checkbox_tag', {
65
- active: value === null || value === void 0 ? void 0 : value.includes(v.value)
66
- }),
67
- onClick: function onClick() {
68
- return handleClick(v);
69
- }
70
- }, v.label);
71
- })));
72
- };
73
-
43
+ // 第二层抽屉,弹出数据选择
74
44
  var ModalItem = function ModalItem() {
75
45
  var _useStore = (0, _context2.useStore)(),
76
46
  state = _useStore.state,
@@ -103,7 +73,7 @@ var ModalItem = function ModalItem() {
103
73
  };
104
74
 
105
75
  var onSave = /*#__PURE__*/function () {
106
- var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
76
+ var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
107
77
  var _yield$form$validateF, field, values, filterValues;
108
78
 
109
79
  return _regenerator.default.wrap(function _callee$(_context) {
@@ -162,7 +132,7 @@ var ModalItem = function ModalItem() {
162
132
  }));
163
133
 
164
134
  return function onSave() {
165
- return _ref2.apply(this, arguments);
135
+ return _ref.apply(this, arguments);
166
136
  };
167
137
  }();
168
138
 
@@ -175,12 +145,12 @@ var ModalItem = function ModalItem() {
175
145
  }; // 动态展示选择框
176
146
 
177
147
 
178
- var DynamicSelect = (0, _react.useCallback)(function (_ref3) {
179
- var _instance$fullData$fi;
148
+ var DynamicSelect = (0, _react.useCallback)(function (_ref2) {
149
+ var _instance$fullData, _instance$fullData$fi;
180
150
 
181
- var getFieldValue = _ref3.getFieldValue;
151
+ var getFieldValue = _ref2.getFieldValue;
182
152
  var field = getFieldValue('field');
183
- var options = ((_instance$fullData$fi = instance.fullData.find(function (v) {
153
+ var options = ((_instance$fullData = instance.fullData) === null || _instance$fullData === void 0 ? void 0 : (_instance$fullData$fi = _instance$fullData.find(function (v) {
184
154
  return v.field === field;
185
155
  })) === null || _instance$fullData$fi === void 0 ? void 0 : _instance$fullData$fi.data) || [];
186
156
 
@@ -188,31 +158,32 @@ var ModalItem = function ModalItem() {
188
158
  return /*#__PURE__*/_react.default.createElement(_form.default.Item, {
189
159
  name: "value",
190
160
  label: "\u9009\u62E9\u5B57\u6BB5\u503C"
191
- }, /*#__PURE__*/_react.default.createElement(ButtonTags, {
161
+ }, /*#__PURE__*/_react.default.createElement(_Controls.default, (0, _extends2.default)({
162
+ visible: customModal.visible
163
+ }, customModal.data, {
192
164
  options: options
193
- }));
165
+ })));
194
166
  }
195
167
 
196
168
  return false;
197
- }, [instance.fullData]);
169
+ }, [instance.fullData, customModal.data.type]);
198
170
  var config = {
199
- title: isEdit ? '编辑' : '新增查询项',
200
- visible: customModal.visible,
201
- onCancel: onClose,
202
- bodyStyle: {
203
- padding: 24
204
- },
205
- // zIndex: 2001,
206
- footer: [/*#__PURE__*/_react.default.createElement(_linkmoreDesign.Button, {
171
+ title: isEdit ? customModal.data.title : '新增查询项',
172
+ visible: customModal.type === 'complex' && customModal.visible,
173
+ onClose: onClose,
174
+ className: 'lm_det_drawer',
175
+ extra: /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Space, {
176
+ size: 8
177
+ }, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Button, {
207
178
  key: "cancel",
208
179
  onClick: onClose,
209
- size: "middle"
180
+ size: "small"
210
181
  }, "\u53D6\u6D88"), /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Button, {
211
182
  type: "primary",
212
183
  key: "back",
213
184
  onClick: onSave,
214
- size: "middle"
215
- }, "\u786E\u5B9A")]
185
+ size: "small"
186
+ }, "\u786E\u5B9A"))
216
187
  }; // 初始化重置数据
217
188
 
218
189
  (0, _react.useEffect)(function () {
@@ -220,7 +191,7 @@ var ModalItem = function ModalItem() {
220
191
  form.setFieldsValue(customModal.data);
221
192
  }
222
193
  }, [form, customModal]);
223
- return /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Modal, config, /*#__PURE__*/_react.default.createElement("div", {
194
+ return /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Drawer, config, /*#__PURE__*/_react.default.createElement("div", {
224
195
  className: "custom_modal"
225
196
  }, /*#__PURE__*/_react.default.createElement(_form.default, {
226
197
  form: form,
@@ -230,7 +201,14 @@ var ModalItem = function ModalItem() {
230
201
  onValuesChange: onValuesChange,
231
202
  layout: "vertical",
232
203
  size: "default"
233
- }, !isEdit && /*#__PURE__*/_react.default.createElement(_form.default.Item, {
204
+ }, /*#__PURE__*/_react.default.createElement(_form.default.Item, {
205
+ name: "mode",
206
+ label: "\u67E5\u8BE2\u65B9\u5F0F"
207
+ }, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Radio.Group, null, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Radio, {
208
+ value: "and"
209
+ }, "\u4E14,\u67E5\u8BE2\u540C\u65F6\u6EE1\u8DB3\u6B64\u9009\u9879\u6761\u4EF6"), /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Radio, {
210
+ value: "or"
211
+ }, "\u6216,\u67E5\u8BE2\u5305\u542B\u6B64\u9009\u9879\u6761\u4EF6"))), !isEdit && /*#__PURE__*/_react.default.createElement(_form.default.Item, {
234
212
  name: "field",
235
213
  label: "\u9009\u62E9\u5B57\u6BB5"
236
214
  }, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Select, {
@@ -245,16 +223,7 @@ var ModalItem = function ModalItem() {
245
223
  shouldUpdate: function shouldUpdate(prevValues, currentValues) {
246
224
  return prevValues.field !== currentValues.field;
247
225
  }
248
- }, DynamicSelect), /*#__PURE__*/_react.default.createElement(_form.default.Item, {
249
- name: "mode",
250
- label: "\u67E5\u8BE2\u65B9\u5F0F"
251
- }, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Radio.Group, {
252
- direction: "column"
253
- }, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Radio, {
254
- value: "and"
255
- }, "\u4E14,\u67E5\u8BE2\u540C\u65F6\u6EE1\u8DB3\u6B64\u9009\u9879\u6761\u4EF6"), /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Radio, {
256
- value: "or"
257
- }, "\u6216,\u67E5\u8BE2\u5305\u542B\u6B64\u9009\u9879\u6761\u4EF6"))))));
226
+ }, DynamicSelect))));
258
227
  };
259
228
 
260
229
  var _default = ModalItem;
@@ -0,0 +1,261 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+
5
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.default = void 0;
11
+
12
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
13
+
14
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
+
16
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
17
+
18
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
19
+
20
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
21
+
22
+ require("antd/es/form/style");
23
+
24
+ var _form = _interopRequireDefault(require("antd/es/form"));
25
+
26
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
27
+
28
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
29
+
30
+ var _classnames = _interopRequireDefault(require("classnames"));
31
+
32
+ var _linkmoreDesign = require("linkmore-design");
33
+
34
+ var _react = _interopRequireWildcard(require("react"));
35
+
36
+ var _context2 = require("../context");
37
+
38
+ var _utils = require("../utils");
39
+
40
+ var _excluded = ["field"];
41
+
42
+ // const { EditModal } = Modal
43
+ var ButtonTags = function ButtonTags(_ref) {
44
+ var value = _ref.value,
45
+ onChange = _ref.onChange,
46
+ options = _ref.options;
47
+
48
+ var handleClick = function handleClick(item) {
49
+ var oriValue = value || [];
50
+ var has = oriValue === null || oriValue === void 0 ? void 0 : oriValue.includes(item.value);
51
+ var nValue = has ? oriValue.filter(function (v) {
52
+ return v !== item.value;
53
+ }) : [].concat((0, _toConsumableArray2.default)(oriValue), [item.value]);
54
+ onChange === null || onChange === void 0 ? void 0 : onChange(nValue);
55
+ };
56
+
57
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Space, {
58
+ size: 8,
59
+ wrap: true,
60
+ className: "auto_height"
61
+ }, options === null || options === void 0 ? void 0 : options.map(function (v) {
62
+ return /*#__PURE__*/_react.default.createElement("div", {
63
+ key: v.value,
64
+ className: (0, _classnames.default)('checkbox_tag', {
65
+ active: value === null || value === void 0 ? void 0 : value.includes(v.value)
66
+ }),
67
+ onClick: function onClick() {
68
+ return handleClick(v);
69
+ }
70
+ }, v.label);
71
+ })));
72
+ };
73
+
74
+ var ModalItem = function ModalItem() {
75
+ var _useStore = (0, _context2.useStore)(),
76
+ state = _useStore.state,
77
+ dispatch = _useStore.dispatch;
78
+
79
+ var customModal = state.customModal,
80
+ customDrawer = state.customDrawer,
81
+ complexDrawer = state.complexDrawer,
82
+ instance = state.instance;
83
+
84
+ var _Form$useForm = _form.default.useForm(),
85
+ _Form$useForm2 = (0, _slicedToArray2.default)(_Form$useForm, 1),
86
+ form = _Form$useForm2[0]; // 是否编辑
87
+
88
+
89
+ var isEdit = (0, _react.useMemo)(function () {
90
+ var type = customModal.type,
91
+ data = customModal.data;
92
+ return type === 'complex' || (0, _utils.getIsHas)(data);
93
+ }, [customModal]);
94
+
95
+ var onClose = function onClose() {
96
+ dispatch({
97
+ type: 'changeModal',
98
+ customModal: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, customModal), {}, {
99
+ visible: false
100
+ })
101
+ });
102
+ form.resetFields();
103
+ };
104
+
105
+ var onSave = /*#__PURE__*/function () {
106
+ var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
107
+ var _yield$form$validateF, field, values, filterValues;
108
+
109
+ return _regenerator.default.wrap(function _callee$(_context) {
110
+ while (1) {
111
+ switch (_context.prev = _context.next) {
112
+ case 0:
113
+ _context.prev = 0;
114
+ _context.next = 3;
115
+ return form.validateFields();
116
+
117
+ case 3:
118
+ _yield$form$validateF = _context.sent;
119
+ field = _yield$form$validateF.field;
120
+ values = (0, _objectWithoutProperties2.default)(_yield$form$validateF, _excluded);
121
+ filterValues = customModal.type === 'complex' ? (0, _objectSpread2.default)({}, complexDrawer.data) : (0, _objectSpread2.default)({}, customDrawer.data.filterValues); // 判断是新增还是编辑
122
+
123
+ if (isEdit) {
124
+ Object.assign(filterValues, (0, _defineProperty2.default)({}, customModal.data.field, values));
125
+ } else {
126
+ Object.assign(filterValues, (0, _defineProperty2.default)({}, field, values));
127
+ }
128
+
129
+ if (customModal.type === 'complex') {
130
+ dispatch({
131
+ type: 'changeComplexDrawer',
132
+ complexDrawer: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, complexDrawer), {}, {
133
+ data: filterValues
134
+ })
135
+ });
136
+ } else {
137
+ dispatch({
138
+ type: 'changeDrawer',
139
+ customDrawer: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, customDrawer), {}, {
140
+ data: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, customDrawer.data), {}, {
141
+ filterValues: filterValues
142
+ })
143
+ })
144
+ });
145
+ }
146
+
147
+ onClose();
148
+ _context.next = 15;
149
+ break;
150
+
151
+ case 12:
152
+ _context.prev = 12;
153
+ _context.t0 = _context["catch"](0);
154
+ console.log('校验错误!', _context.t0);
155
+
156
+ case 15:
157
+ case "end":
158
+ return _context.stop();
159
+ }
160
+ }
161
+ }, _callee, null, [[0, 12]]);
162
+ }));
163
+
164
+ return function onSave() {
165
+ return _ref2.apply(this, arguments);
166
+ };
167
+ }();
168
+
169
+ var onValuesChange = function onValuesChange(values) {
170
+ if (values.field) {
171
+ form.setFieldsValue({
172
+ value: []
173
+ });
174
+ }
175
+ }; // 动态展示选择框
176
+
177
+
178
+ var DynamicSelect = (0, _react.useCallback)(function (_ref3) {
179
+ var _instance$fullData$fi;
180
+
181
+ var getFieldValue = _ref3.getFieldValue;
182
+ var field = getFieldValue('field');
183
+ var options = ((_instance$fullData$fi = instance.fullData.find(function (v) {
184
+ return v.field === field;
185
+ })) === null || _instance$fullData$fi === void 0 ? void 0 : _instance$fullData$fi.data) || [];
186
+
187
+ if (field) {
188
+ return /*#__PURE__*/_react.default.createElement(_form.default.Item, {
189
+ name: "value",
190
+ label: "\u9009\u62E9\u5B57\u6BB5\u503C"
191
+ }, /*#__PURE__*/_react.default.createElement(ButtonTags, {
192
+ options: options
193
+ }));
194
+ }
195
+
196
+ return false;
197
+ }, [instance.fullData]);
198
+ var config = {
199
+ title: isEdit ? '编辑' : '新增查询项',
200
+ visible: customModal.visible,
201
+ onCancel: onClose,
202
+ bodyStyle: {
203
+ padding: 24
204
+ },
205
+ // zIndex: 2001,
206
+ footer: [/*#__PURE__*/_react.default.createElement(_linkmoreDesign.Button, {
207
+ key: "cancel",
208
+ onClick: onClose,
209
+ size: "middle"
210
+ }, "\u53D6\u6D88"), /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Button, {
211
+ type: "primary",
212
+ key: "back",
213
+ onClick: onSave,
214
+ size: "middle"
215
+ }, "\u786E\u5B9A")]
216
+ }; // 初始化重置数据
217
+
218
+ (0, _react.useEffect)(function () {
219
+ if (customModal.visible) {
220
+ form.setFieldsValue(customModal.data);
221
+ }
222
+ }, [form, customModal]);
223
+ return /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Modal, config, /*#__PURE__*/_react.default.createElement("div", {
224
+ className: "custom_modal"
225
+ }, /*#__PURE__*/_react.default.createElement(_form.default, {
226
+ form: form,
227
+ initialValues: {
228
+ mode: 'or'
229
+ },
230
+ onValuesChange: onValuesChange,
231
+ layout: "vertical",
232
+ size: "default"
233
+ }, !isEdit && /*#__PURE__*/_react.default.createElement(_form.default.Item, {
234
+ name: "field",
235
+ label: "\u9009\u62E9\u5B57\u6BB5"
236
+ }, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Select, {
237
+ open: true
238
+ }, state.instance.fullData.map(function (v) {
239
+ return /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Select.Option, {
240
+ key: v.field,
241
+ value: v.field
242
+ }, v.title);
243
+ }))), /*#__PURE__*/_react.default.createElement(_form.default.Item, {
244
+ noStyle: true,
245
+ shouldUpdate: function shouldUpdate(prevValues, currentValues) {
246
+ return prevValues.field !== currentValues.field;
247
+ }
248
+ }, DynamicSelect), /*#__PURE__*/_react.default.createElement(_form.default.Item, {
249
+ name: "mode",
250
+ label: "\u67E5\u8BE2\u65B9\u5F0F"
251
+ }, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Radio.Group, {
252
+ direction: "column"
253
+ }, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Radio, {
254
+ value: "and"
255
+ }, "\u4E14,\u67E5\u8BE2\u540C\u65F6\u6EE1\u8DB3\u6B64\u9009\u9879\u6761\u4EF6"), /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Radio, {
256
+ value: "or"
257
+ }, "\u6216,\u67E5\u8BE2\u5305\u542B\u6B64\u9009\u9879\u6761\u4EF6"))))));
258
+ };
259
+
260
+ var _default = ModalItem;
261
+ exports.default = _default;
@@ -51,12 +51,12 @@ var initialState = {
51
51
  data: {}
52
52
  },
53
53
  // 抽屉数据
54
+ // 弹窗数据, 二层抽屉, custom: 'custom' | 'complex'
54
55
  customModal: {
55
56
  visible: false,
56
57
  type: 'custom',
57
58
  data: {}
58
59
  },
59
- // 弹窗数据
60
60
  complexDrawer: {
61
61
  visible: false,
62
62
  data: {}
@@ -43,6 +43,8 @@ var _context2 = require("../context");
43
43
 
44
44
  var _utils = require("../utils");
45
45
 
46
+ var _CustomModal = _interopRequireDefault(require("../components/CustomModal"));
47
+
46
48
  var _excluded = ["item"];
47
49
 
48
50
  var ListItem = function ListItem(props) {
@@ -210,6 +212,7 @@ var Index = function Index() {
210
212
  type: 'changeModal',
211
213
  customModal: {
212
214
  visible: true,
215
+ type: 'custom',
213
216
  data: {}
214
217
  }
215
218
  });
@@ -338,7 +341,7 @@ var Index = function Index() {
338
341
  return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({}, resetProps, {
339
342
  className: "filter_drawer_group_item"
340
343
  }), /*#__PURE__*/_react.default.createElement(ListItem, item));
341
- })))));
344
+ }))), /*#__PURE__*/_react.default.createElement(_CustomModal.default, null)));
342
345
  };
343
346
 
344
347
  var _default = Index;