linkmore-design 1.0.57 → 1.0.60

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 (103) hide show
  1. package/dist/CardTable/LmCardTable.d.ts +1 -0
  2. package/dist/CardTable/fns/index.d.ts +1 -0
  3. package/dist/Empty/demos/custom.d.ts +2 -0
  4. package/dist/Empty/empty.d.ts +2 -0
  5. package/dist/Empty/index.d.ts +18 -3
  6. package/dist/Empty/simple.d.ts +2 -0
  7. package/dist/Form/container.d.ts +8 -0
  8. package/dist/Form/demos/error-tip.d.ts +2 -0
  9. package/dist/Form/demos/responsive.d.ts +2 -0
  10. package/dist/Form/index.d.ts +10 -2
  11. package/dist/LmEditTable/demos/sinleEdit.d.ts +2 -0
  12. package/dist/LmFilter/customFilter/index.d.ts +3 -1
  13. package/dist/LmFilter/filterFns/index.d.ts +4 -1
  14. package/dist/LmFilter/utils.d.ts +1 -1
  15. package/dist/index.umd.js +498 -208
  16. package/dist/index.umd.min.js +6 -6
  17. package/es/CardTable/LmCardTable.js +4 -1
  18. package/es/CardTable/body/TableBodyCell.js +10 -5
  19. package/es/CardTable/card/PictureTextRow.js +8 -3
  20. package/es/CardTable/fns/index.js +29 -2
  21. package/es/CardTable/style/index.css +8 -1
  22. package/es/CardTable/table/TableRoot.js +46 -13
  23. package/es/CustomTableOption/cardSort.js +0 -3
  24. package/es/CustomTableOption/columnsSort.js +2 -4
  25. package/es/CustomTableOption/filterSort.js +0 -3
  26. package/es/CustomTableOption/index.js +2 -2
  27. package/es/Dropdown/index.js +2 -2
  28. package/es/Dropdown/style/index.css +19 -1
  29. package/es/Empty/empty.d.ts +2 -0
  30. package/es/Empty/empty.js +55 -0
  31. package/es/Empty/index.d.ts +18 -3
  32. package/es/Empty/index.js +100 -1
  33. package/es/Empty/simple.d.ts +2 -0
  34. package/es/Empty/simple.js +36 -0
  35. package/es/Empty/style/index.css +44 -0
  36. package/es/Form/container.d.ts +8 -0
  37. package/es/Form/container.js +97 -0
  38. package/es/Form/index.d.ts +10 -2
  39. package/es/Form/index.js +30 -2
  40. package/es/Form/style/index.css +116 -0
  41. package/es/IconFont/index.js +1 -1
  42. package/es/LmEditTable/EditTable.js +47 -17
  43. package/es/LmFilter/Controls/index.js +32 -2
  44. package/es/LmFilter/LmFilter.js +1 -1
  45. package/es/LmFilter/baseFilter/index.js +2 -1
  46. package/es/LmFilter/complexFilter/drawer.js +33 -32
  47. package/es/LmFilter/components/CascaderFilter.js +35 -35
  48. package/es/LmFilter/components/CheckboxFilter.js +13 -21
  49. package/es/LmFilter/components/DateFilter.js +53 -29
  50. package/es/LmFilter/components/DropdownFIlter.js +51 -22
  51. package/es/LmFilter/components/SelectFilter.js +2 -3
  52. package/es/LmFilter/components/index.js +5 -61
  53. package/es/LmFilter/customFilter/index.js +3 -2
  54. package/es/LmFilter/filterFns/index.js +65 -25
  55. package/es/LmFilter/style/style.css +2 -1
  56. package/es/LmFilter/utils.js +63 -14
  57. package/es/LmFilter/wrapper/Filter.js +6 -3
  58. package/es/LmFilter/wrapper/FilterRoot.js +29 -22
  59. package/es/LmTable/Table.js +8 -6
  60. package/lib/CardTable/LmCardTable.js +4 -1
  61. package/lib/CardTable/body/TableBodyCell.js +10 -5
  62. package/lib/CardTable/card/PictureTextRow.js +8 -3
  63. package/lib/CardTable/fns/index.js +29 -2
  64. package/lib/CardTable/style/index.css +8 -1
  65. package/lib/CardTable/table/TableRoot.js +46 -13
  66. package/lib/CustomTableOption/cardSort.js +0 -3
  67. package/lib/CustomTableOption/columnsSort.js +2 -4
  68. package/lib/CustomTableOption/filterSort.js +0 -3
  69. package/lib/CustomTableOption/index.js +2 -2
  70. package/lib/Dropdown/index.js +2 -2
  71. package/lib/Dropdown/style/index.css +19 -1
  72. package/lib/Empty/empty.d.ts +2 -0
  73. package/lib/Empty/empty.js +66 -0
  74. package/lib/Empty/index.d.ts +18 -3
  75. package/lib/Empty/index.js +107 -1
  76. package/lib/Empty/simple.d.ts +2 -0
  77. package/lib/Empty/simple.js +47 -0
  78. package/lib/Empty/style/index.css +44 -0
  79. package/lib/Form/container.d.ts +8 -0
  80. package/lib/Form/container.js +112 -0
  81. package/lib/Form/index.d.ts +10 -2
  82. package/lib/Form/index.js +30 -2
  83. package/lib/Form/style/index.css +116 -0
  84. package/lib/IconFont/index.js +1 -1
  85. package/lib/LmEditTable/EditTable.js +47 -17
  86. package/lib/LmFilter/Controls/index.js +32 -2
  87. package/lib/LmFilter/LmFilter.js +1 -1
  88. package/lib/LmFilter/baseFilter/index.js +2 -1
  89. package/lib/LmFilter/complexFilter/drawer.js +33 -32
  90. package/lib/LmFilter/components/CascaderFilter.js +35 -35
  91. package/lib/LmFilter/components/CheckboxFilter.js +13 -21
  92. package/lib/LmFilter/components/DateFilter.js +53 -29
  93. package/lib/LmFilter/components/DropdownFIlter.js +51 -22
  94. package/lib/LmFilter/components/SelectFilter.js +2 -3
  95. package/lib/LmFilter/components/index.js +5 -61
  96. package/lib/LmFilter/customFilter/index.js +3 -2
  97. package/lib/LmFilter/filterFns/index.js +65 -25
  98. package/lib/LmFilter/style/style.css +2 -1
  99. package/lib/LmFilter/utils.js +63 -14
  100. package/lib/LmFilter/wrapper/Filter.js +6 -3
  101. package/lib/LmFilter/wrapper/FilterRoot.js +29 -22
  102. package/lib/LmTable/Table.js +8 -6
  103. package/package.json +1 -1
