@nokecy/qc-ui 1.0.86 → 1.0.88

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.
@@ -234,145 +234,79 @@ function AgGridPlus(props) {
234
234
  };
235
235
  }, []);
236
236
 
237
+ // 【修复】缓存第一次数据用于类型推断,避免 rowData 更新时重新计算 colDefs
238
+ // 原因: getTableColumns 只需要第一行数据来推断列的数据类型(数字列自动求和)
239
+ // 类型推断应该只在初始化时进行一次,后续数据更新不应改变列定义
240
+ var firstRowDataRef = useRef(null);
241
+ useEffect(function () {
242
+ // 只在首次有数据时保存
243
+ if (!firstRowDataRef.current && rowData.length > 0) {
244
+ firstRowDataRef.current = rowData[0];
245
+ console.log('[AgGridPlus] 保存首行数据用于类型推断:', firstRowDataRef.current);
246
+ }
247
+ }, [rowData]);
248
+
237
249
  // 测试列数据
238
250
  // const restData = [{"id":"47","field":"code","headerName":"编码","width":110,"hide":false,"cellClass":"custom-cell-left","suppressHeaderFilterButton":true,"colId":"code","pinned":null,"sort":null,"sortIndex":null,"aggFunc":null,"rowGroup":false,"rowGroupIndex":null,"pivot":false,"pivotIndex":null,"flex":null},{"id":"48","field":"name","headerName":"名称","width":110,"hide":false,"cellClass":"custom-cell-left","suppressHeaderFilterButton":true,"colId":"name","pinned":null,"sort":null,"sortIndex":null,"aggFunc":null,"rowGroup":false,"rowGroupIndex":null,"pivot":false,"pivotIndex":null,"flex":null},{"id":"49","field":"abbName","headerName":"简称","width":110,"hide":false,"cellClass":"custom-cell-left","suppressHeaderFilterButton":true,"colId":"abbName","pinned":null,"sort":null,"sortIndex":null,"aggFunc":null,"rowGroup":false,"rowGroupIndex":null,"pivot":false,"pivotIndex":null,"flex":null},{"id":"50","field":"address","headerName":"地址","width":662,"hide":false,"cellClass":"custom-cell-left","suppressHeaderFilterButton":true,"colId":"address","pinned":null,"sort":null,"sortIndex":null,"aggFunc":null,"rowGroup":false,"rowGroupIndex":null,"pivot":false,"pivotIndex":null,"flex":1},{"id":"51","field":"creator","headerName":"创建人","width":90,"hide":false,"cellClass":"custom-cell-left","suppressHeaderFilterButton":true,"colId":"creator","pinned":null,"sort":null,"sortIndex":null,"aggFunc":null,"rowGroup":false,"rowGroupIndex":null,"pivot":false,"pivotIndex":null,"flex":null},{"id":"52","field":"creationTime","headerName":"创建时间","width":160,"hide":false,"cellClass":"custom-cell-left","suppressHeaderFilterButton":true,"colId":"creationTime","pinned":null,"sort":null,"sortIndex":null,"aggFunc":null,"rowGroup":false,"rowGroupIndex":null,"pivot":false,"pivotIndex":null,"flex":null},{"id":"53","field":"lastModifier","headerName":"最后修改人","width":90,"hide":false,"cellClass":"custom-cell-left","suppressHeaderFilterButton":true,"colId":"lastModifier","pinned":null,"sort":null,"sortIndex":null,"aggFunc":null,"rowGroup":false,"rowGroupIndex":null,"pivot":false,"pivotIndex":null,"flex":null},{"id":"54","field":"lastModificationTime","headerName":"最后修改时间","width":160,"hide":false,"cellClass":"custom-cell-left","suppressHeaderFilterButton":true,"colId":"lastModificationTime","pinned":null,"sort":null,"sortIndex":null,"aggFunc":null,"rowGroup":false,"rowGroupIndex":null,"pivot":false,"pivotIndex":null,"flex":null},{"id":"55","field":"","headerName":"操作","width":160,"hide":false,"cellClass":"custom-cell-left","suppressHeaderFilterButton":true,"colId":"0","pinned":"right","sort":null,"sortIndex":null,"aggFunc":null,"rowGroup":false,"rowGroupIndex":null,"pivot":false,"pivotIndex":null,"flex":null}]
239
251
 
