@nokecy/qc-ui 1.1.3 → 1.1.5

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.
Files changed (32) hide show
  1. package/dist/cjs/ag-grid-plus/ag-gridPlus.js +9 -6
  2. package/dist/cjs/ag-grid-plus/setting/ColumnConfigTable.d.ts +4 -12
  3. package/dist/cjs/ag-grid-plus/setting/ColumnConfigTable.js +607 -869
  4. package/dist/cjs/ag-grid-plus/setting/ColumnSetting.js +6 -1
  5. package/dist/cjs/ag-grid-plus/setting/DebounceInputs.d.ts +39 -0
  6. package/dist/cjs/ag-grid-plus/setting/DebounceInputs.js +144 -0
  7. package/dist/cjs/ag-grid-plus/setting/QuerySchemeManager.js +370 -302
  8. package/dist/cjs/ag-grid-plus/setting/columnGroupTypes.d.ts +4 -0
  9. package/dist/cjs/ag-grid-plus/setting/index.js +1 -1
  10. package/dist/cjs/ag-grid-plus/setting/performanceMonitor.d.ts +9 -0
  11. package/dist/cjs/ag-grid-plus/setting/performanceMonitor.js +48 -0
  12. package/dist/cjs/ag-grid-plus/shared/storage/backendApiAdapter.js +8 -24
  13. package/dist/cjs/ag-grid-plus/shared/storage/schemeStorageAdapter.d.ts +20 -6
  14. package/dist/cjs/ag-grid-plus/shared/utils/schemeDataMigration.d.ts +27 -0
  15. package/dist/cjs/ag-grid-plus/shared/utils/schemeDataMigration.js +63 -0
  16. package/dist/esm/ag-grid-plus/ag-gridPlus.js +9 -6
  17. package/dist/esm/ag-grid-plus/setting/ColumnConfigTable.d.ts +4 -12
  18. package/dist/esm/ag-grid-plus/setting/ColumnConfigTable.js +611 -872
  19. package/dist/esm/ag-grid-plus/setting/ColumnSetting.js +6 -1
  20. package/dist/esm/ag-grid-plus/setting/DebounceInputs.d.ts +39 -0
  21. package/dist/esm/ag-grid-plus/setting/DebounceInputs.js +136 -0
  22. package/dist/esm/ag-grid-plus/setting/QuerySchemeManager.js +374 -305
  23. package/dist/esm/ag-grid-plus/setting/columnGroupTypes.d.ts +4 -0
  24. package/dist/esm/ag-grid-plus/setting/index.js +1 -1
  25. package/dist/esm/ag-grid-plus/setting/performanceMonitor.d.ts +9 -0
  26. package/dist/esm/ag-grid-plus/setting/performanceMonitor.js +42 -0
  27. package/dist/esm/ag-grid-plus/shared/storage/backendApiAdapter.js +8 -24
  28. package/dist/esm/ag-grid-plus/shared/storage/schemeStorageAdapter.d.ts +20 -6
  29. package/dist/esm/ag-grid-plus/shared/utils/schemeDataMigration.d.ts +27 -0
  30. package/dist/esm/ag-grid-plus/shared/utils/schemeDataMigration.js +54 -0
  31. package/dist/umd/qc-ui.min.js +1 -1
  32. package/package.json +1 -1
@@ -9,23 +9,24 @@ var _react = _interopRequireWildcard(require("react"));
9
9
  var _antd = require("antd");
10
10
  var _draggableModal = _interopRequireDefault(require("../../draggableModal"));
11
11
  var _icons = require("@ant-design/icons");
12
- var _reactDnd = require("react-dnd");
13
- var _reactDndHtml5Backend = require("react-dnd-html5-backend");
12
+ var _agGridReact = require("ag-grid-react");
14
13
  var _useSchemeManager = require("../context/useSchemeManager");
15
14
  var _gridContext = require("../context/gridContext");
16
15
  var _uuid = require("uuid");
16
+ var _schemeDataMigration = require("../shared/utils/schemeDataMigration");
17
+ var _theme = require("../theme");
17
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
19
  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); }
19
20
  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; }
20
21
  function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
21
22
  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; }
23
+ 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); } }
24
+ 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); }); }; }
22
25
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
23
26
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
24
27
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
25
28
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
26
29
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
27
- 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); } }
28
- 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); }); }; }
29
30
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
30
31
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
31
32
  function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
@@ -36,103 +37,21 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
36
37
  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; }
37
38
  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; } }
38
39
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
39
- var DRAG_TYPE = 'QUERY_ITEM';
40
40
  /**
41
- * 可拖拽的查询项组件
41
+ * 查询项数据结构
42
+ */
43
+
44
+ /**
45
+ * 方案行数据结构
42
46
  */
