super-page-runtime 2.3.33-sit1 → 2.3.33-sit2
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.
- package/dist/es/components/runtime/utils/events/event-util.d.ts +1 -0
- package/dist/es/components/runtime/utils/events/event-util.js +33 -21
- package/dist/es/components/runtime/views/assemblys/data/table/main-table-runtime.vue.js +9 -8
- package/dist/es/components/runtime/views/assemblys/form/select/select-runtime.vue.js +1 -1
- package/dist/es/components/runtime/views/assemblys/form/select/select-runtime.vue2.js +43 -37
- package/dist/es/components/runtime/views/assemblys/workflow/extract-workflow/extract-workflow-runtime.vue.js +1 -1
- package/dist/es/components/runtime/views/assemblys/workflow/extract-workflow/extract-workflow-runtime.vue2.js +32 -27
- package/dist/es/style.css +15 -3
- package/package.json +2 -2
|
@@ -30,6 +30,7 @@ export declare function getHandleEvent($event: any, pageContext: PageContext, co
|
|
|
30
30
|
export declare function getTableUuid(pageContext: PageContext, configure: Component): any;
|
|
31
31
|
export declare function handleEventByEventName(pageContext: PageContext, configure: Component, eventName: string, otherParams?: object): any;
|
|
32
32
|
export declare function doSuffixOrPrefixClickEvent($event: any, pageContext: PageContext, configure: Component, eventType: any, otherParams?: object): void;
|
|
33
|
+
export declare function getDefaultEventParams($event: any, pageContext: PageContext, configure: Component, otherParams?: object): {};
|
|
33
34
|
export declare function doBeforeClickEvent(pageContext: PageContext, configure: Component, otherParams?: object): any;
|
|
34
35
|
/**
|
|
35
36
|
* TODO: 跳转页面功能
|
|
@@ -16,14 +16,25 @@ function x(e2, n2) {
|
|
|
16
16
|
return e3.forEach((e4) => {
|
|
17
17
|
if (!e4.isStandard && e4.jsContent) if ("customFunc" === e4.name) {
|
|
18
18
|
let t3 = null;
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
19
|
+
try {
|
|
20
|
+
if (e4.funcParam) {
|
|
21
|
+
const n4 = e4.funcParam.split(",");
|
|
22
|
+
t3 = new Function(n4, e4.jsContent);
|
|
23
|
+
} else t3 = new Function(e4.jsContent);
|
|
24
|
+
n3[e4.eventName] = t3;
|
|
25
|
+
} catch (n4) {
|
|
26
|
+
const t4 = `自定义方法${e4.eventName}解析失败,请检查函数体是否正确`;
|
|
27
|
+
a.error(t4);
|
|
28
|
+
}
|
|
24
29
|
} else {
|
|
25
30
|
let t3 = e4.componentUuid + "_";
|
|
26
|
-
t3 += e4.name
|
|
31
|
+
t3 += e4.name;
|
|
32
|
+
try {
|
|
33
|
+
n3[t3] = new Function("params", e4.jsContent);
|
|
34
|
+
} catch (n4) {
|
|
35
|
+
let t4 = "";
|
|
36
|
+
e4.title && (t4 += e4.title + "的"), e4.label && (t4 += e4.label), t4 += "事件解析失败,请检查事件函数体是否正确", a.error(t4);
|
|
37
|
+
}
|
|
27
38
|
}
|
|
28
39
|
}), n3;
|
|
29
40
|
}(e2.customEvents);
|
|
@@ -73,7 +84,7 @@ function O(e2) {
|
|
|
73
84
|
function h(e2, n2, t2, i2, o2) {
|
|
74
85
|
return w(e2, n2, t2, i2, true, o2, false);
|
|
75
86
|
}
|
|
76
|
-
function
|
|
87
|
+
function y(e2, n2, t2, i2, o2) {
|
|
77
88
|
var _a, _b;
|
|
78
89
|
if (i2 && "change" === i2) {
|
|
79
90
|
const e3 = n2.subTableWatchProps;
|
|
@@ -84,8 +95,8 @@ function E(e2, n2, t2, i2, o2) {
|
|
|
84
95
|
}
|
|
85
96
|
return w(e2, n2, t2, i2, true, o2, true);
|
|
86
97
|
}
|
|
87
|
-
function
|
|
88
|
-
return
|
|
98
|
+
function E(e2, n2, t2, i2) {
|
|
99
|
+
return y(e2, n2, t2, "afterInit", i2);
|
|
89
100
|
}
|
|
90
101
|
function N(e2, n2, t2, i2, o2) {
|
|
91
102
|
return w(e2, n2, t2, i2, false, o2, false);
|
|
@@ -96,7 +107,7 @@ function w(e2, t2, i2, r2, u2, c2, l2) {
|
|
|
96
107
|
if (l2 || !function(e3) {
|
|
97
108
|
return e3 && S.indexOf(e3) >= 0;
|
|
98
109
|
}(r2)) {
|
|
99
|
-
if (s2 =
|
|
110
|
+
if (s2 = $(t2, a2, r2), u2) {
|
|
100
111
|
return H(t2, i2, s2, R(t2, i2, e2, c2));
|
|
101
112
|
}
|
|
102
113
|
return s2;
|
|
@@ -108,7 +119,7 @@ function w(e2, t2, i2, r2, u2, c2, l2) {
|
|
|
108
119
|
Q(i3).then((o2) => {
|
|
109
120
|
if (true === o2.canExecute) {
|
|
110
121
|
e3.clickUuid = t3.uuid, e3.canClick = false;
|
|
111
|
-
const o3 = t3.runtime && t3.runtime.events ? t3.runtime.events : [], r4 =
|
|
122
|
+
const o3 = t3.runtime && t3.runtime.events ? t3.runtime.events : [], r4 = $(e3, o3, "beforeValidateForm");
|
|
112
123
|
let u3;
|
|
113
124
|
if (r4 && (u3 = H(e3, t3, r4, i3)), void 0 === u3 && (u3 = true), !u3) return void (e3.canClick = true);
|
|
114
125
|
n(u3) ? u3.then((n2) => {
|
|
@@ -168,7 +179,7 @@ function U(e2, n2, t2, i2) {
|
|
|
168
179
|
return R(n2, t2, e2, i2);
|
|
169
180
|
}
|
|
170
181
|
function D(e2, n2, t2) {
|
|
171
|
-
const i2 =
|
|
182
|
+
const i2 = $(e2, n2.runtime && n2.runtime.events ? n2.runtime.events : [], "beforeClick");
|
|
172
183
|
let o2;
|
|
173
184
|
return i2 && (o2 = H(e2, n2, i2, null, t2)), void 0 === o2 || o2;
|
|
174
185
|
}
|
|
@@ -180,7 +191,7 @@ function _(e2, n2) {
|
|
|
180
191
|
return !(!e2.pageType || "list" !== e2.pageType);
|
|
181
192
|
}
|
|
182
193
|
function V(e2, t2, i2) {
|
|
183
|
-
const o2 = t2.runtime && t2.runtime.events ? t2.runtime.events : [], r2 =
|
|
194
|
+
const o2 = t2.runtime && t2.runtime.events ? t2.runtime.events : [], r2 = $(e2, o2, "afterClick");
|
|
184
195
|
if (r2) {
|
|
185
196
|
const o3 = H(e2, t2, r2, null, i2);
|
|
186
197
|
n(o3) ? o3.finally(() => {
|
|
@@ -190,7 +201,7 @@ function V(e2, t2, i2) {
|
|
|
190
201
|
}
|
|
191
202
|
function q(e2, n2, t2, i2, o2, u2) {
|
|
192
203
|
i2 ? (e2.result = o2, e2.canClick = true) : r(e2, n2, o2, "", u2);
|
|
193
|
-
const c2 =
|
|
204
|
+
const c2 = $(e2, n2.runtime && n2.runtime.events ? n2.runtime.events : [], "afterClick");
|
|
194
205
|
c2 && H(e2, n2, c2, t2);
|
|
195
206
|
}
|
|
196
207
|
function A(e2, t2, i2, o2) {
|
|
@@ -226,7 +237,7 @@ function I(e2, n2) {
|
|
|
226
237
|
return e3 = "object" == typeof n2 ? n2.componentUuid + "_" + n2.name : n2, t2[e3];
|
|
227
238
|
}
|
|
228
239
|
}
|
|
229
|
-
function
|
|
240
|
+
function $(e2, n2, t2) {
|
|
230
241
|
if (n2 && t2) {
|
|
231
242
|
const o2 = n2.filter((e3) => e3.name === t2);
|
|
232
243
|
if (o2 && o2.length > 0) {
|
|
@@ -235,7 +246,7 @@ function B(e2, n2, t2) {
|
|
|
235
246
|
}
|
|
236
247
|
}
|
|
237
248
|
}
|
|
238
|
-
function
|
|
249
|
+
function B(e2, n2) {
|
|
239
250
|
if (e2 && n2) {
|
|
240
251
|
const t2 = e2.filter((e3) => e3.name === n2);
|
|
241
252
|
if (t2 && t2.length > 0) {
|
|
@@ -356,7 +367,7 @@ function ie(n2) {
|
|
|
356
367
|
return t2;
|
|
357
368
|
}
|
|
358
369
|
function oe(e2, n2, t2, i2, o2) {
|
|
359
|
-
return H(e2, n2,
|
|
370
|
+
return H(e2, n2, $(e2, n2 && n2.runtime && n2.runtime.events ? n2.runtime.events : [], t2), { configure: n2, pageContext: e2, chartOption: i2, ...o2 });
|
|
360
371
|
}
|
|
361
372
|
function re(n2, t2) {
|
|
362
373
|
let i2 = true;
|
|
@@ -381,17 +392,18 @@ export {
|
|
|
381
392
|
te as fileUploadBeforeUpload,
|
|
382
393
|
z as getClickEventFuncByType,
|
|
383
394
|
k as getCustomFunc,
|
|
384
|
-
|
|
385
|
-
$ as
|
|
395
|
+
U as getDefaultEventParams,
|
|
396
|
+
$ as getEventFuncByType,
|
|
397
|
+
B as getEventNameByType,
|
|
386
398
|
N as getHandleEvent,
|
|
387
399
|
P as getTableUuid,
|
|
388
400
|
K as gridSelectAllRecords,
|
|
389
401
|
J as gridSelectRecord,
|
|
390
402
|
M as gridSelectionChange,
|
|
391
|
-
|
|
403
|
+
E as handleAfterInitEvent,
|
|
392
404
|
oe as handleChartEvent,
|
|
393
405
|
h as handleEvent,
|
|
394
|
-
|
|
406
|
+
y as handleFormEvent,
|
|
395
407
|
ne as headerClick,
|
|
396
408
|
x as initPageEvents,
|
|
397
409
|
ie as isShowComponent,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent as e, ref as t, onMounted as n, watch as o, onUnmounted as i, resolveComponent as a, createElementBlock as l, openBlock as r, unref as u, createVNode as s } from "vue";
|
|
2
|
-
import { setTableEvents as c, canExecuteButton as p, doAfterClickEvent as d, doBeforeClickEvent as f, gridSelectRecord as g, gridSelectAllRecords as m, gridSelectionChange as v, cellClick as h, cellDblClick as b, rowClick as w, rowDblClick as
|
|
2
|
+
import { setTableEvents as c, canExecuteButton as p, doAfterClickEvent as d, doBeforeClickEvent as f, gridSelectRecord as g, gridSelectAllRecords as m, gridSelectionChange as v, cellClick as h, cellDblClick as b, rowClick as w, rowDblClick as C, headerClick as S, getEventNameByType as y, getEventFuncByType as x, getHandleEvent as D } from "../../../../utils/events/event-util.js";
|
|
3
3
|
import { getBaseUrl as E, getListCode as T, getRealRestApiPath as O, isWorkflowPage as R, isVariableInvalidValue as k } from "../../../../utils/common-util.js";
|
|
4
4
|
import { getAdditionalParamMap as I, getSaveFormRequestWithRow as V, standardEvents as j } from "../../../../utils/events/standard-event.js";
|
|
5
5
|
import { isMobileBrowser as N, isPromise as P } from "agilebuilder-ui/src/utils/common-util";
|
|
@@ -19,11 +19,12 @@ const W = ["id"], q = e({ __name: "main-table-runtime", props: { pageContext: {}
|
|
|
19
19
|
ie || (ie = window.$vueApp.config.globalProperties.baseURL);
|
|
20
20
|
const ae = t({}), le = [], re = t({});
|
|
21
21
|
re.value = function() {
|
|
22
|
-
var _a, _b, _c;
|
|
22
|
+
var _a, _b, _c, _d, _e2;
|
|
23
23
|
const e3 = J.systemCode, t2 = J.code;
|
|
24
24
|
let n2 = K.props && K.props.dataOrigin && "[]" !== K.props.dataOrigin.sqlFilterCondition ? K.props.dataOrigin.sqlFilterCondition : null;
|
|
25
25
|
null == n2 && (n2 = []);
|
|
26
|
-
const o2 = (_a = K.props) == null ? void 0 : _a.dataOrigin.principalLinkage, i2 = { isSql: true, optionTableHeight: 0, rowKeyProp: o2, extraParam: { beanName: J.beanName, functionCode: t2 + ".listData", tableName: oe, systemCode: e3, pageCode: J.code, pageVersion: J.version, isMobile: N() }, initSearchForm: n2, lineEditOptions: { aftersaveIsCreateRow: false, autoSave: false, enter:
|
|
26
|
+
const o2 = (_a = K.props) == null ? void 0 : _a.dataOrigin.principalLinkage, i2 = { isSql: true, optionTableHeight: 0, rowKeyProp: o2, extraParam: { beanName: J.beanName, functionCode: t2 + ".listData", tableName: oe, systemCode: e3, pageCode: J.code, pageVersion: J.version, isMobile: N() }, initSearchForm: n2, lineEditOptions: { aftersaveIsCreateRow: false, autoSave: false, enter: Se, esc: Te }, indexContinuous: !(!K.props || !K.props.otherSettings) && K.props.otherSettings.serialNumberContinuous, initSearch: !K.props || false !== K.props.dataOrigin.initializationQuery, resizeHeight: Ne, pageCode: J.code, pageVersion: J.version, additionalParamMap: I(J), showOverflowTooltip: (_c = (_b = K == null ? void 0 : K.props) == null ? void 0 : _b.otherSettings) == null ? void 0 : _c.showOverflowTooltip, isEnableEnterEvent: K.props && K.props.otherSettings && K.props.otherSettings.isEnableEnterEvent, isWithDataPermission: !!(K.props && K.props.otherSettings && K.props.otherSettings.isWithDataPermission) && K.props.otherSettings.isWithDataPermission, pageDevMode: false, isWorkflowEntity: R(J), tableClass: ee, tableStyle: Z, pageContext: J, configureObj: K, backendUrl: ie, cellStyleRender: Qe, rowStyleRender: qe, titleStyleRender: Ye, validateEitConditions: Ze, showOperationCondition: null };
|
|
27
|
+
((_e2 = (_d = K == null ? void 0 : K.props) == null ? void 0 : _d.base) == null ? void 0 : _e2.showOperationCondition) && (i2.showOperationCondition = K.props.base.showOperationCondition);
|
|
27
28
|
return function(e4) {
|
|
28
29
|
var _a2;
|
|
29
30
|
((_a2 = K.props.highOrder) == null ? void 0 : _a2.mergeFields) && K.props.highOrder.mergeFields.length > 0 && (e4.mergeFields = K.props.highOrder.mergeFields.join(","));
|
|
@@ -60,7 +61,7 @@ const W = ["id"], q = e({ __name: "main-table-runtime", props: { pageContext: {}
|
|
|
60
61
|
e3 && (e3 = O(e3, te, ne, J.isTest));
|
|
61
62
|
return e3;
|
|
62
63
|
}(), pe = T(J.code, J.version, K.uuid), de = J.code + "_" + pe, fe = t([]), ge = J.entity.page, me = t({ data: [] }), ve = J.superGridItems, he = ve ? ve[K.uuid] : null, be = t(false), we = Q;
|
|
63
|
-
function
|
|
64
|
+
function Ce() {
|
|
64
65
|
K.props.linkages && K.props.linkages.length > 0 && (K.props.linkages.forEach((e3) => {
|
|
65
66
|
const t2 = _(e3.fieldName);
|
|
66
67
|
t2 && t2.length > 1 && le.push(t2[1]);
|
|
@@ -84,7 +85,7 @@ const W = ["id"], q = e({ __name: "main-table-runtime", props: { pageContext: {}
|
|
|
84
85
|
}
|
|
85
86
|
}());
|
|
86
87
|
}
|
|
87
|
-
function
|
|
88
|
+
function Se({ rowIndex: e3, column: t2, row: n2, orgRow: o2 }) {
|
|
88
89
|
ye(null, null, n2, t2, e3);
|
|
89
90
|
}
|
|
90
91
|
function ye(e3, t2, n2, o2, i2) {
|
|
@@ -247,10 +248,10 @@ const W = ["id"], q = e({ __name: "main-table-runtime", props: { pageContext: {}
|
|
|
247
248
|
w(J, K, { row: e3, column: t2, event: n2 });
|
|
248
249
|
}
|
|
249
250
|
function Le(e3, t2, n2) {
|
|
250
|
-
|
|
251
|
+
C(J, K, { row: e3, column: t2, event: n2 });
|
|
251
252
|
}
|
|
252
253
|
function Ge(e3, t2) {
|
|
253
|
-
|
|
254
|
+
S(J, K, { column: e3, event: t2 });
|
|
254
255
|
}
|
|
255
256
|
function ze() {
|
|
256
257
|
fe.value = [];
|
|
@@ -373,7 +374,7 @@ const W = ["id"], q = e({ __name: "main-table-runtime", props: { pageContext: {}
|
|
|
373
374
|
return (_a = se.value) == null ? void 0 : _a.getColumns();
|
|
374
375
|
} }), (e3, t2) => {
|
|
375
376
|
const n2 = a("super-grid");
|
|
376
|
-
return r(), l("div", { ref_key: "tableDivRef", ref: ue, id: u(pe) + "_tableDiv" }, [s(n2, { ref_key: "gridRef", ref: se, url: u(ce), options: re.value, code: u(pe), settings: u(he), "search-form-info": me.value, "list-toolbar-form-data": u(ge), isDialog: u(J).isDialog, onSelect: He, onSelectAll: Ue, onSelectionChange: Me, onCellClick: $e, onCellDblclick: _e, onRowClick: Ae, onRowDblclick: Le, onHeaderClick: Ge, onRefresh: ze, onNewOpenGridDialog: u(F), onCanShowMobileSearch: We, onGridOnmounted:
|
|
377
|
+
return r(), l("div", { ref_key: "tableDivRef", ref: ue, id: u(pe) + "_tableDiv" }, [s(n2, { ref_key: "gridRef", ref: se, url: u(ce), options: re.value, code: u(pe), settings: u(he), "search-form-info": me.value, "list-toolbar-form-data": u(ge), isDialog: u(J).isDialog, onSelect: He, onSelectAll: Ue, onSelectionChange: Me, onCellClick: $e, onCellDblclick: _e, onRowClick: Ae, onRowDblclick: Le, onHeaderClick: Ge, onRefresh: ze, onNewOpenGridDialog: u(F), onCanShowMobileSearch: We, onGridOnmounted: Ce }, null, 8, ["url", "options", "code", "settings", "search-form-info", "list-toolbar-form-data", "isDialog", "onNewOpenGridDialog"])], 8, W);
|
|
377
378
|
};
|
|
378
379
|
} });
|
|
379
380
|
export {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import e from "./select-runtime.vue2.js";
|
|
2
2
|
/* empty css */
|
|
3
3
|
import t from "../../../../../../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
-
const r = t(e, [["__scopeId", "data-v-
|
|
4
|
+
const r = t(e, [["__scopeId", "data-v-68808d47"]]);
|
|
5
5
|
export {
|
|
6
6
|
r as default
|
|
7
7
|
};
|
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
import { defineComponent as e, ref as l, computed as t, watch as o, onUnmounted as a, onMounted as i, nextTick as
|
|
2
|
-
import { setVariableValue as S, getOptionDatasFromPage as
|
|
1
|
+
import { defineComponent as e, ref as l, computed as t, watch as o, onUnmounted as a, onMounted as i, nextTick as n, resolveComponent as r, createBlock as u, openBlock as s, normalizeStyle as p, normalizeClass as c, unref as f, withCtx as v, createVNode as g, createElementVNode as m, withKeys as d, withModifiers as y, createCommentVNode as h, createElementBlock as b, Fragment as x, renderList as C, toDisplayString as _, createTextVNode as w } from "vue";
|
|
2
|
+
import { setVariableValue as S, getOptionDatasFromPage as k, queryOptionDatasources as A, autoSetAfterSelect as T, getVariableValue as j } from "../../../../utils/page-helper-util.js";
|
|
3
3
|
import { getFormModelFields as R } from "../../../../utils/page-init-util.js";
|
|
4
|
-
import { handleFormEvent as
|
|
5
|
-
import
|
|
4
|
+
import { handleFormEvent as P, handleAfterInitEvent as V } from "../../../../utils/events/event-util.js";
|
|
5
|
+
import M from "../common/title-suffix-element.vue.js";
|
|
6
6
|
import { $t as D } from "../../../../utils/i18n-util.js";
|
|
7
7
|
import { addRequiredClassUtil as I } from "../../../../utils/common-util.js";
|
|
8
8
|
import { CopyDocument as q } from "@element-plus/icons-vue";
|
|
9
9
|
import z from "clipboard";
|
|
10
10
|
import { ElMessage as E } from "element-plus";
|
|
11
11
|
import { useI18n as O } from "vue-i18n";
|
|
12
|
-
const W = { style: { "padding-left": "5px" } }, B = { style: { width: "100%" } }, F = { key: 0, style: { display: "flex", "flex-direction": "column" } }, G = { style: { color: "var(--el-text-color-secondary)", "font-size": "13px" } }, K = { style: { float: "left" } }, L = { style: { float: "right", color: "var(--el-text-color-secondary)" } }, U = "__amb_select_all__", $ = e({ __name: "select-runtime", props: { pageContext: {}, configure: {} }, setup(e2, { expose: $2 }) {
|
|
12
|
+
const W = { style: { "padding-left": "5px" } }, B = { style: { width: "100%", display: "flex", "align-items": "center" } }, F = { key: 0, style: { display: "flex", "flex-direction": "column" } }, G = { style: { color: "var(--el-text-color-secondary)", "font-size": "13px" } }, K = { style: { float: "left" } }, L = { style: { float: "right", color: "var(--el-text-color-secondary)" } }, U = "__amb_select_all__", $ = e({ __name: "select-runtime", props: { pageContext: {}, configure: {} }, setup(e2, { expose: $2 }) {
|
|
13
13
|
const { t: H } = O(), J = e2, N = l(null), Q = l(false), X = J.pageContext.entity ? J.pageContext.entity : {};
|
|
14
14
|
let Y = R(J.pageContext, J.configure);
|
|
15
15
|
const Z = J.configure.runtime ? J.configure.runtime : {}, ee = Z.style, le = Z.class, te = Z.headerStyle, oe = Z.titleExceedStyle, ae = l(Z.props ? Z.props : {});
|
|
16
|
-
let ie = l(ae.value.optionDescriptionPosition && "default" !== ae.value.optionDescriptionPosition),
|
|
17
|
-
const
|
|
18
|
-
function
|
|
16
|
+
let ie = l(ae.value.optionDescriptionPosition && "default" !== ae.value.optionDescriptionPosition), ne = [];
|
|
17
|
+
const re = "copyBtn_" + J.configure.uuid + "_" + (/* @__PURE__ */ new Date()).getTime();
|
|
18
|
+
function ue() {
|
|
19
19
|
let e3 = j(X, Y);
|
|
20
20
|
return null != e3 && (e3 = String(e3)), ae.value.multiple && (e3 = e3 ? String(e3).split(",") : []), e3;
|
|
21
21
|
}
|
|
22
|
-
const se = t({ get: () =>
|
|
23
|
-
const l2 =
|
|
24
|
-
|
|
22
|
+
const se = t({ get: () => ue(), set(e3) {
|
|
23
|
+
const l2 = ue();
|
|
24
|
+
ne = Array.isArray(l2) ? [...l2] : l2;
|
|
25
25
|
let t2 = e3;
|
|
26
26
|
if (ae.value.multiple && false !== ae.value.showSelectAll && Array.isArray(e3) && e3.includes(U)) {
|
|
27
27
|
const e4 = (pe.value || []).map((e5) => String(e5.value)), o2 = Array.isArray(l2) ? l2.map((e5) => String(e5)) : [];
|
|
@@ -31,41 +31,41 @@ const W = { style: { "padding-left": "5px" } }, B = { style: { width: "100%" } }
|
|
|
31
31
|
t2 = !!ae.value.arrayValue ? Array.isArray(t2) ? t2 : t2 ? String(t2).split(",") : [] : Array.isArray(t2) ? t2.length > 0 ? t2.join(",") : "" : t2 ?? "";
|
|
32
32
|
}
|
|
33
33
|
void 0 === t2 && (t2 = null), S(X, Y, t2), null != t2 && (N.value = "");
|
|
34
|
-
} }), pe = l(ae.value.options ? ae.value.options : []), ce =
|
|
34
|
+
} }), pe = l(ae.value.options ? ae.value.options : []), ce = k(J.pageContext, J.configure);
|
|
35
35
|
ce.length > 0 && (pe.value = ce);
|
|
36
36
|
const fe = l(false), ve = J.configure.props && J.configure.props.dataOrigin ? J.configure.props.dataOrigin : {}, ge = ve.optionValueSetType;
|
|
37
|
-
let
|
|
38
|
-
const
|
|
37
|
+
let me = [];
|
|
38
|
+
const de = ae.value.optionconfigInfo ? ae.value.optionconfigInfo : {};
|
|
39
39
|
if ("dynamicData" == ge || "dataTable" == ge || "service" == ge) {
|
|
40
40
|
if ("remote" == ve.filterType) {
|
|
41
41
|
let e3;
|
|
42
42
|
ae.value.filterable = true, ae.value.remote = true, ae.value.remoteShowSuffix = true, ae.value.remoteMethod = function(l2) {
|
|
43
|
-
e3 !== l2 && (e3 = l2, fe.value = true,
|
|
43
|
+
e3 !== l2 && (e3 = l2, fe.value = true, A(J.pageContext, de, l2).then((e4) => {
|
|
44
44
|
fe.value = false;
|
|
45
45
|
}).then((e4) => {
|
|
46
46
|
fe.value = false;
|
|
47
47
|
}));
|
|
48
48
|
};
|
|
49
49
|
}
|
|
50
|
-
if (ve.autoSets) for (let e3 of ve.autoSets) e3.source &&
|
|
50
|
+
if (ve.autoSets) for (let e3 of ve.autoSets) e3.source && me.push(e3);
|
|
51
51
|
}
|
|
52
|
-
J.configure && J.configure.props && J.configure.props.base && J.configure.props.base.optionProp &&
|
|
52
|
+
J.configure && J.configure.props && J.configure.props.base && J.configure.props.base.optionProp && me.push({ source: "label", target: J.configure.props.base.optionProp }), ae.value.changeMethod = function(e3) {
|
|
53
53
|
var _a;
|
|
54
54
|
let l2, t2 = null;
|
|
55
55
|
pe.value && null != e3 && null != e3 && (((_a = ae.value) == null ? void 0 : _a.multiple) && false !== ae.value.showSelectAll && Array.isArray(e3) && e3.includes(U) && (e3 = e3.filter((e4) => e4 !== U)), t2 = pe.value.filter((l3) => Array.isArray(e3) ? e3.includes(l3.value) : e3 === l3.value));
|
|
56
|
-
|
|
56
|
+
me.length > 0 && T(J.configure, J.pageContext, me, t2, [ae.value.prop]);
|
|
57
57
|
t2 && t2.length > 0 && (l2 = t2[0]);
|
|
58
58
|
let o2 = {};
|
|
59
59
|
l2 && (o2.extendParams = l2);
|
|
60
|
-
o2.options = pe.value, o2.oldValue =
|
|
60
|
+
o2.options = pe.value, o2.oldValue = ne, P(e3, J.pageContext, J.configure, "change", o2);
|
|
61
61
|
};
|
|
62
|
-
const
|
|
63
|
-
if (
|
|
62
|
+
const ye = ae.value.monitorFields, he = [];
|
|
63
|
+
if (ye) {
|
|
64
64
|
const e3 = [];
|
|
65
|
-
for (let l2 of
|
|
65
|
+
for (let l2 of ye) if (l2.startsWith("${")) {
|
|
66
66
|
l2 = l2.substring(2, l2.length - 1);
|
|
67
67
|
const t2 = l2.split(".");
|
|
68
|
-
"page" !== t2[0] && "task" !== t2[0] && "data" !== t2[0] || (
|
|
68
|
+
"page" !== t2[0] && "task" !== t2[0] && "data" !== t2[0] || (he.push(t2), e3.includes(t2[0]) || e3.push(t2[0]));
|
|
69
69
|
}
|
|
70
70
|
for (let l2 of e3) o(X[l2], () => {
|
|
71
71
|
Ce();
|
|
@@ -76,10 +76,10 @@ const W = { style: { "padding-left": "5px" } }, B = { style: { width: "100%" } }
|
|
|
76
76
|
xe && clearTimeout(xe), xe = setTimeout(function() {
|
|
77
77
|
const e3 = function() {
|
|
78
78
|
let e4 = [];
|
|
79
|
-
for (let l2 of
|
|
79
|
+
for (let l2 of he) e4.push(j(X, l2));
|
|
80
80
|
return e4.join(",");
|
|
81
81
|
}();
|
|
82
|
-
e3 != be && (be = e3,
|
|
82
|
+
e3 != be && (be = e3, de.watchAttrValue = e3, A(J.pageContext, de, void 0).then((e4) => {
|
|
83
83
|
fe.value = false;
|
|
84
84
|
}));
|
|
85
85
|
}, 200);
|
|
@@ -88,9 +88,9 @@ const W = { style: { "padding-left": "5px" } }, B = { style: { width: "100%" } }
|
|
|
88
88
|
xe && clearTimeout(xe);
|
|
89
89
|
});
|
|
90
90
|
let _e = false;
|
|
91
|
-
const we = l(null), Se = l(null),
|
|
92
|
-
function
|
|
93
|
-
const e3 =
|
|
91
|
+
const we = l(null), Se = l(null), ke = l(null);
|
|
92
|
+
function Ae() {
|
|
93
|
+
const e3 = ue();
|
|
94
94
|
if (null != e3 && "" !== e3 && e3.length > 0) {
|
|
95
95
|
let l2 = "";
|
|
96
96
|
return "string" == typeof e3 ? pe.value.length > 0 ? pe.value.forEach((t2) => {
|
|
@@ -105,20 +105,26 @@ const W = { style: { "padding-left": "5px" } }, B = { style: { width: "100%" } }
|
|
|
105
105
|
function Te(e3) {
|
|
106
106
|
Q.value = e3;
|
|
107
107
|
}
|
|
108
|
+
function je() {
|
|
109
|
+
const e3 = Ae();
|
|
110
|
+
e3 && navigator.clipboard && navigator.clipboard.writeText(e3).then(() => {
|
|
111
|
+
E({ showClose: true, type: "success", message: H("superPageRuntimeMessage.copySuccess") });
|
|
112
|
+
});
|
|
113
|
+
}
|
|
108
114
|
return i(() => {
|
|
109
|
-
const e3 = new z("#" +
|
|
110
|
-
return
|
|
115
|
+
const e3 = new z("#" + re, { text: function() {
|
|
116
|
+
return Ae();
|
|
111
117
|
} });
|
|
112
118
|
e3.on("success", () => {
|
|
113
119
|
E({ showClose: true, type: "success", message: H("superPageRuntimeMessage.copySuccess") });
|
|
114
120
|
}), e3.on("error", (e4) => {
|
|
115
|
-
}),
|
|
121
|
+
}), n(() => {
|
|
116
122
|
const e4 = se.value;
|
|
117
|
-
|
|
123
|
+
V(e4, J.pageContext, J.configure, { formItemRef: we.value, componentRef: Se.value, titleRef: ke.value, value: e4, entity: J.pageContext.entity.data, pageData: J.pageContext.entity.page });
|
|
118
124
|
});
|
|
119
125
|
}), $2({ updateOptions: function(e3) {
|
|
120
126
|
if (pe.value = e3 || [], !_e) {
|
|
121
|
-
const e4 =
|
|
127
|
+
const e4 = ue();
|
|
122
128
|
if (null != e4 && "" !== e4 && pe.value.length > 0) {
|
|
123
129
|
let l2 = false;
|
|
124
130
|
for (let t2 of pe.value) if (t2.value == e4) {
|
|
@@ -136,12 +142,12 @@ const W = { style: { "padding-left": "5px" } }, B = { style: { width: "100%" } }
|
|
|
136
142
|
_e = true;
|
|
137
143
|
}, addRequiredClass: function() {
|
|
138
144
|
N.value = I();
|
|
139
|
-
}, getSelectItemsTitle:
|
|
145
|
+
}, getSelectItemsTitle: Ae, getOptions: function() {
|
|
140
146
|
return pe.value;
|
|
141
147
|
} }), (e3, l2) => {
|
|
142
|
-
const t2 =
|
|
143
|
-
return s(),
|
|
144
|
-
}, ["stop"]), ["space"])), onChange: ae.value.changeMethod, onClear: ae.value.changeMethod, onVisibleChange: Te, modelValue: se.value, "onUpdate:modelValue": l2[1] || (l2[1] = (e4) => se.value = e4) }, { default: v(() => [ae.value.multiple && false !== ae.value.showSelectAll ? (s(),
|
|
148
|
+
const t2 = r("el-icon"), o2 = r("el-option"), a2 = r("el-select"), i2 = r("el-popover"), n2 = r("el-form-item");
|
|
149
|
+
return s(), u(n2, { ref_key: "formItemRef", ref: we, required: !!ae.value.required, class: c(f(le) + (N.value ? " " + N.value : "")), "label-width": ae.value.labelWidth, style: p(f(ee)) }, { label: v(() => [ae.value.tittleShow ? (s(), b("div", { key: 0, ref_key: "titleRef", ref: ke, style: p({ ...f(te), ...f(oe) }) }, [ae.value.prefixType ? (s(), u(M, { key: 0, pageContext: e3.pageContext, property: ae.value }, null, 8, ["pageContext", "property"])) : (s(), b(x, { key: 1 }, [w(_(f(D)(ae.value.title)), 1)], 64))], 4)) : h("", true)]), default: v(() => [g(i2, { placement: "right", trigger: "hover", width: 50, "popper-class": "custom-sel-copy-tooltip", "popper-options": { modifiers: [{ name: "flip", options: { fallbackPlacements: ["left", "top", "bottom"] } }] } }, { reference: v(() => [m("div", B, [g(a2, { ref_key: "componentRef", ref: Se, style: { flex: "1", "min-width": "0" }, disabled: "disabled" === ae.value.state, size: ae.value.size, clearable: ae.value.clearable, multiple: ae.value.multiple, "collapse-tags": ae.value.collapseTags, "collapse-tags-tooltip": ae.value.collapseTagsTooltip, filterable: ae.value.filterable, "allow-create": ae.value.allowCreate, placeholder: ae.value.placeholder, "remote-show-suffix": ae.value.remoteShowSuffix, remote: ae.value.remote, "remote-method": ae.value.remoteMethod, loading: fe.value, onKeydown: l2[0] || (l2[0] = d(y(() => {
|
|
150
|
+
}, ["stop"]), ["space"])), onChange: ae.value.changeMethod, onClear: ae.value.changeMethod, onVisibleChange: Te, modelValue: se.value, "onUpdate:modelValue": l2[1] || (l2[1] = (e4) => se.value = e4) }, { prefix: v(() => [m("span", { class: "mobile-copy-trigger", onClick: y(je, ["stop"]) }, [g(t2, { style: { cursor: "copy" } }, { default: v(() => [g(f(q))]), _: 1 })])]), default: v(() => [ae.value.multiple && false !== ae.value.showSelectAll ? (s(), u(o2, { key: 0, label: f(H)("superGrid.selectAll"), value: U, disabled: !(pe.value && pe.value.length > 0) }, null, 8, ["label", "disabled"])) : h("", true), (s(true), b(x, null, C(pe.value, (l3) => (s(), u(o2, { key: l3.value, label: l3.label, value: l3.value, class: c({ "option-description-newLine": f(ie) }), onClick: (t3) => f(P)(l3.value, e3.pageContext, e3.configure, "click", { values: se.value }) }, { default: v(() => [l3._description_ ? (s(), b(x, { key: 0 }, [f(ie) ? (s(), b("div", F, [m("span", null, _(l3.label), 1), m("span", G, _(l3._description_), 1)])) : (s(), b(x, { key: 1 }, [m("span", K, _(l3.label), 1), m("span", L, _(l3._description_), 1)], 64))], 64)) : h("", true)]), _: 2 }, 1032, ["label", "value", "class", "onClick"]))), 128))]), _: 1 }, 8, ["disabled", "size", "clearable", "multiple", "collapse-tags", "collapse-tags-tooltip", "filterable", "allow-create", "placeholder", "remote-show-suffix", "remote", "remote-method", "loading", "onChange", "onClear", "modelValue"])])]), default: v(() => [m("span", W, [g(t2, { id: re, style: { cursor: "copy" } }, { default: v(() => [g(f(q))]), _: 1 })])]), _: 1 })]), _: 1 }, 8, ["required", "class", "label-width", "style"]);
|
|
145
151
|
};
|
|
146
152
|
} });
|
|
147
153
|
export {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import r from "./extract-workflow-runtime.vue2.js";
|
|
2
2
|
/* empty css */
|
|
3
3
|
import t from "../../../../../../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
-
const e = t(r, [["__scopeId", "data-v-
|
|
4
|
+
const e = t(r, [["__scopeId", "data-v-86931fd4"]]);
|
|
5
5
|
export {
|
|
6
6
|
e as default
|
|
7
7
|
};
|
|
@@ -1,40 +1,45 @@
|
|
|
1
|
-
import { defineComponent as e, ref as l, onMounted as
|
|
2
|
-
import { handleAfterInitEvent as
|
|
3
|
-
import { $t as
|
|
4
|
-
import { DepartmentUserTree as
|
|
5
|
-
import { Search as
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
function O() {
|
|
9
|
-
return void 0 !== V.pageContext.canClick && void 0 !== V.pageContext.clickUuid && (!V.pageContext.canClick && V.pageContext.clickUuid === V.configure.uuid);
|
|
10
|
-
}
|
|
11
|
-
D.props && (true === D.props.requireExtractTransactor && (j.value.loginName = [{ required: true, message: "请选择办理人", trigger: "blur" }]), true === D.props.isMustOpinion && (j.value.opinion = [{ required: true, message: "请输入意见", trigger: "change" }]));
|
|
12
|
-
const T = l(null);
|
|
1
|
+
import { defineComponent as e, ref as l, onMounted as o, nextTick as a, resolveComponent as n, createElementBlock as t, openBlock as i, createVNode as u, normalizeStyle as r, normalizeClass as p, unref as c, withCtx as s, createTextVNode as d, toDisplayString as m, createBlock as f, createCommentVNode as g, createElementVNode as v } from "vue";
|
|
2
|
+
import { handleAfterInitEvent as x, handleEvent as C, getDefaultEventParams as y, canExecuteButton as _ } from "../../../../utils/events/event-util.js";
|
|
3
|
+
import { $t as k } from "../../../../utils/i18n-util.js";
|
|
4
|
+
import { DepartmentUserTree as b } from "agilebuilder-ui";
|
|
5
|
+
import { Search as h, Delete as N } from "@element-plus/icons-vue";
|
|
6
|
+
const w = { class: "page-runtime-header-btn" }, V = { class: "dialog-footer" }, U = e({ __name: "extract-workflow-runtime", props: { pageContext: {}, configure: {} }, setup(e2, { expose: U2 }) {
|
|
7
|
+
const q = e2, z = l(), R = l(false), j = l(false), E = l({}), D = l({ loginName: [], opinion: [] }), F = q.configure.runtime ? q.configure.runtime : {}, M = l(F.props ? F.props : {}), O = F.style, T = F.class;
|
|
13
8
|
function $() {
|
|
14
|
-
q.
|
|
15
|
-
}
|
|
16
|
-
function A(e3) {
|
|
17
|
-
q.value = false, R.value.loginName = e3 ? e3.loginName : "", R.value.name = e3 ? e3.name : "";
|
|
9
|
+
return void 0 !== q.pageContext.canClick && void 0 !== q.pageContext.clickUuid && (!q.pageContext.canClick && q.pageContext.clickUuid === q.configure.uuid);
|
|
18
10
|
}
|
|
11
|
+
F.props && (true === F.props.requireExtractTransactor && (D.value.loginName = [{ required: true, message: "请选择办理人", trigger: "blur" }]), true === F.props.isMustOpinion && (D.value.opinion = [{ required: true, message: "请输入意见", trigger: "change" }]));
|
|
12
|
+
const A = l(null);
|
|
19
13
|
function B() {
|
|
20
|
-
|
|
14
|
+
R.value = true;
|
|
15
|
+
}
|
|
16
|
+
function G(e3) {
|
|
17
|
+
R.value = false, E.value.loginName = e3 ? e3.loginName : "", E.value.name = e3 ? e3.name : "";
|
|
18
|
+
}
|
|
19
|
+
function H() {
|
|
20
|
+
z.value.validate((e3, l2) => {
|
|
21
21
|
if (e3) {
|
|
22
|
-
const e4 = { loginName:
|
|
23
|
-
C(e4,
|
|
22
|
+
const e4 = { loginName: E.value.loginName, opinion: E.value.opinion };
|
|
23
|
+
C(e4, q.pageContext, q.configure, "click");
|
|
24
24
|
}
|
|
25
25
|
});
|
|
26
26
|
}
|
|
27
|
-
return
|
|
28
|
-
|
|
29
|
-
|
|
27
|
+
return o(() => {
|
|
28
|
+
a(() => {
|
|
29
|
+
x(null, q.pageContext, q.configure, { componentRef: A.value, entity: q.pageContext.entity.data, pageData: q.pageContext.entity.page });
|
|
30
30
|
});
|
|
31
|
-
}),
|
|
32
|
-
|
|
31
|
+
}), U2({ click: function() {
|
|
32
|
+
A.value && A.value.$el.click();
|
|
33
33
|
} }), (e3, l2) => {
|
|
34
|
-
const
|
|
35
|
-
return i(), t("span",
|
|
34
|
+
const o2 = n("el-button"), a2 = n("el-icon"), x2 = n("el-input"), C2 = n("el-form-item"), U3 = n("el-form"), F2 = n("el-dialog");
|
|
35
|
+
return i(), t("span", w, [u(o2, { ref_key: "componentRef", ref: A, disabled: $(), class: p(c(T)), style: r(c(O)), type: M.value.type, size: M.value.size, round: M.value.round, plain: M.value.plain, loading: $(), onClick: l2[0] || (l2[0] = (e4) => function(e5) {
|
|
36
|
+
const l3 = y(e5, q.pageContext, q.configure, {});
|
|
37
|
+
_(l3).then((e6) => {
|
|
38
|
+
e6.canExecute && (j.value = true);
|
|
39
|
+
});
|
|
40
|
+
}()) }, { default: s(() => [d(m(c(k)(M.value.title)), 1)]), _: 1 }, 8, ["disabled", "class", "style", "type", "size", "round", "plain", "loading"]), u(F2, { modelValue: j.value, "onUpdate:modelValue": l2[6] || (l2[6] = (e4) => j.value = e4), title: "选择办理人", width: "500" }, { footer: s(() => [v("div", V, [u(o2, { onClick: l2[5] || (l2[5] = (e4) => j.value = false) }, { default: s(() => l2[7] || (l2[7] = [d("取消")])), _: 1 }), u(o2, { type: "primary", onClick: H }, { default: s(() => l2[8] || (l2[8] = [d(" 确定 ")])), _: 1 })])]), default: s(() => [u(U3, { ref_key: "ruleFormRef", ref: z, style: { "max-width": "600px" }, model: E.value, rules: D.value, "label-width": "auto" }, { default: s(() => [u(C2, { label: "办理人", prop: "loginName" }, { default: s(() => [u(x2, { "model-value": E.value.name, readonly: true, type: "text", placeholder: "选择办理人", onClick: l2[3] || (l2[3] = (e4) => B()) }, { append: s(() => [u(a2, { class: "el-input__icon", onClick: l2[1] || (l2[1] = (e4) => B()) }, { default: s(() => [u(c(h))]), _: 1 }), u(a2, { class: "el-input__icon", onClick: l2[2] || (l2[2] = (e4) => (E.value.loginName = "", void (E.value.name = ""))) }, { default: s(() => [u(c(N))]), _: 1 })]), _: 1 }, 8, ["model-value"])]), _: 1 }), u(C2, { label: "意见", prop: "opinion" }, { default: s(() => [u(x2, { modelValue: E.value.opinion, "onUpdate:modelValue": l2[4] || (l2[4] = (e4) => E.value.opinion = e4), type: "textarea" }, null, 8, ["modelValue"])]), _: 1 }), R.value ? (i(), f(c(b), { key: 0, width: "60%", multiple: false, onClose: G })) : g("", true)]), _: 1 }, 8, ["model", "rules"])]), _: 1 }, 8, ["modelValue"])]);
|
|
36
41
|
};
|
|
37
42
|
} });
|
|
38
43
|
export {
|
|
39
|
-
|
|
44
|
+
U as default
|
|
40
45
|
};
|
package/dist/es/style.css
CHANGED
|
@@ -585,12 +585,24 @@
|
|
|
585
585
|
.amb-widget-tools-parent[data-v-a9801c3f] .amb-widget-container-tool > .el-form-item {
|
|
586
586
|
margin-bottom: 0;
|
|
587
587
|
}
|
|
588
|
-
[data-v-
|
|
588
|
+
[data-v-68808d47] .el-popover,[data-v-68808d47] .el-popper,[data-v-68808d47] .el-popover__popper {
|
|
589
589
|
min-width: 50px !important;
|
|
590
590
|
}
|
|
591
|
-
[data-v-
|
|
591
|
+
[data-v-68808d47] .custom-sel-copy-tooltip {
|
|
592
592
|
box-shadow: 0 0 8px 2px rgba(0, 123, 255, 0.7);
|
|
593
593
|
}
|
|
594
|
+
/* 移动端显示复制按钮,pc隐藏 */
|
|
595
|
+
.mobile-copy-trigger[data-v-68808d47] {
|
|
596
|
+
display: none;
|
|
597
|
+
}
|
|
598
|
+
@media (hover: none) and (pointer: coarse) {
|
|
599
|
+
.mobile-copy-trigger[data-v-68808d47] {
|
|
600
|
+
display: inline-flex;
|
|
601
|
+
align-items: center;
|
|
602
|
+
padding-right: 4px;
|
|
603
|
+
color: var(--el-color-primary);
|
|
604
|
+
}
|
|
605
|
+
}
|
|
594
606
|
|
|
595
607
|
[data-v-7f659782] .el-form-item__content {
|
|
596
608
|
height: 100% !important;
|
|
@@ -916,7 +928,7 @@
|
|
|
916
928
|
}
|
|
917
929
|
.amb-workflowbutton-runtime-view > div[data-v-9b35b120] {
|
|
918
930
|
width: auto;
|
|
919
|
-
}.dialog-footer[data-v-
|
|
931
|
+
}.dialog-footer[data-v-86931fd4] {
|
|
920
932
|
display: inline-flex;
|
|
921
933
|
gap: 8px;
|
|
922
934
|
}.dialog-footer[data-v-a6bc44c9] {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "super-page-runtime",
|
|
3
|
-
"version": "2.3.33-
|
|
3
|
+
"version": "2.3.33-sit2",
|
|
4
4
|
"description": "AgileBuilder super page runtime",
|
|
5
5
|
"license": "ISC",
|
|
6
6
|
"main": "dist/es/index.js",
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
"@vitejs/plugin-vue-jsx": "^3.1.0",
|
|
50
50
|
"@vue/eslint-config-prettier": "^8.0.0",
|
|
51
51
|
"@vue/test-utils": "^2.4.4",
|
|
52
|
-
"agilebuilder-ui": "1.1.88-
|
|
52
|
+
"agilebuilder-ui": "1.1.88-sit2",
|
|
53
53
|
"axios": "^1.6.8",
|
|
54
54
|
"cypress": "^13.6.6",
|
|
55
55
|
"element-plus": "^2.6.1",
|