@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
|
-
//
|
|
259
|
+
// 只有当有 columnConfig 时才设置列样式
|
|
246
260
|
if (columnSchemeManager !== null && columnSchemeManager !== void 0 && (_columnSchemeManager$ = columnSchemeManager.currentScheme) !== null && _columnSchemeManager$ !== void 0 && _columnSchemeManager$.columnConfig) {
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
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
|
-
//
|
|
253
|
-
// 原因:
|
|
254
|
-
// applyColumnState
|
|
255
|
-
|
|
256
|
-
|
|
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
|
-
|
|
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
|
-
//
|
|
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
|
-
|
|
351
|
-
|
|
352
|
-
|
|
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
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
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
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
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
|
|
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,
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
924
|
-
(_apiRef$
|
|
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$
|
|
883
|
+
var _apiRef$current4;
|
|
939
884
|
var calculatedValues = calculatefun(calcColFields, displayedData);
|
|
940
|
-
(_apiRef$
|
|
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
|
|
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
|
|
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$
|
|
1138
|
-
var _columnState3 = (_apiRef$
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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
|
-
|
|
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
|
|
318
|
-
_context.next =
|
|
326
|
+
case 24:
|
|
327
|
+
_context.next = 29;
|
|
319
328
|
break;
|
|
320
|
-
case
|
|
321
|
-
_context.prev =
|
|
329
|
+
case 26:
|
|
330
|
+
_context.prev = 26;
|
|
322
331
|
_context.t0 = _context["catch"](1);
|
|
323
332
|
console.error('[ColumnSetting] 保存列配置到方案失败:', _context.t0);
|
|
324
|
-
case
|
|
333
|
+
case 29:
|
|
325
334
|
case "end":
|
|
326
335
|
return _context.stop();
|
|
327
336
|
}
|
|
328
|
-
}, _callee, null, [[1,
|
|
337
|
+
}, _callee, null, [[1, 26]]);
|
|
329
338
|
})), 50);
|
|
330
339
|
|
|
331
340
|
// 保存成功后清除备份
|