@jeecg/online 3.7.0-beta → 3.7.4-beta
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/AccountLoginForm-84cbd344.mjs +254 -0
- package/AiModal-26903538.mjs +84 -0
- package/AppForgetPassword-52443f23.mjs +310 -0
- package/AppLogin-ecf798fa.mjs +287 -0
- package/AppLoginHeader-4432c584.mjs +27 -0
- package/AppNameEmail-3303a037.mjs +180 -0
- package/AppRegister-79a62c59.mjs +303 -0
- package/AppTenant-f0bef7ca.mjs +373 -0
- package/AppThirdForm-fd8b4604.mjs +189 -0
- package/AuthButtonConfig-d5bffca0.mjs +156 -0
- package/AuthButtonTree-b0bd6c40.mjs +165 -0
- package/{AuthDataConfig-7bb0cd85.mjs → AuthDataConfig-d3b7afa4.mjs} +30 -29
- package/{AuthDataTree-6e3bb86f.mjs → AuthDataTree-f14a98d9.mjs} +47 -47
- package/AuthFieldConfig-f1e224cc.mjs +245 -0
- package/AuthFieldTree-5cc0da05.mjs +232 -0
- package/{AuthManagerDrawer-5e2ed5ce.mjs → AuthManagerDrawer-32556109.mjs} +9 -8
- package/{AuthSetterModal-6f74449c.mjs → AuthSetterModal-364f1f67.mjs} +12 -11
- package/BuiltInButtonList-bb6cf95c.mjs +10 -0
- package/BuiltInButtonList.vue_vue_type_script_setup_true_lang-07d0b7d0.mjs +338 -0
- package/CgformAddressModal-1131274c.mjs +260 -0
- package/CgformCopyList-5fba0810.mjs +252 -0
- package/CgformModal-c4a4e0c2.mjs +667 -0
- package/{CgreportModal-5a23d089.mjs → CgreportModal-8a84aae5.mjs} +186 -172
- package/{CheckDictTable-b5cb0e2b.mjs → CheckDictTable-8a938e3a.mjs} +37 -34
- package/CodeFileListModal-a924902a.mjs +159 -0
- package/CodeFileViewModal-405e2b58.mjs +253 -0
- package/CodeGeneratorModal-2e1dc13d.mjs +281 -0
- package/CustomButtonList-c453b654.mjs +274 -0
- package/{DBAttributeTable-95dc66c1.mjs → DBAttributeTable-1a45c7b7.mjs} +80 -72
- package/DbToOnlineModal-f28ff0a3.mjs +168 -0
- package/{DetailForm-4aa2570b.mjs → DetailForm-c592b8d8.mjs} +50 -49
- package/DropMenuItem-1e49abea.mjs +44 -0
- package/{EnhanceJavaModal-98934198.mjs → EnhanceJavaModal-d5a93f2a.mjs} +62 -62
- package/{EnhanceJsHistory-9c4acdaf.mjs → EnhanceJsHistory-8ddb0657.mjs} +35 -35
- package/{EnhanceJsModal-247f640d.mjs → EnhanceJsModal-dc4f9ade.mjs} +154 -138
- package/{EnhanceSqlModal-65b74b0f.mjs → EnhanceSqlModal-984f045d.mjs} +67 -67
- package/ErrorTip-bb616e32.mjs +7 -0
- package/ErrorTip.vue_vue_type_script_setup_true_lang-49d35987.mjs +60 -0
- package/{ExtendConfigModal-00f2fb55.mjs → ExtendConfigModal-7d70f362.mjs} +2 -2
- package/{FieldExtendJsonModal-cc7fce26.mjs → FieldExtendJsonModal-bf04d70e.mjs} +2 -2
- package/{FileSelectModal-38660e3c.mjs → FileSelectModal-ffc69d4a.mjs} +23 -23
- package/{ForeignKeyTable-a78cb5ad.mjs → ForeignKeyTable-92decaea.mjs} +3 -3
- package/{IndexTable-1b496559.mjs → IndexTable-2ded2014.mjs} +28 -20
- package/JModalTip-a927f85d.mjs +49 -0
- package/JOnlineSearchSelect-04ec87d0.mjs +128 -0
- package/{LeftDepart-8ade4bf7.mjs → LeftDepart-52cb6743.mjs} +1 -1
- package/LeftRole-b0e0b496.mjs +86 -0
- package/{LeftUser-b4d1372a.mjs → LeftUser-dd4b10e2.mjs} +30 -30
- package/{LinkTableConfigModal-a138c85e.mjs → LinkTableConfigModal-7eeb3e58.mjs} +43 -31
- package/{LinkTableFieldConfigModal-17b413b0.mjs → LinkTableFieldConfigModal-b078fcef.mjs} +1 -1
- package/{LinkTableListPiece-2660d709.mjs → LinkTableListPiece-e016b8e6.mjs} +1 -1
- package/{ModalFormDemo-0544737d.mjs → ModalFormDemo-aaa719a7.mjs} +1 -1
- package/OnlCgformErpList-5c5acdaa.mjs +488 -0
- package/OnlCgformErpSubTable-e1b88312.mjs +441 -0
- package/{OnlCgformInnerSubTable-290ace5d.mjs → OnlCgformInnerSubTable-6b6fa15a.mjs} +106 -107
- package/OnlCgformInnerTableList-b283a525.mjs +474 -0
- package/OnlCgformTabList-91e3dd78.mjs +424 -0
- package/OnlineAutoList-84475f1b.mjs +513 -0
- package/OnlineAutoModal-95f46901.mjs +260 -0
- package/OnlineAutoTreeList-20b9ce04.mjs +523 -0
- package/OnlineCustomModal-c8b1e780.mjs +232 -0
- package/{OnlineDetailModal-2a271e0b.mjs → OnlineDetailModal-5b412bb9.mjs} +74 -65
- package/OnlineForm-58282699.mjs +1012 -0
- package/{OnlineFormDetail-e036cd11.mjs → OnlineFormDetail-fc087725.mjs} +7 -7
- package/{OnlineFormUrlAdd-7fb3dcca.mjs → OnlineFormUrlAdd-bc9105bb.mjs} +10 -10
- package/{OnlineFormUrlDetail-b2292137.mjs → OnlineFormUrlDetail-ad912560.mjs} +12 -12
- package/{OnlineFormUrlEdit-44080fb3.mjs → OnlineFormUrlEdit-f2fa79ff.mjs} +10 -10
- package/OnlineFormUrlSuccess-76813d45.mjs +59 -0
- package/OnlineQueryForm-9248341f.mjs +484 -0
- package/{OnlineSearchFormItem-6feacae6.mjs → OnlineSearchFormItem-1e437bd3.mjs} +82 -82
- package/{OnlineSelectCascade-471fcc76.mjs → OnlineSelectCascade-d631ed72.mjs} +1 -1
- package/{OnlineSubFormDetail-03f8ee5c.mjs → OnlineSubFormDetail-8be879b9.mjs} +53 -54
- package/{OnlineTabAutoModal-7b9bcd0b.mjs → OnlineTabAutoModal-c9ca3c24.mjs} +108 -95
- package/{OnlineTabDetailModal-88143301.mjs → OnlineTabDetailModal-fd4c9a72.mjs} +36 -36
- package/OnlineTabForm-1940e88b.mjs +814 -0
- package/{OnlineTabFormDetail-bbf23caa.mjs → OnlineTabFormDetail-2aa67564.mjs} +17 -17
- package/{PageAttributeTable-6c23547b.mjs → PageAttributeTable-66e7b485.mjs} +169 -149
- package/PhoneLoginForm-86437a9d.mjs +214 -0
- package/{ProcessOnlineForm-b42198f5.mjs → ProcessOnlineForm-98ede18d.mjs} +64 -58
- package/{QueryTable-96b3dbd0.mjs → QueryTable-65d3f54f.mjs} +40 -37
- package/SetSwitchOptions-f914bc17.mjs +62 -0
- package/ShareAddView-657f0f8b.mjs +86 -0
- package/ShareEditView-1b945fd3.mjs +92 -0
- package/ShareView-222ed3d8.mjs +80 -0
- package/ShareView.vue_vue_type_script_setup_true_lang-44fbeaff.mjs +162 -0
- package/SingleView-23b0cb4e.mjs +68 -0
- package/SingleView.vue_vue_type_style_index_0_lang-e0f2f6c0.mjs +131 -0
- package/SuperQuery-46032e66.mjs +974 -0
- package/{SuperQueryValComponent-7ad86d4b.mjs → SuperQueryValComponent-5a9ccfd4.mjs} +1 -1
- package/{SuperQueryValComponent.vue_vue_type_script_lang-e9196096.mjs → SuperQueryValComponent.vue_vue_type_script_lang-8fe34917.mjs} +11 -11
- package/auth.api-53df4c33.mjs +41 -0
- package/{auth.data-22948e87.mjs → auth.data-626c5083.mjs} +68 -30
- package/button.data-fe45d43b.mjs +12 -0
- package/{cgform.data-475d4984.mjs → cgform.data-0ca62d09.mjs} +4 -1
- package/{enhance.data-3304d553.mjs → enhance.data-6601ff44.mjs} +9 -8
- package/index-19eaef11.mjs +11 -0
- package/index-1a2e8832.mjs +135 -0
- package/{index-581bef24.mjs → index-2fb8e07f.mjs} +59 -59
- package/index-5e89258d.mjs +8 -0
- package/index-9e1e1e53.mjs +57 -0
- package/{index-d2abb8a0.mjs → index-a039036e.mjs} +273 -262
- package/index-c5a79b0b.mjs +219 -0
- package/index-cce225be.mjs +110 -0
- package/index-f2c2d1cf.mjs +74 -0
- package/main.index.js +1 -1
- package/package.json +1 -1
- package/shareStore-7de6c7a6.mjs +67 -0
- package/style.css +1 -1
- package/useCgformList-f3cb9156.mjs +378 -0
- package/useExtendComponent-bb98e568.mjs +4460 -0
- package/useListButton-98908683.mjs +719 -0
- package/{useSchemas-47e45edc.mjs → useSchemas-b074f3a1.mjs} +88 -46
- package/useTableSync-075826a1.mjs +89 -0
- package/utils-9fce7606.mjs +16 -0
- package/AiModal-fe3988fb.mjs +0 -84
- package/AuthButtonConfig-d50a0a65.mjs +0 -134
- package/AuthButtonTree-589395ed.mjs +0 -156
- package/AuthFieldConfig-490fc0ab.mjs +0 -139
- package/AuthFieldTree-b7cd091e.mjs +0 -232
- package/CgformCopyList-8077ccc6.mjs +0 -250
- package/CgformModal-36faf29a.mjs +0 -621
- package/CodeFileListModal-0e26b7e0.mjs +0 -158
- package/CodeFileViewModal-9d4a5b5f.mjs +0 -248
- package/CodeGeneratorModal-b722d976.mjs +0 -238
- package/CustomButtonList-37639061.mjs +0 -381
- package/DbToOnlineModal-f49b9530.mjs +0 -166
- package/JModalTip-4a83aaed.mjs +0 -49
- package/JOnlineSearchSelect-34a37ec9.mjs +0 -95
- package/LeftRole-7d8c5acc.mjs +0 -86
- package/OnlCgformErpList-30e416c8.mjs +0 -470
- package/OnlCgformErpSubTable-9a876058.mjs +0 -427
- package/OnlCgformInnerTableList-f89b6687.mjs +0 -458
- package/OnlCgformTabList-7a2f2c03.mjs +0 -408
- package/OnlineAutoList-46c6c8b9.mjs +0 -493
- package/OnlineAutoModal-971bef13.mjs +0 -236
- package/OnlineAutoTreeList-3b92454c.mjs +0 -502
- package/OnlineCustomModal-594244f3.mjs +0 -232
- package/OnlineForm-018981b2.mjs +0 -924
- package/OnlineFormUrlSuccess-af285b02.mjs +0 -59
- package/OnlineQueryForm-998c12a4.mjs +0 -444
- package/OnlineTabForm-9ad7d29a.mjs +0 -805
- package/SetSwitchOptions-a452fa0f.mjs +0 -62
- package/SuperQuery-cbfba908.mjs +0 -975
- package/auth.api-d3a6c4b3.mjs +0 -39
- package/index-173949bb.mjs +0 -57
- package/useCgformList-8755a94e.mjs +0 -426
- package/useExtendComponent-bb7cca20.mjs +0 -4295
- package/useListButton-7ddb9a46.mjs +0 -697
- package/useTableSync-f6089e8a.mjs +0 -87
- /package/{OnlineForm.vue_vue_type_style_index_0_scoped_0f9f2964_lang-4ed993c7.mjs → OnlineForm.vue_vue_type_style_index_0_scoped_3f26e7bd_lang-4ed993c7.mjs} +0 -0
|
@@ -1,40 +1,40 @@
|
|
|
1
1
|
var X = Object.defineProperty;
|
|
2
2
|
var E = Object.getOwnPropertySymbols;
|
|
3
3
|
var Y = Object.prototype.hasOwnProperty, Z = Object.prototype.propertyIsEnumerable;
|
|
4
|
-
var R = (e,
|
|
5
|
-
for (var
|
|
6
|
-
Y.call(
|
|
4
|
+
var R = (e, o, n) => o in e ? X(e, o, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[o] = n, A = (e, o) => {
|
|
5
|
+
for (var n in o || (o = {}))
|
|
6
|
+
Y.call(o, n) && R(e, n, o[n]);
|
|
7
7
|
if (E)
|
|
8
|
-
for (var
|
|
9
|
-
Z.call(
|
|
8
|
+
for (var n of E(o))
|
|
9
|
+
Z.call(o, n) && R(e, n, o[n]);
|
|
10
10
|
return e;
|
|
11
11
|
};
|
|
12
|
-
var d = (e,
|
|
12
|
+
var d = (e, o, n) => new Promise((_, p) => {
|
|
13
13
|
var b = (i) => {
|
|
14
14
|
try {
|
|
15
|
-
c(
|
|
15
|
+
c(n.next(i));
|
|
16
16
|
} catch (u) {
|
|
17
17
|
p(u);
|
|
18
18
|
}
|
|
19
19
|
}, s = (i) => {
|
|
20
20
|
try {
|
|
21
|
-
c(
|
|
21
|
+
c(n.throw(i));
|
|
22
22
|
} catch (u) {
|
|
23
23
|
p(u);
|
|
24
24
|
}
|
|
25
|
-
}, c = (i) => i.done ?
|
|
26
|
-
c((
|
|
25
|
+
}, c = (i) => i.done ? _(i.value) : Promise.resolve(i.value).then(b, s);
|
|
26
|
+
c((n = n.apply(e, o)).next());
|
|
27
27
|
});
|
|
28
|
-
import { defineComponent as x, ref as
|
|
28
|
+
import { defineComponent as x, ref as v, reactive as ee, computed as oe, nextTick as ne, resolveComponent as r, openBlock as D, createBlock as q, withCtx as a, createVNode as l, createTextVNode as g, createElementBlock as te, createCommentVNode as L, normalizeProps as ae, guardReactiveProps as le } from "vue";
|
|
29
29
|
import { BasicModal as ie, useModalInner as re, useModal as se } from "/@/components/Modal";
|
|
30
30
|
import { BasicForm as ce, useForm as ue } from "/@/components/Form";
|
|
31
31
|
import { BasicTable as me, TableAction as de } from "/@/components/Table";
|
|
32
32
|
import { useListPage as pe } from "/@/hooks/system/useListPage";
|
|
33
33
|
import { u as fe } from "./useOnlineTest-e4bd8be3.mjs";
|
|
34
|
-
import { b as
|
|
35
|
-
import { c as be, e as
|
|
36
|
-
import { _ as
|
|
37
|
-
import "./cgform.data-
|
|
34
|
+
import { b as ge, c as _e } from "./enhance.data-6601ff44.mjs";
|
|
35
|
+
import { c as be, e as Ce, f as P } from "./enhance.api-138e6826.mjs";
|
|
36
|
+
import { _ as we } from "./index-9e1e1e53.mjs";
|
|
37
|
+
import "./cgform.data-0ca62d09.mjs";
|
|
38
38
|
import "/@/utils/dict";
|
|
39
39
|
import "/@/utils/dict/JDictSelectUtil";
|
|
40
40
|
import "/@/utils/uuid";
|
|
@@ -43,28 +43,28 @@ import "/@/utils/is";
|
|
|
43
43
|
import "/@/components/jeecg/OnLine/JPopupOnlReport.vue";
|
|
44
44
|
import "/@/hooks/web/useMessage";
|
|
45
45
|
import "vue-router";
|
|
46
|
-
const
|
|
46
|
+
const ye = x({
|
|
47
47
|
name: "EnhanceSqlModal",
|
|
48
48
|
components: { BasicModal: ie, BasicTable: me, BasicForm: ce, TableAction: de },
|
|
49
49
|
emits: ["register"],
|
|
50
50
|
setup() {
|
|
51
|
-
const e =
|
|
51
|
+
const e = v(""), o = v(""), n = v([]), { columns: _ } = _e(n), { doRequest: p, doDeleteRecord: b, tableContext: s } = pe({
|
|
52
52
|
tableProps: {
|
|
53
|
-
api: (
|
|
54
|
-
let { dataSource:
|
|
55
|
-
return
|
|
53
|
+
api: (t) => d(this, null, function* () {
|
|
54
|
+
let { dataSource: y, btnList: J } = yield be(e.value, t);
|
|
55
|
+
return n.value = J, y;
|
|
56
56
|
}),
|
|
57
|
-
columns:
|
|
57
|
+
columns: _,
|
|
58
58
|
canResize: !1,
|
|
59
59
|
useSearchForm: !1,
|
|
60
|
-
beforeFetch(
|
|
61
|
-
return Object.assign(
|
|
60
|
+
beforeFetch(t) {
|
|
61
|
+
return Object.assign(t, { column: "orderNum", order: "asc" });
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
|
-
}), [c, { reload: i }, { rowSelection: u, selectedRowKeys:
|
|
65
|
-
e.value =
|
|
66
|
-
})), { aiTestMode:
|
|
67
|
-
onRegister:
|
|
64
|
+
}), [c, { reload: i }, { rowSelection: u, selectedRowKeys: C }] = s, [M, { closeModal: S }] = re((t) => d(this, null, function* () {
|
|
65
|
+
e.value = t.row.id, o.value = t.row.tableName, i();
|
|
66
|
+
})), { aiTestMode: h, genEnhanceSqlData: B } = fe(), [w, m] = se(), f = v(!1), F = ee({
|
|
67
|
+
onRegister: w,
|
|
68
68
|
title: oe(() => f != null && f.value ? "修改" : "新增"),
|
|
69
69
|
width: 800,
|
|
70
70
|
confirmLoading: !1,
|
|
@@ -72,7 +72,7 @@ const we = x({
|
|
|
72
72
|
onCancel: m.closeModal
|
|
73
73
|
});
|
|
74
74
|
let k = {};
|
|
75
|
-
const { formSchemas: N } =
|
|
75
|
+
const { formSchemas: N } = ge(n), [$, { resetFields: O, setFieldsValue: V, validate: G }] = ue({
|
|
76
76
|
schemas: N,
|
|
77
77
|
showActionButtonGroup: !1,
|
|
78
78
|
// update-begin--author:liaozhiyang---date:20231017---for:【issues/790】弹窗内文本框不居中问题
|
|
@@ -82,63 +82,63 @@ const we = x({
|
|
|
82
82
|
// update-end--author:liaozhiyang---date:20231017---for:【issues/790】弹窗内文本框不居中问题
|
|
83
83
|
});
|
|
84
84
|
function I() {
|
|
85
|
-
|
|
85
|
+
S();
|
|
86
86
|
}
|
|
87
|
-
function T(
|
|
87
|
+
function T(t) {
|
|
88
88
|
return d(this, null, function* () {
|
|
89
|
-
var
|
|
90
|
-
f.value =
|
|
89
|
+
var y;
|
|
90
|
+
f.value = t.isUpdate, k = A({}, (y = t.record) != null ? y : {}), m.openModal(), yield ne(), yield O(), V(k);
|
|
91
91
|
});
|
|
92
92
|
}
|
|
93
93
|
function j() {
|
|
94
94
|
T({ isUpdate: !1 });
|
|
95
95
|
}
|
|
96
|
-
function z(
|
|
97
|
-
T({ isUpdate: !0, record:
|
|
96
|
+
function z(t) {
|
|
97
|
+
T({ isUpdate: !0, record: t });
|
|
98
98
|
}
|
|
99
99
|
function K() {
|
|
100
|
-
B(e.value,
|
|
100
|
+
B(e.value, o.value);
|
|
101
101
|
}
|
|
102
102
|
function U() {
|
|
103
103
|
return d(this, null, function* () {
|
|
104
|
-
p(() => P(
|
|
104
|
+
p(() => P(C.value));
|
|
105
105
|
});
|
|
106
106
|
}
|
|
107
107
|
function H() {
|
|
108
108
|
return d(this, null, function* () {
|
|
109
109
|
try {
|
|
110
110
|
F.confirmLoading = !0;
|
|
111
|
-
let
|
|
112
|
-
|
|
111
|
+
let t = yield G();
|
|
112
|
+
t = Object.assign({}, k, t), yield Ce(e.value, t, f.value), i(), m.closeModal();
|
|
113
113
|
} finally {
|
|
114
114
|
F.confirmLoading = !1;
|
|
115
115
|
}
|
|
116
116
|
});
|
|
117
117
|
}
|
|
118
|
-
function Q(
|
|
118
|
+
function Q(t) {
|
|
119
119
|
return [
|
|
120
120
|
{
|
|
121
121
|
label: "编辑",
|
|
122
|
-
onClick: () => z(
|
|
122
|
+
onClick: () => z(t)
|
|
123
123
|
}
|
|
124
124
|
];
|
|
125
125
|
}
|
|
126
|
-
function W(
|
|
126
|
+
function W(t) {
|
|
127
127
|
return [
|
|
128
128
|
{
|
|
129
129
|
label: "删除",
|
|
130
130
|
popConfirm: {
|
|
131
131
|
title: "确定删除吗?",
|
|
132
132
|
placement: "left",
|
|
133
|
-
confirm: () => b(() => P([
|
|
133
|
+
confirm: () => b(() => P([t.id]))
|
|
134
134
|
}
|
|
135
135
|
}
|
|
136
136
|
];
|
|
137
137
|
}
|
|
138
138
|
return {
|
|
139
139
|
rowSelection: u,
|
|
140
|
-
selectedRowKeys:
|
|
141
|
-
aiTestMode:
|
|
140
|
+
selectedRowKeys: C,
|
|
141
|
+
aiTestMode: h,
|
|
142
142
|
onCancel: I,
|
|
143
143
|
onAdd: j,
|
|
144
144
|
onGenEnhanceSqlData: K,
|
|
@@ -146,7 +146,7 @@ const we = x({
|
|
|
146
146
|
getTableAction: Q,
|
|
147
147
|
getDropDownAction: W,
|
|
148
148
|
formModalProps: F,
|
|
149
|
-
registerModal:
|
|
149
|
+
registerModal: M,
|
|
150
150
|
registerTable: c,
|
|
151
151
|
registerForm: $
|
|
152
152
|
};
|
|
@@ -159,13 +159,13 @@ const we = x({
|
|
|
159
159
|
}
|
|
160
160
|
}
|
|
161
161
|
});
|
|
162
|
-
const
|
|
162
|
+
const ve = {
|
|
163
163
|
key: 0,
|
|
164
164
|
style: { float: "left" }
|
|
165
165
|
};
|
|
166
|
-
function
|
|
167
|
-
const s = r("a-button"), c = r("a-icon"), i = r("a-menu-item"), u = r("a-menu"),
|
|
168
|
-
return D(), q(
|
|
166
|
+
function Me(e, o, n, _, p, b) {
|
|
167
|
+
const s = r("a-button"), c = r("a-icon"), i = r("a-menu-item"), u = r("a-menu"), C = r("a-dropdown"), M = r("TableAction"), S = r("BasicTable"), h = r("BasicForm"), B = r("a-spin"), w = r("BasicModal");
|
|
168
|
+
return D(), q(w, {
|
|
169
169
|
onRegister: e.registerModal,
|
|
170
170
|
title: "SQL增强",
|
|
171
171
|
width: 1200,
|
|
@@ -174,22 +174,22 @@ function ve(e, t, o, g, p, b) {
|
|
|
174
174
|
}, {
|
|
175
175
|
footer: a(() => [
|
|
176
176
|
l(s, { onClick: e.onCancel }, {
|
|
177
|
-
default: a(() => [
|
|
178
|
-
|
|
179
|
-
]),
|
|
177
|
+
default: a(() => o[3] || (o[3] = [
|
|
178
|
+
g("关闭")
|
|
179
|
+
])),
|
|
180
180
|
_: 1
|
|
181
181
|
}, 8, ["onClick"]),
|
|
182
|
-
e.aiTestMode ? (D(), te("div",
|
|
182
|
+
e.aiTestMode ? (D(), te("div", ve, [
|
|
183
183
|
l(s, { onClick: e.onGenEnhanceSqlData }, {
|
|
184
|
-
default: a(() => [
|
|
185
|
-
|
|
186
|
-
]),
|
|
184
|
+
default: a(() => o[4] || (o[4] = [
|
|
185
|
+
g("生成测试数据")
|
|
186
|
+
])),
|
|
187
187
|
_: 1
|
|
188
188
|
}, 8, ["onClick"])
|
|
189
189
|
])) : L("", !0)
|
|
190
190
|
]),
|
|
191
191
|
default: a(() => [
|
|
192
|
-
l(
|
|
192
|
+
l(S, {
|
|
193
193
|
onRegister: e.registerTable,
|
|
194
194
|
rowSelection: e.rowSelection
|
|
195
195
|
}, {
|
|
@@ -199,12 +199,12 @@ function ve(e, t, o, g, p, b) {
|
|
|
199
199
|
type: "primary",
|
|
200
200
|
preIcon: "ant-design:plus"
|
|
201
201
|
}, {
|
|
202
|
-
default: a(() => [
|
|
203
|
-
|
|
204
|
-
]),
|
|
202
|
+
default: a(() => o[0] || (o[0] = [
|
|
203
|
+
g("新增")
|
|
204
|
+
])),
|
|
205
205
|
_: 1
|
|
206
206
|
}, 8, ["onClick"]),
|
|
207
|
-
e.selectedRowKeys.length > 0 ? (D(), q(
|
|
207
|
+
e.selectedRowKeys.length > 0 ? (D(), q(C, { key: 0 }, {
|
|
208
208
|
overlay: a(() => [
|
|
209
209
|
l(u, null, {
|
|
210
210
|
default: a(() => [
|
|
@@ -214,7 +214,7 @@ function ve(e, t, o, g, p, b) {
|
|
|
214
214
|
}, {
|
|
215
215
|
default: a(() => [
|
|
216
216
|
l(c, { type: "delete" }),
|
|
217
|
-
|
|
217
|
+
o[1] || (o[1] = g(" 删除 "))
|
|
218
218
|
]),
|
|
219
219
|
_: 1
|
|
220
220
|
}, 8, ["onClick"])
|
|
@@ -225,7 +225,7 @@ function ve(e, t, o, g, p, b) {
|
|
|
225
225
|
default: a(() => [
|
|
226
226
|
l(s, { style: { "margin-left": "8px" } }, {
|
|
227
227
|
default: a(() => [
|
|
228
|
-
|
|
228
|
+
o[2] || (o[2] = g(" 批量操作 ")),
|
|
229
229
|
l(c, { type: "down" })
|
|
230
230
|
]),
|
|
231
231
|
_: 1
|
|
@@ -235,20 +235,20 @@ function ve(e, t, o, g, p, b) {
|
|
|
235
235
|
})) : L("", !0)
|
|
236
236
|
]),
|
|
237
237
|
action: a(({ record: m }) => [
|
|
238
|
-
l(
|
|
238
|
+
l(M, {
|
|
239
239
|
actions: e.getTableAction(m),
|
|
240
240
|
dropDownActions: e.getDropDownAction(m)
|
|
241
241
|
}, null, 8, ["actions", "dropDownActions"])
|
|
242
242
|
]),
|
|
243
243
|
_: 1
|
|
244
244
|
}, 8, ["onRegister", "rowSelection"]),
|
|
245
|
-
l(
|
|
245
|
+
l(w, ae(le(e.formModalProps)), {
|
|
246
246
|
default: a(() => [
|
|
247
247
|
l(B, {
|
|
248
248
|
spinning: e.formModalProps.confirmLoading
|
|
249
249
|
}, {
|
|
250
250
|
default: a(() => [
|
|
251
|
-
l(
|
|
251
|
+
l(h, {
|
|
252
252
|
class: "popupForm",
|
|
253
253
|
onRegister: e.registerForm
|
|
254
254
|
}, null, 8, ["onRegister"])
|
|
@@ -262,7 +262,7 @@ function ve(e, t, o, g, p, b) {
|
|
|
262
262
|
_: 1
|
|
263
263
|
}, 8, ["onRegister", "onCancel"]);
|
|
264
264
|
}
|
|
265
|
-
const je = /* @__PURE__ */
|
|
265
|
+
const je = /* @__PURE__ */ we(ye, [["render", Me], ["__scopeId", "data-v-0a46f791"]]);
|
|
266
266
|
export {
|
|
267
267
|
je as default
|
|
268
268
|
};
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { defineComponent as p, resolveComponent as l, openBlock as f, createBlock as c, withCtx as o, createVNode as n, createTextVNode as r } from "vue";
|
|
2
|
+
import { router as d } from "/@/router";
|
|
3
|
+
import { PageEnum as _ } from "/@/enums/pageEnum";
|
|
4
|
+
const x = /* @__PURE__ */ p({
|
|
5
|
+
__name: "ErrorTip",
|
|
6
|
+
props: {
|
|
7
|
+
title: {
|
|
8
|
+
type: String,
|
|
9
|
+
default: "啊哦,页面出错了"
|
|
10
|
+
},
|
|
11
|
+
subTitle: String
|
|
12
|
+
},
|
|
13
|
+
setup(i) {
|
|
14
|
+
function u() {
|
|
15
|
+
d.push(_.BASE_HOME);
|
|
16
|
+
}
|
|
17
|
+
function s() {
|
|
18
|
+
location.reload();
|
|
19
|
+
}
|
|
20
|
+
function a() {
|
|
21
|
+
window.close(), setTimeout(() => alert("当前页面无法通过按钮关闭,请手动关闭"), 1e3);
|
|
22
|
+
}
|
|
23
|
+
return (T, t) => {
|
|
24
|
+
const e = l("a-button"), m = l("a-result");
|
|
25
|
+
return f(), c(m, {
|
|
26
|
+
status: "error",
|
|
27
|
+
title: i.title,
|
|
28
|
+
subTitle: i.subTitle
|
|
29
|
+
}, {
|
|
30
|
+
extra: o(() => [
|
|
31
|
+
n(e, {
|
|
32
|
+
type: "primary",
|
|
33
|
+
onClick: u
|
|
34
|
+
}, {
|
|
35
|
+
default: o(() => t[0] || (t[0] = [
|
|
36
|
+
r("返回首页")
|
|
37
|
+
])),
|
|
38
|
+
_: 1
|
|
39
|
+
}),
|
|
40
|
+
n(e, { onClick: s }, {
|
|
41
|
+
default: o(() => t[1] || (t[1] = [
|
|
42
|
+
r("刷新页面")
|
|
43
|
+
])),
|
|
44
|
+
_: 1
|
|
45
|
+
}),
|
|
46
|
+
n(e, { onClick: a }, {
|
|
47
|
+
default: o(() => t[2] || (t[2] = [
|
|
48
|
+
r("关闭")
|
|
49
|
+
])),
|
|
50
|
+
_: 1
|
|
51
|
+
})
|
|
52
|
+
]),
|
|
53
|
+
_: 1
|
|
54
|
+
}, 8, ["title", "subTitle"]);
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
export {
|
|
59
|
+
x as _
|
|
60
|
+
};
|
|
@@ -18,8 +18,8 @@ import { defineComponent as B, nextTick as b, resolveComponent as h, openBlock a
|
|
|
18
18
|
import { BasicModal as R, useModalInner as U } from "/@/components/Modal";
|
|
19
19
|
import { BasicForm as V, useForm as v } from "/@/components/Form";
|
|
20
20
|
import { useMessage as O } from "/@/hooks/web/useMessage";
|
|
21
|
-
import { a as Q } from "./useSchemas-
|
|
22
|
-
import { _ as E } from "./index-
|
|
21
|
+
import { a as Q } from "./useSchemas-b074f3a1.mjs";
|
|
22
|
+
import { _ as E } from "./index-9e1e1e53.mjs";
|
|
23
23
|
import "ant-design-vue";
|
|
24
24
|
import "@ant-design/icons-vue";
|
|
25
25
|
import "/@/utils/common/compUtils";
|
|
@@ -28,12 +28,12 @@ var R = (t, a, n) => new Promise((f, i) => {
|
|
|
28
28
|
});
|
|
29
29
|
import { defineComponent as C, ref as m, reactive as j, toRaw as D, toRefs as K, resolveComponent as w, openBlock as $, createBlock as A, mergeProps as J, withCtx as y, createVNode as O } from "vue";
|
|
30
30
|
import { BasicModal as U, useModalInner as Y } from "/@/components/Modal";
|
|
31
|
-
import q from "./SetSwitchOptions-
|
|
31
|
+
import q from "./SetSwitchOptions-f914bc17.mjs";
|
|
32
32
|
import { BasicForm as H, useForm as W } from "/@/components/Form/index";
|
|
33
33
|
import { pick as z } from "lodash-es";
|
|
34
34
|
import { L as x } from "./constant-fa63bd66.mjs";
|
|
35
35
|
import { isArray as Q } from "/@/utils/is";
|
|
36
|
-
import { _ as X } from "./index-
|
|
36
|
+
import { _ as X } from "./index-9e1e1e53.mjs";
|
|
37
37
|
import "/@/components/jeecg/OnLine/JPopupOnlReport.vue";
|
|
38
38
|
import "/@/hooks/web/useMessage";
|
|
39
39
|
import "vue-router";
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
var u = (e,
|
|
1
|
+
var u = (e, i, o) => new Promise((n, a) => {
|
|
2
2
|
var c = (t) => {
|
|
3
3
|
try {
|
|
4
4
|
l(o.next(t));
|
|
5
5
|
} catch (r) {
|
|
6
6
|
a(r);
|
|
7
7
|
}
|
|
8
|
-
},
|
|
8
|
+
}, s = (t) => {
|
|
9
9
|
try {
|
|
10
10
|
l(o.throw(t));
|
|
11
11
|
} catch (r) {
|
|
12
12
|
a(r);
|
|
13
13
|
}
|
|
14
|
-
}, l = (t) => t.done ? n(t.value) : Promise.resolve(t.value).then(c,
|
|
15
|
-
l((o = o.apply(e,
|
|
14
|
+
}, l = (t) => t.done ? n(t.value) : Promise.resolve(t.value).then(c, s);
|
|
15
|
+
l((o = o.apply(e, i)).next());
|
|
16
16
|
});
|
|
17
|
-
import { defineComponent as R, ref as f, resolveComponent as p, openBlock as
|
|
17
|
+
import { defineComponent as R, ref as f, resolveComponent as p, openBlock as v, createBlock as h, withCtx as m, createVNode as g, createElementVNode as k, createTextVNode as D, createCommentVNode as w } from "vue";
|
|
18
18
|
import { defHttp as y } from "/@/utils/http/axios";
|
|
19
19
|
import { BasicModal as B, useModalInner as b } from "/@/components/Modal";
|
|
20
|
-
import { _ as F } from "./index-
|
|
20
|
+
import { _ as F } from "./index-9e1e1e53.mjs";
|
|
21
21
|
import "/@/components/jeecg/OnLine/JPopupOnlReport.vue";
|
|
22
22
|
import "/@/hooks/web/useMessage";
|
|
23
23
|
import "vue-router";
|
|
@@ -25,12 +25,12 @@ const E = R({
|
|
|
25
25
|
name: "FileSelectModal",
|
|
26
26
|
components: { BasicModal: B },
|
|
27
27
|
emits: ["select", "register"],
|
|
28
|
-
setup(e, { emit:
|
|
29
|
-
const o = f(!0), n = f([]), a = f(""), c = f(!1), [
|
|
28
|
+
setup(e, { emit: i }) {
|
|
29
|
+
const o = f(!0), n = f([]), a = f(""), c = f(!1), [s, { closeModal: l }] = b(() => u(this, null, function* () {
|
|
30
30
|
a.value = "", n.value.length === 0 && _();
|
|
31
31
|
}));
|
|
32
32
|
function t() {
|
|
33
|
-
|
|
33
|
+
i("select", a.value), l();
|
|
34
34
|
}
|
|
35
35
|
function r() {
|
|
36
36
|
l();
|
|
@@ -45,28 +45,28 @@ const E = R({
|
|
|
45
45
|
});
|
|
46
46
|
});
|
|
47
47
|
}
|
|
48
|
-
function S(
|
|
48
|
+
function S(d) {
|
|
49
49
|
return u(this, null, function* () {
|
|
50
|
-
if (
|
|
50
|
+
if (d.dataRef.children)
|
|
51
51
|
return;
|
|
52
52
|
let M = {
|
|
53
|
-
parentPath:
|
|
53
|
+
parentPath: d.dataRef.key
|
|
54
54
|
};
|
|
55
|
-
|
|
55
|
+
d.dataRef.children = yield y.get({ url: "/online/cgform/head/fileTree", params: M }), n.value = [...n.value];
|
|
56
56
|
});
|
|
57
57
|
}
|
|
58
|
-
function C(
|
|
59
|
-
a.value =
|
|
58
|
+
function C(d) {
|
|
59
|
+
a.value = d[0];
|
|
60
60
|
}
|
|
61
|
-
return { loading: o, treeData: n, onLoadData: S, onSelect: C, onSubmit: t, onCancel: r, registerModal:
|
|
61
|
+
return { loading: o, treeData: n, onLoadData: S, onSelect: C, onSubmit: t, onCancel: r, registerModal: s, hanldeRefresh: () => {
|
|
62
62
|
a.value = "", c.value = !1, _();
|
|
63
63
|
}, directoryTreeShow: c };
|
|
64
64
|
}
|
|
65
65
|
});
|
|
66
66
|
const T = { class: "btnArea" };
|
|
67
|
-
function V(e,
|
|
68
|
-
const
|
|
69
|
-
return
|
|
67
|
+
function V(e, i, o, n, a, c) {
|
|
68
|
+
const s = p("a-button"), l = p("a-directory-tree"), t = p("a-spin"), r = p("BasicModal");
|
|
69
|
+
return v(), h(r, {
|
|
70
70
|
onRegister: e.registerModal,
|
|
71
71
|
title: "选择目录",
|
|
72
72
|
width: 500,
|
|
@@ -77,14 +77,14 @@ function V(e, d, o, n, a, c) {
|
|
|
77
77
|
g(t, { spinning: e.loading }, {
|
|
78
78
|
default: m(() => [
|
|
79
79
|
k("div", T, [
|
|
80
|
-
g(
|
|
81
|
-
default: m(() => [
|
|
80
|
+
g(s, { onClick: e.hanldeRefresh }, {
|
|
81
|
+
default: m(() => i[0] || (i[0] = [
|
|
82
82
|
D("刷新")
|
|
83
|
-
]),
|
|
83
|
+
])),
|
|
84
84
|
_: 1
|
|
85
85
|
}, 8, ["onClick"])
|
|
86
86
|
]),
|
|
87
|
-
e.directoryTreeShow ? (
|
|
87
|
+
e.directoryTreeShow ? (v(), h(l, {
|
|
88
88
|
key: 0,
|
|
89
89
|
treeData: e.treeData,
|
|
90
90
|
loadData: e.onLoadData,
|
|
@@ -12,9 +12,9 @@ var i = (e, t, o) => t in e ? p(e, t, { enumerable: !0, configurable: !0, writab
|
|
|
12
12
|
}, n = (e, t) => m(e, s(t));
|
|
13
13
|
import { defineComponent as b, ref as f, resolveComponent as y, openBlock as h, createBlock as g, mergeProps as T } from "vue";
|
|
14
14
|
import { JVxeTypes as l } from "/@/components/jeecg/JVxeTable/types";
|
|
15
|
-
import { u as k } from "./useTableSync-
|
|
16
|
-
import { _ as w } from "./index-
|
|
17
|
-
import "./cgform.data-
|
|
15
|
+
import { u as k } from "./useTableSync-075826a1.mjs";
|
|
16
|
+
import { _ as w } from "./index-9e1e1e53.mjs";
|
|
17
|
+
import "./cgform.data-0ca62d09.mjs";
|
|
18
18
|
import "/@/utils/dict";
|
|
19
19
|
import "/@/utils/dict/JDictSelectUtil";
|
|
20
20
|
import "/@/utils/uuid";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { defineComponent as f, ref as b, resolveComponent as g, openBlock as h, createBlock as y, mergeProps as
|
|
2
|
-
import { JVxeTypes as
|
|
3
|
-
import { u as
|
|
4
|
-
import { _ as v } from "./index-
|
|
5
|
-
import "./cgform.data-
|
|
1
|
+
import { defineComponent as f, ref as b, resolveComponent as g, openBlock as h, createBlock as y, mergeProps as $ } from "vue";
|
|
2
|
+
import { JVxeTypes as o } from "/@/components/jeecg/JVxeTable/types";
|
|
3
|
+
import { u as T } from "./useTableSync-075826a1.mjs";
|
|
4
|
+
import { _ as v } from "./index-9e1e1e53.mjs";
|
|
5
|
+
import "./cgform.data-0ca62d09.mjs";
|
|
6
6
|
import "/@/utils/dict";
|
|
7
7
|
import "/@/utils/dict/JDictSelectUtil";
|
|
8
8
|
import "/@/utils/uuid";
|
|
@@ -26,16 +26,24 @@ const x = f({
|
|
|
26
26
|
title: "索引名称",
|
|
27
27
|
key: "indexName",
|
|
28
28
|
width: 330,
|
|
29
|
-
type:
|
|
29
|
+
type: o.input,
|
|
30
30
|
defaultValue: "",
|
|
31
31
|
placeholder: "请输入${title}",
|
|
32
|
-
validateRules: [
|
|
32
|
+
validateRules: [
|
|
33
|
+
{ required: !0, message: "${title}不能为空" },
|
|
34
|
+
// update-begin--author:liaozhiyang---date:20240807---for:【TV360X-1974】online索引名称增加校验
|
|
35
|
+
{
|
|
36
|
+
pattern: /^[a-zA-Z][a-zA-Z0-9_-]*$/,
|
|
37
|
+
message: "命名规则:只能由字母、数字、下划线组成;必须以字母开头"
|
|
38
|
+
}
|
|
39
|
+
// update-end--author:liaozhiyang---date:20240807---for:【TV360X-1974】online索引名称增加校验
|
|
40
|
+
]
|
|
33
41
|
},
|
|
34
42
|
{
|
|
35
43
|
title: "索引栏位",
|
|
36
44
|
key: "indexField",
|
|
37
45
|
width: 330,
|
|
38
|
-
type:
|
|
46
|
+
type: o.selectMultiple,
|
|
39
47
|
options: [],
|
|
40
48
|
defaultValue: "",
|
|
41
49
|
placeholder: "请选择${title}",
|
|
@@ -45,7 +53,7 @@ const x = f({
|
|
|
45
53
|
title: "索引类型",
|
|
46
54
|
key: "indexType",
|
|
47
55
|
width: 330,
|
|
48
|
-
type:
|
|
56
|
+
type: o.select,
|
|
49
57
|
options: [
|
|
50
58
|
{ title: "normal", value: "normal" },
|
|
51
59
|
{ title: "unique", value: "unique" }
|
|
@@ -54,22 +62,22 @@ const x = f({
|
|
|
54
62
|
placeholder: "请选择${title}",
|
|
55
63
|
validateRules: [{ required: !0, message: "请选择${title}" }]
|
|
56
64
|
}
|
|
57
|
-
]), l =
|
|
65
|
+
]), l = T(e), { tableRef: r, loading: i, dataSource: n, tableHeight: u, tableProps: t, setDataSource: d, validateData: p } = l;
|
|
58
66
|
function m(c) {
|
|
59
|
-
let
|
|
60
|
-
c.value.tableRef.getTableData().forEach((
|
|
61
|
-
|
|
62
|
-
title:
|
|
63
|
-
value:
|
|
67
|
+
let s = [];
|
|
68
|
+
c.value.tableRef.getTableData().forEach((a) => {
|
|
69
|
+
a.dbFieldName && s.push({
|
|
70
|
+
title: a.dbFieldTxt,
|
|
71
|
+
value: a.dbFieldName
|
|
64
72
|
});
|
|
65
|
-
}), e.value[1].options =
|
|
73
|
+
}), e.value[1].options = s;
|
|
66
74
|
}
|
|
67
|
-
return { tableRef: r, loading: i, dataSource: n, columns: e, tableHeight: u, tableProps: t, syncTable: m, setDataSource:
|
|
75
|
+
return { tableRef: r, loading: i, dataSource: n, columns: e, tableHeight: u, tableProps: t, syncTable: m, setDataSource: d, validateData: p };
|
|
68
76
|
}
|
|
69
77
|
});
|
|
70
78
|
function S(e, l, r, i, n, u) {
|
|
71
79
|
const t = g("JVxeTable");
|
|
72
|
-
return h(), y(t,
|
|
80
|
+
return h(), y(t, $({
|
|
73
81
|
ref: "tableRef",
|
|
74
82
|
rowNumber: "",
|
|
75
83
|
rowSelection: "",
|
|
@@ -83,7 +91,7 @@ function S(e, l, r, i, n, u) {
|
|
|
83
91
|
toolbar: e.actionButton
|
|
84
92
|
}, e.tableProps), null, 16, ["maxHeight", "loading", "columns", "dataSource", "toolbar"]);
|
|
85
93
|
}
|
|
86
|
-
const
|
|
94
|
+
const z = /* @__PURE__ */ v(x, [["render", S]]);
|
|
87
95
|
export {
|
|
88
|
-
|
|
96
|
+
z as default
|
|
89
97
|
};
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { computed as a, openBlock as l, createElementBlock as r, normalizeClass as c, createElementVNode as t, createCommentVNode as p } from "vue";
|
|
2
|
+
import { useAppInject as d } from "/@/hooks/web/useAppInject";
|
|
3
|
+
import { _ as m } from "./index-9e1e1e53.mjs";
|
|
4
|
+
import "/@/components/jeecg/OnLine/JPopupOnlReport.vue";
|
|
5
|
+
import "/@/hooks/web/useMessage";
|
|
6
|
+
import "vue-router";
|
|
7
|
+
const _ = {
|
|
8
|
+
name: "JModalTip",
|
|
9
|
+
props: {
|
|
10
|
+
visible: {
|
|
11
|
+
type: Boolean,
|
|
12
|
+
default: !1
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
emits: ["save", "cancel"],
|
|
16
|
+
setup(o) {
|
|
17
|
+
const { getIsMobile: e } = d();
|
|
18
|
+
return {
|
|
19
|
+
flag: a(() => o.visible),
|
|
20
|
+
getIsMobile: e
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
}, v = { class: "container" }, f = { class: "outer" }, u = { class: "inner" };
|
|
24
|
+
function g(o, e, i, s, b, $) {
|
|
25
|
+
return s.flag ? (l(), r("div", {
|
|
26
|
+
key: 0,
|
|
27
|
+
class: c(["jeecg-update-tip-bar", { mobile: s.getIsMobile }])
|
|
28
|
+
}, [
|
|
29
|
+
t("div", v, [
|
|
30
|
+
t("div", f, [
|
|
31
|
+
t("div", u, [
|
|
32
|
+
e[2] || (e[2] = t("span", { class: "tip" }, "正在修改表单数据 ···", -1)),
|
|
33
|
+
t("div", {
|
|
34
|
+
class: "cancel",
|
|
35
|
+
onClick: e[0] || (e[0] = (n) => o.$emit("cancel"))
|
|
36
|
+
}, "取消"),
|
|
37
|
+
t("div", {
|
|
38
|
+
class: "save",
|
|
39
|
+
onClick: e[1] || (e[1] = (n) => o.$emit("save"))
|
|
40
|
+
}, "保存")
|
|
41
|
+
])
|
|
42
|
+
])
|
|
43
|
+
])
|
|
44
|
+
], 2)) : p("", !0);
|
|
45
|
+
}
|
|
46
|
+
const J = /* @__PURE__ */ m(_, [["render", g], ["__scopeId", "data-v-dc9246f4"]]);
|
|
47
|
+
export {
|
|
48
|
+
J as default
|
|
49
|
+
};
|