@@ -9,25 +9,34 @@ Object.defineProperty(exports, "__esModule", {
9
9
  });
10
10
  exports.default = void 0;
11
11
 
12
- require("antd/es/date-picker/style");
13
-
14
- var _datePicker = _interopRequireDefault(require("antd/es/date-picker"));
15
-
16
12
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/extends"));
17
13
 
18
14
  var _react = _interopRequireWildcard(require("react"));
19
15
 
20
16
  var _linkmoreDesign = require("linkmore-design");
21
17
 
18
+ var _moment = _interopRequireDefault(require("moment"));
19
+
22
20
  var _utils = require("../utils");
23
21
 
24
22
  var RangePicker = function RangePicker(_ref) {
25
- var filterValue = _ref.filterValue,
26
- setFilterValue = _ref.setFilterValue,
23
+ var instance = _ref.instance,
27
24
  onChange = _ref.onChange,
28
- itemProps = _ref.itemProps,
29
- visible = _ref.visible;
30
- // 最近的时间段, 值为JSON转换后的字符串
25
+ itemProps = _ref.itemProps;
26
+ var filterValue = instance.filterValue,
27
+ setFilterValue = instance.setFilterValue,
28
+ visible = instance.visible,
29
+ setVisible = instance.setVisible;
30
+ var defaultValue = (0, _react.useMemo)(function () {
31
+ var nValue;
32
+
33
+ if ((0, _utils.getIsHas)(filterValue)) {
34
+ nValue = [(0, _moment.default)(filterValue[0]), (0, _moment.default)(filterValue[1])];
35
+ }
36
+
37
+ return nValue;
38
+ }, [filterValue]); // 最近的时间段, 值为JSON转换后的字符串
39
+
31
40
  var ranges = (0, _react.useMemo)(function () {
32
41
  return Object.entries((0, _utils.getRanges)()).map(function (item, i) {
33
42
  return {
@@ -60,7 +69,7 @@ var RangePicker = function RangePicker(_ref) {
60
69
  className: "filter_picker_header"
61
70
  }, /*#__PURE__*/_react.default.createElement("div", {
62
71
  className: "filter_picker_header_tip"
63
- }, filterValue && "".concat(filterValue[0], " - ").concat(filterValue[1])), /*#__PURE__*/_react.default.createElement("div", {
72
+ }, defaultValue && "".concat(filterValue[0], " - ").concat(filterValue[1])), /*#__PURE__*/_react.default.createElement("div", {
64
73
  className: "filter_picker_header_operate"
65
74
  }, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Radio.Group, {
66
75
  value: activeValue,
@@ -74,7 +83,7 @@ var RangePicker = function RangePicker(_ref) {
74
83
  })))), panelNode));
75
84
  };
76
85
 
77
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_datePicker.default.RangePicker, (0, _extends2.default)({
86
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.DatePicker.RangePicker, (0, _extends2.default)({
78
87
  picker: "date",
79
88
  separator: /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
80
89
  type: "lmweb-swap-right",
@@ -82,17 +91,17 @@ var RangePicker = function RangePicker(_ref) {
82
91
  color: 'var(--text-color)'
83
92
  }
84
93
  }),
85
- placeholder: ['开始日期', '结束日期'],
86
- style: {
87
- width: 210
88
- }
94
+ placeholder: ['开始日期', '结束日期']
89
95
  }, itemProps, {
96
+ value: defaultValue,
90
97
  onChange: handleOnChange,
91
98
  open: visible,
99
+ onOpenChange: function onOpenChange(vis) {
100
+ return setVisible(vis);
101
+ },
92
102
  panelRender: panelRender,
93
103
  dropdownClassName: "lm_filter_dropdown_picker",
94
- bordered: false,
95
- size: "small",
104
+ size: "middle",
96
105
  inputReadOnly: true
97
106
  })));