43
- var DraggableQueryItem = function DraggableQueryItem(_ref) {
44
- var field = _ref.field,
45
- label = _ref.label,
46
- index = _ref.index,
47
- hidden = _ref.hidden,
48
- moveItem = _ref.moveItem,
49
- onToggleHidden = _ref.onToggleHidden;
50
- var ref = _react.default.useRef(null);
51
- var _useDrag = (0, _reactDnd.useDrag)({
52
- type: DRAG_TYPE,
53
- item: {
54
- field: field,
55
- index: index
56
- },
57
- collect: function collect(monitor) {
58
- return {
59
- isDragging: monitor.isDragging()
60
- };
61
- }
62
- }),
63
- _useDrag2 = _slicedToArray(_useDrag, 3),
64
- isDragging = _useDrag2[0].isDragging,
65
- drag = _useDrag2[1],
66
- preview = _useDrag2[2];
67
- var _useDrop = (0, _reactDnd.useDrop)({
68
- accept: DRAG_TYPE,
69
- hover: function hover(item, monitor) {
70
- if (!ref.current) return;
71
- var dragIndex = item.index;
72
- var hoverIndex = index;
73
- if (dragIndex === hoverIndex) return;
74
- var hoverBoundingRect = ref.current.getBoundingClientRect();
75
- var hoverMiddleY = (hoverBoundingRect.bottom - hoverBoundingRect.top) / 2;
76
- var clientOffset = monitor.getClientOffset();
77
- if (!clientOffset) return;
78
- var hoverClientY = clientOffset.y - hoverBoundingRect.top;
79
- if (dragIndex < hoverIndex && hoverClientY < hoverMiddleY) return;
80
- if (dragIndex > hoverIndex && hoverClientY > hoverMiddleY) return;
81
- moveItem(dragIndex, hoverIndex);
82
- item.index = hoverIndex;
83
- }
84
- }),
85
- _useDrop2 = _slicedToArray(_useDrop, 2),
86
- drop = _useDrop2[1];
87
- drag(drop(ref));
88
- preview(ref);
89
- return /*#__PURE__*/_react.default.createElement("div", {
90
- ref: ref,
91
- style: {
92
- opacity: isDragging ? 0.5 : hidden ? 0.6 : 1,
93
- padding: '12px 16px',
94
- margin: '8px 0',
95
- background: hidden ? '#f5f5f5' : '#fff',
96
- border: '1px solid #d9d9d9',
97
- borderRadius: '4px',
98
- cursor: 'move',
99
- display: 'flex',
100
- alignItems: 'center',
101
- gap: '12px'
102
- }
103
- }, /*#__PURE__*/_react.default.createElement(_icons.HolderOutlined, {
104
- style: {
105
- color: '#999',
106
- fontSize: 16
107
- }
108
- }), /*#__PURE__*/_react.default.createElement("span", {
109
- style: {
110
- flex: 1,
111
- textDecoration: hidden ? 'line-through' : 'none',
112
- color: hidden ? '#999' : 'inherit'
113
- }
114
- }, index + 1, ". ", label), /*#__PURE__*/_react.default.createElement(_antd.Tooltip, {
115
- title: hidden ? '显示此查询项' : '隐藏此查询项'
116
- }, /*#__PURE__*/_react.default.createElement(_antd.Switch, {
117
- checked: !hidden,
118
- onChange: function onChange(checked) {
119
- return onToggleHidden(field, !checked);
120
- },
121
- checkedChildren: "\u663E\u793A",
122
- unCheckedChildren: "\u9690\u85CF",
123
- onClick: function onClick(_, e) {
124
- return e.stopPropagation();
125
- }
126
- })));
127
- };
128
47
 
129
48
  /**
130
49
  * 查询方案管理组件
131
50
  */
