@nokecy/qc-ui 1.0.81 → 1.0.83

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 (85) hide show
  1. package/dist/cjs/ag-grid-plus/_utils/processColumnGroups.d.ts +9 -0
  2. package/dist/cjs/ag-grid-plus/_utils/processColumnGroups.js +43 -0
  3. package/dist/cjs/ag-grid-plus/ag-gridPlus.js +245 -130
  4. package/dist/cjs/ag-grid-plus/querySchemes/components/QuerySchemesManager.js +131 -79
  5. package/dist/cjs/ag-grid-plus/schemes/components/SchemeSelector.d.ts +1 -1
  6. package/dist/cjs/ag-grid-plus/schemes/components/SchemeSelector.js +1 -1
  7. package/dist/cjs/ag-grid-plus/schemes/hooks/useColumnSchemes.js +60 -14
  8. package/dist/cjs/ag-grid-plus/schemes/storage/localStorageAdapter.js +12 -26
  9. package/dist/cjs/ag-grid-plus/schemes/types.d.ts +8 -5
  10. package/dist/cjs/ag-grid-plus/schemes/utils/validator.js +14 -18
  11. package/dist/cjs/ag-grid-plus/setting/ColumnConfigForm.d.ts +16 -0
  12. package/dist/cjs/ag-grid-plus/setting/ColumnConfigForm.js +348 -0
  13. package/dist/cjs/ag-grid-plus/setting/ColumnConfigTable.d.ts +20 -0
  14. package/dist/cjs/ag-grid-plus/setting/ColumnConfigTable.js +940 -0
  15. package/dist/cjs/ag-grid-plus/setting/ColumnSetting.d.ts +1 -1
  16. package/dist/cjs/ag-grid-plus/setting/ColumnSetting.js +210 -250
  17. package/dist/cjs/ag-grid-plus/setting/MoveNodeModal.d.ts +15 -0
  18. package/dist/cjs/ag-grid-plus/setting/MoveNodeModal.js +160 -0
  19. package/dist/cjs/ag-grid-plus/setting/NameColumnRenderer.d.ts +18 -0
  20. package/dist/cjs/ag-grid-plus/setting/NameColumnRenderer.js +94 -0
  21. package/dist/cjs/ag-grid-plus/setting/columnGroupTypes.d.ts +59 -0
  22. package/dist/cjs/ag-grid-plus/setting/columnGroupTypes.js +5 -0
  23. package/dist/cjs/ag-grid-plus/setting/columnGroupUtils.d.ts +75 -0
  24. package/dist/cjs/ag-grid-plus/setting/columnGroupUtils.js +281 -0
  25. package/dist/cjs/ag-grid-plus/setting/index.d.ts +2 -1
  26. package/dist/cjs/ag-grid-plus/setting/index.js +5 -13
  27. package/dist/cjs/ag-grid-plus/storage/SchemeSyncManager.d.ts +2 -1
  28. package/dist/cjs/ag-grid-plus/storage/SchemeSyncManager.js +11 -8
  29. package/dist/cjs/ag-grid-plus/types.d.ts +2 -0
  30. package/dist/cjs/array-table/index.js +30 -118
  31. package/dist/cjs/draggableModal/index.d.ts +1 -1
  32. package/dist/cjs/draggableModal/index.js +251 -25
  33. package/dist/cjs/draggableModal/style.less +185 -12
  34. package/dist/esm/ag-grid-plus/_utils/processColumnGroups.d.ts +9 -0
  35. package/dist/esm/ag-grid-plus/_utils/processColumnGroups.js +44 -0
  36. package/dist/esm/ag-grid-plus/ag-gridPlus.js +245 -130
  37. package/dist/esm/ag-grid-plus/querySchemes/components/QuerySchemesManager.js +131 -79
  38. package/dist/esm/ag-grid-plus/schemes/components/SchemeSelector.d.ts +1 -1
  39. package/dist/esm/ag-grid-plus/schemes/components/SchemeSelector.js +1 -1
  40. package/dist/esm/ag-grid-plus/schemes/hooks/useColumnSchemes.js +60 -14
  41. package/dist/esm/ag-grid-plus/schemes/storage/localStorageAdapter.js +13 -27
  42. package/dist/esm/ag-grid-plus/schemes/types.d.ts +8 -5
  43. package/dist/esm/ag-grid-plus/schemes/utils/validator.js +14 -18
  44. package/dist/esm/ag-grid-plus/setting/ColumnConfigForm.d.ts +16 -0
  45. package/dist/esm/ag-grid-plus/setting/ColumnConfigForm.js +338 -0
  46. package/dist/esm/ag-grid-plus/setting/ColumnConfigTable.d.ts +20 -0
  47. package/dist/esm/ag-grid-plus/setting/ColumnConfigTable.js +932 -0
  48. package/dist/esm/ag-grid-plus/setting/ColumnSetting.d.ts +1 -1
  49. package/dist/esm/ag-grid-plus/setting/ColumnSetting.js +209 -249
  50. package/dist/esm/ag-grid-plus/setting/MoveNodeModal.d.ts +15 -0
  51. package/dist/esm/ag-grid-plus/setting/MoveNodeModal.js +150 -0
  52. package/dist/esm/ag-grid-plus/setting/NameColumnRenderer.d.ts +18 -0
  53. package/dist/esm/ag-grid-plus/setting/NameColumnRenderer.js +87 -0
  54. package/dist/esm/ag-grid-plus/setting/columnGroupTypes.d.ts +59 -0
  55. package/dist/esm/ag-grid-plus/setting/columnGroupTypes.js +1 -0
  56. package/dist/esm/ag-grid-plus/setting/columnGroupUtils.d.ts +75 -0
  57. package/dist/esm/ag-grid-plus/setting/columnGroupUtils.js +265 -0
  58. package/dist/esm/ag-grid-plus/setting/index.d.ts +2 -1
  59. package/dist/esm/ag-grid-plus/setting/index.js +5 -13
  60. package/dist/esm/ag-grid-plus/storage/SchemeSyncManager.d.ts +2 -1
  61. package/dist/esm/ag-grid-plus/storage/SchemeSyncManager.js +11 -8
  62. package/dist/esm/ag-grid-plus/types.d.ts +2 -0
  63. package/dist/esm/array-table/index.js +31 -119
  64. package/dist/esm/draggableModal/index.d.ts +1 -1
  65. package/dist/esm/draggableModal/index.js +252 -27
  66. package/dist/esm/draggableModal/style.less +185 -12
  67. package/dist/umd/qc-ui.min.css +1 -1
  68. package/dist/umd/qc-ui.min.js +1 -1
  69. package/package.json +1 -1
  70. package/dist/cjs/ag-grid-plus/gridManager/index.d.ts +0 -7
  71. package/dist/cjs/ag-grid-plus/gridManager/index.js +0 -40
  72. package/dist/cjs/ag-grid-plus/querySchemes/hooks/useQuerySchemes.refactored.d.ts +0 -7
  73. package/dist/cjs/ag-grid-plus/querySchemes/hooks/useQuerySchemes.refactored.js +0 -32
  74. package/dist/cjs/ag-grid-plus/schemes/hooks/useColumnSchemes.refactored.d.ts +0 -7
  75. package/dist/cjs/ag-grid-plus/schemes/hooks/useColumnSchemes.refactored.js +0 -32
  76. package/dist/cjs/ag-grid-plus/setting/diySetting/index.d.ts +0 -10
  77. package/dist/cjs/ag-grid-plus/setting/diySetting/index.js +0 -268
  78. package/dist/esm/ag-grid-plus/gridManager/index.d.ts +0 -7
  79. package/dist/esm/ag-grid-plus/gridManager/index.js +0 -35
  80. package/dist/esm/ag-grid-plus/querySchemes/hooks/useQuerySchemes.refactored.d.ts +0 -7
  81. package/dist/esm/ag-grid-plus/querySchemes/hooks/useQuerySchemes.refactored.js +0 -27
  82. package/dist/esm/ag-grid-plus/schemes/hooks/useColumnSchemes.refactored.d.ts +0 -7
  83. package/dist/esm/ag-grid-plus/schemes/hooks/useColumnSchemes.refactored.js +0 -27
  84. package/dist/esm/ag-grid-plus/setting/diySetting/index.d.ts +0 -10
  85. package/dist/esm/ag-grid-plus/setting/diySetting/index.js +0 -259