98
107
  }; // 日期范围选择器
@@ -103,11 +112,25 @@ var DatePickerFilter = function DatePickerFilter(_ref2) {
103
112
  itemProps = _ref2.item;
104
113
  var filterValue = instance.filterValue,
105
114
  setFilterValue = instance.setFilterValue,
106
- visible = instance.visible;
107
- var _itemProps$props = itemProps.props,
108
- props = _itemProps$props === void 0 ? {
109
- picker: 'date'
110
- } : _itemProps$props; // 选中时间段的触发
115
+ visible = instance.visible,
116
+ setVisible = instance.setVisible;
117
+ var props = itemProps.props;
118
+
119
+ var _ref3 = props || {},
120
+ _ref3$picker = _ref3.picker,
121
+ picker = _ref3$picker === void 0 ? 'date' : _ref3$picker;
122
+
123
+ var defaultValue = (0, _react.useMemo)(function () {
124
+ var nValue; // 周/月/季/年 需要处理回显
125
+
126
+ if (picker !== 'date') return nValue;
127
+
128
+ if (filterValue) {
129
+ nValue = (0, _moment.default)(filterValue);
130
+ }
131
+
132
+ return nValue;
133
+ }, [filterValue]); // 选中时间段的触发
111
134
 
112
135
  var onChange = function onChange(dates, dateStrings) {
113
136
  setFilterValue((0, _utils.getIsHas)(dateStrings) ? dateStrings : null);
@@ -115,21 +138,22 @@ var DatePickerFilter = function DatePickerFilter(_ref2) {
115
138
 
116
139
  if (['range', 'rangePicker'].includes(itemProps.dateType || itemProps.datetype)) {
117
140
  return /*#__PURE__*/_react.default.createElement(RangePicker, {
118
- filterValue: filterValue,
119
- setFilterValue: setFilterValue,
141
+ instance: instance,
120
142
  onChange: onChange,
121
- itemProps: props,
122
- visible: visible
143
+ itemProps: props
123
144
  });
124
145
  }
125
146
 
126
- return /*#__PURE__*/_react.default.createElement(_datePicker.default, (0, _extends2.default)({
147
+ return /*#__PURE__*/_react.default.createElement(_linkmoreDesign.DatePicker, (0, _extends2.default)({
127
148
  placeholder: "\u9009\u62E9\u65F6\u95F4"
128
149
  }, props, {
150
+ defaultValue: defaultValue,
129
151
  onChange: onChange,
130
152
  open: visible,
131
- bordered: false,
132
- size: "small",
153
+ onOpenChange: function onOpenChange(vis) {
154
+ return setVisible(vis);
155
+ },
156
+ size: "middle",
133
157
  inputReadOnly: true,
134
158
  dropdownClassName: "lm_filter_dropdown_picker"
135
159
  }));
@@ -100,57 +100,86 @@ var getPlacehodler = function getPlacehodler(props) {
100
100
 
101
101
 
102
102
  var getLabel = function getLabel(filterValue, item) {
103
- var _val;
103
+ var _data$find;
104
104
 
105
- var val = filterValue;
106
- var type = item.type; // 不存在筛选时
105
+ var type = item.type,
106
+ data = item.data; // 不存在筛选时
107
107
 
108
- if (!(0, _utils.getIsHas)(val)) {
108
+ if (!(0, _utils.getIsHas)(filterValue)) {
109
109
  return getPlacehodler(item);
110
- } // 存在筛选数据时
110
+ } // 存在筛选数据时 ⬇️
111
+ // 级联数据转换平级结构
111
112
 
112
113
 
113
- if (Array.isArray(val)) {
114
+ if (['cascader'].includes(type)) {
115
+ var _item$props;
116
+
117
+ var nArr = (0, _utils.getFlatItem)((item === null || item === void 0 ? void 0 : (_item$props = item.props) === null || _item$props === void 0 ? void 0 : _item$props.multiple) ? filterValue : [filterValue], data);
118
+ var labels = nArr.map(function (v) {
119
+ return v.label;
120
+ });
121
+
122
+ switch (labels.length) {
123
+ case 1:
124
+ return labels[0];
125
+
126
+ case 2:
127
+ return "".concat(labels[0], "\u3001").concat(labels[1]);
128
+
129
+ default:
130
+ return "".concat(labels[0], "\u3001+").concat(labels.length - 1, "...");
131
+ }
132
+ }
133
+
134
+ if (Array.isArray(filterValue)) {
135
+ var _data$filter;
136
+
114
137
  // 日期
115
138
  if (['date'].includes(type)) {
116
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, val[0], /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
139
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, filterValue[0], /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
117
140
  type: "lmweb-swap-right",
118
141
  style: {
119
142
  fontSize: 14,
120
143
  color: 'var(--text-color)'
121
144
  }
122
- }), val[1]);
123
- } // 级联数据转换平级结构
145
+ }), filterValue[1]);
146
+ } // 多选
124
147
 
125
148
 
126
- if (['cascader'].includes(type)) {
127
- var _filterValue$map;
149
+ var _labels = data === null || data === void 0 ? void 0 : (_data$filter = data.filter(function (v) {
150
+ return filterValue.includes(v.value);
151
+ })) === null || _data$filter === void 0 ? void 0 : _data$filter.map(function (v) {
152
+ return v.label;
153
+ });
128
154
 
129
- val = (_filterValue$map = filterValue.map(function (v) {
130
- return v[1] ? v[1] : v[0].children;
131
- })) === null || _filterValue$map === void 0 ? void 0 : _filterValue$map.flat(2);
132
- } // 多选
155
+ if (!_labels.length) {
156
+ _labels = filterValue;
157
+ }
133
158
 
159
+ ; // 受控模式未查找到显示的内容时展示
134
160
 
135
- switch (val.length) {
161
+ switch (_labels.length) {
136
162
  case 1:
137
- return val[0].label;
163
+ return _labels[0];
138
164
 
139
165
  case 2:
140
- return "".concat(val[0].label, "\u3001").concat(val[1].label);
166
+ return "".concat(_labels[0], "\u3001").concat(_labels[1]);
141
167
 
142
168
  default:
143
- return "".concat(val[0].label, "\u3001+").concat(val.length - 1, "...");
169
+ return "".concat(_labels[0], "\u3001+").concat(_labels.length - 1, "...");
144
170
  }
145
171
  } // 输入框
146
172
 
147
173
 
148
174
  if (['input', 'date'].includes(type)) {
149
- return val;
150
- } // 单选框
175
+ return filterValue;
176
+ } // 单选框 受控模式未查找到显示的内容时展示filterValue
151
177
 
152
178
 
153
- return (_val = val) === null || _val === void 0 ? void 0 : _val.label;
179
+ var label = ((_data$find = data.find(function (v) {
180
+ return v.value === filterValue;
181
+ })) === null || _data$find === void 0 ? void 0 : _data$find.label) || filterValue;
182
+ return label;
154
183
  };
155
184
  /*
156
185
  * css样式控制
@@ -53,7 +53,6 @@ var SelectFilter = function SelectFilter(_ref) {
53
53
 
54
54
  var handleFilter = function handleFilter() {
55
55
  var val = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
56
- console.log('val', val);
57
56
  var serachValues = filters.filter(function (v) {
58
57
  return v.label.indexOf(val) > -1;
59
58
  });
@@ -63,7 +62,7 @@ var SelectFilter = function SelectFilter(_ref) {
63
62
 
64
63
  var onChange = function onChange(e, obj) {
65
64
  e.preventDefault();
66
- setFilterValue === null || setFilterValue === void 0 ? void 0 : setFilterValue(obj);
65
+ setFilterValue === null || setFilterValue === void 0 ? void 0 : setFilterValue(obj.value);
67
66
  }; // 展开下拉时触发: 赋值 && 聚焦 && 重置显示内容
68
67
 
69
68
 
@@ -98,7 +97,7 @@ var SelectFilter = function SelectFilter(_ref) {
98
97
  resetProps = (0, _objectWithoutProperties2.default)(_ref2, _excluded);
99
98
  return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({}, resetProps, {
100
99
  className: (0, _classnames.default)('filter_item', {
101
- checked: item.value === (filterValue === null || filterValue === void 0 ? void 0 : filterValue.value)
100
+ checked: item.value === filterValue
102
101
  }),
103
102
  onClick: function onClick(e) {
104
103
  return onChange(e, item);
@@ -55,72 +55,16 @@ var FilterControl = /*#__PURE__*/_react.default.memo(function (props) {
55
55
  }),
56
56
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
57
57
  aliveValue = _useState2[0],
58
- setAliveValue = _useState2[1]; // 单独使用时将值转换为行数据
58
+ setAliveValue = _useState2[1]; // 单独使用 检查是否受控模式
59
59
 
60
60
 
61
61
  var transformFilterValue = (0, _react.useMemo)(function () {
62
- // 检查是否受控模式
63
- var checkedValue = value || aliveValue;
64
- var getOptions = (resetItem === null || resetItem === void 0 ? void 0 : resetItem.data) || [];
65
- var nValue = checkedValue;
66
-
67
- if (['select'].includes(resetItem.type)) {
68
- nValue = getOptions === null || getOptions === void 0 ? void 0 : getOptions.find(function (v) {
69
- return v.value === checkedValue;
70
- });
71
- }
72
-
73
- if (['checkbox'].includes(resetItem.type)) {
74
- nValue = (getOptions === null || getOptions === void 0 ? void 0 : getOptions.filter(function (v) {
75
- return checkedValue.includes(v.value);
76
- })) || [];
77
- }
78
-
79
- if (['cascader'].includes(resetItem.type)) {
80
- // 查询值
81
- // const getRow = (val, arr) => {
82
- // let nRow = '';
83
- // arr.forEach(item => {
84
- // nRow = item.value === val ? item : getRow(val, item.children);
85
- // })
86
- // return nRow;
87
- // };
88
- // checkedValue?.map(v => {
89
- // return Array.isArray(v) ? getRow(v) : getRow(v);
90
- // })
91
- return '';
92
- }
93
-
94
- return nValue;
95
- }, [value, aliveValue, resetItem.data, resetItem.type]); // 单独使用时抛出选中的值: val => obj || Array
62
+ return value || aliveValue;
63
+ }, [value, aliveValue]); // 单独使用时抛出选中的值
96
64
 
