@nokecy/qc-ui 1.0.78 → 1.0.81

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.
@@ -145,114 +145,152 @@ var ColumnSetting = function ColumnSetting(_ref) {
145
145
  }, [schemeManager === null || schemeManager === void 0 ? void 0 : schemeManager.currentScheme, visible, form, getColumnData]);
146
146
 
147
147
  // 保存列配置
148
- var handleSaveColumns = useCallback( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
149
- var values, processedColumns, currentState, defaultScheme, newScheme;
150
- return _regeneratorRuntime().wrap(function _callee$(_context) {
151
- while (1) switch (_context.prev = _context.next) {
148
+ var handleSaveColumns = useCallback( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
149
+ var values, processedColumns;
150
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
151
+ while (1) switch (_context2.prev = _context2.next) {
152
152
  case 0:
153
153
  if (form) {
154
- _context.next = 2;
154
+ _context2.next = 2;
155
155
  break;
156
156
  }
157
- return _context.abrupt("return");
157
+ return _context2.abrupt("return");
158
158
  case 2:
159
159
  values = form.values;
160
160
  onSaveColumnState && onSaveColumnState(values.items);
161
- processedColumns = processColumnGroups(values.items); // 如果启用了列方案管理,自动保存到当前方案或创建/更新默认方案
162
- if (!(schemeManager && gridKey)) {
163
- _context.next = 31;
164
- break;
165
- }
166
- _context.prev = 6;
167
- currentState = gridApi.getColumnState();
168
- if (!schemeManager.currentScheme) {
169
- _context.next = 13;
170
- break;
171
- }
172
- _context.next = 11;
173
- return schemeManager.saveScheme({
174
- columnState: currentState
175
- });
176
- case 11:
177
- _context.next = 26;
178
- break;
179
- case 13:
180
- // 如果没有激活的方案,查找或创建"默认配置"方案
181
- defaultScheme = schemeManager.schemes.find(function (s) {
182
- return s.isDefault;
183
- });
184
- if (!defaultScheme) {
185
- _context.next = 21;
186
- break;
187
- }
188
- _context.next = 17;
189
- return schemeManager.loadScheme(defaultScheme.id);
190
- case 17:
191
- _context.next = 19;
192
- return schemeManager.saveScheme({
193
- columnState: currentState
194
- });
195
- case 19:
196
- _context.next = 26;
197
- break;
198
- case 21:
199
- _context.next = 23;
200
- return schemeManager.createScheme('默认配置', currentState, {
201
- isDefault: true,
202
- description: '自动保存的默认列配置'
203
- });
204
- case 23:
205
- newScheme = _context.sent;
206
- _context.next = 26;
207
- return schemeManager.loadScheme(newScheme.id);
208
- case 26:
209
- _context.next = 31;
210
- break;
211
- case 28:
212
- _context.prev = 28;
213
- _context.t0 = _context["catch"](6);
214
- console.error('[ColumnSetting] 保存列配置到方案失败:', _context.t0);
215
- // 即使保存到方案失败,也继续应用到 Grid
216
- case 31:
161
+ processedColumns = processColumnGroups(values.items); // 先应用列配置到 Grid
217
162
  if (type !== 'formArrayTable') {
218
163
  gridApi.setGridOption("columnDefs", processedColumns);
219
164
  }
220
- setTimeout(function () {
221
- gridApi.applyColumnState({
222
- state: processedColumns,
223
- applyOrder: true
224
- });
225
- }, 10);
165
+
166
+ // 应用列状态(包括顺序、宽度、隐藏等)
167
+ gridApi.applyColumnState({
168
+ state: processedColumns,
169
+ applyOrder: true
170
+ });
171
+
172
+ // 等待 Grid 状态更新完成后再保存到方案
173
+ setTimeout( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
174
+ var updatedState, defaultScheme, newScheme;
175
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
176
+ while (1) switch (_context.prev = _context.next) {
177
+ case 0:
178
+ if (!(schemeManager && gridKey)) {
179
+ _context.next = 26;
180
+ break;
181
+ }
182
+ _context.prev = 1;
183
+ // 从 Grid 获取应用后的最新列状态
184
+ updatedState = gridApi.getColumnState();
185
+ if (!schemeManager.currentScheme) {
186
+ _context.next = 8;
187
+ break;
188
+ }
189
+ _context.next = 6;
190
+ return schemeManager.saveScheme({
191
+ columnState: updatedState
192
+ });
193
+ case 6:
194
+ _context.next = 21;
195
+ break;
196
+ case 8:
197
+ // 如果没有激活的方案,查找或创建"默认配置"方案
198
+ defaultScheme = schemeManager.schemes.find(function (s) {
199
+ return s.isDefault;
200
+ });
201
+ if (!defaultScheme) {
202
+ _context.next = 16;
203
+ break;
204
+ }
205
+ _context.next = 12;
206
+ return schemeManager.loadScheme(defaultScheme.id);
207
+ case 12:
208
+ _context.next = 14;
209
+ return schemeManager.saveScheme({
210
+ columnState: updatedState
211
+ });
212
+ case 14:
213
+ _context.next = 21;
214
+ break;
215
+ case 16:
216
+ _context.next = 18;
217
+ return schemeManager.createScheme('默认配置', updatedState, {
218
+ isDefault: true,
219
+ description: '自动保存的默认列配置'
220
+ });
221
+ case 18:
222
+ newScheme = _context.sent;
223
+ _context.next = 21;
224
+ return schemeManager.loadScheme(newScheme.id);
225
+ case 21:
226
+ _context.next = 26;
227
+ break;
228
+ case 23:
229
+ _context.prev = 23;
230
+ _context.t0 = _context["catch"](1);
231
+ console.error('[ColumnSetting] 保存列配置到方案失败:', _context.t0);
232
+ case 26:
233
+ case "end":
234
+ return _context.stop();
235
+ }
236
+ }, _callee, null, [[1, 23]]);
237
+ })), 50);
226
238
  message.success('列配置已保存');
227
239
  onClose();
228
- case 35:
240
+ case 10:
229
241
  case "end":
230
- return _context.stop();
242
+ return _context2.stop();
231
243
  }