@@ -188,76 +188,104 @@ export var QuerySchemesManager = function QuerySchemesManager(_ref2) {
188
188
  /**
189
189
  * 应用当前顺序
190
190
  */
191
- var handleApplyOrder = useCallback(function () {
192
- onOrderChange(editingOrder);
193
- message.success('已应用新顺序');
194
- }, [editingOrder, onOrderChange]);
191
+ var handleApplyOrder = useCallback( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
192
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
193
+ while (1) switch (_context.prev = _context.next) {
194
+ case 0:
195
+ _context.prev = 0;
196
+ if (!currentScheme) {
197
+ _context.next = 4;
198
+ break;
199
+ }
200
+ _context.next = 4;
201
+ return saveScheme({
202
+ itemsOrder: editingOrder
203
+ });
204
+ case 4:
205
+ // 应用顺序到表单
206
+ onOrderChange(editingOrder);
207
+ message.success('已应用新顺序');
208
+
209
+ // 关闭弹窗,让用户看到效果
210
+ onClose();
211
+ _context.next = 12;
212
+ break;
213
+ case 9:
214
+ _context.prev = 9;
215
+ _context.t0 = _context["catch"](0);
216
+ message.error(_context.t0.message || '应用失败');
217
+ case 12:
218
+ case "end":
219
+ return _context.stop();
220
+ }
221
+ }, _callee, null, [[0, 9]]);
222
+ })), [editingOrder, onOrderChange, currentScheme, saveScheme, onClose]);
195
223
 