240
252
  // 加载列方案
253
+ // 仅用于设置列样式,不改变列结构
254
+ // 列结构(包括分组)由 useEffect #2 通过 setGridOption("columnDefs") 处理
241
255
  useEffect(function () {
242
256
  var _columnSchemeManager$;
243
257
  if (!gridKey || !apiRef.current) return;
244
258
 
245
- // 优先使用方案中的 columnConfig(用户在列配置界面调整后的数据)
259
+ // 只有当有 columnConfig 时才设置列样式
246
260
  if (columnSchemeManager !== null && columnSchemeManager !== void 0 && (_columnSchemeManager$ = columnSchemeManager.currentScheme) !== null && _columnSchemeManager$ !== void 0 && _columnSchemeManager$.columnConfig) {
247
- // 【关键修复】检查是否包含分组结构
248
- var hasGroups = columnSchemeManager.currentScheme.columnConfig.some(function (item) {
249
- return item.type === 'group';
261
+ var _require = require("./setting/columnGroupUtils"),
262
+ flatConfigToColumnState = _require.flatConfigToColumnState;
263
+ var _columnState = flatConfigToColumnState(columnSchemeManager.currentScheme.columnConfig);
264
+ console.log('[AgGridPlus] useEffect #1: 设置列样式', {
265
+ gridKey: gridKey,
266
+ schemeId: columnSchemeManager.currentScheme.id,
267
+ schemeName: columnSchemeManager.currentScheme.name,
268
+ columnCount: _columnState.length
250
269
  });
270
+ setColumnCellClass(handelgridPlusColumnState(_columnState));
251
271
 
252
- // 如果包含分组结构,跳过 applyColumnState
253
- // 原因: 分组结构由下面的 useEffect #2 通过 setGridOption("columnDefs") 处理
254
- // applyColumnState 只能设置列属性,会把分组子列当作独立列,破坏分组结构
255
- if (hasGroups) {
256
- console.log('[AgGridPlus] useEffect #1: 检测到分组结构,跳过 applyColumnState');
257
-
258
- // 仍然需要设置列样式
259
- var _require = require("./setting/columnGroupUtils"),
260
- _flatConfigToColumnState = _require.flatConfigToColumnState;
261
- var _columnState = _flatConfigToColumnState(columnSchemeManager.currentScheme.columnConfig);
262
- setColumnCellClass(handelgridPlusColumnState(_columnState));
263
- return;
264
- }
265
-
266
- // 没有分组时,使用 applyColumnState 应用列配置
267
- var _require2 = require("./setting/columnGroupUtils"),
268
- flatConfigToColumnState = _require2.flatConfigToColumnState;
269
- var _columnState2 = flatConfigToColumnState(columnSchemeManager.currentScheme.columnConfig);
270
- setColumnCellClass(handelgridPlusColumnState(_columnState2));
271
- var timer = setTimeout(function () {
272
- var _apiRef$current;
273
- (_apiRef$current = apiRef.current) === null || _apiRef$current === void 0 || _apiRef$current.applyColumnState({
274
- state: _columnState2,
275
- applyOrder: true
276
- });
277
- }, 10);
278
- return function () {
279
- return clearTimeout(timer);
280
- };
272
+ // 【重要】不再调用 applyColumnState
273
+ // 原因:
274
+ // 1. 如果有分组,applyColumnState 会破坏分组结构
275
+ // 2. 列顺序、宽度、隐藏等属性已由 useEffect #2 的 setGridOption("columnDefs") 应用
276
+ // 3. 这里只负责设置列样式(cellClass)
281
277
  }
282
- // 后备方案:使用旧的 gridPlusColumnState
283
- else if (gridPlusColumnState !== null && gridPlusColumnState !== void 0 && gridPlusColumnState[gridKey]) {
284
- var currentState = gridPlusColumnState[gridKey];
285
- setColumnCellClass(handelgridPlusColumnState(currentState));
286
- var _timer = setTimeout(function () {
287
- var _apiRef$current2;
288
- (_apiRef$current2 = apiRef.current) === null || _apiRef$current2 === void 0 || _apiRef$current2.applyColumnState({
289
- state: currentState,
290
- applyOrder: true
291
- });
292
- }, 10);
293
- return function () {
294
- return clearTimeout(_timer);
295
- };
296
- }
297
- }, [gridKey, columnSchemeManager === null || columnSchemeManager === void 0 || (_columnSchemeManager$2 = columnSchemeManager.currentScheme) === null || _columnSchemeManager$2 === void 0 ? void 0 : _columnSchemeManager$2.columnConfig, gridPlusColumnState]);
278
+ }, [gridKey, columnSchemeManager === null || columnSchemeManager === void 0 || (_columnSchemeManager$2 = columnSchemeManager.currentScheme) === null || _columnSchemeManager$2 === void 0 ? void 0 : _columnSchemeManager$2.columnConfig]);
298
279
 