232
- }, _callee, null, [[6, 28]]);
244
+ }, _callee2);
233
245
  })), [form, gridApi, onSaveColumnState, type, onClose, schemeManager, gridKey]);
234
246
 
235
247
  // 保存为新方案
236
- var handleSaveScheme = useCallback( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
237
- var currentState, newScheme;
238
- return _regeneratorRuntime().wrap(function _callee2$(_context2) {
239
- while (1) switch (_context2.prev = _context2.next) {
248
+ var handleSaveScheme = useCallback( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
249
+ var columnStateToSave, values, processedColumns, newScheme;
250
+ return _regeneratorRuntime().wrap(function _callee3$(_context3) {
251
+ while (1) switch (_context3.prev = _context3.next) {
240
252
  case 0:
241
253
  if (schemeName.trim()) {
242
- _context2.next = 3;
254
+ _context3.next = 3;
243
255
  break;
244
256
  }
245
257
  message.warning('请输入方案名称');
246
- return _context2.abrupt("return");
258
+ return _context3.abrupt("return");
247
259
  case 3:
248
- currentState = gridApi.getColumnState();
249
- _context2.prev = 4;
250
- _context2.next = 7;
251
- return schemeManager === null || schemeManager === void 0 ? void 0 : schemeManager.createScheme(schemeName.trim(), currentState, {
260
+ _context3.prev = 3;
261
+ if (!(activeTab === 'columns' && form)) {
262
+ _context3.next = 14;
263
+ break;
264
+ }
265
+ values = form.values;
266
+ processedColumns = processColumnGroups(values.items); // 先应用到 Grid
267
+ if (type !== 'formArrayTable') {
268
+ gridApi.setGridOption("columnDefs", processedColumns);
269
+ }
270
+ gridApi.applyColumnState({
271
+ state: processedColumns,
272
+ applyOrder: true
273
+ });
274
+
275
+ // 等待状态更新,然后获取最新状态
276
+ _context3.next = 11;
277
+ return new Promise(function (resolve) {
278
+ return setTimeout(resolve, 50);
279
+ });
280
+ case 11:
281
+ columnStateToSave = gridApi.getColumnState();
282
+ _context3.next = 15;
283
+ break;
284
+ case 14:
285
+ // 如果在"方案管理"标签页,直接获取当前 Grid 状态
286
+ columnStateToSave = gridApi.getColumnState();
287
+ case 15:
288
+ _context3.next = 17;
289
+ return schemeManager === null || schemeManager === void 0 ? void 0 : schemeManager.createScheme(schemeName.trim(), columnStateToSave, {
252
290
  description: schemeDescription.trim() || "\u521B\u5EFA\u4E8E ".concat(new Date().toLocaleString())
253
291
  });
254
- case 7:
255
- newScheme = _context2.sent;
292
+ case 17:
293
+ newScheme = _context3.sent;
256
294
  message.success('方案保存成功');
257
295
  setSaveSchemeVisible(false);
258
296
  setSchemeName('');
@@ -260,27 +298,27 @@ var ColumnSetting = function ColumnSetting(_ref) {
260
298
 
261
299
  // 切换到方案管理标签页,显示新创建的方案
262
300
  setActiveTab('schemes');
263
- _context2.next = 18;
301
+ _context3.next = 28;
264
302
  break;
265
- case 15:
266
- _context2.prev = 15;
267
- _context2.t0 = _context2["catch"](4);
268
- message.error(_context2.t0.message || '保存方案失败');
269
- case 18:
303
+ case 25:
304
+ _context3.prev = 25;
305
+ _context3.t0 = _context3["catch"](3);
306
+ message.error(_context3.t0.message || '保存方案失败');
307
+ case 28:
270
308
  case "end":
271
- return _context2.stop();
309
+ return _context3.stop();
272
310
  }
273
- }, _callee2, null, [[4, 15]]);
274
- })), [gridApi, schemeManager, schemeName, schemeDescription]);
311
+ }, _callee3, null, [[3, 25]]);
312
+ })), [gridApi, schemeManager, schemeName, schemeDescription, activeTab, form, type]);
275
313
 