97
65
  var handleChange = function handleChange(val) {
98
- var nValue = val;
99
-
100
- if (['cascader'].includes(resetItem.type)) {
101
- var flatKeys = function flatKeys(arr) {
102
- return arr.map(function (v) {
103
- return v.value;
104
- });
105
- };
106
-
107
- nValue = val.map(function (v) {
108
- return Array.isArray(v) ? flatKeys(v) : v.value;
109
- });
110
- }
111
-
112
- if (['select'].includes(resetItem.type)) {
113
- nValue = val.value;
114
- }
115
-
116
- if (['checkbox'].includes(resetItem.type)) {
117
- nValue = val.map(function (v) {
118
- return v.value;
119
- });
120
- }
121
-
122
- setAliveValue === null || setAliveValue === void 0 ? void 0 : setAliveValue(nValue);
123
- onChange === null || onChange === void 0 ? void 0 : onChange(nValue);
66
+ setAliveValue === null || setAliveValue === void 0 ? void 0 : setAliveValue(val);
67
+ onChange === null || onChange === void 0 ? void 0 : onChange(val);
124
68
  }; // 重组instance
125
69
 
126
70
 
@@ -9,8 +9,9 @@ exports.default = void 0;
9
9
 
10
10
  var _react = _interopRequireDefault(require("react"));