299
- // 同步 apiRef 和 currentScheme,确保方案在两者都准备好时应用
280
+ // 【修复】使用 applyColumnState 来应用列的顺序、宽度、隐藏等状态
281
+ // applyColumnState 是 AG-Grid 推荐的方式,专门用于控制列状态
300
282
  useEffect(function () {
301
- var _currentScheme$column;
302
283
  var currentScheme = columnSchemeManager === null || columnSchemeManager === void 0 ? void 0 : columnSchemeManager.currentScheme;
303
-
304
- // 两个依赖都不存在时,直接返回
305
284
  if (!apiRef.current || !currentScheme) {
306
- console.log('[AgGridPlus] useEffect: 等待依赖准备', {
307
- hasApiRef: !!apiRef.current,
308
- hasCurrentScheme: !!currentScheme
309
- });
310
285
  return;
311
286
  }
312
- console.log('[AgGridPlus] useEffect: 两个依赖都准备好,应用方案', {
313
- schemeId: currentScheme.id,
314
- schemeName: currentScheme.name,
315
- hasColumnConfig: !!currentScheme.columnConfig,
316
- columnConfigCount: ((_currentScheme$column = currentScheme.columnConfig) === null || _currentScheme$column === void 0 ? void 0 : _currentScheme$column.length) || 0
317
- });
318
- var timer = setTimeout(function () {
319
- // 优先使用 columnConfig(包含完整的分组结构)
320
- if (currentScheme.columnConfig) {
321
- var _require3 = require("./setting/columnGroupUtils"),
322
- flatConfigToGridState = _require3.flatConfigToGridState;
323
- var gridColumnDefs = flatConfigToGridState(currentScheme.columnConfig);
324
- console.log('[AgGridPlus] useEffect: 应用方案的 columnConfig:', {
325
- columnConfig: currentScheme.columnConfig,
326
- columnConfigLength: currentScheme.columnConfig.length,
327
- gridColumnDefs: gridColumnDefs,
328
- gridColumnDefsLength: gridColumnDefs.length,
329
- columnConfigDetail: currentScheme.columnConfig.map(function (item) {
330
- return {
331
- type: item.type,
332
- field: item.field,
333
- headerName: item.headerName,
334
- order: item.order,
335
- parentId: item.parentId
336
- };
337
- }),
338
- gridColumnDefsDetail: gridColumnDefs.map(function (def, idx) {
339
- var _def$children;
340
- return {
341
- index: idx,
342
- field: def.field,
343
- headerName: def.headerName,
344
- groupId: def.groupId,
345
- children: (_def$children = def.children) === null || _def$children === void 0 ? void 0 : _def$children.length
346
- };
347
- })
348
- });
349
287
 
350
- // 1. 先设置列定义(包含分组结构)
351
- if (apiRef.current) {
352
- apiRef.current.setGridOption("columnDefs", gridColumnDefs);
288
+ // 如果有 columnConfig,使用 applyColumnState 应用列状态
289
+ if (currentScheme.columnConfig && currentScheme.columnConfig.length > 0) {
290
+ var _require2 = require("./setting/columnGroupUtils"),
291
+ flatConfigToColumnState = _require2.flatConfigToColumnState;
292
+ var _columnState2 = flatConfigToColumnState(currentScheme.columnConfig);
353
293
 
354
- // 等待 columnDefs 应用完成后再设置过滤器
355
- // 原因: setGridOption("columnDefs") 会触发 Grid 重新渲染,可能重置内部状态
356
- // 必须在下一个渲染周期后应用 filterModel,否则会被覆盖
357
- if (currentScheme.filterModel) {
358
- requestAnimationFrame(function () {
359
- if (apiRef.current) {
360
- console.log('[AgGridPlus] 应用过滤器状态:', currentScheme.filterModel);
361
- apiRef.current.setFilterModel(currentScheme.filterModel);
362
- }
363
- });
364
- }
365
- }
294
+ // 使用 applyColumnState 应用列状态
295
+ // applyOrder: true 表示按照 state 数组的顺序重新排列列
296
+ apiRef.current.applyColumnState({
297
+ state: _columnState2,
298
+ applyOrder: true
299
+ });
300
+ }
366
301
 
367
- // 2. 【重要修改】使用 columnConfig 时,不应用 columnState
368
- // 原因:columnConfig 已经包含了完整的列配置(宽度、隐藏、顺序、分组等)
369
- // 如果再应用 columnState,会导致分组子列被视为独立列,破坏分组结构
370
- console.log('[AgGridPlus] useEffect: 使用 columnConfig,跳过 columnState 应用');
371
- }
372
- }, 10);
373
- return function () {
374
- return clearTimeout(timer);
375
- };
302
+ // 应用过滤器状态
303
+ if (currentScheme.filterModel) {
304
+ setTimeout(function () {
305
+ if (apiRef.current) {
306
+ apiRef.current.setFilterModel(currentScheme.filterModel);
307
+ }
308
+ }, 50); // 延迟稍长一点,等待 columnState 应用完成
309
+ }
376
310
  }, [apiRef.current, columnSchemeManager === null || columnSchemeManager === void 0 ? void 0 : columnSchemeManager.currentScheme]);