196
224
  /**
197
225
  * 保存为新方案
198
226
  */
199
- var handleSaveAsNew = useCallback( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
200
- return _regeneratorRuntime().wrap(function _callee$(_context) {
201
- while (1) switch (_context.prev = _context.next) {
227
+ var handleSaveAsNew = useCallback( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
228
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
229
+ while (1) switch (_context2.prev = _context2.next) {
202
230
  case 0:
203
231
  if (schemeName.trim()) {
204
- _context.next = 3;
232
+ _context2.next = 3;
205
233
  break;
206
234
  }
207
235
  message.warning('请输入方案名称');
208
- return _context.abrupt("return");
236
+ return _context2.abrupt("return");
209
237
  case 3:
210
- _context.prev = 3;
211
- _context.next = 6;
238
+ _context2.prev = 3;
239
+ _context2.next = 6;
212
240
  return createScheme(schemeName, editingOrder);
213
241
  case 6:
214
242
  message.success('保存成功');
215
243
  setSchemeName('');
216
- _context.next = 13;
244
+ _context2.next = 13;
217
245
  break;
218
246
  case 10:
219
- _context.prev = 10;
220
- _context.t0 = _context["catch"](3);
221
- message.error(_context.t0.message || '保存失败');
247
+ _context2.prev = 10;
248
+ _context2.t0 = _context2["catch"](3);
249
+ message.error(_context2.t0.message || '保存失败');
222
250
  case 13:
223
251
  case "end":
224
- return _context.stop();
252
+ return _context2.stop();
225
253
  }
226
- }, _callee, null, [[3, 10]]);
254
+ }, _callee2, null, [[3, 10]]);
227
255
  })), [schemeName, editingOrder, createScheme]);
228
256
 
229
257
  /**
230
258
  * 更新当前方案
231
259
  */
232
- var handleUpdateCurrent = useCallback( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
233
- return _regeneratorRuntime().wrap(function _callee2$(_context2) {
234
- while (1) switch (_context2.prev = _context2.next) {
260
+ var handleUpdateCurrent = useCallback( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
261
+ return _regeneratorRuntime().wrap(function _callee3$(_context3) {
262
+ while (1) switch (_context3.prev = _context3.next) {
235
263
  case 0:
236
264
  if (currentScheme) {
237
- _context2.next = 3;
265
+ _context3.next = 3;
238
266
  break;
239
267
  }
240
268
  message.warning('请先选择一个方案');
241
- return _context2.abrupt("return");
269
+ return _context3.abrupt("return");
242
270
  case 3:
243
- _context2.prev = 3;
244
- _context2.next = 6;
271
+ _context3.prev = 3;
272
+ _context3.next = 6;
245
273
  return saveScheme({
246
274
  itemsOrder: editingOrder
247
275
  });
248
276
  case 6:
249
277
  message.success('更新成功');
250
- _context2.next = 12;
278
+ _context3.next = 12;
251
279
  break;
252
280
  case 9:
253
- _context2.prev = 9;
254
- _context2.t0 = _context2["catch"](3);
255
- message.error(_context2.t0.message || '更新失败');
281
+ _context3.prev = 9;
282
+ _context3.t0 = _context3["catch"](3);
283
+ message.error(_context3.t0.message || '更新失败');
256
284
  case 12:
257
285
  case "end":
258
- return _context2.stop();
286
+ return _context3.stop();
259
287
  }
260
- }, _callee2, null, [[3, 9]]);
288
+ }, _callee3, null, [[3, 9]]);
261
289
  })), [currentScheme, editingOrder, saveScheme]);
262
290
 
263
291
  /**
@@ -272,18 +300,18 @@ export var QuerySchemesManager = function QuerySchemesManager(_ref2) {
272
300
  /**
273
301
  * 保存编辑
274
302
  */