132
- var QuerySchemeManager = function QuerySchemeManager(_ref2) {
133
- var gridKey = _ref2.gridKey,
134
- visible = _ref2.visible,
135
- onClose = _ref2.onClose;
51
+ var QuerySchemeManager = function QuerySchemeManager(_ref) {
52
+ var gridKey = _ref.gridKey,
53
+ visible = _ref.visible,
54
+ onClose = _ref.onClose;
136
55
  // 获取方案管理 API
137
56
  var _useGridSchemes = (0, _useSchemeManager.useGridSchemes)(),
138
57
  querySchemes = _useGridSchemes.querySchemes,
@@ -159,46 +78,26 @@ var QuerySchemeManager = function QuerySchemeManager(_ref2) {
159
78
  setActiveTab = _useState2[1];
160
79
  var _useState3 = (0, _react.useState)([]),
161
80
  _useState4 = _slicedToArray(_useState3, 2),
162
- editingOrder = _useState4[0],
163
- setEditingOrder = _useState4[1];
164
- var _useState5 = (0, _react.useState)([]),
81
+ queryItemsData = _useState4[0],
82
+ setQueryItemsData = _useState4[1];
83
+ var _useState5 = (0, _react.useState)(''),
165
84
  _useState6 = _slicedToArray(_useState5, 2),
166
- hiddenFields = _useState6[0],
167
- setHiddenFields = _useState6[1];
168
- var _useState7 = (0, _react.useState)(''),
85
+ schemeName = _useState6[0],
86
+ setSchemeName = _useState6[1];
87
+ var _useState7 = (0, _react.useState)(null),
169
88
  _useState8 = _slicedToArray(_useState7, 2),
170
- schemeName = _useState8[0],
171
- setSchemeName = _useState8[1];
172
- var _useState9 = (0, _react.useState)(null),
89
+ editingId = _useState8[0],
90
+ setEditingId = _useState8[1];
91
+ var _useState9 = (0, _react.useState)(''),
173
92
  _useState10 = _slicedToArray(_useState9, 2),
174
- editingId = _useState10[0],
175
- setEditingId = _useState10[1];
93
+ editingName = _useState10[0],
94
+ setEditingName = _useState10[1];
176
95
  var _useState11 = (0, _react.useState)(''),
177
96
  _useState12 = _slicedToArray(_useState11, 2),
178
- editingName = _useState12[0],
179
- setEditingName = _useState12[1];
180
- var _useState13 = (0, _react.useState)(''),
181
- _useState14 = _slicedToArray(_useState13, 2),
182
- editingDescription = _useState14[0],
183
- setEditingDescription = _useState14[1];
184
-
185
- // 初始化编辑顺序和隐藏字段
186
- _react.default.useEffect(function () {
187
- if (visible) {
188
- // 使用当前顺序或从 queryFormItems 生成默认顺序
189
- if (currentQueryOrder && currentQueryOrder.length > 0) {
190
- setEditingOrder(_toConsumableArray(currentQueryOrder));
191
- } else if (queryFormItems && queryFormItems.length > 0) {
192
- var defaultOrder = queryFormItems.map(function (item) {
193
- return item.field;
194
- });
195
- setEditingOrder(defaultOrder);
196
- }
197
-
198
- // 初始化隐藏字段
199
- setHiddenFields((currentScheme === null || currentScheme === void 0 ? void 0 : currentScheme.hiddenFields) || []);
200
- }
201
- }, [visible, currentQueryOrder, queryFormItems, currentScheme]);
97
+ editingDescription = _useState12[0],
98
+ setEditingDescription = _useState12[1];
99
+ var queryGridRef = (0, _react.useRef)(null);
100
+ var schemeGridRef = (0, _react.useRef)(null);
202
101
 
203
102
  // 构建字段标签映射
204
103
  var fieldLabelMap = (0, _react.useMemo)(function () {
@@ -211,32 +110,82 @@ var QuerySchemeManager = function QuerySchemeManager(_ref2) {
211
110
  return map;
212
111
  }, [queryFormItems]);
213
112
 
113
+ // 初始化查询项数据
114
+ _react.default.useEffect(function () {
115
+ if (visible && queryFormItems) {
116
+ var hiddenFields = currentScheme ? (0, _schemeDataMigration.extractHiddenFields)(currentScheme) : [];
117
+ var hiddenSet = new Set(hiddenFields);
118
+ var order;
119
+ if (currentQueryOrder && currentQueryOrder.length > 0) {
120
+ order = _toConsumableArray(currentQueryOrder);
121
+ } else {
122
+ order = queryFormItems.map(function (item) {
123
+ return item.field;
124
+ });
125
+ }
126
+ var items = order.map(function (field, index) {
127
+ return {
128
+ field: field,
129
+ label: fieldLabelMap.get(field) || field,
130
+ hidden: hiddenSet.has(field),
131
+ order: index
132
+ };
133
+ });
134
+ setQueryItemsData(items);
135
+ }
136
+ }, [visible, currentQueryOrder, queryFormItems, currentScheme, fieldLabelMap]);
137
+
214
138
  /**
215
- * 拖拽移动项目
139
+ * 处理查询项拖拽结束
216
140
  */
217
- var moveItem = (0, _react.useCallback)(function (dragIndex, hoverIndex) {
218
- setEditingOrder(function (prev) {
219
- var newOrder = _toConsumableArray(prev);
220
- var _newOrder$splice = newOrder.splice(dragIndex, 1),
221
- _newOrder$splice2 = _slicedToArray(_newOrder$splice, 1),
222
- removed = _newOrder$splice2[0];
223
- newOrder.splice(hoverIndex, 0, removed);
224
- return newOrder;
141
+ var handleQueryRowDragEnd = (0, _react.useCallback)(function (event) {
142
+ var node = event.node,
143
+ overNode = event.overNode;
144
+ if (!node || !overNode || node === overNode) return;
145
+ var movingData = node.data;
146
+ var overData = overNode.data;
147
+ if (!movingData || !overData) return;
148
+ var allItems = _toConsumableArray(queryItemsData);
149
+ var movingIndex = allItems.findIndex(function (item) {
150
+ return item.field === movingData.field;
225
151
  });
226
- }, []);
152
+ var overIndex = allItems.findIndex(function (item) {
153
+ return item.field === overData.field;
154
+ });
155
+ if (movingIndex === -1 || overIndex === -1) return;
156
+
157
+ // 移动项
158
+ var _allItems$splice = allItems.splice(movingIndex, 1),
159
+ _allItems$splice2 = _slicedToArray(_allItems$splice, 1),
160
+ removed = _allItems$splice2[0];
161
+ allItems.splice(overIndex, 0, removed);
162
+
163
+ // 更新 order 字段
164
+ var updatedItems = allItems.map(function (item, index) {
165
+ return _objectSpread(_objectSpread({}, item), {}, {
166
+ order: index
167
+ });
168
+ });
169
+ setQueryItemsData(updatedItems);
170
+ _antd.message.success('已调整顺序');
171
+ }, [queryItemsData]);
227
172
 
228
173
  /**
229
- * 切换查询项的隐藏/显示状态
174
+ * 隐藏/显示开关渲染器
230
175
  */
231
- var handleToggleHidden = (0, _react.useCallback)(function (field, hidden) {
232
- setHiddenFields(function (prev) {
233
- if (hidden) {
234
- return [].concat(_toConsumableArray(prev), [field]);
235
- } else {
236
- return prev.filter(function (f) {
237
- return f !== field;
238
- });
239
- }
176
+ var HiddenSwitchRenderer = (0, _react.useCallback)(function (props) {
177
+ var item = props.data;
178
+ if (!item) return null;
179
+ return /*#__PURE__*/_react.default.createElement(_antd.Switch, {
180
+ checked: !item.hidden,
181
+ onChange: function onChange(checked) {
182
+ if (props.node) {
183
+ props.node.setDataValue('hidden', !checked);
184
+ }
185
+ },
186
+ checkedChildren: "\u663E\u793A",
187
+ unCheckedChildren: "\u9690\u85CF",
188
+ size: "small"
240
189
  });
241
190
  }, []);
242
191
 
@@ -244,68 +193,74 @@ var QuerySchemeManager = function QuerySchemeManager(_ref2) {
244
193
  * 应用当前顺序和隐藏设置
245
194
  */
246
195
  var handleApplyOrder = (0, _react.useCallback)( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
247
- var newScheme;
196
+ var editingOrder, hiddenFields, queryConfig, newScheme;
248
197
  return _regeneratorRuntime().wrap(function _callee$(_context) {
249
198
  while (1) switch (_context.prev = _context.next) {
250
199
  case 0:
251
200
  _context.prev = 0;
201
+ editingOrder = queryItemsData.map(function (item) {
202
+ return item.field;
203
+ });
204
+ hiddenFields = queryItemsData.filter(function (item) {
205
+ return item.hidden;
206
+ }).map(function (item) {
207
+ return item.field;
208
+ }); // 构建新格式的配置
209
+ queryConfig = (0, _schemeDataMigration.buildQueryConfig)(editingOrder, hiddenFields); // 如果有当前方案,更新方案
252
210
  if (!currentScheme) {
253
- _context.next = 7;
211
+ _context.next = 10;
254
212
  break;
255
213
  }
256
- _context.next = 4;
214
+ _context.next = 7;
257
215
  return saveQueryScheme === null || saveQueryScheme === void 0 ? void 0 : saveQueryScheme(gridKey, _objectSpread(_objectSpread({}, currentScheme), {}, {
258
- itemsOrder: editingOrder,
259
- hiddenFields: hiddenFields,
216
+ queryConfig: queryConfig,
260
217
  updatedAt: Date.now()
261
218
  }));
262
- case 4:
219
+ case 7:
263
220
  _antd.message.success('已应用新配置');
264
- _context.next = 13;
221
+ _context.next = 16;
265
222
  break;
266
- case 7:
223
+ case 10:
267
224
  // 创建新方案
268
225
  newScheme = {
269
226
  id: (0, _uuid.v4)(),
270
227
  name: '默认方案',
271
228
  description: '自动创建的默认查询方案',
272
- itemsOrder: editingOrder,
273
- hiddenFields: hiddenFields,
274
- formValues: {},
229
+ queryConfig: queryConfig,
275
230
  isDefault: true,
276
231
  isSystem: false,
277
232
  createdAt: Date.now(),
278
233
  updatedAt: Date.now()
279
234
  };
280
- _context.next = 10;
235
+ _context.next = 13;
281
236
  return saveQueryScheme === null || saveQueryScheme === void 0 ? void 0 : saveQueryScheme(gridKey, newScheme);
282
- case 10:
283
- _context.next = 12;
237
+ case 13:
238
+ _context.next = 15;
284
239
  return setCurrentQueryScheme === null || setCurrentQueryScheme === void 0 ? void 0 : setCurrentQueryScheme(gridKey, newScheme.id);
285
- case 12:
240
+ case 15:
286
241
  _antd.message.success('已自动创建并应用默认方案');
287
- case 13:
242
+ case 16:
288
243
  // 应用顺序到表单
289
244
  updateQueryOrder === null || updateQueryOrder === void 0 || updateQueryOrder(editingOrder);
290
245
  onClose();
291
- _context.next = 20;
246
+ _context.next = 23;
292
247
  break;
293
- case 17:
294
- _context.prev = 17;
248
+ case 20:
249
+ _context.prev = 20;
295
250
  _context.t0 = _context["catch"](0);
296
251
  _antd.message.error(_context.t0.message || '应用失败');
297
- case 20:
252
+ case 23:
298
253
  case "end":
299
254
  return _context.stop();
300
255
  }
301
- }, _callee, null, [[0, 17]]);
302
- })), [editingOrder, hiddenFields, currentScheme, saveQueryScheme, gridKey, updateQueryOrder, onClose, setCurrentQueryScheme]);
256
+ }, _callee, null, [[0, 20]]);
257
+ })), [queryItemsData, currentScheme, saveQueryScheme, gridKey, updateQueryOrder, onClose, setCurrentQueryScheme]);
303
258
 
304
259
  /**
305
260
  * 保存为新方案
306
261
  */
307
262
  var handleSaveAsNew = (0, _react.useCallback)( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
308
- var newScheme;
263
+ var editingOrder, hiddenFields, queryConfig, newScheme;
309
264
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
310
265
  while (1) switch (_context2.prev = _context2.next) {
311
266
  case 0:
@@ -317,35 +272,42 @@ var QuerySchemeManager = function QuerySchemeManager(_ref2) {
317
272
  return _context2.abrupt("return");
318
273
  case 3:
319
274
  _context2.prev = 3;
275
+ editingOrder = queryItemsData.map(function (item) {
276
+ return item.field;
277
+ });
278
+ hiddenFields = queryItemsData.filter(function (item) {
279
+ return item.hidden;
280
+ }).map(function (item) {
281
+ return item.field;
282
+ }); // 构建新格式的配置
283
+ queryConfig = (0, _schemeDataMigration.buildQueryConfig)(editingOrder, hiddenFields);
320
284
  newScheme = {
321
285
  id: (0, _uuid.v4)(),
322
286
  name: schemeName.trim(),
323
287
  description: '',
324
- itemsOrder: editingOrder,
325
- hiddenFields: hiddenFields,
326
- formValues: {},
288
+ queryConfig: queryConfig,
327
289
  isDefault: false,
328
290
  isSystem: false,
329
291
  createdAt: Date.now(),
330
292
  updatedAt: Date.now()
331
293
  };
332
- _context2.next = 7;
294
+ _context2.next = 10;
333
295
  return saveQueryScheme === null || saveQueryScheme === void 0 ? void 0 : saveQueryScheme(gridKey, newScheme);
334
- case 7:
296
+ case 10:
335
297
  _antd.message.success('保存成功');
336
298
  setSchemeName('');
337
- _context2.next = 14;
299
+ _context2.next = 17;
338
300
  break;
339
- case 11:
340
- _context2.prev = 11;
301
+ case 14:
302
+ _context2.prev = 14;
341
303
  _context2.t0 = _context2["catch"](3);
342
304
  _antd.message.error(_context2.t0.message || '保存失败');
343
- case 14:
305
+ case 17:
344
306
  case "end":
345
307
  return _context2.stop();
346
308
  }
347
- }, _callee2, null, [[3, 11]]);
348
- })), [schemeName, editingOrder, hiddenFields, saveQueryScheme, gridKey]);
309
+ }, _callee2, null, [[3, 14]]);
310
+ })), [schemeName, queryItemsData, saveQueryScheme, gridKey]);
349
311
 
