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