11
11
 
12
- var LmFilterCustom = function LmFilterCustom(e) {
13
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, "LmFilterCustom");
12
+ var LmFilterCustom = function LmFilterCustom(_ref) {
13
+ var instance = _ref.instance;
14
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
14
15
  };
15
16
 
16
17
  var _default = LmFilterCustom;
@@ -18,9 +18,20 @@ var CoreOptions = function CoreOptions(_ref) {
18
18
  var state = _ref.state,
19
19
  dispatch = _ref.dispatch,
20
20
  props = _ref.props;
21
- var onChange = props.onChange; // 设置筛选的值 item => Object || Array => [{label: '', value: ''}, ...]
21
+ var onChange = props.onChange,
22
+ dataSource = props.dataSource; // 根据字段查找过滤的数据, 不存在时返回默认值
23
+
24
+ var getFilterValue = function getFilterValue(_ref2) {
25
+ var field = _ref2.field,
26
+ type = _ref2.type;
27
+ var defaultValue = (0, _utils.getValueForType)(type);
28
+ return state.basicFilter[field] || defaultValue;
29
+ }; // 设置筛选的值 item => String || Array => ['', '', ...]
30
+
22
31
 
23
32
  var setFilterValue = function setFilterValue(item, field) {
33
+ var _Object$entries;
34
+
24
35
  var basicFilter = (0, _objectSpread3.default)((0, _objectSpread3.default)({}, state.basicFilter), {}, (0, _defineProperty2.default)({}, field, item));
25
36
 
26
37
  if (!(0, _utils.getIsHas)(item)) {
@@ -32,40 +43,69 @@ var CoreOptions = function CoreOptions(_ref) {
32
43
  type: 'changeBasicFilter',
33
44
  basicFilter: basicFilter
34
45
  });
35
-
36
- var formatVK = function formatVK() {
37
- var obj = {};
38
- Object.entries(basicFilter).forEach(function (item) {
39
- if (Array.isArray(item[1])) {
40
- obj[item[0]] = item[1].map(function (v) {
41
- return v.value;
42
- });
43
- return;
44
- }
45
-
46
- obj[item[0]] = item[1].value;
47
- });
48
- return obj;
49
- }; // 触发外部事件
50
-
46
+ dispatch({
47
+ type: 'changeComplexFilter',
48
+ complexFilter: {}
49
+ }); // 基础筛选清空高级筛选
50
+ // 抛出给外部存储
51
+
52
+ var filterQuery = (_Object$entries = Object.entries(basicFilter)) === null || _Object$entries === void 0 ? void 0 : _Object$entries.map(function (v) {
53
+ return {
54
+ fieldName: v[0],
55
+ value: v[1],
56
+ operator: 'contains'
57
+ };
58
+ }); // 触发外部事件
51
59
 
52
60
  onChange === null || onChange === void 0 ? void 0 : onChange({
53
61
  basicFilter: basicFilter,
54
- formatVK: formatVK()
62
+ filterQuery: filterQuery,
63
+ type: 'basic'
55
64
  });
56
- }; // 根据字段查找过滤的数据, 不存在时返回默认值
65
+ }; // 读取缓存
57
66
 
