@nokecy/qc-ui 1.0.61 → 1.0.63

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.
@@ -125,11 +125,16 @@ var GeneratedListPage = function GeneratedListPage(config) {
125
125
  clearCache = _useRequestManager.clearCache;
126
126
 
127
127
  // 刷新函数
128
- var onRefresh = (0, _react.useCallback)(externalOnRefresh || function () {
129
- var _gridRef$current;
130
- // 清除缓存以确保获取最新数据
131
- clearCache();
132
- (_gridRef$current = gridRef.current) === null || _gridRef$current === void 0 || _gridRef$current.onRefresh();
128
+ var onRefresh = (0, _react.useCallback)(function () {
129
+ if (externalOnRefresh) {
130
+ externalOnRefresh();
131
+ } else {
132
+ var _gridRef$current;
133
+ // 清除缓存以确保获取最新数据
134
+ clearCache();
135
+ // 立即刷新表格
136
+ (_gridRef$current = gridRef.current) === null || _gridRef$current === void 0 || _gridRef$current.onRefresh();
137
+ }
133
138
  }, [externalOnRefresh, clearCache]);
134
139
 
135
140
  // 操作列组件
@@ -251,8 +256,11 @@ var GeneratedListPage = function GeneratedListPage(config) {
251
256
  while (1) switch (_context2.prev = _context2.next) {
252
257
  case 0:
253
258
  setError(null);
254
- _context2.prev = 1;
255
- _context2.next = 4;
259
+
260
+ // 每次查询前清除缓存,确保获取最新数据
261
+ clearCache();
262
+ _context2.prev = 2;
263
+ _context2.next = 5;
256
264
  return managedRequest(params, /*#__PURE__*/function () {
257
265
  var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(requestParams, signal) {
258
266
  var treeData, flatData, filteredData, filterText, apiParams, data, items, _treeData, _flatData, _filteredData, _filterText;
@@ -337,13 +345,13 @@ var GeneratedListPage = function GeneratedListPage(config) {
337
345
  return _ref2.apply(this, arguments);
338
346
  };
339
347
  }());
340
- case 4:
348
+ case 5:
341
349
  return _context2.abrupt("return", _context2.sent);
342
- case 7:
343
- _context2.prev = 7;
344
- _context2.t0 = _context2["catch"](1);
350
+ case 8:
351
+ _context2.prev = 8;
352
+ _context2.t0 = _context2["catch"](2);
345
353
  if (!(retryCount < 3 && (_context2.t0.code === 'NETWORK_ERROR' || _context2.t0.code === 'TIMEOUT'))) {
346
- _context2.next = 15;
354
+ _context2.next = 16;
347
355
  break;
348
356
  }
349
357
  console.warn("\u8BF7\u6C42\u5931\u8D25\uFF0C\u6B63\u5728\u91CD\u8BD5 (".concat(retryCount + 1, "/3):"), _context2.t0);
@@ -352,13 +360,13 @@ var GeneratedListPage = function GeneratedListPage(config) {
352
360
  });
353
361
 
354
362
  // 指数退避策略重试
355
- _context2.next = 14;
363
+ _context2.next = 15;
356
364
  return new Promise(function (resolve) {
357
365
  return setTimeout(resolve, Math.pow(2, retryCount) * 1000);
358
366
  });
359
- case 14:
360
- return _context2.abrupt("return", handleRequest(params));
361
367
  case 15:
368
+ return _context2.abrupt("return", handleRequest(params));
369
+ case 16:
362
370
  errorMessage = "\u83B7\u53D6".concat(title, "\u6570\u636E\u5931\u8D25: ").concat(_context2.t0.message || '未知错误');
363
371
  console.error(errorMessage, _context2.t0);
364
372
  recordError();
@@ -368,15 +376,15 @@ var GeneratedListPage = function GeneratedListPage(config) {
368
376
  data: [],
369
377
  total: 0
370
378
  });
371
- case 20:
372
- _context2.prev = 20;
379
+ case 21:
380
+ _context2.prev = 21;
373
381
  setRetryCount(0);
374
- return _context2.finish(20);
375
- case 23:
382
+ return _context2.finish(21);
383
+ case 24:
376
384
  case "end":
377
385
  return _context2.stop();
378
386
  }
379
- }, _callee2, null, [[1, 7, 20, 23]]);
387
+ }, _callee2, null, [[2, 8, 21, 24]]);
380
388
  }));