276
314
  // 加载方案
277
315
  var handleLoadScheme = useCallback( /*#__PURE__*/function () {
278
- var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(schemeId) {
279
- return _regeneratorRuntime().wrap(function _callee3$(_context3) {
280
- while (1) switch (_context3.prev = _context3.next) {
316
+ var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(schemeId) {
317
+ return _regeneratorRuntime().wrap(function _callee4$(_context4) {
318
+ while (1) switch (_context4.prev = _context4.next) {
281
319
  case 0:
282
- _context3.prev = 0;
283
- _context3.next = 3;
320
+ _context4.prev = 0;
321
+ _context4.next = 3;
284
322
  return schemeManager === null || schemeManager === void 0 ? void 0 : schemeManager.loadScheme(schemeId);
285
323
  case 3:
286
324
  message.success('方案已加载');
@@ -297,76 +335,76 @@ var ColumnSetting = function ColumnSetting(_ref) {
297
335
 
298
336
  // 自动关闭弹窗,让用户看到Grid的变化
299
337
  onClose();
300
- _context3.next = 11;
338
+ _context4.next = 11;
301
339
  break;
302
340
  case 8:
303
- _context3.prev = 8;
304
- _context3.t0 = _context3["catch"](0);
305
- message.error(_context3.t0.message || '加载方案失败');
341
+ _context4.prev = 8;
342
+ _context4.t0 = _context4["catch"](0);
343
+ message.error(_context4.t0.message || '加载方案失败');
306
344
  case 11:
307
345
  case "end":
308
- return _context3.stop();
346
+ return _context4.stop();
309
347
  }
310
- }, _callee3, null, [[0, 8]]);
348
+ }, _callee4, null, [[0, 8]]);
311
349
  }));
312
350
  return function (_x) {
313
- return _ref4.apply(this, arguments);
351
+ return _ref5.apply(this, arguments);
314
352
  };
315
353
  }(), [schemeManager, form, getColumnData, onClose]);
316
354
 
317
355
  // 设置默认方案
318
356
  var handleSetDefault = useCallback( /*#__PURE__*/function () {
319
- var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(schemeId) {
320
- return _regeneratorRuntime().wrap(function _callee4$(_context4) {
321
- while (1) switch (_context4.prev = _context4.next) {
357
+ var _ref6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(schemeId) {
358
+ return _regeneratorRuntime().wrap(function _callee5$(_context5) {
359
+ while (1) switch (_context5.prev = _context5.next) {
322
360
  case 0:
323
- _context4.prev = 0;
324
- _context4.next = 3;
361
+ _context5.prev = 0;
362
+ _context5.next = 3;
325
363
  return schemeManager === null || schemeManager === void 0 ? void 0 : schemeManager.setDefaultScheme(schemeId);
326
364
  case 3:
327
365
  message.success('已设置为默认方案');
328
- _context4.next = 9;
366
+ _context5.next = 9;
329
367
  break;
330
368
  case 6:
331
- _context4.prev = 6;
332
- _context4.t0 = _context4["catch"](0);
333
- message.error(_context4.t0.message || '设置失败');
369
+ _context5.prev = 6;
370
+ _context5.t0 = _context5["catch"](0);
371
+ message.error(_context5.t0.message || '设置失败');
334
372
  case 9:
335
373
  case "end":
336
- return _context4.stop();
374
+ return _context5.stop();
337
375
  }
338
- }, _callee4, null, [[0, 6]]);
376
+ }, _callee5, null, [[0, 6]]);
339
377
  }));
340
378
  return function (_x2) {
341
- return _ref5.apply(this, arguments);
379
+ return _ref6.apply(this, arguments);
342
380
  };
343
381
  }(), [schemeManager]);
344
382
 
345
383
  // 删除方案
346
384
  var handleDeleteScheme = useCallback( /*#__PURE__*/function () {
347
- var _ref6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(schemeId, schemeName) {
348
- return _regeneratorRuntime().wrap(function _callee5$(_context5) {
349
- while (1) switch (_context5.prev = _context5.next) {
385
+ var _ref7 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6(schemeId, schemeName) {
386
+ return _regeneratorRuntime().wrap(function _callee6$(_context6) {
387
+ while (1) switch (_context6.prev = _context6.next) {
350
388
  case 0:
351
- _context5.prev = 0;
352
- _context5.next = 3;
389
+ _context6.prev = 0;
390
+ _context6.next = 3;
353
391
  return schemeManager === null || schemeManager === void 0 ? void 0 : schemeManager.deleteScheme(schemeId);
354
392
  case 3:
355
393
  message.success("\u65B9\u6848\"".concat(schemeName, "\"\u5DF2\u5220\u9664"));
356
- _context5.next = 9;
394
+ _context6.next = 9;
357
395
  break;
358
396
  case 6:
359
- _context5.prev = 6;
360
- _context5.t0 = _context5["catch"](0);
361
- message.error(_context5.t0.message || '删除失败');
397
+ _context6.prev = 6;
398
+ _context6.t0 = _context6["catch"](0);
399
+ message.error(_context6.t0.message || '删除失败');
362
400
  case 9:
363
401
  case "end":
364
- return _context5.stop();
402
+ return _context6.stop();
365
403
  }
366
- }, _callee5, null, [[0, 6]]);
404
+ }, _callee6, null, [[0, 6]]);
367
405
  }));
368
406
  return function (_x3, _x4) {
369
- return _ref6.apply(this, arguments);
407
+ return _ref7.apply(this, arguments);
370
408
  };
371
409
  }(), [schemeManager]);
372
410
 
@@ -378,18 +416,18 @@ var ColumnSetting = function ColumnSetting(_ref) {
378
416
  }, []);