58
67
 
59
- var getFilterValue = function getFilterValue(_ref2) {
60
- var field = _ref2.field,
61
- type = _ref2.type;
62
- var defaultValue = (0, _utils.getValueForType)(type);
63
- return state.basicFilter[field] || defaultValue;
68
+ var setLocalization = function setLocalization() {
69
+ var localization = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : props.localization;
70
+ var globalQuery = localization.globalQuery,
71
+ filterQuery = localization.filterQuery;
72
+
73
+ if (filterQuery === null || filterQuery === void 0 ? void 0 : filterQuery.filter) {
74
+ // 初始化基础查询缓存
75
+ var basicFilter = filterQuery === null || filterQuery === void 0 ? void 0 : filterQuery.filter.reduce(function (pre, cur) {
76
+ // 查找改数据是否展示
77
+ var someData = dataSource.some(function (v) {
78
+ if (cur.fieldName === v.field) {
79
+ var isHidden = !v.show && typeof v.show === 'boolean';
80
+ return !isHidden;
81
+ }
82
+
83
+ return false;
84
+ });
85
+
86
+ if ((0, _utils.getIsHas)(cur.value) && someData) {
87
+ pre[cur.fieldName] = cur.value;
88
+ }
89
+
90
+ return pre;
91
+ }, {});
92
+ dispatch({
93
+ type: 'changeBasicFilter',
94
+ basicFilter: basicFilter
95
+ });
96
+ }
64
97
  };
65
98
 
66
99
  return {
100
+ getState: function getState() {
101
+ return state;
102
+ },
103
+ getBasicFilter: function getBasicFilter() {
104
+ return state.basicFilter;
105
+ },
106
+ getFilterValue: getFilterValue,
67
107
  setFilterValue: setFilterValue,
68
- getFilterValue: getFilterValue
108
+ setLocalization: setLocalization
69
109
  };
70
110
  };