381
389
  return function (_x) {
382
390
  return _ref.apply(this, arguments);
@@ -77,11 +77,11 @@ var OptionsColumn = function OptionsColumn(props) {
77
77
 
78
78
  // 显示条件判断 - 优化后的权限检查
79
79
  var showEditButton = (0, _react.useMemo)(function () {
80
- return (formDialog === null || formDialog === void 0 ? void 0 : formDialog.component) && permissions.update && canUpdate;
81
- }, [formDialog === null || formDialog === void 0 ? void 0 : formDialog.component, permissions.update, canUpdate]);
80
+ return (formDialog === null || formDialog === void 0 ? void 0 : formDialog.component) && (permissions === null || permissions === void 0 ? void 0 : permissions.update) && canUpdate;
81
+ }, [formDialog === null || formDialog === void 0 ? void 0 : formDialog.component, permissions === null || permissions === void 0 ? void 0 : permissions.update, canUpdate]);
82
82
  var showDeleteButton = (0, _react.useMemo)(function () {
83
- return deleteApi && permissions.delete && canDelete;
84
- }, [deleteApi, permissions.delete, canDelete]);
83
+ return deleteApi && (permissions === null || permissions === void 0 ? void 0 : permissions.delete) && canDelete;
84
+ }, [deleteApi, permissions === null || permissions === void 0 ? void 0 : permissions.delete, canDelete]);
85
85
 
86
86
  // 如果没有任何可操作的按钮,不渲染
87
87
  if (!showEditButton && !showDeleteButton) {
@@ -1,4 +1,4 @@
1
- /// <reference types="react" />
1
+ import React from 'react';
2
2
  /**
3
3
  * 性能指标接口
4
4
  */
@@ -5,7 +5,9 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.usePerformanceMonitor = exports.PerformanceDevTools = void 0;
8
- var _react = require("react");
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
10
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
9
11
  function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
10
12
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
11
13
  function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
@@ -216,7 +218,7 @@ var PerformanceDevTools = exports.PerformanceDevTools = function PerformanceDevT
216
218
  if (value <= thresholds[1]) return '#faad14';
217
219
  return '#f5222d';
218
220
  };