379
417
 
380
418
  // 保存编辑
381
- var handleSaveEdit = useCallback( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6() {
382
- return _regeneratorRuntime().wrap(function _callee6$(_context6) {
383
- while (1) switch (_context6.prev = _context6.next) {
419
+ var handleSaveEdit = useCallback( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7() {
420
+ return _regeneratorRuntime().wrap(function _callee7$(_context7) {
421
+ while (1) switch (_context7.prev = _context7.next) {
384
422
  case 0:
385
423
  if (editingId) {
386
- _context6.next = 2;
424
+ _context7.next = 2;
387
425
  break;
388
426
  }
389
- return _context6.abrupt("return");
427
+ return _context7.abrupt("return");
390
428
  case 2:
391
- _context6.prev = 2;
392
- _context6.next = 5;
429
+ _context7.prev = 2;
430
+ _context7.next = 5;
393
431
  return schemeManager === null || schemeManager === void 0 ? void 0 : schemeManager.updateScheme(editingId, {
394
432
  name: editingName.trim(),
395
433
  description: editingDescription.trim() || undefined
@@ -397,17 +435,17 @@ var ColumnSetting = function ColumnSetting(_ref) {
397
435
  case 5:
398
436
  message.success('更新成功');
399
437
  setEditingId(null);
400
- _context6.next = 12;
438
+ _context7.next = 12;
401
439
  break;
402
440
  case 9:
403
- _context6.prev = 9;
404
- _context6.t0 = _context6["catch"](2);
405
- message.error(_context6.t0.message || '更新失败');
441
+ _context7.prev = 9;
442
+ _context7.t0 = _context7["catch"](2);
443
+ message.error(_context7.t0.message || '更新失败');
406
444
  case 12:
407
445
  case "end":
408
- return _context6.stop();
446
+ return _context7.stop();
409
447
  }
410
- }, _callee6, null, [[2, 9]]);
448
+ }, _callee7, null, [[2, 9]]);
411
449
  })), [schemeManager, editingId, editingName, editingDescription]);
412
450
 
413
451
  // 筛选方案列表
@@ -30,11 +30,21 @@ export declare class SchemeSyncManager {
30
30
  * @private
31
31
  */
32
32
  private getSyncApiUrl;
33
+ /**
34
+ * 检查是否有有效的用户数据
35
+ * @private
36
+ */
37
+ private hasValidData;
38
+ /**
39
+ * 重新加载数据(从服务器获取最新方案数据)
40
+ */
41
+ reloadData(): Promise<void>;
33
42
  /**
34
43
  * 设置认证 Token
35
44
  * @param token 认证令牌 (通常是 Bearer Token)
45
+ * @param autoReload 是否在设置 token 后自动重新加载数据(默认 true)
36
46
  */
37
- setToken(token: string | null): void;
47
+ setToken(token: string | null, autoReload?: boolean): Promise<void>;
38
48
  /**
39
49
  * 获取请求头(包含认证信息)
40
50
  * @private