71
111
 
@@ -14,6 +14,7 @@
14
14
  display: inline-flex;
15
15
  }
16
16
  .lm_filter_basic_item {
17
+ font-size: 12px;
17
18
  display: inline-flex;
18
19
  align-items: center;
19
20
  line-height: 1;
@@ -65,7 +66,7 @@
65
66
  }
66
67
  .ant-dropdown.filter_dropdown_container_date .ant-picker {
67
68
  visibility: hidden;
68
- transform: translateY(-28px);
69
+ transform: translateY(-36px);
69
70
  }
70
71
  .ant-dropdown .filter_dropdown {
71
72
  display: flex;
@@ -5,14 +5,12 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.getFlat = getFlat;
8
+ exports.getFlatItem = getFlatItem;
9
9
  exports.getIsHas = getIsHas;
10
10
  exports.getRanges = getRanges;
11
11
  exports.getValueForType = getValueForType;
12
12
  exports.uniqueFunc = uniqueFunc;
13
13
 
14
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/toConsumableArray"));
15
-
16
14
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/typeof"));
17
15
 
18
16
  var _dayjs = _interopRequireDefault(require("dayjs"));
@@ -44,7 +42,9 @@ function getValueForType(type) {
44
42
  function uniqueFunc(arr, guid) {
45
43
  var res = new Map();
46
44
  return arr.filter(function (item) {
47
- return !res.has(item[guid]) && res.set(item[guid], 1);
45
+ var isHas = (item === null || item === void 0 ? void 0 : item[guid]) || typeof (item === null || item === void 0 ? void 0 : item[guid]) === 'number';
46
+ var resetItem = isHas ? item === null || item === void 0 ? void 0 : item[guid] : item;
47
+ return !res.has(resetItem) && res.set(resetItem, 1);
48
48
  });
49
49
  } // 获取最近的时间段
50
50
 
@@ -55,17 +55,66 @@ function getRanges() {
55
55
  '近一月': [(0, _dayjs.default)().subtract(1, 'month').format('YYYY-MM-DD'), (0, _dayjs.default)().format('YYYY-MM-DD')],
56
56
  '近一年': [(0, _dayjs.default)().subtract(1, 'year').format('YYYY-MM-DD'), (0, _dayjs.default)().format('YYYY-MM-DD')]
57
57
  };
58
- }
59
-
60
- function getFlat(arr) {
61
- var nValue = [];
62
- arr.forEach(function (item) {
63
- if (item.length > 1) {
64
- var suf = item.splice(1);
65
- getFlat(suf);
58
+ } // 级联选择器获取深层结构数据 type: 遍历子/父结构
59
+
60
+
61
+ function getFlatItem(filterValues, originArr) {
62
+ var type = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'children';
63
+ var nArr = []; // 获取子级项
64
+
65
+ var getChildren = function getChildren(item) {
66
+ var _item$children;
67
+
68
+ if (type === 'parent') {
69
+ nArr.push(item);
70
+ return;
71
+ }
72
+
73
+ if (item === null || item === void 0 ? void 0 : (_item$children = item.children) === null || _item$children === void 0 ? void 0 : _item$children.length) {
74
+ item === null || item === void 0 ? void 0 : item.children.forEach(function (v) {
75
+ return getChildren(v);
76
+ });
66
77
  } else {
67
- nValue.push.apply(nValue, (0, _toConsumableArray2.default)(item[0].children));
78
+ nArr.push(item);
79
+ }
80
+ }; // 检测到三级结构
81
+
82
+
83
+ filterValues.forEach(function (item) {
84
+ if (item.length === 1) {
85
+ var findItem = originArr.find(function (v) {
86
+ return v.value === item[item.length - 1];
87
+ });
88
+ getChildren(findItem);
89
+ }
90
+
91
+ if (item.length === 2) {
92
+ var findArr1 = originArr.find(function (v) {
93
+ return v.value === item[0];
94
+ }).children;
95
+
96
+ var _findItem = findArr1.find(function (v) {
97
+ return v.value === item[item.length - 1];
98
+ });
99
+
100
+ getChildren(_findItem);
101
+ }
102
+
103
+ if (item.length === 3) {
104
+ var _findArr = originArr.find(function (v) {
105
+ return v.value === item[0];
106
+ }).children;
107
+
108
+ var findArr2 = _findArr.find(function (v) {
109
+ return v.value === item[1];
110
+ }).children;
111
+
112
+ var _findItem2 = findArr2.find(function (v) {
113
+ return v.value === item[item.length - 1];
114
+ });
115
+
116
+ nArr.push(_findItem2);
68
117
  }
69
118
  });
70
- return nValue;
119
+ return nArr;
71
120
  }
@@ -18,13 +18,16 @@ var _complexFilter = _interopRequireDefault(require("../complexFilter"));
18
18
  // 筛选组合
19
19
  var LmFilter = /*#__PURE__*/_react.default.memo(function (_ref) {
20
20
  var instance = _ref.instance;
21
+ var enableBaisc = instance.enableBaisc,
22
+ enableComplex = instance.enableComplex,
23
+ enableCustom = instance.enableCustom;
21
24
  return /*#__PURE__*/_react.default.createElement("div", {
22
25
  className: "lm_filter"
23
- }, /*#__PURE__*/_react.default.createElement(_customFilter.default, {
26
+ }, enableCustom && /*#__PURE__*/_react.default.createElement(_customFilter.default, {
24
27
  instance: instance
25
- }), /*#__PURE__*/_react.default.createElement(_baseFilter.default, {
28
+ }), enableBaisc && /*#__PURE__*/_react.default.createElement(_baseFilter.default, {
26
29
  instance: instance
27
- }), /*#__PURE__*/_react.default.createElement(_complexFilter.default, {
30
+ }), enableComplex && /*#__PURE__*/_react.default.createElement(_complexFilter.default, {
28
31
  instance: instance
29
32
  }));
30
33
  });