377
311
  useEffect(function () {
378
312
  setRowData(dataSource || propRowData || []);
@@ -534,11 +468,22 @@ function AgGridPlus(props) {
534
468
  };
535
469
 
536
470
  // 计算所有列定义(包括隐藏的列)
471
+ // 【修复】移除 rowData 依赖,使用缓存的首行数据进行类型推断
537
472
  var allColDefs = useMemo(function () {
538
- var cols = getTableColumns(rowData);
473
+ var dataForTypeInference = firstRowDataRef.current || (rowData.length > 0 ? rowData[0] : {});
474
+ var cols = getTableColumns([dataForTypeInference]);
539
475
  allColDefsRef.current = cols; // 同步更新 ref
476
+
477
+ console.log('[AgGridPlus] allColDefs 重新计算:', {
478
+ childrenCount: React.Children.count(children),
479
+ hasPropsColumnDefs: !!props.columnDefs,
480
+ extensibleColumnsCount: Object.keys(extensibleColumns || {}).length,
481
+ gridKey: gridKey,
482
+ colsCount: cols.length,
483
+ usingCachedData: !!firstRowDataRef.current
484
+ });
540
485
  return cols;
541
- }, [React.Children.count(children), props.columnDefs, extensibleColumns, rowData, gridKey]);
486
+ }, [React.Children.count(children), props.columnDefs, extensibleColumns, gridKey]);
542
487
 
543
488
  // 稳定化 gridParams 和 sortColumn 的引用
544
489
  var stableGridParams = useMemo(function () {
@@ -593,7 +538,7 @@ function AgGridPlus(props) {
593
538
  };
594
539
  }, [propsRowSelection, enableClickSelection]);
595
540
  var onGridReady = useCallback(function (params) {
596
- var _columnSchemeManager$3, _columnSchemeManager$4, _columnSchemeManager$5, _apiRef$current3;
541
+ var _columnSchemeManager$3, _columnSchemeManager$4, _columnSchemeManager$5, _apiRef$current;
597
542
  console.log('[AgGridPlus] onGridReady 被调用:', {
598
543
  hasColumnSchemeManager: !!columnSchemeManager,
599
544
  hasCurrentScheme: !!(columnSchemeManager !== null && columnSchemeManager !== void 0 && columnSchemeManager.currentScheme),
@@ -605,7 +550,7 @@ function AgGridPlus(props) {
605
550
  onReady && onReady(params);
606
551
  ///@ts-ignore
607
552
  dataSource && setRowData(dataSource);
608
- setColumnState((_apiRef$current3 = apiRef.current) === null || _apiRef$current3 === void 0 ? void 0 : _apiRef$current3.getColumnState());
553
+ setColumnState((_apiRef$current = apiRef.current) === null || _apiRef$current === void 0 ? void 0 : _apiRef$current.getColumnState());
609
554
  sortChanged(params.api);
610
555
  setReady(true);
611
556
 
@@ -630,7 +575,7 @@ function AgGridPlus(props) {
630
575
  sorter: getSort(stableSortColumn)
631
576
  });
632
577
  requestRef.current(params, undefined, queryFilter).then(function (response) {
633
- var _apiRef$current4;
578
+ var _apiRef$current2;
634
579
  // 验证响应数据格式
635
580
  if (!response || _typeof(response) !== 'object') {
636
581
  throw new GridPlusError('服务器返回数据格式错误', ErrorType.DATA_FORMAT_ERROR, ErrorSeverity.HIGH, {
@@ -646,7 +591,7 @@ function AgGridPlus(props) {
646
591
  var rowCount = response.total;
647
592
  setRowData(rowData);
648
593
  // 刷新所有单元格
649
- (_apiRef$current4 = apiRef.current) === null || _apiRef$current4 === void 0 || _apiRef$current4.refreshCells({
594
+ (_apiRef$current2 = apiRef.current) === null || _apiRef$current2 === void 0 || _apiRef$current2.refreshCells({
650
595
  force: true
651
596
  });
652
597
  setPagination(function (prev) {
@@ -920,8 +865,8 @@ function AgGridPlus(props) {
920
865
  });
921
866
  }
922
867
  if (!allColDefs || displayedData.length === 0) {
923
- var _apiRef$current5;
924
- (_apiRef$current5 = apiRef.current) === null || _apiRef$current5 === void 0 || _apiRef$current5.setGridOption('pinnedBottomRowData', undefined);
868
+ var _apiRef$current3;
869
+ (_apiRef$current3 = apiRef.current) === null || _apiRef$current3 === void 0 || _apiRef$current3.setGridOption('pinnedBottomRowData', undefined);
925
870
  return;
926
871
  }
927
872
  var calcColFields = allColDefs.filter(function (col) {
@@ -935,16 +880,30 @@ function AgGridPlus(props) {
935
880
  };
936
881
  });
937
882
  if (calcColFields.length > 0) {
938
- var _apiRef$current6;
883
+ var _apiRef$current4;
939
884
  var calculatedValues = calculatefun(calcColFields, displayedData);
940
- (_apiRef$current6 = apiRef.current) === null || _apiRef$current6 === void 0 || _apiRef$current6.setGridOption('pinnedBottomRowData', calculatedValues);
885
+ (_apiRef$current4 = apiRef.current) === null || _apiRef$current4 === void 0 || _apiRef$current4.setGridOption('pinnedBottomRowData', calculatedValues);
941
886
  }
942
887
  }, [allColDefs, calculatefun]);
943
888
  var onFilterChanged = function onFilterChanged(event) {
944
889
  calculateSum();
945
890
  };
946
891
  var colDefs = useMemo(function () {
947
- var columnDefs = getTableColumns(rowData);
892
+ var currentScheme = columnSchemeManager === null || columnSchemeManager === void 0 ? void 0 : columnSchemeManager.currentScheme;
893
+
894
+ // 【修复】优先使用方案的 columnConfig,避免被默认逻辑覆盖
895
+ if (currentScheme !== null && currentScheme !== void 0 && currentScheme.columnConfig && currentScheme.columnConfig.length > 0) {
896
+ var _require3 = require("./setting/columnGroupUtils"),
897
+ flatConfigToGridState = _require3.flatConfigToGridState;
898
+ var gridColumnDefs = flatConfigToGridState(currentScheme.columnConfig);
899
+ return gridColumnDefs;
900
+ }
901
+
902
+ // 【默认逻辑】没有方案配置时,使用原有的列定义生成逻辑
903
+ // 使用缓存的首行数据进行类型推断,而不是当前的 rowData
904
+ // 这样 rowData 更新时不会触发 colDefs 重新计算
905
+ var dataForTypeInference = firstRowDataRef.current || (rowData.length > 0 ? rowData[0] : {});
906
+ var columnDefs = getTableColumns([dataForTypeInference]);
948
907
 
949
908
  // 递归应用 columnCellClass 配置
950
909
  var applyCellConfig = function applyCellConfig(col) {
@@ -977,7 +936,7 @@ function AgGridPlus(props) {
977
936
  });
978
937
  var processedColumns = processColumnGroups(columnDefs);
979
938
  return processedColumns;
980
- }, [React.Children.count(children), props.columnDefs, extensibleColumns, columnCellClass, rowData]);
939
+ }, [columnSchemeManager === null || columnSchemeManager === void 0 ? void 0 : columnSchemeManager.currentScheme, React.Children.count(children), props.columnDefs, extensibleColumns, columnCellClass]);
981
940
 
982
941
  // 构建查询表单项(带 order 属性)
983
942
  var queryFormItems = useMemo(function () {
@@ -1134,8 +1093,8 @@ function AgGridPlus(props) {
1134
1093
  rowSelection: rowSelectionConfig,
1135
1094
  onDragStopped: function onDragStopped(e) {
1136
1095
  if (apiRef.current) {
1137
- var _apiRef$current7;
1138
- var _columnState3 = (_apiRef$current7 = apiRef.current) === null || _apiRef$current7 === void 0 ? void 0 : _apiRef$current7.getColumnState();
1096
+ var _apiRef$current5;
1097
+ var _columnState3 = (_apiRef$current5 = apiRef.current) === null || _apiRef$current5 === void 0 ? void 0 : _apiRef$current5.getColumnState();
1139
1098
  setColumnState(_columnState3);
1140
1099
 
1141
1100
  // onColumnStateChanged && onColumnStateChanged(columnState)
@@ -240,12 +240,12 @@ var ColumnSetting = function ColumnSetting(_ref) {
240
240
 
241
241
  // 等待 Grid 状态更新完成后再保存到方案
242
242
  setTimeout( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
243
- var updatedState, filterModel, defaultScheme, newScheme;
243
+ var updatedState, filterModel, defaultScheme, _newScheme$columnConf, newScheme;
244
244
  return _regeneratorRuntime().wrap(function _callee$(_context) {
245
245
  while (1) switch (_context.prev = _context.next) {
246
246
  case 0:
247
247
  if (!(schemeManager && gridKey)) {
248
- _context.next = 28;
248
+ _context.next = 29;
249
249
  break;
250
250
  }
251
251
  _context.prev = 1;
@@ -278,7 +278,7 @@ var ColumnSetting = function ColumnSetting(_ref) {
278
278
  filterModel: filterModel
279
279
  });
280
280
  case 8:
281
- _context.next = 23;
281
+ _context.next = 24;
282
282
  break;
283
283
  case 10:
284
284
  // 如果没有激活的方案,查找或创建"默认配置"方案
@@ -299,7 +299,7 @@ var ColumnSetting = function ColumnSetting(_ref) {
299
299
  filterModel: filterModel
300
300
  });
301
301
  case 16:
302
- _context.next = 23;
302
+ _context.next = 24;
303
303
  break;
304
304
  case 18:
305
305
  _context.next = 20;
@@ -312,20 +312,29 @@ var ColumnSetting = function ColumnSetting(_ref) {
312
312
  });
313
313
  case 20:
314
314
  newScheme = _context.sent;
315
- _context.next = 23;
315
+ console.log('[ColumnSetting] 创建默认方案成功,准备应用:', {
316
+ schemeId: newScheme.id,
317
+ schemeName: newScheme.name,
318
+ hasColumnConfig: !!newScheme.columnConfig,
319
+ columnConfigLength: ((_newScheme$columnConf = newScheme.columnConfig) === null || _newScheme$columnConf === void 0 ? void 0 : _newScheme$columnConf.length) || 0
320
+ });
321
+
322
+ // 【修复】直接加载方案,确保立即应用
323
+ // loadScheme 会设置 currentScheme 并触发 onSchemeChange
324
+ _context.next = 24;
316
325
  return schemeManager.loadScheme(newScheme.id);
317
- case 23:
318
- _context.next = 28;
326
+ case 24:
327
+ _context.next = 29;
319
328
  break;
320
- case 25:
321
- _context.prev = 25;
329
+ case 26:
330
+ _context.prev = 26;
322
331
  _context.t0 = _context["catch"](1);
323
332
  console.error('[ColumnSetting] 保存列配置到方案失败:', _context.t0);
324
- case 28:
333
+ case 29:
325
334
  case "end":
326
335
  return _context.stop();
327
336
  }
328
- }, _callee, null, [[1, 25]]);
337
+ }, _callee, null, [[1, 26]]);
329
338
  })), 50);
330
339
 
331
340
  // 保存成功后清除备份