219
- return /*#__PURE__*/React.createElement("div", {
221
+ return /*#__PURE__*/_react.default.createElement("div", {
220
222
  style: {
221
223
  position: 'fixed',
222
224
  bottom: 20,
@@ -233,33 +235,33 @@ var PerformanceDevTools = exports.PerformanceDevTools = function PerformanceDevT
233
235
  },
234
236
  onClick: handleShowReport,
235
237
  title: "\u70B9\u51FB\u67E5\u770B\u8BE6\u7EC6\u6027\u80FD\u62A5\u544A"
236
- }, /*#__PURE__*/React.createElement("div", {
238
+ }, /*#__PURE__*/_react.default.createElement("div", {
237
239
  style: {
238
240
  marginBottom: 4,
239
241
  fontWeight: 'bold'
240
242
  }
241
- }, "\uD83D\uDCCA ", componentName), /*#__PURE__*/React.createElement("div", {
243
+ }, "\uD83D\uDCCA ", componentName), /*#__PURE__*/_react.default.createElement("div", {
242
244
  style: {
243
245
  display: 'flex',
244
246
  gap: 8
245
247
  }
246
- }, /*#__PURE__*/React.createElement("span", {
248
+ }, /*#__PURE__*/_react.default.createElement("span", {
247
249
  style: {
248
250
  color: getPerformanceColor(metrics.renderTime, [16, 50])
249
251
  }
250
- }, "R: ", metrics.renderTime, "ms"), /*#__PURE__*/React.createElement("span", {
252
+ }, "R: ", metrics.renderTime, "ms"), /*#__PURE__*/_react.default.createElement("span", {
251
253
  style: {
252
254
  color: getPerformanceColor(metrics.mountTime, [100, 300])
253
255
  }
254
- }, "M: ", metrics.mountTime, "ms"), metrics.apiResponseTime && /*#__PURE__*/React.createElement("span", {
256
+ }, "M: ", metrics.mountTime, "ms"), metrics.apiResponseTime && /*#__PURE__*/_react.default.createElement("span", {
255
257
  style: {
256
258
  color: getPerformanceColor(metrics.apiResponseTime, [300, 1000])
257
259
  }
258
- }, "API: ", metrics.apiResponseTime, "ms"), /*#__PURE__*/React.createElement("span", {
260
+ }, "API: ", metrics.apiResponseTime, "ms"), /*#__PURE__*/_react.default.createElement("span", {
259
261
  style: {
260
262
  color: metrics.errorCount === 0 ? '#52c41a' : '#f5222d'
261
263
  }
262
- }, "E: ", metrics.errorCount)), showDetails && /*#__PURE__*/React.createElement("div", {
264
+ }, "E: ", metrics.errorCount)), showDetails && /*#__PURE__*/_react.default.createElement("div", {
263
265
  style: {
264
266
  marginTop: 8,
265
267
  padding: 8,
@@ -267,7 +269,7 @@ var PerformanceDevTools = exports.PerformanceDevTools = function PerformanceDevT
267
269
  borderRadius: 4,
268
270
  fontSize: 11
269
271
  }
270
- }, /*#__PURE__*/React.createElement("div", null, "\u66F4\u65B0\u6B21\u6570: ", metrics.updateCount), metrics.memoryUsage && /*#__PURE__*/React.createElement("div", null, "\u5185\u5B58: ", metrics.memoryUsage.toFixed(1), "MB"), /*#__PURE__*/React.createElement("div", {
272
+ }, /*#__PURE__*/_react.default.createElement("div", null, "\u66F4\u65B0\u6B21\u6570: ", metrics.updateCount), metrics.memoryUsage && /*#__PURE__*/_react.default.createElement("div", null, "\u5185\u5B58: ", metrics.memoryUsage.toFixed(1), "MB"), /*#__PURE__*/_react.default.createElement("div", {
271
273
  style: {
272
274
  fontSize: 10,
273
275
  opacity: 0.7,
@@ -27,11 +27,11 @@ interface PermissionCheckResult {
27
27
  }
28
28
  /**
29
29
  * 权限检查 Hook
30
- * @param permissions 权限配置对象
30
+ * @param permissions 权限配置对象(可选)
31
31
  * @param access 可选的 access 对象(如果不传入,默认全部允许)
32
32
  * @returns 权限检查结果
33
33
  */
34
- export declare function usePermissionCheck(permissions: PermissionConfig, access?: Record<string, boolean>): PermissionCheckResult;
34
+ export declare function usePermissionCheck(permissions?: PermissionConfig, access?: Record<string, boolean>): PermissionCheckResult;
35
35
  /**
36
36
  * 权限检查工具类
37
37
  * 用于非 Hook 场景下的权限检查
@@ -20,7 +20,7 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
20
20
  */
21
21
  /**
22
22
  * 权限检查 Hook
23
- * @param permissions 权限配置对象
23
+ * @param permissions 权限配置对象(可选)
24
24
  * @param access 可选的 access 对象(如果不传入,默认全部允许)
25
25
  * @returns 权限检查结果
26
26
  */
@@ -62,12 +62,12 @@ function usePermissionCheck(permissions, access) {
62
62
  });
63
63
  };
64
64
  return {
65
- canView: hasPermission(permissions.view),
66
- canCreate: hasPermission(permissions.create),
67
- canUpdate: hasPermission(permissions.update),
68
- canDelete: hasPermission(permissions.delete),
69
- canImport: hasPermission(permissions.import),
70
- canExport: hasPermission(permissions.export),
65
+ canView: hasPermission(permissions === null || permissions === void 0 ? void 0 : permissions.view),
66
+ canCreate: hasPermission(permissions === null || permissions === void 0 ? void 0 : permissions.create),
67
+ canUpdate: hasPermission(permissions === null || permissions === void 0 ? void 0 : permissions.update),
68
+ canDelete: hasPermission(permissions === null || permissions === void 0 ? void 0 : permissions.delete),
69
+ canImport: hasPermission(permissions === null || permissions === void 0 ? void 0 : permissions.import),
70
+ canExport: hasPermission(permissions === null || permissions === void 0 ? void 0 : permissions.export),
71
71
  hasPermission: hasPermission,
72
72
  hasAllPermissions: hasAllPermissions,
73
73
  hasAnyPermission: hasAnyPermission
@@ -39,14 +39,17 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
39
39
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
40
40
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
41
41
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
42
- // 创建默认的 SchemaField,只包含基本组件
42
+ // 创建默认的 SchemaField,包含基本组件和装饰器
43
43
  var SchemaFieldComponents = (0, _react2.createSchemaField)({
44
44
  components: {
45
45
  Input: _antdV.Input,
46
46
  Select: _antdV.Select,
47
47
  DatePicker: _antdV.DatePicker,
48
48
  NumberPicker: _antdV.NumberPicker,
49
- Switch: _antdV.Switch
49
+ Switch: _antdV.Switch,
50
+ FormItem: _antdV.FormItem,
51
+ FormLayout: _antdV.FormLayout,
52
+ FormGrid: _antdV.FormGrid
50
53
  }
51
54
  });
52
55
 
@@ -115,11 +115,16 @@ var GeneratedListPage = function GeneratedListPage(config) {
115
115
  clearCache = _useRequestManager.clearCache;
116
116
 
117
117
  // 刷新函数
118
- var onRefresh = useCallback(externalOnRefresh || function () {
119
- var _gridRef$current;
120
- // 清除缓存以确保获取最新数据
121
- clearCache();
122
- (_gridRef$current = gridRef.current) === null || _gridRef$current === void 0 || _gridRef$current.onRefresh();
118
+ var onRefresh = useCallback(function () {
119
+ if (externalOnRefresh) {
120
+ externalOnRefresh();
121
+ } else {
122
+ var _gridRef$current;
123
+ // 清除缓存以确保获取最新数据
124
+ clearCache();
125
+ // 立即刷新表格
126
+ (_gridRef$current = gridRef.current) === null || _gridRef$current === void 0 || _gridRef$current.onRefresh();
127
+ }
123
128
  }, [externalOnRefresh, clearCache]);
124
129
 
125
130
  // 操作列组件
@@ -241,8 +246,11 @@ var GeneratedListPage = function GeneratedListPage(config) {
241
246
  while (1) switch (_context2.prev = _context2.next) {
242
247
  case 0:
243
248
  setError(null);
244
- _context2.prev = 1;
245
- _context2.next = 4;
249
+
250
+ // 每次查询前清除缓存,确保获取最新数据
251
+ clearCache();
252
+ _context2.prev = 2;
253
+ _context2.next = 5;
246
254
  return managedRequest(params, /*#__PURE__*/function () {
247
255
  var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(requestParams, signal) {
248
256
  var treeData, flatData, filteredData, filterText, apiParams, data, items, _treeData, _flatData, _filteredData, _filterText;
@@ -327,13 +335,13 @@ var GeneratedListPage = function GeneratedListPage(config) {
327
335
  return _ref2.apply(this, arguments);
328
336
  };
329
337
  }());
330
- case 4:
338
+ case 5:
331
339
  return _context2.abrupt("return", _context2.sent);
332
- case 7:
333
- _context2.prev = 7;
334
- _context2.t0 = _context2["catch"](1);
340
+ case 8:
341
+ _context2.prev = 8;
342
+ _context2.t0 = _context2["catch"](2);
335
343
  if (!(retryCount < 3 && (_context2.t0.code === 'NETWORK_ERROR' || _context2.t0.code === 'TIMEOUT'))) {
336
- _context2.next = 15;
344
+ _context2.next = 16;
337
345
  break;
338
346
  }
339
347
  console.warn("\u8BF7\u6C42\u5931\u8D25\uFF0C\u6B63\u5728\u91CD\u8BD5 (".concat(retryCount + 1, "/3):"), _context2.t0);
@@ -342,13 +350,13 @@ var GeneratedListPage = function GeneratedListPage(config) {
342
350
  });
343
351
 
344
352
  // 指数退避策略重试
345
- _context2.next = 14;
353
+ _context2.next = 15;
346
354
  return new Promise(function (resolve) {
347
355
  return setTimeout(resolve, Math.pow(2, retryCount) * 1000);
348
356
  });
349
- case 14:
350
- return _context2.abrupt("return", handleRequest(params));
351
357
  case 15:
358
+ return _context2.abrupt("return", handleRequest(params));
359
+ case 16:
352
360
  errorMessage = "\u83B7\u53D6".concat(title, "\u6570\u636E\u5931\u8D25: ").concat(_context2.t0.message || '未知错误');
353
361
  console.error(errorMessage, _context2.t0);
354
362
  recordError();
@@ -358,15 +366,15 @@ var GeneratedListPage = function GeneratedListPage(config) {
358
366
  data: [],
359
367
  total: 0
360
368
  });
361
- case 20:
362
- _context2.prev = 20;
369
+ case 21:
370
+ _context2.prev = 21;
363
371
  setRetryCount(0);
364
- return _context2.finish(20);
365
- case 23:
372
+ return _context2.finish(21);
373
+ case 24:
366
374
  case "end":
367
375
  return _context2.stop();
368
376
  }
369
- }, _callee2, null, [[1, 7, 20, 23]]);
377
+ }, _callee2, null, [[2, 8, 21, 24]]);
370
378
  }));
371
379
  return function (_x) {
372
380
  return _ref.apply(this, arguments);
@@ -69,11 +69,11 @@ var OptionsColumn = function OptionsColumn(props) {
69
69
 
70
70
  // 显示条件判断 - 优化后的权限检查
71
71
  var showEditButton = useMemo(function () {
72
- return (formDialog === null || formDialog === void 0 ? void 0 : formDialog.component) && permissions.update && canUpdate;
73
- }, [formDialog === null || formDialog === void 0 ? void 0 : formDialog.component, permissions.update, canUpdate]);
72
+ return (formDialog === null || formDialog === void 0 ? void 0 : formDialog.component) && (permissions === null || permissions === void 0 ? void 0 : permissions.update) && canUpdate;
73
+ }, [formDialog === null || formDialog === void 0 ? void 0 : formDialog.component, permissions === null || permissions === void 0 ? void 0 : permissions.update, canUpdate]);
74
74
  var showDeleteButton = useMemo(function () {
75
- return deleteApi && permissions.delete && canDelete;
76
- }, [deleteApi, permissions.delete, canDelete]);
75
+ return deleteApi && (permissions === null || permissions === void 0 ? void 0 : permissions.delete) && canDelete;
76
+ }, [deleteApi, permissions === null || permissions === void 0 ? void 0 : permissions.delete, canDelete]);
77
77
 
78
78
  // 如果没有任何可操作的按钮,不渲染
79
79
  if (!showEditButton && !showDeleteButton) {
@@ -1,4 +1,4 @@
1
- /// <reference types="react" />
1
+ import React from 'react';
2
2
  /**
3
3
  * 性能指标接口
4
4
  */
@@ -13,7 +13,7 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
13
13
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
14
14
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
15
15
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
16
- import { useEffect, useRef, useState } from 'react';
16
+ import React, { useEffect, useRef, useState } from 'react';
17
17
 
18
18
  /**
19
19
  * 性能指标接口
@@ -27,11 +27,11 @@ interface PermissionCheckResult {
27
27
  }
28
28
  /**
29
29
  * 权限检查 Hook
30
- * @param permissions 权限配置对象
30
+ * @param permissions 权限配置对象(可选)
31
31
  * @param access 可选的 access 对象(如果不传入,默认全部允许)
32
32
  * @returns 权限检查结果
33
33
  */
34
- export declare function usePermissionCheck(permissions: PermissionConfig, access?: Record<string, boolean>): PermissionCheckResult;
34
+ export declare function usePermissionCheck(permissions?: PermissionConfig, access?: Record<string, boolean>): PermissionCheckResult;
35
35
  /**
36
36
  * 权限检查工具类
37
37
  * 用于非 Hook 场景下的权限检查
@@ -15,7 +15,7 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
15
15
  import { useMemo } from 'react';
16
16
  /**
17
17
  * 权限检查 Hook
18
- * @param permissions 权限配置对象
18
+ * @param permissions 权限配置对象(可选)
19
19
  * @param access 可选的 access 对象(如果不传入,默认全部允许)
20
20
  * @returns 权限检查结果
21
21
  */
@@ -57,12 +57,12 @@ export function usePermissionCheck(permissions, access) {
57
57
  });
58
58
  };
59
59
  return {
60
- canView: hasPermission(permissions.view),
61
- canCreate: hasPermission(permissions.create),
62
- canUpdate: hasPermission(permissions.update),
63
- canDelete: hasPermission(permissions.delete),
64
- canImport: hasPermission(permissions.import),
65
- canExport: hasPermission(permissions.export),
60
+ canView: hasPermission(permissions === null || permissions === void 0 ? void 0 : permissions.view),
61
+ canCreate: hasPermission(permissions === null || permissions === void 0 ? void 0 : permissions.create),
62
+ canUpdate: hasPermission(permissions === null || permissions === void 0 ? void 0 : permissions.update),
63
+ canDelete: hasPermission(permissions === null || permissions === void 0 ? void 0 : permissions.delete),
64
+ canImport: hasPermission(permissions === null || permissions === void 0 ? void 0 : permissions.import),
65
+ canExport: hasPermission(permissions === null || permissions === void 0 ? void 0 : permissions.export),
66
66
  hasPermission: hasPermission,
67
67
  hasAllPermissions: hasAllPermissions,
68
68
  hasAnyPermission: hasAnyPermission
@@ -25,20 +25,23 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
25
25
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
26
26
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
27
27
  import React, { useState, useCallback, useMemo, useRef, useEffect } from 'react';
28
- import { FormDialog, FormLayout, Input, Select, DatePicker, NumberPicker, Switch } from '@formily/antd-v5';
28
+ import { FormDialog, FormLayout, FormItem, FormGrid, Input, Select, DatePicker, NumberPicker, Switch } from '@formily/antd-v5';
29
29
  import { onFormInit, onFormValidateFailed } from '@formily/core';
30
30
  import { Button, message, Spin } from 'antd';
31
31
  import portalManager from "./PortalManager";
32
32
  import { createSchemaField } from '@formily/react';
33
33
 
34
- // 创建默认的 SchemaField,只包含基本组件
34
+ // 创建默认的 SchemaField,包含基本组件和装饰器
35
35
  var SchemaFieldComponents = createSchemaField({
36
36
  components: {
37
37
  Input: Input,
38
38
  Select: Select,
39
39
  DatePicker: DatePicker,
40
40
  NumberPicker: NumberPicker,
41
- Switch: Switch
41
+ Switch: Switch,
42
+ FormItem: FormItem,
43
+ FormLayout: FormLayout,
44
+ FormGrid: FormGrid
42
45
  }
43
46
  });
44
47