morghulis 4.3.0 → 4.3.2
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/README.md +17 -4
- package/dist/index.cjs +4 -4
- package/dist/index.js +468 -457
- package/dist/types/index.d.ts +1 -1
- package/dist/types/library/use-socket/url.d.ts +1 -0
- package/dist/types/style.d.ts +1 -0
- package/package.json +18 -7
package/dist/index.js
CHANGED
|
@@ -291,7 +291,7 @@ function jn(e, t) {
|
|
|
291
291
|
var Mn = /*#__PURE__*/ wn(An, [["render", jn]]), Nn = /* @__PURE__ */ M({
|
|
292
292
|
__name: "AccountManage",
|
|
293
293
|
setup(e) {
|
|
294
|
-
let t = I(), { copy: n } = qt(), { post: r } = X(), { $confirm: i, $message: a } = J(), { username_label: o } =
|
|
294
|
+
let t = I(), { copy: n } = qt(), { post: r } = X(), { $confirm: i, $message: a } = J(), { username_label: o } = Fa();
|
|
295
295
|
async function s(e) {
|
|
296
296
|
let t = e.$$fields.find((e) => e.prop === "username");
|
|
297
297
|
return t && (o.value ? t.label = `* ${o.value}` : (t.label = "* 邮箱", e.$$fields = e.$$fields.filter((e) => e.prop !== "email"))), e;
|
|
@@ -308,7 +308,7 @@ var Mn = /*#__PURE__*/ wn(An, [["render", jn]]), Nn = /* @__PURE__ */ M({
|
|
|
308
308
|
function u(e) {
|
|
309
309
|
i.info(`是否重置账户 “${e.username}” 的密码`).then(() => r("valar/retrieve_password", { account_id: e.id })).then(() => a.warning("账户密码已重制")).finally(() => t.value?.manager.reload());
|
|
310
310
|
}
|
|
311
|
-
return (e, n) => (F(), O(w, null, [j(V(
|
|
311
|
+
return (e, n) => (F(), O(w, null, [j(V(da), {
|
|
312
312
|
ref_key: "tableRef",
|
|
313
313
|
ref: t,
|
|
314
314
|
entity: "valar.Account",
|
|
@@ -428,9 +428,11 @@ function Fn(e) {
|
|
|
428
428
|
//#endregion
|
|
429
429
|
//#region morghulis/library/use-request/index.ts
|
|
430
430
|
function X(e) {
|
|
431
|
-
let t = zt(e), { $$message: n } = J(), { base_url: r } =
|
|
431
|
+
let t = zt(e), { $$message: n } = J(), { base_url: r } = Fa(), { client: i, token: a, sign_out: o, account: s } = Y();
|
|
432
432
|
rn();
|
|
433
|
-
let c = I(!1)
|
|
433
|
+
let c = I(!1);
|
|
434
|
+
console.log(r.value);
|
|
435
|
+
let l = hn.create({ baseURL: r.value });
|
|
434
436
|
l.interceptors.request.use((e) => (s.value?.is_admin && console.log("URL: ", e.url), gn.start(), c.value = !0, e.headers.Client = i.value, e.headers.Auth = t.value ? "Require Login" : "", e.headers.Authorization = `Bearer ${a.value}`, e)), l.interceptors.response.use((e) => {
|
|
435
437
|
gn.done(), c.value = !1;
|
|
436
438
|
let { payload: t, message: r, code: i } = e.data;
|
|
@@ -449,9 +451,18 @@ function X(e) {
|
|
|
449
451
|
};
|
|
450
452
|
}
|
|
451
453
|
//#endregion
|
|
454
|
+
//#region morghulis/library/use-socket/url.ts
|
|
455
|
+
function In(e, t, n) {
|
|
456
|
+
let r = new URL(e, n);
|
|
457
|
+
if (r.protocol === "http:") r.protocol = "ws:";
|
|
458
|
+
else if (r.protocol === "https:") r.protocol = "wss:";
|
|
459
|
+
else if (r.protocol !== "ws:" && r.protocol !== "wss:") throw Error(`Unsupported WebSocket protocol: ${r.protocol}`);
|
|
460
|
+
return r.pathname = `${r.pathname.replace(/\/+$/, "")}/${encodeURIComponent(t)}/`, r.href;
|
|
461
|
+
}
|
|
462
|
+
//#endregion
|
|
452
463
|
//#region morghulis/library/use-socket/index.ts
|
|
453
|
-
var
|
|
454
|
-
let { client: e } = Y(), { base_url: t } =
|
|
464
|
+
var Ln = Kt(() => {
|
|
465
|
+
let { client: e } = Y(), { base_url: t } = Fa(), n = T(() => In(t.value, e.value, window.location.href)), r = Ft({
|
|
455
466
|
code: 0,
|
|
456
467
|
count: 0,
|
|
457
468
|
retries: 10
|
|
@@ -480,8 +491,8 @@ var In = Kt(() => {
|
|
|
480
491
|
});
|
|
481
492
|
//#endregion
|
|
482
493
|
//#region morghulis/library/use-socket-callback/index.ts
|
|
483
|
-
function
|
|
484
|
-
let { data: n } =
|
|
494
|
+
function Rn(e, t) {
|
|
495
|
+
let { data: n } = Ln();
|
|
485
496
|
H(() => n, () => {
|
|
486
497
|
let r = on(n.value || {}), i = r.__tag__;
|
|
487
498
|
delete r.__tag__, delete r.__timestamp__, i === e && t(r);
|
|
@@ -489,7 +500,7 @@ function Ln(e, t) {
|
|
|
489
500
|
}
|
|
490
501
|
//#endregion
|
|
491
502
|
//#region morghulis/library/use-channel/index.ts
|
|
492
|
-
function
|
|
503
|
+
function zn(e) {
|
|
493
504
|
let t = zt(e), { mount: n, unmount: r } = Pn();
|
|
494
505
|
P(() => n(t.value)), Pt(() => r(t.value));
|
|
495
506
|
let { post: i, loading: a } = X(T(() => t.value.auth || !1)), { $message: o } = J(), s = I(null), c = I(!1), l = t.value.onError ?? ((e) => console.error(e));
|
|
@@ -499,7 +510,7 @@ function Rn(e) {
|
|
|
499
510
|
l(`Channel Error: ${e.code}`), c.value = !1, s.value = null;
|
|
500
511
|
});
|
|
501
512
|
}
|
|
502
|
-
return
|
|
513
|
+
return Rn("channel", (e) => {
|
|
503
514
|
let n = ["handler", "token"];
|
|
504
515
|
if (!un(pn(e, n), pn(t.value, n))) return;
|
|
505
516
|
let r = e.callback;
|
|
@@ -537,7 +548,7 @@ var Z = {
|
|
|
537
548
|
};
|
|
538
549
|
//#endregion
|
|
539
550
|
//#region morghulis/library/use-dao/methods.ts
|
|
540
|
-
function
|
|
551
|
+
function Bn(e, t = 0) {
|
|
541
552
|
let n = Object.fromEntries(e.map((e) => (e.children = [], [e.id, e]))), r = t || 0, i = n[r] ?? {
|
|
542
553
|
id: r,
|
|
543
554
|
children: []
|
|
@@ -554,8 +565,8 @@ function zn(e, t = 0) {
|
|
|
554
565
|
}
|
|
555
566
|
//#endregion
|
|
556
567
|
//#region morghulis/library/use-meta-query/methods.ts
|
|
557
|
-
function
|
|
558
|
-
let t =
|
|
568
|
+
function Vn(e) {
|
|
569
|
+
let t = Gn.find((t) => e.endsWith(`__${t}`));
|
|
559
570
|
return t ? {
|
|
560
571
|
prop: e.replace(`__${t}`, ""),
|
|
561
572
|
collation: t
|
|
@@ -564,7 +575,7 @@ function Bn(e) {
|
|
|
564
575
|
collation: null
|
|
565
576
|
};
|
|
566
577
|
}
|
|
567
|
-
function
|
|
578
|
+
function Hn(e = {}, t) {
|
|
568
579
|
let n = /\${(.*?)}/, r = Object.entries(e).map(([e, r]) => {
|
|
569
580
|
if (typeof r == "string") {
|
|
570
581
|
let e = r.match(n);
|
|
@@ -574,21 +585,21 @@ function Vn(e = {}, t) {
|
|
|
574
585
|
});
|
|
575
586
|
return Object.fromEntries(r);
|
|
576
587
|
}
|
|
577
|
-
function
|
|
588
|
+
function Un(e, t) {
|
|
578
589
|
return Object.keys(e || {}).filter((e) => {
|
|
579
|
-
let { prop: n } =
|
|
590
|
+
let { prop: n } = Vn(e);
|
|
580
591
|
return n === t;
|
|
581
592
|
});
|
|
582
593
|
}
|
|
583
|
-
function
|
|
594
|
+
function Wn(e) {
|
|
584
595
|
if (!e) return {};
|
|
585
596
|
let t = Object.entries(e).map(([e, t]) => {
|
|
586
|
-
let { prop: n, collation: r } =
|
|
597
|
+
let { prop: n, collation: r } = Vn(e);
|
|
587
598
|
return r ? [e, t] : [`${n}__exact`, t];
|
|
588
599
|
});
|
|
589
600
|
return Object.fromEntries(t);
|
|
590
601
|
}
|
|
591
|
-
var
|
|
602
|
+
var Gn = [
|
|
592
603
|
"contains",
|
|
593
604
|
"exact",
|
|
594
605
|
"startswith",
|
|
@@ -605,8 +616,8 @@ var Wn = [
|
|
|
605
616
|
"in",
|
|
606
617
|
"range"
|
|
607
618
|
];
|
|
608
|
-
function
|
|
609
|
-
let { code: n, $entity: r, $name: i, name: a, id: o, $tree: s, $$modes: c } = e, l =
|
|
619
|
+
function Kn(e, t) {
|
|
620
|
+
let { code: n, $entity: r, $name: i, name: a, id: o, $tree: s, $$modes: c } = e, l = qn(e, t);
|
|
610
621
|
return {
|
|
611
622
|
entity: r,
|
|
612
623
|
code: n,
|
|
@@ -616,10 +627,10 @@ function Gn(e, t) {
|
|
|
616
627
|
tree: s,
|
|
617
628
|
model: c,
|
|
618
629
|
control: l,
|
|
619
|
-
fields:
|
|
630
|
+
fields: Jn(e.$$fields, l, t)
|
|
620
631
|
};
|
|
621
632
|
}
|
|
622
|
-
function
|
|
633
|
+
function qn(e, t) {
|
|
623
634
|
let n = t?.disabled || e.disabled, r = !n && !!e.allow_edit;
|
|
624
635
|
return {
|
|
625
636
|
disabled: n,
|
|
@@ -635,7 +646,7 @@ function Kn(e, t) {
|
|
|
635
646
|
allow_edit_on_sort: r && !!e.allow_edit_on_sort
|
|
636
647
|
};
|
|
637
648
|
}
|
|
638
|
-
function
|
|
649
|
+
function Jn(e, t, n) {
|
|
639
650
|
return e.map((e) => {
|
|
640
651
|
let r = { ...e }, i = !r.disabled && !t.disabled, a = !n?.restricted.uneditable.includes(r.prop), o = !n?.restricted.unsearchable.includes(r.prop), s = !n?.restricted.unorderable;
|
|
641
652
|
return r.disabled = !i, r.allow_edit &&= i && !!t.allow_edit && a, r.allow_search &&= i && !!t.allow_search && o, r.allow_order &&= i && !!t.allow_order && s, r.allow_download &&= i && !!t.allow_download, r.allow_upload &&= i && !!t.allow_upload, r.edit_on_table &&= r.allow_edit, r;
|
|
@@ -644,7 +655,7 @@ function qn(e, t, n) {
|
|
|
644
655
|
//#endregion
|
|
645
656
|
//#region morghulis/library/use-dao/index.ts
|
|
646
657
|
function Q(e, t) {
|
|
647
|
-
let n = zt(e), r = zt(t || {}), i = an(), { execute: a, payload: o, loading: s, post: c } =
|
|
658
|
+
let n = zt(e), r = zt(t || {}), i = an(), { execute: a, payload: o, loading: s, post: c } = zn(T(() => {
|
|
648
659
|
let { onStart: e, onError: t, onProceed: a, onResponse: o, onStop: s, auth: c } = r.value;
|
|
649
660
|
return {
|
|
650
661
|
handler: `batch/${n.value}`,
|
|
@@ -724,7 +735,7 @@ function Q(e, t) {
|
|
|
724
735
|
root: t,
|
|
725
736
|
type: "tree"
|
|
726
737
|
}).then((e) => {
|
|
727
|
-
let i =
|
|
738
|
+
let i = Bn(e.results, t), a = r.value.convertor;
|
|
728
739
|
a && Object.values(i.mapping).forEach((e) => a(e)), n(i);
|
|
729
740
|
}).catch((e) => a(e));
|
|
730
741
|
});
|
|
@@ -756,7 +767,7 @@ function Q(e, t) {
|
|
|
756
767
|
},
|
|
757
768
|
async meta(e) {
|
|
758
769
|
if (!n.value) throw Error("未指定实体,无法读取元数据");
|
|
759
|
-
return
|
|
770
|
+
return Kn(await c(`valar/${n.value}/${e || "default"}/meta_view`));
|
|
760
771
|
}
|
|
761
772
|
},
|
|
762
773
|
payload: o,
|
|
@@ -765,7 +776,7 @@ function Q(e, t) {
|
|
|
765
776
|
}
|
|
766
777
|
//#endregion
|
|
767
778
|
//#region morghulis/library/use-meta-query/consts.ts
|
|
768
|
-
var
|
|
779
|
+
var Yn = [
|
|
769
780
|
".xls",
|
|
770
781
|
".xlsx",
|
|
771
782
|
".doc",
|
|
@@ -785,7 +796,7 @@ var Jn = [
|
|
|
785
796
|
".zip",
|
|
786
797
|
".rar",
|
|
787
798
|
".exe"
|
|
788
|
-
],
|
|
799
|
+
], Xn = {
|
|
789
800
|
year: {
|
|
790
801
|
label: "年度",
|
|
791
802
|
value: "YYYY"
|
|
@@ -834,7 +845,7 @@ var Jn = [
|
|
|
834
845
|
label: "时间",
|
|
835
846
|
value: "HH:mm:ss"
|
|
836
847
|
}
|
|
837
|
-
},
|
|
848
|
+
}, Zn = {
|
|
838
849
|
multiple: [
|
|
839
850
|
"ManyToManyField",
|
|
840
851
|
"ManyToManyRel",
|
|
@@ -881,7 +892,7 @@ var Jn = [
|
|
|
881
892
|
};
|
|
882
893
|
//#endregion
|
|
883
894
|
//#region morghulis/library/use-meta-query/index.ts
|
|
884
|
-
function
|
|
895
|
+
function Qn(e) {
|
|
885
896
|
let t = I({}), n = I(e.value.orders ?? { sort: -1 }), r = T(() => {
|
|
886
897
|
let t = Object.entries(e.value.includes || {}).filter((e) => !e[0].includes("__"));
|
|
887
898
|
return Object.fromEntries(t);
|
|
@@ -905,12 +916,12 @@ function Zn(e) {
|
|
|
905
916
|
let i = {
|
|
906
917
|
disabled: !!e.value.disabled,
|
|
907
918
|
restricted: {
|
|
908
|
-
unsearchable: Object.keys(e.value.includes || {}).map((e) =>
|
|
919
|
+
unsearchable: Object.keys(e.value.includes || {}).map((e) => Vn(e).prop),
|
|
909
920
|
uneditable: Object.keys(r.value),
|
|
910
921
|
unorderable: un(n, { sort: -1 })
|
|
911
922
|
}
|
|
912
923
|
};
|
|
913
|
-
return
|
|
924
|
+
return Kn(t.data, i);
|
|
914
925
|
});
|
|
915
926
|
async function l() {
|
|
916
927
|
if (s) return;
|
|
@@ -941,14 +952,14 @@ function Zn(e) {
|
|
|
941
952
|
init: l,
|
|
942
953
|
conditions: T(() => {
|
|
943
954
|
let { includes: n, excludes: r } = e.value;
|
|
944
|
-
return n =
|
|
955
|
+
return n = Wn(n), r = Wn(r), [fn({
|
|
945
956
|
includes: n,
|
|
946
957
|
excludes: r
|
|
947
|
-
},
|
|
958
|
+
}, $n(t.value, c.value?.fields)), ...e.value.conditions || []];
|
|
948
959
|
})
|
|
949
960
|
};
|
|
950
961
|
}
|
|
951
|
-
function
|
|
962
|
+
function $n(e, t = []) {
|
|
952
963
|
let n = {
|
|
953
964
|
includes: {},
|
|
954
965
|
excludes: {}
|
|
@@ -959,10 +970,10 @@ function Qn(e, t = []) {
|
|
|
959
970
|
let s = n[i], c = t.find((t) => t.prop === e);
|
|
960
971
|
if (!c) return;
|
|
961
972
|
let { domain: l, refer: { label: u } } = c;
|
|
962
|
-
if (
|
|
973
|
+
if (Zn.linkage.includes(l)) {
|
|
963
974
|
let t = `${`${e.replace("_id", "")}__${u}`}__${a}`;
|
|
964
975
|
s[t] = o;
|
|
965
|
-
} else if (
|
|
976
|
+
} else if (Zn.multiple.includes(l)) {
|
|
966
977
|
let t = `${`${e}__${u}`}__${a}`;
|
|
967
978
|
s[t] = o;
|
|
968
979
|
} else {
|
|
@@ -973,7 +984,7 @@ function Qn(e, t = []) {
|
|
|
973
984
|
}
|
|
974
985
|
//#endregion
|
|
975
986
|
//#region morghulis/library/use-valar/index.ts
|
|
976
|
-
function
|
|
987
|
+
function er(e, t) {
|
|
977
988
|
let n = I(), r = I(), i = I({
|
|
978
989
|
results: [],
|
|
979
990
|
total: 0,
|
|
@@ -986,7 +997,7 @@ function $n(e, t) {
|
|
|
986
997
|
Nt(() => {
|
|
987
998
|
c = !0, s++;
|
|
988
999
|
});
|
|
989
|
-
let { finder: l, orders: u, core: d, meta: f, init: p, conditions: m } =
|
|
1000
|
+
let { finder: l, orders: u, core: d, meta: f, init: p, conditions: m } = Qn(e), { loading: h, manager: g } = Q(T(() => f.value.entity), {
|
|
990
1001
|
convertor: e.value.convertor,
|
|
991
1002
|
onStart: () => {
|
|
992
1003
|
n.value = void 0, r.value = null;
|
|
@@ -1133,10 +1144,10 @@ function $n(e, t) {
|
|
|
1133
1144
|
}
|
|
1134
1145
|
//#endregion
|
|
1135
1146
|
//#region morghulis/components/tree/tools/DTreeNode.vue?vue&type=script&setup=true&lang.ts
|
|
1136
|
-
var
|
|
1147
|
+
var tr = {
|
|
1137
1148
|
key: 0,
|
|
1138
1149
|
class: "danger"
|
|
1139
|
-
},
|
|
1150
|
+
}, nr = /* @__PURE__ */ M({
|
|
1140
1151
|
__name: "DTreeNode",
|
|
1141
1152
|
props: {
|
|
1142
1153
|
node: {},
|
|
@@ -1176,9 +1187,9 @@ var er = {
|
|
|
1176
1187
|
"icon",
|
|
1177
1188
|
"type",
|
|
1178
1189
|
"shake"
|
|
1179
|
-
])), k("span", null, [(F(!0), O(w, null, L(i.value, (t, n) => (F(), O(w, { key: n }, [n > 0 ? (F(), O("u",
|
|
1190
|
+
])), k("span", null, [(F(!0), O(w, null, L(i.value, (t, n) => (F(), O(w, { key: n }, [n > 0 ? (F(), O("u", tr, B(e.queryString), 1)) : D("", !0), A(B(t), 1)], 64))), 128))])], 64));
|
|
1180
1191
|
}
|
|
1181
|
-
}),
|
|
1192
|
+
}), rr = /* @__PURE__ */ M({
|
|
1182
1193
|
__name: "MPopover",
|
|
1183
1194
|
props: {
|
|
1184
1195
|
title: {},
|
|
@@ -1253,7 +1264,7 @@ var er = {
|
|
|
1253
1264
|
])], 64);
|
|
1254
1265
|
};
|
|
1255
1266
|
}
|
|
1256
|
-
}),
|
|
1267
|
+
}), ir = /* @__PURE__ */ M({
|
|
1257
1268
|
__name: "CharCell",
|
|
1258
1269
|
props: {
|
|
1259
1270
|
modelValue: {},
|
|
@@ -1290,7 +1301,7 @@ var er = {
|
|
|
1290
1301
|
]);
|
|
1291
1302
|
};
|
|
1292
1303
|
}
|
|
1293
|
-
}),
|
|
1304
|
+
}), ar = { class: "full" }, or = /*#__PURE__*/ wn(/* @__PURE__ */ M({
|
|
1294
1305
|
__name: "ColorCell",
|
|
1295
1306
|
props: {
|
|
1296
1307
|
modelValue: {},
|
|
@@ -1328,7 +1339,7 @@ var er = {
|
|
|
1328
1339
|
span: 9,
|
|
1329
1340
|
align: "center"
|
|
1330
1341
|
}, {
|
|
1331
|
-
default: U(() => [k("div",
|
|
1342
|
+
default: U(() => [k("div", ar, [k("b", {
|
|
1332
1343
|
class: "color-pick-label",
|
|
1333
1344
|
style: jt({ color: V(n) || "#dddddd" }),
|
|
1334
1345
|
onClick: a
|
|
@@ -1339,7 +1350,7 @@ var er = {
|
|
|
1339
1350
|
});
|
|
1340
1351
|
};
|
|
1341
1352
|
}
|
|
1342
|
-
}), [["__scopeId", "data-v-b4e1f98e"]]), or = /* @__PURE__ */ "0.1.2.3.4.5.6.7.8.9.a.ad.add.address-book.address-card.adjust.air-freshener.align-center.align-justify.align-left.align-right.allergies.ambulance.american-sign-language-interpreting.anchor.anchor-circle-check.anchor-circle-exclamation.anchor-circle-xmark.anchor-lock.angle-double-down.angle-double-left.angle-double-right.angle-double-up.angle-down.angle-left.angle-right.angle-up.angles-down.angles-left.angles-right.angles-up.angry.ankh.apple-alt.apple-whole.archive.archway.area-chart.arrow-alt-circle-down.arrow-alt-circle-left.arrow-alt-circle-right.arrow-alt-circle-up.arrow-circle-down.arrow-circle-left.arrow-circle-right.arrow-circle-up.arrow-down.arrow-down-1-9.arrow-down-9-1.arrow-down-a-z.arrow-down-long.arrow-down-short-wide.arrow-down-up-across-line.arrow-down-up-lock.arrow-down-wide-short.arrow-down-z-a.arrow-left.arrow-left-long.arrow-left-rotate.arrow-pointer.arrow-right.arrow-right-arrow-left.arrow-right-from-bracket.arrow-right-from-file.arrow-right-long.arrow-right-rotate.arrow-right-to-bracket.arrow-right-to-city.arrow-right-to-file.arrow-rotate-back.arrow-rotate-backward.arrow-rotate-forward.arrow-rotate-left.arrow-rotate-right.arrow-trend-down.arrow-trend-up.arrow-turn-down.arrow-turn-up.arrow-up.arrow-up-1-9.arrow-up-9-1.arrow-up-a-z.arrow-up-from-bracket.arrow-up-from-ground-water.arrow-up-from-water-pump.arrow-up-long.arrow-up-right-dots.arrow-up-right-from-square.arrow-up-short-wide.arrow-up-wide-short.arrow-up-z-a.arrows.arrows-alt.arrows-alt-h.arrows-alt-v.arrows-down-to-line.arrows-down-to-people.arrows-h.arrows-left-right.arrows-left-right-to-line.arrows-rotate.arrows-spin.arrows-split-up-and-left.arrows-to-circle.arrows-to-dot.arrows-to-eye.arrows-turn-right.arrows-turn-to-dots.arrows-up-down.arrows-up-down-left-right.arrows-up-to-line.arrows-v.asl-interpreting.assistive-listening-systems.asterisk.at.atlas.atom.audio-description.austral-sign.automobile.award.b.baby.baby-carriage.backspace.backward.backward-fast.backward-step.bacon.bacteria.bacterium.bag-shopping.bahai.baht-sign.balance-scale.balance-scale-left.balance-scale-right.ban.ban-smoking.band-aid.bandage.bangladeshi-taka-sign.bank.bar-chart.barcode.bars.bars-progress.bars-staggered.baseball.baseball-ball.baseball-bat-ball.basket-shopping.basketball.basketball-ball.bath.bathtub.battery.battery-0.battery-2.battery-3.battery-4.battery-5.battery-car.battery-empty.battery-full.battery-half.battery-quarter.battery-three-quarters.bed.bed-pulse.beer.beer-mug-empty.bell.bell-concierge.bell-slash.bezier-curve.bible.bicycle.biking.binoculars.biohazard.birthday-cake.bitcoin-sign.blackboard.blender.blender-phone.blind.blog.bold.bolt.bolt-lightning.bomb.bone.bong.book.book-atlas.book-bible.book-bookmark.book-dead.book-journal-whills.book-medical.book-open.book-open-reader.book-quran.book-reader.book-skull.book-tanakh.bookmark.border-all.border-none.border-style.border-top-left.bore-hole.bottle-droplet.bottle-water.bowl-food.bowl-rice.bowling-ball.box.box-archive.box-open.box-tissue.boxes.boxes-alt.boxes-packing.boxes-stacked.braille.brain.brazilian-real-sign.bread-slice.bridge.bridge-circle-check.bridge-circle-exclamation.bridge-circle-xmark.bridge-lock.bridge-water.briefcase.briefcase-clock.briefcase-medical.broadcast-tower.broom.broom-ball.brush.bucket.bug.bug-slash.bugs.building.building-circle-arrow-right.building-circle-check.building-circle-exclamation.building-circle-xmark.building-columns.building-flag.building-lock.building-ngo.building-shield.building-un.building-user.building-wheat.bullhorn.bullseye.burger.burn.burst.bus.bus-alt.bus-simple.business-time.c.cab.cable-car.cake.cake-candles.calculator.calendar.calendar-alt.calendar-check.calendar-day.calendar-days.calendar-minus.calendar-plus.calendar-times.calendar-week.calendar-xmark.camera.camera-alt.camera-retro.camera-rotate.campground.cancel.candy-cane.cannabis.capsules.car.car-alt.car-battery.car-burst.car-crash.car-on.car-rear.car-side.car-tunnel.caravan.caret-down.caret-left.caret-right.caret-square-down.caret-square-left.caret-square-right.caret-square-up.caret-up.carriage-baby.carrot.cart-arrow-down.cart-flatbed.cart-flatbed-suitcase.cart-plus.cart-shopping.cash-register.cat.cedi-sign.cent-sign.certificate.chain.chain-broken.chain-slash.chair.chalkboard.chalkboard-teacher.chalkboard-user.champagne-glasses.charging-station.chart-area.chart-bar.chart-column.chart-diagram.chart-gantt.chart-line.chart-pie.chart-simple.check.check-circle.check-double.check-square.check-to-slot.cheese.chess.chess-bishop.chess-board.chess-king.chess-knight.chess-pawn.chess-queen.chess-rook.chevron-circle-down.chevron-circle-left.chevron-circle-right.chevron-circle-up.chevron-down.chevron-left.chevron-right.chevron-up.child.child-combatant.child-dress.child-reaching.child-rifle.children.church.circle.circle-arrow-down.circle-arrow-left.circle-arrow-right.circle-arrow-up.circle-check.circle-chevron-down.circle-chevron-left.circle-chevron-right.circle-chevron-up.circle-dollar-to-slot.circle-dot.circle-down.circle-exclamation.circle-h.circle-half-stroke.circle-info.circle-left.circle-minus.circle-nodes.circle-notch.circle-pause.circle-play.circle-plus.circle-question.circle-radiation.circle-right.circle-stop.circle-up.circle-user.circle-xmark.city.clapperboard.clinic-medical.clipboard.clipboard-check.clipboard-list.clipboard-question.clipboard-user.clock.clock-four.clock-rotate-left.clone.close.closed-captioning.cloud.cloud-arrow-down.cloud-arrow-up.cloud-bolt.cloud-download.cloud-download-alt.cloud-meatball.cloud-moon.cloud-moon-rain.cloud-rain.cloud-showers-heavy.cloud-showers-water.cloud-sun.cloud-sun-rain.cloud-upload.cloud-upload-alt.clover.cny.cocktail.code.code-branch.code-commit.code-compare.code-fork.code-merge.code-pull-request.coffee.cog.cogs.coins.colon-sign.columns.comment.comment-alt.comment-dollar.comment-dots.comment-medical.comment-nodes.comment-slash.comment-sms.commenting.comments.comments-dollar.compact-disc.compass.compass-drafting.compress.compress-alt.compress-arrows-alt.computer.computer-mouse.concierge-bell.contact-book.contact-card.cookie.cookie-bite.copy.copyright.couch.cow.credit-card.credit-card-alt.crop.crop-alt.crop-simple.cross.crosshairs.crow.crown.crutch.cruzeiro-sign.cube.cubes.cubes-stacked.cut.cutlery.d.dashboard.database.deaf.deafness.dedent.delete-left.democrat.desktop.desktop-alt.dharmachakra.diagnoses.diagram-next.diagram-predecessor.diagram-project.diagram-successor.diamond.diamond-turn-right.dice.dice-d20.dice-d6.dice-five.dice-four.dice-one.dice-six.dice-three.dice-two.digging.digital-tachograph.directions.disease.display.divide.dizzy.dna.dog.dollar.dollar-sign.dolly.dolly-box.dolly-flatbed.donate.dong-sign.door-closed.door-open.dot-circle.dove.down-left-and-up-right-to-center.down-long.download.drafting-compass.dragon.draw-polygon.drivers-license.droplet.droplet-slash.drum.drum-steelpan.drumstick-bite.dumbbell.dumpster.dumpster-fire.dungeon.e.ear-deaf.ear-listen.earth.earth-africa.earth-america.earth-americas.earth-asia.earth-europe.earth-oceania.edit.egg.eject.elevator.ellipsis.ellipsis-h.ellipsis-v.ellipsis-vertical.envelope.envelope-circle-check.envelope-open.envelope-open-text.envelope-square.envelopes-bulk.equals.eraser.ethernet.eur.euro.euro-sign.exchange.exchange-alt.exclamation.exclamation-circle.exclamation-triangle.expand.expand-alt.expand-arrows-alt.explosion.external-link.external-link-alt.external-link-square.external-link-square-alt.eye.eye-dropper.eye-dropper-empty.eye-low-vision.eye-slash.eyedropper.f.face-angry.face-dizzy.face-flushed.face-frown.face-frown-open.face-grimace.face-grin.face-grin-beam.face-grin-beam-sweat.face-grin-hearts.face-grin-squint.face-grin-squint-tears.face-grin-stars.face-grin-tears.face-grin-tongue.face-grin-tongue-squint.face-grin-tongue-wink.face-grin-wide.face-grin-wink.face-kiss.face-kiss-beam.face-kiss-wink-heart.face-laugh.face-laugh-beam.face-laugh-squint.face-laugh-wink.face-meh.face-meh-blank.face-rolling-eyes.face-sad-cry.face-sad-tear.face-smile.face-smile-beam.face-smile-wink.face-surprise.face-tired.fan.faucet.faucet-drip.fax.feather.feather-alt.feather-pointed.feed.female.ferry.fighter-jet.file.file-alt.file-archive.file-arrow-down.file-arrow-up.file-audio.file-circle-check.file-circle-exclamation.file-circle-minus.file-circle-plus.file-circle-question.file-circle-xmark.file-clipboard.file-code.file-contract.file-csv.file-download.file-edit.file-excel.file-export.file-fragment.file-half-dashed.file-image.file-import.file-invoice.file-invoice-dollar.file-lines.file-medical.file-medical-alt.file-pdf.file-pen.file-powerpoint.file-prescription.file-shield.file-signature.file-text.file-upload.file-video.file-waveform.file-word.file-zipper.fill.fill-drip.film.filter.filter-circle-dollar.filter-circle-xmark.fingerprint.fire.fire-alt.fire-burner.fire-extinguisher.fire-flame-curved.fire-flame-simple.first-aid.fish.fish-fins.fist-raised.flag.flag-checkered.flag-usa.flask.flask-vial.floppy-disk.florin-sign.flushed.folder.folder-blank.folder-closed.folder-minus.folder-open.folder-plus.folder-tree.font.font-awesome.font-awesome-flag.font-awesome-logo-full.football.football-ball.forward.forward-fast.forward-step.franc-sign.frog.frown.frown-open.funnel-dollar.futbol.futbol-ball.g.gamepad.gas-pump.gauge.gauge-high.gauge-med.gauge-simple.gauge-simple-high.gauge-simple-med.gavel.gbp.gear.gears.gem.genderless.ghost.gift.gifts.glass-cheers.glass-martini.glass-martini-alt.glass-water.glass-water-droplet.glass-whiskey.glasses.globe.globe-africa.globe-americas.globe-asia.globe-europe.globe-oceania.golf-ball.golf-ball-tee.gopuram.graduation-cap.greater-than.greater-than-equal.grimace.grin.grin-alt.grin-beam.grin-beam-sweat.grin-hearts.grin-squint.grin-squint-tears.grin-stars.grin-tears.grin-tongue.grin-tongue-squint.grin-tongue-wink.grin-wink.grip.grip-horizontal.grip-lines.grip-lines-vertical.grip-vertical.group-arrows-rotate.guarani-sign.guitar.gun.h.h-square.hamburger.hammer.hamsa.hand.hand-back-fist.hand-dots.hand-fist.hand-holding.hand-holding-dollar.hand-holding-droplet.hand-holding-hand.hand-holding-heart.hand-holding-medical.hand-holding-usd.hand-holding-water.hand-lizard.hand-middle-finger.hand-paper.hand-peace.hand-point-down.hand-point-left.hand-point-right.hand-point-up.hand-pointer.hand-rock.hand-scissors.hand-sparkles.hand-spock.handcuffs.hands.hands-american-sign-language-interpreting.hands-asl-interpreting.hands-bound.hands-bubbles.hands-clapping.hands-helping.hands-holding.hands-holding-child.hands-holding-circle.hands-praying.hands-wash.handshake.handshake-alt.handshake-alt-slash.handshake-angle.handshake-simple.handshake-simple-slash.handshake-slash.hanukiah.hard-drive.hard-hat.hard-of-hearing.hashtag.hat-cowboy.hat-cowboy-side.hat-hard.hat-wizard.haykal.hdd.head-side-cough.head-side-cough-slash.head-side-mask.head-side-virus.header.heading.headphones.headphones-alt.headphones-simple.headset.heart.heart-broken.heart-circle-bolt.heart-circle-check.heart-circle-exclamation.heart-circle-minus.heart-circle-plus.heart-circle-xmark.heart-crack.heart-music-camera-bolt.heart-pulse.heartbeat.helicopter.helicopter-symbol.helmet-safety.helmet-un.hexagon-nodes.hexagon-nodes-bolt.highlighter.hiking.hill-avalanche.hill-rockslide.hippo.history.hockey-puck.holly-berry.home.home-alt.home-lg.home-lg-alt.home-user.horse.horse-head.hospital.hospital-alt.hospital-symbol.hospital-user.hospital-wide.hot-tub.hot-tub-person.hotdog.hotel.hourglass.hourglass-1.hourglass-2.hourglass-3.hourglass-empty.hourglass-end.hourglass-half.hourglass-start.house.house-chimney.house-chimney-crack.house-chimney-medical.house-chimney-user.house-chimney-window.house-circle-check.house-circle-exclamation.house-circle-xmark.house-crack.house-damage.house-fire.house-flag.house-flood-water.house-flood-water-circle-arrow-right.house-laptop.house-lock.house-medical.house-medical-circle-check.house-medical-circle-exclamation.house-medical-circle-xmark.house-medical-flag.house-signal.house-tsunami.house-user.hryvnia.hryvnia-sign.hurricane.i.i-cursor.ice-cream.icicles.icons.id-badge.id-card.id-card-alt.id-card-clip.igloo.ils.image.image-portrait.images.inbox.indent.indian-rupee.indian-rupee-sign.industry.infinity.info.info-circle.inr.institution.italic.j.jar.jar-wheat.jedi.jet-fighter.jet-fighter-up.joint.journal-whills.jpy.jug-detergent.k.kaaba.key.keyboard.khanda.kip-sign.kiss.kiss-beam.kiss-wink-heart.kit-medical.kitchen-set.kiwi-bird.krw.l.ladder-water.land-mine-on.landmark.landmark-alt.landmark-dome.landmark-flag.language.laptop.laptop-code.laptop-file.laptop-house.laptop-medical.lari-sign.laugh.laugh-beam.laugh-squint.laugh-wink.layer-group.leaf.left-long.left-right.legal.lemon.less-than.less-than-equal.level-down.level-down-alt.level-up.level-up-alt.life-ring.lightbulb.line-chart.lines-leaning.link.link-slash.lira-sign.list.list-1-2.list-alt.list-check.list-dots.list-numeric.list-ol.list-squares.list-ul.litecoin-sign.location.location-arrow.location-crosshairs.location-dot.location-pin.location-pin-lock.lock.lock-open.locust.long-arrow-alt-down.long-arrow-alt-left.long-arrow-alt-right.long-arrow-alt-up.long-arrow-down.long-arrow-left.long-arrow-right.long-arrow-up.low-vision.luggage-cart.lungs.lungs-virus.m.magic.magic-wand-sparkles.magnet.magnifying-glass.magnifying-glass-arrow-right.magnifying-glass-chart.magnifying-glass-dollar.magnifying-glass-location.magnifying-glass-minus.magnifying-glass-plus.mail-bulk.mail-forward.mail-reply.mail-reply-all.male.manat-sign.map.map-location.map-location-dot.map-marked.map-marked-alt.map-marker.map-marker-alt.map-pin.map-signs.marker.mars.mars-and-venus.mars-and-venus-burst.mars-double.mars-stroke.mars-stroke-h.mars-stroke-right.mars-stroke-up.mars-stroke-v.martini-glass.martini-glass-citrus.martini-glass-empty.mask.mask-face.mask-ventilator.masks-theater.mattress-pillow.maximize.medal.medkit.meh.meh-blank.meh-rolling-eyes.memory.menorah.mercury.message.meteor.microchip.microphone.microphone-alt.microphone-alt-slash.microphone-lines.microphone-lines-slash.microphone-slash.microscope.mill-sign.minimize.minus.minus-circle.minus-square.mitten.mobile.mobile-alt.mobile-android.mobile-android-alt.mobile-button.mobile-phone.mobile-retro.mobile-screen.mobile-screen-button.money-bill.money-bill-1.money-bill-1-wave.money-bill-alt.money-bill-transfer.money-bill-trend-up.money-bill-wave.money-bill-wave-alt.money-bill-wheat.money-bills.money-check.money-check-alt.money-check-dollar.monument.moon.mortar-board.mortar-pestle.mosque.mosquito.mosquito-net.motorcycle.mound.mountain.mountain-city.mountain-sun.mouse.mouse-pointer.mug-hot.mug-saucer.multiply.museum.music.n.naira-sign.navicon.network-wired.neuter.newspaper.not-equal.notdef.note-sticky.notes-medical.o.object-group.object-ungroup.oil-can.oil-well.om.otter.outdent.p.pager.paint-brush.paint-roller.paintbrush.palette.pallet.panorama.paper-plane.paperclip.parachute-box.paragraph.parking.passport.pastafarianism.paste.pause.pause-circle.paw.peace.pen.pen-alt.pen-clip.pen-fancy.pen-nib.pen-ruler.pen-square.pen-to-square.pencil.pencil-alt.pencil-ruler.pencil-square.people-arrows.people-arrows-left-right.people-carry.people-carry-box.people-group.people-line.people-pulling.people-robbery.people-roof.pepper-hot.percent.percentage.person.person-arrow-down-to-line.person-arrow-up-from-line.person-biking.person-booth.person-breastfeeding.person-burst.person-cane.person-chalkboard.person-circle-check.person-circle-exclamation.person-circle-minus.person-circle-plus.person-circle-question.person-circle-xmark.person-digging.person-dots-from-line.person-dress.person-dress-burst.person-drowning.person-falling.person-falling-burst.person-half-dress.person-harassing.person-hiking.person-military-pointing.person-military-rifle.person-military-to-person.person-praying.person-pregnant.person-rays.person-rifle.person-running.person-shelter.person-skating.person-skiing.person-skiing-nordic.person-snowboarding.person-swimming.person-through-window.person-walking.person-walking-arrow-loop-left.person-walking-arrow-right.person-walking-dashed-line-arrow-right.person-walking-luggage.person-walking-with-cane.peseta-sign.peso-sign.phone.phone-alt.phone-flip.phone-slash.phone-square.phone-square-alt.phone-volume.photo-film.photo-video.pie-chart.piggy-bank.pills.ping-pong-paddle-ball.pizza-slice.place-of-worship.plane.plane-arrival.plane-circle-check.plane-circle-exclamation.plane-circle-xmark.plane-departure.plane-lock.plane-slash.plane-up.plant-wilt.plate-wheat.play.play-circle.plug.plug-circle-bolt.plug-circle-check.plug-circle-exclamation.plug-circle-minus.plug-circle-plus.plug-circle-xmark.plus.plus-circle.plus-minus.plus-square.podcast.poll.poll-h.poo.poo-bolt.poo-storm.poop.portrait.pound-sign.power-off.pray.praying-hands.prescription.prescription-bottle.prescription-bottle-alt.prescription-bottle-medical.print.procedures.project-diagram.pump-medical.pump-soap.puzzle-piece.q.qrcode.question.question-circle.quidditch.quidditch-broom-ball.quote-left.quote-left-alt.quote-right.quote-right-alt.quran.r.radiation.radiation-alt.radio.rainbow.random.ranking-star.receipt.record-vinyl.rectangle-ad.rectangle-list.rectangle-times.rectangle-xmark.recycle.redo.redo-alt.refresh.registered.remove.remove-format.reorder.repeat.reply.reply-all.republican.restroom.retweet.ribbon.right-from-bracket.right-left.right-long.right-to-bracket.ring.rmb.road.road-barrier.road-bridge.road-circle-check.road-circle-exclamation.road-circle-xmark.road-lock.road-spikes.robot.rocket.rod-asclepius.rod-snake.rotate.rotate-back.rotate-backward.rotate-forward.rotate-left.rotate-right.rouble.route.rss.rss-square.rub.ruble.ruble-sign.rug.ruler.ruler-combined.ruler-horizontal.ruler-vertical.running.rupee.rupee-sign.rupiah-sign.s.sack-dollar.sack-xmark.sad-cry.sad-tear.sailboat.satellite.satellite-dish.save.scale-balanced.scale-unbalanced.scale-unbalanced-flip.school.school-circle-check.school-circle-exclamation.school-circle-xmark.school-flag.school-lock.scissors.screwdriver.screwdriver-wrench.scroll.scroll-torah.sd-card.search.search-dollar.search-location.search-minus.search-plus.section.seedling.server.shapes.share.share-alt.share-alt-square.share-from-square.share-nodes.share-square.sheet-plastic.shekel.shekel-sign.sheqel.sheqel-sign.shield.shield-alt.shield-blank.shield-cat.shield-dog.shield-halved.shield-heart.shield-virus.ship.shipping-fast.shirt.shoe-prints.shop.shop-lock.shop-slash.shopping-bag.shopping-basket.shopping-cart.shower.shrimp.shuffle.shuttle-space.shuttle-van.sign.sign-hanging.sign-in.sign-in-alt.sign-language.sign-out.sign-out-alt.signal.signal-5.signal-perfect.signature.signing.signs-post.sim-card.sink.sitemap.skating.skiing.skiing-nordic.skull.skull-crossbones.slash.sleigh.sliders.sliders-h.smile.smile-beam.smile-wink.smog.smoking.smoking-ban.sms.snowboarding.snowflake.snowman.snowplow.soap.soccer-ball.socks.solar-panel.sort.sort-alpha-asc.sort-alpha-desc.sort-alpha-down.sort-alpha-down-alt.sort-alpha-up.sort-alpha-up-alt.sort-amount-asc.sort-amount-desc.sort-amount-down.sort-amount-down-alt.sort-amount-up.sort-amount-up-alt.sort-asc.sort-desc.sort-down.sort-numeric-asc.sort-numeric-desc.sort-numeric-down.sort-numeric-down-alt.sort-numeric-up.sort-numeric-up-alt.sort-up.spa.space-shuttle.spaghetti-monster-flying.spell-check.spider.spinner.splotch.spoon.spray-can.spray-can-sparkles.sprout.square.square-arrow-up-right.square-binary.square-caret-down.square-caret-left.square-caret-right.square-caret-up.square-check.square-envelope.square-full.square-h.square-minus.square-nfi.square-parking.square-pen.square-person-confined.square-phone.square-phone-flip.square-plus.square-poll-horizontal.square-poll-vertical.square-root-alt.square-root-variable.square-rss.square-share-nodes.square-up-right.square-virus.square-xmark.staff-aesculapius.staff-snake.stairs.stamp.stapler.star.star-and-crescent.star-half.star-half-alt.star-half-stroke.star-of-david.star-of-life.step-backward.step-forward.sterling-sign.stethoscope.sticky-note.stop.stop-circle.stopwatch.stopwatch-20.store.store-alt.store-alt-slash.store-slash.stream.street-view.strikethrough.stroopwafel.subscript.subtract.subway.suitcase.suitcase-medical.suitcase-rolling.sun.sun-plant-wilt.superscript.surprise.swatchbook.swimmer.swimming-pool.synagogue.sync.sync-alt.syringe.t.t-shirt.table.table-cells.table-cells-column-lock.table-cells-large.table-cells-row-lock.table-cells-row-unlock.table-columns.table-list.table-tennis.table-tennis-paddle-ball.tablet.tablet-alt.tablet-android.tablet-button.tablet-screen-button.tablets.tachograph-digital.tachometer.tachometer-alt.tachometer-alt-average.tachometer-alt-fast.tachometer-average.tachometer-fast.tag.tags.tanakh.tape.tarp.tarp-droplet.tasks.tasks-alt.taxi.teeth.teeth-open.teletype.television.temperature-0.temperature-1.temperature-2.temperature-3.temperature-4.temperature-arrow-down.temperature-arrow-up.temperature-down.temperature-empty.temperature-full.temperature-half.temperature-high.temperature-low.temperature-quarter.temperature-three-quarters.temperature-up.tenge.tenge-sign.tent.tent-arrow-down-to-line.tent-arrow-left-right.tent-arrow-turn-left.tent-arrows-down.tents.terminal.text-height.text-slash.text-width.th.th-large.th-list.theater-masks.thermometer.thermometer-0.thermometer-1.thermometer-2.thermometer-3.thermometer-4.thermometer-empty.thermometer-full.thermometer-half.thermometer-quarter.thermometer-three-quarters.thumb-tack.thumb-tack-slash.thumbs-down.thumbs-up.thumbtack.thumbtack-slash.thunderstorm.ticket.ticket-alt.ticket-simple.timeline.times.times-circle.times-rectangle.times-square.tint.tint-slash.tired.toggle-off.toggle-on.toilet.toilet-paper.toilet-paper-slash.toilet-portable.toilets-portable.toolbox.tools.tooth.torah.torii-gate.tornado.tower-broadcast.tower-cell.tower-observation.tractor.trademark.traffic-light.trailer.train.train-subway.train-tram.tram.transgender.transgender-alt.trash.trash-alt.trash-arrow-up.trash-can.trash-can-arrow-up.trash-restore.trash-restore-alt.tree.tree-city.triangle-circle-square.triangle-exclamation.trophy.trowel.trowel-bricks.truck.truck-arrow-right.truck-droplet.truck-fast.truck-field.truck-field-un.truck-front.truck-loading.truck-medical.truck-monster.truck-moving.truck-pickup.truck-plane.truck-ramp-box.try.tshirt.tty.turkish-lira.turkish-lira-sign.turn-down.turn-up.tv.tv-alt.u.umbrella.umbrella-beach.underline.undo.undo-alt.universal-access.university.unlink.unlock.unlock-alt.unlock-keyhole.unsorted.up-down.up-down-left-right.up-long.up-right-and-down-left-from-center.up-right-from-square.upload.usd.user.user-alt.user-alt-slash.user-astronaut.user-check.user-circle.user-clock.user-cog.user-doctor.user-edit.user-friends.user-gear.user-graduate.user-group.user-injured.user-large.user-large-slash.user-lock.user-md.user-minus.user-ninja.user-nurse.user-pen.user-plus.user-secret.user-shield.user-slash.user-tag.user-tie.user-times.user-xmark.users.users-between-lines.users-cog.users-gear.users-line.users-rays.users-rectangle.users-slash.users-viewfinder.utensil-spoon.utensils.v.van-shuttle.vault.vcard.vector-square.venus.venus-double.venus-mars.vest.vest-patches.vial.vial-circle-check.vial-virus.vials.video.video-camera.video-slash.vihara.virus.virus-covid.virus-covid-slash.virus-slash.viruses.voicemail.volcano.volleyball.volleyball-ball.volume-control-phone.volume-down.volume-high.volume-low.volume-mute.volume-off.volume-times.volume-up.volume-xmark.vote-yea.vr-cardboard.w.walkie-talkie.walking.wallet.wand-magic.wand-magic-sparkles.wand-sparkles.warehouse.warning.water.water-ladder.wave-square.web-awesome.weight.weight-hanging.weight-scale.wheat-alt.wheat-awn.wheat-awn-circle-exclamation.wheelchair.wheelchair-alt.wheelchair-move.whiskey-glass.wifi.wifi-3.wifi-strong.wind.window-close.window-maximize.window-minimize.window-restore.wine-bottle.wine-glass.wine-glass-alt.wine-glass-empty.won.won-sign.worm.wrench.x.x-ray.xmark.xmark-circle.xmark-square.xmarks-lines.y.yen.yen-sign.yin-yang.z.zap".split("."), sr = { class: "justified" }, cr = /* @__PURE__ */ M({
|
|
1353
|
+
}), [["__scopeId", "data-v-b4e1f98e"]]), sr = /* @__PURE__ */ "0.1.2.3.4.5.6.7.8.9.a.ad.add.address-book.address-card.adjust.air-freshener.align-center.align-justify.align-left.align-right.allergies.ambulance.american-sign-language-interpreting.anchor.anchor-circle-check.anchor-circle-exclamation.anchor-circle-xmark.anchor-lock.angle-double-down.angle-double-left.angle-double-right.angle-double-up.angle-down.angle-left.angle-right.angle-up.angles-down.angles-left.angles-right.angles-up.angry.ankh.apple-alt.apple-whole.archive.archway.area-chart.arrow-alt-circle-down.arrow-alt-circle-left.arrow-alt-circle-right.arrow-alt-circle-up.arrow-circle-down.arrow-circle-left.arrow-circle-right.arrow-circle-up.arrow-down.arrow-down-1-9.arrow-down-9-1.arrow-down-a-z.arrow-down-long.arrow-down-short-wide.arrow-down-up-across-line.arrow-down-up-lock.arrow-down-wide-short.arrow-down-z-a.arrow-left.arrow-left-long.arrow-left-rotate.arrow-pointer.arrow-right.arrow-right-arrow-left.arrow-right-from-bracket.arrow-right-from-file.arrow-right-long.arrow-right-rotate.arrow-right-to-bracket.arrow-right-to-city.arrow-right-to-file.arrow-rotate-back.arrow-rotate-backward.arrow-rotate-forward.arrow-rotate-left.arrow-rotate-right.arrow-trend-down.arrow-trend-up.arrow-turn-down.arrow-turn-up.arrow-up.arrow-up-1-9.arrow-up-9-1.arrow-up-a-z.arrow-up-from-bracket.arrow-up-from-ground-water.arrow-up-from-water-pump.arrow-up-long.arrow-up-right-dots.arrow-up-right-from-square.arrow-up-short-wide.arrow-up-wide-short.arrow-up-z-a.arrows.arrows-alt.arrows-alt-h.arrows-alt-v.arrows-down-to-line.arrows-down-to-people.arrows-h.arrows-left-right.arrows-left-right-to-line.arrows-rotate.arrows-spin.arrows-split-up-and-left.arrows-to-circle.arrows-to-dot.arrows-to-eye.arrows-turn-right.arrows-turn-to-dots.arrows-up-down.arrows-up-down-left-right.arrows-up-to-line.arrows-v.asl-interpreting.assistive-listening-systems.asterisk.at.atlas.atom.audio-description.austral-sign.automobile.award.b.baby.baby-carriage.backspace.backward.backward-fast.backward-step.bacon.bacteria.bacterium.bag-shopping.bahai.baht-sign.balance-scale.balance-scale-left.balance-scale-right.ban.ban-smoking.band-aid.bandage.bangladeshi-taka-sign.bank.bar-chart.barcode.bars.bars-progress.bars-staggered.baseball.baseball-ball.baseball-bat-ball.basket-shopping.basketball.basketball-ball.bath.bathtub.battery.battery-0.battery-2.battery-3.battery-4.battery-5.battery-car.battery-empty.battery-full.battery-half.battery-quarter.battery-three-quarters.bed.bed-pulse.beer.beer-mug-empty.bell.bell-concierge.bell-slash.bezier-curve.bible.bicycle.biking.binoculars.biohazard.birthday-cake.bitcoin-sign.blackboard.blender.blender-phone.blind.blog.bold.bolt.bolt-lightning.bomb.bone.bong.book.book-atlas.book-bible.book-bookmark.book-dead.book-journal-whills.book-medical.book-open.book-open-reader.book-quran.book-reader.book-skull.book-tanakh.bookmark.border-all.border-none.border-style.border-top-left.bore-hole.bottle-droplet.bottle-water.bowl-food.bowl-rice.bowling-ball.box.box-archive.box-open.box-tissue.boxes.boxes-alt.boxes-packing.boxes-stacked.braille.brain.brazilian-real-sign.bread-slice.bridge.bridge-circle-check.bridge-circle-exclamation.bridge-circle-xmark.bridge-lock.bridge-water.briefcase.briefcase-clock.briefcase-medical.broadcast-tower.broom.broom-ball.brush.bucket.bug.bug-slash.bugs.building.building-circle-arrow-right.building-circle-check.building-circle-exclamation.building-circle-xmark.building-columns.building-flag.building-lock.building-ngo.building-shield.building-un.building-user.building-wheat.bullhorn.bullseye.burger.burn.burst.bus.bus-alt.bus-simple.business-time.c.cab.cable-car.cake.cake-candles.calculator.calendar.calendar-alt.calendar-check.calendar-day.calendar-days.calendar-minus.calendar-plus.calendar-times.calendar-week.calendar-xmark.camera.camera-alt.camera-retro.camera-rotate.campground.cancel.candy-cane.cannabis.capsules.car.car-alt.car-battery.car-burst.car-crash.car-on.car-rear.car-side.car-tunnel.caravan.caret-down.caret-left.caret-right.caret-square-down.caret-square-left.caret-square-right.caret-square-up.caret-up.carriage-baby.carrot.cart-arrow-down.cart-flatbed.cart-flatbed-suitcase.cart-plus.cart-shopping.cash-register.cat.cedi-sign.cent-sign.certificate.chain.chain-broken.chain-slash.chair.chalkboard.chalkboard-teacher.chalkboard-user.champagne-glasses.charging-station.chart-area.chart-bar.chart-column.chart-diagram.chart-gantt.chart-line.chart-pie.chart-simple.check.check-circle.check-double.check-square.check-to-slot.cheese.chess.chess-bishop.chess-board.chess-king.chess-knight.chess-pawn.chess-queen.chess-rook.chevron-circle-down.chevron-circle-left.chevron-circle-right.chevron-circle-up.chevron-down.chevron-left.chevron-right.chevron-up.child.child-combatant.child-dress.child-reaching.child-rifle.children.church.circle.circle-arrow-down.circle-arrow-left.circle-arrow-right.circle-arrow-up.circle-check.circle-chevron-down.circle-chevron-left.circle-chevron-right.circle-chevron-up.circle-dollar-to-slot.circle-dot.circle-down.circle-exclamation.circle-h.circle-half-stroke.circle-info.circle-left.circle-minus.circle-nodes.circle-notch.circle-pause.circle-play.circle-plus.circle-question.circle-radiation.circle-right.circle-stop.circle-up.circle-user.circle-xmark.city.clapperboard.clinic-medical.clipboard.clipboard-check.clipboard-list.clipboard-question.clipboard-user.clock.clock-four.clock-rotate-left.clone.close.closed-captioning.cloud.cloud-arrow-down.cloud-arrow-up.cloud-bolt.cloud-download.cloud-download-alt.cloud-meatball.cloud-moon.cloud-moon-rain.cloud-rain.cloud-showers-heavy.cloud-showers-water.cloud-sun.cloud-sun-rain.cloud-upload.cloud-upload-alt.clover.cny.cocktail.code.code-branch.code-commit.code-compare.code-fork.code-merge.code-pull-request.coffee.cog.cogs.coins.colon-sign.columns.comment.comment-alt.comment-dollar.comment-dots.comment-medical.comment-nodes.comment-slash.comment-sms.commenting.comments.comments-dollar.compact-disc.compass.compass-drafting.compress.compress-alt.compress-arrows-alt.computer.computer-mouse.concierge-bell.contact-book.contact-card.cookie.cookie-bite.copy.copyright.couch.cow.credit-card.credit-card-alt.crop.crop-alt.crop-simple.cross.crosshairs.crow.crown.crutch.cruzeiro-sign.cube.cubes.cubes-stacked.cut.cutlery.d.dashboard.database.deaf.deafness.dedent.delete-left.democrat.desktop.desktop-alt.dharmachakra.diagnoses.diagram-next.diagram-predecessor.diagram-project.diagram-successor.diamond.diamond-turn-right.dice.dice-d20.dice-d6.dice-five.dice-four.dice-one.dice-six.dice-three.dice-two.digging.digital-tachograph.directions.disease.display.divide.dizzy.dna.dog.dollar.dollar-sign.dolly.dolly-box.dolly-flatbed.donate.dong-sign.door-closed.door-open.dot-circle.dove.down-left-and-up-right-to-center.down-long.download.drafting-compass.dragon.draw-polygon.drivers-license.droplet.droplet-slash.drum.drum-steelpan.drumstick-bite.dumbbell.dumpster.dumpster-fire.dungeon.e.ear-deaf.ear-listen.earth.earth-africa.earth-america.earth-americas.earth-asia.earth-europe.earth-oceania.edit.egg.eject.elevator.ellipsis.ellipsis-h.ellipsis-v.ellipsis-vertical.envelope.envelope-circle-check.envelope-open.envelope-open-text.envelope-square.envelopes-bulk.equals.eraser.ethernet.eur.euro.euro-sign.exchange.exchange-alt.exclamation.exclamation-circle.exclamation-triangle.expand.expand-alt.expand-arrows-alt.explosion.external-link.external-link-alt.external-link-square.external-link-square-alt.eye.eye-dropper.eye-dropper-empty.eye-low-vision.eye-slash.eyedropper.f.face-angry.face-dizzy.face-flushed.face-frown.face-frown-open.face-grimace.face-grin.face-grin-beam.face-grin-beam-sweat.face-grin-hearts.face-grin-squint.face-grin-squint-tears.face-grin-stars.face-grin-tears.face-grin-tongue.face-grin-tongue-squint.face-grin-tongue-wink.face-grin-wide.face-grin-wink.face-kiss.face-kiss-beam.face-kiss-wink-heart.face-laugh.face-laugh-beam.face-laugh-squint.face-laugh-wink.face-meh.face-meh-blank.face-rolling-eyes.face-sad-cry.face-sad-tear.face-smile.face-smile-beam.face-smile-wink.face-surprise.face-tired.fan.faucet.faucet-drip.fax.feather.feather-alt.feather-pointed.feed.female.ferry.fighter-jet.file.file-alt.file-archive.file-arrow-down.file-arrow-up.file-audio.file-circle-check.file-circle-exclamation.file-circle-minus.file-circle-plus.file-circle-question.file-circle-xmark.file-clipboard.file-code.file-contract.file-csv.file-download.file-edit.file-excel.file-export.file-fragment.file-half-dashed.file-image.file-import.file-invoice.file-invoice-dollar.file-lines.file-medical.file-medical-alt.file-pdf.file-pen.file-powerpoint.file-prescription.file-shield.file-signature.file-text.file-upload.file-video.file-waveform.file-word.file-zipper.fill.fill-drip.film.filter.filter-circle-dollar.filter-circle-xmark.fingerprint.fire.fire-alt.fire-burner.fire-extinguisher.fire-flame-curved.fire-flame-simple.first-aid.fish.fish-fins.fist-raised.flag.flag-checkered.flag-usa.flask.flask-vial.floppy-disk.florin-sign.flushed.folder.folder-blank.folder-closed.folder-minus.folder-open.folder-plus.folder-tree.font.font-awesome.font-awesome-flag.font-awesome-logo-full.football.football-ball.forward.forward-fast.forward-step.franc-sign.frog.frown.frown-open.funnel-dollar.futbol.futbol-ball.g.gamepad.gas-pump.gauge.gauge-high.gauge-med.gauge-simple.gauge-simple-high.gauge-simple-med.gavel.gbp.gear.gears.gem.genderless.ghost.gift.gifts.glass-cheers.glass-martini.glass-martini-alt.glass-water.glass-water-droplet.glass-whiskey.glasses.globe.globe-africa.globe-americas.globe-asia.globe-europe.globe-oceania.golf-ball.golf-ball-tee.gopuram.graduation-cap.greater-than.greater-than-equal.grimace.grin.grin-alt.grin-beam.grin-beam-sweat.grin-hearts.grin-squint.grin-squint-tears.grin-stars.grin-tears.grin-tongue.grin-tongue-squint.grin-tongue-wink.grin-wink.grip.grip-horizontal.grip-lines.grip-lines-vertical.grip-vertical.group-arrows-rotate.guarani-sign.guitar.gun.h.h-square.hamburger.hammer.hamsa.hand.hand-back-fist.hand-dots.hand-fist.hand-holding.hand-holding-dollar.hand-holding-droplet.hand-holding-hand.hand-holding-heart.hand-holding-medical.hand-holding-usd.hand-holding-water.hand-lizard.hand-middle-finger.hand-paper.hand-peace.hand-point-down.hand-point-left.hand-point-right.hand-point-up.hand-pointer.hand-rock.hand-scissors.hand-sparkles.hand-spock.handcuffs.hands.hands-american-sign-language-interpreting.hands-asl-interpreting.hands-bound.hands-bubbles.hands-clapping.hands-helping.hands-holding.hands-holding-child.hands-holding-circle.hands-praying.hands-wash.handshake.handshake-alt.handshake-alt-slash.handshake-angle.handshake-simple.handshake-simple-slash.handshake-slash.hanukiah.hard-drive.hard-hat.hard-of-hearing.hashtag.hat-cowboy.hat-cowboy-side.hat-hard.hat-wizard.haykal.hdd.head-side-cough.head-side-cough-slash.head-side-mask.head-side-virus.header.heading.headphones.headphones-alt.headphones-simple.headset.heart.heart-broken.heart-circle-bolt.heart-circle-check.heart-circle-exclamation.heart-circle-minus.heart-circle-plus.heart-circle-xmark.heart-crack.heart-music-camera-bolt.heart-pulse.heartbeat.helicopter.helicopter-symbol.helmet-safety.helmet-un.hexagon-nodes.hexagon-nodes-bolt.highlighter.hiking.hill-avalanche.hill-rockslide.hippo.history.hockey-puck.holly-berry.home.home-alt.home-lg.home-lg-alt.home-user.horse.horse-head.hospital.hospital-alt.hospital-symbol.hospital-user.hospital-wide.hot-tub.hot-tub-person.hotdog.hotel.hourglass.hourglass-1.hourglass-2.hourglass-3.hourglass-empty.hourglass-end.hourglass-half.hourglass-start.house.house-chimney.house-chimney-crack.house-chimney-medical.house-chimney-user.house-chimney-window.house-circle-check.house-circle-exclamation.house-circle-xmark.house-crack.house-damage.house-fire.house-flag.house-flood-water.house-flood-water-circle-arrow-right.house-laptop.house-lock.house-medical.house-medical-circle-check.house-medical-circle-exclamation.house-medical-circle-xmark.house-medical-flag.house-signal.house-tsunami.house-user.hryvnia.hryvnia-sign.hurricane.i.i-cursor.ice-cream.icicles.icons.id-badge.id-card.id-card-alt.id-card-clip.igloo.ils.image.image-portrait.images.inbox.indent.indian-rupee.indian-rupee-sign.industry.infinity.info.info-circle.inr.institution.italic.j.jar.jar-wheat.jedi.jet-fighter.jet-fighter-up.joint.journal-whills.jpy.jug-detergent.k.kaaba.key.keyboard.khanda.kip-sign.kiss.kiss-beam.kiss-wink-heart.kit-medical.kitchen-set.kiwi-bird.krw.l.ladder-water.land-mine-on.landmark.landmark-alt.landmark-dome.landmark-flag.language.laptop.laptop-code.laptop-file.laptop-house.laptop-medical.lari-sign.laugh.laugh-beam.laugh-squint.laugh-wink.layer-group.leaf.left-long.left-right.legal.lemon.less-than.less-than-equal.level-down.level-down-alt.level-up.level-up-alt.life-ring.lightbulb.line-chart.lines-leaning.link.link-slash.lira-sign.list.list-1-2.list-alt.list-check.list-dots.list-numeric.list-ol.list-squares.list-ul.litecoin-sign.location.location-arrow.location-crosshairs.location-dot.location-pin.location-pin-lock.lock.lock-open.locust.long-arrow-alt-down.long-arrow-alt-left.long-arrow-alt-right.long-arrow-alt-up.long-arrow-down.long-arrow-left.long-arrow-right.long-arrow-up.low-vision.luggage-cart.lungs.lungs-virus.m.magic.magic-wand-sparkles.magnet.magnifying-glass.magnifying-glass-arrow-right.magnifying-glass-chart.magnifying-glass-dollar.magnifying-glass-location.magnifying-glass-minus.magnifying-glass-plus.mail-bulk.mail-forward.mail-reply.mail-reply-all.male.manat-sign.map.map-location.map-location-dot.map-marked.map-marked-alt.map-marker.map-marker-alt.map-pin.map-signs.marker.mars.mars-and-venus.mars-and-venus-burst.mars-double.mars-stroke.mars-stroke-h.mars-stroke-right.mars-stroke-up.mars-stroke-v.martini-glass.martini-glass-citrus.martini-glass-empty.mask.mask-face.mask-ventilator.masks-theater.mattress-pillow.maximize.medal.medkit.meh.meh-blank.meh-rolling-eyes.memory.menorah.mercury.message.meteor.microchip.microphone.microphone-alt.microphone-alt-slash.microphone-lines.microphone-lines-slash.microphone-slash.microscope.mill-sign.minimize.minus.minus-circle.minus-square.mitten.mobile.mobile-alt.mobile-android.mobile-android-alt.mobile-button.mobile-phone.mobile-retro.mobile-screen.mobile-screen-button.money-bill.money-bill-1.money-bill-1-wave.money-bill-alt.money-bill-transfer.money-bill-trend-up.money-bill-wave.money-bill-wave-alt.money-bill-wheat.money-bills.money-check.money-check-alt.money-check-dollar.monument.moon.mortar-board.mortar-pestle.mosque.mosquito.mosquito-net.motorcycle.mound.mountain.mountain-city.mountain-sun.mouse.mouse-pointer.mug-hot.mug-saucer.multiply.museum.music.n.naira-sign.navicon.network-wired.neuter.newspaper.not-equal.notdef.note-sticky.notes-medical.o.object-group.object-ungroup.oil-can.oil-well.om.otter.outdent.p.pager.paint-brush.paint-roller.paintbrush.palette.pallet.panorama.paper-plane.paperclip.parachute-box.paragraph.parking.passport.pastafarianism.paste.pause.pause-circle.paw.peace.pen.pen-alt.pen-clip.pen-fancy.pen-nib.pen-ruler.pen-square.pen-to-square.pencil.pencil-alt.pencil-ruler.pencil-square.people-arrows.people-arrows-left-right.people-carry.people-carry-box.people-group.people-line.people-pulling.people-robbery.people-roof.pepper-hot.percent.percentage.person.person-arrow-down-to-line.person-arrow-up-from-line.person-biking.person-booth.person-breastfeeding.person-burst.person-cane.person-chalkboard.person-circle-check.person-circle-exclamation.person-circle-minus.person-circle-plus.person-circle-question.person-circle-xmark.person-digging.person-dots-from-line.person-dress.person-dress-burst.person-drowning.person-falling.person-falling-burst.person-half-dress.person-harassing.person-hiking.person-military-pointing.person-military-rifle.person-military-to-person.person-praying.person-pregnant.person-rays.person-rifle.person-running.person-shelter.person-skating.person-skiing.person-skiing-nordic.person-snowboarding.person-swimming.person-through-window.person-walking.person-walking-arrow-loop-left.person-walking-arrow-right.person-walking-dashed-line-arrow-right.person-walking-luggage.person-walking-with-cane.peseta-sign.peso-sign.phone.phone-alt.phone-flip.phone-slash.phone-square.phone-square-alt.phone-volume.photo-film.photo-video.pie-chart.piggy-bank.pills.ping-pong-paddle-ball.pizza-slice.place-of-worship.plane.plane-arrival.plane-circle-check.plane-circle-exclamation.plane-circle-xmark.plane-departure.plane-lock.plane-slash.plane-up.plant-wilt.plate-wheat.play.play-circle.plug.plug-circle-bolt.plug-circle-check.plug-circle-exclamation.plug-circle-minus.plug-circle-plus.plug-circle-xmark.plus.plus-circle.plus-minus.plus-square.podcast.poll.poll-h.poo.poo-bolt.poo-storm.poop.portrait.pound-sign.power-off.pray.praying-hands.prescription.prescription-bottle.prescription-bottle-alt.prescription-bottle-medical.print.procedures.project-diagram.pump-medical.pump-soap.puzzle-piece.q.qrcode.question.question-circle.quidditch.quidditch-broom-ball.quote-left.quote-left-alt.quote-right.quote-right-alt.quran.r.radiation.radiation-alt.radio.rainbow.random.ranking-star.receipt.record-vinyl.rectangle-ad.rectangle-list.rectangle-times.rectangle-xmark.recycle.redo.redo-alt.refresh.registered.remove.remove-format.reorder.repeat.reply.reply-all.republican.restroom.retweet.ribbon.right-from-bracket.right-left.right-long.right-to-bracket.ring.rmb.road.road-barrier.road-bridge.road-circle-check.road-circle-exclamation.road-circle-xmark.road-lock.road-spikes.robot.rocket.rod-asclepius.rod-snake.rotate.rotate-back.rotate-backward.rotate-forward.rotate-left.rotate-right.rouble.route.rss.rss-square.rub.ruble.ruble-sign.rug.ruler.ruler-combined.ruler-horizontal.ruler-vertical.running.rupee.rupee-sign.rupiah-sign.s.sack-dollar.sack-xmark.sad-cry.sad-tear.sailboat.satellite.satellite-dish.save.scale-balanced.scale-unbalanced.scale-unbalanced-flip.school.school-circle-check.school-circle-exclamation.school-circle-xmark.school-flag.school-lock.scissors.screwdriver.screwdriver-wrench.scroll.scroll-torah.sd-card.search.search-dollar.search-location.search-minus.search-plus.section.seedling.server.shapes.share.share-alt.share-alt-square.share-from-square.share-nodes.share-square.sheet-plastic.shekel.shekel-sign.sheqel.sheqel-sign.shield.shield-alt.shield-blank.shield-cat.shield-dog.shield-halved.shield-heart.shield-virus.ship.shipping-fast.shirt.shoe-prints.shop.shop-lock.shop-slash.shopping-bag.shopping-basket.shopping-cart.shower.shrimp.shuffle.shuttle-space.shuttle-van.sign.sign-hanging.sign-in.sign-in-alt.sign-language.sign-out.sign-out-alt.signal.signal-5.signal-perfect.signature.signing.signs-post.sim-card.sink.sitemap.skating.skiing.skiing-nordic.skull.skull-crossbones.slash.sleigh.sliders.sliders-h.smile.smile-beam.smile-wink.smog.smoking.smoking-ban.sms.snowboarding.snowflake.snowman.snowplow.soap.soccer-ball.socks.solar-panel.sort.sort-alpha-asc.sort-alpha-desc.sort-alpha-down.sort-alpha-down-alt.sort-alpha-up.sort-alpha-up-alt.sort-amount-asc.sort-amount-desc.sort-amount-down.sort-amount-down-alt.sort-amount-up.sort-amount-up-alt.sort-asc.sort-desc.sort-down.sort-numeric-asc.sort-numeric-desc.sort-numeric-down.sort-numeric-down-alt.sort-numeric-up.sort-numeric-up-alt.sort-up.spa.space-shuttle.spaghetti-monster-flying.spell-check.spider.spinner.splotch.spoon.spray-can.spray-can-sparkles.sprout.square.square-arrow-up-right.square-binary.square-caret-down.square-caret-left.square-caret-right.square-caret-up.square-check.square-envelope.square-full.square-h.square-minus.square-nfi.square-parking.square-pen.square-person-confined.square-phone.square-phone-flip.square-plus.square-poll-horizontal.square-poll-vertical.square-root-alt.square-root-variable.square-rss.square-share-nodes.square-up-right.square-virus.square-xmark.staff-aesculapius.staff-snake.stairs.stamp.stapler.star.star-and-crescent.star-half.star-half-alt.star-half-stroke.star-of-david.star-of-life.step-backward.step-forward.sterling-sign.stethoscope.sticky-note.stop.stop-circle.stopwatch.stopwatch-20.store.store-alt.store-alt-slash.store-slash.stream.street-view.strikethrough.stroopwafel.subscript.subtract.subway.suitcase.suitcase-medical.suitcase-rolling.sun.sun-plant-wilt.superscript.surprise.swatchbook.swimmer.swimming-pool.synagogue.sync.sync-alt.syringe.t.t-shirt.table.table-cells.table-cells-column-lock.table-cells-large.table-cells-row-lock.table-cells-row-unlock.table-columns.table-list.table-tennis.table-tennis-paddle-ball.tablet.tablet-alt.tablet-android.tablet-button.tablet-screen-button.tablets.tachograph-digital.tachometer.tachometer-alt.tachometer-alt-average.tachometer-alt-fast.tachometer-average.tachometer-fast.tag.tags.tanakh.tape.tarp.tarp-droplet.tasks.tasks-alt.taxi.teeth.teeth-open.teletype.television.temperature-0.temperature-1.temperature-2.temperature-3.temperature-4.temperature-arrow-down.temperature-arrow-up.temperature-down.temperature-empty.temperature-full.temperature-half.temperature-high.temperature-low.temperature-quarter.temperature-three-quarters.temperature-up.tenge.tenge-sign.tent.tent-arrow-down-to-line.tent-arrow-left-right.tent-arrow-turn-left.tent-arrows-down.tents.terminal.text-height.text-slash.text-width.th.th-large.th-list.theater-masks.thermometer.thermometer-0.thermometer-1.thermometer-2.thermometer-3.thermometer-4.thermometer-empty.thermometer-full.thermometer-half.thermometer-quarter.thermometer-three-quarters.thumb-tack.thumb-tack-slash.thumbs-down.thumbs-up.thumbtack.thumbtack-slash.thunderstorm.ticket.ticket-alt.ticket-simple.timeline.times.times-circle.times-rectangle.times-square.tint.tint-slash.tired.toggle-off.toggle-on.toilet.toilet-paper.toilet-paper-slash.toilet-portable.toilets-portable.toolbox.tools.tooth.torah.torii-gate.tornado.tower-broadcast.tower-cell.tower-observation.tractor.trademark.traffic-light.trailer.train.train-subway.train-tram.tram.transgender.transgender-alt.trash.trash-alt.trash-arrow-up.trash-can.trash-can-arrow-up.trash-restore.trash-restore-alt.tree.tree-city.triangle-circle-square.triangle-exclamation.trophy.trowel.trowel-bricks.truck.truck-arrow-right.truck-droplet.truck-fast.truck-field.truck-field-un.truck-front.truck-loading.truck-medical.truck-monster.truck-moving.truck-pickup.truck-plane.truck-ramp-box.try.tshirt.tty.turkish-lira.turkish-lira-sign.turn-down.turn-up.tv.tv-alt.u.umbrella.umbrella-beach.underline.undo.undo-alt.universal-access.university.unlink.unlock.unlock-alt.unlock-keyhole.unsorted.up-down.up-down-left-right.up-long.up-right-and-down-left-from-center.up-right-from-square.upload.usd.user.user-alt.user-alt-slash.user-astronaut.user-check.user-circle.user-clock.user-cog.user-doctor.user-edit.user-friends.user-gear.user-graduate.user-group.user-injured.user-large.user-large-slash.user-lock.user-md.user-minus.user-ninja.user-nurse.user-pen.user-plus.user-secret.user-shield.user-slash.user-tag.user-tie.user-times.user-xmark.users.users-between-lines.users-cog.users-gear.users-line.users-rays.users-rectangle.users-slash.users-viewfinder.utensil-spoon.utensils.v.van-shuttle.vault.vcard.vector-square.venus.venus-double.venus-mars.vest.vest-patches.vial.vial-circle-check.vial-virus.vials.video.video-camera.video-slash.vihara.virus.virus-covid.virus-covid-slash.virus-slash.viruses.voicemail.volcano.volleyball.volleyball-ball.volume-control-phone.volume-down.volume-high.volume-low.volume-mute.volume-off.volume-times.volume-up.volume-xmark.vote-yea.vr-cardboard.w.walkie-talkie.walking.wallet.wand-magic.wand-magic-sparkles.wand-sparkles.warehouse.warning.water.water-ladder.wave-square.web-awesome.weight.weight-hanging.weight-scale.wheat-alt.wheat-awn.wheat-awn-circle-exclamation.wheelchair.wheelchair-alt.wheelchair-move.whiskey-glass.wifi.wifi-3.wifi-strong.wind.window-close.window-maximize.window-minimize.window-restore.wine-bottle.wine-glass.wine-glass-alt.wine-glass-empty.won.won-sign.worm.wrench.x.x-ray.xmark.xmark-circle.xmark-square.xmarks-lines.y.yen.yen-sign.yin-yang.z.zap".split("."), cr = { class: "justified" }, lr = /* @__PURE__ */ M({
|
|
1343
1354
|
__name: "IconCell",
|
|
1344
1355
|
props: {
|
|
1345
1356
|
modelValue: {},
|
|
@@ -1353,7 +1364,7 @@ var er = {
|
|
|
1353
1364
|
"reload"
|
|
1354
1365
|
],
|
|
1355
1366
|
setup(e, { emit: t }) {
|
|
1356
|
-
let n = W(e, "modelValue", t), r = I(
|
|
1367
|
+
let n = W(e, "modelValue", t), r = I(sr.map((e) => ({ value: e }))), i = (e, t) => {
|
|
1357
1368
|
t(e ? r.value.filter(a(e)) : r.value.slice(0, 100));
|
|
1358
1369
|
}, a = (e) => (t) => t.value.toLowerCase().indexOf(e.toLowerCase()) === 0;
|
|
1359
1370
|
return (t, r) => {
|
|
@@ -1366,7 +1377,7 @@ var er = {
|
|
|
1366
1377
|
"fetch-suggestions": i,
|
|
1367
1378
|
onChange: r[1] ||= (e) => V(n).value = e.value
|
|
1368
1379
|
}, Tt({
|
|
1369
|
-
default: U(({ item: e }) => [k("div",
|
|
1380
|
+
default: U(({ item: e }) => [k("div", cr, [k("span", null, B(e.value), 1), j(G, { icon: e.value }, null, 8, ["icon"])])]),
|
|
1370
1381
|
_: 2
|
|
1371
1382
|
}, [V(n) ? {
|
|
1372
1383
|
name: "prefix",
|
|
@@ -1375,7 +1386,7 @@ var er = {
|
|
|
1375
1386
|
} : void 0]), 1032, ["modelValue", "disabled"]);
|
|
1376
1387
|
};
|
|
1377
1388
|
}
|
|
1378
|
-
}),
|
|
1389
|
+
}), ur = /* @__PURE__ */ M({
|
|
1379
1390
|
__name: "MultiSetCell",
|
|
1380
1391
|
props: {
|
|
1381
1392
|
modelValue: {},
|
|
@@ -1415,7 +1426,7 @@ var er = {
|
|
|
1415
1426
|
}, 8, ["disabled", "modelValue"]);
|
|
1416
1427
|
};
|
|
1417
1428
|
}
|
|
1418
|
-
}),
|
|
1429
|
+
}), dr = /* @__PURE__ */ M({
|
|
1419
1430
|
__name: "SetCell",
|
|
1420
1431
|
props: {
|
|
1421
1432
|
modelValue: {},
|
|
@@ -1453,7 +1464,7 @@ var er = {
|
|
|
1453
1464
|
}, 8, ["disabled", "modelValue"]);
|
|
1454
1465
|
};
|
|
1455
1466
|
}
|
|
1456
|
-
}),
|
|
1467
|
+
}), fr = ",", pr = /* @__PURE__ */ M({
|
|
1457
1468
|
__name: "DateArrayCell",
|
|
1458
1469
|
props: {
|
|
1459
1470
|
modelValue: {},
|
|
@@ -1470,11 +1481,11 @@ var er = {
|
|
|
1470
1481
|
let n = e, r = W(n, "modelValue", t), i = I([]);
|
|
1471
1482
|
P(() => {
|
|
1472
1483
|
let e = String(r.value);
|
|
1473
|
-
i.value = e.split(
|
|
1484
|
+
i.value = e.split(fr);
|
|
1474
1485
|
});
|
|
1475
1486
|
function a(e) {
|
|
1476
1487
|
let t = new Set(Object.values(e));
|
|
1477
|
-
r.value = [...t].sort().join(
|
|
1488
|
+
r.value = [...t].sort().join(fr);
|
|
1478
1489
|
}
|
|
1479
1490
|
let o = [
|
|
1480
1491
|
"years",
|
|
@@ -1483,7 +1494,7 @@ var er = {
|
|
|
1483
1494
|
], s = T(() => {
|
|
1484
1495
|
let e = n.field.format?.frequency || "dates";
|
|
1485
1496
|
return o.includes(e) ? e : "dates";
|
|
1486
|
-
}), c = T(() =>
|
|
1497
|
+
}), c = T(() => Xn[s.value].value || "YYYY-MM-DD");
|
|
1487
1498
|
return (t, n) => {
|
|
1488
1499
|
let r = z("el-date-picker");
|
|
1489
1500
|
return F(), E(r, {
|
|
@@ -1506,7 +1517,7 @@ var er = {
|
|
|
1506
1517
|
]);
|
|
1507
1518
|
};
|
|
1508
1519
|
}
|
|
1509
|
-
}),
|
|
1520
|
+
}), mr = /* @__PURE__ */ M({
|
|
1510
1521
|
__name: "DateCell",
|
|
1511
1522
|
props: {
|
|
1512
1523
|
modelValue: {},
|
|
@@ -1535,7 +1546,7 @@ var er = {
|
|
|
1535
1546
|
default: return "date";
|
|
1536
1547
|
}
|
|
1537
1548
|
}), o = T(() => {
|
|
1538
|
-
let { value: e } =
|
|
1549
|
+
let { value: e } = Xn[a.value] || {};
|
|
1539
1550
|
return e || "YYYY-MM-DD";
|
|
1540
1551
|
});
|
|
1541
1552
|
return (t, n) => {
|
|
@@ -1558,7 +1569,7 @@ var er = {
|
|
|
1558
1569
|
]);
|
|
1559
1570
|
};
|
|
1560
1571
|
}
|
|
1561
|
-
}),
|
|
1572
|
+
}), hr = " ~ ", gr = /* @__PURE__ */ M({
|
|
1562
1573
|
__name: "DateRangeCell",
|
|
1563
1574
|
props: {
|
|
1564
1575
|
modelValue: {},
|
|
@@ -1574,11 +1585,11 @@ var er = {
|
|
|
1574
1585
|
setup(e, { emit: t }) {
|
|
1575
1586
|
let n = e, r = W(n, "modelValue", t), i = I([]);
|
|
1576
1587
|
function a(e) {
|
|
1577
|
-
r.value = i.value.join(
|
|
1588
|
+
r.value = i.value.join(hr);
|
|
1578
1589
|
}
|
|
1579
1590
|
P(() => {
|
|
1580
1591
|
let e = String(r.value);
|
|
1581
|
-
i.value = e.split(
|
|
1592
|
+
i.value = e.split(hr);
|
|
1582
1593
|
});
|
|
1583
1594
|
let o = [
|
|
1584
1595
|
"monthrange",
|
|
@@ -1587,7 +1598,7 @@ var er = {
|
|
|
1587
1598
|
], s = T(() => {
|
|
1588
1599
|
let e = n.field.format?.frequency || "daterange";
|
|
1589
1600
|
return o.includes(e) ? e : "daterange";
|
|
1590
|
-
}), c = T(() =>
|
|
1601
|
+
}), c = T(() => Xn[s.value].value || "YYYY-MM-DD");
|
|
1591
1602
|
return (t, n) => {
|
|
1592
1603
|
let r = z("el-date-picker"), o = z("el-space");
|
|
1593
1604
|
return F(), E(o, null, {
|
|
@@ -1617,12 +1628,12 @@ var er = {
|
|
|
1617
1628
|
});
|
|
1618
1629
|
//#endregion
|
|
1619
1630
|
//#region morghulis/components/cell/instances/date/methods.ts
|
|
1620
|
-
function
|
|
1631
|
+
function _r(e) {
|
|
1621
1632
|
return /^([0-9]|1\d|2[0-3]):[0-5]\d:[0-5]\d$/.test(e);
|
|
1622
1633
|
}
|
|
1623
1634
|
//#endregion
|
|
1624
1635
|
//#region morghulis/components/cell/instances/date/TimeCell.vue
|
|
1625
|
-
var
|
|
1636
|
+
var vr = /* @__PURE__ */ M({
|
|
1626
1637
|
__name: "TimeCell",
|
|
1627
1638
|
props: {
|
|
1628
1639
|
modelValue: {},
|
|
@@ -1638,7 +1649,7 @@ var _r = /* @__PURE__ */ M({
|
|
|
1638
1649
|
setup(e, { emit: t }) {
|
|
1639
1650
|
let n = W(e, "modelValue", t), r = I();
|
|
1640
1651
|
P(() => {
|
|
1641
|
-
|
|
1652
|
+
_r(String(n.value)) && (r.value = n.value);
|
|
1642
1653
|
});
|
|
1643
1654
|
function i(e) {
|
|
1644
1655
|
n.value = r.value;
|
|
@@ -1661,7 +1672,7 @@ var _r = /* @__PURE__ */ M({
|
|
|
1661
1672
|
]);
|
|
1662
1673
|
};
|
|
1663
1674
|
}
|
|
1664
|
-
}),
|
|
1675
|
+
}), yr = /* @__PURE__ */ M({
|
|
1665
1676
|
__name: "TimeRangeCell",
|
|
1666
1677
|
props: {
|
|
1667
1678
|
modelValue: {},
|
|
@@ -1678,7 +1689,7 @@ var _r = /* @__PURE__ */ M({
|
|
|
1678
1689
|
let n = W(e, "modelValue", t), r = I([]);
|
|
1679
1690
|
P(() => {
|
|
1680
1691
|
let e = String(n.value).split(" - ");
|
|
1681
|
-
e.length === 2 &&
|
|
1692
|
+
e.length === 2 && _r(e[0]) && _r(e[1]) && (r.value = e);
|
|
1682
1693
|
});
|
|
1683
1694
|
function i(e) {
|
|
1684
1695
|
n.value = r.value.join(" - ");
|
|
@@ -1709,7 +1720,7 @@ var _r = /* @__PURE__ */ M({
|
|
|
1709
1720
|
});
|
|
1710
1721
|
//#endregion
|
|
1711
1722
|
//#region morghulis/components/cell/instances/refer/hooks.ts
|
|
1712
|
-
function
|
|
1723
|
+
function br(e, t) {
|
|
1713
1724
|
let n = e.refer, r = {
|
|
1714
1725
|
entity: n.entity || "",
|
|
1715
1726
|
clearable: !e.not_null,
|
|
@@ -1722,7 +1733,7 @@ function yr(e, t) {
|
|
|
1722
1733
|
display: n.display || "id"
|
|
1723
1734
|
};
|
|
1724
1735
|
function a(e) {
|
|
1725
|
-
let { label: r } = n, i = e ? Object.fromEntries([[r, 1]]) : { sort: -1 }, a =
|
|
1736
|
+
let { label: r } = n, i = e ? Object.fromEntries([[r, 1]]) : { sort: -1 }, a = Hn(n.includes, t), o = Hn(n.excludes, t);
|
|
1726
1737
|
return e && (a[`${r}__icontains`] = e), {
|
|
1727
1738
|
includes: a,
|
|
1728
1739
|
excludes: o,
|
|
@@ -1771,10 +1782,10 @@ function yr(e, t) {
|
|
|
1771
1782
|
}
|
|
1772
1783
|
//#endregion
|
|
1773
1784
|
//#region morghulis/components/cell/instances/refer/AutoCell.vue?vue&type=script&setup=true&lang.ts
|
|
1774
|
-
var
|
|
1785
|
+
var xr = {
|
|
1775
1786
|
key: 0,
|
|
1776
1787
|
style: { "margin-bottom": "10px" }
|
|
1777
|
-
},
|
|
1788
|
+
}, Sr = { class: "justified" }, Cr = /* @__PURE__ */ M({
|
|
1778
1789
|
__name: "AutoCell",
|
|
1779
1790
|
props: {
|
|
1780
1791
|
modelValue: {},
|
|
@@ -1788,7 +1799,7 @@ var br = {
|
|
|
1788
1799
|
"reload"
|
|
1789
1800
|
],
|
|
1790
1801
|
setup(e, { emit: t }) {
|
|
1791
|
-
let n = e, r = W(n, "modelValue", t), { param: i, list: a, conditional: o } =
|
|
1802
|
+
let n = e, r = W(n, "modelValue", t), { param: i, list: a, conditional: o } = br(n.field, n.row), s = (e, t) => {
|
|
1792
1803
|
a(e).then((e) => t(e.map(({ label: e }) => ({
|
|
1793
1804
|
value: e,
|
|
1794
1805
|
label: e
|
|
@@ -1796,7 +1807,7 @@ var br = {
|
|
|
1796
1807
|
};
|
|
1797
1808
|
return (t, n) => {
|
|
1798
1809
|
let a = z("el-tooltip"), c = z("el-text"), l = z("el-autocomplete");
|
|
1799
|
-
return F(), O(w, null, [e.field.refer.entity ? D("", !0) : (F(), O("div",
|
|
1810
|
+
return F(), O(w, null, [e.field.refer.entity ? D("", !0) : (F(), O("div", xr, [j(G, {
|
|
1800
1811
|
icon: "unlink",
|
|
1801
1812
|
type: "danger"
|
|
1802
1813
|
}, {
|
|
@@ -1811,7 +1822,7 @@ var br = {
|
|
|
1811
1822
|
"hide-loading": "",
|
|
1812
1823
|
"popper-append-to-body": ""
|
|
1813
1824
|
}, Tt({
|
|
1814
|
-
default: U(({ item: e }) => [k("div",
|
|
1825
|
+
default: U(({ item: e }) => [k("div", Sr, [j(c, { size: "small" }, {
|
|
1815
1826
|
default: U(() => [A(B(e.label), 1)]),
|
|
1816
1827
|
_: 2
|
|
1817
1828
|
}, 1024), j(c, {
|
|
@@ -1833,7 +1844,7 @@ var br = {
|
|
|
1833
1844
|
} : void 0]), 1032, ["modelValue", "disabled"])], 64);
|
|
1834
1845
|
};
|
|
1835
1846
|
}
|
|
1836
|
-
}),
|
|
1847
|
+
}), wr = /* @__PURE__ */ M({
|
|
1837
1848
|
__name: "CascadeCell",
|
|
1838
1849
|
props: {
|
|
1839
1850
|
modelValue: {},
|
|
@@ -1847,7 +1858,7 @@ var br = {
|
|
|
1847
1858
|
"reload"
|
|
1848
1859
|
],
|
|
1849
1860
|
setup(e, { emit: t }) {
|
|
1850
|
-
let n = e, r = W(n, "modelValue", t), { loading: i, param: a, tree: o, conditional: s } =
|
|
1861
|
+
let n = e, r = W(n, "modelValue", t), { loading: i, param: a, tree: o, conditional: s } = br(n.field, n.row), c = {
|
|
1851
1862
|
emitPath: !1,
|
|
1852
1863
|
checkStrictly: a.strict,
|
|
1853
1864
|
multiple: a.multiple
|
|
@@ -1902,7 +1913,7 @@ var br = {
|
|
|
1902
1913
|
])])), [[u]]);
|
|
1903
1914
|
};
|
|
1904
1915
|
}
|
|
1905
|
-
}),
|
|
1916
|
+
}), Tr = /* @__PURE__ */ M({
|
|
1906
1917
|
__name: "SelectCell",
|
|
1907
1918
|
props: {
|
|
1908
1919
|
modelValue: {},
|
|
@@ -1916,7 +1927,7 @@ var br = {
|
|
|
1916
1927
|
"reload"
|
|
1917
1928
|
],
|
|
1918
1929
|
setup(e, { emit: t }) {
|
|
1919
|
-
let n = e, r = W(n, "modelValue", t), { loading: i, param: a, list: o, conditional: s } =
|
|
1930
|
+
let n = e, r = W(n, "modelValue", t), { loading: i, param: a, list: o, conditional: s } = br(n.field, n.row), c = I([]);
|
|
1920
1931
|
return P(async () => c.value = await o()), (t, n) => {
|
|
1921
1932
|
let o = z("el-tooltip"), l = z("el-select"), u = It("loading");
|
|
1922
1933
|
return Ut((F(), E(l, {
|
|
@@ -1956,7 +1967,7 @@ var br = {
|
|
|
1956
1967
|
])), [[u, V(i)]]);
|
|
1957
1968
|
};
|
|
1958
1969
|
}
|
|
1959
|
-
}),
|
|
1970
|
+
}), Er = { class: "full center" }, Dr = /* @__PURE__ */ M({
|
|
1960
1971
|
__name: "MTransferEditor",
|
|
1961
1972
|
props: {
|
|
1962
1973
|
modelValue: {},
|
|
@@ -1988,7 +1999,7 @@ var br = {
|
|
|
1988
1999
|
}
|
|
1989
2000
|
}), (e, t) => {
|
|
1990
2001
|
let n = z("el-transfer");
|
|
1991
|
-
return F(), O("div",
|
|
2002
|
+
return F(), O("div", Er, [j(n, {
|
|
1992
2003
|
modelValue: V(r),
|
|
1993
2004
|
"onUpdate:modelValue": t[0] ||= (e) => N(r) ? r.value = e : null,
|
|
1994
2005
|
data: a.value,
|
|
@@ -2001,7 +2012,7 @@ var br = {
|
|
|
2001
2012
|
}, 8, ["modelValue", "data"])]);
|
|
2002
2013
|
};
|
|
2003
2014
|
}
|
|
2004
|
-
}),
|
|
2015
|
+
}), Or = /* @__PURE__ */ M({
|
|
2005
2016
|
__name: "TransferCell",
|
|
2006
2017
|
props: {
|
|
2007
2018
|
modelValue: {},
|
|
@@ -2015,7 +2026,7 @@ var br = {
|
|
|
2015
2026
|
"reload"
|
|
2016
2027
|
],
|
|
2017
2028
|
setup(e, { emit: t }) {
|
|
2018
|
-
let n = I(), r = e, i = t, a = W(r, "modelValue", i), { param: o, list: s, conditional: c } =
|
|
2029
|
+
let n = I(), r = e, i = t, a = W(r, "modelValue", i), { param: o, list: s, conditional: c } = br(r.field, r.row), l = I([]);
|
|
2019
2030
|
return P(async () => l.value = await s()), (t, r) => {
|
|
2020
2031
|
let o = z("el-button");
|
|
2021
2032
|
return F(), O(w, null, [j(o, {
|
|
@@ -2036,7 +2047,7 @@ var br = {
|
|
|
2036
2047
|
width: 600,
|
|
2037
2048
|
confirm: () => i("confirm")
|
|
2038
2049
|
}, Tt({
|
|
2039
|
-
default: U(() => [j(
|
|
2050
|
+
default: U(() => [j(Dr, {
|
|
2040
2051
|
modelValue: V(a),
|
|
2041
2052
|
"onUpdate:modelValue": r[1] ||= (e) => N(a) ? a.value = e : null,
|
|
2042
2053
|
disabled: e.disabled,
|
|
@@ -2057,7 +2068,7 @@ var br = {
|
|
|
2057
2068
|
} : void 0]), 1032, ["confirm"])], 64);
|
|
2058
2069
|
};
|
|
2059
2070
|
}
|
|
2060
|
-
}),
|
|
2071
|
+
}), kr = /* @__PURE__ */ M({
|
|
2061
2072
|
__name: "TreeCell",
|
|
2062
2073
|
props: {
|
|
2063
2074
|
modelValue: {},
|
|
@@ -2071,7 +2082,7 @@ var br = {
|
|
|
2071
2082
|
"reload"
|
|
2072
2083
|
],
|
|
2073
2084
|
setup(e, { emit: t }) {
|
|
2074
|
-
let n = e, r = W(n, "modelValue", t), { loading: i, param: a, tree: o, conditional: s } =
|
|
2085
|
+
let n = e, r = W(n, "modelValue", t), { loading: i, param: a, tree: o, conditional: s } = br(n.field, n.row), c = I([]);
|
|
2075
2086
|
return P(async () => c.value = await o()), (t, n) => {
|
|
2076
2087
|
let o = z("el-tooltip"), l = z("el-tree-select"), u = It("loading");
|
|
2077
2088
|
return Ut((F(), E(l, {
|
|
@@ -2126,7 +2137,7 @@ var br = {
|
|
|
2126
2137
|
])), [[u, V(i)]]);
|
|
2127
2138
|
};
|
|
2128
2139
|
}
|
|
2129
|
-
}),
|
|
2140
|
+
}), Ar = /* @__PURE__ */ M({
|
|
2130
2141
|
__name: "BooleanCell",
|
|
2131
2142
|
props: {
|
|
2132
2143
|
modelValue: {},
|
|
@@ -2178,7 +2189,7 @@ var br = {
|
|
|
2178
2189
|
}, 8, ["modelValue", "disabled"]));
|
|
2179
2190
|
};
|
|
2180
2191
|
}
|
|
2181
|
-
}),
|
|
2192
|
+
}), jr = /*#__PURE__*/ wn(/* @__PURE__ */ M({
|
|
2182
2193
|
__name: "DefaultCell",
|
|
2183
2194
|
props: {
|
|
2184
2195
|
modelValue: {},
|
|
@@ -2206,7 +2217,7 @@ var br = {
|
|
|
2206
2217
|
_: 1
|
|
2207
2218
|
}));
|
|
2208
2219
|
}
|
|
2209
|
-
}), [["__scopeId", "data-v-ed36133d"]]),
|
|
2220
|
+
}), [["__scopeId", "data-v-ed36133d"]]), Mr = /* @__PURE__ */ M({
|
|
2210
2221
|
__name: "NumberCell",
|
|
2211
2222
|
props: {
|
|
2212
2223
|
modelValue: {},
|
|
@@ -2259,7 +2270,7 @@ var br = {
|
|
|
2259
2270
|
]);
|
|
2260
2271
|
};
|
|
2261
2272
|
}
|
|
2262
|
-
}),
|
|
2273
|
+
}), Nr = /* @__PURE__ */ M({
|
|
2263
2274
|
__name: "FileCell",
|
|
2264
2275
|
props: {
|
|
2265
2276
|
modelValue: {},
|
|
@@ -2273,7 +2284,7 @@ var br = {
|
|
|
2273
2284
|
"reload"
|
|
2274
2285
|
],
|
|
2275
2286
|
setup(e, { emit: t }) {
|
|
2276
|
-
let n = e, r = t, i = W(n, "modelValue", r), { $confirm: a, $message: o } = J(), s = T(() => i.value), { post: c } = X(), { minio_url: l } =
|
|
2287
|
+
let n = e, r = t, i = W(n, "modelValue", r), { $confirm: a, $message: o } = J(), s = T(() => i.value), { post: c } = X(), { minio_url: l } = Fa();
|
|
2277
2288
|
function u() {
|
|
2278
2289
|
let { format: { locked: e } } = n.field;
|
|
2279
2290
|
if (e) o.warning("抱歉,该文件不支持下载!请在线预览。");
|
|
@@ -2364,7 +2375,7 @@ var br = {
|
|
|
2364
2375
|
})], 64);
|
|
2365
2376
|
};
|
|
2366
2377
|
}
|
|
2367
|
-
}),
|
|
2378
|
+
}), Pr = /* @__PURE__ */ M({
|
|
2368
2379
|
__name: "MObjectEditor",
|
|
2369
2380
|
props: {
|
|
2370
2381
|
modelValue: {},
|
|
@@ -2392,7 +2403,7 @@ var br = {
|
|
|
2392
2403
|
});
|
|
2393
2404
|
};
|
|
2394
2405
|
}
|
|
2395
|
-
}),
|
|
2406
|
+
}), Fr = /* @__PURE__ */ M({
|
|
2396
2407
|
__name: "ObjectCell",
|
|
2397
2408
|
props: {
|
|
2398
2409
|
modelValue: {},
|
|
@@ -2429,7 +2440,7 @@ var br = {
|
|
|
2429
2440
|
title: "对象编辑器",
|
|
2430
2441
|
confirm: () => r("confirm")
|
|
2431
2442
|
}, {
|
|
2432
|
-
default: U(() => [j(
|
|
2443
|
+
default: U(() => [j(Pr, {
|
|
2433
2444
|
modelValue: V(i),
|
|
2434
2445
|
"onUpdate:modelValue": n[0] ||= (e) => N(i) ? i.value = e : null,
|
|
2435
2446
|
disabled: e.disabled
|
|
@@ -2438,7 +2449,7 @@ var br = {
|
|
|
2438
2449
|
}, 8, ["confirm"])], 64);
|
|
2439
2450
|
};
|
|
2440
2451
|
}
|
|
2441
|
-
}),
|
|
2452
|
+
}), Ir = /* @__PURE__ */ M({
|
|
2442
2453
|
__name: "MRichEditor",
|
|
2443
2454
|
props: {
|
|
2444
2455
|
modelValue: {},
|
|
@@ -2465,7 +2476,7 @@ var br = {
|
|
|
2465
2476
|
"read-only"
|
|
2466
2477
|
]));
|
|
2467
2478
|
}
|
|
2468
|
-
}),
|
|
2479
|
+
}), Lr = /* @__PURE__ */ M({
|
|
2469
2480
|
__name: "RichCell",
|
|
2470
2481
|
props: {
|
|
2471
2482
|
modelValue: {},
|
|
@@ -2503,7 +2514,7 @@ var br = {
|
|
|
2503
2514
|
width: "800",
|
|
2504
2515
|
confirm: () => r("confirm")
|
|
2505
2516
|
}, {
|
|
2506
|
-
default: U(() => [j(
|
|
2517
|
+
default: U(() => [j(Ir, {
|
|
2507
2518
|
modelValue: V(i),
|
|
2508
2519
|
"onUpdate:modelValue": n[0] ||= (e) => N(i) ? i.value = e : null,
|
|
2509
2520
|
disabled: e.disabled
|
|
@@ -2512,7 +2523,7 @@ var br = {
|
|
|
2512
2523
|
}, 8, ["confirm"])], 64);
|
|
2513
2524
|
};
|
|
2514
2525
|
}
|
|
2515
|
-
}),
|
|
2526
|
+
}), Rr = /* @__PURE__ */ M({
|
|
2516
2527
|
__name: "MCell",
|
|
2517
2528
|
props: {
|
|
2518
2529
|
modelValue: {},
|
|
@@ -2532,27 +2543,27 @@ var br = {
|
|
|
2532
2543
|
let { tool: e, format: t } = i.field;
|
|
2533
2544
|
switch (e) {
|
|
2534
2545
|
case "boolean":
|
|
2535
|
-
case "switch": return
|
|
2536
|
-
case "number": return
|
|
2546
|
+
case "switch": return Ar;
|
|
2547
|
+
case "number": return Mr;
|
|
2537
2548
|
case "text":
|
|
2538
|
-
case "textarea": return
|
|
2539
|
-
case "select": return
|
|
2540
|
-
case "tree": return
|
|
2541
|
-
case "cascade": return
|
|
2542
|
-
case "transfer": return
|
|
2543
|
-
case "rich": return
|
|
2544
|
-
case "object": return
|
|
2545
|
-
case "time": return
|
|
2546
|
-
case "date": return
|
|
2547
|
-
case "timerange": return
|
|
2548
|
-
case "daterange": return
|
|
2549
|
-
case "dates": return
|
|
2550
|
-
case "file": return
|
|
2551
|
-
case "set": return t.multiple ?
|
|
2552
|
-
case "color": return
|
|
2553
|
-
case "icon": return
|
|
2554
|
-
case "auto": return
|
|
2555
|
-
default: return
|
|
2549
|
+
case "textarea": return ir;
|
|
2550
|
+
case "select": return Tr;
|
|
2551
|
+
case "tree": return kr;
|
|
2552
|
+
case "cascade": return wr;
|
|
2553
|
+
case "transfer": return Or;
|
|
2554
|
+
case "rich": return Lr;
|
|
2555
|
+
case "object": return Fr;
|
|
2556
|
+
case "time": return vr;
|
|
2557
|
+
case "date": return mr;
|
|
2558
|
+
case "timerange": return yr;
|
|
2559
|
+
case "daterange": return gr;
|
|
2560
|
+
case "dates": return pr;
|
|
2561
|
+
case "file": return Nr;
|
|
2562
|
+
case "set": return t.multiple ? ur : dr;
|
|
2563
|
+
case "color": return or;
|
|
2564
|
+
case "icon": return lr;
|
|
2565
|
+
case "auto": return Cr;
|
|
2566
|
+
default: return jr;
|
|
2556
2567
|
}
|
|
2557
2568
|
});
|
|
2558
2569
|
return (t, n) => s.value ? (F(), E(Lt(s.value), {
|
|
@@ -2571,7 +2582,7 @@ var br = {
|
|
|
2571
2582
|
"disabled"
|
|
2572
2583
|
])) : D("", !0);
|
|
2573
2584
|
}
|
|
2574
|
-
}),
|
|
2585
|
+
}), zr = { class: "justified" }, Br = /* @__PURE__ */ M({
|
|
2575
2586
|
__name: "DTreeNodeEdit",
|
|
2576
2587
|
props: {
|
|
2577
2588
|
disable_table: { type: Boolean },
|
|
@@ -2607,7 +2618,7 @@ var br = {
|
|
|
2607
2618
|
let s = z("el-space"), c = z("el-col"), l = z("el-row");
|
|
2608
2619
|
return F(), E(l, null, {
|
|
2609
2620
|
default: U(() => [j(c, { class: "right" }, {
|
|
2610
|
-
default: U(() => [k("div",
|
|
2621
|
+
default: U(() => [k("div", zr, [j(s, { size: 0 }, {
|
|
2611
2622
|
default: U(() => [
|
|
2612
2623
|
(e.control.allow_edit || e.control.allow_insert) && e.collector.size ? (F(), E(K, {
|
|
2613
2624
|
key: 0,
|
|
@@ -2658,7 +2669,7 @@ var br = {
|
|
|
2658
2669
|
key: 0,
|
|
2659
2670
|
style: { "margin-top": "10px" }
|
|
2660
2671
|
}, {
|
|
2661
|
-
default: U(() => [j(
|
|
2672
|
+
default: U(() => [j(Rr, {
|
|
2662
2673
|
field: e.field,
|
|
2663
2674
|
row: a.value,
|
|
2664
2675
|
modelValue: a.value[e.field.prop],
|
|
@@ -2677,7 +2688,7 @@ var br = {
|
|
|
2677
2688
|
});
|
|
2678
2689
|
};
|
|
2679
2690
|
}
|
|
2680
|
-
}),
|
|
2691
|
+
}), Vr = /* @__PURE__ */ M({
|
|
2681
2692
|
__name: "DataWrapper",
|
|
2682
2693
|
props: {
|
|
2683
2694
|
loading: { type: Boolean },
|
|
@@ -2718,7 +2729,7 @@ var br = {
|
|
|
2718
2729
|
} : void 0]), 1536);
|
|
2719
2730
|
};
|
|
2720
2731
|
}
|
|
2721
|
-
}),
|
|
2732
|
+
}), Hr = /* @__PURE__ */ M({
|
|
2722
2733
|
__name: "DTreeController",
|
|
2723
2734
|
props: {
|
|
2724
2735
|
unrestricted: { type: Boolean },
|
|
@@ -2780,7 +2791,7 @@ var br = {
|
|
|
2780
2791
|
});
|
|
2781
2792
|
};
|
|
2782
2793
|
}
|
|
2783
|
-
}),
|
|
2794
|
+
}), Ur = /* @__PURE__ */ M({
|
|
2784
2795
|
__name: "PluginColumnContent",
|
|
2785
2796
|
props: {
|
|
2786
2797
|
data: {},
|
|
@@ -2800,7 +2811,7 @@ var br = {
|
|
|
2800
2811
|
invoke: n
|
|
2801
2812
|
}, null, 8, ["data", "param"]));
|
|
2802
2813
|
}
|
|
2803
|
-
}),
|
|
2814
|
+
}), Wr = /*#__PURE__*/ wn(/* @__PURE__ */ M({
|
|
2804
2815
|
__name: "PluginButtonContent",
|
|
2805
2816
|
props: {
|
|
2806
2817
|
buttons: {},
|
|
@@ -2812,7 +2823,7 @@ var br = {
|
|
|
2812
2823
|
setup(e, { emit: t }) {
|
|
2813
2824
|
let n = e, r = t, i = Vt("actionsRef"), { width: a } = Jt(i);
|
|
2814
2825
|
H(a, () => r("width", a.value + 15));
|
|
2815
|
-
let { buttons: o } =
|
|
2826
|
+
let { buttons: o } = Ya(T(() => n.buttons || []), T(() => n.code), T(() => n.data));
|
|
2816
2827
|
function s(e, t) {
|
|
2817
2828
|
e.preventDefault(), e.stopPropagation();
|
|
2818
2829
|
let { data: r, collector: i } = n;
|
|
@@ -2856,7 +2867,7 @@ var br = {
|
|
|
2856
2867
|
}), [["__scopeId", "data-v-08150db9"]]);
|
|
2857
2868
|
//#endregion
|
|
2858
2869
|
//#region morghulis/components/table/hooks/table-sort.ts
|
|
2859
|
-
function
|
|
2870
|
+
function Gr(e, t) {
|
|
2860
2871
|
let n = null;
|
|
2861
2872
|
function r() {
|
|
2862
2873
|
(e.value?.$el.querySelectorAll("tr.el-table__row")).forEach((e) => {
|
|
@@ -2891,7 +2902,7 @@ function Wr(e, t) {
|
|
|
2891
2902
|
}
|
|
2892
2903
|
//#endregion
|
|
2893
2904
|
//#region morghulis/components/table/tools/DTController.vue
|
|
2894
|
-
var
|
|
2905
|
+
var Kr = /* @__PURE__ */ M({
|
|
2895
2906
|
__name: "DTController",
|
|
2896
2907
|
props: {
|
|
2897
2908
|
meta: {},
|
|
@@ -2982,7 +2993,7 @@ var Gr = /* @__PURE__ */ M({
|
|
|
2982
2993
|
});
|
|
2983
2994
|
};
|
|
2984
2995
|
}
|
|
2985
|
-
}),
|
|
2996
|
+
}), qr = {
|
|
2986
2997
|
placement: "bottom-end",
|
|
2987
2998
|
popperClass: "m-table-tooltip",
|
|
2988
2999
|
enterable: !1,
|
|
@@ -2995,7 +3006,7 @@ var Gr = /* @__PURE__ */ M({
|
|
|
2995
3006
|
},
|
|
2996
3007
|
showAfter: 0,
|
|
2997
3008
|
showArrow: !0
|
|
2998
|
-
},
|
|
3009
|
+
}, Jr = /* @__PURE__ */ M({
|
|
2999
3010
|
__name: "DTIndex",
|
|
3000
3011
|
props: {
|
|
3001
3012
|
collector: {},
|
|
@@ -3043,7 +3054,7 @@ var Gr = /* @__PURE__ */ M({
|
|
|
3043
3054
|
});
|
|
3044
3055
|
};
|
|
3045
3056
|
}
|
|
3046
|
-
}),
|
|
3057
|
+
}), Yr = { class: "justified" }, Xr = /* @__PURE__ */ M({
|
|
3047
3058
|
__name: "DTHeader",
|
|
3048
3059
|
props: {
|
|
3049
3060
|
field: {},
|
|
@@ -3060,7 +3071,7 @@ var Gr = /* @__PURE__ */ M({
|
|
|
3060
3071
|
setup(e, { emit: t }) {
|
|
3061
3072
|
let n = t, r = e, i = T(() => {
|
|
3062
3073
|
let e = r.field.prop;
|
|
3063
|
-
return r.finder[e] ? "primary" :
|
|
3074
|
+
return r.finder[e] ? "primary" : Un(r.includes, e).length ? "warning" : "";
|
|
3064
3075
|
}), a = T(() => (r.orders || {})[r.field.prop]), o = T(() => a.value === 1 ? "sort-up" : a.value === -1 ? "sort-down" : "sort");
|
|
3065
3076
|
return (t, r) => {
|
|
3066
3077
|
let s = z("el-space"), c = z("el-divider");
|
|
@@ -3076,7 +3087,7 @@ var Gr = /* @__PURE__ */ M({
|
|
|
3076
3087
|
_: 1
|
|
3077
3088
|
}),
|
|
3078
3089
|
j(c),
|
|
3079
|
-
k("div",
|
|
3090
|
+
k("div", Yr, [k("div", null, [["object"].includes(e.field.tool) ? D("", !0) : (F(), E(K, {
|
|
3080
3091
|
key: 0,
|
|
3081
3092
|
size: "small",
|
|
3082
3093
|
icon: "search",
|
|
@@ -3099,7 +3110,7 @@ var Gr = /* @__PURE__ */ M({
|
|
|
3099
3110
|
], 64);
|
|
3100
3111
|
};
|
|
3101
3112
|
}
|
|
3102
|
-
}),
|
|
3113
|
+
}), Zr = { class: "justified" }, Qr = /* @__PURE__ */ M({
|
|
3103
3114
|
__name: "DTFooter",
|
|
3104
3115
|
props: {
|
|
3105
3116
|
size: {},
|
|
@@ -3121,7 +3132,7 @@ var Gr = /* @__PURE__ */ M({
|
|
|
3121
3132
|
}));
|
|
3122
3133
|
return (t, n) => {
|
|
3123
3134
|
let r = z("el-pagination"), s = z("el-text"), c = z("el-input-number"), l = z("el-space"), u = z("el-select");
|
|
3124
|
-
return F(), O("div",
|
|
3135
|
+
return F(), O("div", Zr, [e.size && e.total && e.width > 300 ? (F(), E(l, { key: 0 }, {
|
|
3125
3136
|
default: U(() => [e.width > 600 ? (F(), E(r, {
|
|
3126
3137
|
key: 0,
|
|
3127
3138
|
size: "small",
|
|
@@ -3190,13 +3201,13 @@ var Gr = /* @__PURE__ */ M({
|
|
|
3190
3201
|
})]);
|
|
3191
3202
|
};
|
|
3192
3203
|
}
|
|
3193
|
-
}),
|
|
3204
|
+
}), $r = {
|
|
3194
3205
|
key: 0,
|
|
3195
3206
|
class: "search-value"
|
|
3196
|
-
},
|
|
3207
|
+
}, ei = {
|
|
3197
3208
|
key: 1,
|
|
3198
3209
|
class: "search-value"
|
|
3199
|
-
},
|
|
3210
|
+
}, ti = { class: "search-confirm justified" }, ni = /*#__PURE__*/ wn(/* @__PURE__ */ M({
|
|
3200
3211
|
__name: "DTSearch",
|
|
3201
3212
|
props: {
|
|
3202
3213
|
field: {},
|
|
@@ -3235,13 +3246,13 @@ var Gr = /* @__PURE__ */ M({
|
|
|
3235
3246
|
if (t) {
|
|
3236
3247
|
let e = r.includes?.[t];
|
|
3237
3248
|
c.value = !0, f.value = !1;
|
|
3238
|
-
let { collation: n } =
|
|
3249
|
+
let { collation: n } = Vn(t);
|
|
3239
3250
|
p.value = n ?? "exact", o.value.value = e;
|
|
3240
3251
|
}
|
|
3241
3252
|
}
|
|
3242
3253
|
}
|
|
3243
3254
|
P(l);
|
|
3244
|
-
let u = T(() =>
|
|
3255
|
+
let u = T(() => Zn.multiple.includes(r.field.domain)), d = T(() => r.field.domain === "BooleanField"), f = I(!1), p = I(d.value ? "exact" : "contains"), m = T(() => [
|
|
3245
3256
|
{
|
|
3246
3257
|
label: "基础检索",
|
|
3247
3258
|
value: "basic",
|
|
@@ -3400,7 +3411,7 @@ var Gr = /* @__PURE__ */ M({
|
|
|
3400
3411
|
}, 8, ["title"])]),
|
|
3401
3412
|
_: 1
|
|
3402
3413
|
}),
|
|
3403
|
-
d.value ? (F(), O("div",
|
|
3414
|
+
d.value ? (F(), O("div", $r, [j(b, {
|
|
3404
3415
|
modelValue: o.value.value,
|
|
3405
3416
|
"onUpdate:modelValue": r[2] ||= (e) => o.value.value = e
|
|
3406
3417
|
}, {
|
|
@@ -3412,7 +3423,7 @@ var Gr = /* @__PURE__ */ M({
|
|
|
3412
3423
|
label: "否"
|
|
3413
3424
|
})]),
|
|
3414
3425
|
_: 1
|
|
3415
|
-
}, 8, ["modelValue"])])) : (F(), O("div",
|
|
3426
|
+
}, 8, ["modelValue"])])) : (F(), O("div", ei, [p.value === "isnull" ? (F(), E(b, {
|
|
3416
3427
|
key: 0,
|
|
3417
3428
|
disabled: c.value,
|
|
3418
3429
|
placement: "right-start",
|
|
@@ -3453,7 +3464,7 @@ var Gr = /* @__PURE__ */ M({
|
|
|
3453
3464
|
onFocus: r[8] ||= () => {},
|
|
3454
3465
|
placeholder: "检索值"
|
|
3455
3466
|
}, null, 8, ["modelValue", "disabled"]))])),
|
|
3456
|
-
k("div",
|
|
3467
|
+
k("div", ti, [k("div", null, [c.value ? (F(), E(G, {
|
|
3457
3468
|
key: 0,
|
|
3458
3469
|
icon: "lock",
|
|
3459
3470
|
class: "medium",
|
|
@@ -3492,7 +3503,7 @@ var Gr = /* @__PURE__ */ M({
|
|
|
3492
3503
|
], 64);
|
|
3493
3504
|
};
|
|
3494
3505
|
}
|
|
3495
|
-
}), [["__scopeId", "data-v-0618949d"]]),
|
|
3506
|
+
}), [["__scopeId", "data-v-0618949d"]]), ri = /* @__PURE__ */ M({
|
|
3496
3507
|
__name: "DTSaveHeader",
|
|
3497
3508
|
props: { data: {} },
|
|
3498
3509
|
setup(e) {
|
|
@@ -3522,7 +3533,7 @@ var Gr = /* @__PURE__ */ M({
|
|
|
3522
3533
|
});
|
|
3523
3534
|
};
|
|
3524
3535
|
}
|
|
3525
|
-
}),
|
|
3536
|
+
}), ii = /*#__PURE__*/ wn(/* @__PURE__ */ M({
|
|
3526
3537
|
__name: "MForm",
|
|
3527
3538
|
props: {
|
|
3528
3539
|
original: { default: {} },
|
|
@@ -3609,7 +3620,7 @@ var Gr = /* @__PURE__ */ M({
|
|
|
3609
3620
|
icon: "refresh"
|
|
3610
3621
|
}, null, 8, ["onClick"])) : D("", !0)
|
|
3611
3622
|
]),
|
|
3612
|
-
default: U(() => [j(
|
|
3623
|
+
default: U(() => [j(Rr, {
|
|
3613
3624
|
modelValue: a.value[t.prop],
|
|
3614
3625
|
"onUpdate:modelValue": (e) => a.value[t.prop] = e,
|
|
3615
3626
|
field: t,
|
|
@@ -3633,7 +3644,7 @@ var Gr = /* @__PURE__ */ M({
|
|
|
3633
3644
|
}, 8, ["model", "rules"]);
|
|
3634
3645
|
};
|
|
3635
3646
|
}
|
|
3636
|
-
}), [["__scopeId", "data-v-25b72fd8"]]),
|
|
3647
|
+
}), [["__scopeId", "data-v-25b72fd8"]]), ai = /* @__PURE__ */ M({
|
|
3637
3648
|
__name: "DTSave",
|
|
3638
3649
|
props: {
|
|
3639
3650
|
is_insert: { type: Boolean },
|
|
@@ -3674,7 +3685,7 @@ var Gr = /* @__PURE__ */ M({
|
|
|
3674
3685
|
}
|
|
3675
3686
|
return t({ saveData: c }), (t, n) => {
|
|
3676
3687
|
let s = z("el-text"), c = z("el-result");
|
|
3677
|
-
return a.value.length ? (F(), E(
|
|
3688
|
+
return a.value.length ? (F(), E(ii, {
|
|
3678
3689
|
key: 0,
|
|
3679
3690
|
ref_key: "formRef",
|
|
3680
3691
|
ref: r,
|
|
@@ -3702,7 +3713,7 @@ var Gr = /* @__PURE__ */ M({
|
|
|
3702
3713
|
});
|
|
3703
3714
|
//#endregion
|
|
3704
3715
|
//#region morghulis/library/use-pagination/index.ts
|
|
3705
|
-
function
|
|
3716
|
+
function oi(e, t = 10) {
|
|
3706
3717
|
let n = I({
|
|
3707
3718
|
size: t,
|
|
3708
3719
|
page: 1
|
|
@@ -3725,7 +3736,7 @@ function ai(e, t = 10) {
|
|
|
3725
3736
|
}
|
|
3726
3737
|
//#endregion
|
|
3727
3738
|
//#region morghulis/components/viewer/instances/MDataViewer.vue?vue&type=script&setup=true&lang.ts
|
|
3728
|
-
var
|
|
3739
|
+
var si = { class: "justified full" }, ci = /* @__PURE__ */ M({
|
|
3729
3740
|
__name: "MDataViewer",
|
|
3730
3741
|
props: { url: {} },
|
|
3731
3742
|
setup(e) {
|
|
@@ -3733,11 +3744,11 @@ var oi = { class: "justified full" }, si = /* @__PURE__ */ M({
|
|
|
3733
3744
|
if (!t.url) return "";
|
|
3734
3745
|
let e = t.url.lastIndexOf("/");
|
|
3735
3746
|
return t.url.substring(e + 1);
|
|
3736
|
-
}), { readBookFromURL: r, zip: i } =
|
|
3747
|
+
}), { readBookFromURL: r, zip: i } = Ga(), a = I({}), o = I(), s = I(!0), c = T(() => a.value[o.value]), l = T(() => {
|
|
3737
3748
|
if (!c.value) return [];
|
|
3738
3749
|
let e = c.value.columns || [], t = c.value.headers || [];
|
|
3739
3750
|
return s.value ? i(e, t) : i(e, e);
|
|
3740
|
-
}), { total: u, results: d, pager: f } =
|
|
3751
|
+
}), { total: u, results: d, pager: f } = oi(T(() => {
|
|
3741
3752
|
if (!c.value) return [];
|
|
3742
3753
|
let e = [...c.value.data], t = c.value.columns || [], n = c.value.headers || [];
|
|
3743
3754
|
return s.value || e.unshift(n), e.map((e) => i(t, e));
|
|
@@ -3750,8 +3761,8 @@ var oi = { class: "justified full" }, si = /* @__PURE__ */ M({
|
|
|
3750
3761
|
immediate: !0
|
|
3751
3762
|
}), (e, t) => {
|
|
3752
3763
|
let r = z("el-text"), i = z("el-option"), c = z("el-select"), p = z("el-divider"), m = z("el-checkbox"), h = z("el-space"), g = z("el-table-column"), _ = z("el-table"), v = z("el-pagination");
|
|
3753
|
-
return F(), E(
|
|
3754
|
-
header: U(() => [k("div",
|
|
3764
|
+
return F(), E(Vr, null, {
|
|
3765
|
+
header: U(() => [k("div", si, [j(r, {
|
|
3755
3766
|
size: "small",
|
|
3756
3767
|
truncated: "",
|
|
3757
3768
|
tag: "b"
|
|
@@ -3818,7 +3829,7 @@ var oi = { class: "justified full" }, si = /* @__PURE__ */ M({
|
|
|
3818
3829
|
});
|
|
3819
3830
|
};
|
|
3820
3831
|
}
|
|
3821
|
-
}),
|
|
3832
|
+
}), li = /* @__PURE__ */ M({
|
|
3822
3833
|
__name: "MImageViewer",
|
|
3823
3834
|
props: { url: {} },
|
|
3824
3835
|
setup(e) {
|
|
@@ -3836,7 +3847,7 @@ var oi = { class: "justified full" }, si = /* @__PURE__ */ M({
|
|
|
3836
3847
|
}, null, 8, ["src", "preview-src-list"]);
|
|
3837
3848
|
};
|
|
3838
3849
|
}
|
|
3839
|
-
}),
|
|
3850
|
+
}), ui = { class: "pager" }, di = /*#__PURE__*/ wn(/* @__PURE__ */ M({
|
|
3840
3851
|
__name: "MPdfViewer",
|
|
3841
3852
|
props: {
|
|
3842
3853
|
url: {},
|
|
@@ -3858,7 +3869,7 @@ var oi = { class: "justified full" }, si = /* @__PURE__ */ M({
|
|
|
3858
3869
|
offset: 0,
|
|
3859
3870
|
teleported: !1
|
|
3860
3871
|
}, {
|
|
3861
|
-
default: U(() => [k("div",
|
|
3872
|
+
default: U(() => [k("div", ui, [j(f, { size: "small" }, {
|
|
3862
3873
|
default: U(() => [j(u, {
|
|
3863
3874
|
type: "info",
|
|
3864
3875
|
tag: "b",
|
|
@@ -3897,7 +3908,7 @@ var oi = { class: "justified full" }, si = /* @__PURE__ */ M({
|
|
|
3897
3908
|
}, 8, ["content"])), [[h, n.value]])], 64);
|
|
3898
3909
|
};
|
|
3899
3910
|
}
|
|
3900
|
-
}), [["__scopeId", "data-v-0df3a547"]]),
|
|
3911
|
+
}), [["__scopeId", "data-v-0df3a547"]]), fi = /* @__PURE__ */ M({
|
|
3901
3912
|
__name: "MTxtView",
|
|
3902
3913
|
props: { url: {} },
|
|
3903
3914
|
setup(e) {
|
|
@@ -3921,15 +3932,15 @@ var oi = { class: "justified full" }, si = /* @__PURE__ */ M({
|
|
|
3921
3932
|
}, null, 8, ["modelValue"]);
|
|
3922
3933
|
};
|
|
3923
3934
|
}
|
|
3924
|
-
}),
|
|
3925
|
-
function
|
|
3935
|
+
}), pi = {};
|
|
3936
|
+
function mi(e, t) {
|
|
3926
3937
|
return " 不支持的文件格式 ";
|
|
3927
3938
|
}
|
|
3928
|
-
var
|
|
3939
|
+
var hi = /*#__PURE__*/ wn(pi, [["render", mi]]);
|
|
3929
3940
|
//#endregion
|
|
3930
3941
|
//#region morghulis/components/viewer/use-file.ts
|
|
3931
|
-
function
|
|
3932
|
-
let { minio_url: t } =
|
|
3942
|
+
function gi(e) {
|
|
3943
|
+
let { minio_url: t } = Fa(), n = T(() => e.value ? `${t.value}${e.value}` : ""), r = [
|
|
3933
3944
|
".pdf",
|
|
3934
3945
|
".jpg",
|
|
3935
3946
|
".gif",
|
|
@@ -3956,7 +3967,7 @@ function hi(e) {
|
|
|
3956
3967
|
}
|
|
3957
3968
|
//#endregion
|
|
3958
3969
|
//#region morghulis/components/viewer/MFileView.vue
|
|
3959
|
-
var
|
|
3970
|
+
var _i = /* @__PURE__ */ M({
|
|
3960
3971
|
__name: "MFileView",
|
|
3961
3972
|
props: {
|
|
3962
3973
|
path: {},
|
|
@@ -3964,18 +3975,18 @@ var gi = /* @__PURE__ */ M({
|
|
|
3964
3975
|
locked: { type: Boolean }
|
|
3965
3976
|
},
|
|
3966
3977
|
setup(e) {
|
|
3967
|
-
let t = e, { ext: n, name: r, url: i } =
|
|
3978
|
+
let t = e, { ext: n, name: r, url: i } = gi(T(() => t.path)), a = T(() => {
|
|
3968
3979
|
switch (n.value) {
|
|
3969
3980
|
case ".xlsx":
|
|
3970
3981
|
case ".xls":
|
|
3971
|
-
case ".csv": return
|
|
3982
|
+
case ".csv": return ci;
|
|
3972
3983
|
case ".jpg":
|
|
3973
3984
|
case ".gif":
|
|
3974
3985
|
case ".png":
|
|
3975
|
-
case ".jpeg": return
|
|
3976
|
-
case ".pdf": return
|
|
3977
|
-
case ".txt": return
|
|
3978
|
-
default: return
|
|
3986
|
+
case ".jpeg": return li;
|
|
3987
|
+
case ".pdf": return di;
|
|
3988
|
+
case ".txt": return fi;
|
|
3989
|
+
default: return hi;
|
|
3979
3990
|
}
|
|
3980
3991
|
});
|
|
3981
3992
|
return (e, t) => {
|
|
@@ -3998,16 +4009,16 @@ var gi = /* @__PURE__ */ M({
|
|
|
3998
4009
|
}));
|
|
3999
4010
|
};
|
|
4000
4011
|
}
|
|
4001
|
-
}),
|
|
4012
|
+
}), vi = {
|
|
4002
4013
|
class: "justified",
|
|
4003
4014
|
style: {
|
|
4004
4015
|
padding: "5px",
|
|
4005
4016
|
"text-align": "right"
|
|
4006
4017
|
}
|
|
4007
|
-
},
|
|
4018
|
+
}, yi = { style: {
|
|
4008
4019
|
"text-align": "center",
|
|
4009
4020
|
padding: "10px 0 5px 0"
|
|
4010
|
-
} },
|
|
4021
|
+
} }, bi = /* @__PURE__ */ M({
|
|
4011
4022
|
__name: "DTCellEditor",
|
|
4012
4023
|
props: { manager: {} },
|
|
4013
4024
|
emits: ["reload"],
|
|
@@ -4060,7 +4071,7 @@ var gi = /* @__PURE__ */ M({
|
|
|
4060
4071
|
ref_key: "dialogRef",
|
|
4061
4072
|
ref: a
|
|
4062
4073
|
}, {
|
|
4063
|
-
tool: U(({ data: { field: t, row: r } }) => [t.tool === "file" ? (F(), E(V(
|
|
4074
|
+
tool: U(({ data: { field: t, row: r } }) => [t.tool === "file" ? (F(), E(V(Nr), {
|
|
4064
4075
|
key: 0,
|
|
4065
4076
|
disabled: !t?.allow_edit,
|
|
4066
4077
|
field: t,
|
|
@@ -4084,7 +4095,7 @@ var gi = /* @__PURE__ */ M({
|
|
|
4084
4095
|
default: U(() => [...n[2] ||= [A("保存 ", -1)]]),
|
|
4085
4096
|
_: 1
|
|
4086
4097
|
}, 8, ["onClick"]))]),
|
|
4087
|
-
default: U(({ data: { field: { prop: e, tool: t, refer: n, allow_edit: r, format: { locked: i } }, row: a } }) => [t === "rich" ? (F(), E(
|
|
4098
|
+
default: U(({ data: { field: { prop: e, tool: t, refer: n, allow_edit: r, format: { locked: i } }, row: a } }) => [t === "rich" ? (F(), E(Ir, {
|
|
4088
4099
|
key: 0,
|
|
4089
4100
|
disabled: !r,
|
|
4090
4101
|
modelValue: o.value[e],
|
|
@@ -4093,7 +4104,7 @@ var gi = /* @__PURE__ */ M({
|
|
|
4093
4104
|
"disabled",
|
|
4094
4105
|
"modelValue",
|
|
4095
4106
|
"onUpdate:modelValue"
|
|
4096
|
-
])) : t === "object" ? (F(), E(
|
|
4107
|
+
])) : t === "object" ? (F(), E(Pr, {
|
|
4097
4108
|
key: 1,
|
|
4098
4109
|
disabled: !r,
|
|
4099
4110
|
modelValue: o.value[e],
|
|
@@ -4102,7 +4113,7 @@ var gi = /* @__PURE__ */ M({
|
|
|
4102
4113
|
"disabled",
|
|
4103
4114
|
"modelValue",
|
|
4104
4115
|
"onUpdate:modelValue"
|
|
4105
|
-
])) : t === "transfer" ? (F(), E(
|
|
4116
|
+
])) : t === "transfer" ? (F(), E(Dr, {
|
|
4106
4117
|
key: 2,
|
|
4107
4118
|
modelValue: o.value[e],
|
|
4108
4119
|
"onUpdate:modelValue": (t) => o.value[e] = t,
|
|
@@ -4113,18 +4124,18 @@ var gi = /* @__PURE__ */ M({
|
|
|
4113
4124
|
"onUpdate:modelValue",
|
|
4114
4125
|
"disabled",
|
|
4115
4126
|
"refer"
|
|
4116
|
-
])) : t === "file" ? (F(), E(
|
|
4127
|
+
])) : t === "file" ? (F(), E(_i, {
|
|
4117
4128
|
key: 3,
|
|
4118
4129
|
path: o.value[e],
|
|
4119
4130
|
locked: i
|
|
4120
4131
|
}, null, 8, ["path", "locked"])) : D("", !0)]),
|
|
4121
4132
|
_: 1
|
|
4122
|
-
}, 512), j(
|
|
4133
|
+
}, 512), j(rr, {
|
|
4123
4134
|
ref_key: "popoverRef",
|
|
4124
4135
|
ref: i,
|
|
4125
4136
|
width: "300px"
|
|
4126
4137
|
}, {
|
|
4127
|
-
default: U(({ data: { field: t, row: r } }) => [k("div",
|
|
4138
|
+
default: U(({ data: { field: t, row: r } }) => [k("div", vi, [j(K, {
|
|
4128
4139
|
icon: "cancel",
|
|
4129
4140
|
onClick: c
|
|
4130
4141
|
}, {
|
|
@@ -4141,7 +4152,7 @@ var gi = /* @__PURE__ */ M({
|
|
|
4141
4152
|
}, {
|
|
4142
4153
|
default: U(() => [...n[4] ||= [A("保存 ", -1)]]),
|
|
4143
4154
|
_: 1
|
|
4144
|
-
}, 8, ["onClick"]))]), k("div",
|
|
4155
|
+
}, 8, ["onClick"]))]), k("div", yi, [j(Rr, {
|
|
4145
4156
|
modelValue: o.value[t.prop],
|
|
4146
4157
|
"onUpdate:modelValue": (e) => o.value[t.prop] = e,
|
|
4147
4158
|
field: t,
|
|
@@ -4158,7 +4169,7 @@ var gi = /* @__PURE__ */ M({
|
|
|
4158
4169
|
_: 1
|
|
4159
4170
|
}, 512)], 64));
|
|
4160
4171
|
}
|
|
4161
|
-
}),
|
|
4172
|
+
}), xi = /* @__PURE__ */ M({
|
|
4162
4173
|
__name: "DTViews",
|
|
4163
4174
|
props: {
|
|
4164
4175
|
entity: {},
|
|
@@ -4187,10 +4198,10 @@ var gi = /* @__PURE__ */ M({
|
|
|
4187
4198
|
}, null, 8, ["options", "modelValue"]);
|
|
4188
4199
|
};
|
|
4189
4200
|
}
|
|
4190
|
-
}),
|
|
4201
|
+
}), Si = {
|
|
4191
4202
|
key: 2,
|
|
4192
4203
|
class: "small info"
|
|
4193
|
-
},
|
|
4204
|
+
}, Ci = /* @__PURE__ */ M({
|
|
4194
4205
|
__name: "DTCell",
|
|
4195
4206
|
props: {
|
|
4196
4207
|
field: {},
|
|
@@ -4268,11 +4279,11 @@ var gi = /* @__PURE__ */ M({
|
|
|
4268
4279
|
onClick: n[2] ||= (e) => a(e)
|
|
4269
4280
|
}, null, 8, ["icon", "type"]),
|
|
4270
4281
|
c.value ? D("", !0) : (F(), O(w, { key: 1 }, [A(B(u.value), 1)], 64)),
|
|
4271
|
-
e.field.unit ? (F(), O("span",
|
|
4282
|
+
e.field.unit ? (F(), O("span", Si, B(e.field.unit), 1)) : D("", !0)
|
|
4272
4283
|
], 64);
|
|
4273
4284
|
};
|
|
4274
4285
|
}
|
|
4275
|
-
}),
|
|
4286
|
+
}), wi = /* @__PURE__ */ M({
|
|
4276
4287
|
__name: "ViewCodePlugin",
|
|
4277
4288
|
props: {
|
|
4278
4289
|
data: {},
|
|
@@ -4295,7 +4306,7 @@ var gi = /* @__PURE__ */ M({
|
|
|
4295
4306
|
onClick: t[0] ||= (e) => n(e)
|
|
4296
4307
|
}, null, 8, ["icon", "type"]));
|
|
4297
4308
|
}
|
|
4298
|
-
}),
|
|
4309
|
+
}), Ti = /* @__PURE__ */ M({
|
|
4299
4310
|
__name: "MetaSelect",
|
|
4300
4311
|
props: {
|
|
4301
4312
|
modelValue: {},
|
|
@@ -4363,7 +4374,7 @@ var gi = /* @__PURE__ */ M({
|
|
|
4363
4374
|
]);
|
|
4364
4375
|
};
|
|
4365
4376
|
}
|
|
4366
|
-
}),
|
|
4377
|
+
}), Ei = /* @__PURE__ */ M({
|
|
4367
4378
|
__name: "MetaNameInput",
|
|
4368
4379
|
props: { entity: {} },
|
|
4369
4380
|
setup(e) {
|
|
@@ -4405,7 +4416,7 @@ var gi = /* @__PURE__ */ M({
|
|
|
4405
4416
|
}, 8, ["modelValue"])) : D("", !0);
|
|
4406
4417
|
};
|
|
4407
4418
|
}
|
|
4408
|
-
}),
|
|
4419
|
+
}), Di = /* @__PURE__ */ M({
|
|
4409
4420
|
__name: "MetaViewList",
|
|
4410
4421
|
props: {
|
|
4411
4422
|
entity: {},
|
|
@@ -4443,7 +4454,7 @@ var gi = /* @__PURE__ */ M({
|
|
|
4443
4454
|
label: "当前",
|
|
4444
4455
|
width: 50,
|
|
4445
4456
|
fixed: "left",
|
|
4446
|
-
component:
|
|
4457
|
+
component: wi,
|
|
4447
4458
|
param: i,
|
|
4448
4459
|
callback(e) {
|
|
4449
4460
|
i.value.code = e;
|
|
@@ -4479,7 +4490,7 @@ var gi = /* @__PURE__ */ M({
|
|
|
4479
4490
|
];
|
|
4480
4491
|
return (t, n) => {
|
|
4481
4492
|
let l = z("el-switch");
|
|
4482
|
-
return F(), O(w, null, [j(
|
|
4493
|
+
return F(), O(w, null, [j(da, {
|
|
4483
4494
|
ref_key: "tableRef",
|
|
4484
4495
|
ref: u,
|
|
4485
4496
|
entity: "valar.MetaView",
|
|
@@ -4489,12 +4500,12 @@ var gi = /* @__PURE__ */ M({
|
|
|
4489
4500
|
buttons: p
|
|
4490
4501
|
}, {
|
|
4491
4502
|
default: U(() => [
|
|
4492
|
-
j(
|
|
4503
|
+
j(Ti, {
|
|
4493
4504
|
modelValue: i.value,
|
|
4494
4505
|
"onUpdate:modelValue": n[0] ||= (e) => i.value = e,
|
|
4495
4506
|
onChange: a
|
|
4496
4507
|
}, null, 8, ["modelValue"]),
|
|
4497
|
-
j(
|
|
4508
|
+
j(Ei, { entity: i.value.entity }, null, 8, ["entity"]),
|
|
4498
4509
|
e.locked ? D("", !0) : (F(), E(K, {
|
|
4499
4510
|
key: 0,
|
|
4500
4511
|
onClick: c,
|
|
@@ -4529,11 +4540,11 @@ var gi = /* @__PURE__ */ M({
|
|
|
4529
4540
|
"active-text": "树形",
|
|
4530
4541
|
"inactive-text": "表格"
|
|
4531
4542
|
}, null, 8, ["modelValue", "onUpdate:modelValue"])) : D("", !0)]),
|
|
4532
|
-
default: U(({ data: { is_tree: e, code: t, entity: n } }) => [e ? (F(), E(
|
|
4543
|
+
default: U(({ data: { is_tree: e, code: t, entity: n } }) => [e ? (F(), E(ga, {
|
|
4533
4544
|
key: 0,
|
|
4534
4545
|
entity: n,
|
|
4535
4546
|
code: t
|
|
4536
|
-
}, null, 8, ["entity", "code"])) : (F(), E(
|
|
4547
|
+
}, null, 8, ["entity", "code"])) : (F(), E(da, {
|
|
4537
4548
|
key: 1,
|
|
4538
4549
|
entity: n,
|
|
4539
4550
|
code: t
|
|
@@ -4542,7 +4553,7 @@ var gi = /* @__PURE__ */ M({
|
|
|
4542
4553
|
}, 512)], 64);
|
|
4543
4554
|
};
|
|
4544
4555
|
}
|
|
4545
|
-
}),
|
|
4556
|
+
}), Oi = /* @__PURE__ */ M({
|
|
4546
4557
|
__name: "CustomFields",
|
|
4547
4558
|
props: {
|
|
4548
4559
|
options: {},
|
|
@@ -4603,7 +4614,7 @@ var gi = /* @__PURE__ */ M({
|
|
|
4603
4614
|
}, 8, ["modelValue"]);
|
|
4604
4615
|
};
|
|
4605
4616
|
}
|
|
4606
|
-
}),
|
|
4617
|
+
}), ki = /* @__PURE__ */ M({
|
|
4607
4618
|
__name: "ReferPlugin",
|
|
4608
4619
|
props: {
|
|
4609
4620
|
data: {},
|
|
@@ -4614,7 +4625,7 @@ var gi = /* @__PURE__ */ M({
|
|
|
4614
4625
|
let t = e, n = T(() => t.data?.refer.entity), r = T(() => {
|
|
4615
4626
|
if (!t.data) return !0;
|
|
4616
4627
|
let { tool: e, domain: n } = t.data;
|
|
4617
|
-
return !e || !n ? !0 :
|
|
4628
|
+
return !e || !n ? !0 : Zn.referred.includes(n) ? !1 : n !== "CharField" || ![
|
|
4618
4629
|
"select",
|
|
4619
4630
|
"cascade",
|
|
4620
4631
|
"tree",
|
|
@@ -4639,7 +4650,7 @@ var gi = /* @__PURE__ */ M({
|
|
|
4639
4650
|
"type"
|
|
4640
4651
|
]));
|
|
4641
4652
|
}
|
|
4642
|
-
}),
|
|
4653
|
+
}), Ai = /* @__PURE__ */ M({
|
|
4643
4654
|
__name: "ReferOption",
|
|
4644
4655
|
props: {
|
|
4645
4656
|
refer: {},
|
|
@@ -4649,7 +4660,7 @@ var gi = /* @__PURE__ */ M({
|
|
|
4649
4660
|
setup(e, { emit: t }) {
|
|
4650
4661
|
let n = e, r = W(n, "refer", t);
|
|
4651
4662
|
function i(e) {
|
|
4652
|
-
return !r.value.entity ||
|
|
4663
|
+
return !r.value.entity || Zn.referred.includes(n.domain) && e === "value";
|
|
4653
4664
|
}
|
|
4654
4665
|
let a = {
|
|
4655
4666
|
value: "取值字段",
|
|
@@ -4667,7 +4678,7 @@ var gi = /* @__PURE__ */ M({
|
|
|
4667
4678
|
r && (console.error("加载字段选项失败", e), c.error("字段选项加载失败,请重新选择元数据"));
|
|
4668
4679
|
}
|
|
4669
4680
|
}, { immediate: !0 });
|
|
4670
|
-
let u = T(() => l.value ? Object.values(l.value.model).filter(({ domain: e }) => !
|
|
4681
|
+
let u = T(() => l.value ? Object.values(l.value.model).filter(({ domain: e }) => !Zn.referred.includes(e || "")).map(({ prop: e, label: t }) => ({
|
|
4671
4682
|
value: e,
|
|
4672
4683
|
label: t,
|
|
4673
4684
|
display: e
|
|
@@ -4701,7 +4712,7 @@ var gi = /* @__PURE__ */ M({
|
|
|
4701
4712
|
}, 1024)), 64);
|
|
4702
4713
|
};
|
|
4703
4714
|
}
|
|
4704
|
-
}),
|
|
4715
|
+
}), ji = /* @__PURE__ */ M({
|
|
4705
4716
|
__name: "TreeRootSelection",
|
|
4706
4717
|
props: {
|
|
4707
4718
|
modelValue: {},
|
|
@@ -4758,7 +4769,7 @@ var gi = /* @__PURE__ */ M({
|
|
|
4758
4769
|
]);
|
|
4759
4770
|
};
|
|
4760
4771
|
}
|
|
4761
|
-
}),
|
|
4772
|
+
}), Mi = /* @__PURE__ */ M({
|
|
4762
4773
|
__name: "ReferEditor",
|
|
4763
4774
|
props: {
|
|
4764
4775
|
refer: {},
|
|
@@ -4780,7 +4791,7 @@ var gi = /* @__PURE__ */ M({
|
|
|
4780
4791
|
label: "元数据",
|
|
4781
4792
|
"label-position": "top"
|
|
4782
4793
|
}, {
|
|
4783
|
-
default: U(() => [j(
|
|
4794
|
+
default: U(() => [j(Ti, {
|
|
4784
4795
|
modelValue: V(r),
|
|
4785
4796
|
"onUpdate:modelValue": n[0] ||= (e) => N(r) ? r.value = e : null,
|
|
4786
4797
|
disabled: e.domain !== "CharField"
|
|
@@ -4808,7 +4819,7 @@ var gi = /* @__PURE__ */ M({
|
|
|
4808
4819
|
})]),
|
|
4809
4820
|
_: 1
|
|
4810
4821
|
}),
|
|
4811
|
-
j(
|
|
4822
|
+
j(Ai, {
|
|
4812
4823
|
refer: V(r),
|
|
4813
4824
|
"onUpdate:refer": n[2] ||= (e) => N(r) ? r.value = e : null,
|
|
4814
4825
|
domain: e.domain
|
|
@@ -4818,7 +4829,7 @@ var gi = /* @__PURE__ */ M({
|
|
|
4818
4829
|
label: "检索条件(包含)",
|
|
4819
4830
|
"label-position": "top"
|
|
4820
4831
|
}, {
|
|
4821
|
-
default: U(() => [j(
|
|
4832
|
+
default: U(() => [j(Pr, {
|
|
4822
4833
|
modelValue: V(r).includes,
|
|
4823
4834
|
"onUpdate:modelValue": n[3] ||= (e) => V(r).includes = e,
|
|
4824
4835
|
disabled: !V(r).entity
|
|
@@ -4832,7 +4843,7 @@ var gi = /* @__PURE__ */ M({
|
|
|
4832
4843
|
label: "检索条件(排除)",
|
|
4833
4844
|
"label-position": "top"
|
|
4834
4845
|
}, {
|
|
4835
|
-
default: U(() => [j(
|
|
4846
|
+
default: U(() => [j(Pr, {
|
|
4836
4847
|
modelValue: V(r).excludes,
|
|
4837
4848
|
"onUpdate:modelValue": n[4] ||= (e) => V(r).excludes = e,
|
|
4838
4849
|
disabled: !V(r).entity
|
|
@@ -4849,7 +4860,7 @@ var gi = /* @__PURE__ */ M({
|
|
|
4849
4860
|
label: "跟节点",
|
|
4850
4861
|
"label-position": "top"
|
|
4851
4862
|
}, {
|
|
4852
|
-
default: U(() => [j(
|
|
4863
|
+
default: U(() => [j(ji, {
|
|
4853
4864
|
modelValue: V(r).root,
|
|
4854
4865
|
"onUpdate:modelValue": n[5] ||= (e) => V(r).root = e,
|
|
4855
4866
|
entity: V(r).entity,
|
|
@@ -4890,7 +4901,7 @@ var gi = /* @__PURE__ */ M({
|
|
|
4890
4901
|
});
|
|
4891
4902
|
};
|
|
4892
4903
|
}
|
|
4893
|
-
}),
|
|
4904
|
+
}), Ni = /* @__PURE__ */ M({
|
|
4894
4905
|
__name: "ReferDialog",
|
|
4895
4906
|
props: { save: { type: Function } },
|
|
4896
4907
|
setup(e, { expose: t }) {
|
|
@@ -4912,7 +4923,7 @@ var gi = /* @__PURE__ */ M({
|
|
|
4912
4923
|
confirm: a,
|
|
4913
4924
|
width: "600"
|
|
4914
4925
|
}, {
|
|
4915
|
-
default: U(({ data: e }) => [j(
|
|
4926
|
+
default: U(({ data: e }) => [j(Mi, {
|
|
4916
4927
|
refer: e.refer,
|
|
4917
4928
|
"onUpdate:refer": (t) => e.refer = t,
|
|
4918
4929
|
domain: e.domain,
|
|
@@ -4926,7 +4937,7 @@ var gi = /* @__PURE__ */ M({
|
|
|
4926
4937
|
_: 1
|
|
4927
4938
|
}, 512));
|
|
4928
4939
|
}
|
|
4929
|
-
}),
|
|
4940
|
+
}), Pi = /* @__PURE__ */ M({
|
|
4930
4941
|
__name: "DateFormats",
|
|
4931
4942
|
props: {
|
|
4932
4943
|
modelValue: {},
|
|
@@ -4957,7 +4968,7 @@ var gi = /* @__PURE__ */ M({
|
|
|
4957
4968
|
];
|
|
4958
4969
|
default: return ["date"];
|
|
4959
4970
|
}
|
|
4960
|
-
}), a = T(() => Object.entries(
|
|
4971
|
+
}), a = T(() => Object.entries(Xn).filter(([e, t]) => i.value.includes(e)).map(([e, t]) => ({
|
|
4961
4972
|
label: t.label,
|
|
4962
4973
|
value: e
|
|
4963
4974
|
})));
|
|
@@ -4981,7 +4992,7 @@ var gi = /* @__PURE__ */ M({
|
|
|
4981
4992
|
});
|
|
4982
4993
|
};
|
|
4983
4994
|
}
|
|
4984
|
-
}),
|
|
4995
|
+
}), Fi = /* @__PURE__ */ M({
|
|
4985
4996
|
__name: "FileFormats",
|
|
4986
4997
|
props: {
|
|
4987
4998
|
modelValue: {},
|
|
@@ -4995,7 +5006,7 @@ var gi = /* @__PURE__ */ M({
|
|
|
4995
5006
|
".gif",
|
|
4996
5007
|
".png",
|
|
4997
5008
|
".jpeg"
|
|
4998
|
-
] :
|
|
5009
|
+
] : Yn);
|
|
4999
5010
|
return (t, n) => {
|
|
5000
5011
|
let a = z("el-input-number"), o = z("el-form-item"), s = z("el-col"), c = z("el-checkbox"), l = z("el-option"), u = z("el-select"), d = z("el-row"), f = z("el-form");
|
|
5001
5012
|
return F(), E(f, { "label-position": "top" }, {
|
|
@@ -5106,7 +5117,7 @@ var gi = /* @__PURE__ */ M({
|
|
|
5106
5117
|
});
|
|
5107
5118
|
};
|
|
5108
5119
|
}
|
|
5109
|
-
}),
|
|
5120
|
+
}), Ii = /* @__PURE__ */ M({
|
|
5110
5121
|
__name: "NumberFormats",
|
|
5111
5122
|
props: {
|
|
5112
5123
|
modelValue: {},
|
|
@@ -5220,7 +5231,7 @@ var gi = /* @__PURE__ */ M({
|
|
|
5220
5231
|
});
|
|
5221
5232
|
};
|
|
5222
5233
|
}
|
|
5223
|
-
}),
|
|
5234
|
+
}), Li = /* @__PURE__ */ M({
|
|
5224
5235
|
__name: "MappingEditor",
|
|
5225
5236
|
props: { modelValue: {} },
|
|
5226
5237
|
emits: ["update:modelValue"],
|
|
@@ -5301,7 +5312,7 @@ var gi = /* @__PURE__ */ M({
|
|
|
5301
5312
|
}, 8, ["data"]);
|
|
5302
5313
|
};
|
|
5303
5314
|
}
|
|
5304
|
-
}),
|
|
5315
|
+
}), Ri = /* @__PURE__ */ M({
|
|
5305
5316
|
__name: "SetFormats",
|
|
5306
5317
|
props: {
|
|
5307
5318
|
modelValue: {},
|
|
@@ -5311,12 +5322,12 @@ var gi = /* @__PURE__ */ M({
|
|
|
5311
5322
|
emits: ["update:modelValue"],
|
|
5312
5323
|
setup(e, { emit: t }) {
|
|
5313
5324
|
let n = W(e, "modelValue", t);
|
|
5314
|
-
return (e, t) => (F(), E(
|
|
5325
|
+
return (e, t) => (F(), E(Li, {
|
|
5315
5326
|
modelValue: V(n).set,
|
|
5316
5327
|
"onUpdate:modelValue": t[0] ||= (e) => V(n).set = e
|
|
5317
5328
|
}, null, 8, ["modelValue"]));
|
|
5318
5329
|
}
|
|
5319
|
-
}),
|
|
5330
|
+
}), zi = /* @__PURE__ */ M({
|
|
5320
5331
|
__name: "TextFormats",
|
|
5321
5332
|
props: {
|
|
5322
5333
|
modelValue: {},
|
|
@@ -5369,7 +5380,7 @@ var gi = /* @__PURE__ */ M({
|
|
|
5369
5380
|
});
|
|
5370
5381
|
};
|
|
5371
5382
|
}
|
|
5372
|
-
}),
|
|
5383
|
+
}), Bi = /* @__PURE__ */ M({
|
|
5373
5384
|
__name: "FormatEditor",
|
|
5374
5385
|
props: {
|
|
5375
5386
|
format: {},
|
|
@@ -5381,15 +5392,15 @@ var gi = /* @__PURE__ */ M({
|
|
|
5381
5392
|
let n = e, r = W(n, "format", t), i = T(() => {
|
|
5382
5393
|
switch (n.tool) {
|
|
5383
5394
|
case "text":
|
|
5384
|
-
case "textarea": return
|
|
5385
|
-
case "set": return
|
|
5386
|
-
case "number": return
|
|
5395
|
+
case "textarea": return zi;
|
|
5396
|
+
case "set": return Ri;
|
|
5397
|
+
case "number": return Ii;
|
|
5387
5398
|
case "date":
|
|
5388
5399
|
case "daterange":
|
|
5389
|
-
case "dates": return
|
|
5400
|
+
case "dates": return Pi;
|
|
5390
5401
|
case "rich":
|
|
5391
5402
|
case "image":
|
|
5392
|
-
case "file": return
|
|
5403
|
+
case "file": return Fi;
|
|
5393
5404
|
}
|
|
5394
5405
|
});
|
|
5395
5406
|
return (t, n) => i.value ? (F(), E(Lt(i.value), {
|
|
@@ -5405,7 +5416,7 @@ var gi = /* @__PURE__ */ M({
|
|
|
5405
5416
|
"modelValue"
|
|
5406
5417
|
])) : D("", !0);
|
|
5407
5418
|
}
|
|
5408
|
-
}),
|
|
5419
|
+
}), Vi = /* @__PURE__ */ M({
|
|
5409
5420
|
__name: "FormatDialog",
|
|
5410
5421
|
props: { save: { type: Function } },
|
|
5411
5422
|
setup(e, { expose: t }) {
|
|
@@ -5426,7 +5437,7 @@ var gi = /* @__PURE__ */ M({
|
|
|
5426
5437
|
title: "格式设置",
|
|
5427
5438
|
confirm: a
|
|
5428
5439
|
}, {
|
|
5429
|
-
default: U(({ data: e }) => [j(
|
|
5440
|
+
default: U(({ data: e }) => [j(Bi, {
|
|
5430
5441
|
format: e.format,
|
|
5431
5442
|
"onUpdate:format": (t) => e.format = t,
|
|
5432
5443
|
tool: e.tool,
|
|
@@ -5440,7 +5451,7 @@ var gi = /* @__PURE__ */ M({
|
|
|
5440
5451
|
_: 1
|
|
5441
5452
|
}, 512));
|
|
5442
5453
|
}
|
|
5443
|
-
}),
|
|
5454
|
+
}), Hi = /* @__PURE__ */ M({
|
|
5444
5455
|
__name: "FormatPlugin",
|
|
5445
5456
|
props: {
|
|
5446
5457
|
data: {},
|
|
@@ -5483,7 +5494,7 @@ var gi = /* @__PURE__ */ M({
|
|
|
5483
5494
|
"type"
|
|
5484
5495
|
]));
|
|
5485
5496
|
}
|
|
5486
|
-
}),
|
|
5497
|
+
}), Ui = /* @__PURE__ */ M({
|
|
5487
5498
|
__name: "MetaFieldList",
|
|
5488
5499
|
props: {
|
|
5489
5500
|
entity: {},
|
|
@@ -5497,14 +5508,14 @@ var gi = /* @__PURE__ */ M({
|
|
|
5497
5508
|
P(u);
|
|
5498
5509
|
let d = T(() => ({ view_id: l.value?.view_id || 0 })), f = [{
|
|
5499
5510
|
label: "索引设置",
|
|
5500
|
-
component:
|
|
5511
|
+
component: ki,
|
|
5501
5512
|
callback: (e) => {
|
|
5502
5513
|
s.value?.open(e);
|
|
5503
5514
|
},
|
|
5504
5515
|
width: 100
|
|
5505
5516
|
}, {
|
|
5506
5517
|
label: "格式设置",
|
|
5507
|
-
component:
|
|
5518
|
+
component: Hi,
|
|
5508
5519
|
callback: (e) => o.value?.open(e),
|
|
5509
5520
|
width: 100
|
|
5510
5521
|
}];
|
|
@@ -5558,7 +5569,7 @@ var gi = /* @__PURE__ */ M({
|
|
|
5558
5569
|
return (e, t) => {
|
|
5559
5570
|
let c = z("el-select");
|
|
5560
5571
|
return F(), O(w, null, [
|
|
5561
|
-
j(
|
|
5572
|
+
j(da, {
|
|
5562
5573
|
ref_key: "tableRef",
|
|
5563
5574
|
ref: i,
|
|
5564
5575
|
unrestricted: "",
|
|
@@ -5619,7 +5630,7 @@ var gi = /* @__PURE__ */ M({
|
|
|
5619
5630
|
title: "自定义字段",
|
|
5620
5631
|
confirm: _
|
|
5621
5632
|
}, {
|
|
5622
|
-
default: U(({ data: { options: e, entity: t, view_id: n } }) => [j(
|
|
5633
|
+
default: U(({ data: { options: e, entity: t, view_id: n } }) => [j(Oi, {
|
|
5623
5634
|
ref_key: "customSelectRef",
|
|
5624
5635
|
ref: a,
|
|
5625
5636
|
options: e,
|
|
@@ -5632,12 +5643,12 @@ var gi = /* @__PURE__ */ M({
|
|
|
5632
5643
|
])]),
|
|
5633
5644
|
_: 1
|
|
5634
5645
|
}, 512),
|
|
5635
|
-
j(
|
|
5646
|
+
j(Ni, {
|
|
5636
5647
|
ref_key: "referDialog",
|
|
5637
5648
|
ref: s,
|
|
5638
5649
|
save: p
|
|
5639
5650
|
}, null, 512),
|
|
5640
|
-
j(
|
|
5651
|
+
j(Vi, {
|
|
5641
5652
|
ref_key: "formatDialog",
|
|
5642
5653
|
ref: o,
|
|
5643
5654
|
save: p
|
|
@@ -5645,7 +5656,7 @@ var gi = /* @__PURE__ */ M({
|
|
|
5645
5656
|
], 64);
|
|
5646
5657
|
};
|
|
5647
5658
|
}
|
|
5648
|
-
}),
|
|
5659
|
+
}), Wi = /* @__PURE__ */ M({
|
|
5649
5660
|
__name: "MetaViewForm",
|
|
5650
5661
|
props: {
|
|
5651
5662
|
entity: {},
|
|
@@ -5677,7 +5688,7 @@ var gi = /* @__PURE__ */ M({
|
|
|
5677
5688
|
}
|
|
5678
5689
|
return t({ save: l }), (e, t) => {
|
|
5679
5690
|
let n = It("loading");
|
|
5680
|
-
return Ut((F(), E(
|
|
5691
|
+
return Ut((F(), E(ii, {
|
|
5681
5692
|
ref_key: "formRef",
|
|
5682
5693
|
ref: r,
|
|
5683
5694
|
original: s.value,
|
|
@@ -5691,7 +5702,7 @@ var gi = /* @__PURE__ */ M({
|
|
|
5691
5702
|
])), [[n, V(a)]]);
|
|
5692
5703
|
};
|
|
5693
5704
|
}
|
|
5694
|
-
}),
|
|
5705
|
+
}), Gi = /*#__PURE__*/ wn(/* @__PURE__ */ M({
|
|
5695
5706
|
__name: "MetaPanel",
|
|
5696
5707
|
props: {
|
|
5697
5708
|
entity: {},
|
|
@@ -5769,7 +5780,7 @@ var gi = /* @__PURE__ */ M({
|
|
|
5769
5780
|
title: "权限管理",
|
|
5770
5781
|
confirm: p
|
|
5771
5782
|
}, {
|
|
5772
|
-
default: U(({ data: { entity: e, code: t } }) => [j(
|
|
5783
|
+
default: U(({ data: { entity: e, code: t } }) => [j(Wi, {
|
|
5773
5784
|
ref_key: "viewRef",
|
|
5774
5785
|
ref: s,
|
|
5775
5786
|
entity: e,
|
|
@@ -5783,7 +5794,7 @@ var gi = /* @__PURE__ */ M({
|
|
|
5783
5794
|
width: "1050",
|
|
5784
5795
|
title: "字段管理"
|
|
5785
5796
|
}, {
|
|
5786
|
-
default: U(({ data: { entity: e, code: t } }) => [j(
|
|
5797
|
+
default: U(({ data: { entity: e, code: t } }) => [j(Ui, {
|
|
5787
5798
|
entity: e,
|
|
5788
5799
|
code: t
|
|
5789
5800
|
}, null, 8, ["entity", "code"])]),
|
|
@@ -5795,7 +5806,7 @@ var gi = /* @__PURE__ */ M({
|
|
|
5795
5806
|
width: "1000",
|
|
5796
5807
|
title: "视图管理"
|
|
5797
5808
|
}, {
|
|
5798
|
-
default: U(() => [j(
|
|
5809
|
+
default: U(() => [j(Di, {
|
|
5799
5810
|
entity: V(l),
|
|
5800
5811
|
code: V(u),
|
|
5801
5812
|
onForm: d,
|
|
@@ -5807,7 +5818,7 @@ var gi = /* @__PURE__ */ M({
|
|
|
5807
5818
|
], 64);
|
|
5808
5819
|
};
|
|
5809
5820
|
}
|
|
5810
|
-
}), [["__scopeId", "data-v-60f998c8"]]),
|
|
5821
|
+
}), [["__scopeId", "data-v-60f998c8"]]), Ki = { class: "justified" }, qi = /* @__PURE__ */ M({
|
|
5811
5822
|
__name: "MetaFieldForm",
|
|
5812
5823
|
props: { field_id: {} },
|
|
5813
5824
|
setup(e) {
|
|
@@ -5848,7 +5859,7 @@ var gi = /* @__PURE__ */ M({
|
|
|
5848
5859
|
let n = z("el-segmented"), p = z("el-col"), h = z("el-row"), g = z("el-card");
|
|
5849
5860
|
return F(), O(w, null, [
|
|
5850
5861
|
j(g, { shadow: "never" }, Tt({
|
|
5851
|
-
header: U(() => [k("div",
|
|
5862
|
+
header: U(() => [k("div", Ki, [j(n, {
|
|
5852
5863
|
disabled: f.value,
|
|
5853
5864
|
options: l,
|
|
5854
5865
|
modelValue: u.value,
|
|
@@ -5865,7 +5876,7 @@ var gi = /* @__PURE__ */ M({
|
|
|
5865
5876
|
default: U(() => [...t[3] ||= [A("保存 ", -1)]]),
|
|
5866
5877
|
_: 1
|
|
5867
5878
|
}, 8, ["disabled", "bounce"])])]),
|
|
5868
|
-
default: U(() => [j(
|
|
5879
|
+
default: U(() => [j(ii, {
|
|
5869
5880
|
original: r.value,
|
|
5870
5881
|
fields: d.value,
|
|
5871
5882
|
modelValue: i.value,
|
|
@@ -5880,13 +5891,13 @@ var gi = /* @__PURE__ */ M({
|
|
|
5880
5891
|
name: "footer",
|
|
5881
5892
|
fn: U(() => [j(h, { gutter: 20 }, {
|
|
5882
5893
|
default: U(() => [j(p, { span: 12 }, {
|
|
5883
|
-
default: U(() => [j(
|
|
5894
|
+
default: U(() => [j(ki, {
|
|
5884
5895
|
data: r.value,
|
|
5885
5896
|
invoke: c
|
|
5886
5897
|
}, null, 8, ["data"])]),
|
|
5887
5898
|
_: 1
|
|
5888
5899
|
}), j(p, { span: 12 }, {
|
|
5889
|
-
default: U(() => [j(
|
|
5900
|
+
default: U(() => [j(Hi, {
|
|
5890
5901
|
data: r.value,
|
|
5891
5902
|
invoke: s
|
|
5892
5903
|
}, null, 8, ["data"])]),
|
|
@@ -5896,12 +5907,12 @@ var gi = /* @__PURE__ */ M({
|
|
|
5896
5907
|
})]),
|
|
5897
5908
|
key: "0"
|
|
5898
5909
|
} : void 0]), 1024),
|
|
5899
|
-
j(
|
|
5910
|
+
j(Vi, {
|
|
5900
5911
|
ref_key: "formatDialog",
|
|
5901
5912
|
ref: a,
|
|
5902
5913
|
save: m
|
|
5903
5914
|
}, null, 512),
|
|
5904
|
-
j(
|
|
5915
|
+
j(Ni, {
|
|
5905
5916
|
ref_key: "referDialog",
|
|
5906
5917
|
ref: o,
|
|
5907
5918
|
save: m
|
|
@@ -5912,7 +5923,7 @@ var gi = /* @__PURE__ */ M({
|
|
|
5912
5923
|
});
|
|
5913
5924
|
//#endregion
|
|
5914
5925
|
//#region morghulis/library/use-paster/index.ts
|
|
5915
|
-
function
|
|
5926
|
+
function Ji() {
|
|
5916
5927
|
let e = I(!1);
|
|
5917
5928
|
function t() {
|
|
5918
5929
|
return e.value = !0, new Promise((t) => {
|
|
@@ -5939,7 +5950,7 @@ function qi() {
|
|
|
5939
5950
|
}
|
|
5940
5951
|
//#endregion
|
|
5941
5952
|
//#region morghulis/components/uploader/tools/ClipUploader.vue
|
|
5942
|
-
var
|
|
5953
|
+
var Yi = /* @__PURE__ */ M({
|
|
5943
5954
|
__name: "ClipUploader",
|
|
5944
5955
|
props: {
|
|
5945
5956
|
fields: {},
|
|
@@ -5947,7 +5958,7 @@ var Ji = /* @__PURE__ */ M({
|
|
|
5947
5958
|
},
|
|
5948
5959
|
emits: ["success"],
|
|
5949
5960
|
setup(e, { emit: t }) {
|
|
5950
|
-
let n = e, { inactive: r, pending: i, getClipboardData: a, openPaster: o } =
|
|
5961
|
+
let n = e, { inactive: r, pending: i, getClipboardData: a, openPaster: o } = Ji(), s = t, { $message: c } = J();
|
|
5951
5962
|
function l() {
|
|
5952
5963
|
c.info("剪切板已打开"), o().then(p);
|
|
5953
5964
|
}
|
|
@@ -5960,7 +5971,7 @@ var Ji = /* @__PURE__ */ M({
|
|
|
5960
5971
|
console.error("读取剪贴板失败", e), c.error("读取剪贴板失败,请检查浏览器权限");
|
|
5961
5972
|
}
|
|
5962
5973
|
}
|
|
5963
|
-
let { textToJson: d } =
|
|
5974
|
+
let { textToJson: d } = Wa();
|
|
5964
5975
|
function f(e) {
|
|
5965
5976
|
return n.fields.length > 0 && n.fields.every((t) => e[t.prop] === t.label);
|
|
5966
5977
|
}
|
|
@@ -6064,7 +6075,7 @@ var Ji = /* @__PURE__ */ M({
|
|
|
6064
6075
|
}));
|
|
6065
6076
|
};
|
|
6066
6077
|
}
|
|
6067
|
-
}),
|
|
6078
|
+
}), Xi = /* @__PURE__ */ M({
|
|
6068
6079
|
__name: "FileUploader",
|
|
6069
6080
|
props: {
|
|
6070
6081
|
fields: {},
|
|
@@ -6073,7 +6084,7 @@ var Ji = /* @__PURE__ */ M({
|
|
|
6073
6084
|
},
|
|
6074
6085
|
emits: ["success"],
|
|
6075
6086
|
setup(e, { emit: t }) {
|
|
6076
|
-
let n = e, r = t, i = I(), { readBookFromFile: a, zip: o } =
|
|
6087
|
+
let n = e, r = t, i = I(), { readBookFromFile: a, zip: o } = Ga(), { $message: s } = J();
|
|
6077
6088
|
async function c(e) {
|
|
6078
6089
|
i.value?.clearFiles();
|
|
6079
6090
|
let t = e?.raw;
|
|
@@ -6135,10 +6146,10 @@ var Ji = /* @__PURE__ */ M({
|
|
|
6135
6146
|
}, 512);
|
|
6136
6147
|
};
|
|
6137
6148
|
}
|
|
6138
|
-
}),
|
|
6149
|
+
}), Zi = {
|
|
6139
6150
|
class: "justified",
|
|
6140
6151
|
style: { "margin-bottom": "10px" }
|
|
6141
|
-
},
|
|
6152
|
+
}, Qi = /* @__PURE__ */ M({
|
|
6142
6153
|
__name: "UploadControl",
|
|
6143
6154
|
props: {
|
|
6144
6155
|
raw: {},
|
|
@@ -6157,13 +6168,13 @@ var Ji = /* @__PURE__ */ M({
|
|
|
6157
6168
|
setup(e, { emit: t }) {
|
|
6158
6169
|
let n = e, r = t, i = I(), a = W(n, "raw", r), o = W(n, "valid", r), s = W(n, "referred", r);
|
|
6159
6170
|
H(a, () => o.value = null);
|
|
6160
|
-
let c = T(() => !!n.fields.filter((e) =>
|
|
6171
|
+
let c = T(() => !!n.fields.filter((e) => Zn.referred.includes(e.domain)).length), { $confirm: l, $message: u } = J();
|
|
6161
6172
|
function d() {
|
|
6162
6173
|
l.info("是否清空已上传的数据?").then(() => {
|
|
6163
6174
|
a.value = [];
|
|
6164
6175
|
});
|
|
6165
6176
|
}
|
|
6166
|
-
let { copy: f } = qt(), { writeSheets: p } =
|
|
6177
|
+
let { copy: f } = qt(), { writeSheets: p } = Ga();
|
|
6167
6178
|
function m(e) {
|
|
6168
6179
|
let t = n.fields.filter((e) => e).map((e) => e.label);
|
|
6169
6180
|
if (e === "clip") f(t.join(" ")).then(() => u.success("表头已复制到剪切板,请粘贴到Excel文件"));
|
|
@@ -6181,7 +6192,7 @@ var Ji = /* @__PURE__ */ M({
|
|
|
6181
6192
|
}
|
|
6182
6193
|
return (t, n) => {
|
|
6183
6194
|
let r = z("el-space"), l = z("el-popover"), u = z("el-checkbox"), f = z("el-select");
|
|
6184
|
-
return F(), O(w, null, [k("div",
|
|
6195
|
+
return F(), O(w, null, [k("div", Zi, [j(r, {
|
|
6185
6196
|
spacer: "|",
|
|
6186
6197
|
size: 3
|
|
6187
6198
|
}, {
|
|
@@ -6292,7 +6303,7 @@ var Ji = /* @__PURE__ */ M({
|
|
|
6292
6303
|
title: "数据上传",
|
|
6293
6304
|
width: "350"
|
|
6294
6305
|
}, {
|
|
6295
|
-
default: U(({ data: t }) => [t === "file" ? (F(), E(
|
|
6306
|
+
default: U(({ data: t }) => [t === "file" ? (F(), E(Xi, {
|
|
6296
6307
|
key: 0,
|
|
6297
6308
|
fields: e.fields,
|
|
6298
6309
|
sheet_name: e.sheet_name,
|
|
@@ -6302,7 +6313,7 @@ var Ji = /* @__PURE__ */ M({
|
|
|
6302
6313
|
"fields",
|
|
6303
6314
|
"sheet_name",
|
|
6304
6315
|
"referred"
|
|
6305
|
-
])) : D("", !0), t === "clip" ? (F(), E(
|
|
6316
|
+
])) : D("", !0), t === "clip" ? (F(), E(Yi, {
|
|
6306
6317
|
key: 1,
|
|
6307
6318
|
fields: e.fields,
|
|
6308
6319
|
referred: V(s),
|
|
@@ -6312,11 +6323,11 @@ var Ji = /* @__PURE__ */ M({
|
|
|
6312
6323
|
}, 512)], 64);
|
|
6313
6324
|
};
|
|
6314
6325
|
}
|
|
6315
|
-
}),
|
|
6326
|
+
}), $i = /* @__PURE__ */ M({
|
|
6316
6327
|
__name: "UploadDictionary",
|
|
6317
6328
|
props: { field: {} },
|
|
6318
6329
|
setup(e) {
|
|
6319
|
-
let t = e, { results: n, total: r, pager: i } =
|
|
6330
|
+
let t = e, { results: n, total: r, pager: i } = oi(T(() => t.field.values));
|
|
6320
6331
|
return (e, t) => {
|
|
6321
6332
|
let a = z("el-table-column"), o = z("el-pagination"), s = z("el-table");
|
|
6322
6333
|
return F(), E(s, {
|
|
@@ -6374,7 +6385,7 @@ var Ji = /* @__PURE__ */ M({
|
|
|
6374
6385
|
}, 8, ["data"]);
|
|
6375
6386
|
};
|
|
6376
6387
|
}
|
|
6377
|
-
}),
|
|
6388
|
+
}), ea = /* @__PURE__ */ M({
|
|
6378
6389
|
__name: "DictDialog",
|
|
6379
6390
|
setup(e, { expose: t }) {
|
|
6380
6391
|
let { copy: n } = qt(), { $message: r } = J(), i = I();
|
|
@@ -6427,7 +6438,7 @@ var Ji = /* @__PURE__ */ M({
|
|
|
6427
6438
|
]),
|
|
6428
6439
|
_: 2
|
|
6429
6440
|
}, 1024)]),
|
|
6430
|
-
default: U(({ data: e }) => [j(
|
|
6441
|
+
default: U(({ data: e }) => [j($i, { field: e }, null, 8, ["field"])]),
|
|
6431
6442
|
_: 1
|
|
6432
6443
|
}, 512);
|
|
6433
6444
|
};
|
|
@@ -6435,21 +6446,21 @@ var Ji = /* @__PURE__ */ M({
|
|
|
6435
6446
|
});
|
|
6436
6447
|
//#endregion
|
|
6437
6448
|
//#region morghulis/library/use-data/methods.ts
|
|
6438
|
-
function
|
|
6449
|
+
function ta(e) {
|
|
6439
6450
|
if (!/^\d{4}-\d{2}-\d{2}$/.test(e)) return !1;
|
|
6440
6451
|
let t = /* @__PURE__ */ new Date(e + "T00:00:00.000Z");
|
|
6441
6452
|
return Number.isFinite(t.getTime()) && t.toISOString().slice(0, 10) === e;
|
|
6442
6453
|
}
|
|
6443
|
-
function
|
|
6454
|
+
function na(e) {
|
|
6444
6455
|
return /^(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d$/.test(e);
|
|
6445
6456
|
}
|
|
6446
|
-
function
|
|
6457
|
+
function ra(e) {
|
|
6447
6458
|
let [t, n, ...r] = e.split(" ");
|
|
6448
|
-
return !!t && !!n && !r.length &&
|
|
6459
|
+
return !!t && !!n && !r.length && ta(t) && na(n);
|
|
6449
6460
|
}
|
|
6450
6461
|
//#endregion
|
|
6451
6462
|
//#region morghulis/components/uploader/hooks.ts
|
|
6452
|
-
function
|
|
6463
|
+
function ia(e, t) {
|
|
6453
6464
|
let n = T(() => {
|
|
6454
6465
|
let n = e.value.map((e) => {
|
|
6455
6466
|
let n = e.values, r = n.length ? Object.fromEntries(n.map((e) => t.value ? [String(e.value), String(e.label)] : [String(e.label), String(e.value)]).reverse()) : {};
|
|
@@ -6469,8 +6480,8 @@ function ra(e, t) {
|
|
|
6469
6480
|
value: null,
|
|
6470
6481
|
label: ""
|
|
6471
6482
|
};
|
|
6472
|
-
if (
|
|
6473
|
-
let e =
|
|
6483
|
+
if (Zn.referred.includes(a)) {
|
|
6484
|
+
let e = Zn.multiple.includes(a), { mapping: n } = i;
|
|
6474
6485
|
if (e) {
|
|
6475
6486
|
if (t.value) {
|
|
6476
6487
|
let e = r.split(";"), t = e.filter((e) => !n[e]), i = t.length ? `索引 ${t} 不在字典中` : void 0, a = e.filter((e) => !t.includes(e));
|
|
@@ -6573,11 +6584,11 @@ function ra(e, t) {
|
|
|
6573
6584
|
"DateTimeField"
|
|
6574
6585
|
].includes(a)) {
|
|
6575
6586
|
let e = r.trim();
|
|
6576
|
-
if (
|
|
6587
|
+
if (ra(e)) {
|
|
6577
6588
|
let [t = "", n = ""] = e.split(" ");
|
|
6578
6589
|
a === "DateField" && (e = t), a === "TimeField" && (e = n);
|
|
6579
6590
|
}
|
|
6580
|
-
return (a === "DateField" ?
|
|
6591
|
+
return (a === "DateField" ? ta(e) : a === "TimeField" ? na(e) : ra(e)) ? {
|
|
6581
6592
|
value: e,
|
|
6582
6593
|
label: e
|
|
6583
6594
|
} : {
|
|
@@ -6595,10 +6606,10 @@ function ra(e, t) {
|
|
|
6595
6606
|
}
|
|
6596
6607
|
//#endregion
|
|
6597
6608
|
//#region morghulis/components/uploader/UploadTable.vue?vue&type=script&setup=true&lang.ts
|
|
6598
|
-
var
|
|
6609
|
+
var aa = {
|
|
6599
6610
|
style: { height: "200px" },
|
|
6600
6611
|
class: "h-center center"
|
|
6601
|
-
},
|
|
6612
|
+
}, oa = { key: 0 }, sa = { key: 1 }, ca = /* @__PURE__ */ M({
|
|
6602
6613
|
__name: "UploadTable",
|
|
6603
6614
|
props: {
|
|
6604
6615
|
dict: {},
|
|
@@ -6639,10 +6650,10 @@ var ia = {
|
|
|
6639
6650
|
type: "danger",
|
|
6640
6651
|
icon: "remove"
|
|
6641
6652
|
}];
|
|
6642
|
-
}), { results: f, pager: p, total: m } =
|
|
6653
|
+
}), { results: f, pager: p, total: m } = oi(T(() => a.value == null ? u.value : u.value.filter((e) => a.value === (e.$valid == null)))), h = T(() => {
|
|
6643
6654
|
let e = n.dict.fields.filter((e) => n.keys.includes(e.prop)), { id: t, sort: r } = n;
|
|
6644
6655
|
return t && e.unshift(_), r && e.unshift(v), e;
|
|
6645
|
-
}), { parser: g } =
|
|
6656
|
+
}), { parser: g } = ia(h, o), _ = {
|
|
6646
6657
|
label: "ID",
|
|
6647
6658
|
prop: "id",
|
|
6648
6659
|
domain: "BigAutoField",
|
|
@@ -6672,7 +6683,7 @@ var ia = {
|
|
|
6672
6683
|
return t({ getData: x }), (t, n) => {
|
|
6673
6684
|
let u = z("el-table-column"), g = z("el-tooltip"), _ = z("el-text"), v = z("el-pagination"), y = z("el-table"), b = z("el-result");
|
|
6674
6685
|
return F(), O(w, null, [
|
|
6675
|
-
j(
|
|
6686
|
+
j(Qi, {
|
|
6676
6687
|
fields: h.value,
|
|
6677
6688
|
file_name: e.dict.meta_name,
|
|
6678
6689
|
sheet_name: e.dict.view_name,
|
|
@@ -6700,7 +6711,7 @@ var ia = {
|
|
|
6700
6711
|
"cell-class-name": c,
|
|
6701
6712
|
onCellClick: l
|
|
6702
6713
|
}, {
|
|
6703
|
-
empty: U(() => [k("div",
|
|
6714
|
+
empty: U(() => [k("div", aa, [j(G, {
|
|
6704
6715
|
icon: "info-circle",
|
|
6705
6716
|
size: "large",
|
|
6706
6717
|
"icon-size": "lg"
|
|
@@ -6743,7 +6754,7 @@ var ia = {
|
|
|
6743
6754
|
key: 0,
|
|
6744
6755
|
disabled: !e.hasEmpty && !e.isDuplicate
|
|
6745
6756
|
}, {
|
|
6746
|
-
content: U(() => [e.hasEmpty ? (F(), O("div",
|
|
6757
|
+
content: U(() => [e.hasEmpty ? (F(), O("div", oa, "索引存在空值")) : D("", !0), e.isDuplicate ? D("", !0) : (F(), O("div", sa, "索引存在重复值"))]),
|
|
6747
6758
|
default: U(() => [j(K, {
|
|
6748
6759
|
icon: "book",
|
|
6749
6760
|
type: o.value ? "warning" : "info",
|
|
@@ -6769,11 +6780,11 @@ var ia = {
|
|
|
6769
6780
|
title: "请至少选择一个字段",
|
|
6770
6781
|
icon: "warning"
|
|
6771
6782
|
})),
|
|
6772
|
-
j(
|
|
6783
|
+
j(ea, {
|
|
6773
6784
|
ref_key: "dictRef",
|
|
6774
6785
|
ref: r
|
|
6775
6786
|
}, null, 512),
|
|
6776
|
-
j(
|
|
6787
|
+
j(rr, {
|
|
6777
6788
|
ref_key: "invalidRef",
|
|
6778
6789
|
ref: i,
|
|
6779
6790
|
width: "80",
|
|
@@ -6788,7 +6799,7 @@ var ia = {
|
|
|
6788
6799
|
], 64);
|
|
6789
6800
|
};
|
|
6790
6801
|
}
|
|
6791
|
-
}),
|
|
6802
|
+
}), la = /* @__PURE__ */ M({
|
|
6792
6803
|
__name: "UploadSwitcher",
|
|
6793
6804
|
props: {
|
|
6794
6805
|
id: { type: Boolean },
|
|
@@ -6844,7 +6855,7 @@ var ia = {
|
|
|
6844
6855
|
});
|
|
6845
6856
|
};
|
|
6846
6857
|
}
|
|
6847
|
-
}),
|
|
6858
|
+
}), ua = /* @__PURE__ */ M({
|
|
6848
6859
|
__name: "MUploader",
|
|
6849
6860
|
emits: ["confirm"],
|
|
6850
6861
|
setup(e, { expose: t, emit: n }) {
|
|
@@ -6900,7 +6911,7 @@ var ia = {
|
|
|
6900
6911
|
default: U(() => [j(kn, { items: e.options }, null, 8, ["items"])]),
|
|
6901
6912
|
_: 2
|
|
6902
6913
|
}, 1032, ["modelValue", "onUpdate:modelValue"])]),
|
|
6903
|
-
tool: U(({ data: e }) => [j(
|
|
6914
|
+
tool: U(({ data: e }) => [j(la, {
|
|
6904
6915
|
id: e.id,
|
|
6905
6916
|
"onUpdate:id": (t) => e.id = t,
|
|
6906
6917
|
sort: e.sort,
|
|
@@ -6915,7 +6926,7 @@ var ia = {
|
|
|
6915
6926
|
"is_update",
|
|
6916
6927
|
"onUpdate:is_update"
|
|
6917
6928
|
])]),
|
|
6918
|
-
default: U(({ data: e }) => [j(
|
|
6929
|
+
default: U(({ data: e }) => [j(ca, {
|
|
6919
6930
|
ref_key: "tableRef",
|
|
6920
6931
|
ref: i,
|
|
6921
6932
|
dict: e.dict,
|
|
@@ -6934,7 +6945,7 @@ var ia = {
|
|
|
6934
6945
|
}, 512);
|
|
6935
6946
|
};
|
|
6936
6947
|
}
|
|
6937
|
-
}),
|
|
6948
|
+
}), da = /* @__PURE__ */ M({
|
|
6938
6949
|
__name: "DataTable",
|
|
6939
6950
|
props: {
|
|
6940
6951
|
disable_tree: { type: Boolean },
|
|
@@ -6985,11 +6996,11 @@ var ia = {
|
|
|
6985
6996
|
...n,
|
|
6986
6997
|
code: r.value,
|
|
6987
6998
|
entity: i.value
|
|
6988
|
-
})), u = I(), d = I(), f = I(), p = I(), m = I(), h = I(), g = I(), _ = I(), v = I(), { account: y } = Y(), { meta: b, response: x, orders: ee, conditions: te, manager: S, api: ne, ticking: re, loading: ie, error: ae, finder: oe, collector: C } =
|
|
6999
|
+
})), u = I(), d = I(), f = I(), p = I(), m = I(), h = I(), g = I(), _ = I(), v = I(), { account: y } = Y(), { meta: b, response: x, orders: ee, conditions: te, manager: S, api: ne, ticking: re, loading: ie, error: ae, finder: oe, collector: C } = er(l, c), se = I(0);
|
|
6989
7000
|
function ce(e) {
|
|
6990
7001
|
se.value = e;
|
|
6991
7002
|
}
|
|
6992
|
-
let { columns: le } =
|
|
7003
|
+
let { columns: le } = Ja(T(() => n.columns || []), r), ue = T(() => y.value?.is_admin || n.unrestricted);
|
|
6993
7004
|
async function de(e = !1) {
|
|
6994
7005
|
try {
|
|
6995
7006
|
if (e) {
|
|
@@ -7018,7 +7029,7 @@ var ia = {
|
|
|
7018
7029
|
async function pe(e) {
|
|
7019
7030
|
return m.value?.saveData();
|
|
7020
7031
|
}
|
|
7021
|
-
let { writeSheets: me } =
|
|
7032
|
+
let { writeSheets: me } = Ga(), { copy: he } = qt(), { $message: ge } = J();
|
|
7022
7033
|
function _e(e) {
|
|
7023
7034
|
S.find().then((t) => {
|
|
7024
7035
|
let n = Object.fromEntries(b.value.fields.filter((e) => e.allow_download).map((e) => [e.prop, e.label])), r = Object.keys(n), i = Object.values(n), a = t.map((e) => r.map((t) => e[t])), o = {
|
|
@@ -7103,7 +7114,7 @@ var ia = {
|
|
|
7103
7114
|
let o = e.id;
|
|
7104
7115
|
n.single ? (C.value.clear(), C.value.add(o)) : C.value.has(o) ? C.value.delete(o) : C.value.add(o);
|
|
7105
7116
|
}
|
|
7106
|
-
let { createSortable: Ne } =
|
|
7117
|
+
let { createSortable: Ne } = Gr(u, S.sorting);
|
|
7107
7118
|
return H(() => x.value.results, (e, t) => {
|
|
7108
7119
|
let n = !!b.value.control.allow_edit_on_sort && un(ee.value, { sort: -1 });
|
|
7109
7120
|
Ne(x.value.results, n);
|
|
@@ -7116,13 +7127,13 @@ var ia = {
|
|
|
7116
7127
|
}), (t, n) => {
|
|
7117
7128
|
let l = z("el-space"), y = z("el-table-column"), te = z("el-text"), ne = z("el-table");
|
|
7118
7129
|
return F(), O(w, null, [
|
|
7119
|
-
j(
|
|
7130
|
+
j(Vr, {
|
|
7120
7131
|
ref: "wrapperRef",
|
|
7121
7132
|
loading: V(ie),
|
|
7122
7133
|
ticking: V(re)
|
|
7123
7134
|
}, {
|
|
7124
7135
|
header: U(() => [j(l, null, {
|
|
7125
|
-
default: U(() => [e.codes ? (F(), E(
|
|
7136
|
+
default: U(() => [e.codes ? (F(), E(xi, {
|
|
7126
7137
|
key: 0,
|
|
7127
7138
|
entity: e.entity,
|
|
7128
7139
|
code: r.value,
|
|
@@ -7148,7 +7159,7 @@ var ia = {
|
|
|
7148
7159
|
default: U(() => [R(t.$slots, "tool", {
|
|
7149
7160
|
entity: i.value,
|
|
7150
7161
|
code: r.value
|
|
7151
|
-
}), j(
|
|
7162
|
+
}), j(Kr, {
|
|
7152
7163
|
disable_tree: e.disable_tree,
|
|
7153
7164
|
unrestricted: ue.value,
|
|
7154
7165
|
collector: V(C),
|
|
@@ -7168,7 +7179,7 @@ var ia = {
|
|
|
7168
7179
|
])]),
|
|
7169
7180
|
_: 3
|
|
7170
7181
|
})]),
|
|
7171
|
-
footer: U(({ width: e }) => [j(
|
|
7182
|
+
footer: U(({ width: e }) => [j(Qr, {
|
|
7172
7183
|
size: c.value.size,
|
|
7173
7184
|
"onUpdate:size": n[1] ||= (e) => c.value.size = e,
|
|
7174
7185
|
page: c.value.page,
|
|
@@ -7194,7 +7205,7 @@ var ia = {
|
|
|
7194
7205
|
height: e.table_height || "auto",
|
|
7195
7206
|
size: e.table_size || "small",
|
|
7196
7207
|
data: V(x).results,
|
|
7197
|
-
"tooltip-options": V(
|
|
7208
|
+
"tooltip-options": V(qr),
|
|
7198
7209
|
onCellClick: Me,
|
|
7199
7210
|
onCellDblclick: Ae,
|
|
7200
7211
|
onCellContextmenu: ke,
|
|
@@ -7213,7 +7224,7 @@ var ia = {
|
|
|
7213
7224
|
_: 1
|
|
7214
7225
|
})]),
|
|
7215
7226
|
default: U(() => [
|
|
7216
|
-
j(
|
|
7227
|
+
j(Jr, {
|
|
7217
7228
|
unrestricted: ue.value,
|
|
7218
7229
|
collector: V(C),
|
|
7219
7230
|
size: V(x).results.length,
|
|
@@ -7234,7 +7245,7 @@ var ia = {
|
|
|
7234
7245
|
"header-align": "left",
|
|
7235
7246
|
"min-width": 120
|
|
7236
7247
|
}, {
|
|
7237
|
-
header: U(() => [j(
|
|
7248
|
+
header: U(() => [j(Xr, {
|
|
7238
7249
|
field: t,
|
|
7239
7250
|
finder: V(oe),
|
|
7240
7251
|
orders: V(ee),
|
|
@@ -7250,7 +7261,7 @@ var ia = {
|
|
|
7250
7261
|
"unrestricted",
|
|
7251
7262
|
"includes"
|
|
7252
7263
|
])]),
|
|
7253
|
-
default: U(({ row: e }) => [j(
|
|
7264
|
+
default: U(({ row: e }) => [j(Ci, {
|
|
7254
7265
|
row: e,
|
|
7255
7266
|
field: t,
|
|
7256
7267
|
meta: V(b),
|
|
@@ -7276,7 +7287,7 @@ var ia = {
|
|
|
7276
7287
|
fixed: e.fixed || "right",
|
|
7277
7288
|
width: e.width || "auto"
|
|
7278
7289
|
}, {
|
|
7279
|
-
default: U(({ row: t }) => [j(
|
|
7290
|
+
default: U(({ row: t }) => [j(Ur, {
|
|
7280
7291
|
data: t,
|
|
7281
7292
|
column: e,
|
|
7282
7293
|
collector: V(C)
|
|
@@ -7300,7 +7311,7 @@ var ia = {
|
|
|
7300
7311
|
"show-overflow-tooltip": !1
|
|
7301
7312
|
}, {
|
|
7302
7313
|
header: U(() => [j(G, { icon: "screwdriver-wrench" })]),
|
|
7303
|
-
default: U(({ row: t }) => [j(
|
|
7314
|
+
default: U(({ row: t }) => [j(Wr, {
|
|
7304
7315
|
buttons: e.buttons,
|
|
7305
7316
|
data: t,
|
|
7306
7317
|
collector: V(C),
|
|
@@ -7331,15 +7342,15 @@ var ia = {
|
|
|
7331
7342
|
width: "500",
|
|
7332
7343
|
onClosed: n[3] ||= (e) => V(S).init()
|
|
7333
7344
|
}, {
|
|
7334
|
-
default: U(({ data: e }) => [j(
|
|
7345
|
+
default: U(({ data: e }) => [j(qi, { field_id: e.id }, null, 8, ["field_id"])]),
|
|
7335
7346
|
_: 1
|
|
7336
7347
|
}, 512),
|
|
7337
|
-
j(
|
|
7348
|
+
j(rr, {
|
|
7338
7349
|
ref_key: "metaRef",
|
|
7339
7350
|
ref: h,
|
|
7340
7351
|
onHide: V(S).init
|
|
7341
7352
|
}, {
|
|
7342
|
-
default: U(() => [j(
|
|
7353
|
+
default: U(() => [j(Gi, {
|
|
7343
7354
|
entity: i.value,
|
|
7344
7355
|
"onUpdate:entity": n[4] ||= (e) => i.value = e,
|
|
7345
7356
|
code: r.value,
|
|
@@ -7347,17 +7358,17 @@ var ia = {
|
|
|
7347
7358
|
}, null, 8, ["entity", "code"])]),
|
|
7348
7359
|
_: 1
|
|
7349
7360
|
}, 8, ["onHide"]),
|
|
7350
|
-
j(
|
|
7361
|
+
j(ua, {
|
|
7351
7362
|
ref_key: "uploadRef",
|
|
7352
7363
|
ref: f,
|
|
7353
7364
|
onConfirm: o
|
|
7354
7365
|
}, null, 512),
|
|
7355
|
-
j(
|
|
7366
|
+
j(rr, {
|
|
7356
7367
|
ref_key: "searchRef",
|
|
7357
7368
|
ref: g,
|
|
7358
7369
|
width: "250px"
|
|
7359
7370
|
}, {
|
|
7360
|
-
default: U(({ data: t }) => [j(
|
|
7371
|
+
default: U(({ data: t }) => [j(ni, {
|
|
7361
7372
|
field: t,
|
|
7362
7373
|
finder: V(oe),
|
|
7363
7374
|
includes: e.includes,
|
|
@@ -7377,8 +7388,8 @@ var ia = {
|
|
|
7377
7388
|
cancel: fe,
|
|
7378
7389
|
width: "550"
|
|
7379
7390
|
}, {
|
|
7380
|
-
header: U(({ data: e }) => [j(
|
|
7381
|
-
default: U(({ data: { items: e, is_insert: t, count: n } }) => [j(
|
|
7391
|
+
header: U(({ data: e }) => [j(ri, { data: e }, null, 8, ["data"])]),
|
|
7392
|
+
default: U(({ data: { items: e, is_insert: t, count: n } }) => [j(ai, {
|
|
7382
7393
|
ref_key: "saveFormRef",
|
|
7383
7394
|
ref: m,
|
|
7384
7395
|
items: e,
|
|
@@ -7395,7 +7406,7 @@ var ia = {
|
|
|
7395
7406
|
])]),
|
|
7396
7407
|
_: 1
|
|
7397
7408
|
}, 512),
|
|
7398
|
-
j(
|
|
7409
|
+
j(bi, {
|
|
7399
7410
|
ref_key: "cellRef",
|
|
7400
7411
|
ref: _,
|
|
7401
7412
|
manager: V(S)
|
|
@@ -7405,7 +7416,7 @@ var ia = {
|
|
|
7405
7416
|
ref_key: "treeDialogRef",
|
|
7406
7417
|
ref: v
|
|
7407
7418
|
}, {
|
|
7408
|
-
default: U(({ data: e }) => [j(
|
|
7419
|
+
default: U(({ data: e }) => [j(ga, {
|
|
7409
7420
|
entity: i.value,
|
|
7410
7421
|
code: r.value,
|
|
7411
7422
|
disable_table: "",
|
|
@@ -7416,7 +7427,7 @@ var ia = {
|
|
|
7416
7427
|
], 64);
|
|
7417
7428
|
};
|
|
7418
7429
|
}
|
|
7419
|
-
}),
|
|
7430
|
+
}), fa = /* @__PURE__ */ M({
|
|
7420
7431
|
__name: "DTreeTablePlugin",
|
|
7421
7432
|
props: {
|
|
7422
7433
|
data: {},
|
|
@@ -7436,7 +7447,7 @@ var ia = {
|
|
|
7436
7447
|
onClick: n[0] ||= (t) => e.invoke(e.data, t)
|
|
7437
7448
|
}));
|
|
7438
7449
|
}
|
|
7439
|
-
}),
|
|
7450
|
+
}), pa = /* @__PURE__ */ M({
|
|
7440
7451
|
__name: "DTreeTable",
|
|
7441
7452
|
props: {
|
|
7442
7453
|
entity: {},
|
|
@@ -7453,14 +7464,14 @@ var ia = {
|
|
|
7453
7464
|
label: "节点",
|
|
7454
7465
|
fixed: "left",
|
|
7455
7466
|
width: 50,
|
|
7456
|
-
component:
|
|
7467
|
+
component: fa,
|
|
7457
7468
|
callback(e) {
|
|
7458
7469
|
n.value = e.id || 0;
|
|
7459
7470
|
}
|
|
7460
7471
|
}];
|
|
7461
7472
|
return (t, a) => {
|
|
7462
7473
|
let o = z("el-text"), s = z("el-space");
|
|
7463
|
-
return F(), E(
|
|
7474
|
+
return F(), E(da, {
|
|
7464
7475
|
ref: "tableRef",
|
|
7465
7476
|
entity: e.entity,
|
|
7466
7477
|
code: e.code,
|
|
@@ -7497,10 +7508,10 @@ var ia = {
|
|
|
7497
7508
|
]);
|
|
7498
7509
|
};
|
|
7499
7510
|
}
|
|
7500
|
-
}),
|
|
7511
|
+
}), ma = { style: { padding: "10px" } }, ha = {
|
|
7501
7512
|
class: "justified full",
|
|
7502
7513
|
style: { "padding-right": "10px" }
|
|
7503
|
-
},
|
|
7514
|
+
}, ga = /* @__PURE__ */ M({
|
|
7504
7515
|
__name: "DataTree",
|
|
7505
7516
|
props: {
|
|
7506
7517
|
disable_table: { type: Boolean },
|
|
@@ -7532,11 +7543,11 @@ var ia = {
|
|
|
7532
7543
|
let r = e, i = n, a = I(r.code || "default"), o = I(r.entity), s = I({
|
|
7533
7544
|
type: "tree",
|
|
7534
7545
|
root: r.root
|
|
7535
|
-
}), { meta: c, response: l, manager: u, api: d, loading: f, ticking: p, error: m, finder: h, collector: g, model: _ } =
|
|
7546
|
+
}), { meta: c, response: l, manager: u, api: d, loading: f, ticking: p, error: m, finder: h, collector: g, model: _ } = er(T(() => ({
|
|
7536
7547
|
...r,
|
|
7537
7548
|
code: a.value,
|
|
7538
7549
|
entity: o.value
|
|
7539
|
-
})), s), { columns: v } =
|
|
7550
|
+
})), s), { columns: v } = Ja(T(() => r.columns || []), a), y = I(), b = I(), x = I(), ee = I(), te = T(() => c.value.fields.find((e) => e.prop === r.label)), { $confirm: S } = J(), ne = I(""), re = T(() => ie.value.length ? "square-caret-down" : "square-caret-right"), ie = T(() => {
|
|
7540
7551
|
let e = [];
|
|
7541
7552
|
return Object.values(_.value.mapping).forEach((t) => {
|
|
7542
7553
|
let { id: n, children: r } = t;
|
|
@@ -7678,13 +7689,13 @@ var ia = {
|
|
|
7678
7689
|
}), (t, n) => {
|
|
7679
7690
|
let r = z("el-divider"), i = z("el-space"), s = z("el-input"), l = z("el-tree"), d = z("el-text"), m = z("el-input-tag");
|
|
7680
7691
|
return F(), O(w, null, [
|
|
7681
|
-
j(
|
|
7692
|
+
j(rr, {
|
|
7682
7693
|
ref_key: "nodePopoverRef",
|
|
7683
7694
|
ref: b,
|
|
7684
7695
|
placement: "right",
|
|
7685
7696
|
width: "250px"
|
|
7686
7697
|
}, {
|
|
7687
|
-
default: U(({ data: t }) => [j(
|
|
7698
|
+
default: U(({ data: t }) => [j(Br, {
|
|
7688
7699
|
control: V(c).control,
|
|
7689
7700
|
data: t,
|
|
7690
7701
|
field: te.value,
|
|
@@ -7706,7 +7717,7 @@ var ia = {
|
|
|
7706
7717
|
])]),
|
|
7707
7718
|
_: 1
|
|
7708
7719
|
}, 512),
|
|
7709
|
-
j(
|
|
7720
|
+
j(Vr, {
|
|
7710
7721
|
ref: "wrapperRef",
|
|
7711
7722
|
loading: V(f),
|
|
7712
7723
|
ticking: V(p)
|
|
@@ -7728,7 +7739,7 @@ var ia = {
|
|
|
7728
7739
|
})])
|
|
7729
7740
|
]),
|
|
7730
7741
|
_: 3
|
|
7731
|
-
}), j(
|
|
7742
|
+
}), j(Hr, {
|
|
7732
7743
|
unrestricted: e.unrestricted,
|
|
7733
7744
|
collector: V(g),
|
|
7734
7745
|
control: V(c).control,
|
|
@@ -7745,7 +7756,7 @@ var ia = {
|
|
|
7745
7756
|
"mapping",
|
|
7746
7757
|
"disable_table"
|
|
7747
7758
|
])]),
|
|
7748
|
-
default: U(() => [k("div",
|
|
7759
|
+
default: U(() => [k("div", ma, [j(s, {
|
|
7749
7760
|
modelValue: ne.value,
|
|
7750
7761
|
"onUpdate:modelValue": n[1] ||= (e) => ne.value = e,
|
|
7751
7762
|
placeholder: "搜索...",
|
|
@@ -7777,8 +7788,8 @@ var ia = {
|
|
|
7777
7788
|
onNodeDrop: be,
|
|
7778
7789
|
"filter-node-method": se
|
|
7779
7790
|
}, {
|
|
7780
|
-
default: U(({ data: n, node: r }) => [k("div",
|
|
7781
|
-
default: U(() => [j(
|
|
7791
|
+
default: U(({ data: n, node: r }) => [k("div", ha, [j(i, null, {
|
|
7792
|
+
default: U(() => [j(nr, {
|
|
7782
7793
|
collector: V(g),
|
|
7783
7794
|
data: n,
|
|
7784
7795
|
node: r,
|
|
@@ -7815,7 +7826,7 @@ var ia = {
|
|
|
7815
7826
|
node: r,
|
|
7816
7827
|
data: n
|
|
7817
7828
|
}, void 0, void 0, 1)]),
|
|
7818
|
-
(F(!0), O(w, null, L(V(v), (e) => (F(), E(
|
|
7829
|
+
(F(!0), O(w, null, L(V(v), (e) => (F(), E(Ur, {
|
|
7819
7830
|
data: n,
|
|
7820
7831
|
column: e,
|
|
7821
7832
|
collector: V(g)
|
|
@@ -7824,7 +7835,7 @@ var ia = {
|
|
|
7824
7835
|
"column",
|
|
7825
7836
|
"collector"
|
|
7826
7837
|
]))), 256)),
|
|
7827
|
-
j(
|
|
7838
|
+
j(Wr, {
|
|
7828
7839
|
buttons: e.buttons,
|
|
7829
7840
|
data: n,
|
|
7830
7841
|
collector: V(g),
|
|
@@ -7868,7 +7879,7 @@ var ia = {
|
|
|
7868
7879
|
ref: ee,
|
|
7869
7880
|
width: "1000"
|
|
7870
7881
|
}, {
|
|
7871
|
-
default: U(({ data: e }) => [j(
|
|
7882
|
+
default: U(({ data: e }) => [j(pa, {
|
|
7872
7883
|
mapping: V(_).mapping,
|
|
7873
7884
|
entity: o.value,
|
|
7874
7885
|
code: a.value,
|
|
@@ -7884,10 +7895,10 @@ var ia = {
|
|
|
7884
7895
|
], 64);
|
|
7885
7896
|
};
|
|
7886
7897
|
}
|
|
7887
|
-
}),
|
|
7898
|
+
}), _a = { class: "justified full" }, va = {
|
|
7888
7899
|
key: 0,
|
|
7889
7900
|
style: { "padding-right": "5px" }
|
|
7890
|
-
},
|
|
7901
|
+
}, ya = /* @__PURE__ */ M({
|
|
7891
7902
|
__name: "MenuTreeNode",
|
|
7892
7903
|
props: {
|
|
7893
7904
|
item: {},
|
|
@@ -7899,7 +7910,7 @@ var ia = {
|
|
|
7899
7910
|
let { is_admin: e, roles: n, is_free: r } = t.item;
|
|
7900
7911
|
return e ? "lock" : r ? "unlock" : n?.length ? "user-lock" : "user";
|
|
7901
7912
|
}), a = T(() => t.item.isLeaf && n.value ? "#000000" : "#c5c8d5");
|
|
7902
|
-
return (t, o) => (F(), O("div",
|
|
7913
|
+
return (t, o) => (F(), O("div", _a, [k("div", null, [j(V(G), {
|
|
7903
7914
|
style: jt({
|
|
7904
7915
|
color: a.value,
|
|
7905
7916
|
marginRight: "7px"
|
|
@@ -7918,13 +7929,13 @@ var ia = {
|
|
|
7918
7929
|
}, {
|
|
7919
7930
|
default: U(() => [A(B(e.item.name), 1)]),
|
|
7920
7931
|
_: 1
|
|
7921
|
-
}, 8, ["size", "tag"])]), e.item.isLeaf ? (F(), O("div",
|
|
7932
|
+
}, 8, ["size", "tag"])]), e.item.isLeaf ? (F(), O("div", va, [j(V(G), {
|
|
7922
7933
|
icon: i.value,
|
|
7923
7934
|
"icon-size": "xs",
|
|
7924
7935
|
type: "info"
|
|
7925
7936
|
}, null, 8, ["icon"])])) : D("", !0)]));
|
|
7926
7937
|
}
|
|
7927
|
-
}),
|
|
7938
|
+
}), ba = /* @__PURE__ */ M({
|
|
7928
7939
|
__name: "MMenu",
|
|
7929
7940
|
props: {
|
|
7930
7941
|
current: {},
|
|
@@ -7959,7 +7970,7 @@ var ia = {
|
|
|
7959
7970
|
default: U(() => [...n[0] ||= [A("无菜单", -1)]]),
|
|
7960
7971
|
_: 1
|
|
7961
7972
|
})]),
|
|
7962
|
-
default: U(({ data: t, node: n }) => [j(
|
|
7973
|
+
default: U(({ data: t, node: n }) => [j(ya, {
|
|
7963
7974
|
item: t,
|
|
7964
7975
|
path: e.current,
|
|
7965
7976
|
node: n
|
|
@@ -7972,7 +7983,7 @@ var ia = {
|
|
|
7972
7983
|
}, 8, ["data"]);
|
|
7973
7984
|
};
|
|
7974
7985
|
}
|
|
7975
|
-
}),
|
|
7986
|
+
}), xa = /* @__PURE__ */ M({
|
|
7976
7987
|
__name: "RoleMenuView",
|
|
7977
7988
|
props: {
|
|
7978
7989
|
roles_set: {},
|
|
@@ -7986,15 +7997,15 @@ var ia = {
|
|
|
7986
7997
|
roles: e.map((e) => e.id)
|
|
7987
7998
|
};
|
|
7988
7999
|
r("valar/view_menu", a).then((e) => {
|
|
7989
|
-
let t =
|
|
8000
|
+
let t = Bn(e);
|
|
7990
8001
|
n.value = t.rootNode.children || [];
|
|
7991
8002
|
});
|
|
7992
8003
|
}, {
|
|
7993
8004
|
deep: !0,
|
|
7994
8005
|
immediate: !0
|
|
7995
|
-
}), (e, t) => (F(), E(
|
|
8006
|
+
}), (e, t) => (F(), E(ba, { options: n.value }, null, 8, ["options"]));
|
|
7996
8007
|
}
|
|
7997
|
-
}),
|
|
8008
|
+
}), Sa = { style: { "text-align": "center" } }, Ca = /* @__PURE__ */ M({
|
|
7998
8009
|
__name: "AccountSetting",
|
|
7999
8010
|
props: { account: {} },
|
|
8000
8011
|
emits: ["update:account"],
|
|
@@ -8015,13 +8026,13 @@ var ia = {
|
|
|
8015
8026
|
return a.value === "user__name" && (t.display = e.username), t;
|
|
8016
8027
|
});
|
|
8017
8028
|
});
|
|
8018
|
-
}), (e, t) => (F(), O("div",
|
|
8029
|
+
}), (e, t) => (F(), O("div", Sa, [j(V(Dr), {
|
|
8019
8030
|
modelValue: V(n),
|
|
8020
8031
|
"onUpdate:modelValue": t[0] ||= (e) => N(n) ? n.value = e : null,
|
|
8021
8032
|
options: i.value
|
|
8022
8033
|
}, null, 8, ["modelValue", "options"])]));
|
|
8023
8034
|
}
|
|
8024
|
-
}),
|
|
8035
|
+
}), wa = /* @__PURE__ */ M({
|
|
8025
8036
|
__name: "RoleManage",
|
|
8026
8037
|
setup(e) {
|
|
8027
8038
|
let t = I(), n = I(), r = I(), i = [{
|
|
@@ -8040,7 +8051,7 @@ var ia = {
|
|
|
8040
8051
|
return (e, s) => {
|
|
8041
8052
|
let c = z("el-tag"), l = z("el-checkbox"), u = z("el-space");
|
|
8042
8053
|
return F(), O(w, null, [
|
|
8043
|
-
j(
|
|
8054
|
+
j(ga, {
|
|
8044
8055
|
ref_key: "treeRef",
|
|
8045
8056
|
ref: t,
|
|
8046
8057
|
code: "auth",
|
|
@@ -8074,7 +8085,7 @@ var ia = {
|
|
|
8074
8085
|
width: "600",
|
|
8075
8086
|
confirm: o
|
|
8076
8087
|
}, {
|
|
8077
|
-
default: U(({ data: e }) => [j(
|
|
8088
|
+
default: U(({ data: e }) => [j(Ca, {
|
|
8078
8089
|
account: e.account,
|
|
8079
8090
|
"onUpdate:account": (t) => e.account = t
|
|
8080
8091
|
}, null, 8, ["account", "onUpdate:account"])]),
|
|
@@ -8115,7 +8126,7 @@ var ia = {
|
|
|
8115
8126
|
}, 8, ["modelValue", "onUpdate:modelValue"]))]),
|
|
8116
8127
|
_: 2
|
|
8117
8128
|
}, 1024)]),
|
|
8118
|
-
default: U(({ data: e }) => [j(
|
|
8129
|
+
default: U(({ data: e }) => [j(xa, {
|
|
8119
8130
|
roles_set: a.value,
|
|
8120
8131
|
is_free: e.is_free
|
|
8121
8132
|
}, null, 8, ["roles_set", "is_free"])]),
|
|
@@ -8124,7 +8135,7 @@ var ia = {
|
|
|
8124
8135
|
], 64);
|
|
8125
8136
|
};
|
|
8126
8137
|
}
|
|
8127
|
-
}),
|
|
8138
|
+
}), Ta = /* @__PURE__ */ M({
|
|
8128
8139
|
__name: "MenuAuthPlugin",
|
|
8129
8140
|
props: {
|
|
8130
8141
|
data: {},
|
|
@@ -8203,7 +8214,7 @@ var ia = {
|
|
|
8203
8214
|
})) : D("", !0);
|
|
8204
8215
|
};
|
|
8205
8216
|
}
|
|
8206
|
-
}),
|
|
8217
|
+
}), Ea = { style: { "margin-bottom": "8px" } }, Da = /* @__PURE__ */ M({
|
|
8207
8218
|
__name: "RouteSetting",
|
|
8208
8219
|
props: {
|
|
8209
8220
|
routes: {},
|
|
@@ -8221,7 +8232,7 @@ var ia = {
|
|
|
8221
8232
|
}
|
|
8222
8233
|
return (t, n) => {
|
|
8223
8234
|
let r = z("el-select");
|
|
8224
|
-
return F(), O(w, null, [k("div",
|
|
8235
|
+
return F(), O(w, null, [k("div", Ea, [j(V(K), {
|
|
8225
8236
|
icon: "save",
|
|
8226
8237
|
disabled: i.value === e.menu.path,
|
|
8227
8238
|
onClick: a
|
|
@@ -8244,10 +8255,10 @@ var ia = {
|
|
|
8244
8255
|
}, 8, ["modelValue"])], 64);
|
|
8245
8256
|
};
|
|
8246
8257
|
}
|
|
8247
|
-
}),
|
|
8258
|
+
}), Oa = {
|
|
8248
8259
|
style: { "margin-bottom": "8px" },
|
|
8249
8260
|
class: "justified"
|
|
8250
|
-
},
|
|
8261
|
+
}, ka = /* @__PURE__ */ M({
|
|
8251
8262
|
__name: "AuthSetting",
|
|
8252
8263
|
props: { menu: {} },
|
|
8253
8264
|
emits: ["save"],
|
|
@@ -8270,7 +8281,7 @@ var ia = {
|
|
|
8270
8281
|
}
|
|
8271
8282
|
return (t, n) => {
|
|
8272
8283
|
let i = z("el-checkbox"), a = z("el-space"), o = z("el-tree-select");
|
|
8273
|
-
return F(), O(w, null, [k("div",
|
|
8284
|
+
return F(), O(w, null, [k("div", Oa, [j(a, null, {
|
|
8274
8285
|
default: U(() => [j(i, {
|
|
8275
8286
|
size: "small",
|
|
8276
8287
|
modelValue: e.menu.is_admin,
|
|
@@ -8329,12 +8340,12 @@ var ia = {
|
|
|
8329
8340
|
])], 64);
|
|
8330
8341
|
};
|
|
8331
8342
|
}
|
|
8332
|
-
}),
|
|
8343
|
+
}), Aa = /* @__PURE__ */ M({
|
|
8333
8344
|
__name: "MenuManage",
|
|
8334
8345
|
setup(e) {
|
|
8335
8346
|
let t = I(), n = I(), r = I(), i = I();
|
|
8336
8347
|
I();
|
|
8337
|
-
let { routes: a } =
|
|
8348
|
+
let { routes: a } = Fa(), { $message: o, $confirm: s } = J(), c = [
|
|
8338
8349
|
{
|
|
8339
8350
|
label: "路由设置",
|
|
8340
8351
|
popover: r,
|
|
@@ -8367,7 +8378,7 @@ var ia = {
|
|
|
8367
8378
|
icon: "lock",
|
|
8368
8379
|
leaf_only: !0
|
|
8369
8380
|
}
|
|
8370
|
-
], l = [{ component:
|
|
8381
|
+
], l = [{ component: Ta }], u = T(() => {
|
|
8371
8382
|
let e = t.value?.model.mapping || {}, n = Object.values(e).map((e) => e.path);
|
|
8372
8383
|
return a.value.filter((e) => !n.includes(e.path)).map(({ path: e, name: t }) => ({
|
|
8373
8384
|
label: t,
|
|
@@ -8384,7 +8395,7 @@ var ia = {
|
|
|
8384
8395
|
return (e, o) => {
|
|
8385
8396
|
let s = z("el-tag"), p = z("el-select");
|
|
8386
8397
|
return F(), O(w, null, [
|
|
8387
|
-
j(
|
|
8398
|
+
j(ga, {
|
|
8388
8399
|
ref_key: "treeRef",
|
|
8389
8400
|
ref: t,
|
|
8390
8401
|
entity: "valar.Menu",
|
|
@@ -8439,22 +8450,22 @@ var ia = {
|
|
|
8439
8450
|
}, 8, ["modelValue", "onUpdate:modelValue"])]),
|
|
8440
8451
|
_: 1
|
|
8441
8452
|
}, 512),
|
|
8442
|
-
j(V(
|
|
8453
|
+
j(V(rr), {
|
|
8443
8454
|
ref_key: "routePopoverRef",
|
|
8444
8455
|
ref: r
|
|
8445
8456
|
}, {
|
|
8446
|
-
default: U(({ data: e }) => [j(
|
|
8457
|
+
default: U(({ data: e }) => [j(Da, {
|
|
8447
8458
|
routes: u.value,
|
|
8448
8459
|
menu: e,
|
|
8449
8460
|
onSave: f
|
|
8450
8461
|
}, null, 8, ["routes", "menu"])]),
|
|
8451
8462
|
_: 1
|
|
8452
8463
|
}, 512),
|
|
8453
|
-
j(V(
|
|
8464
|
+
j(V(rr), {
|
|
8454
8465
|
ref_key: "rolePopoverRef",
|
|
8455
8466
|
ref: i
|
|
8456
8467
|
}, {
|
|
8457
|
-
default: U(({ data: e }) => [j(
|
|
8468
|
+
default: U(({ data: e }) => [j(ka, {
|
|
8458
8469
|
menu: e,
|
|
8459
8470
|
onSave: f
|
|
8460
8471
|
}, null, 8, ["menu"])]),
|
|
@@ -8463,7 +8474,7 @@ var ia = {
|
|
|
8463
8474
|
], 64);
|
|
8464
8475
|
};
|
|
8465
8476
|
}
|
|
8466
|
-
}),
|
|
8477
|
+
}), ja = /* @__PURE__ */ M({
|
|
8467
8478
|
__name: "UserManage",
|
|
8468
8479
|
setup(e) {
|
|
8469
8480
|
let { user: t } = Y(), n = I(), r = I(), i = T(() => t.value?.user_entity), a = I("auth"), { post: o } = X();
|
|
@@ -8475,7 +8486,7 @@ var ia = {
|
|
|
8475
8486
|
function c() {
|
|
8476
8487
|
r.value?.getMeta() && n.value?.open(i.value, a.value);
|
|
8477
8488
|
}
|
|
8478
|
-
return (e, t) => (F(), O(w, null, [i.value ? (F(), E(V(
|
|
8489
|
+
return (e, t) => (F(), O(w, null, [i.value ? (F(), E(V(da), {
|
|
8479
8490
|
key: 0,
|
|
8480
8491
|
ref_key: "tableRef",
|
|
8481
8492
|
ref: r,
|
|
@@ -8493,13 +8504,13 @@ var ia = {
|
|
|
8493
8504
|
_: 1
|
|
8494
8505
|
})]),
|
|
8495
8506
|
_: 1
|
|
8496
|
-
}, 8, ["entity", "code"])) : D("", !0), j(
|
|
8507
|
+
}, 8, ["entity", "code"])) : D("", !0), j(ua, {
|
|
8497
8508
|
ref_key: "uploadRef",
|
|
8498
8509
|
ref: n,
|
|
8499
8510
|
onConfirm: s
|
|
8500
8511
|
}, null, 512)], 64));
|
|
8501
8512
|
}
|
|
8502
|
-
}),
|
|
8513
|
+
}), Ma = /* @__PURE__ */ M({
|
|
8503
8514
|
__name: "MSystem",
|
|
8504
8515
|
setup(e) {
|
|
8505
8516
|
let t = I(), { account: n, user: r, system: i } = Y();
|
|
@@ -8521,7 +8532,7 @@ var ia = {
|
|
|
8521
8532
|
default: U(() => [...a[1] ||= [A("用户管理", -1)]]),
|
|
8522
8533
|
_: 1
|
|
8523
8534
|
})]),
|
|
8524
|
-
default: U(() => [V(i) === "user" ? (F(), E(
|
|
8535
|
+
default: U(() => [V(i) === "user" ? (F(), E(ja, { key: 0 })) : D("", !0)]),
|
|
8525
8536
|
_: 1
|
|
8526
8537
|
})) : D("", !0),
|
|
8527
8538
|
j(o, {
|
|
@@ -8543,7 +8554,7 @@ var ia = {
|
|
|
8543
8554
|
default: U(() => [...a[3] ||= [A("角色管理", -1)]]),
|
|
8544
8555
|
_: 1
|
|
8545
8556
|
})]),
|
|
8546
|
-
default: U(() => [V(i) === "role" ? (F(), E(
|
|
8557
|
+
default: U(() => [V(i) === "role" ? (F(), E(wa, { key: 0 })) : D("", !0)]),
|
|
8547
8558
|
_: 1
|
|
8548
8559
|
}),
|
|
8549
8560
|
j(o, {
|
|
@@ -8554,7 +8565,7 @@ var ia = {
|
|
|
8554
8565
|
default: U(() => [...a[4] ||= [A("菜单管理", -1)]]),
|
|
8555
8566
|
_: 1
|
|
8556
8567
|
})]),
|
|
8557
|
-
default: U(() => [V(i) === "menu" ? (F(), E(
|
|
8568
|
+
default: U(() => [V(i) === "menu" ? (F(), E(Aa, { key: 0 })) : D("", !0)]),
|
|
8558
8569
|
_: 1
|
|
8559
8570
|
}),
|
|
8560
8571
|
j(o, {
|
|
@@ -8565,14 +8576,14 @@ var ia = {
|
|
|
8565
8576
|
default: U(() => [...a[5] ||= [A("数据管理", -1)]]),
|
|
8566
8577
|
_: 1
|
|
8567
8578
|
})]),
|
|
8568
|
-
default: U(() => [V(i) === "meta" ? (F(), E(
|
|
8579
|
+
default: U(() => [V(i) === "meta" ? (F(), E(Di, {
|
|
8569
8580
|
key: 0,
|
|
8570
8581
|
entity: "valar.Valar",
|
|
8571
8582
|
code: "default",
|
|
8572
8583
|
locked: "",
|
|
8573
8584
|
onList: t.value?.openFieldList,
|
|
8574
8585
|
onForm: t.value?.openViewForm
|
|
8575
|
-
}, null, 8, ["onList", "onForm"])) : D("", !0), j(
|
|
8586
|
+
}, null, 8, ["onList", "onForm"])) : D("", !0), j(Gi, {
|
|
8576
8587
|
ref_key: "metaRef",
|
|
8577
8588
|
ref: t,
|
|
8578
8589
|
lock: "",
|
|
@@ -8586,7 +8597,7 @@ var ia = {
|
|
|
8586
8597
|
}, 8, ["modelValue"])) : D("", !0);
|
|
8587
8598
|
};
|
|
8588
8599
|
}
|
|
8589
|
-
}),
|
|
8600
|
+
}), Na = /* @__PURE__ */ M({
|
|
8590
8601
|
__name: "NotFound",
|
|
8591
8602
|
setup(e) {
|
|
8592
8603
|
let t = rn(), { counter: n, pause: r, resume: i, isActive: a } = Yt(1e3, {
|
|
@@ -8637,7 +8648,7 @@ var ia = {
|
|
|
8637
8648
|
});
|
|
8638
8649
|
};
|
|
8639
8650
|
}
|
|
8640
|
-
}),
|
|
8651
|
+
}), Pa = /* @__PURE__ */ M({
|
|
8641
8652
|
__name: "NoPermission",
|
|
8642
8653
|
setup(e) {
|
|
8643
8654
|
let t = rn(), { counter: n, pause: r, resume: i, isActive: a } = Yt(1e3, {
|
|
@@ -8688,21 +8699,21 @@ var ia = {
|
|
|
8688
8699
|
});
|
|
8689
8700
|
};
|
|
8690
8701
|
}
|
|
8691
|
-
}),
|
|
8702
|
+
}), Fa = Kt(() => {
|
|
8692
8703
|
let t = I({}), n = T(() => t.value?.base_url || "/api/"), r = T(() => t.value?.minio_url || "/minio/"), i = T(() => t.value?.title || "Morghulis System"), a = T(() => (t.value?.routes || []).filter((e) => e.path !== "/").map(({ path: e, name: t }) => ({
|
|
8693
8704
|
path: e,
|
|
8694
8705
|
name: t
|
|
8695
8706
|
}))), o = T(() => t.value?.sign_in_only || !1), s = T(() => t.value?.username_label || "");
|
|
8696
8707
|
function c(n, r) {
|
|
8697
|
-
t.value = r || {}, e.add(...
|
|
8698
|
-
let a = [...r?.routes || [], ...
|
|
8699
|
-
a.find((e) => e.path === "/") || a.unshift(
|
|
8708
|
+
t.value = r || {}, e.add(...za, ...r?.icons || []);
|
|
8709
|
+
let a = [...r?.routes || [], ...La];
|
|
8710
|
+
a.find((e) => e.path === "/") || a.unshift(Ia);
|
|
8700
8711
|
let o = en({
|
|
8701
8712
|
history: tn(),
|
|
8702
8713
|
routes: a
|
|
8703
8714
|
});
|
|
8704
8715
|
o.beforeEach((e) => {
|
|
8705
|
-
document.title = `${String(e.name)} - ${i.value}`,
|
|
8716
|
+
document.title = `${String(e.name)} - ${i.value}`, Ra.includes(e.path);
|
|
8706
8717
|
}), n.use(o);
|
|
8707
8718
|
}
|
|
8708
8719
|
return {
|
|
@@ -8715,11 +8726,11 @@ var ia = {
|
|
|
8715
8726
|
username_label: s,
|
|
8716
8727
|
install: c
|
|
8717
8728
|
};
|
|
8718
|
-
}),
|
|
8729
|
+
}), Ia = {
|
|
8719
8730
|
path: "/",
|
|
8720
8731
|
name: "Welcome",
|
|
8721
8732
|
component: Mn
|
|
8722
|
-
},
|
|
8733
|
+
}, La = [
|
|
8723
8734
|
{
|
|
8724
8735
|
path: "/:pathMatch(.*)*",
|
|
8725
8736
|
redirect: "/404"
|
|
@@ -8727,23 +8738,23 @@ var ia = {
|
|
|
8727
8738
|
{
|
|
8728
8739
|
path: "/morghulis_system",
|
|
8729
8740
|
name: "系统管理",
|
|
8730
|
-
component:
|
|
8741
|
+
component: Ma
|
|
8731
8742
|
},
|
|
8732
8743
|
{
|
|
8733
8744
|
path: "/404",
|
|
8734
8745
|
name: "页面没找到",
|
|
8735
|
-
component:
|
|
8746
|
+
component: Na
|
|
8736
8747
|
},
|
|
8737
8748
|
{
|
|
8738
8749
|
path: "/403",
|
|
8739
8750
|
name: "没有权限",
|
|
8740
|
-
component:
|
|
8751
|
+
component: Pa
|
|
8741
8752
|
}
|
|
8742
|
-
],
|
|
8753
|
+
], Ra = [
|
|
8743
8754
|
"/",
|
|
8744
8755
|
"/404",
|
|
8745
8756
|
"/403"
|
|
8746
|
-
],
|
|
8757
|
+
], za = [
|
|
8747
8758
|
pt,
|
|
8748
8759
|
Re,
|
|
8749
8760
|
We,
|
|
@@ -8845,11 +8856,11 @@ var ia = {
|
|
|
8845
8856
|
mt,
|
|
8846
8857
|
r,
|
|
8847
8858
|
_t
|
|
8848
|
-
],
|
|
8859
|
+
], Ba = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
|
|
8849
8860
|
//#endregion
|
|
8850
8861
|
//#region morghulis/library/use-auth/index.ts
|
|
8851
|
-
function
|
|
8852
|
-
let { post: e } = X(), { $confirm: t, $message: n } = J(), { sign_in: r, sign_out: i, token: a, register: o } = Y(), { options: s } =
|
|
8862
|
+
function Va() {
|
|
8863
|
+
let { post: e } = X(), { $confirm: t, $message: n } = J(), { sign_in: r, sign_out: i, token: a, register: o } = Y(), { options: s } = Fa();
|
|
8853
8864
|
async function c(t) {
|
|
8854
8865
|
try {
|
|
8855
8866
|
let n = await e("/valar/sign", t);
|
|
@@ -8879,7 +8890,7 @@ function Ba() {
|
|
|
8879
8890
|
flush: "sync"
|
|
8880
8891
|
});
|
|
8881
8892
|
function u(e) {
|
|
8882
|
-
let t =
|
|
8893
|
+
let t = Ua(e, s.value) || Ha(e);
|
|
8883
8894
|
return t && n.error(t), !t;
|
|
8884
8895
|
}
|
|
8885
8896
|
return {
|
|
@@ -8888,17 +8899,17 @@ function Ba() {
|
|
|
8888
8899
|
validate: u
|
|
8889
8900
|
};
|
|
8890
8901
|
}
|
|
8891
|
-
function
|
|
8902
|
+
function Ha(e) {
|
|
8892
8903
|
return e.password.length < 8 ? "密码长度不小于8位" : e.is_sign_in || e.password === e.$password ? null : "两次输入的密码不一致";
|
|
8893
8904
|
}
|
|
8894
|
-
function
|
|
8905
|
+
function Ua(e, t) {
|
|
8895
8906
|
if (e.username === "admin") return null;
|
|
8896
8907
|
let { username_label: n, username_exp: r } = t;
|
|
8897
|
-
return ((n ? r || /.+/ :
|
|
8908
|
+
return ((n ? r || /.+/ : Ba).test(e.username) ? null : `${n || "邮箱"}格式错误`) || (n && !e.is_sign_in ? Ba.test(e.email) ? null : "邮箱格式错误" : null);
|
|
8898
8909
|
}
|
|
8899
8910
|
//#endregion
|
|
8900
8911
|
//#region morghulis/library/use-data/index.ts
|
|
8901
|
-
function
|
|
8912
|
+
function Wa(e) {
|
|
8902
8913
|
let t = {
|
|
8903
8914
|
line: e?.line ?? "\r\n",
|
|
8904
8915
|
cell: e?.cell ?? " "
|
|
@@ -8919,13 +8930,13 @@ function Ua(e) {
|
|
|
8919
8930
|
}
|
|
8920
8931
|
//#endregion
|
|
8921
8932
|
//#region morghulis/library/use-excel/index.ts
|
|
8922
|
-
function
|
|
8933
|
+
function Ga() {
|
|
8923
8934
|
async function e(e, t = !0) {
|
|
8924
8935
|
let n = await (await fetch(e)).arrayBuffer();
|
|
8925
|
-
return e.endsWith(".csv") ?
|
|
8936
|
+
return e.endsWith(".csv") ? Ka(new TextDecoder("utf-8").decode(n), t) : Ka(n, t);
|
|
8926
8937
|
}
|
|
8927
8938
|
async function t(e, t = !0) {
|
|
8928
|
-
return
|
|
8939
|
+
return Ka(await e.arrayBuffer(), t);
|
|
8929
8940
|
}
|
|
8930
8941
|
async function n(e, ...t) {
|
|
8931
8942
|
let { utils: n, writeFile: r } = await import("xlsx"), i = n.book_new();
|
|
@@ -8947,7 +8958,7 @@ function Wa() {
|
|
|
8947
8958
|
zip: r
|
|
8948
8959
|
};
|
|
8949
8960
|
}
|
|
8950
|
-
async function
|
|
8961
|
+
async function Ka(e, t) {
|
|
8951
8962
|
let { utils: n, read: r, SSF: i } = await import("xlsx"), a = r(e, {
|
|
8952
8963
|
type: "binary",
|
|
8953
8964
|
cellDates: !0
|
|
@@ -8975,7 +8986,7 @@ async function Ga(e, t) {
|
|
|
8975
8986
|
}
|
|
8976
8987
|
//#endregion
|
|
8977
8988
|
//#region morghulis/library/use-menu/index.ts
|
|
8978
|
-
var
|
|
8989
|
+
var qa = Kt(() => {
|
|
8979
8990
|
let e = I({
|
|
8980
8991
|
mapping: {},
|
|
8981
8992
|
options: [],
|
|
@@ -8983,7 +8994,7 @@ var Ka = Kt(() => {
|
|
|
8983
8994
|
}), { post: t, loading: n } = X();
|
|
8984
8995
|
function r() {
|
|
8985
8996
|
t("valar/load_menu").then((t) => {
|
|
8986
|
-
e.value =
|
|
8997
|
+
e.value = Bn(t);
|
|
8987
8998
|
});
|
|
8988
8999
|
}
|
|
8989
9000
|
return {
|
|
@@ -8994,10 +9005,10 @@ var Ka = Kt(() => {
|
|
|
8994
9005
|
});
|
|
8995
9006
|
//#endregion
|
|
8996
9007
|
//#region morghulis/library/use-plugin/index.ts
|
|
8997
|
-
function
|
|
9008
|
+
function Ja(e, t) {
|
|
8998
9009
|
return { columns: T(() => (e.value || []).filter((e) => !e.codes?.length || e.codes.includes(t.value))) };
|
|
8999
9010
|
}
|
|
9000
|
-
function
|
|
9011
|
+
function Ya(e, t, n) {
|
|
9001
9012
|
return { buttons: T(() => (e.value || []).filter((e) => !e.codes?.length || e.codes.includes(t.value)).filter((e) => {
|
|
9002
9013
|
let t = e.hide == null ? !1 : e.hide instanceof Function ? e.hide(n.value) : e.hide, r = e.leaf_only ? n.value.isLeaf ?? !0 : !0, i = !e.folder_only || n.value.isLeaf == null || !n.value.isLeaf;
|
|
9003
9014
|
return !t && i && r;
|
|
@@ -9018,7 +9029,7 @@ function Ja(e, t, n) {
|
|
|
9018
9029
|
}
|
|
9019
9030
|
//#endregion
|
|
9020
9031
|
//#region morghulis/library/use-size/index.ts
|
|
9021
|
-
function
|
|
9032
|
+
function Xa() {
|
|
9022
9033
|
let { height: e } = $t();
|
|
9023
9034
|
return { frame: T(() => {
|
|
9024
9035
|
let t = {
|
|
@@ -9032,12 +9043,12 @@ function Ya() {
|
|
|
9032
9043
|
}
|
|
9033
9044
|
//#endregion
|
|
9034
9045
|
//#region morghulis/components/feedback/MDialog.vue?vue&type=script&setup=true&lang.ts
|
|
9035
|
-
var
|
|
9046
|
+
var Za = { class: "justified" }, Qa = {
|
|
9036
9047
|
class: "m-dialog-content",
|
|
9037
9048
|
"element-loading-custom-class": "m-dialog-loading",
|
|
9038
9049
|
"element-loading-background": "rgba(255,255,255,0.6)",
|
|
9039
9050
|
"element-loading-text": "加载中..."
|
|
9040
|
-
},
|
|
9051
|
+
}, $a = {
|
|
9041
9052
|
key: 0,
|
|
9042
9053
|
class: "right"
|
|
9043
9054
|
}, $ = /* @__PURE__ */ M({
|
|
@@ -9124,7 +9135,7 @@ var Xa = { class: "justified" }, Za = {
|
|
|
9124
9135
|
onClosed: t[1] ||= (e) => i("closed"),
|
|
9125
9136
|
onKeydown: Wt(v, ["esc"])
|
|
9126
9137
|
}, {
|
|
9127
|
-
header: U(() => [k("div",
|
|
9138
|
+
header: U(() => [k("div", Za, [j(r, null, {
|
|
9128
9139
|
default: U(() => [R(e.$slots, "header", { data: l.value }, () => [j(n, { tag: "b" }, {
|
|
9129
9140
|
default: U(() => [A(B(u.value.title), 1)]),
|
|
9130
9141
|
_: 1
|
|
@@ -9154,7 +9165,7 @@ var Xa = { class: "justified" }, Za = {
|
|
|
9154
9165
|
]),
|
|
9155
9166
|
_: 3
|
|
9156
9167
|
})])]),
|
|
9157
|
-
footer: U(() => [m.value ? (F(), O("div",
|
|
9168
|
+
footer: U(() => [m.value ? (F(), O("div", $a, [j(a, {
|
|
9158
9169
|
type: "success",
|
|
9159
9170
|
plain: "",
|
|
9160
9171
|
loading: c.value,
|
|
@@ -9171,7 +9182,7 @@ var Xa = { class: "justified" }, Za = {
|
|
|
9171
9182
|
default: U(() => [j(G, { icon: "xmark-circle" }), t[3] ||= A(" 取消 ", -1)]),
|
|
9172
9183
|
_: 1
|
|
9173
9184
|
}, 8, ["disabled"])])) : D("", !0)]),
|
|
9174
|
-
default: U(() => [Ut((F(), O("div",
|
|
9185
|
+
default: U(() => [Ut((F(), O("div", Qa, [R(e.$slots, "default", { data: l.value })])), [[p, c.value]])]),
|
|
9175
9186
|
_: 3
|
|
9176
9187
|
}, 8, [
|
|
9177
9188
|
"modelValue",
|
|
@@ -9181,7 +9192,7 @@ var Xa = { class: "justified" }, Za = {
|
|
|
9181
9192
|
]);
|
|
9182
9193
|
};
|
|
9183
9194
|
}
|
|
9184
|
-
}),
|
|
9195
|
+
}), eo = /* @__PURE__ */ M({
|
|
9185
9196
|
__name: "MCharts",
|
|
9186
9197
|
props: {
|
|
9187
9198
|
options: { default: {
|
|
@@ -9231,30 +9242,30 @@ var Xa = { class: "justified" }, Za = {
|
|
|
9231
9242
|
})
|
|
9232
9243
|
}, null, 4));
|
|
9233
9244
|
}
|
|
9234
|
-
}),
|
|
9235
|
-
DataTable: () =>
|
|
9236
|
-
DataTree: () =>
|
|
9237
|
-
DataWrapper: () =>
|
|
9245
|
+
}), to = /* @__PURE__ */ Sn({
|
|
9246
|
+
DataTable: () => da,
|
|
9247
|
+
DataTree: () => ga,
|
|
9248
|
+
DataWrapper: () => Vr,
|
|
9238
9249
|
MButton: () => K,
|
|
9239
|
-
MCell: () =>
|
|
9240
|
-
MCharts: () =>
|
|
9250
|
+
MCell: () => Rr,
|
|
9251
|
+
MCharts: () => eo,
|
|
9241
9252
|
MDialog: () => $,
|
|
9242
|
-
MForm: () =>
|
|
9253
|
+
MForm: () => ii,
|
|
9243
9254
|
MIcon: () => G,
|
|
9244
|
-
MObjectEditor: () =>
|
|
9255
|
+
MObjectEditor: () => Pr,
|
|
9245
9256
|
MOptionContent: () => Dn,
|
|
9246
9257
|
MOptionItem: () => On,
|
|
9247
9258
|
MOptionList: () => kn,
|
|
9248
|
-
MPopover: () =>
|
|
9249
|
-
MRichEditor: () =>
|
|
9259
|
+
MPopover: () => rr,
|
|
9260
|
+
MRichEditor: () => Ir,
|
|
9250
9261
|
MText: () => q,
|
|
9251
|
-
MTransferEditor: () =>
|
|
9252
|
-
MUploader: () =>
|
|
9253
|
-
}),
|
|
9262
|
+
MTransferEditor: () => Dr,
|
|
9263
|
+
MUploader: () => ua
|
|
9264
|
+
}), no = /* @__PURE__ */ M({
|
|
9254
9265
|
__name: "FrameMenu",
|
|
9255
9266
|
emits: ["click"],
|
|
9256
9267
|
setup(e, { expose: t, emit: n }) {
|
|
9257
|
-
let { model: r, loading: i, load: a } =
|
|
9268
|
+
let { model: r, loading: i, load: a } = qa(), o = T(() => l.path), s = I(), c = rn(), l = nn(), u = I(!1), { height: d } = $t();
|
|
9258
9269
|
H(o, () => {
|
|
9259
9270
|
kt().then(() => s.value?.setCurrentKey(o.value));
|
|
9260
9271
|
}, { immediate: !0 });
|
|
@@ -9306,7 +9317,7 @@ var Xa = { class: "justified" }, Za = {
|
|
|
9306
9317
|
}, 8, ["disabled"]), k("div", {
|
|
9307
9318
|
style: jt({ height: `${V(d) - 90}px` }),
|
|
9308
9319
|
class: "menu-tree-wrapper"
|
|
9309
|
-
}, [j(
|
|
9320
|
+
}, [j(ba, {
|
|
9310
9321
|
options: V(r).rootNode?.children || [],
|
|
9311
9322
|
current: o.value,
|
|
9312
9323
|
onGoto: f
|
|
@@ -9315,14 +9326,14 @@ var Xa = { class: "justified" }, Za = {
|
|
|
9315
9326
|
}, 8, ["modelValue", "onOpen"])], 64);
|
|
9316
9327
|
};
|
|
9317
9328
|
}
|
|
9318
|
-
}),
|
|
9329
|
+
}), ro = {
|
|
9319
9330
|
key: 1,
|
|
9320
9331
|
class: "right"
|
|
9321
|
-
},
|
|
9332
|
+
}, io = /* @__PURE__ */ M({
|
|
9322
9333
|
__name: "LoginForm",
|
|
9323
9334
|
emits: ["retrieve"],
|
|
9324
9335
|
setup(e, { expose: t, emit: n }) {
|
|
9325
|
-
let r = n, { username_label: i, sign_in_only: a } =
|
|
9336
|
+
let r = n, { username_label: i, sign_in_only: a } = Fa(), { validate: o } = Va(), s = I({
|
|
9326
9337
|
is_sign_in: !0,
|
|
9327
9338
|
username: "",
|
|
9328
9339
|
email: "",
|
|
@@ -9370,7 +9381,7 @@ var Xa = { class: "justified" }, Za = {
|
|
|
9370
9381
|
}, null, 8, ["modelValue"])]),
|
|
9371
9382
|
_: 1
|
|
9372
9383
|
}),
|
|
9373
|
-
s.value.is_sign_in ? (F(), O("div",
|
|
9384
|
+
s.value.is_sign_in ? (F(), O("div", ro, [j(V(K), {
|
|
9374
9385
|
type: "info",
|
|
9375
9386
|
onClick: c
|
|
9376
9387
|
}, {
|
|
@@ -9404,7 +9415,7 @@ var Xa = { class: "justified" }, Za = {
|
|
|
9404
9415
|
}]), 1024);
|
|
9405
9416
|
};
|
|
9406
9417
|
}
|
|
9407
|
-
}),
|
|
9418
|
+
}), ao = /* @__PURE__ */ M({
|
|
9408
9419
|
__name: "ProfileManage",
|
|
9409
9420
|
setup(e, { expose: t }) {
|
|
9410
9421
|
let { account: n, user: r } = Y(), { $message: i } = J(), { manager: a } = Q(r.value.user_entity || "valar.Valar"), { post: o } = X(), s = I(), c = I({}), l = I([]);
|
|
@@ -9414,7 +9425,7 @@ var Xa = { class: "justified" }, Za = {
|
|
|
9414
9425
|
async function u() {
|
|
9415
9426
|
return ln(c.value) || await a.save_one(c.value), !0;
|
|
9416
9427
|
}
|
|
9417
|
-
return t({ save: u }), (e, t) => s.value ? (F(), E(V(
|
|
9428
|
+
return t({ save: u }), (e, t) => s.value ? (F(), E(V(ii), {
|
|
9418
9429
|
key: 0,
|
|
9419
9430
|
original: s.value,
|
|
9420
9431
|
modelValue: c.value,
|
|
@@ -9426,7 +9437,7 @@ var Xa = { class: "justified" }, Za = {
|
|
|
9426
9437
|
"fields"
|
|
9427
9438
|
])) : D("", !0);
|
|
9428
9439
|
}
|
|
9429
|
-
}),
|
|
9440
|
+
}), oo = { key: 0 }, so = /* @__PURE__ */ M({
|
|
9430
9441
|
__name: "PasswordManage",
|
|
9431
9442
|
setup(e, { expose: t }) {
|
|
9432
9443
|
let n = I(), { user: r, account: i } = Y(), a = I({
|
|
@@ -9484,7 +9495,7 @@ var Xa = { class: "justified" }, Za = {
|
|
|
9484
9495
|
}, {
|
|
9485
9496
|
default: U(() => [
|
|
9486
9497
|
j(c, { prop: "old_password" }, {
|
|
9487
|
-
label: U(() => [t[4] ||= A(" 旧密码", -1), V(i).isTemporal ? (F(), O("span",
|
|
9498
|
+
label: U(() => [t[4] ||= A(" 旧密码", -1), V(i).isTemporal ? (F(), O("span", oo, " (或临时密码)")) : D("", !0)]),
|
|
9488
9499
|
default: U(() => [j(o, {
|
|
9489
9500
|
type: "password",
|
|
9490
9501
|
"show-password": "",
|
|
@@ -9522,17 +9533,17 @@ var Xa = { class: "justified" }, Za = {
|
|
|
9522
9533
|
}, 8, ["model"])], 64);
|
|
9523
9534
|
};
|
|
9524
9535
|
}
|
|
9525
|
-
}),
|
|
9536
|
+
}), co = /* @__PURE__ */ M({
|
|
9526
9537
|
__name: "AccountManage",
|
|
9527
9538
|
setup(e, { expose: t }) {
|
|
9528
|
-
let { user: n, account: r } = Y(), { username_label: i } =
|
|
9539
|
+
let { user: n, account: r } = Y(), { username_label: i } = Fa(), { $message: a } = J(), { manager: o } = Q("valar.Account"), s = I(), c = I({}), l = I([]);
|
|
9529
9540
|
P(async () => {
|
|
9530
9541
|
s.value = await o.fetch(r.value.id);
|
|
9531
9542
|
let e = await o.meta("edit");
|
|
9532
9543
|
l.value = e.fields.map((e) => (e.prop === "username" && i.value && (e.label = i.value), e));
|
|
9533
9544
|
});
|
|
9534
9545
|
async function u() {
|
|
9535
|
-
return ln(c.value) ? (a.warning("还未补充邮箱信息"), !1) :
|
|
9546
|
+
return ln(c.value) ? (a.warning("还未补充邮箱信息"), !1) : Ba.test(c.value.email) ? (await o.save_one(c.value), !0) : (a.warning("邮箱格式错误"), !1);
|
|
9536
9547
|
}
|
|
9537
9548
|
return t({ save: u }), (e, t) => {
|
|
9538
9549
|
let n = z("el-alert");
|
|
@@ -9551,7 +9562,7 @@ var Xa = { class: "justified" }, Za = {
|
|
|
9551
9562
|
_: 1
|
|
9552
9563
|
})]),
|
|
9553
9564
|
_: 1
|
|
9554
|
-
})), s.value ? (F(), E(V(
|
|
9565
|
+
})), s.value ? (F(), E(V(ii), {
|
|
9555
9566
|
key: 1,
|
|
9556
9567
|
original: s.value,
|
|
9557
9568
|
modelValue: c.value,
|
|
@@ -9564,7 +9575,7 @@ var Xa = { class: "justified" }, Za = {
|
|
|
9564
9575
|
])) : D("", !0)], 64);
|
|
9565
9576
|
};
|
|
9566
9577
|
}
|
|
9567
|
-
}),
|
|
9578
|
+
}), lo = /* @__PURE__ */ M({
|
|
9568
9579
|
__name: "AuthDropdown",
|
|
9569
9580
|
setup(e) {
|
|
9570
9581
|
let { user: t, account: n, sign_in: r } = Y(), i = I(), a = I(), o = Rt();
|
|
@@ -9589,17 +9600,17 @@ var Xa = { class: "justified" }, Za = {
|
|
|
9589
9600
|
return !e || !t || r;
|
|
9590
9601
|
}), d = {
|
|
9591
9602
|
profile: {
|
|
9592
|
-
component:
|
|
9603
|
+
component: ao,
|
|
9593
9604
|
title: "个人信息管理",
|
|
9594
9605
|
width: 600
|
|
9595
9606
|
},
|
|
9596
9607
|
account: {
|
|
9597
|
-
component:
|
|
9608
|
+
component: co,
|
|
9598
9609
|
title: "账户信息管理",
|
|
9599
9610
|
width: 600
|
|
9600
9611
|
},
|
|
9601
9612
|
password: {
|
|
9602
|
-
component:
|
|
9613
|
+
component: so,
|
|
9603
9614
|
title: "密码管理",
|
|
9604
9615
|
width: 350
|
|
9605
9616
|
}
|
|
@@ -9679,10 +9690,10 @@ var Xa = { class: "justified" }, Za = {
|
|
|
9679
9690
|
}, 512)], 64);
|
|
9680
9691
|
};
|
|
9681
9692
|
}
|
|
9682
|
-
}),
|
|
9693
|
+
}), uo = /* @__PURE__ */ M({
|
|
9683
9694
|
__name: "FrameAuth",
|
|
9684
9695
|
setup(e) {
|
|
9685
|
-
let t = I(), n = I(), r = I(), { account: i, is_login: a } = Y(), { sign: o, exit: s } =
|
|
9696
|
+
let t = I(), n = I(), r = I(), { account: i, is_login: a } = Y(), { sign: o, exit: s } = Va();
|
|
9686
9697
|
function c() {
|
|
9687
9698
|
t.value?.open();
|
|
9688
9699
|
}
|
|
@@ -9692,7 +9703,7 @@ var Xa = { class: "justified" }, Za = {
|
|
|
9692
9703
|
}
|
|
9693
9704
|
let u = { email: [{
|
|
9694
9705
|
validator: (e, t, n) => {
|
|
9695
|
-
t === "" ? n(/* @__PURE__ */ Error("请输入邮箱")) :
|
|
9706
|
+
t === "" ? n(/* @__PURE__ */ Error("请输入邮箱")) : Ba.test(t) ? n() : n(/* @__PURE__ */ Error("邮箱格式错误"));
|
|
9696
9707
|
},
|
|
9697
9708
|
trigger: "blur"
|
|
9698
9709
|
}] }, d = I(), { post: f } = X();
|
|
@@ -9707,7 +9718,7 @@ var Xa = { class: "justified" }, Za = {
|
|
|
9707
9718
|
return F(), O(w, null, [
|
|
9708
9719
|
V(a) ? (F(), E(f, { key: 0 }, {
|
|
9709
9720
|
default: U(() => [
|
|
9710
|
-
j(
|
|
9721
|
+
j(lo),
|
|
9711
9722
|
V(i)?.is_admin ? (F(), E(V(K), {
|
|
9712
9723
|
key: 0,
|
|
9713
9724
|
icon: e.$route.path === "/morghulis_system" ? "rotate-backward" : "gear",
|
|
@@ -9743,7 +9754,7 @@ var Xa = { class: "justified" }, Za = {
|
|
|
9743
9754
|
width: "400",
|
|
9744
9755
|
confirm: l
|
|
9745
9756
|
}, {
|
|
9746
|
-
default: U(() => [j(
|
|
9757
|
+
default: U(() => [j(io, {
|
|
9747
9758
|
ref_key: "form",
|
|
9748
9759
|
ref: r,
|
|
9749
9760
|
onRetrieve: o[1] ||= (e) => n.value?.open({ email: "" })
|
|
@@ -9782,11 +9793,11 @@ var Xa = { class: "justified" }, Za = {
|
|
|
9782
9793
|
], 64);
|
|
9783
9794
|
};
|
|
9784
9795
|
}
|
|
9785
|
-
}),
|
|
9796
|
+
}), fo = /* @__PURE__ */ M({
|
|
9786
9797
|
__name: "FrameNavigate",
|
|
9787
9798
|
emits: ["open"],
|
|
9788
9799
|
setup(e, { emit: t }) {
|
|
9789
|
-
let { model: n } =
|
|
9800
|
+
let { model: n } = qa();
|
|
9790
9801
|
rn();
|
|
9791
9802
|
let r = nn(), i = t, a = T(() => r.path), o = T(() => {
|
|
9792
9803
|
let e = Object.values(n.value.mapping), t = e.find((e) => e.path === a.value), r = [];
|
|
@@ -9839,16 +9850,16 @@ var Xa = { class: "justified" }, Za = {
|
|
|
9839
9850
|
});
|
|
9840
9851
|
};
|
|
9841
9852
|
}
|
|
9842
|
-
}),
|
|
9853
|
+
}), po = {
|
|
9843
9854
|
class: "justified",
|
|
9844
9855
|
style: { height: "100%" }
|
|
9845
|
-
},
|
|
9856
|
+
}, mo = {
|
|
9846
9857
|
class: "justified",
|
|
9847
9858
|
style: { height: "100%" }
|
|
9848
|
-
},
|
|
9859
|
+
}, ho = /*#__PURE__*/ wn(/* @__PURE__ */ M({
|
|
9849
9860
|
__name: "MFrame",
|
|
9850
9861
|
setup(e) {
|
|
9851
|
-
let { frame: t } =
|
|
9862
|
+
let { frame: t } = Xa(), n = T(() => `${t.value.body}px`), r = rn(), { title: i } = Fa(), a = I();
|
|
9852
9863
|
return (e, o) => {
|
|
9853
9864
|
let s = z("el-divider"), c = z("el-text"), l = z("el-space"), u = z("el-header"), d = z("router-view"), f = z("el-main"), p = z("el-link"), m = z("el-footer"), h = z("el-container");
|
|
9854
9865
|
return F(), E(h, { class: "container" }, {
|
|
@@ -9857,9 +9868,9 @@ var Xa = { class: "justified" }, Za = {
|
|
|
9857
9868
|
class: "header",
|
|
9858
9869
|
height: `${V(t).header}px`
|
|
9859
9870
|
}, {
|
|
9860
|
-
default: U(() => [k("div",
|
|
9871
|
+
default: U(() => [k("div", po, [j(l, null, {
|
|
9861
9872
|
default: U(() => [
|
|
9862
|
-
j(
|
|
9873
|
+
j(no, {
|
|
9863
9874
|
ref_key: "menuRef",
|
|
9864
9875
|
ref: a
|
|
9865
9876
|
}, null, 512),
|
|
@@ -9879,7 +9890,7 @@ var Xa = { class: "justified" }, Za = {
|
|
|
9879
9890
|
]),
|
|
9880
9891
|
_: 1
|
|
9881
9892
|
}), j(l, null, {
|
|
9882
|
-
default: U(() => [R(e.$slots, "tool", {}, void 0, !0), j(
|
|
9893
|
+
default: U(() => [R(e.$slots, "tool", {}, void 0, !0), j(uo)]),
|
|
9883
9894
|
_: 3
|
|
9884
9895
|
})])]),
|
|
9885
9896
|
_: 3
|
|
@@ -9888,7 +9899,7 @@ var Xa = { class: "justified" }, Za = {
|
|
|
9888
9899
|
class: "neck",
|
|
9889
9900
|
height: `${V(t).neck}px`
|
|
9890
9901
|
}, {
|
|
9891
|
-
default: U(() => [k("div",
|
|
9902
|
+
default: U(() => [k("div", mo, [j(fo, { onOpen: o[1] ||= (e) => a.value?.open() }), j(l, null, {
|
|
9892
9903
|
default: U(() => [R(e.$slots, "tag", {}, void 0, !0)]),
|
|
9893
9904
|
_: 3
|
|
9894
9905
|
})])]),
|
|
@@ -9939,13 +9950,13 @@ var Xa = { class: "justified" }, Za = {
|
|
|
9939
9950
|
});
|
|
9940
9951
|
};
|
|
9941
9952
|
}
|
|
9942
|
-
}), [["__scopeId", "data-v-1b59bf74"]]),
|
|
9953
|
+
}), [["__scopeId", "data-v-1b59bf74"]]), go = /* @__PURE__ */ M({
|
|
9943
9954
|
__name: "MApp",
|
|
9944
9955
|
setup(e) {
|
|
9945
|
-
let { title: t } =
|
|
9956
|
+
let { title: t } = Fa(), { open: n, status: r } = Ln();
|
|
9946
9957
|
return (e, i) => {
|
|
9947
9958
|
let a = z("el-text"), o = z("el-result"), s = z("el-button");
|
|
9948
|
-
return V(r).code === 200 ? (F(), E(
|
|
9959
|
+
return V(r).code === 200 ? (F(), E(ho, { key: 0 }, {
|
|
9949
9960
|
tool: U(() => [R(e.$slots, "tool")]),
|
|
9950
9961
|
footer: U(() => [R(e.$slots, "footer")]),
|
|
9951
9962
|
_: 3
|
|
@@ -10000,11 +10011,11 @@ var Xa = { class: "justified" }, Za = {
|
|
|
10000
10011
|
})) : D("", !0);
|
|
10001
10012
|
};
|
|
10002
10013
|
}
|
|
10003
|
-
}),
|
|
10004
|
-
let { install: n } =
|
|
10005
|
-
n(e, t), Object.entries(
|
|
10014
|
+
}), _o = to, vo = (t) => (e.add(wt), { install(e) {
|
|
10015
|
+
let { install: n } = Fa();
|
|
10016
|
+
n(e, t), Object.entries(_o).forEach(([t, n]) => {
|
|
10006
10017
|
e.component(t, n);
|
|
10007
10018
|
});
|
|
10008
10019
|
} });
|
|
10009
10020
|
//#endregion
|
|
10010
|
-
export {
|
|
10021
|
+
export { da as DataTable, ga as DataTree, Vr as DataWrapper, go as MApp, K as MButton, Rr as MCell, eo as MCharts, $ as MDialog, ii as MForm, G as MIcon, Pr as MObjectEditor, Dn as MOptionContent, On as MOptionItem, kn as MOptionList, rr as MPopover, Ir as MRichEditor, q as MText, Dr as MTransferEditor, ua as MUploader, vo as createMorghulis, vo as default, Va as useAuth, zn as useChannel, Pn as useChannelContainer, Q as useDao, Wa as useData, Ga as useExcel, J as useFeedback, Xa as useFrameSize, qa as useMenu, Qn as useMetaQuery, Fa as useOptionState, oi as usePagination, Ji as usePaster, Ya as usePluginButton, Ja as usePluginColumn, X as useRequest, Ln as useSocket, Rn as useSocketCallback, Y as useUserState, er as useValar };
|