350
312
  /**
351
313
  * 开始编辑方案
@@ -415,7 +377,7 @@ var QuerySchemeManager = function QuerySchemeManager(_ref2) {
415
377
  * 删除方案
416
378
  */
417
379
  var handleDelete = (0, _react.useCallback)( /*#__PURE__*/function () {
418
- var _ref6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(schemeId, schemeName) {
380
+ var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(schemeId, schemeName) {
419
381
  return _regeneratorRuntime().wrap(function _callee4$(_context4) {
420
382
  while (1) switch (_context4.prev = _context4.next) {
421
383
  case 0:
@@ -437,7 +399,7 @@ var QuerySchemeManager = function QuerySchemeManager(_ref2) {
437
399
  }, _callee4, null, [[0, 6]]);
438
400
  }));
439
401
  return function (_x, _x2) {
440
- return _ref6.apply(this, arguments);
402
+ return _ref5.apply(this, arguments);
441
403
  };
442
404
  }(), [deleteQueryScheme, gridKey]);
443
405
 
@@ -445,7 +407,7 @@ var QuerySchemeManager = function QuerySchemeManager(_ref2) {
445
407
  * 设置为默认方案
446
408
  */
447
409
  var handleSetDefault = (0, _react.useCallback)( /*#__PURE__*/function () {
448
- var _ref7 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(schemeId, schemeName) {
410
+ var _ref6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(schemeId, schemeName) {
449
411
  var _iterator, _step, _scheme, scheme;
450
412
  return _regeneratorRuntime().wrap(function _callee5$(_context5) {
451
413
  while (1) switch (_context5.prev = _context5.next) {
@@ -514,7 +476,7 @@ var QuerySchemeManager = function QuerySchemeManager(_ref2) {
514
476
  }, _callee5, null, [[0, 26], [2, 13, 16, 19]]);
515
477
  }));
516
478
  return function (_x3, _x4) {
517
- return _ref7.apply(this, arguments);
479
+ return _ref6.apply(this, arguments);
518
480
  };
519
481
  }(), [schemes, saveQueryScheme, gridKey]);
520
482
 
@@ -522,8 +484,8 @@ var QuerySchemeManager = function QuerySchemeManager(_ref2) {
522
484
  * 应用方案
523
485
  */
524
486
  var handleApply = (0, _react.useCallback)( /*#__PURE__*/function () {
525
- var _ref8 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6(schemeId) {
526
- var scheme;
487
+ var _ref7 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6(schemeId) {
488
+ var scheme, itemsOrder;
527
489
  return _regeneratorRuntime().wrap(function _callee6$(_context6) {
528
490
  while (1) switch (_context6.prev = _context6.next) {
529
491
  case 0:
@@ -534,9 +496,13 @@ var QuerySchemeManager = function QuerySchemeManager(_ref2) {
534
496
  scheme = schemes.find(function (s) {
535
497
  return s.id === schemeId;
536
498
  });
537
- if (scheme && scheme.itemsOrder) {
538
- updateQueryOrder === null || updateQueryOrder === void 0 || updateQueryOrder(scheme.itemsOrder);
539
- _antd.message.success('方案已应用');
499
+ if (scheme) {
500
+ // 使用新格式提取器获取顺序
501
+ itemsOrder = (0, _schemeDataMigration.extractItemsOrder)(scheme);
502
+ if (itemsOrder.length > 0) {
503
+ updateQueryOrder === null || updateQueryOrder === void 0 || updateQueryOrder(itemsOrder);
504
+ _antd.message.success('方案已应用');
505
+ }
540
506
  }
541
507
  _context6.next = 10;
542
508
  break;
@@ -551,9 +517,175 @@ var QuerySchemeManager = function QuerySchemeManager(_ref2) {
551
517
  }, _callee6, null, [[0, 7]]);
552
518
  }));
553
519
  return function (_x5) {
554
- return _ref8.apply(this, arguments);
520
+ return _ref7.apply(this, arguments);
555
521
  };
556
522
  }(), [setCurrentQueryScheme, gridKey, schemes, updateQueryOrder]);
523
+
524
+ /**
525
+ * 查询项表格列定义
526
+ */
527
+ var queryColumnDefs = (0, _react.useMemo)(function () {
528
+ return [{
529
+ field: 'order',
530
+ headerName: '序号',
531
+ width: 80,
532
+ rowDrag: true,
533
+ valueGetter: function valueGetter(params) {
534
+ return params.node ? params.node.rowIndex + 1 : 0;
535
+ }
536
+ }, {
537
+ field: 'label',
538
+ headerName: '查询项名称',
539
+ flex: 1,
540
+ minWidth: 200
541
+ }, {
542
+ field: 'field',
543
+ headerName: '字段名',
544
+ width: 150
545
+ }, {
546
+ field: 'hidden',
547
+ headerName: '显示/隐藏',
548
+ width: 120,
549
+ cellRenderer: HiddenSwitchRenderer
550
+ }];
551
+ }, [HiddenSwitchRenderer]);
552
+
553
+ /**
554
+ * 方案名称渲染器
555
+ */
556
+ var SchemeNameRenderer = (0, _react.useCallback)(function (props) {
557
+ var scheme = props.data;
558
+ if (!scheme) return null;
559
+ var isEditing = editingId === scheme.id;
560
+ var isCurrent = scheme.id === (currentScheme === null || currentScheme === void 0 ? void 0 : currentScheme.id);
561
+ if (isEditing) {
562
+ return /*#__PURE__*/_react.default.createElement(_antd.Space, {
563
+ size: "small"
564
+ }, /*#__PURE__*/_react.default.createElement(_antd.Input, {
565
+ value: editingName,
566
+ onChange: function onChange(e) {
567
+ return setEditingName(e.target.value);
568
+ },
569
+ onPressEnter: handleSaveEdit,
570
+ placeholder: "\u8BF7\u8F93\u5165\u65B9\u6848\u540D\u79F0",
571
+ maxLength: 50,
572
+ size: "small",
573
+ style: {
574
+ width: 150
575
+ },
576
+ autoFocus: true
577
+ }), /*#__PURE__*/_react.default.createElement(_antd.Input, {
578
+ value: editingDescription,
579
+ onChange: function onChange(e) {
580
+ return setEditingDescription(e.target.value);
581
+ },
582
+ onPressEnter: handleSaveEdit,
583
+ placeholder: "\u63CF\u8FF0\uFF08\u53EF\u9009\uFF09",
584
+ maxLength: 200,
585
+ size: "small",
586
+ style: {
587
+ width: 200
588
+ }
589
+ }), /*#__PURE__*/_react.default.createElement(_antd.Button, {
590
+ type: "link",
591
+ size: "small",
592
+ onClick: handleSaveEdit
593
+ }, "\u4FDD\u5B58"), /*#__PURE__*/_react.default.createElement(_antd.Button, {
594
+ type: "link",
595
+ size: "small",
596
+ onClick: handleCancelEdit
597
+ }, "\u53D6\u6D88"));
598
+ }
599
+ return /*#__PURE__*/_react.default.createElement(_antd.Space, null, scheme.isDefault && /*#__PURE__*/_react.default.createElement(_icons.StarFilled, {
600
+ style: {
601
+ color: '#faad14'
602
+ }
603
+ }), /*#__PURE__*/_react.default.createElement("span", null, scheme.name), isCurrent && /*#__PURE__*/_react.default.createElement(_antd.Tag, {
604
+ color: "blue"
605
+ }, "\u5F53\u524D"), scheme.isSystem && /*#__PURE__*/_react.default.createElement(_antd.Tag, {
606
+ color: "default"
607
+ }, "\u7CFB\u7EDF"));
608
+ }, [editingId, editingName, editingDescription, currentScheme, handleSaveEdit, handleCancelEdit]);
609
+
610
+ /**
611
+ * 方案操作渲染器
612
+ */
613
+ var SchemeActionsRenderer = (0, _react.useCallback)(function (props) {
614
+ var scheme = props.data;
615
+ if (!scheme) return null;
616
+ var isCurrent = scheme.id === (currentScheme === null || currentScheme === void 0 ? void 0 : currentScheme.id);
617
+ return /*#__PURE__*/_react.default.createElement(_antd.Space, {
618
+ size: "small"
619
+ }, /*#__PURE__*/_react.default.createElement(_antd.Button, {
620
+ type: "link",
621
+ size: "small",
622
+ onClick: function onClick() {
623
+ return handleApply(scheme.id);
624
+ },
625
+ disabled: isCurrent
626
+ }, "\u5E94\u7528"), /*#__PURE__*/_react.default.createElement(_antd.Tooltip, {
627
+ title: scheme.isDefault ? '已是默认方案' : '设为默认方案'
628
+ }, /*#__PURE__*/_react.default.createElement(_antd.Button, {
629
+ type: "link",
630
+ size: "small",
631
+ icon: scheme.isDefault ? /*#__PURE__*/_react.default.createElement(_icons.StarFilled, null) : /*#__PURE__*/_react.default.createElement(_icons.StarOutlined, null),
632
+ onClick: function onClick() {
633
+ return handleSetDefault(scheme.id, scheme.name);
634
+ },
635
+ disabled: scheme.isDefault
636
+ })), /*#__PURE__*/_react.default.createElement(_antd.Button, {
637
+ type: "link",
638
+ size: "small",
639
+ icon: /*#__PURE__*/_react.default.createElement(_icons.EditOutlined, null),
640
+ onClick: function onClick() {
641
+ return handleEdit(scheme);
642
+ },
643
+ disabled: scheme.isSystem
644
+ }), /*#__PURE__*/_react.default.createElement(_antd.Popconfirm, {
645
+ title: "\u786E\u5B9A\u5220\u9664\u6B64\u65B9\u6848\u5417\uFF1F",
646
+ description: "\u5220\u9664\u540E\u65E0\u6CD5\u6062\u590D",
647
+ onConfirm: function onConfirm() {
648
+ return handleDelete(scheme.id, scheme.name);
649
+ },
650
+ okText: "\u5220\u9664",
651
+ cancelText: "\u53D6\u6D88",
652
+ disabled: scheme.isSystem || isCurrent
653
+ }, /*#__PURE__*/_react.default.createElement(_antd.Button, {
654
+ type: "link",
655
+ size: "small",
656
+ danger: true,
657
+ icon: /*#__PURE__*/_react.default.createElement(_icons.DeleteOutlined, null),
658
+ disabled: scheme.isSystem || isCurrent
659
+ })));
660
+ }, [currentScheme, handleApply, handleSetDefault, handleEdit, handleDelete]);
661
+
662
+ /**
663
+ * 方案表格列定义
664
+ */
665
+ var schemeColumnDefs = (0, _react.useMemo)(function () {
666
+ return [{
667
+ field: 'name',
668
+ headerName: '方案名称',
669
+ flex: 1,
670
+ minWidth: 200,
671
+ cellRenderer: SchemeNameRenderer
672
+ }, {
673
+ field: 'description',
674
+ headerName: '描述',
675
+ flex: 1,
676
+ minWidth: 150,
677
+ valueGetter: function valueGetter(params) {
678
+ var _params$data;
679
+ return ((_params$data = params.data) === null || _params$data === void 0 ? void 0 : _params$data.description) || "".concat((0, _schemeDataMigration.extractItemsOrder)(params.data).length || 0, " \u4E2A\u67E5\u8BE2\u9879");
680
+ }
681
+ }, {
682
+ headerName: '操作',
683
+ width: 250,
684
+ cellRenderer: SchemeActionsRenderer,
685
+ sortable: false,
686
+ filter: false
687
+ }];
688
+ }, [SchemeNameRenderer, SchemeActionsRenderer]);
557
689
  return /*#__PURE__*/_react.default.createElement(_draggableModal.default, {
558
690
  title: /*#__PURE__*/_react.default.createElement("span", null, "\u67E5\u8BE2\u65B9\u6848\u8BBE\u7F6E", currentScheme && /*#__PURE__*/_react.default.createElement("span", {
559
691
  style: {
@@ -565,7 +697,7 @@ var QuerySchemeManager = function QuerySchemeManager(_ref2) {
565
697
  }, "- \u5F53\u524D\u65B9\u6848: ", currentScheme.name)),
566
698
  open: visible,
567
699
  onCancel: onClose,
568
- width: 800,
700
+ width: 900,
569
701
  footer: [/*#__PURE__*/_react.default.createElement(_antd.Button, {
570
702
  key: "close",
571
703
  onClick: onClose
@@ -606,19 +738,29 @@ var QuerySchemeManager = function QuerySchemeManager(_ref2) {
606
738
  marginBottom: 16,
607
739
  color: '#666'
608
740
  }
609
- }, "\u62D6\u62FD\u4E0B\u65B9\u67E5\u8BE2\u9879\u8C03\u6574\u987A\u5E8F\uFF0C\u4F7F\u7528\u5F00\u5173\u63A7\u5236\u663E\u793A/\u9690\u85CF\uFF0C\u5B8C\u6210\u540E\u53EF\u5E94\u7528\u6216\u4FDD\u5B58\u4E3A\u65B9\u6848"), /*#__PURE__*/_react.default.createElement(_reactDnd.DndProvider, {
610
- backend: _reactDndHtml5Backend.HTML5Backend
611
- }, /*#__PURE__*/_react.default.createElement("div", null, editingOrder.map(function (field, index) {
612
- return /*#__PURE__*/_react.default.createElement(DraggableQueryItem, {
613
- key: field,
614
- field: field,
615
- label: fieldLabelMap.get(field) || field,
616
- index: index,
617
- hidden: hiddenFields.includes(field),
618
- moveItem: moveItem,
619
- onToggleHidden: handleToggleHidden
620
- });
621
- }))), /*#__PURE__*/_react.default.createElement("div", {
741
+ }, "\u62D6\u62FD\u4E0B\u65B9\u67E5\u8BE2\u9879\u8C03\u6574\u987A\u5E8F\uFF0C\u4F7F\u7528\u5F00\u5173\u63A7\u5236\u663E\u793A/\u9690\u85CF\uFF0C\u5B8C\u6210\u540E\u53EF\u5E94\u7528\u6216\u4FDD\u5B58\u4E3A\u65B9\u6848"), /*#__PURE__*/_react.default.createElement("div", {
742
+ style: {
743
+ height: 400,
744
+ width: '100%'
745
+ }
746
+ }, /*#__PURE__*/_react.default.createElement(_agGridReact.AgGridReact, {
747
+ ref: queryGridRef,
748
+ theme: _theme.agGridTheme,
749
+ rowData: queryItemsData,
750
+ columnDefs: queryColumnDefs,
751
+ defaultColDef: {
752
+ sortable: true,
753
+ filter: false,
754
+ resizable: true
755
+ },
756
+ rowDragManaged: false,
757
+ onRowDragEnd: handleQueryRowDragEnd,
758
+ animateRows: true,
759
+ suppressRowClickSelection: true,
760
+ domLayout: "normal",
761
+ headerHeight: 40,
762
+ rowHeight: 40
763
+ })), /*#__PURE__*/_react.default.createElement("div", {
622
764
  style: {
623
765
  marginTop: 16,
624
766
  display: 'flex',
@@ -643,101 +785,27 @@ var QuerySchemeManager = function QuerySchemeManager(_ref2) {
643
785
  }, {
644
786
  key: 'schemes',
645
787
  label: '方案管理',
646
- children: /*#__PURE__*/_react.default.createElement(_antd.List, {
647
- dataSource: schemes,
648
- renderItem: function renderItem(scheme) {
649
- var _scheme$itemsOrder;
650
- return /*#__PURE__*/_react.default.createElement(_antd.List.Item, {
651
- actions: [/*#__PURE__*/_react.default.createElement(_antd.Button, {
652
- key: "apply",
653
- type: "link",
654
- size: "small",
655
- onClick: function onClick() {
656
- return handleApply(scheme.id);
657
- },
658
- disabled: scheme.id === (currentScheme === null || currentScheme === void 0 ? void 0 : currentScheme.id)
659
- }, "\u5E94\u7528"), /*#__PURE__*/_react.default.createElement(_antd.Tooltip, {
660
- key: "default",
661
- title: scheme.isDefault ? '已是默认方案' : '设为默认方案'
662
- }, /*#__PURE__*/_react.default.createElement(_antd.Button, {
663
- type: "link",
664
- size: "small",
665
- icon: scheme.isDefault ? /*#__PURE__*/_react.default.createElement(_icons.StarFilled, null) : /*#__PURE__*/_react.default.createElement(_icons.StarOutlined, null),
666
- onClick: function onClick() {
667
- return handleSetDefault(scheme.id, scheme.name);
668
- },
669
- disabled: scheme.isDefault
670
- })), /*#__PURE__*/_react.default.createElement(_antd.Button, {
671
- key: "edit",
672
- type: "link",
673
- size: "small",
674
- icon: /*#__PURE__*/_react.default.createElement(_icons.EditOutlined, null),
675
- onClick: function onClick() {
676
- return handleEdit(scheme);
677
- },
678
- disabled: scheme.isSystem
679
- }), /*#__PURE__*/_react.default.createElement(_antd.Popconfirm, {
680
- key: "delete",
681
- title: "\u786E\u5B9A\u5220\u9664\u6B64\u65B9\u6848\u5417\uFF1F",
682
- description: "\u5220\u9664\u540E\u65E0\u6CD5\u6062\u590D",
683
- onConfirm: function onConfirm() {
684
- return handleDelete(scheme.id, scheme.name);
685
- },
686
- okText: "\u5220\u9664",
687
- cancelText: "\u53D6\u6D88",
688
- disabled: scheme.isSystem || scheme.id === (currentScheme === null || currentScheme === void 0 ? void 0 : currentScheme.id)
689
- }, /*#__PURE__*/_react.default.createElement(_antd.Button, {
690
- type: "link",
691
- size: "small",
692
- danger: true,
693
- icon: /*#__PURE__*/_react.default.createElement(_icons.DeleteOutlined, null),
694
- disabled: scheme.isSystem || scheme.id === (currentScheme === null || currentScheme === void 0 ? void 0 : currentScheme.id)
695
- }))]
696
- }, editingId === scheme.id ? /*#__PURE__*/_react.default.createElement("div", {
697
- style: {
698
- flex: 1,
699
- display: 'flex',
700
- gap: 8
701
- }
702
- }, /*#__PURE__*/_react.default.createElement(_antd.Input, {
703
- value: editingName,
704
- onChange: function onChange(e) {
705
- return setEditingName(e.target.value);
706
- },
707
- onPressEnter: handleSaveEdit,
708
- placeholder: "\u8BF7\u8F93\u5165\u65B9\u6848\u540D\u79F0",
709
- maxLength: 50,
710
- autoFocus: true
711
- }), /*#__PURE__*/_react.default.createElement(_antd.Input, {
712
- value: editingDescription,
713
- onChange: function onChange(e) {
714
- return setEditingDescription(e.target.value);
715
- },
716
- onPressEnter: handleSaveEdit,
717
- placeholder: "\u8BF7\u8F93\u5165\u63CF\u8FF0\uFF08\u53EF\u9009\uFF09",
718
- maxLength: 200
719
- }), /*#__PURE__*/_react.default.createElement(_antd.Button, {
720
- type: "link",
721
- size: "small",
722
- onClick: handleSaveEdit
723
- }, "\u4FDD\u5B58"), /*#__PURE__*/_react.default.createElement(_antd.Button, {
724
- type: "link",
725
- size: "small",
726
- onClick: handleCancelEdit
727
- }, "\u53D6\u6D88")) : /*#__PURE__*/_react.default.createElement(_antd.List.Item.Meta, {
728
- title: /*#__PURE__*/_react.default.createElement(_antd.Space, null, scheme.isDefault && /*#__PURE__*/_react.default.createElement(_icons.StarFilled, {
729
- style: {
730
- color: '#faad14'
731
- }
732
- }), scheme.name, scheme.id === (currentScheme === null || currentScheme === void 0 ? void 0 : currentScheme.id) && /*#__PURE__*/_react.default.createElement(_antd.Tag, {
733
- color: "blue"
734
- }, "\u5F53\u524D"), scheme.isSystem && /*#__PURE__*/_react.default.createElement(_antd.Tag, {
735
- color: "default"
736
- }, "\u7CFB\u7EDF")),
737
- description: scheme.description || "".concat(((_scheme$itemsOrder = scheme.itemsOrder) === null || _scheme$itemsOrder === void 0 ? void 0 : _scheme$itemsOrder.length) || 0, " \u4E2A\u67E5\u8BE2\u9879")
738
- }));
788
+ children: /*#__PURE__*/_react.default.createElement("div", {
789
+ style: {
790
+ height: 500,
791
+ width: '100%'
739
792
  }
740
- })
793
+ }, /*#__PURE__*/_react.default.createElement(_agGridReact.AgGridReact, {
794
+ ref: schemeGridRef,
795
+ theme: _theme.agGridTheme,
796
+ rowData: schemes,
797
+ columnDefs: schemeColumnDefs,
798
+ defaultColDef: {
799
+ sortable: true,
800
+ filter: false,
801
+ resizable: true
802
+ },
803
+ animateRows: true,
804
+ suppressRowClickSelection: true,
805
+ domLayout: "normal",
806
+ headerHeight: 40,
807
+ rowHeight: 50
808
+ }))
741
809
  }]
742
810
  }));
743
811
  };