275
- var handleSaveEdit = useCallback( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
276
- return _regeneratorRuntime().wrap(function _callee3$(_context3) {
277
- while (1) switch (_context3.prev = _context3.next) {
303
+ var handleSaveEdit = useCallback( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
304
+ return _regeneratorRuntime().wrap(function _callee4$(_context4) {
305
+ while (1) switch (_context4.prev = _context4.next) {
278
306
  case 0:
279
307
  if (editingId) {
280
- _context3.next = 2;
308
+ _context4.next = 2;
281
309
  break;
282
310
  }
283
- return _context3.abrupt("return");
311
+ return _context4.abrupt("return");
284
312
  case 2:
285
- _context3.prev = 2;
286
- _context3.next = 5;
313
+ _context4.prev = 2;
314
+ _context4.next = 5;
287
315
  return updateScheme(editingId, {
288
316
  name: editingName.trim(),
289
317
  description: editingDescription.trim() || undefined
@@ -291,17 +319,17 @@ export var QuerySchemesManager = function QuerySchemesManager(_ref2) {
291
319
  case 5:
292
320
  message.success('更新成功');
293
321
  setEditingId(null);
294
- _context3.next = 12;
322
+ _context4.next = 12;
295
323
  break;
296
324
  case 9:
297
- _context3.prev = 9;
298
- _context3.t0 = _context3["catch"](2);
299
- message.error(_context3.t0.message || '更新失败');
325
+ _context4.prev = 9;
326
+ _context4.t0 = _context4["catch"](2);
327
+ message.error(_context4.t0.message || '更新失败');
300
328
  case 12:
301
329
  case "end":
302
- return _context3.stop();
330
+ return _context4.stop();
303
331
  }
304
- }, _callee3, null, [[2, 9]]);
332
+ }, _callee4, null, [[2, 9]]);
305
333
  })), [editingId, editingName, editingDescription, updateScheme]);
306
334
 
307
335
  /**
@@ -317,29 +345,29 @@ export var QuerySchemesManager = function QuerySchemesManager(_ref2) {
317
345
  * 删除方案
318
346
  */
319
347
  var handleDelete = useCallback( /*#__PURE__*/function () {
320
- var _ref6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(schemeId, schemeName) {
321
- return _regeneratorRuntime().wrap(function _callee4$(_context4) {
322
- while (1) switch (_context4.prev = _context4.next) {
348
+ var _ref7 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(schemeId, schemeName) {
349
+ return _regeneratorRuntime().wrap(function _callee5$(_context5) {
350
+ while (1) switch (_context5.prev = _context5.next) {
323
351
  case 0:
324
- _context4.prev = 0;
325
- _context4.next = 3;
352
+ _context5.prev = 0;
353
+ _context5.next = 3;
326
354
  return deleteScheme(schemeId);
327
355
  case 3:
328
356
  message.success("\u65B9\u6848\"".concat(schemeName, "\"\u5DF2\u5220\u9664"));
329
- _context4.next = 9;
357
+ _context5.next = 9;
330
358
  break;
331
359
  case 6:
332
- _context4.prev = 6;
333
- _context4.t0 = _context4["catch"](0);
334
- message.error(_context4.t0.message || '删除失败');
360
+ _context5.prev = 6;
361
+ _context5.t0 = _context5["catch"](0);
362
+ message.error(_context5.t0.message || '删除失败');
335
363
  case 9:
336
364
  case "end":
337
- return _context4.stop();
365
+ return _context5.stop();
338
366
  }
339
- }, _callee4, null, [[0, 6]]);
367
+ }, _callee5, null, [[0, 6]]);
340
368
  }));
341
369
  return function (_x, _x2) {
342
- return _ref6.apply(this, arguments);
370
+ return _ref7.apply(this, arguments);
343
371
  };
344
372
  }(), [deleteScheme]);
345
373
 
@@ -347,29 +375,29 @@ export var QuerySchemesManager = function QuerySchemesManager(_ref2) {
347
375
  * 设置为默认方案
348
376
  */
349
377
  var handleSetDefault = useCallback( /*#__PURE__*/function () {
350
- var _ref7 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(schemeId, schemeName) {
351
- return _regeneratorRuntime().wrap(function _callee5$(_context5) {
352
- while (1) switch (_context5.prev = _context5.next) {
378
+ var _ref8 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6(schemeId, schemeName) {
379
+ return _regeneratorRuntime().wrap(function _callee6$(_context6) {
380
+ while (1) switch (_context6.prev = _context6.next) {
353
381
  case 0:
354
- _context5.prev = 0;
355
- _context5.next = 3;
382
+ _context6.prev = 0;
383
+ _context6.next = 3;
356
384
  return setDefaultScheme(schemeId);
357
385
  case 3:
358
386
  message.success("\u5DF2\u5C06\"".concat(schemeName, "\"\u8BBE\u4E3A\u9ED8\u8BA4\u65B9\u6848"));
359
- _context5.next = 9;
387
+ _context6.next = 9;
360
388
  break;
361
389
  case 6:
362
- _context5.prev = 6;
363
- _context5.t0 = _context5["catch"](0);
364
- message.error(_context5.t0.message || '设置失败');
390
+ _context6.prev = 6;
391
+ _context6.t0 = _context6["catch"](0);
392
+ message.error(_context6.t0.message || '设置失败');
365
393
  case 9:
366
394
  case "end":
367
- return _context5.stop();
395
+ return _context6.stop();
368
396
  }
369
- }, _callee5, null, [[0, 6]]);
397
+ }, _callee6, null, [[0, 6]]);
370
398
  }));
371
399
  return function (_x3, _x4) {
372
- return _ref7.apply(this, arguments);
400
+ return _ref8.apply(this, arguments);
373
401
  };
374
402
  }(), [setDefaultScheme]);
375
403
 
@@ -377,13 +405,13 @@ export var QuerySchemesManager = function QuerySchemesManager(_ref2) {
377
405
  * 应用方案
378
406
  */
379
407
  var handleApply = useCallback( /*#__PURE__*/function () {
380
- var _ref8 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6(schemeId) {
408
+ var _ref9 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7(schemeId) {
381
409
  var scheme;
382
- return _regeneratorRuntime().wrap(function _callee6$(_context6) {
383
- while (1) switch (_context6.prev = _context6.next) {
410
+ return _regeneratorRuntime().wrap(function _callee7$(_context7) {
411
+ while (1) switch (_context7.prev = _context7.next) {
384
412
  case 0:
385
- _context6.prev = 0;
386
- _context6.next = 3;
413
+ _context7.prev = 0;
414
+ _context7.next = 3;
387
415
  return loadScheme(schemeId);
388
416
  case 3:
389
417
  scheme = schemes.find(function (s) {
@@ -393,20 +421,20 @@ export var QuerySchemesManager = function QuerySchemesManager(_ref2) {
393
421
  onOrderChange(scheme.itemsOrder);
394
422
  message.success('方案已应用');
395
423
  }
396
- _context6.next = 10;
424
+ _context7.next = 10;
397
425
  break;
398
426
  case 7:
399
- _context6.prev = 7;
400
- _context6.t0 = _context6["catch"](0);
401
- message.error(_context6.t0.message || '应用失败');
427
+ _context7.prev = 7;
428
+ _context7.t0 = _context7["catch"](0);
429
+ message.error(_context7.t0.message || '应用失败');
402
430
  case 10:
403
431
  case "end":
404
- return _context6.stop();
432
+ return _context7.stop();
405
433
  }
406
- }, _callee6, null, [[0, 7]]);
434
+ }, _callee7, null, [[0, 7]]);
407
435
  }));
408
436
  return function (_x5) {
409
- return _ref8.apply(this, arguments);
437
+ return _ref9.apply(this, arguments);
410
438
  };
411
439
  }(), [loadScheme, schemes, onOrderChange]);
412
440
  return /*#__PURE__*/React.createElement(Modal, {
@@ -428,6 +456,30 @@ export var QuerySchemesManager = function QuerySchemesManager(_ref2) {
428
456
  children: /*#__PURE__*/React.createElement("div", {
429
457
  className: "query-order-editor"
430
458
  }, /*#__PURE__*/React.createElement("div", {
459
+ style: {
460
+ marginBottom: 16,
461
+ padding: '12px 16px',
462
+ background: currentScheme ? '#e6f7ff' : '#f5f5f5',
463
+ borderRadius: 4,
464
+ border: '1px solid',
465
+ borderColor: currentScheme ? '#91d5ff' : '#d9d9d9'
466
+ }
467
+ }, currentScheme ? /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("div", {
468
+ style: {
469
+ fontWeight: 600,
470
+ marginBottom: 4,
471
+ color: '#1890ff'
472
+ }
473
+ }, "\u5F53\u524D\u65B9\u6848: ", currentScheme.name), currentScheme.description && /*#__PURE__*/React.createElement("div", {
474
+ style: {
475
+ fontSize: 12,
476
+ color: '#666'
477
+ }
478
+ }, currentScheme.description)) : /*#__PURE__*/React.createElement("div", {
479
+ style: {
480
+ color: '#666'
481
+ }
482
+ }, "\u672A\u9009\u62E9\u65B9\u6848 - \u4F7F\u7528\u4E34\u65F6\u914D\u7F6E")), /*#__PURE__*/React.createElement("div", {
431
483
  className: "query-order-tips",
432
484
  style: {
433
485
  marginBottom: 16,
@@ -4,7 +4,7 @@ import './SchemeSelector.less';
4
4
  export interface SchemeSelectorProps {
5
5
  /** 方案管理器 */
6
6
  schemeManager: UseColumnSchemesReturn;
7
- /** 当前表格的列状态(用于创建/更新方案) */
7
+ /** 当前表格的列配置(用于创建/更新方案) */
8
8
  currentColumnState: any[];
9
9
  /** 样式类名 */
10
10
  className?: string;
@@ -125,7 +125,7 @@ export var SchemeSelector = function SchemeSelector(_ref) {
125
125
  _context3.prev = 6;
126
126
  _context3.next = 9;
127
127
  return saveScheme({
128
- columnState: currentColumnState
128
+ columnConfig: currentColumnState
129
129
  });
130
130
  case 9:
131
131
  message.success('保存成功');
@@ -70,7 +70,7 @@ export function useColumnSchemes(config) {
70
70
  * 加载方案列表
71
71
  */
72
72
  var loadSchemesList = useCallback( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
73
- var loadedSchemes, schemeToLoad, lastSchemeId;
73
+ var loadedSchemes, schemeToLoad, lastSchemeId, _schemeToLoad$columnC;
74
74
  return _regeneratorRuntime().wrap(function _callee$(_context) {
75
75
  while (1) switch (_context.prev = _context.next) {
76
76
  case 0:
@@ -111,6 +111,12 @@ export function useColumnSchemes(config) {
111
111
 
112
112
  // 3. 应用方案
113
113
  if (schemeToLoad) {
114
+ console.log('[useColumnSchemes] 加载方案完成,准备调用 onSchemeChange:', {
115
+ schemeId: schemeToLoad.id,
116
+ schemeName: schemeToLoad.name,
117
+ hasColumnConfig: !!schemeToLoad.columnConfig,
118
+ columnConfigCount: ((_schemeToLoad$columnC = schemeToLoad.columnConfig) === null || _schemeToLoad$columnC === void 0 ? void 0 : _schemeToLoad$columnC.length) || 0
119
+ });
114
120
  setCurrentScheme(schemeToLoad);
115
121
  onSchemeChange === null || onSchemeChange === void 0 || onSchemeChange(schemeToLoad);
116
122
  }
@@ -218,6 +224,7 @@ export function useColumnSchemes(config) {
218
224
  */
219
225
  var saveScheme = useCallback( /*#__PURE__*/function () {
220
226
  var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(updates) {
227
+ var _updates$columnConfig, _updates$columnConfig2, _updatedScheme$column, _updatedScheme$column2, _updatedScheme$column3;
221
228
  var nameValidation, descValidation, updatedScheme, updatedSchemes;
222
229
  return _regeneratorRuntime().wrap(function _callee4$(_context4) {
223
230
  while (1) switch (_context4.prev = _context4.next) {
@@ -229,47 +236,86 @@ export function useColumnSchemes(config) {
229
236
  console.error('[useColumnSchemes] 没有激活的方案');
230
237
  return _context4.abrupt("return");
231
238
  case 3:
239
+ console.log('[useColumnSchemes] saveScheme 被调用:', {
240
+ currentSchemeId: currentScheme.id,
241
+ currentSchemeName: currentScheme.name,
242
+ updates: updates,
243
+ hasColumnConfig: !!(updates !== null && updates !== void 0 && updates.columnConfig),
244
+ columnConfigLength: (updates === null || updates === void 0 || (_updates$columnConfig = updates.columnConfig) === null || _updates$columnConfig === void 0 ? void 0 : _updates$columnConfig.length) || 0,
245
+ columnConfigDetail: updates === null || updates === void 0 || (_updates$columnConfig2 = updates.columnConfig) === null || _updates$columnConfig2 === void 0 ? void 0 : _updates$columnConfig2.map(function (item) {
246
+ return {
247
+ type: item.type,
248
+ headerName: item.headerName,
249
+ field: item.field,
250
+ order: item.order,
251
+ parentId: item.parentId
252
+ };
253
+ })
254
+ });
255
+
256
+ // 验证更新内容
232
257
  if (!(updates !== null && updates !== void 0 && updates.name)) {
233
- _context4.next = 9;
258
+ _context4.next = 10;
234
259
  break;
235
260
  }
236
261
  nameValidation = validateSchemeName(updates.name);
237
262
  if (nameValidation.valid) {
238
- _context4.next = 7;
263
+ _context4.next = 8;
239
264
  break;
240
265
  }
241
266
  throw new Error(nameValidation.error);
242
- case 7:
267
+ case 8:
243
268
  if (!checkDuplicateName(updates.name, schemes, currentScheme.id)) {
244
- _context4.next = 9;
269
+ _context4.next = 10;
245
270
  break;
246
271
  }
247
272
  throw new Error('方案名称已存在');
248
- case 9:
273
+ case 10:
249
274
  if (!(updates !== null && updates !== void 0 && updates.description)) {
250
- _context4.next = 13;
275
+ _context4.next = 14;
251
276
  break;
252
277
  }
253
278
  descValidation = validateSchemeDescription(updates.description);
254
279
  if (descValidation.valid) {
255
- _context4.next = 13;
280
+ _context4.next = 14;
256
281
  break;
257
282
  }
258
283
  throw new Error(descValidation.error);
259
- case 13:
284
+ case 14:
260
285
  updatedScheme = _objectSpread(_objectSpread(_objectSpread({}, currentScheme), updates), {}, {
261
286
  updatedAt: Date.now()
262
287
  });
288
+ console.log('[useColumnSchemes] 准备保存的方案数据:', {
289
+ schemeId: updatedScheme.id,
290
+ schemeName: updatedScheme.name,
291
+ hasColumnConfig: !!updatedScheme.columnConfig,
292
+ columnConfigLength: ((_updatedScheme$column = updatedScheme.columnConfig) === null || _updatedScheme$column === void 0 ? void 0 : _updatedScheme$column.length) || 0,
293
+ columnConfigDetail: (_updatedScheme$column2 = updatedScheme.columnConfig) === null || _updatedScheme$column2 === void 0 ? void 0 : _updatedScheme$column2.map(function (item) {
294
+ return {
295
+ type: item.type,
296
+ headerName: item.headerName,
297
+ field: item.field,
298
+ order: item.order,
299
+ parentId: item.parentId
300
+ };
301
+ })
302
+ });
263
303
  updatedSchemes = schemes.map(function (s) {
264
304
  return s.id === currentScheme.id ? updatedScheme : s;
265
305
  });
266
- _context4.next = 17;
306
+ _context4.next = 19;
267
307
  return saveSchemesToStorage(updatedSchemes);
268
- case 17:
308
+ case 19:
269
309
  setCurrentScheme(updatedScheme);
270
310
  setIsDirty(false);
311
+ console.log('[useColumnSchemes] 方案保存完成,当前 currentScheme:', {
312
+ schemeId: updatedScheme.id,
313
+ schemeName: updatedScheme.name,
314
+ hasColumnConfig: !!updatedScheme.columnConfig,
315
+ columnConfigLength: ((_updatedScheme$column3 = updatedScheme.columnConfig) === null || _updatedScheme$column3 === void 0 ? void 0 : _updatedScheme$column3.length) || 0
316
+ });
271
317
  onSchemeSave === null || onSchemeSave === void 0 || onSchemeSave(updatedScheme);
272
- case 20:
318
+ case 23:
273
319
  case "end":
274
320
  return _context4.stop();
275
321
  }
@@ -284,7 +330,7 @@ export function useColumnSchemes(config) {
284
330
  * 创建新方案
285
331
  */
286
332
  var createScheme = useCallback( /*#__PURE__*/function () {
287
- var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(name, columnState, options) {
333
+ var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(name, columnConfig, options) {
288
334
  var nameValidation, uniqueName, newScheme, updatedSchemes;
289
335
  return _regeneratorRuntime().wrap(function _callee5$(_context5) {
290
336
  while (1) switch (_context5.prev = _context5.next) {
@@ -310,7 +356,7 @@ export function useColumnSchemes(config) {
310
356
  name: uniqueName,
311
357
  createdAt: Date.now(),
312
358
  updatedAt: Date.now(),
313
- columnState: columnState
359
+ columnConfig: columnConfig
314
360
  }, options); // 如果设置为默认方案,取消其他方案的默认标记
315
361
  updatedSchemes = schemes;
316
362
  if (newScheme.isDefault) {
@@ -7,7 +7,7 @@ function _defineProperties(target, props) { for (var i = 0; i < props.length; i+
7
7
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
8
8
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
9
9
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
10
- import { STORAGE_PREFIX, CURRENT_SCHEME_SUFFIX, LEGACY_STORAGE_PREFIX, MIGRATED_DEFAULT_SCHEME_ID, DEFAULT_SCHEME_NAME, STORAGE_MAX_SIZE } from "../constants";
10
+ import { STORAGE_PREFIX, CURRENT_SCHEME_SUFFIX, LEGACY_STORAGE_PREFIX, STORAGE_MAX_SIZE } from "../constants";
11
11
  /**
12
12
  * LocalStorage 存储适配器实现
13
13
  * 默认的方案存储方式,支持自动迁移旧数据
@@ -55,7 +55,7 @@ export var LocalStorageAdapter = /*#__PURE__*/function () {
55
55
  key: "migrateOldData",
56
56
  value: (function () {
57
57
  var _migrateOldData = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(gridId) {
58
- var oldKey, oldData, columnState, migratedScheme;
58
+ var oldKey, oldData;
59
59
  return _regeneratorRuntime().wrap(function _callee$(_context) {
60
60
  while (1) switch (_context.prev = _context.next) {
61
61
  case 0:
@@ -68,35 +68,21 @@ export var LocalStorageAdapter = /*#__PURE__*/function () {
68
68
  return _context.abrupt("return", []);
69
69
  case 4:
70
70
  _context.prev = 4;
71
- columnState = JSON.parse(oldData); // 创建默认方案
72
- migratedScheme = {
73
- id: MIGRATED_DEFAULT_SCHEME_ID,
74
- name: DEFAULT_SCHEME_NAME,
75
- isDefault: true,
76
- isSystem: true,
77
- createdAt: Date.now(),
78
- updatedAt: Date.now(),
79
- columnState: columnState,
80
- description: '由旧版本列配置自动迁移'
81
- }; // 保存到新格式
82
- _context.next = 9;
83
- return this.saveSchemes(gridId, [migratedScheme]);
84
- case 9:
85
- // 可选:保留旧数据作为备份或删除
86
- // localStorage.removeItem(oldKey);
87
-
88
- console.log("[SchemeManager] \u5DF2\u8FC1\u79FB\u65E7\u5217\u914D\u7F6E\u6570\u636E\u5230\u65B9\u6848\u7CFB\u7EDF: ".concat(gridId));
89
- return _context.abrupt("return", [migratedScheme]);
90
- case 13:
91
- _context.prev = 13;
71
+ // 注意:旧数据已无法自动迁移,因为缺少 columnConfig
72
+ // 建议手动处理或提示用户重新配置
73
+ console.warn("[SchemeManager] \u68C0\u6D4B\u5230\u65E7\u683C\u5F0F\u6570\u636E,\u4F46\u65E0\u6CD5\u81EA\u52A8\u8FC1\u79FB: ".concat(gridId));
74
+ console.warn('[SchemeManager] 请手动重新配置列方案');
75
+ return _context.abrupt("return", []);
76
+ case 10:
77
+ _context.prev = 10;
92
78
  _context.t0 = _context["catch"](4);
93
- console.error('[SchemeManager] 迁移旧数据失败:', _context.t0);
79
+ console.error('[SchemeManager] 检查旧数据失败:', _context.t0);
94
80
  return _context.abrupt("return", []);
95
- case 17:
81
+ case 14:
96
82
  case "end":
97
83
  return _context.stop();
98
84
  }
99
- }, _callee, this, [[4, 13]]);
85
+ }, _callee, this, [[4, 10]]);
100
86
  }));
101
87
  function migrateOldData(_x) {
102
88
  return _migrateOldData.apply(this, arguments);
@@ -161,7 +147,7 @@ export var LocalStorageAdapter = /*#__PURE__*/function () {
161
147
  case 9:
162
148
  schemes = JSON.parse(data); // 验证数据完整性
163
149
  return _context2.abrupt("return", schemes.filter(function (scheme) {
164
- return scheme.id && scheme.name && scheme.columnState && Array.isArray(scheme.columnState);
150
+ return scheme.id && scheme.name && scheme.columnConfig && Array.isArray(scheme.columnConfig);
165
151
  }));
166
152
  case 13:
167
153
  _context2.prev = 13;
@@ -1,4 +1,5 @@
1
1
  import { ColumnState } from 'ag-grid-community';
2
+ import type { FlatColumnItem } from '../setting/columnGroupTypes';
2
3
  /**
3
4
  * 列配置方案数据结构
4
5
  */
@@ -15,8 +16,10 @@ export interface ColumnScheme {
15
16
  createdAt: number;
16
17
  /** 更新时间戳 */
17
18
  updatedAt: number;
18
- /** AG-Grid 列状态数据 */
19
- columnState: ColumnState[];
19
+ /** 完整的列配置数据(包含分组层级结构) */
20
+ columnConfig: FlatColumnItem[];
21
+ /** AG-Grid 过滤器模型数据(可选) */
22
+ filterModel?: any;
20
23
  /** 方案描述(可选) */
21
24
  description?: string;
22
25
  /** 标签分类(可选,扩展功能) */
@@ -106,9 +109,9 @@ export interface UseColumnSchemesReturn {
106
109
  /** 保存当前方案(更新现有方案) */
107
110
  saveScheme: (updates?: Partial<ColumnScheme>) => Promise<void>;
108
111
  /** 创建新方案 */
109
- createScheme: (name: string, columnState: ColumnState[], options?: Partial<ColumnScheme>) => Promise<ColumnScheme>;
110
- /** 更新方案信息(不影响 columnState) */
111
- updateScheme: (schemeId: string, updates: Partial<Omit<ColumnScheme, 'id' | 'columnState'>>) => Promise<void>;
112
+ createScheme: (name: string, columnConfig: FlatColumnItem[], options?: Partial<ColumnScheme>) => Promise<ColumnScheme>;
113
+ /** 更新方案信息(不影响 columnConfig) */
114
+ updateScheme: (schemeId: string, updates: Partial<Omit<ColumnScheme, 'id' | 'columnConfig'>>) => Promise<void>;
112
115
  /** 删除方案 */
113
116
  deleteScheme: (schemeId: string) => Promise<void>;
114
117
  /** 重置到方案原始状态 */