@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
@@ -1,2 +1,11 @@
1
+ /**
2
+ * 处理列分组配置
3
+ * 兼容新旧两种数据格式:
4
+ * 1. 新格式:FlatColumnItem[] (带有 type, parentId, level)
5
+ * 2. 旧格式:{ groupName: string } (简单的分组名称)
6
+ *
7
+ * @param columns 列配置数组
8
+ * @returns AG-Grid 列定义
9
+ */
1
10
  declare const processColumnGroups: (columns: any[]) => any;
2
11
  export default processColumnGroups;
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
+ var _columnGroupUtils = require("../setting/columnGroupUtils");
7
8
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
8
9
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
9
10
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@@ -16,7 +17,49 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
16
17
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
17
18
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
18
19
  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); }
20
+ /**
21
+ * 处理列分组配置
22
+ * 兼容新旧两种数据格式:
23
+ * 1. 新格式:FlatColumnItem[] (带有 type, parentId, level)
24
+ * 2. 旧格式:{ groupName: string } (简单的分组名称)
25
+ *
26
+ * @param columns 列配置数组
27
+ * @returns AG-Grid 列定义
28
+ */
19
29
  var processColumnGroups = function processColumnGroups(columns) {
30
+ // 如果是空数组,直接返回
31
+ if (!columns || columns.length === 0) {
32
+ return [];
33
+ }
34
+
35
+ // 检查是否已经是标准 AG-Grid 格式(带 children 的分组)
36
+ // 如果列定义中有 children 属性,说明已经是 AG-Grid 标准格式,直接返回
37
+ var hasStandardGroups = columns.some(function (col) {
38
+ return col.children && Array.isArray(col.children);
39
+ });
40
+ if (hasStandardGroups) {
41
+ // 标准格式:直接返回,不做任何处理
42
+ return columns;
43
+ }
44
+
45
+ // 检查是否是新格式(FlatColumnItem)
46
+ var isNewFormat = columns.some(function (col) {
47
+ return col.type !== undefined;
48
+ });
49
+ if (isNewFormat) {
50
+ // 新格式:使用 flatConfigToGridState 转换
51
+ return (0, _columnGroupUtils.flatConfigToGridState)(columns);
52
+ }
53
+
54
+ // 旧格式:使用旧的处理逻辑
55
+ // 检查是否需要迁移
56
+ if ((0, _columnGroupUtils.isOldSchemeData)(columns)) {
57
+ // 先迁移到新格式,再转换
58
+ var migrated = (0, _columnGroupUtils.migrateOldScheme)(columns);
59
+ return (0, _columnGroupUtils.flatConfigToGridState)(migrated);
60
+ }
61
+
62
+ // 兼容最原始的格式(groupName)
20
63
  var groupMap = new Map();
21
64
  var result = [];
22
65
  var ungrouped = [];
@@ -58,7 +58,7 @@ var getSort = function getSort(columnState) {
58
58
  return columnState ? "".concat(columnState.colId, " ").concat(columnState.sort) : "";
59
59
  };
60
60
  function AgGridPlus(props) {
61
- var _querySchemeManager$c;
61
+ var _columnSchemeManager$2, _querySchemeManager$c;
62
62
  var style = props.style,
63
63
  loadingProps = props.loading,
64
64
  gridParams = props.params,
@@ -172,12 +172,16 @@ function AgGridPlus(props) {
172
172
  storageAdapter: globalColumnAdapter || columnSchemeStorageAdapter,
173
173
  enableAutoSave: true,
174
174
  onSchemeChange: function onSchemeChange(scheme) {
175
- if (scheme && apiRef.current) {
176
- apiRef.current.applyColumnState({
177
- state: scheme.columnState,
178
- applyOrder: true
179
- });
180
- }
175
+ console.log('[AgGridPlus] onSchemeChange 被调用:', {
176
+ hasScheme: !!scheme,
177
+ hasApiRef: !!apiRef.current,
178
+ schemeId: scheme === null || scheme === void 0 ? void 0 : scheme.id,
179
+ schemeName: scheme === null || scheme === void 0 ? void 0 : scheme.name,
180
+ hasColumnConfig: !!(scheme !== null && scheme !== void 0 && scheme.columnConfig)
181
+ });
182
+
183
+ // 注意: 方案应用已由 useEffect 处理
184
+ // useEffect 会在 apiRef 和 currentScheme 都准备好时自动应用方案
181
185
  }
182
186
  }) : undefined;
183
187
 
@@ -242,37 +246,114 @@ function AgGridPlus(props) {
242
246
 
243
247
  // 加载列方案
244
248
  (0, _react.useEffect)(function () {
245
- if (!gridPlusColumnState || !gridKey || !apiRef.current) return;
246
- var currentState = gridPlusColumnState[gridKey];
247
- if (!currentState) return;
248
- setColumnCellClass(handelgridPlusColumnState(currentState));
249
- var timer = setTimeout(function () {
250
- var _apiRef$current;
251
- (_apiRef$current = apiRef.current) === null || _apiRef$current === void 0 || _apiRef$current.applyColumnState({
252
- state: currentState,
253
- applyOrder: true
254
- });
255
- }, 10);
256
- return function () {
257
- return clearTimeout(timer);
258
- };
259
- }, [gridPlusColumnState, gridKey]);
249
+ var _columnSchemeManager$;
250
+ if (!gridKey || !apiRef.current) return;
260
251
 
261
- // 当 gridApi 就绪且有当前方案时,应用列方案
252
+ // 优先使用方案中的 columnConfig(用户在列配置界面调整后的数据)
253
+ if (columnSchemeManager !== null && columnSchemeManager !== void 0 && (_columnSchemeManager$ = columnSchemeManager.currentScheme) !== null && _columnSchemeManager$ !== void 0 && _columnSchemeManager$.columnConfig) {
254
+ var _require = require("./setting/columnGroupUtils"),
255
+ flatConfigToColumnState = _require.flatConfigToColumnState;
256
+ var _columnState = flatConfigToColumnState(columnSchemeManager.currentScheme.columnConfig);
257
+ setColumnCellClass(handelgridPlusColumnState(_columnState));
258
+ var timer = setTimeout(function () {
259
+ var _apiRef$current;
260
+ (_apiRef$current = apiRef.current) === null || _apiRef$current === void 0 || _apiRef$current.applyColumnState({
261
+ state: _columnState,
262
+ applyOrder: true
263
+ });
264
+ }, 10);
265
+ return function () {
266
+ return clearTimeout(timer);
267
+ };
268
+ }
269
+ // 后备方案:使用旧的 gridPlusColumnState
270
+ else if (gridPlusColumnState !== null && gridPlusColumnState !== void 0 && gridPlusColumnState[gridKey]) {
271
+ var currentState = gridPlusColumnState[gridKey];
272
+ setColumnCellClass(handelgridPlusColumnState(currentState));
273
+ var _timer = setTimeout(function () {
274
+ var _apiRef$current2;
275
+ (_apiRef$current2 = apiRef.current) === null || _apiRef$current2 === void 0 || _apiRef$current2.applyColumnState({
276
+ state: currentState,
277
+ applyOrder: true
278
+ });
279
+ }, 10);
280
+ return function () {
281
+ return clearTimeout(_timer);
282
+ };
283
+ }
284
+ }, [gridKey, columnSchemeManager === null || columnSchemeManager === void 0 || (_columnSchemeManager$2 = columnSchemeManager.currentScheme) === null || _columnSchemeManager$2 === void 0 ? void 0 : _columnSchemeManager$2.columnConfig, gridPlusColumnState]);
285
+
286
+ // 同步 apiRef 和 currentScheme,确保方案在两者都准备好时应用
262
287
  (0, _react.useEffect)(function () {
288
+ var _currentScheme$column;
263
289
  var currentScheme = columnSchemeManager === null || columnSchemeManager === void 0 ? void 0 : columnSchemeManager.currentScheme;
264
- if (!apiRef.current || !currentScheme) return;
265
- var timer = setTimeout(function () {
266
- var _apiRef$current2;
267
- (_apiRef$current2 = apiRef.current) === null || _apiRef$current2 === void 0 || _apiRef$current2.applyColumnState({
268
- state: currentScheme.columnState,
269
- applyOrder: true
290
+
291
+ // 两个依赖都不存在时,直接返回
292
+ if (!apiRef.current || !currentScheme) {
293
+ console.log('[AgGridPlus] useEffect: 等待依赖准备', {
294
+ hasApiRef: !!apiRef.current,
295
+ hasCurrentScheme: !!currentScheme
270
296
  });
297
+ return;
298
+ }
299
+ console.log('[AgGridPlus] useEffect: 两个依赖都准备好,应用方案', {
300
+ schemeId: currentScheme.id,
301
+ schemeName: currentScheme.name,
302
+ hasColumnConfig: !!currentScheme.columnConfig,
303
+ columnConfigCount: ((_currentScheme$column = currentScheme.columnConfig) === null || _currentScheme$column === void 0 ? void 0 : _currentScheme$column.length) || 0
304
+ });
305
+ var timer = setTimeout(function () {
306
+ // 优先使用 columnConfig(包含完整的分组结构)
307
+ if (currentScheme.columnConfig) {
308
+ var _require2 = require("./setting/columnGroupUtils"),
309
+ flatConfigToGridState = _require2.flatConfigToGridState;
310
+ var gridColumnDefs = flatConfigToGridState(currentScheme.columnConfig);
311
+ console.log('[AgGridPlus] useEffect: 应用方案的 columnConfig:', {
312
+ columnConfig: currentScheme.columnConfig,
313
+ columnConfigLength: currentScheme.columnConfig.length,
314
+ gridColumnDefs: gridColumnDefs,
315
+ gridColumnDefsLength: gridColumnDefs.length,
316
+ columnConfigDetail: currentScheme.columnConfig.map(function (item) {
317
+ return {
318
+ type: item.type,
319
+ field: item.field,
320
+ headerName: item.headerName,
321
+ order: item.order,
322
+ parentId: item.parentId
323
+ };
324
+ }),
325
+ gridColumnDefsDetail: gridColumnDefs.map(function (def, idx) {
326
+ var _def$children;
327
+ return {
328
+ index: idx,
329
+ field: def.field,
330
+ headerName: def.headerName,
331
+ groupId: def.groupId,
332
+ children: (_def$children = def.children) === null || _def$children === void 0 ? void 0 : _def$children.length
333
+ };
334
+ })
335
+ });
336
+
337
+ // 1. 先设置列定义(包含分组结构)
338
+ if (apiRef.current) {
339
+ apiRef.current.setGridOption("columnDefs", gridColumnDefs);
340
+ }
341
+
342
+ // 2. 【重要修改】使用 columnConfig 时,不应用 columnState
343
+ // 原因:columnConfig 已经包含了完整的列配置(宽度、隐藏、顺序、分组等)
344
+ // 如果再应用 columnState,会导致分组子列被视为独立列,破坏分组结构
345
+ console.log('[AgGridPlus] useEffect: 使用 columnConfig,跳过 columnState 应用');
346
+ }
347
+
348
+ // 应用过滤器状态
349
+ if (currentScheme.filterModel && apiRef.current) {
350
+ apiRef.current.setFilterModel(currentScheme.filterModel);
351
+ }
271
352
  }, 10);
272
353
  return function () {
273
354
  return clearTimeout(timer);
274
355
  };
275
- }, [columnSchemeManager === null || columnSchemeManager === void 0 ? void 0 : columnSchemeManager.currentScheme]);
356
+ }, [apiRef.current, columnSchemeManager === null || columnSchemeManager === void 0 ? void 0 : columnSchemeManager.currentScheme]);
276
357
  (0, _react.useEffect)(function () {
277
358
  setRowData(dataSource || propRowData || []);
278
359
  }, [dataSource, propRowData]);
@@ -308,96 +389,116 @@ function AgGridPlus(props) {
308
389
  return colDef.customCellRenderer(params);
309
390
  };
310
391
 
311
- // 获取表格列定义
312
- var getTableColumns = function getTableColumns(rowDataList) {
313
- var data = rowDataList.length > 0 ? rowDataList[0] : {};
314
- var columnProps = _react.default.Children.map(children, function (child, index) {
315
- return _objectSpread({}, child.props);
316
- });
317
- var columnDefs = !columnProps ? props.columnDefs ? props.columnDefs : [] : columnProps;
318
- columnDefs = columnDefs.map(function (col) {
319
- var dataType = getDataType(data, col.field || '', col.valueEnum);
320
- if (col.valueEnum && Array.isArray(col.valueEnum)) {
321
- var _defaultItems$0$value, _defaultItems$;
322
- // 统计默认值
323
- var valueEnum = col.valueEnum; // 保存引用以便TypeScript理解
324
- var defaultItems = valueEnum.filter(function (item) {
325
- return item.default;
392
+ // 辅助函数: 处理单个列配置
393
+ var processColumnConfig = function processColumnConfig(col, data) {
394
+ var dataType = getDataType(data, col.field || '', col.valueEnum);
395
+ if (col.valueEnum && Array.isArray(col.valueEnum)) {
396
+ var _defaultItems$0$value, _defaultItems$;
397
+ // 统计默认值
398
+ var valueEnum = col.valueEnum; // 保存引用以便TypeScript理解
399
+ var defaultItems = valueEnum.filter(function (item) {
400
+ return item.default;
401
+ });
402
+ var isMultiple = defaultItems.length > 1;
403
+ var defaultValue = isMultiple ? defaultItems.map(function (item) {
404
+ return item.value;
405
+ }) : (_defaultItems$0$value = (_defaultItems$ = defaultItems[0]) === null || _defaultItems$ === void 0 ? void 0 : _defaultItems$.value) !== null && _defaultItems$0$value !== void 0 ? _defaultItems$0$value : undefined;
406
+ var valueFormatter = function valueFormatter(params) {
407
+ var match = valueEnum.find(function (item) {
408
+ return item.value == params.value;
326
409
  });
327
- var isMultiple = defaultItems.length > 1;
328
- var defaultValue = isMultiple ? defaultItems.map(function (item) {
329
- return item.value;
330
- }) : (_defaultItems$0$value = (_defaultItems$ = defaultItems[0]) === null || _defaultItems$ === void 0 ? void 0 : _defaultItems$.value) !== null && _defaultItems$0$value !== void 0 ? _defaultItems$0$value : undefined;
331
- var valueFormatter = function valueFormatter(params) {
410
+ return match ? match.label : params.value;
411
+ };
412
+ return _objectSpread(_objectSpread(_objectSpread({}, dataType), col), {}, {
413
+ cellRenderer: function cellRenderer(params) {
332
414
  var match = valueEnum.find(function (item) {
333
415
  return item.value == params.value;
334
416
  });
335
- return match ? match.label : params.value;
336
- };
337
- return _objectSpread(_objectSpread(_objectSpread({}, dataType), col), {}, {
338
- cellRenderer: function cellRenderer(params) {
339
- var match = valueEnum.find(function (item) {
340
- return item.value == params.value;
341
- });
342
- if (match) {
343
- var color = match.color || '#ffffff';
344
- return /*#__PURE__*/_react.default.createElement("span", {
345
- style: {
346
- color: color,
347
- backgroundColor: 'transparent',
348
- fontWeight: 500
349
- }
350
- }, match.label);
351
- }
352
- return params.value;
353
- },
354
- filterParams: _objectSpread(_objectSpread({}, col.filterParams || {}), {}, {
355
- valueFormatter: valueFormatter
356
- }),
357
- searchComponent: _antdV.Select,
358
- searchComponentProps: {
359
- options: col.valueEnum.map(function (item) {
360
- return {
361
- label: item.label,
362
- value: item.value
363
- };
364
- }),
365
- mode: isMultiple ? "multiple" : undefined,
366
- defaultValue: defaultValue
367
- }
368
- });
369
- }
370
- if (col.type || typeof col.cellRenderer == "string") {
371
- return _objectSpread({}, col);
372
- }
373
- //@ts-ignore
374
- if (col !== null && col !== void 0 && col.ellipsis) {
375
- return _objectSpread(_objectSpread({}, col), {}, {
376
- cellRenderer: function cellRenderer(_ref) {
377
- var value = _ref.value;
378
- return /*#__PURE__*/_react.default.createElement(Text, {
379
- ellipsis: {
380
- tooltip: value
381
- },
417
+ if (match) {
418
+ var color = match.color || '#ffffff';
419
+ return /*#__PURE__*/_react.default.createElement("span", {
382
420
  style: {
383
- display: 'flex',
384
- justifyContent: 'center',
385
- alignItems: 'center'
421
+ color: color,
422
+ backgroundColor: 'transparent',
423
+ fontWeight: 500
386
424
  }
387
- }, value);
425
+ }, match.label);
388
426
  }
389
- });
390
- }
391
- if (col.cellRenderer) {
392
- return _objectSpread(_objectSpread({}, col), {}, {
393
- customCellRenderer: col.cellRenderer,
394
- cellRenderer: cellRenderer
395
- });
396
- }
397
- return _objectSpread(_objectSpread(_objectSpread({}, dataType), col), {}, {
427
+ return params.value;
428
+ },
429
+ filterParams: _objectSpread(_objectSpread({}, col.filterParams || {}), {}, {
430
+ valueFormatter: valueFormatter
431
+ }),
432
+ searchComponent: _antdV.Select,
433
+ searchComponentProps: {
434
+ options: col.valueEnum.map(function (item) {
435
+ return {
436
+ label: item.label,
437
+ value: item.value
438
+ };
439
+ }),
440
+ mode: isMultiple ? "multiple" : undefined,
441
+ defaultValue: defaultValue
442
+ }
443
+ });
444
+ }
445
+ if (col.type || typeof col.cellRenderer == "string") {
446
+ return _objectSpread({}, col);
447
+ }
448
+ //@ts-ignore
449
+ if (col !== null && col !== void 0 && col.ellipsis) {
450
+ return _objectSpread(_objectSpread({}, col), {}, {
451
+ cellRenderer: function cellRenderer(_ref) {
452
+ var value = _ref.value;
453
+ return /*#__PURE__*/_react.default.createElement(Text, {
454
+ ellipsis: {
455
+ tooltip: value
456
+ },
457
+ style: {
458
+ display: 'flex',
459
+ justifyContent: 'center',
460
+ alignItems: 'center'
461
+ }
462
+ }, value);
463
+ }
464
+ });
465
+ }
466
+ if (col.cellRenderer) {
467
+ return _objectSpread(_objectSpread({}, col), {}, {
398
468
  customCellRenderer: col.cellRenderer,
399
469
  cellRenderer: cellRenderer
400
470
  });
471
+ }
472
+ return _objectSpread(_objectSpread(_objectSpread({}, dataType), col), {}, {
473
+ customCellRenderer: col.cellRenderer,
474
+ cellRenderer: cellRenderer
475
+ });
476
+ };
477
+
478
+ // 获取表格列定义
479
+ var getTableColumns = function getTableColumns(rowDataList) {
480
+ var data = rowDataList.length > 0 ? rowDataList[0] : {};
481
+ var columnProps = _react.default.Children.map(children, function (child, index) {
482
+ return _objectSpread({}, child.props);
483
+ });
484
+ var columnDefs = !columnProps ? props.columnDefs ? props.columnDefs : [] : columnProps;
485
+
486
+ // 递归处理列配置(包括分组的 children)
487
+ var processColumnDefRecursively = function processColumnDefRecursively(col) {
488
+ // 如果有 children(分组列),递归处理每个子列
489
+ if (col.children && Array.isArray(col.children)) {
490
+ return _objectSpread(_objectSpread({}, col), {}, {
491
+ children: col.children.map(function (child) {
492
+ return processColumnDefRecursively(child);
493
+ })
494
+ });
495
+ }
496
+
497
+ // 处理普通列
498
+ return processColumnConfig(col, data);
499
+ };
500
+ columnDefs = columnDefs.map(function (col) {
501
+ return processColumnDefRecursively(col);
401
502
  });
402
503
  extensibleColumns && gridKey && extensibleColumns[gridKey] && extensibleColumns[gridKey].map(function (column) {
403
504
  columnDefs.push({
@@ -471,9 +572,15 @@ function AgGridPlus(props) {
471
572
  enableClickSelection: false
472
573
  };
473
574
  }, [propsRowSelection, enableClickSelection]);
474
- console.log('[AgGridPlus] rowSelection config:', JSON.stringify(rowSelectionConfig));
475
575
  var onGridReady = (0, _react.useCallback)(function (params) {
476
- var _apiRef$current3;
576
+ var _columnSchemeManager$3, _columnSchemeManager$4, _columnSchemeManager$5, _apiRef$current3;
577
+ console.log('[AgGridPlus] onGridReady 被调用:', {
578
+ hasColumnSchemeManager: !!columnSchemeManager,
579
+ hasCurrentScheme: !!(columnSchemeManager !== null && columnSchemeManager !== void 0 && columnSchemeManager.currentScheme),
580
+ currentSchemeId: columnSchemeManager === null || columnSchemeManager === void 0 || (_columnSchemeManager$3 = columnSchemeManager.currentScheme) === null || _columnSchemeManager$3 === void 0 ? void 0 : _columnSchemeManager$3.id,
581
+ currentSchemeName: columnSchemeManager === null || columnSchemeManager === void 0 || (_columnSchemeManager$4 = columnSchemeManager.currentScheme) === null || _columnSchemeManager$4 === void 0 ? void 0 : _columnSchemeManager$4.name,
582
+ hasColumnConfig: !!(columnSchemeManager !== null && columnSchemeManager !== void 0 && (_columnSchemeManager$5 = columnSchemeManager.currentScheme) !== null && _columnSchemeManager$5 !== void 0 && _columnSchemeManager$5.columnConfig)
583
+ });
477
584
  apiRef.current = params.api;
478
585
  onReady && onReady(params);
479
586
  ///@ts-ignore
@@ -481,7 +588,10 @@ function AgGridPlus(props) {
481
588
  setColumnState((_apiRef$current3 = apiRef.current) === null || _apiRef$current3 === void 0 ? void 0 : _apiRef$current3.getColumnState());
482
589
  sortChanged(params.api);
483
590
  setReady(true);
484
- }, [dataSource]);
591
+
592
+ // 注意: 方案应用已由 useEffect 处理,无需在这里重复应用
593
+ // useEffect 会在 apiRef 和 currentScheme 都准备好时自动应用方案
594
+ }, [dataSource, columnSchemeManager]);
485
595
  var onRequest = (0, _react.useCallback)(function (queryFilter) {
486
596
  if (!requestRef.current) return;
487
597
  setLoading(true);
@@ -584,9 +694,6 @@ function AgGridPlus(props) {
584
694
  if (prevDeps.paginationCurrent !== pagination.current) changedDeps.push('pagination.current');
585
695
  if (prevDeps.paginationPageSize !== pagination.pageSize) changedDeps.push('pagination.pageSize');
586
696
  if (prevDeps.stableSortColumn !== stableSortColumn) changedDeps.push('stableSortColumn');
587
- if (changedDeps.length > 0) {
588
- console.log('🔍 useEffect 依赖项变化:', changedDeps.join(', '));
589
- }
590
697
  depsRef.current = {
591
698
  ready: ready,
592
699
  stableQueryFilter: stableQueryFilter,
@@ -818,21 +925,34 @@ function AgGridPlus(props) {
818
925
  };
819
926
  var colDefs = (0, _react.useMemo)(function () {
820
927
  var columnDefs = getTableColumns(rowData);
821
- columnDefs = columnDefs.map(function (i) {
822
- var cellConfig = columnCellClass[i.field];
928
+
929
+ // 递归应用 columnCellClass 配置
930
+ var applyCellConfig = function applyCellConfig(col) {
931
+ // 如果有 children,递归处理
932
+ if (col.children && Array.isArray(col.children)) {
933
+ return _objectSpread(_objectSpread({}, col), {}, {
934
+ children: col.children.map(applyCellConfig).filter(function (x) {
935
+ return !x.hideInTable;
936
+ })
937
+ });
938
+ }
939
+
940
+ // 处理普通列
941
+ var cellConfig = columnCellClass[col.field];
823
942
  if (cellConfig) {
824
943
  if (cellConfig.cellClass) {
825
- i.cellClass = cellConfig.cellClass;
944
+ col.cellClass = cellConfig.cellClass;
826
945
  }
827
946
  if (cellConfig.groupName) {
828
- i.groupName = cellConfig.groupName;
947
+ col.groupName = cellConfig.groupName;
829
948
  }
830
949
  if (cellConfig.suppressHeaderFilterButton !== undefined) {
831
- i.suppressHeaderFilterButton = !cellConfig.suppressHeaderFilterButton;
950
+ col.suppressHeaderFilterButton = !cellConfig.suppressHeaderFilterButton;
832
951
  }
833
952
  }
834
- return i;
835
- }).filter(function (x) {
953
+ return col;
954
+ };
955
+ columnDefs = columnDefs.map(applyCellConfig).filter(function (x) {
836
956
  return !x.hideInTable;
837
957
  });
838
958
  var processedColumns = (0, _processColumnGroups.default)(columnDefs);
@@ -852,11 +972,6 @@ function AgGridPlus(props) {
852
972
  order: (_col$searchSort = col.searchSort) !== null && _col$searchSort !== void 0 ? _col$searchSort : 999
853
973
  }, col);
854
974
  })) || [];
855
- console.log('[AgGridPlus] queryFormItems构建:', {
856
- allColDefsLength: allColDefs === null || allColDefs === void 0 ? void 0 : allColDefs.length,
857
- queryFormItemsLength: items.length,
858
- queryFormItems: items
859
- });
860
975
  return items;
861
976
  }, [allColDefs]);
862
977
 
@@ -1000,8 +1115,8 @@ function AgGridPlus(props) {
1000
1115
  onDragStopped: function onDragStopped(e) {
1001
1116
  if (apiRef.current) {
1002
1117
  var _apiRef$current7;
1003
- var _columnState = (_apiRef$current7 = apiRef.current) === null || _apiRef$current7 === void 0 ? void 0 : _apiRef$current7.getColumnState();
1004
- setColumnState(_columnState);
1118
+ var _columnState2 = (_apiRef$current7 = apiRef.current) === null || _apiRef$current7 === void 0 ? void 0 : _apiRef$current7.getColumnState();
1119
+ setColumnState(_columnState2);
1005
1120
 
1006
1121
  // onColumnStateChanged && onColumnStateChanged(columnState)
1007
1122
  }