@quansitech/antd-admin 1.1.48 → 1.2.0

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.
@@ -118,6 +118,7 @@ export default function (props) {
118
118
  }
119
119
  realColumns === null || realColumns === void 0 || realColumns.map(function (column) {
120
120
  switch (column.valueType) {
121
+ case 'date':
121
122
  case 'dateTime':
122
123
  data = data.map(function (row) {
123
124
  var v = row[column.dataIndex];
@@ -191,15 +192,88 @@ export default function (props) {
191
192
  setColumns = _useState24[1];
192
193
  var realColumns = useMemo(function () {
193
194
  var _cloneDeep;
194
- return (_cloneDeep = cloneDeep(columns)) === null || _cloneDeep === void 0 ? void 0 : _cloneDeep.map(function (c) {
195
- c.key = c.dataIndex;
196
- commonHandler(c);
197
- if (container.schemaHandler[c.valueType]) {
198
- c = container.schemaHandler[c.valueType](c);
195
+ var processedColumns = [];
196
+
197
+ /**
198
+ * 创建搜索用的range column
199
+ */
200
+ var createSearchRangeColumn = function createSearchRangeColumn(column, rangeType) {
201
+ return _objectSpread(_objectSpread({}, column), {}, {
202
+ dataIndex: column.dataIndex + '_range',
203
+ valueType: rangeType,
204
+ title: typeof column.title === 'string' ? "".concat(column.title, "\u8303\u56F4") : column.title,
205
+ hideInTable: true,
206
+ search: {
207
+ transform: function transform(value) {
208
+ return value ? value.join(' - ') : value;
209
+ }
210
+ }
211
+ });
212
+ };
213
+
214
+ /**
215
+ * 创建表格显示用的column(禁用搜索)
216
+ */
217
+ var createTableColumn = function createTableColumn(column) {
218
+ return _objectSpread(_objectSpread({}, column), {}, {
219
+ search: false
220
+ });
221
+ };
222
+
223
+ /**
224
+ * 处理普通column
225
+ */
226
+ var processNormalColumn = function processNormalColumn(column, processedColumns) {
227
+ if (container.schemaHandler[column.valueType]) {
228
+ var processedColumn = container.schemaHandler[column.valueType](column);
229
+ processedColumns.push(processedColumn);
230
+ } else {
231
+ processedColumns.push(column);
232
+ }
233
+ };
234
+ (_cloneDeep = cloneDeep(columns)) === null || _cloneDeep === void 0 || _cloneDeep.forEach(function (column) {
235
+ // 设置column的key
236
+ column.key = column.dataIndex;
237
+ commonHandler(column);
238
+
239
+ // 处理date和datetime类型的搜索栏range转换
240
+ if (column.search !== false && (column.valueType === 'date' || column.valueType === 'dateTime')) {
241
+ var rangeType = column.valueType === 'date' ? 'dateRange' : 'dateTimeRange';
242
+
243
+ // 创建搜索专用的range column
244
+ var searchColumn = createSearchRangeColumn(column, rangeType);
245
+
246
+ // 创建表格显示用的原column(禁用搜索)
247
+ var tableColumn = createTableColumn(column);
248
+ processedColumns.push(searchColumn, tableColumn);
249
+ } else {
250
+ // 处理普通column
251
+ processNormalColumn(column, processedColumns);
199
252
  }
200
- return c;
201
253
  });
254
+ return processedColumns;
202
255
  }, [columns]);
256
+ var handleSearchRangeValue = function handleSearchRangeValue(processedValue) {
257
+ Object.keys(processedValue).forEach(function (key) {
258
+ var c = props.columns.find(function (c) {
259
+ return c.dataIndex === key;
260
+ });
261
+ if ((c === null || c === void 0 ? void 0 : c.valueType) === 'date' || (c === null || c === void 0 ? void 0 : c.valueType) === 'dateTime') {
262
+ var value = processedValue[key];
263
+ if (typeof value === 'string' && value.includes(' - ')) {
264
+ processedValue[key] = value.split(' - ');
265
+ }
266
+ }
267
+ });
268
+ };
269
+
270
+ // 处理搜索表单的初始值转换(将字符串格式的日期范围转换为数组)
271
+ var processedDefaultSearchValue = useMemo(function () {
272
+ if (!props.defaultSearchValue) return props.defaultSearchValue;
273
+ var processedValue = _objectSpread({}, props.defaultSearchValue);
274
+ handleSearchRangeValue(processedValue);
275
+ return processedValue;
276
+ }, [props.defaultSearchValue]);
203
277
  var modalContext = useContext(ModalContext);
204
278
  var tabsContext = useContext(TabsContext);
205
279
  useEffect(function () {
@@ -233,6 +307,7 @@ export default function (props) {
233
307
  /^\d+$/.test(query[key]) && (query[key] = parseInt(query[key]));
234
308
  }
235
309
  });
310
+ handleSearchRangeValue(query);
236
311
  (_formRef$current = formRef.current) === null || _formRef$current === void 0 || _formRef$current.setFieldsValue(query);
237
312
  setLastQuery(query);
238
313
  }
@@ -279,7 +354,7 @@ export default function (props) {
279
354
  reload: true
280
355
  },
281
356
  form: {
282
- initialValues: props.defaultSearchValue,
357
+ initialValues: processedDefaultSearchValue,
283
358
  onValuesChange: function onValuesChange(changedValues, allValues) {
284
359
  var _formRef$current2;
285
360
  var submit = realColumns.filter(function (c) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quansitech/antd-admin",
3
- "version": "1.1.48",
3
+ "version": "1.2.0",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist"