@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.
|
@@ -241,145 +241,79 @@ function AgGridPlus(props) {
|
|
|
241
241
|
};
|
|
242
242
|
}, []);
|
|
243
243
|
|
|
244
|
+
// 【修复】缓存第一次数据用于类型推断,避免 rowData 更新时重新计算 colDefs
|
|
245
|
+
// 原因: getTableColumns 只需要第一行数据来推断列的数据类型(数字列自动求和)
|
|
246
|
+
// 类型推断应该只在初始化时进行一次,后续数据更新不应改变列定义
|
|
247
|
+
var firstRowDataRef = (0, _react.useRef)(null);
|
|
248
|
+
(0, _react.useEffect)(function () {
|
|
249
|
+
// 只在首次有数据时保存
|
|
250
|
+
if (!firstRowDataRef.current && rowData.length > 0) {
|
|
251
|
+
firstRowDataRef.current = rowData[0];
|
|
252
|
+
console.log('[AgGridPlus] 保存首行数据用于类型推断:', firstRowDataRef.current);
|
|
253
|
+
}
|
|
254
|
+
}, [rowData]);
|
|
255
|
+
|
|
244
256
|
// 测试列数据
|
|
245
257
|
// 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}]
|
|
246
258
|
|
|
247
259
|
// 加载列方案
|
|
260
|
+
// 仅用于设置列样式,不改变列结构
|
|
261
|
+
// 列结构(包括分组)由 useEffect #2 通过 setGridOption("columnDefs") 处理
|
|
248
262
|
(0, _react.useEffect)(function () {
|
|
249
263
|
var _columnSchemeManager$;
|
|
250
264
|
if (!gridKey || !apiRef.current) return;
|
|
251
265
|
|
|
252
|
-
//
|
|
266
|
+
// 只有当有 columnConfig 时才设置列样式
|
|
253
267
|
if (columnSchemeManager !== null && columnSchemeManager !== void 0 && (_columnSchemeManager$ = columnSchemeManager.currentScheme) !== null && _columnSchemeManager$ !== void 0 && _columnSchemeManager$.columnConfig) {
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
268
|
+
var _require = require("./setting/columnGroupUtils"),
|
|
269
|
+
flatConfigToColumnState = _require.flatConfigToColumnState;
|
|
270
|
+
var _columnState = flatConfigToColumnState(columnSchemeManager.currentScheme.columnConfig);
|
|
271
|
+
console.log('[AgGridPlus] useEffect #1: 设置列样式', {
|
|
272
|
+
gridKey: gridKey,
|
|
273
|
+
schemeId: columnSchemeManager.currentScheme.id,
|
|
274
|
+
schemeName: columnSchemeManager.currentScheme.name,
|
|
275
|
+
columnCount: _columnState.length
|
|
257
276
|
});
|
|
277
|
+
setColumnCellClass(handelgridPlusColumnState(_columnState));
|
|
258
278
|
|
|
259
|
-
//
|
|
260
|
-
// 原因:
|
|
261
|
-
// applyColumnState
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
// 仍然需要设置列样式
|
|
266
|
-
var _require = require("./setting/columnGroupUtils"),
|
|
267
|
-
_flatConfigToColumnState = _require.flatConfigToColumnState;
|
|
268
|
-
var _columnState = _flatConfigToColumnState(columnSchemeManager.currentScheme.columnConfig);
|
|
269
|
-
setColumnCellClass(handelgridPlusColumnState(_columnState));
|
|
270
|
-
return;
|
|
271
|
-
}
|
|
272
|
-
|
|
273
|
-
// 没有分组时,使用 applyColumnState 应用列配置
|
|
274
|
-
var _require2 = require("./setting/columnGroupUtils"),
|
|
275
|
-
flatConfigToColumnState = _require2.flatConfigToColumnState;
|
|
276
|
-
var _columnState2 = flatConfigToColumnState(columnSchemeManager.currentScheme.columnConfig);
|
|
277
|
-
setColumnCellClass(handelgridPlusColumnState(_columnState2));
|
|
278
|
-
var timer = setTimeout(function () {
|
|
279
|
-
var _apiRef$current;
|
|
280
|
-
(_apiRef$current = apiRef.current) === null || _apiRef$current === void 0 || _apiRef$current.applyColumnState({
|
|
281
|
-
state: _columnState2,
|
|
282
|
-
applyOrder: true
|
|
283
|
-
});
|
|
284
|
-
}, 10);
|
|
285
|
-
return function () {
|
|
286
|
-
return clearTimeout(timer);
|
|
287
|
-
};
|
|
279
|
+
// 【重要】不再调用 applyColumnState
|
|
280
|
+
// 原因:
|
|
281
|
+
// 1. 如果有分组,applyColumnState 会破坏分组结构
|
|
282
|
+
// 2. 列顺序、宽度、隐藏等属性已由 useEffect #2 的 setGridOption("columnDefs") 应用
|
|
283
|
+
// 3. 这里只负责设置列样式(cellClass)
|
|
288
284
|
}
|
|
289
|
-
|
|
290
|
-
else if (gridPlusColumnState !== null && gridPlusColumnState !== void 0 && gridPlusColumnState[gridKey]) {
|
|
291
|
-
var currentState = gridPlusColumnState[gridKey];
|
|
292
|
-
setColumnCellClass(handelgridPlusColumnState(currentState));
|
|
293
|
-
var _timer = setTimeout(function () {
|
|
294
|
-
var _apiRef$current2;
|
|
295
|
-
(_apiRef$current2 = apiRef.current) === null || _apiRef$current2 === void 0 || _apiRef$current2.applyColumnState({
|
|
296
|
-
state: currentState,
|
|
297
|
-
applyOrder: true
|
|
298
|
-
});
|
|
299
|
-
}, 10);
|
|
300
|
-
return function () {
|
|
301
|
-
return clearTimeout(_timer);
|
|
302
|
-
};
|
|
303
|
-
}
|
|
304
|
-
}, [gridKey, columnSchemeManager === null || columnSchemeManager === void 0 || (_columnSchemeManager$2 = columnSchemeManager.currentScheme) === null || _columnSchemeManager$2 === void 0 ? void 0 : _columnSchemeManager$2.columnConfig, gridPlusColumnState]);
|
|
285
|
+
}, [gridKey, columnSchemeManager === null || columnSchemeManager === void 0 || (_columnSchemeManager$2 = columnSchemeManager.currentScheme) === null || _columnSchemeManager$2 === void 0 ? void 0 : _columnSchemeManager$2.columnConfig]);
|
|
305
286
|
|
|
306
|
-
//
|
|
287
|
+
// 【修复】使用 applyColumnState 来应用列的顺序、宽度、隐藏等状态
|
|
288
|
+
// applyColumnState 是 AG-Grid 推荐的方式,专门用于控制列状态
|
|
307
289
|
(0, _react.useEffect)(function () {
|
|
308
|
-
var _currentScheme$column;
|
|
309
290
|
var currentScheme = columnSchemeManager === null || columnSchemeManager === void 0 ? void 0 : columnSchemeManager.currentScheme;
|
|
310
|
-
|
|
311
|
-
// 两个依赖都不存在时,直接返回
|
|
312
291
|
if (!apiRef.current || !currentScheme) {
|
|
313
|
-
console.log('[AgGridPlus] useEffect: 等待依赖准备', {
|
|
314
|
-
hasApiRef: !!apiRef.current,
|
|
315
|
-
hasCurrentScheme: !!currentScheme
|
|
316
|
-
});
|
|
317
292
|
return;
|
|
318
293
|
}
|
|
319
|
-
console.log('[AgGridPlus] useEffect: 两个依赖都准备好,应用方案', {
|
|
320
|
-
schemeId: currentScheme.id,
|
|
321
|
-
schemeName: currentScheme.name,
|
|
322
|
-
hasColumnConfig: !!currentScheme.columnConfig,
|
|
323
|
-
columnConfigCount: ((_currentScheme$column = currentScheme.columnConfig) === null || _currentScheme$column === void 0 ? void 0 : _currentScheme$column.length) || 0
|
|
324
|
-
});
|
|
325
|
-
var timer = setTimeout(function () {
|
|
326
|
-
// 优先使用 columnConfig(包含完整的分组结构)
|
|
327
|
-
if (currentScheme.columnConfig) {
|
|
328
|
-
var _require3 = require("./setting/columnGroupUtils"),
|
|
329
|
-
flatConfigToGridState = _require3.flatConfigToGridState;
|
|
330
|
-
var gridColumnDefs = flatConfigToGridState(currentScheme.columnConfig);
|
|
331
|
-
console.log('[AgGridPlus] useEffect: 应用方案的 columnConfig:', {
|
|
332
|
-
columnConfig: currentScheme.columnConfig,
|
|
333
|
-
columnConfigLength: currentScheme.columnConfig.length,
|
|
334
|
-
gridColumnDefs: gridColumnDefs,
|
|
335
|
-
gridColumnDefsLength: gridColumnDefs.length,
|
|
336
|
-
columnConfigDetail: currentScheme.columnConfig.map(function (item) {
|
|
337
|
-
return {
|
|
338
|
-
type: item.type,
|
|
339
|
-
field: item.field,
|
|
340
|
-
headerName: item.headerName,
|
|
341
|
-
order: item.order,
|
|
342
|
-
parentId: item.parentId
|
|
343
|
-
};
|
|
344
|
-
}),
|
|
345
|
-
gridColumnDefsDetail: gridColumnDefs.map(function (def, idx) {
|
|
346
|
-
var _def$children;
|
|
347
|
-
return {
|
|
348
|
-
index: idx,
|
|
349
|
-
field: def.field,
|
|
350
|
-
headerName: def.headerName,
|
|
351
|
-
groupId: def.groupId,
|
|
352
|
-
children: (_def$children = def.children) === null || _def$children === void 0 ? void 0 : _def$children.length
|
|
353
|
-
};
|
|
354
|
-
})
|
|
355
|
-
});
|
|
356
294
|
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
295
|
+
// 如果有 columnConfig,使用 applyColumnState 应用列状态
|
|
296
|
+
if (currentScheme.columnConfig && currentScheme.columnConfig.length > 0) {
|
|
297
|
+
var _require2 = require("./setting/columnGroupUtils"),
|
|
298
|
+
flatConfigToColumnState = _require2.flatConfigToColumnState;
|
|
299
|
+
var _columnState2 = flatConfigToColumnState(currentScheme.columnConfig);
|
|
360
300
|
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
apiRef.current.setFilterModel(currentScheme.filterModel);
|
|
369
|
-
}
|
|
370
|
-
});
|
|
371
|
-
}
|
|
372
|
-
}
|
|
301
|
+
// 使用 applyColumnState 应用列状态
|
|
302
|
+
// applyOrder: true 表示按照 state 数组的顺序重新排列列
|
|
303
|
+
apiRef.current.applyColumnState({
|
|
304
|
+
state: _columnState2,
|
|
305
|
+
applyOrder: true
|
|
306
|
+
});
|
|
307
|
+
}
|
|
373
308
|
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
};
|
|
309
|
+
// 应用过滤器状态
|
|
310
|
+
if (currentScheme.filterModel) {
|
|
311
|
+
setTimeout(function () {
|
|
312
|
+
if (apiRef.current) {
|
|
313
|
+
apiRef.current.setFilterModel(currentScheme.filterModel);
|
|
314
|
+
}
|
|
315
|
+
}, 50); // 延迟稍长一点,等待 columnState 应用完成
|
|
316
|
+
}
|
|
383
317
|
}, [apiRef.current, columnSchemeManager === null || columnSchemeManager === void 0 ? void 0 : columnSchemeManager.currentScheme]);
|
|
384
318
|
(0, _react.useEffect)(function () {
|
|
385
319
|
setRowData(dataSource || propRowData || []);
|
|
@@ -541,11 +475,22 @@ function AgGridPlus(props) {
|
|
|
541
475
|
};
|
|
542
476
|
|
|
543
477
|
// 计算所有列定义(包括隐藏的列)
|
|
478
|
+
// 【修复】移除 rowData 依赖,使用缓存的首行数据进行类型推断
|
|
544
479
|
var allColDefs = (0, _react.useMemo)(function () {
|
|
545
|
-
var
|
|
480
|
+
var dataForTypeInference = firstRowDataRef.current || (rowData.length > 0 ? rowData[0] : {});
|
|
481
|
+
var cols = getTableColumns([dataForTypeInference]);
|
|
546
482
|
allColDefsRef.current = cols; // 同步更新 ref
|
|
483
|
+
|
|
484
|
+
console.log('[AgGridPlus] allColDefs 重新计算:', {
|
|
485
|
+
childrenCount: _react.default.Children.count(children),
|
|
486
|
+
hasPropsColumnDefs: !!props.columnDefs,
|
|
487
|
+
extensibleColumnsCount: Object.keys(extensibleColumns || {}).length,
|
|
488
|
+
gridKey: gridKey,
|
|
489
|
+
colsCount: cols.length,
|
|
490
|
+
usingCachedData: !!firstRowDataRef.current
|
|
491
|
+
});
|
|
547
492
|
return cols;
|
|
548
|
-
}, [_react.default.Children.count(children), props.columnDefs, extensibleColumns,
|
|
493
|
+
}, [_react.default.Children.count(children), props.columnDefs, extensibleColumns, gridKey]);
|
|
549
494
|
|
|
550
495
|
// 稳定化 gridParams 和 sortColumn 的引用
|
|
551
496
|
var stableGridParams = (0, _react.useMemo)(function () {
|
|
@@ -600,7 +545,7 @@ function AgGridPlus(props) {
|
|
|
600
545
|
};
|
|
601
546
|
}, [propsRowSelection, enableClickSelection]);
|
|
602
547
|
var onGridReady = (0, _react.useCallback)(function (params) {
|
|
603
|
-
var _columnSchemeManager$3, _columnSchemeManager$4, _columnSchemeManager$5, _apiRef$
|
|
548
|
+
var _columnSchemeManager$3, _columnSchemeManager$4, _columnSchemeManager$5, _apiRef$current;
|
|
604
549
|
console.log('[AgGridPlus] onGridReady 被调用:', {
|
|
605
550
|
hasColumnSchemeManager: !!columnSchemeManager,
|
|
606
551
|
hasCurrentScheme: !!(columnSchemeManager !== null && columnSchemeManager !== void 0 && columnSchemeManager.currentScheme),
|
|
@@ -612,7 +557,7 @@ function AgGridPlus(props) {
|
|
|
612
557
|
onReady && onReady(params);
|
|
613
558
|
///@ts-ignore
|
|
614
559
|
dataSource && setRowData(dataSource);
|
|
615
|
-
setColumnState((_apiRef$
|
|
560
|
+
setColumnState((_apiRef$current = apiRef.current) === null || _apiRef$current === void 0 ? void 0 : _apiRef$current.getColumnState());
|
|
616
561
|
sortChanged(params.api);
|
|
617
562
|
setReady(true);
|
|
618
563
|
|
|
@@ -637,7 +582,7 @@ function AgGridPlus(props) {
|
|
|
637
582
|
sorter: getSort(stableSortColumn)
|
|
638
583
|
});
|
|
639
584
|
requestRef.current(params, undefined, queryFilter).then(function (response) {
|
|
640
|
-
var _apiRef$
|
|
585
|
+
var _apiRef$current2;
|
|
641
586
|
// 验证响应数据格式
|
|
642
587
|
if (!response || _typeof(response) !== 'object') {
|
|
643
588
|
throw new _errors.GridPlusError('服务器返回数据格式错误', _errors.ErrorType.DATA_FORMAT_ERROR, _errors.ErrorSeverity.HIGH, {
|
|
@@ -653,7 +598,7 @@ function AgGridPlus(props) {
|
|
|
653
598
|
var rowCount = response.total;
|
|
654
599
|
setRowData(rowData);
|
|
655
600
|
// 刷新所有单元格
|
|
656
|
-
(_apiRef$
|
|
601
|
+
(_apiRef$current2 = apiRef.current) === null || _apiRef$current2 === void 0 || _apiRef$current2.refreshCells({
|
|
657
602
|
force: true
|
|
658
603
|
});
|
|
659
604
|
setPagination(function (prev) {
|
|
@@ -927,8 +872,8 @@ function AgGridPlus(props) {
|
|
|
927
872
|
});
|
|
928
873
|
}
|
|
929
874
|
if (!allColDefs || displayedData.length === 0) {
|
|
930
|
-
var _apiRef$
|
|
931
|
-
(_apiRef$
|
|
875
|
+
var _apiRef$current3;
|
|
876
|
+
(_apiRef$current3 = apiRef.current) === null || _apiRef$current3 === void 0 || _apiRef$current3.setGridOption('pinnedBottomRowData', undefined);
|
|
932
877
|
return;
|
|
933
878
|
}
|
|
934
879
|
var calcColFields = allColDefs.filter(function (col) {
|
|
@@ -942,16 +887,30 @@ function AgGridPlus(props) {
|
|
|
942
887
|
};
|
|
943
888
|
});
|
|
944
889
|
if (calcColFields.length > 0) {
|
|
945
|
-
var _apiRef$
|
|
890
|
+
var _apiRef$current4;
|
|
946
891
|
var calculatedValues = calculatefun(calcColFields, displayedData);
|
|
947
|
-
(_apiRef$
|
|
892
|
+
(_apiRef$current4 = apiRef.current) === null || _apiRef$current4 === void 0 || _apiRef$current4.setGridOption('pinnedBottomRowData', calculatedValues);
|
|
948
893
|
}
|
|
949
894
|
}, [allColDefs, calculatefun]);
|
|
950
895
|
var onFilterChanged = function onFilterChanged(event) {
|
|
951
896
|
calculateSum();
|
|
952
897
|
};
|
|
953
898
|
var colDefs = (0, _react.useMemo)(function () {
|
|
954
|
-
var
|
|
899
|
+
var currentScheme = columnSchemeManager === null || columnSchemeManager === void 0 ? void 0 : columnSchemeManager.currentScheme;
|
|
900
|
+
|
|
901
|
+
// 【修复】优先使用方案的 columnConfig,避免被默认逻辑覆盖
|
|
902
|
+
if (currentScheme !== null && currentScheme !== void 0 && currentScheme.columnConfig && currentScheme.columnConfig.length > 0) {
|
|
903
|
+
var _require3 = require("./setting/columnGroupUtils"),
|
|
904
|
+
flatConfigToGridState = _require3.flatConfigToGridState;
|
|
905
|
+
var gridColumnDefs = flatConfigToGridState(currentScheme.columnConfig);
|
|
906
|
+
return gridColumnDefs;
|
|
907
|
+
}
|
|
908
|
+
|
|
909
|
+
// 【默认逻辑】没有方案配置时,使用原有的列定义生成逻辑
|
|
910
|
+
// 使用缓存的首行数据进行类型推断,而不是当前的 rowData
|
|
911
|
+
// 这样 rowData 更新时不会触发 colDefs 重新计算
|
|
912
|
+
var dataForTypeInference = firstRowDataRef.current || (rowData.length > 0 ? rowData[0] : {});
|
|
913
|
+
var columnDefs = getTableColumns([dataForTypeInference]);
|
|
955
914
|
|
|
956
915
|
// 递归应用 columnCellClass 配置
|
|
957
916
|
var applyCellConfig = function applyCellConfig(col) {
|
|
@@ -984,7 +943,7 @@ function AgGridPlus(props) {
|
|
|
984
943
|
});
|
|
985
944
|
var processedColumns = (0, _processColumnGroups.default)(columnDefs);
|
|
986
945
|
return processedColumns;
|
|
987
|
-
}, [_react.default.Children.count(children), props.columnDefs, extensibleColumns, columnCellClass
|
|
946
|
+
}, [columnSchemeManager === null || columnSchemeManager === void 0 ? void 0 : columnSchemeManager.currentScheme, _react.default.Children.count(children), props.columnDefs, extensibleColumns, columnCellClass]);
|
|
988
947
|
|
|
989
948
|
// 构建查询表单项(带 order 属性)
|
|
990
949
|
var queryFormItems = (0, _react.useMemo)(function () {
|
|
@@ -1141,8 +1100,8 @@ function AgGridPlus(props) {
|
|
|
1141
1100
|
rowSelection: rowSelectionConfig,
|
|
1142
1101
|
onDragStopped: function onDragStopped(e) {
|
|
1143
1102
|
if (apiRef.current) {
|
|
1144
|
-
var _apiRef$
|
|
1145
|
-
var _columnState3 = (_apiRef$
|
|
1103
|
+
var _apiRef$current5;
|
|
1104
|
+
var _columnState3 = (_apiRef$current5 = apiRef.current) === null || _apiRef$current5 === void 0 ? void 0 : _apiRef$current5.getColumnState();
|
|
1146
1105
|
setColumnState(_columnState3);
|
|
1147
1106
|
|
|
1148
1107
|
// onColumnStateChanged && onColumnStateChanged(columnState)
|
|
@@ -249,12 +249,12 @@ var ColumnSetting = function ColumnSetting(_ref) {
|
|
|
249
249
|
|
|
250
250
|
// 等待 Grid 状态更新完成后再保存到方案
|
|
251
251
|
setTimeout( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
252
|
-
var updatedState, filterModel, defaultScheme, newScheme;
|
|
252
|
+
var updatedState, filterModel, defaultScheme, _newScheme$columnConf, newScheme;
|
|
253
253
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
254
254
|
while (1) switch (_context.prev = _context.next) {
|
|
255
255
|
case 0:
|
|
256
256
|
if (!(schemeManager && gridKey)) {
|
|
257
|
-
_context.next =
|
|
257
|
+
_context.next = 29;
|
|
258
258
|
break;
|
|
259
259
|
}
|
|
260
260
|
_context.prev = 1;
|
|
@@ -287,7 +287,7 @@ var ColumnSetting = function ColumnSetting(_ref) {
|
|
|
287
287
|
filterModel: filterModel
|
|
288
288
|
});
|
|
289
289
|
case 8:
|
|
290
|
-
_context.next =
|
|
290
|
+
_context.next = 24;
|
|
291
291
|
break;
|
|
292
292
|
case 10:
|
|
293
293
|
// 如果没有激活的方案,查找或创建"默认配置"方案
|
|
@@ -308,7 +308,7 @@ var ColumnSetting = function ColumnSetting(_ref) {
|
|
|
308
308
|
filterModel: filterModel
|
|
309
309
|
});
|
|
310
310
|
case 16:
|
|
311
|
-
_context.next =
|
|
311
|
+
_context.next = 24;
|
|
312
312
|
break;
|
|
313
313
|
case 18:
|
|
314
314
|
_context.next = 20;
|
|
@@ -321,20 +321,29 @@ var ColumnSetting = function ColumnSetting(_ref) {
|
|
|
321
321
|
});
|
|
322
322
|
case 20:
|
|
323
323
|
newScheme = _context.sent;
|
|
324
|
-
|
|
324
|
+
console.log('[ColumnSetting] 创建默认方案成功,准备应用:', {
|
|
325
|
+
schemeId: newScheme.id,
|
|
326
|
+
schemeName: newScheme.name,
|
|
327
|
+
hasColumnConfig: !!newScheme.columnConfig,
|
|
328
|
+
columnConfigLength: ((_newScheme$columnConf = newScheme.columnConfig) === null || _newScheme$columnConf === void 0 ? void 0 : _newScheme$columnConf.length) || 0
|
|
329
|
+
});
|
|
330
|
+
|
|
331
|
+
// 【修复】直接加载方案,确保立即应用
|
|
332
|
+
// loadScheme 会设置 currentScheme 并触发 onSchemeChange
|
|
333
|
+
_context.next = 24;
|
|
325
334
|
return schemeManager.loadScheme(newScheme.id);
|
|
326
|
-
case
|
|
327
|
-
_context.next =
|
|
335
|
+
case 24:
|
|
336
|
+
_context.next = 29;
|
|
328
337
|
break;
|
|
329
|
-
case
|
|
330
|
-
_context.prev =
|
|
338
|
+
case 26:
|
|
339
|
+
_context.prev = 26;
|
|
331
340
|
_context.t0 = _context["catch"](1);
|
|
332
341
|
console.error('[ColumnSetting] 保存列配置到方案失败:', _context.t0);
|
|
333
|
-
case
|
|
342
|
+
case 29:
|
|
334
343
|
case "end":
|
|
335
344
|
return _context.stop();
|
|
336
345
|
}
|
|
337
|
-
}, _callee, null, [[1,
|
|
346
|
+
}, _callee, null, [[1, 26]]);
|
|
338
347
|
})), 50);
|
|
339
348
|
|
|
340
349
|
// 保存成功后清除备份
|