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