@chewel611/naive-ui-plus 0.0.17 → 0.0.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +75 -70
- package/dist/index.umd.cjs +1 -1
- package/es/modal/PModal.vue.js +30 -27
- package/es/table/PTable.vue.js +2 -0
- package/lib/modal/PModal.vue.cjs +1 -1
- package/lib/table/PTable.vue.cjs +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -32,7 +32,7 @@ const Be = (t) => {
|
|
|
32
32
|
onDelete: {}
|
|
33
33
|
},
|
|
34
34
|
setup(t, { expose: d }) {
|
|
35
|
-
const h = M(null), v = $e(), w = ce(), p = M(!1), L = M([]), k = M([]), T = M(null), x = M(!1),
|
|
35
|
+
const h = M(null), v = $e(), w = ce(), p = M(!1), L = M([]), k = M([]), T = M(null), x = M(!1), f = M(!1), u = M(!1), r = M({}), P = M({
|
|
36
36
|
page: 1,
|
|
37
37
|
itemCount: 0,
|
|
38
38
|
pageSize: 10,
|
|
@@ -135,16 +135,16 @@ const Be = (t) => {
|
|
|
135
135
|
}, oe = async () => {
|
|
136
136
|
if (o.onSave)
|
|
137
137
|
try {
|
|
138
|
-
|
|
138
|
+
u.value = !0, (x.value ? await o.onSave(void 0, X(o.item)) : await o.onSave(T.value[o.idField], X(o.item))) && (K(), await W());
|
|
139
139
|
} catch (c) {
|
|
140
140
|
w.error(c.message);
|
|
141
141
|
} finally {
|
|
142
|
-
|
|
142
|
+
u.value = !1;
|
|
143
143
|
}
|
|
144
144
|
}, le = async (c, e) => {
|
|
145
|
-
o.onOpenModal?.(c), await e?.(), c ? (x.value = !1,
|
|
145
|
+
o.onOpenModal?.(c), await e?.(), c ? (x.value = !1, f.value = !0) : (f.value = !1, x.value = !0);
|
|
146
146
|
}, K = () => {
|
|
147
|
-
T.value = null, Be(o.item), Object.assign(o.item, { ...X(r.value) }), o.onCloseModal?.(o.item), x.value = !1,
|
|
147
|
+
T.value = null, Be(o.item), Object.assign(o.item, { ...X(r.value) }), o.onCloseModal?.(o.item), x.value = !1, f.value = !1;
|
|
148
148
|
}, Y = () => L.value ? k.value.filter((e) => L.value.includes(e.id)).map((e) => X(e)) : [], fe = () => Y()[0], pe = () => X(k.value), W = async () => {
|
|
149
149
|
if (!p.value) {
|
|
150
150
|
p.value = !0;
|
|
@@ -308,6 +308,7 @@ const Be = (t) => {
|
|
|
308
308
|
closable: !1,
|
|
309
309
|
"close-on-esc": !1,
|
|
310
310
|
"mask-closable": !1,
|
|
311
|
+
draggable: !0,
|
|
311
312
|
style: ie({ width: `${c.modalWidth}px` })
|
|
312
313
|
}, {
|
|
313
314
|
action: s(() => [
|
|
@@ -315,7 +316,7 @@ const Be = (t) => {
|
|
|
315
316
|
default: s(() => [
|
|
316
317
|
i(a(q), {
|
|
317
318
|
type: "primary",
|
|
318
|
-
loading:
|
|
319
|
+
loading: u.value,
|
|
319
320
|
onClick: oe
|
|
320
321
|
}, {
|
|
321
322
|
default: s(() => e[6] || (e[6] = [
|
|
@@ -344,13 +345,14 @@ const Be = (t) => {
|
|
|
344
345
|
c.$slots.editModal ? (y(), B("div", Bt, [
|
|
345
346
|
i(E, {
|
|
346
347
|
title: "编辑",
|
|
347
|
-
show:
|
|
348
|
-
"onUpdate:show": e[2] || (e[2] = (R) =>
|
|
348
|
+
show: f.value,
|
|
349
|
+
"onUpdate:show": e[2] || (e[2] = (R) => f.value = R),
|
|
349
350
|
preset: "card",
|
|
350
351
|
"header-class": "bg-gray-50",
|
|
351
352
|
closable: !1,
|
|
352
353
|
"close-on-esc": !1,
|
|
353
354
|
"mask-closable": !1,
|
|
355
|
+
draggable: !0,
|
|
354
356
|
style: ie({ width: `${c.modalWidth}px` })
|
|
355
357
|
}, {
|
|
356
358
|
action: s(() => [
|
|
@@ -358,7 +360,7 @@ const Be = (t) => {
|
|
|
358
360
|
default: s(() => [
|
|
359
361
|
i(a(q), {
|
|
360
362
|
type: "primary",
|
|
361
|
-
loading:
|
|
363
|
+
loading: u.value,
|
|
362
364
|
onClick: oe
|
|
363
365
|
}, {
|
|
364
366
|
default: s(() => e[8] || (e[8] = [
|
|
@@ -494,28 +496,28 @@ const Be = (t) => {
|
|
|
494
496
|
initLanguage: (t) => {
|
|
495
497
|
}
|
|
496
498
|
}, Vt = Ae("language", () => {
|
|
497
|
-
const t = M(qt), d = (
|
|
498
|
-
|
|
499
|
-
(
|
|
500
|
-
}), t.value.options = [...
|
|
501
|
-
}, h = () => t.value.options, v = (
|
|
502
|
-
if (t.value.currentLanguage ===
|
|
499
|
+
const t = M(qt), d = (f) => {
|
|
500
|
+
f.forEach((u) => {
|
|
501
|
+
(u.key === "Chinese" || u.key === "chinese") && (u.key = "chinese_simplified");
|
|
502
|
+
}), t.value.options = [...f];
|
|
503
|
+
}, h = () => t.value.options, v = (f) => {
|
|
504
|
+
if (t.value.currentLanguage === f)
|
|
503
505
|
return;
|
|
504
|
-
const
|
|
505
|
-
(r) => r.key ===
|
|
506
|
+
const u = t.value.options.find(
|
|
507
|
+
(r) => r.key === f
|
|
506
508
|
);
|
|
507
|
-
|
|
509
|
+
u && (t.value.currentLanguage = u.key, t.value.selectCallback(u));
|
|
508
510
|
}, w = () => {
|
|
509
511
|
if (t.value.currentLanguage)
|
|
510
512
|
return t.value.options.find(
|
|
511
|
-
(
|
|
513
|
+
(f) => f.key === t.value.currentLanguage
|
|
512
514
|
);
|
|
513
|
-
}, p = (
|
|
514
|
-
t.value.selectCallback =
|
|
515
|
-
}, L = () => t.value.translationApiUrl, k = (
|
|
516
|
-
t.value.translationApiUrl =
|
|
517
|
-
}, T = (
|
|
518
|
-
(
|
|
515
|
+
}, p = (f) => {
|
|
516
|
+
t.value.selectCallback = f;
|
|
517
|
+
}, L = () => t.value.translationApiUrl, k = (f) => {
|
|
518
|
+
t.value.translationApiUrl = f;
|
|
519
|
+
}, T = (f) => {
|
|
520
|
+
(f === "Chinese" || f === "chinese") && (f = "chinese_simplified"), t.value.defaultLanguage = f;
|
|
519
521
|
}, x = () => t.value.defaultLanguage ? t.value.defaultLanguage : "chinese_simplified";
|
|
520
522
|
return ee(() => {
|
|
521
523
|
t.value.initLanguage(t.value);
|
|
@@ -544,7 +546,7 @@ const Be = (t) => {
|
|
|
544
546
|
window.translate && (window.translate.selectLanguageTag.show = !1, window.translate.selectLanguageTag.languages = h().map((T) => T.key).join(","), window.translate.ignore.class.push("ignore-translate-flag"), window.translate.ignore.id.push("ignore-translation"), window.translate.language.setLocal(w()), window.translate.request.api.translate = "api/v1/translation", window.translate.request.api.connectTest = "api/v1/translation/connect-test", window.translate.request.api.init = "api/v1/translation/init", window.translate.request.api.language = "api/v1/translation/language", window.translate.request.setHost(p()), window.translate.request.listener.start(), window.translate.listener.start(), window.translate.whole.enableAll(), window.translate.execute());
|
|
545
547
|
};
|
|
546
548
|
return ee(async () => await re(() => k())), (T, x) => {
|
|
547
|
-
const
|
|
549
|
+
const f = N, u = q;
|
|
548
550
|
return a(h)().length > 0 ? (y(), $(a(G), {
|
|
549
551
|
key: 0,
|
|
550
552
|
id: "ignore-translation",
|
|
@@ -555,12 +557,12 @@ const Be = (t) => {
|
|
|
555
557
|
options: a(h)()
|
|
556
558
|
}, {
|
|
557
559
|
default: s(() => [
|
|
558
|
-
i(
|
|
560
|
+
i(u, {
|
|
559
561
|
quaternary: "",
|
|
560
562
|
type: "info"
|
|
561
563
|
}, {
|
|
562
564
|
default: s(() => [
|
|
563
|
-
a(v)() ? (y(), B("label", Kt, F(a(v)()?.label), 1)) : (y(), $(
|
|
565
|
+
a(v)() ? (y(), B("label", Kt, F(a(v)()?.label), 1)) : (y(), $(f, {
|
|
564
566
|
key: 0,
|
|
565
567
|
size: "18"
|
|
566
568
|
}, {
|
|
@@ -609,8 +611,8 @@ const Be = (t) => {
|
|
|
609
611
|
return g.children && g.children.length > 0 && (_.children = x(
|
|
610
612
|
g.children
|
|
611
613
|
)), _;
|
|
612
|
-
}),
|
|
613
|
-
document.fullscreenElement ? document.exitFullscreen && (document.exitFullscreen(),
|
|
614
|
+
}), f = M(!1), u = () => {
|
|
615
|
+
document.fullscreenElement ? document.exitFullscreen && (document.exitFullscreen(), f.value = !1) : (document.documentElement.requestFullscreen(), f.value = !0);
|
|
614
616
|
}, r = H(() => {
|
|
615
617
|
const m = [];
|
|
616
618
|
return m.push({
|
|
@@ -731,10 +733,10 @@ const Be = (t) => {
|
|
|
731
733
|
trigger: s(() => [
|
|
732
734
|
i(a(N), {
|
|
733
735
|
size: "18",
|
|
734
|
-
onClick: ye(
|
|
736
|
+
onClick: ye(u, ["stop"])
|
|
735
737
|
}, {
|
|
736
738
|
default: s(() => [
|
|
737
|
-
|
|
739
|
+
f.value ? (y(), $(a(Lt), { key: 1 })) : (y(), $(a(St), { key: 0 }))
|
|
738
740
|
]),
|
|
739
741
|
_: 1
|
|
740
742
|
})
|
|
@@ -798,7 +800,7 @@ const Be = (t) => {
|
|
|
798
800
|
"4cb4fdc8": h.value,
|
|
799
801
|
"21e8bab2": v.value
|
|
800
802
|
}));
|
|
801
|
-
const d = Ze(), h = H(() => d.value.cardColor), v = H(() => d.value.textColor1), w = ce(), p = Ce(), L = ke(), k = M(null), T = M(null), x = M(!1),
|
|
803
|
+
const d = Ze(), h = H(() => d.value.cardColor), v = H(() => d.value.textColor1), w = ce(), p = Ce(), L = ke(), k = M(null), T = M(null), x = M(!1), f = ae(), u = H(() => f.state.tabs), r = Re({
|
|
802
804
|
activeKey: p.fullPath,
|
|
803
805
|
scrollable: !0,
|
|
804
806
|
dropdownX: 0,
|
|
@@ -810,13 +812,13 @@ const Be = (t) => {
|
|
|
810
812
|
const { fullPath: l, hash: n, meta: C, name: E, params: R, path: j, query: se } = e;
|
|
811
813
|
return { fullPath: l, hash: n, meta: C, name: E, params: R, path: j, query: se };
|
|
812
814
|
}, m = H(() => {
|
|
813
|
-
const n =
|
|
815
|
+
const n = f.state.collapsed ? "64px" : "272px";
|
|
814
816
|
return {
|
|
815
817
|
left: n,
|
|
816
818
|
width: `calc(100% - ${n})`
|
|
817
819
|
};
|
|
818
820
|
}), g = H(() => {
|
|
819
|
-
const e =
|
|
821
|
+
const e = u.value.length <= 1;
|
|
820
822
|
return [
|
|
821
823
|
{
|
|
822
824
|
label: "刷新当前",
|
|
@@ -846,7 +848,7 @@ const Be = (t) => {
|
|
|
846
848
|
let e = [];
|
|
847
849
|
const l = o(p);
|
|
848
850
|
try {
|
|
849
|
-
if (
|
|
851
|
+
if (f.state.cacheTabs) {
|
|
850
852
|
const n = localStorage.getItem("TABS_ROUTES");
|
|
851
853
|
e = n ? JSON.parse(n) : [l];
|
|
852
854
|
}
|
|
@@ -860,10 +862,10 @@ const Be = (t) => {
|
|
|
860
862
|
e.forEach((n) => {
|
|
861
863
|
const C = l.find((E) => E.path === n.path);
|
|
862
864
|
C && (n.meta = C.meta || n.meta, n.name = C.name || n.name);
|
|
863
|
-
}),
|
|
865
|
+
}), f.state.cacheTabs && localStorage.setItem("TABS_ROUTES", JSON.stringify(e));
|
|
864
866
|
}, O = () => {
|
|
865
867
|
const e = _();
|
|
866
|
-
D(e),
|
|
868
|
+
D(e), f.initTabs(e);
|
|
867
869
|
}, S = async (e) => {
|
|
868
870
|
if (await re(), !k.value) return;
|
|
869
871
|
const l = k.value.offsetWidth, n = k.value.scrollWidth;
|
|
@@ -888,20 +890,20 @@ const Be = (t) => {
|
|
|
888
890
|
(e) => e.name == p.name
|
|
889
891
|
)?.components?.default.name;
|
|
890
892
|
}, Y = (e) => {
|
|
891
|
-
if (
|
|
893
|
+
if (u.value.length === 1)
|
|
892
894
|
return w.warning("这已经是最后一页,不能再关闭了!");
|
|
893
|
-
if (K(),
|
|
894
|
-
const l =
|
|
895
|
+
if (K(), f.closeCurrentTab(e), r.activeKey === e.fullPath) {
|
|
896
|
+
const l = u.value[Math.max(0, u.value.length - 1)];
|
|
895
897
|
r.activeKey = l.fullPath, L.push(l);
|
|
896
898
|
}
|
|
897
899
|
S();
|
|
898
900
|
}, fe = (e) => {
|
|
899
|
-
const { fullPath: l } = e, n =
|
|
901
|
+
const { fullPath: l } = e, n = u.value.find((C) => C.fullPath == l);
|
|
900
902
|
Y(n);
|
|
901
903
|
}, pe = (e) => {
|
|
902
|
-
|
|
904
|
+
f.closeOtherTabs(e), r.activeKey = e.fullPath, L.replace(e.fullPath), S();
|
|
903
905
|
}, W = () => {
|
|
904
|
-
|
|
906
|
+
f.closeAllTabs(), S();
|
|
905
907
|
}, ge = De("reloadPage"), ne = (e) => {
|
|
906
908
|
switch (e) {
|
|
907
909
|
//刷新
|
|
@@ -938,7 +940,7 @@ const Be = (t) => {
|
|
|
938
940
|
Z(C, (C - n) / 20);
|
|
939
941
|
};
|
|
940
942
|
return window.addEventListener("beforeunload", () => {
|
|
941
|
-
localStorage.setItem("TABS_ROUTES", JSON.stringify(
|
|
943
|
+
localStorage.setItem("TABS_ROUTES", JSON.stringify(u.value));
|
|
942
944
|
}), window.addEventListener(
|
|
943
945
|
"scroll",
|
|
944
946
|
(e) => {
|
|
@@ -949,7 +951,7 @@ const Be = (t) => {
|
|
|
949
951
|
), ze(
|
|
950
952
|
() => p.fullPath,
|
|
951
953
|
(e) => {
|
|
952
|
-
P.includes(p.name) || (r.activeKey = e,
|
|
954
|
+
P.includes(p.name) || (r.activeKey = e, f.addTab(o(p)), S(!0));
|
|
953
955
|
},
|
|
954
956
|
{ immediate: !0 }
|
|
955
957
|
), O(), ee(() => ue()), (e, l) => (y(), B("div", {
|
|
@@ -996,7 +998,7 @@ const Be = (t) => {
|
|
|
996
998
|
class: "tabs-card-scroll"
|
|
997
999
|
}, [
|
|
998
1000
|
i(a(Rt), {
|
|
999
|
-
list:
|
|
1001
|
+
list: u.value,
|
|
1000
1002
|
animation: "300",
|
|
1001
1003
|
"item-key": "fullPath",
|
|
1002
1004
|
class: "flex",
|
|
@@ -1077,7 +1079,7 @@ const Be = (t) => {
|
|
|
1077
1079
|
p.value = r.map((o) => o.name);
|
|
1078
1080
|
const P = d.meta?.activeMenu || "";
|
|
1079
1081
|
w.value = P || d.name;
|
|
1080
|
-
},
|
|
1082
|
+
}, f = (r, P = [], o = !1) => {
|
|
1081
1083
|
const m = [], g = [
|
|
1082
1084
|
"/:path(.*)*",
|
|
1083
1085
|
"/redirect",
|
|
@@ -1093,7 +1095,7 @@ const Be = (t) => {
|
|
|
1093
1095
|
});
|
|
1094
1096
|
for (const _ of r) {
|
|
1095
1097
|
if (o || (_.meta?.hidden || !1) == !0 || g.includes(_.path)) {
|
|
1096
|
-
P.push(_.name), _.children && _.children.length > 0 &&
|
|
1098
|
+
P.push(_.name), _.children && _.children.length > 0 && f(_.children, P, !0);
|
|
1097
1099
|
continue;
|
|
1098
1100
|
}
|
|
1099
1101
|
const D = _.meta?.alwaysShow != !0 && _?.children?.filter((J) => !J?.meta?.hidden)?.length === 1, O = D ? _.children[0] : _, S = {
|
|
@@ -1110,16 +1112,16 @@ const Be = (t) => {
|
|
|
1110
1112
|
};
|
|
1111
1113
|
if (!P.includes(_.name)) {
|
|
1112
1114
|
if (m.push(S), P.push(_.name), D) {
|
|
1113
|
-
|
|
1115
|
+
f(_.children, P, o);
|
|
1114
1116
|
continue;
|
|
1115
1117
|
}
|
|
1116
|
-
_.children && _.children.length > 0 && (S.children =
|
|
1118
|
+
_.children && _.children.length > 0 && (S.children = f(_.children, P, o));
|
|
1117
1119
|
}
|
|
1118
1120
|
}
|
|
1119
1121
|
return m;
|
|
1120
|
-
},
|
|
1122
|
+
}, u = () => {
|
|
1121
1123
|
const r = h.getRoutes();
|
|
1122
|
-
L.value =
|
|
1124
|
+
L.value = f(r);
|
|
1123
1125
|
};
|
|
1124
1126
|
return ze(
|
|
1125
1127
|
() => d.fullPath,
|
|
@@ -1127,7 +1129,7 @@ const Be = (t) => {
|
|
|
1127
1129
|
x();
|
|
1128
1130
|
}
|
|
1129
1131
|
), ee(() => {
|
|
1130
|
-
|
|
1132
|
+
u(), x();
|
|
1131
1133
|
}), (r, P) => (y(), $(a(Qe), {
|
|
1132
1134
|
class: "h-full",
|
|
1133
1135
|
inverted: "",
|
|
@@ -1277,8 +1279,8 @@ const Be = (t) => {
|
|
|
1277
1279
|
p("update:loading", !0);
|
|
1278
1280
|
try {
|
|
1279
1281
|
w.onSave && await w.onSave() && k();
|
|
1280
|
-
} catch (
|
|
1281
|
-
v.error(
|
|
1282
|
+
} catch (u) {
|
|
1283
|
+
v.error(u.message);
|
|
1282
1284
|
} finally {
|
|
1283
1285
|
p("update:loading", !1);
|
|
1284
1286
|
}
|
|
@@ -1287,8 +1289,8 @@ const Be = (t) => {
|
|
|
1287
1289
|
}, T = async () => {
|
|
1288
1290
|
try {
|
|
1289
1291
|
w.onClose ? await w.onClose() && k() : k();
|
|
1290
|
-
} catch (
|
|
1291
|
-
v.error(
|
|
1292
|
+
} catch (u) {
|
|
1293
|
+
v.error(u.message), p("update:loading", !1);
|
|
1292
1294
|
}
|
|
1293
1295
|
};
|
|
1294
1296
|
return d({
|
|
@@ -1298,12 +1300,12 @@ const Be = (t) => {
|
|
|
1298
1300
|
close: () => {
|
|
1299
1301
|
p("update:visible", !1), p("update:loading", !1);
|
|
1300
1302
|
}
|
|
1301
|
-
}), (
|
|
1303
|
+
}), (u, r) => {
|
|
1302
1304
|
const P = ut, o = q, m = Me;
|
|
1303
1305
|
return y(), $(a(Oe), bt({
|
|
1304
1306
|
ref: "$modal",
|
|
1305
1307
|
preset: "card"
|
|
1306
|
-
},
|
|
1308
|
+
}, u.$attrs, {
|
|
1307
1309
|
"header-class": "bg-gray-50",
|
|
1308
1310
|
show: w.visible,
|
|
1309
1311
|
draggable: !0,
|
|
@@ -1315,48 +1317,51 @@ const Be = (t) => {
|
|
|
1315
1317
|
onClose: k
|
|
1316
1318
|
}), {
|
|
1317
1319
|
header: s(() => [
|
|
1318
|
-
|
|
1320
|
+
u.$slots.header ? U(u.$slots, "header", { key: 0 }) : w.title ? (y(), $(P, { key: 1 }, {
|
|
1319
1321
|
default: s(() => [
|
|
1320
|
-
V(F(
|
|
1322
|
+
V(F(u.title), 1)
|
|
1321
1323
|
]),
|
|
1322
1324
|
_: 1
|
|
1323
1325
|
})) : A("", !0)
|
|
1324
1326
|
]),
|
|
1325
1327
|
"header-extra": s(() => [
|
|
1326
|
-
U(
|
|
1328
|
+
U(u.$slots, "header-extra")
|
|
1327
1329
|
]),
|
|
1328
1330
|
default: s(() => [
|
|
1329
1331
|
b("div", {
|
|
1330
1332
|
class: "overflow-y-auto overflow-hidden mt-5",
|
|
1331
1333
|
style: ie({ maxHeight: `${w.height}px` })
|
|
1332
1334
|
}, [
|
|
1333
|
-
U(
|
|
1335
|
+
U(u.$slots, "default")
|
|
1334
1336
|
], 4)
|
|
1335
1337
|
]),
|
|
1336
1338
|
footer: s(() => [
|
|
1337
|
-
U(
|
|
1339
|
+
U(u.$slots, "footer")
|
|
1338
1340
|
]),
|
|
1339
1341
|
action: s(() => [
|
|
1340
1342
|
i(m, { justify: "end" }, {
|
|
1341
1343
|
default: s(() => [
|
|
1342
1344
|
i(o, {
|
|
1343
1345
|
type: "primary",
|
|
1344
|
-
loading:
|
|
1346
|
+
loading: u.loading,
|
|
1345
1347
|
onClick: L
|
|
1346
1348
|
}, {
|
|
1347
1349
|
default: s(() => [
|
|
1348
|
-
V(F(
|
|
1350
|
+
V(F(u.saveBtnText), 1)
|
|
1349
1351
|
]),
|
|
1350
1352
|
_: 1
|
|
1351
1353
|
}, 8, ["loading"]),
|
|
1352
|
-
U(
|
|
1353
|
-
i(o, {
|
|
1354
|
+
U(u.$slots, "action-extra", { loading: u.loading }),
|
|
1355
|
+
i(o, {
|
|
1356
|
+
onClick: T,
|
|
1357
|
+
loading: u.loading
|
|
1358
|
+
}, {
|
|
1354
1359
|
default: s(() => r[0] || (r[0] = [
|
|
1355
1360
|
V("取消", -1)
|
|
1356
1361
|
])),
|
|
1357
1362
|
_: 1,
|
|
1358
1363
|
__: [0]
|
|
1359
|
-
})
|
|
1364
|
+
}, 8, ["loading"])
|
|
1360
1365
|
]),
|
|
1361
1366
|
_: 3
|
|
1362
1367
|
})
|
package/dist/index.umd.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(V,n){typeof exports=="object"&&typeof module<"u"?n(exports,require("naive-ui"),require("vue"),require("@vicons/antd"),require("lodash"),require("pinia"),require("vue-router"),require("element-resize-detector"),require("vuedraggable")):typeof define=="function"&&define.amd?define(["exports","naive-ui","vue","@vicons/antd","lodash","pinia","vue-router","element-resize-detector","vuedraggable"],n):(V=typeof globalThis<"u"?globalThis:V||self,n(V.naiveplus={},V.naiveUi,V.Vue,V.antd,V.lodash,V.pinia,V.vueRouter,V.elementResizeDetectorMaker,V.Draggable))})(this,function(V,n,e,T,pe,ee,O,he,me){"use strict";const te=o=>{Object.keys(o).forEach(i=>{const m=o[i];Array.isArray(m)?o[i]=[]:m!==null&&typeof m=="object"?te(m):o[i]=void 0})},ue={id:"data-content"},ge={key:0,class:"rounded-lg bg-gray-50 flex flex-row gap-2 items-center justify-end p-5 mb-5"},we={key:1},_e={key:2},ye=e.defineComponent({__name:"PTable",props:{idField:{default:"id"},item:{default:{}},columns:{},modalWidth:{default:800},hiddenAdd:{type:Boolean,default:!1},hiddenEdit:{type:Boolean,default:!1},hiddenDelete:{type:Boolean,default:!1},onLoad:{},onGet:{},onOpenModal:{},onCloseModal:{},onSave:{},onDelete:{}},setup(o,{expose:i}){const m=e.ref(null),g=n.useDialog(),_=n.useMessage(),p=e.ref(!1),N=e.ref([]),y=e.ref([]),x=e.ref(null),S=e.ref(!1),d=e.ref(!1),f=e.ref(!1),r=e.ref({}),C=e.ref({page:1,itemCount:0,pageSize:10,pageSizes:[10,20,30,50],showSizePicker:!0,onChange:async c=>{C.value.page=c,await $()},onUpdatePageSize:async c=>{C.value.pageSize=c,await $()}}),a=o,u=c=>{const t=l=>{const s=[];return c&&c.forEach(b=>{b.key!=="edit"&&b.key!=="delete"&&s.push({label:b.name,key:b.key,props:{onClick:()=>b.action(l)}})}),s};return{title:"操作",key:"actions",width:100,fixed:"right",render:l=>{let s=[];if(a.hiddenEdit||s.push({label:"编辑",key:"edit",props:{onClick:()=>Y(l)}}),a.hiddenDelete||s.push({label:"删除",key:"delete",props:{onClick:()=>E(l)}}),s=[...s,...t(l)],!(s.length<=0))return e.h(n.NDropdown,{options:s,placement:"bottom-start"},{default:()=>e.h(n.NButton,{size:"small",type:"primary"},{default:()=>["操作",e.h(n.NIcon,()=>e.h(T.MoreOutlined))]})})}}},h=e.computed(()=>{const c=a.columns.filter(l=>l.key!="action").map(l=>({title:l.title,key:l.key,width:l.width,fixed:l.fixed??!1,render:l.render,ellipsis:l.ellipsis?{tooltip:!0}:!1})),t=a.columns.reduce((l,s)=>s.key==="action"?s:l,void 0)?.action;return t&&t?.length>0||!a.hiddenDelete||!a.hiddenEdit?[{type:"selection",fixed:"left"},...c,u(t)]:[{type:"selection",fixed:"left"},...c]}),w=async()=>{await $()},E=c=>{k([c])},B=()=>{const c=z();k(c)},k=c=>{c&&c.length>0&&g.warning({title:"警告",content:"删除数据不可恢复, 确认删除吗?",positiveText:"确定",negativeText:"取消",onPositiveClick:async()=>{if(a.onDelete)try{await a.onDelete(c)?($(),_.success("删除成功")):_.error("删除失败")}catch(t){_.error(t.message)}}})},A=()=>{x.value=null,j()},Y=async c=>{x.value=pe.cloneDeep(c),j(x.value,async()=>{a.onGet&&(x.value=await a.onGet(c[a.idField])),Object.assign(a.item,x.value)})},H=async()=>{if(a.onSave)try{f.value=!0,(S.value?await a.onSave(void 0,e.toRaw(a.item)):await a.onSave(x.value[a.idField],e.toRaw(a.item)))&&(R(),await $())}catch(c){_.error(c.message)}finally{f.value=!1}},j=async(c,t)=>{a.onOpenModal?.(c),await t?.(),c?(S.value=!1,d.value=!0):(d.value=!1,S.value=!0)},R=()=>{x.value=null,te(a.item),Object.assign(a.item,{...e.toRaw(r.value)}),a.onCloseModal?.(a.item),S.value=!1,d.value=!1},z=()=>N.value?y.value.filter(t=>N.value.includes(t.id)).map(t=>e.toRaw(t)):[],X=()=>z()[0],G=()=>e.toRaw(y.value),$=async()=>{if(!p.value){p.value=!0;try{if(a.onLoad){var{data:c,total:t}=await a.onLoad(C.value.page,C.value.pageSize);y.value=c,C.value.itemCount=t}}catch(l){_.error(l.message)}finally{p.value=!1}}},J=e.computed(()=>{const c=e.unref(m);if(!c)return;const t=c?.$el,l=t.querySelector(".n-data-table-thead "),{bottomIncludeBody:s}=W(l),b=64;let P=2,L=24;const M=t.querySelector(".n-data-table__pagination");if(M){const Q=M.offsetHeight;P+=Q||0}else P+=28;return s-(b+P+L)}),F=c=>!c||!c.getBoundingClientRect?0:c.getBoundingClientRect(),W=c=>{const t=document.documentElement,l=t.scrollLeft,s=t.scrollTop,b=t.clientLeft,P=t.clientTop,L=window.pageXOffset,M=window.pageYOffset,K=F(c),{left:Q,top:Ge,width:Je,height:Ze}=K,Qe=(L||l)-(b||0),Ue=(M||s)-(P||0),ve=Q+L,et=Ge+M,U=ve-Qe,v=et-Ue,de=window.document.documentElement.clientWidth,fe=window.document.documentElement.clientHeight;return{left:U,top:v,right:de-Je-U,bottom:fe-Ze-v,rightIncludeBody:de-U,bottomIncludeBody:fe-v}},Z=()=>{r.value={...e.toRaw(a.item)}};return e.onMounted(async()=>{Z(),await $()}),i({getData:G,getSelectedRow:X,getSelectedRows:z,closeModal:R,refreshData:$,resetPage:()=>{C.value.page=1}}),(c,t)=>{const l=n.NTooltip,s=n.NDataTable,b=n.NSpace,P=n.NModal;return e.openBlock(),e.createBlock(e.unref(n.NCard),{title:" ","header-class":"p-4","content-class":"pl-4 pr-4",bordered:!1},{"header-extra":e.withCtx(()=>[c.hiddenAdd?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(l,{key:0,trigger:"hover"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(n.NIcon),{size:"18",class:"mr-1 cursor-pointer hover:text-blue-600",onClick:A},{default:e.withCtx(()=>[e.createVNode(e.unref(T.PlusSquareOutlined))]),_:1})]),default:e.withCtx(()=>[t[3]||(t[3]=e.createElementVNode("span",null,"新增",-1))]),_:1,__:[3]})),c.hiddenDelete?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(l,{key:1,trigger:"hover"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(n.NIcon),{size:"18",class:"mr-1 cursor-pointer hover:text-blue-600",onClick:B},{default:e.withCtx(()=>[e.createVNode(e.unref(T.DeleteOutlined))]),_:1})]),default:e.withCtx(()=>[t[4]||(t[4]=e.createElementVNode("span",null,"删除",-1))]),_:1,__:[4]})),e.createVNode(l,{trigger:"hover"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(n.NIcon),{size:"18",class:"cursor-pointer hover:text-blue-600",onClick:w},{default:e.withCtx(()=>[e.createVNode(e.unref(T.ReloadOutlined))]),_:1})]),default:e.withCtx(()=>[t[5]||(t[5]=e.createElementVNode("span",null,"刷新",-1))]),_:1,__:[5]})]),default:e.withCtx(()=>[e.createElementVNode("div",ue,[c.$slots.toolbar?(e.openBlock(),e.createElementBlock("div",ge,[e.renderSlot(c.$slots,"toolbar")])):e.createCommentVNode("",!0),e.createVNode(s,{remote:"",ref_key:"$table",ref:m,"checked-row-keys":N.value,"onUpdate:checkedRowKeys":t[0]||(t[0]=L=>N.value=L),"max-height":J.value,loading:p.value,bordered:!1,"single-line":!1,columns:h.value,data:y.value,pagination:C.value,"row-key":L=>L[c.idField]},null,8,["checked-row-keys","max-height","loading","columns","data","pagination","row-key"]),c.$slots.addModal?(e.openBlock(),e.createElementBlock("div",we,[e.createVNode(P,{title:"新增",preset:"card",show:S.value,"onUpdate:show":t[1]||(t[1]=L=>S.value=L),"header-class":"bg-gray-50",closable:!1,"close-on-esc":!1,"mask-closable":!1,style:e.normalizeStyle({width:`${c.modalWidth}px`})},{action:e.withCtx(()=>[e.createVNode(b,{justify:"end"},{default:e.withCtx(()=>[e.createVNode(e.unref(n.NButton),{type:"primary",loading:f.value,onClick:H},{default:e.withCtx(()=>t[6]||(t[6]=[e.createTextVNode("保存",-1)])),_:1,__:[6]},8,["loading"]),e.createVNode(e.unref(n.NButton),{onClick:R},{default:e.withCtx(()=>t[7]||(t[7]=[e.createTextVNode("取消",-1)])),_:1,__:[7]})]),_:1})]),default:e.withCtx(()=>[e.renderSlot(c.$slots,"addModal")]),_:3},8,["show","style"])])):e.createCommentVNode("",!0),c.$slots.editModal?(e.openBlock(),e.createElementBlock("div",_e,[e.createVNode(P,{title:"编辑",show:d.value,"onUpdate:show":t[2]||(t[2]=L=>d.value=L),preset:"card","header-class":"bg-gray-50",closable:!1,"close-on-esc":!1,"mask-closable":!1,style:e.normalizeStyle({width:`${c.modalWidth}px`})},{action:e.withCtx(()=>[e.createVNode(b,{justify:"end"},{default:e.withCtx(()=>[e.createVNode(e.unref(n.NButton),{type:"primary",loading:f.value,onClick:H},{default:e.withCtx(()=>t[8]||(t[8]=[e.createTextVNode("保存",-1)])),_:1,__:[8]},8,["loading"]),e.createVNode(e.unref(n.NButton),{onClick:R},{default:e.withCtx(()=>t[9]||(t[9]=[e.createTextVNode("取消",-1)])),_:1,__:[9]})]),_:1})]),default:e.withCtx(()=>[e.renderSlot(c.$slots,"editModal")]),_:3},8,["show","style"])])):e.createCommentVNode("",!0)])]),_:3})}}}),I=o=>{const i=o;return i.install=function(m){m.component(i.__name,o)},o},oe=I(ye),be=["Redirect","RedirectSon","login"],D=ee.defineStore("p-layout",()=>{const o=e.reactive({collapsed:!1,title:"输入项目名称",logo:"https://picsum.photos/id/1/100/100",avatar:"",uid:"",uname:"",tabs:[],cacheTabs:!1});return{state:o,initTabs:a=>{a.sort((u,h)=>(h.meta.affix?1:0)-(u.meta.affix?1:0)),o.tabs=a},addTab:a=>be.includes(a.name)?!1:(o.tabs?.some(h=>h.fullPath==a.fullPath)||o.tabs?.push(a),!0),closeCurrentTab:a=>{const u=o.tabs.findIndex(h=>h.fullPath==a.fullPath);o.tabs.splice(u,1)},closeAllTabs:()=>{o.tabs=o.tabs.filter(a=>a?.meta?.affix??!1)},closeOtherTabs:a=>{o.tabs=o.tabs.filter(u=>u.fullPath==a.fullPath||(u?.meta?.affix??!1))},closeLeftTabs:a=>{const u=o.tabs.findIndex(h=>h.fullPath==a.fullPath);o.tabs=o.tabs.filter((h,w)=>w>=u||(h?.meta?.affix??!1))},closeRightTabs:a=>{const u=o.tabs.findIndex(h=>h.fullPath==a.fullPath);o.tabs=o.tabs.filter((h,w)=>w<=u||(h?.meta?.affix??!1))},collapse:()=>{o.collapsed=!o.collapsed},setTitle:a=>{o.title=a},setLogo:a=>{o.logo=a},setUser:(a,u)=>{o.uid=a,o.uname=u},setSettingPages:a=>{o.settingPages=a},setLogout:a=>{o.logout=a}}}),Ce={class:"logo"},ke=e.defineComponent({__name:"PLogo",setup(o){const i=D();return(m,g)=>(e.openBlock(),e.createElementBlock("div",Ce,[e.createVNode(e.unref(n.NAvatar),{color:"var(--color-logo)",size:32,src:e.unref(i).state.logo,class:e.normalizeClass({"mr-2":!e.unref(i).state.collapsed})},null,8,["src","class"]),e.withDirectives(e.createElementVNode("h1",{class:"font-bold ease-in-out ml-2 logo-size"},e.toDisplayString(e.unref(i).state.title),513),[[e.vShow,!e.unref(i).state.collapsed]])]))}}),q=(o,i)=>{const m=o.__vccOpts||o;for(const[g,_]of i)m[g]=_;return m},Ne=q(ke,[["__scopeId","data-v-c9496d2e"]]),xe={translationApiUrl:"https://translate.zvo.cn/api",defaultLanguage:"chinese",currentLanguage:"",options:[],selectCallback:o=>{},initLanguage:o=>{}},ne=ee.defineStore("language",()=>{const o=e.ref(xe),i=d=>{d.forEach(f=>{(f.key==="Chinese"||f.key==="chinese")&&(f.key="chinese_simplified")}),o.value.options=[...d]},m=()=>o.value.options,g=d=>{if(o.value.currentLanguage===d)return;const f=o.value.options.find(r=>r.key===d);f&&(o.value.currentLanguage=f.key,o.value.selectCallback(f))},_=()=>{if(o.value.currentLanguage)return o.value.options.find(d=>d.key===o.value.currentLanguage)},p=d=>{o.value.selectCallback=d},N=()=>o.value.translationApiUrl,y=d=>{o.value.translationApiUrl=d},x=d=>{(d==="Chinese"||d==="chinese")&&(d="chinese_simplified"),o.value.defaultLanguage=d},S=()=>o.value.defaultLanguage?o.value.defaultLanguage:"chinese_simplified";return e.onMounted(()=>{o.value.initLanguage(o.value)}),{state:o,select:g,setLanguages:i,getLanguages:m,getCurrentLanguage:_,setSelectCallback:p,setTranslationApiUrl:y,getTranslationApiUrl:N,setDefaultLanguage:x,getDefaultLanguage:S}}),Ve={key:1},ae=e.defineComponent({__name:"PLanguage",setup(o){const{select:i,getLanguages:m,getCurrentLanguage:g,getDefaultLanguage:_,getTranslationApiUrl:p}=ne(),N=x=>i(x),y=()=>{window.translate&&(window.translate.selectLanguageTag.show=!1,window.translate.selectLanguageTag.languages=m().map(x=>x.key).join(","),window.translate.ignore.class.push("ignore-translate-flag"),window.translate.ignore.id.push("ignore-translation"),window.translate.language.setLocal(_()),window.translate.request.api.translate="api/v1/translation",window.translate.request.api.connectTest="api/v1/translation/connect-test",window.translate.request.api.init="api/v1/translation/init",window.translate.request.api.language="api/v1/translation/language",window.translate.request.setHost(p()),window.translate.request.listener.start(),window.translate.listener.start(),window.translate.whole.enableAll(),window.translate.execute())};return e.onMounted(async()=>await e.nextTick(()=>y())),(x,S)=>{const d=n.NIcon,f=n.NButton;return e.unref(m)().length>0?(e.openBlock(),e.createBlock(e.unref(n.NDropdown),{key:0,id:"ignore-translation",placement:"bottom-start",trigger:"hover",class:"flex flex-col justify-center h-full ignore",onSelect:N,options:e.unref(m)()},{default:e.withCtx(()=>[e.createVNode(f,{quaternary:"",type:"info"},{default:e.withCtx(()=>[e.unref(g)()?(e.openBlock(),e.createElementBlock("label",Ve,e.toDisplayString(e.unref(g)()?.label),1)):(e.openBlock(),e.createBlock(d,{key:0,size:"18"},{default:e.withCtx(()=>S[0]||(S[0]=[e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},[e.createElementVNode("path",{d:"M478.33 433.6l-90-218a22 22 0 0 0-40.67 0l-90 218a22 22 0 1 0 40.67 16.79L316.66 406h102.67l18.33 44.39A22 22 0 0 0 458 464a22 22 0 0 0 20.32-30.4zM334.83 362L368 281.65L401.17 362z",fill:"currentColor"}),e.createElementVNode("path",{d:"M267.84 342.92a22 22 0 0 0-4.89-30.7c-.2-.15-15-11.13-36.49-34.73c39.65-53.68 62.11-114.75 71.27-143.49H330a22 22 0 0 0 0-44H214V70a22 22 0 0 0-44 0v20H54a22 22 0 0 0 0 44h197.25c-9.52 26.95-27.05 69.5-53.79 108.36c-31.41-41.68-43.08-68.65-43.17-68.87a22 22 0 0 0-40.58 17c.58 1.38 14.55 34.23 52.86 83.93c.92 1.19 1.83 2.35 2.74 3.51c-39.24 44.35-77.74 71.86-93.85 80.74a22 22 0 1 0 21.07 38.63c2.16-1.18 48.6-26.89 101.63-85.59c22.52 24.08 38 35.44 38.93 36.1a22 22 0 0 0 30.75-4.9z",fill:"currentColor"})],-1)])),_:1,__:[0]}))]),_:1})]),_:1},8,["options"])):e.createCommentVNode("",!0)}}}),Se={class:"layout-header"},Be={class:"layout-header-left"},Te={class:"link-text"},Pe={key:1,class:"link-text"},Le={class:"layout-header-right"},Ee={class:"layout-header-trigger-min"},$e={class:"layout-header-trigger layout-header-trigger-min"},Me={class:"layout-header-trigger layout-header-trigger-min"},Oe={class:"avatar"},De=q(e.defineComponent({__name:"PHeader",setup(o){const i=n.useMessage(),m=n.useDialog(),g=D(),_=O.useRouter(),p=O.useRoute(),N=e.inject("reloadPage"),y=u=>_.push({name:u}),x=e.computed(()=>S(p.matched)),S=u=>u.map(h=>{const w={key:h.name,label:h.meta.title,icon:h.meta.icon,meta:h.meta,disabled:h.path==="/",children:void 0};return h.children&&h.children.length>0&&(w.children=S(h.children)),w}),d=e.ref(!1),f=()=>{document.fullscreenElement?document.exitFullscreen&&(document.exitFullscreen(),d.value=!1):(document.documentElement.requestFullscreen(),d.value=!0)},r=e.computed(()=>{const u=[];return u.push({label:"退出登录",key:"logout"}),g.state.settingPages&&g.state.settingPages.length>0&&g.state.settingPages.forEach(h=>{u.push({label:h.title,key:h.route})}),u}),C=u=>{switch(u){case"logout":a();break;default:_.push({name:u})}},a=()=>{m.info({title:"提示",content:"您确定要退出登录吗",positiveText:"确定",negativeText:"取消",onPositiveClick:async()=>{if(g.state.logout)try{await g.state.logout(),localStorage.removeItem("TABS-ROUTES"),i.error("退出成功")}catch(u){console.error(u),i.error("退出登录失败")}finally{location.reload()}else i.error("没有配置登出接口, 请配置[usePLayoutStore.logout]方法")},onNegativeClick:()=>{}})};return(u,h)=>{const w=n.NTooltip,E=n.NDivider,B=n.NAvatar;return e.openBlock(),e.createElementBlock("div",Se,[e.createElementVNode("div",Be,[e.createElementVNode("div",{class:"ml-1 layout-header-trigger layout-header-trigger-min",onClick:h[0]||(h[0]=(...k)=>e.unref(g).collapse&&e.unref(g).collapse(...k))},[e.unref(g).state.collapsed?(e.openBlock(),e.createBlock(e.unref(n.NIcon),{key:0,size:"18"},{default:e.withCtx(()=>[e.createVNode(e.unref(T.MenuUnfoldOutlined))]),_:1})):(e.openBlock(),e.createBlock(e.unref(n.NIcon),{key:1,size:"18"},{default:e.withCtx(()=>[e.createVNode(e.unref(T.MenuFoldOutlined))]),_:1}))]),e.createElementVNode("div",{class:"mr-1 layout-header-trigger layout-header-trigger-min",onClick:h[1]||(h[1]=(...k)=>e.unref(N)&&e.unref(N)(...k))},[e.createVNode(e.unref(n.NIcon),{size:"18"},{default:e.withCtx(()=>[e.createVNode(e.unref(T.ReloadOutlined))]),_:1})]),e.createVNode(e.unref(n.NBreadcrumb),null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(x.value,k=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:k.label},[k.label?(e.openBlock(),e.createBlock(e.unref(n.NBreadcrumbItem),{key:0},{default:e.withCtx(()=>[k.children&&k.children.length?(e.openBlock(),e.createBlock(e.unref(n.NDropdown),{key:0,options:k.children,onSelect:y},{default:e.withCtx(()=>[e.createElementVNode("span",Te,[k.icon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(k.icon),{key:0})):e.createCommentVNode("",!0),e.createElementVNode("span",null,e.toDisplayString(k.label),1)])]),_:2},1032,["options"])):(e.openBlock(),e.createElementBlock("span",Pe,[k.icon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(k.icon),{key:0})):e.createCommentVNode("",!0),e.createElementVNode("span",null,e.toDisplayString(k.label),1)]))]),_:2},1024)):e.createCommentVNode("",!0)],64))),128))]),_:1})]),e.createElementVNode("div",Le,[e.createElementVNode("div",Ee,[e.createVNode(ae)]),e.createElementVNode("div",$e,[e.createVNode(w,{placement:"bottom"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(n.NIcon),{size:"18",onClick:e.withModifiers(f,["stop"])},{default:e.withCtx(()=>[d.value?(e.openBlock(),e.createBlock(e.unref(T.FullscreenExitOutlined),{key:1})):(e.openBlock(),e.createBlock(e.unref(T.FullscreenOutlined),{key:0}))]),_:1})]),default:e.withCtx(()=>[h[2]||(h[2]=e.createElementVNode("span",null,"全屏",-1))]),_:1,__:[2]})]),e.createElementVNode("div",Me,[e.createVNode(e.unref(n.NDropdown),{trigger:"hover",onSelect:C,options:r.value},{default:e.withCtx(()=>[e.createElementVNode("div",Oe,[e.createElementVNode("span",null,e.toDisplayString(e.unref(g).state.uname),1),e.createVNode(E,{vertical:""}),e.createVNode(B,{round:"",src:e.unref(g).state.avatar},null,8,["src"])])]),_:1},8,["options"])])])])}}}),[["__scopeId","data-v-93589779"]]),Re={class:"mt-1"},ze=e.defineComponent({__name:"PContent",props:{loading:{type:Boolean,default:!1}},setup(o){return(i,m)=>{const g=e.resolveComponent("RouterView");return e.openBlock(),e.createElementBlock("div",Re,[i.loading?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(g,{key:0},{default:e.withCtx(({Component:_,route:p})=>[(e.openBlock(),e.createBlock(e.KeepAlive,null,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(_),{key:p.fullPath}))],1024))]),_:1}))])}}}),Ie={class:"tabs-view-main"},Ae=["id","onClick","onContextmenu"],We={class:"tabs-close"},qe={class:"tabs-close-btn"},He=q(e.defineComponent({__name:"PTabs",setup(o){e.useCssVars(t=>({"4cb4fdc8":m.value,"21e8bab2":g.value}));const i=n.useThemeVars(),m=e.computed(()=>i.value.cardColor),g=e.computed(()=>i.value.textColor1),_=n.useMessage(),p=O.useRoute(),N=O.useRouter(),y=e.ref(null),x=e.ref(null),S=e.ref(!1),d=D(),f=e.computed(()=>d.state.tabs),r=e.reactive({activeKey:p.fullPath,scrollable:!0,dropdownX:0,dropdownY:0,showDropdown:!1,isMultiHeaderFixed:!0,multiTabsSetting:!0}),C=["Login","Redirect","ErrorPage"],a=t=>{const{fullPath:l,hash:s,meta:b,name:P,params:L,path:M,query:K}=t;return{fullPath:l,hash:s,meta:b,name:P,params:L,path:M,query:K}},u=e.computed(()=>{const s=d.state.collapsed?"64px":"272px";return{left:s,width:`calc(100% - ${s})`}}),h=e.computed(()=>{const t=f.value.length<=1;return[{label:"刷新当前",key:"1",icon:()=>e.h(n.NIcon,null,{default:()=>e.h(T.ReloadOutlined)})},{label:"关闭当前",key:"2",disabled:S.value||t,icon:()=>e.h(n.NIcon,null,{default:()=>e.h(T.CloseOutlined)})},{label:"关闭其他",key:"3",disabled:t,icon:()=>e.h(n.NIcon,null,{default:()=>e.h(T.ColumnWidthOutlined)})},{label:"关闭全部",key:"4",disabled:t,icon:()=>e.h(n.NIcon,null,{default:()=>e.h(T.MinusOutlined)})}]}),w=()=>{let t=[];const l=a(p);try{if(d.state.cacheTabs){const s=localStorage.getItem("TABS_ROUTES");t=s?JSON.parse(s):[l]}}catch{t=[l]}finally{return t}},E=t=>{const l=N.getRoutes();t.forEach(s=>{const b=l.find(P=>P.path===s.path);b&&(s.meta=b.meta||s.meta,s.name=b.name||s.name)}),d.state.cacheTabs&&localStorage.setItem("TABS_ROUTES",JSON.stringify(t))},B=()=>{const t=w();E(t),d.initTabs(t)},k=async t=>{if(await e.nextTick(),!y.value)return;const l=y.value.offsetWidth,s=y.value.scrollWidth;l<s?(r.scrollable=!0,t&&[...y.value.querySelectorAll(".tabs-card-scroll-item")||[]].forEach(P=>{P.id===`tag${r.activeKey.split("/").join("/")}`&&P.scrollIntoView&&P.scrollIntoView()})):r.scrollable=!1},A=t=>!(t.draggedContext.element.meta.affix||t.relatedContext.element.meta.affix),Y=()=>{let t;t=he(),t.listenTo(x.value,()=>k(!0))},H=t=>{const{fullPath:l}=t;if(l===p.fullPath||(r.activeKey=l,!t))return;const{replace:s}=N;toString.call(t),s(t).catch(console.error)},j=(t,l)=>{t.preventDefault(),S.value=l.path==="/home",r.showDropdown=!1,e.nextTick().then(()=>{r.showDropdown=!0,r.dropdownX=t.clientX,r.dropdownY=t.clientY})},R=()=>{p.meta.keepAlive&&N.currentRoute.value.matched.find(t=>t.name==p.name)?.components?.default.name},z=t=>{if(f.value.length===1)return _.warning("这已经是最后一页,不能再关闭了!");if(R(),d.closeCurrentTab(t),r.activeKey===t.fullPath){const l=f.value[Math.max(0,f.value.length-1)];r.activeKey=l.fullPath,N.push(l)}k()},X=t=>{const{fullPath:l}=t,s=f.value.find(b=>b.fullPath==l);z(s)},G=t=>{d.closeOtherTabs(t),r.activeKey=t.fullPath,N.replace(t.fullPath),k()},$=()=>{d.closeAllTabs(),k()},J=e.inject("reloadPage"),F=t=>{switch(t){case"1":J();break;case"2":z(p);break;case"3":G(p);break;case"4":$();break}k(),r.showDropdown=!1},W=(t,l)=>{const s=y.value.scrollLeft,b=l>0&&s+l>=t||l<0&&s+l<=t?t:s+l;if(y.value&&y.value.scrollTo(b,0),b!==t)return window.requestAnimationFrame(()=>W(t,l))},Z=()=>{const t=y.value.offsetWidth,l=y.value.scrollLeft;if(!l)return;const s=l>t?l-t:0;W(s,(s-l)/20)},c=()=>{const t=y.value.offsetWidth,l=y.value.scrollWidth,s=y.value.scrollLeft;if(l-s<=t)return;const b=l-s>t*2?s+t:l-t;W(b,(b-s)/20)};return window.addEventListener("beforeunload",()=>{localStorage.setItem("TABS_ROUTES",JSON.stringify(f.value))}),window.addEventListener("scroll",t=>{let l=t.target.scrollTop||document.documentElement.scrollTop||window.pageYOffset||document.body.scrollTop;r.isMultiHeaderFixed=l>=64},!0),e.watch(()=>p.fullPath,t=>{C.includes(p.name)||(r.activeKey=t,d.addTab(a(p)),k(!0))},{immediate:!0}),B(),e.onMounted(()=>Y()),(t,l)=>(e.openBlock(),e.createElementBlock("div",{class:"box-border tabs-view tabs-view-fix tabs-view-default-background",style:e.normalizeStyle(u.value)},[e.createElementVNode("div",Ie,[e.createElementVNode("div",{ref_key:"navWrap",ref:x,class:e.normalizeClass(["tabs-card",{"tabs-card-scrollable":r.scrollable}])},[e.createElementVNode("span",{class:e.normalizeClass(["tabs-card-prev",{"tabs-card-prev-hide":!r.scrollable}]),onClick:Z},[e.createVNode(e.unref(n.NIcon),{size:"16",color:"#515a6e"},{default:e.withCtx(()=>[e.createVNode(e.unref(T.LeftOutlined))]),_:1})],2),e.createElementVNode("span",{class:e.normalizeClass(["tabs-card-next",{"tabs-card-next-hide":!r.scrollable}]),onClick:c},[e.createVNode(e.unref(n.NIcon),{size:"16",color:"#515a6e"},{default:e.withCtx(()=>[e.createVNode(e.unref(T.RightOutlined))]),_:1})],2),e.createElementVNode("div",{ref_key:"navScroll",ref:y,class:"tabs-card-scroll"},[e.createVNode(e.unref(me),{list:f.value,animation:"300","item-key":"fullPath",class:"flex",move:A},{item:e.withCtx(({element:s})=>[e.createElementVNode("div",{id:`tag${s.fullPath.split("/").join("/")}`,class:e.normalizeClass(["tabs-card-scroll-item",{"active-item":r.activeKey===s.fullPath}]),onClick:e.withModifiers(b=>H(s),["stop"]),onContextmenu:b=>j(b,s)},[e.createElementVNode("span",null,e.toDisplayString(s.meta.title),1),s.meta.affix?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(n.NIcon),{key:0,size:"14",onClick:e.withModifiers(b=>X(s),["stop"])},{default:e.withCtx(()=>[e.createVNode(e.unref(T.CloseOutlined))]),_:2},1032,["onClick"]))],42,Ae)]),_:1},8,["list"])],512)],2),e.createElementVNode("div",We,[e.createVNode(e.unref(n.NDropdown),{trigger:"hover",onSelect:F,placement:"bottom-end",options:h.value},{default:e.withCtx(()=>[e.createElementVNode("div",qe,[e.createVNode(e.unref(n.NIcon),{size:"16",color:"#515a6e"},{default:e.withCtx(()=>[e.createVNode(e.unref(T.DownOutlined))]),_:1})])]),_:1},8,["options"])]),e.createVNode(e.unref(n.NDropdown),{show:r.showDropdown,x:r.dropdownX,y:r.dropdownY,onClickoutside:l[0]||(l[0]=s=>r.showDropdown=!1),placement:"bottom-start",onSelect:F,options:h.value},null,8,["show","x","y","options"])])],4))}}),[["__scopeId","data-v-f0706f46"]]),je=e.defineComponent({__name:"PMenus",setup(o){const i=O.useRoute(),m=O.useRouter(),g=D(),_=e.ref(i.name),p=e.ref(i.matched&&i.matched.length?i.matched.map(r=>r.name):[]),N=e.ref([]),y=r=>{/http(s)?:/.test(r)?window.open(r):m.push({name:r})},x=r=>{if(!r)return;const C=r.find(a=>p.value.indexOf(a)===-1);p.value=C?[C]:[]},S=()=>{const r=i.matched;p.value=r.map(a=>a.name);const C=i.meta?.activeMenu||"";_.value=C||i.name},d=(r,C=[],a=!1)=>{const u=[],h=["/:path(.*)*","/redirect","/redirect/:path(.*)","/login","/oidc-callback"];if(!r||r.length===0)return u;r=r.sort((w,E)=>{let B=(E.children?.length?1:0)-(w.children?.length?1:0);return B===0&&(B=(w.meta?.sort??0)-(E.meta?.sort??0)),B});for(const w of r){if(a||(w.meta?.hidden||!1)==!0||h.includes(w.path)){C.push(w.name),w.children&&w.children.length>0&&d(w.children,C,!0);continue}const E=w.meta?.alwaysShow!=!0&&w?.children?.filter(A=>!A?.meta?.hidden)?.length===1,B=E?w.children[0]:w,k={key:B.name,label:B.meta?.title,affix:B.meta?.affix,sort:B.meta?.sort,path:B.path,redirect:B.redirect,icon:E?w.meta?.icon:B.meta?.icon,permissions:B.meta?.permissions,meta:B.meta,children:void 0};if(!C.includes(w.name)){if(u.push(k),C.push(w.name),E){d(w.children,C,a);continue}w.children&&w.children.length>0&&(k.children=d(w.children,C,a))}}return u},f=()=>{const r=m.getRoutes();N.value=d(r)};return e.watch(()=>i.fullPath,()=>{S()}),e.onMounted(()=>{f(),S()}),(r,C)=>(e.openBlock(),e.createBlock(e.unref(n.NMenu),{class:"h-full",inverted:"",mode:"vertical",options:N.value,collapsed:e.unref(g).state.collapsed,"collapsed-width":64,"collapsed-icon-size":20,indent:24,"expanded-keys":p.value,value:_.value,"onUpdate:value":y,"onUpdate:expandedKeys":x},null,8,["options","collapsed","expanded-keys","value"]))}}),Fe={class:"layout-content-main layout-content-main-fix"},Ke={class:"main-view main-view-fix"},le=I(q(e.defineComponent({__name:"PLayout",setup(o){const i=D(),m=e.ref(!1),g=()=>{m.value=!0,e.nextTick(()=>m.value=!1)};return e.provide("reloadPage",g),(_,p)=>{const N=n.NBackTop;return e.openBlock(),e.createBlock(e.unref(n.NLayout),{"has-sider":"",class:"layout",position:"absolute"},{default:e.withCtx(()=>[e.createVNode(e.unref(n.NLayoutSider),{class:"layout-sider",inverted:"","show-trigger":"bar",position:"absolute","collapse-mode":"width",collapsed:e.unref(i).state.collapsed,"native-scrollbar":!1,"collapsed-width":64,onCollapse:e.unref(i).collapse,onExpand:e.unref(i).collapse},{default:e.withCtx(()=>[e.createVNode(e.unref(n.NFlex),{vertical:""},{default:e.withCtx(()=>[e.createVNode(Ne),e.createVNode(je)]),_:1})]),_:1},8,["collapsed","onCollapse","onExpand"]),e.createVNode(e.unref(n.NLayout),null,{default:e.withCtx(()=>[e.createVNode(e.unref(n.NLayoutHeader),{position:"absolute"},{default:e.withCtx(()=>[e.createVNode(De)]),_:1}),e.createVNode(e.unref(n.NLayoutContent),{class:"layout-content layout-default-background"},{default:e.withCtx(()=>[e.createElementVNode("div",Fe,[e.createVNode(He),e.createElementVNode("div",Ke,[e.createVNode(ze,{loading:m.value},null,8,["loading"])])])]),_:1}),e.createVNode(N,{right:20,class:"z-50"})]),_:1})]),_:1})}}}),[["__scopeId","data-v-87dcb433"]])),se=I(e.defineComponent({__name:"PApplication",props:{theme:{},themeOverrides:{default:{common:{primaryColor:"#2d8cf0",primaryColorHover:"#3c9bff",primaryColorPressed:"#3c9bff",primaryColorSuppl:"#2d8cf0"},LoadingBar:{colorLoading:"#2d8cf0"}}}},setup(o){return(i,m)=>{const g=n.NConfigProvider;return e.openBlock(),e.createBlock(g,{locale:e.unref(n.zhCN),theme:i.theme,"theme-overrides":i.themeOverrides,"date-locale":e.unref(n.dateZhCN)},{default:e.withCtx(()=>[e.createVNode(e.unref(n.NDialogProvider),null,{default:e.withCtx(()=>[e.createVNode(e.unref(n.NNotificationProvider),null,{default:e.withCtx(()=>[e.createVNode(e.unref(n.NMessageProvider),null,{default:e.withCtx(()=>[e.renderSlot(i.$slots,"default")]),_:3})]),_:3})]),_:3})]),_:3},8,["locale","theme","theme-overrides","date-locale"])}}})),re=I(e.defineComponent({__name:"PModal",props:{saveBtnText:{default:"保存"},closable:{type:Boolean,default:!1},title:{},width:{default:800},height:{default:500},visible:{type:Boolean},loading:{type:Boolean},onSave:{},onClose:{}},emits:["update:visible","update:loading"],setup(o,{expose:i,emit:m}){const g=n.useMessage(),_=o,p=m,N=async()=>{p("update:loading",!0);try{_.onSave&&await _.onSave()&&y()}catch(f){g.error(f.message)}finally{p("update:loading",!1)}},y=()=>{p("update:visible",!1),p("update:loading",!1)},x=async()=>{try{_.onClose?await _.onClose()&&y():y()}catch(f){g.error(f.message),p("update:loading",!1)}};return i({open:()=>{p("update:visible",!0),p("update:loading",!1)},close:()=>{p("update:visible",!1),p("update:loading",!1)}}),(f,r)=>{const C=n.NText,a=n.NButton,u=n.NSpace;return e.openBlock(),e.createBlock(e.unref(n.NModal),e.mergeProps({ref:"$modal",preset:"card"},f.$attrs,{"header-class":"bg-gray-50",show:_.visible,draggable:!0,closable:!1,"close-on-esc":!1,"mask-closable":!1,bordered:!1,style:{width:`${_.width}px`},onClose:y}),{header:e.withCtx(()=>[f.$slots.header?e.renderSlot(f.$slots,"header",{key:0}):_.title?(e.openBlock(),e.createBlock(C,{key:1},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(f.title),1)]),_:1})):e.createCommentVNode("",!0)]),"header-extra":e.withCtx(()=>[e.renderSlot(f.$slots,"header-extra")]),default:e.withCtx(()=>[e.createElementVNode("div",{class:"overflow-y-auto overflow-hidden mt-5",style:e.normalizeStyle({maxHeight:`${_.height}px`})},[e.renderSlot(f.$slots,"default")],4)]),footer:e.withCtx(()=>[e.renderSlot(f.$slots,"footer")]),action:e.withCtx(()=>[e.createVNode(u,{justify:"end"},{default:e.withCtx(()=>[e.createVNode(a,{type:"primary",loading:f.loading,onClick:N},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(f.saveBtnText),1)]),_:1},8,["loading"]),e.renderSlot(f.$slots,"action-extra",{loading:f.loading}),e.createVNode(a,{onClick:x},{default:e.withCtx(()=>r[0]||(r[0]=[e.createTextVNode("取消",-1)])),_:1,__:[0]})]),_:3})]),_:3},16,["show","style"])}}})),ce=I(ae),Ye=Object.freeze(Object.defineProperty({__proto__:null,PApplication:se,PLanguage:ce,PLayout:le,PModal:re,PTable:oe},Symbol.toStringTag,{value:"Module"})),ie=(o,i)=>(Object.values(Ye).forEach(m=>{m.install&&o.use(m)}),i?.(),o),Xe={install:ie};V.PApplication=se,V.PLanguage=ce,V.PLayout=le,V.PModal=re,V.PTable=oe,V.default=Xe,V.install=ie,V.usePLanguageStore=ne,V.usePLayoutStore=D,Object.defineProperties(V,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
1
|
+
(function(V,n){typeof exports=="object"&&typeof module<"u"?n(exports,require("naive-ui"),require("vue"),require("@vicons/antd"),require("lodash"),require("pinia"),require("vue-router"),require("element-resize-detector"),require("vuedraggable")):typeof define=="function"&&define.amd?define(["exports","naive-ui","vue","@vicons/antd","lodash","pinia","vue-router","element-resize-detector","vuedraggable"],n):(V=typeof globalThis<"u"?globalThis:V||self,n(V.naiveplus={},V.naiveUi,V.Vue,V.antd,V.lodash,V.pinia,V.vueRouter,V.elementResizeDetectorMaker,V.Draggable))})(this,function(V,n,e,T,pe,ee,O,he,me){"use strict";const te=o=>{Object.keys(o).forEach(i=>{const m=o[i];Array.isArray(m)?o[i]=[]:m!==null&&typeof m=="object"?te(m):o[i]=void 0})},ue={id:"data-content"},ge={key:0,class:"rounded-lg bg-gray-50 flex flex-row gap-2 items-center justify-end p-5 mb-5"},we={key:1},_e={key:2},ye=e.defineComponent({__name:"PTable",props:{idField:{default:"id"},item:{default:{}},columns:{},modalWidth:{default:800},hiddenAdd:{type:Boolean,default:!1},hiddenEdit:{type:Boolean,default:!1},hiddenDelete:{type:Boolean,default:!1},onLoad:{},onGet:{},onOpenModal:{},onCloseModal:{},onSave:{},onDelete:{}},setup(o,{expose:i}){const m=e.ref(null),g=n.useDialog(),_=n.useMessage(),p=e.ref(!1),N=e.ref([]),y=e.ref([]),x=e.ref(null),S=e.ref(!1),f=e.ref(!1),d=e.ref(!1),r=e.ref({}),C=e.ref({page:1,itemCount:0,pageSize:10,pageSizes:[10,20,30,50],showSizePicker:!0,onChange:async c=>{C.value.page=c,await $()},onUpdatePageSize:async c=>{C.value.pageSize=c,await $()}}),a=o,u=c=>{const t=l=>{const s=[];return c&&c.forEach(b=>{b.key!=="edit"&&b.key!=="delete"&&s.push({label:b.name,key:b.key,props:{onClick:()=>b.action(l)}})}),s};return{title:"操作",key:"actions",width:100,fixed:"right",render:l=>{let s=[];if(a.hiddenEdit||s.push({label:"编辑",key:"edit",props:{onClick:()=>Y(l)}}),a.hiddenDelete||s.push({label:"删除",key:"delete",props:{onClick:()=>E(l)}}),s=[...s,...t(l)],!(s.length<=0))return e.h(n.NDropdown,{options:s,placement:"bottom-start"},{default:()=>e.h(n.NButton,{size:"small",type:"primary"},{default:()=>["操作",e.h(n.NIcon,()=>e.h(T.MoreOutlined))]})})}}},h=e.computed(()=>{const c=a.columns.filter(l=>l.key!="action").map(l=>({title:l.title,key:l.key,width:l.width,fixed:l.fixed??!1,render:l.render,ellipsis:l.ellipsis?{tooltip:!0}:!1})),t=a.columns.reduce((l,s)=>s.key==="action"?s:l,void 0)?.action;return t&&t?.length>0||!a.hiddenDelete||!a.hiddenEdit?[{type:"selection",fixed:"left"},...c,u(t)]:[{type:"selection",fixed:"left"},...c]}),w=async()=>{await $()},E=c=>{k([c])},B=()=>{const c=z();k(c)},k=c=>{c&&c.length>0&&g.warning({title:"警告",content:"删除数据不可恢复, 确认删除吗?",positiveText:"确定",negativeText:"取消",onPositiveClick:async()=>{if(a.onDelete)try{await a.onDelete(c)?($(),_.success("删除成功")):_.error("删除失败")}catch(t){_.error(t.message)}}})},A=()=>{x.value=null,j()},Y=async c=>{x.value=pe.cloneDeep(c),j(x.value,async()=>{a.onGet&&(x.value=await a.onGet(c[a.idField])),Object.assign(a.item,x.value)})},H=async()=>{if(a.onSave)try{d.value=!0,(S.value?await a.onSave(void 0,e.toRaw(a.item)):await a.onSave(x.value[a.idField],e.toRaw(a.item)))&&(R(),await $())}catch(c){_.error(c.message)}finally{d.value=!1}},j=async(c,t)=>{a.onOpenModal?.(c),await t?.(),c?(S.value=!1,f.value=!0):(f.value=!1,S.value=!0)},R=()=>{x.value=null,te(a.item),Object.assign(a.item,{...e.toRaw(r.value)}),a.onCloseModal?.(a.item),S.value=!1,f.value=!1},z=()=>N.value?y.value.filter(t=>N.value.includes(t.id)).map(t=>e.toRaw(t)):[],X=()=>z()[0],G=()=>e.toRaw(y.value),$=async()=>{if(!p.value){p.value=!0;try{if(a.onLoad){var{data:c,total:t}=await a.onLoad(C.value.page,C.value.pageSize);y.value=c,C.value.itemCount=t}}catch(l){_.error(l.message)}finally{p.value=!1}}},J=e.computed(()=>{const c=e.unref(m);if(!c)return;const t=c?.$el,l=t.querySelector(".n-data-table-thead "),{bottomIncludeBody:s}=W(l),b=64;let P=2,L=24;const M=t.querySelector(".n-data-table__pagination");if(M){const Q=M.offsetHeight;P+=Q||0}else P+=28;return s-(b+P+L)}),F=c=>!c||!c.getBoundingClientRect?0:c.getBoundingClientRect(),W=c=>{const t=document.documentElement,l=t.scrollLeft,s=t.scrollTop,b=t.clientLeft,P=t.clientTop,L=window.pageXOffset,M=window.pageYOffset,K=F(c),{left:Q,top:Ge,width:Je,height:Ze}=K,Qe=(L||l)-(b||0),Ue=(M||s)-(P||0),ve=Q+L,et=Ge+M,U=ve-Qe,v=et-Ue,de=window.document.documentElement.clientWidth,fe=window.document.documentElement.clientHeight;return{left:U,top:v,right:de-Je-U,bottom:fe-Ze-v,rightIncludeBody:de-U,bottomIncludeBody:fe-v}},Z=()=>{r.value={...e.toRaw(a.item)}};return e.onMounted(async()=>{Z(),await $()}),i({getData:G,getSelectedRow:X,getSelectedRows:z,closeModal:R,refreshData:$,resetPage:()=>{C.value.page=1}}),(c,t)=>{const l=n.NTooltip,s=n.NDataTable,b=n.NSpace,P=n.NModal;return e.openBlock(),e.createBlock(e.unref(n.NCard),{title:" ","header-class":"p-4","content-class":"pl-4 pr-4",bordered:!1},{"header-extra":e.withCtx(()=>[c.hiddenAdd?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(l,{key:0,trigger:"hover"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(n.NIcon),{size:"18",class:"mr-1 cursor-pointer hover:text-blue-600",onClick:A},{default:e.withCtx(()=>[e.createVNode(e.unref(T.PlusSquareOutlined))]),_:1})]),default:e.withCtx(()=>[t[3]||(t[3]=e.createElementVNode("span",null,"新增",-1))]),_:1,__:[3]})),c.hiddenDelete?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(l,{key:1,trigger:"hover"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(n.NIcon),{size:"18",class:"mr-1 cursor-pointer hover:text-blue-600",onClick:B},{default:e.withCtx(()=>[e.createVNode(e.unref(T.DeleteOutlined))]),_:1})]),default:e.withCtx(()=>[t[4]||(t[4]=e.createElementVNode("span",null,"删除",-1))]),_:1,__:[4]})),e.createVNode(l,{trigger:"hover"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(n.NIcon),{size:"18",class:"cursor-pointer hover:text-blue-600",onClick:w},{default:e.withCtx(()=>[e.createVNode(e.unref(T.ReloadOutlined))]),_:1})]),default:e.withCtx(()=>[t[5]||(t[5]=e.createElementVNode("span",null,"刷新",-1))]),_:1,__:[5]})]),default:e.withCtx(()=>[e.createElementVNode("div",ue,[c.$slots.toolbar?(e.openBlock(),e.createElementBlock("div",ge,[e.renderSlot(c.$slots,"toolbar")])):e.createCommentVNode("",!0),e.createVNode(s,{remote:"",ref_key:"$table",ref:m,"checked-row-keys":N.value,"onUpdate:checkedRowKeys":t[0]||(t[0]=L=>N.value=L),"max-height":J.value,loading:p.value,bordered:!1,"single-line":!1,columns:h.value,data:y.value,pagination:C.value,"row-key":L=>L[c.idField]},null,8,["checked-row-keys","max-height","loading","columns","data","pagination","row-key"]),c.$slots.addModal?(e.openBlock(),e.createElementBlock("div",we,[e.createVNode(P,{title:"新增",preset:"card",show:S.value,"onUpdate:show":t[1]||(t[1]=L=>S.value=L),"header-class":"bg-gray-50",closable:!1,"close-on-esc":!1,"mask-closable":!1,draggable:!0,style:e.normalizeStyle({width:`${c.modalWidth}px`})},{action:e.withCtx(()=>[e.createVNode(b,{justify:"end"},{default:e.withCtx(()=>[e.createVNode(e.unref(n.NButton),{type:"primary",loading:d.value,onClick:H},{default:e.withCtx(()=>t[6]||(t[6]=[e.createTextVNode("保存",-1)])),_:1,__:[6]},8,["loading"]),e.createVNode(e.unref(n.NButton),{onClick:R},{default:e.withCtx(()=>t[7]||(t[7]=[e.createTextVNode("取消",-1)])),_:1,__:[7]})]),_:1})]),default:e.withCtx(()=>[e.renderSlot(c.$slots,"addModal")]),_:3},8,["show","style"])])):e.createCommentVNode("",!0),c.$slots.editModal?(e.openBlock(),e.createElementBlock("div",_e,[e.createVNode(P,{title:"编辑",show:f.value,"onUpdate:show":t[2]||(t[2]=L=>f.value=L),preset:"card","header-class":"bg-gray-50",closable:!1,"close-on-esc":!1,"mask-closable":!1,draggable:!0,style:e.normalizeStyle({width:`${c.modalWidth}px`})},{action:e.withCtx(()=>[e.createVNode(b,{justify:"end"},{default:e.withCtx(()=>[e.createVNode(e.unref(n.NButton),{type:"primary",loading:d.value,onClick:H},{default:e.withCtx(()=>t[8]||(t[8]=[e.createTextVNode("保存",-1)])),_:1,__:[8]},8,["loading"]),e.createVNode(e.unref(n.NButton),{onClick:R},{default:e.withCtx(()=>t[9]||(t[9]=[e.createTextVNode("取消",-1)])),_:1,__:[9]})]),_:1})]),default:e.withCtx(()=>[e.renderSlot(c.$slots,"editModal")]),_:3},8,["show","style"])])):e.createCommentVNode("",!0)])]),_:3})}}}),I=o=>{const i=o;return i.install=function(m){m.component(i.__name,o)},o},oe=I(ye),be=["Redirect","RedirectSon","login"],D=ee.defineStore("p-layout",()=>{const o=e.reactive({collapsed:!1,title:"输入项目名称",logo:"https://picsum.photos/id/1/100/100",avatar:"",uid:"",uname:"",tabs:[],cacheTabs:!1});return{state:o,initTabs:a=>{a.sort((u,h)=>(h.meta.affix?1:0)-(u.meta.affix?1:0)),o.tabs=a},addTab:a=>be.includes(a.name)?!1:(o.tabs?.some(h=>h.fullPath==a.fullPath)||o.tabs?.push(a),!0),closeCurrentTab:a=>{const u=o.tabs.findIndex(h=>h.fullPath==a.fullPath);o.tabs.splice(u,1)},closeAllTabs:()=>{o.tabs=o.tabs.filter(a=>a?.meta?.affix??!1)},closeOtherTabs:a=>{o.tabs=o.tabs.filter(u=>u.fullPath==a.fullPath||(u?.meta?.affix??!1))},closeLeftTabs:a=>{const u=o.tabs.findIndex(h=>h.fullPath==a.fullPath);o.tabs=o.tabs.filter((h,w)=>w>=u||(h?.meta?.affix??!1))},closeRightTabs:a=>{const u=o.tabs.findIndex(h=>h.fullPath==a.fullPath);o.tabs=o.tabs.filter((h,w)=>w<=u||(h?.meta?.affix??!1))},collapse:()=>{o.collapsed=!o.collapsed},setTitle:a=>{o.title=a},setLogo:a=>{o.logo=a},setUser:(a,u)=>{o.uid=a,o.uname=u},setSettingPages:a=>{o.settingPages=a},setLogout:a=>{o.logout=a}}}),Ce={class:"logo"},ke=e.defineComponent({__name:"PLogo",setup(o){const i=D();return(m,g)=>(e.openBlock(),e.createElementBlock("div",Ce,[e.createVNode(e.unref(n.NAvatar),{color:"var(--color-logo)",size:32,src:e.unref(i).state.logo,class:e.normalizeClass({"mr-2":!e.unref(i).state.collapsed})},null,8,["src","class"]),e.withDirectives(e.createElementVNode("h1",{class:"font-bold ease-in-out ml-2 logo-size"},e.toDisplayString(e.unref(i).state.title),513),[[e.vShow,!e.unref(i).state.collapsed]])]))}}),q=(o,i)=>{const m=o.__vccOpts||o;for(const[g,_]of i)m[g]=_;return m},Ne=q(ke,[["__scopeId","data-v-c9496d2e"]]),xe={translationApiUrl:"https://translate.zvo.cn/api",defaultLanguage:"chinese",currentLanguage:"",options:[],selectCallback:o=>{},initLanguage:o=>{}},ne=ee.defineStore("language",()=>{const o=e.ref(xe),i=f=>{f.forEach(d=>{(d.key==="Chinese"||d.key==="chinese")&&(d.key="chinese_simplified")}),o.value.options=[...f]},m=()=>o.value.options,g=f=>{if(o.value.currentLanguage===f)return;const d=o.value.options.find(r=>r.key===f);d&&(o.value.currentLanguage=d.key,o.value.selectCallback(d))},_=()=>{if(o.value.currentLanguage)return o.value.options.find(f=>f.key===o.value.currentLanguage)},p=f=>{o.value.selectCallback=f},N=()=>o.value.translationApiUrl,y=f=>{o.value.translationApiUrl=f},x=f=>{(f==="Chinese"||f==="chinese")&&(f="chinese_simplified"),o.value.defaultLanguage=f},S=()=>o.value.defaultLanguage?o.value.defaultLanguage:"chinese_simplified";return e.onMounted(()=>{o.value.initLanguage(o.value)}),{state:o,select:g,setLanguages:i,getLanguages:m,getCurrentLanguage:_,setSelectCallback:p,setTranslationApiUrl:y,getTranslationApiUrl:N,setDefaultLanguage:x,getDefaultLanguage:S}}),Ve={key:1},ae=e.defineComponent({__name:"PLanguage",setup(o){const{select:i,getLanguages:m,getCurrentLanguage:g,getDefaultLanguage:_,getTranslationApiUrl:p}=ne(),N=x=>i(x),y=()=>{window.translate&&(window.translate.selectLanguageTag.show=!1,window.translate.selectLanguageTag.languages=m().map(x=>x.key).join(","),window.translate.ignore.class.push("ignore-translate-flag"),window.translate.ignore.id.push("ignore-translation"),window.translate.language.setLocal(_()),window.translate.request.api.translate="api/v1/translation",window.translate.request.api.connectTest="api/v1/translation/connect-test",window.translate.request.api.init="api/v1/translation/init",window.translate.request.api.language="api/v1/translation/language",window.translate.request.setHost(p()),window.translate.request.listener.start(),window.translate.listener.start(),window.translate.whole.enableAll(),window.translate.execute())};return e.onMounted(async()=>await e.nextTick(()=>y())),(x,S)=>{const f=n.NIcon,d=n.NButton;return e.unref(m)().length>0?(e.openBlock(),e.createBlock(e.unref(n.NDropdown),{key:0,id:"ignore-translation",placement:"bottom-start",trigger:"hover",class:"flex flex-col justify-center h-full ignore",onSelect:N,options:e.unref(m)()},{default:e.withCtx(()=>[e.createVNode(d,{quaternary:"",type:"info"},{default:e.withCtx(()=>[e.unref(g)()?(e.openBlock(),e.createElementBlock("label",Ve,e.toDisplayString(e.unref(g)()?.label),1)):(e.openBlock(),e.createBlock(f,{key:0,size:"18"},{default:e.withCtx(()=>S[0]||(S[0]=[e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},[e.createElementVNode("path",{d:"M478.33 433.6l-90-218a22 22 0 0 0-40.67 0l-90 218a22 22 0 1 0 40.67 16.79L316.66 406h102.67l18.33 44.39A22 22 0 0 0 458 464a22 22 0 0 0 20.32-30.4zM334.83 362L368 281.65L401.17 362z",fill:"currentColor"}),e.createElementVNode("path",{d:"M267.84 342.92a22 22 0 0 0-4.89-30.7c-.2-.15-15-11.13-36.49-34.73c39.65-53.68 62.11-114.75 71.27-143.49H330a22 22 0 0 0 0-44H214V70a22 22 0 0 0-44 0v20H54a22 22 0 0 0 0 44h197.25c-9.52 26.95-27.05 69.5-53.79 108.36c-31.41-41.68-43.08-68.65-43.17-68.87a22 22 0 0 0-40.58 17c.58 1.38 14.55 34.23 52.86 83.93c.92 1.19 1.83 2.35 2.74 3.51c-39.24 44.35-77.74 71.86-93.85 80.74a22 22 0 1 0 21.07 38.63c2.16-1.18 48.6-26.89 101.63-85.59c22.52 24.08 38 35.44 38.93 36.1a22 22 0 0 0 30.75-4.9z",fill:"currentColor"})],-1)])),_:1,__:[0]}))]),_:1})]),_:1},8,["options"])):e.createCommentVNode("",!0)}}}),Se={class:"layout-header"},Be={class:"layout-header-left"},Te={class:"link-text"},Pe={key:1,class:"link-text"},Le={class:"layout-header-right"},Ee={class:"layout-header-trigger-min"},$e={class:"layout-header-trigger layout-header-trigger-min"},Me={class:"layout-header-trigger layout-header-trigger-min"},Oe={class:"avatar"},De=q(e.defineComponent({__name:"PHeader",setup(o){const i=n.useMessage(),m=n.useDialog(),g=D(),_=O.useRouter(),p=O.useRoute(),N=e.inject("reloadPage"),y=u=>_.push({name:u}),x=e.computed(()=>S(p.matched)),S=u=>u.map(h=>{const w={key:h.name,label:h.meta.title,icon:h.meta.icon,meta:h.meta,disabled:h.path==="/",children:void 0};return h.children&&h.children.length>0&&(w.children=S(h.children)),w}),f=e.ref(!1),d=()=>{document.fullscreenElement?document.exitFullscreen&&(document.exitFullscreen(),f.value=!1):(document.documentElement.requestFullscreen(),f.value=!0)},r=e.computed(()=>{const u=[];return u.push({label:"退出登录",key:"logout"}),g.state.settingPages&&g.state.settingPages.length>0&&g.state.settingPages.forEach(h=>{u.push({label:h.title,key:h.route})}),u}),C=u=>{switch(u){case"logout":a();break;default:_.push({name:u})}},a=()=>{m.info({title:"提示",content:"您确定要退出登录吗",positiveText:"确定",negativeText:"取消",onPositiveClick:async()=>{if(g.state.logout)try{await g.state.logout(),localStorage.removeItem("TABS-ROUTES"),i.error("退出成功")}catch(u){console.error(u),i.error("退出登录失败")}finally{location.reload()}else i.error("没有配置登出接口, 请配置[usePLayoutStore.logout]方法")},onNegativeClick:()=>{}})};return(u,h)=>{const w=n.NTooltip,E=n.NDivider,B=n.NAvatar;return e.openBlock(),e.createElementBlock("div",Se,[e.createElementVNode("div",Be,[e.createElementVNode("div",{class:"ml-1 layout-header-trigger layout-header-trigger-min",onClick:h[0]||(h[0]=(...k)=>e.unref(g).collapse&&e.unref(g).collapse(...k))},[e.unref(g).state.collapsed?(e.openBlock(),e.createBlock(e.unref(n.NIcon),{key:0,size:"18"},{default:e.withCtx(()=>[e.createVNode(e.unref(T.MenuUnfoldOutlined))]),_:1})):(e.openBlock(),e.createBlock(e.unref(n.NIcon),{key:1,size:"18"},{default:e.withCtx(()=>[e.createVNode(e.unref(T.MenuFoldOutlined))]),_:1}))]),e.createElementVNode("div",{class:"mr-1 layout-header-trigger layout-header-trigger-min",onClick:h[1]||(h[1]=(...k)=>e.unref(N)&&e.unref(N)(...k))},[e.createVNode(e.unref(n.NIcon),{size:"18"},{default:e.withCtx(()=>[e.createVNode(e.unref(T.ReloadOutlined))]),_:1})]),e.createVNode(e.unref(n.NBreadcrumb),null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(x.value,k=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:k.label},[k.label?(e.openBlock(),e.createBlock(e.unref(n.NBreadcrumbItem),{key:0},{default:e.withCtx(()=>[k.children&&k.children.length?(e.openBlock(),e.createBlock(e.unref(n.NDropdown),{key:0,options:k.children,onSelect:y},{default:e.withCtx(()=>[e.createElementVNode("span",Te,[k.icon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(k.icon),{key:0})):e.createCommentVNode("",!0),e.createElementVNode("span",null,e.toDisplayString(k.label),1)])]),_:2},1032,["options"])):(e.openBlock(),e.createElementBlock("span",Pe,[k.icon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(k.icon),{key:0})):e.createCommentVNode("",!0),e.createElementVNode("span",null,e.toDisplayString(k.label),1)]))]),_:2},1024)):e.createCommentVNode("",!0)],64))),128))]),_:1})]),e.createElementVNode("div",Le,[e.createElementVNode("div",Ee,[e.createVNode(ae)]),e.createElementVNode("div",$e,[e.createVNode(w,{placement:"bottom"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(n.NIcon),{size:"18",onClick:e.withModifiers(d,["stop"])},{default:e.withCtx(()=>[f.value?(e.openBlock(),e.createBlock(e.unref(T.FullscreenExitOutlined),{key:1})):(e.openBlock(),e.createBlock(e.unref(T.FullscreenOutlined),{key:0}))]),_:1})]),default:e.withCtx(()=>[h[2]||(h[2]=e.createElementVNode("span",null,"全屏",-1))]),_:1,__:[2]})]),e.createElementVNode("div",Me,[e.createVNode(e.unref(n.NDropdown),{trigger:"hover",onSelect:C,options:r.value},{default:e.withCtx(()=>[e.createElementVNode("div",Oe,[e.createElementVNode("span",null,e.toDisplayString(e.unref(g).state.uname),1),e.createVNode(E,{vertical:""}),e.createVNode(B,{round:"",src:e.unref(g).state.avatar},null,8,["src"])])]),_:1},8,["options"])])])])}}}),[["__scopeId","data-v-93589779"]]),Re={class:"mt-1"},ze=e.defineComponent({__name:"PContent",props:{loading:{type:Boolean,default:!1}},setup(o){return(i,m)=>{const g=e.resolveComponent("RouterView");return e.openBlock(),e.createElementBlock("div",Re,[i.loading?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(g,{key:0},{default:e.withCtx(({Component:_,route:p})=>[(e.openBlock(),e.createBlock(e.KeepAlive,null,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(_),{key:p.fullPath}))],1024))]),_:1}))])}}}),Ie={class:"tabs-view-main"},Ae=["id","onClick","onContextmenu"],We={class:"tabs-close"},qe={class:"tabs-close-btn"},He=q(e.defineComponent({__name:"PTabs",setup(o){e.useCssVars(t=>({"4cb4fdc8":m.value,"21e8bab2":g.value}));const i=n.useThemeVars(),m=e.computed(()=>i.value.cardColor),g=e.computed(()=>i.value.textColor1),_=n.useMessage(),p=O.useRoute(),N=O.useRouter(),y=e.ref(null),x=e.ref(null),S=e.ref(!1),f=D(),d=e.computed(()=>f.state.tabs),r=e.reactive({activeKey:p.fullPath,scrollable:!0,dropdownX:0,dropdownY:0,showDropdown:!1,isMultiHeaderFixed:!0,multiTabsSetting:!0}),C=["Login","Redirect","ErrorPage"],a=t=>{const{fullPath:l,hash:s,meta:b,name:P,params:L,path:M,query:K}=t;return{fullPath:l,hash:s,meta:b,name:P,params:L,path:M,query:K}},u=e.computed(()=>{const s=f.state.collapsed?"64px":"272px";return{left:s,width:`calc(100% - ${s})`}}),h=e.computed(()=>{const t=d.value.length<=1;return[{label:"刷新当前",key:"1",icon:()=>e.h(n.NIcon,null,{default:()=>e.h(T.ReloadOutlined)})},{label:"关闭当前",key:"2",disabled:S.value||t,icon:()=>e.h(n.NIcon,null,{default:()=>e.h(T.CloseOutlined)})},{label:"关闭其他",key:"3",disabled:t,icon:()=>e.h(n.NIcon,null,{default:()=>e.h(T.ColumnWidthOutlined)})},{label:"关闭全部",key:"4",disabled:t,icon:()=>e.h(n.NIcon,null,{default:()=>e.h(T.MinusOutlined)})}]}),w=()=>{let t=[];const l=a(p);try{if(f.state.cacheTabs){const s=localStorage.getItem("TABS_ROUTES");t=s?JSON.parse(s):[l]}}catch{t=[l]}finally{return t}},E=t=>{const l=N.getRoutes();t.forEach(s=>{const b=l.find(P=>P.path===s.path);b&&(s.meta=b.meta||s.meta,s.name=b.name||s.name)}),f.state.cacheTabs&&localStorage.setItem("TABS_ROUTES",JSON.stringify(t))},B=()=>{const t=w();E(t),f.initTabs(t)},k=async t=>{if(await e.nextTick(),!y.value)return;const l=y.value.offsetWidth,s=y.value.scrollWidth;l<s?(r.scrollable=!0,t&&[...y.value.querySelectorAll(".tabs-card-scroll-item")||[]].forEach(P=>{P.id===`tag${r.activeKey.split("/").join("/")}`&&P.scrollIntoView&&P.scrollIntoView()})):r.scrollable=!1},A=t=>!(t.draggedContext.element.meta.affix||t.relatedContext.element.meta.affix),Y=()=>{let t;t=he(),t.listenTo(x.value,()=>k(!0))},H=t=>{const{fullPath:l}=t;if(l===p.fullPath||(r.activeKey=l,!t))return;const{replace:s}=N;toString.call(t),s(t).catch(console.error)},j=(t,l)=>{t.preventDefault(),S.value=l.path==="/home",r.showDropdown=!1,e.nextTick().then(()=>{r.showDropdown=!0,r.dropdownX=t.clientX,r.dropdownY=t.clientY})},R=()=>{p.meta.keepAlive&&N.currentRoute.value.matched.find(t=>t.name==p.name)?.components?.default.name},z=t=>{if(d.value.length===1)return _.warning("这已经是最后一页,不能再关闭了!");if(R(),f.closeCurrentTab(t),r.activeKey===t.fullPath){const l=d.value[Math.max(0,d.value.length-1)];r.activeKey=l.fullPath,N.push(l)}k()},X=t=>{const{fullPath:l}=t,s=d.value.find(b=>b.fullPath==l);z(s)},G=t=>{f.closeOtherTabs(t),r.activeKey=t.fullPath,N.replace(t.fullPath),k()},$=()=>{f.closeAllTabs(),k()},J=e.inject("reloadPage"),F=t=>{switch(t){case"1":J();break;case"2":z(p);break;case"3":G(p);break;case"4":$();break}k(),r.showDropdown=!1},W=(t,l)=>{const s=y.value.scrollLeft,b=l>0&&s+l>=t||l<0&&s+l<=t?t:s+l;if(y.value&&y.value.scrollTo(b,0),b!==t)return window.requestAnimationFrame(()=>W(t,l))},Z=()=>{const t=y.value.offsetWidth,l=y.value.scrollLeft;if(!l)return;const s=l>t?l-t:0;W(s,(s-l)/20)},c=()=>{const t=y.value.offsetWidth,l=y.value.scrollWidth,s=y.value.scrollLeft;if(l-s<=t)return;const b=l-s>t*2?s+t:l-t;W(b,(b-s)/20)};return window.addEventListener("beforeunload",()=>{localStorage.setItem("TABS_ROUTES",JSON.stringify(d.value))}),window.addEventListener("scroll",t=>{let l=t.target.scrollTop||document.documentElement.scrollTop||window.pageYOffset||document.body.scrollTop;r.isMultiHeaderFixed=l>=64},!0),e.watch(()=>p.fullPath,t=>{C.includes(p.name)||(r.activeKey=t,f.addTab(a(p)),k(!0))},{immediate:!0}),B(),e.onMounted(()=>Y()),(t,l)=>(e.openBlock(),e.createElementBlock("div",{class:"box-border tabs-view tabs-view-fix tabs-view-default-background",style:e.normalizeStyle(u.value)},[e.createElementVNode("div",Ie,[e.createElementVNode("div",{ref_key:"navWrap",ref:x,class:e.normalizeClass(["tabs-card",{"tabs-card-scrollable":r.scrollable}])},[e.createElementVNode("span",{class:e.normalizeClass(["tabs-card-prev",{"tabs-card-prev-hide":!r.scrollable}]),onClick:Z},[e.createVNode(e.unref(n.NIcon),{size:"16",color:"#515a6e"},{default:e.withCtx(()=>[e.createVNode(e.unref(T.LeftOutlined))]),_:1})],2),e.createElementVNode("span",{class:e.normalizeClass(["tabs-card-next",{"tabs-card-next-hide":!r.scrollable}]),onClick:c},[e.createVNode(e.unref(n.NIcon),{size:"16",color:"#515a6e"},{default:e.withCtx(()=>[e.createVNode(e.unref(T.RightOutlined))]),_:1})],2),e.createElementVNode("div",{ref_key:"navScroll",ref:y,class:"tabs-card-scroll"},[e.createVNode(e.unref(me),{list:d.value,animation:"300","item-key":"fullPath",class:"flex",move:A},{item:e.withCtx(({element:s})=>[e.createElementVNode("div",{id:`tag${s.fullPath.split("/").join("/")}`,class:e.normalizeClass(["tabs-card-scroll-item",{"active-item":r.activeKey===s.fullPath}]),onClick:e.withModifiers(b=>H(s),["stop"]),onContextmenu:b=>j(b,s)},[e.createElementVNode("span",null,e.toDisplayString(s.meta.title),1),s.meta.affix?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(n.NIcon),{key:0,size:"14",onClick:e.withModifiers(b=>X(s),["stop"])},{default:e.withCtx(()=>[e.createVNode(e.unref(T.CloseOutlined))]),_:2},1032,["onClick"]))],42,Ae)]),_:1},8,["list"])],512)],2),e.createElementVNode("div",We,[e.createVNode(e.unref(n.NDropdown),{trigger:"hover",onSelect:F,placement:"bottom-end",options:h.value},{default:e.withCtx(()=>[e.createElementVNode("div",qe,[e.createVNode(e.unref(n.NIcon),{size:"16",color:"#515a6e"},{default:e.withCtx(()=>[e.createVNode(e.unref(T.DownOutlined))]),_:1})])]),_:1},8,["options"])]),e.createVNode(e.unref(n.NDropdown),{show:r.showDropdown,x:r.dropdownX,y:r.dropdownY,onClickoutside:l[0]||(l[0]=s=>r.showDropdown=!1),placement:"bottom-start",onSelect:F,options:h.value},null,8,["show","x","y","options"])])],4))}}),[["__scopeId","data-v-f0706f46"]]),je=e.defineComponent({__name:"PMenus",setup(o){const i=O.useRoute(),m=O.useRouter(),g=D(),_=e.ref(i.name),p=e.ref(i.matched&&i.matched.length?i.matched.map(r=>r.name):[]),N=e.ref([]),y=r=>{/http(s)?:/.test(r)?window.open(r):m.push({name:r})},x=r=>{if(!r)return;const C=r.find(a=>p.value.indexOf(a)===-1);p.value=C?[C]:[]},S=()=>{const r=i.matched;p.value=r.map(a=>a.name);const C=i.meta?.activeMenu||"";_.value=C||i.name},f=(r,C=[],a=!1)=>{const u=[],h=["/:path(.*)*","/redirect","/redirect/:path(.*)","/login","/oidc-callback"];if(!r||r.length===0)return u;r=r.sort((w,E)=>{let B=(E.children?.length?1:0)-(w.children?.length?1:0);return B===0&&(B=(w.meta?.sort??0)-(E.meta?.sort??0)),B});for(const w of r){if(a||(w.meta?.hidden||!1)==!0||h.includes(w.path)){C.push(w.name),w.children&&w.children.length>0&&f(w.children,C,!0);continue}const E=w.meta?.alwaysShow!=!0&&w?.children?.filter(A=>!A?.meta?.hidden)?.length===1,B=E?w.children[0]:w,k={key:B.name,label:B.meta?.title,affix:B.meta?.affix,sort:B.meta?.sort,path:B.path,redirect:B.redirect,icon:E?w.meta?.icon:B.meta?.icon,permissions:B.meta?.permissions,meta:B.meta,children:void 0};if(!C.includes(w.name)){if(u.push(k),C.push(w.name),E){f(w.children,C,a);continue}w.children&&w.children.length>0&&(k.children=f(w.children,C,a))}}return u},d=()=>{const r=m.getRoutes();N.value=f(r)};return e.watch(()=>i.fullPath,()=>{S()}),e.onMounted(()=>{d(),S()}),(r,C)=>(e.openBlock(),e.createBlock(e.unref(n.NMenu),{class:"h-full",inverted:"",mode:"vertical",options:N.value,collapsed:e.unref(g).state.collapsed,"collapsed-width":64,"collapsed-icon-size":20,indent:24,"expanded-keys":p.value,value:_.value,"onUpdate:value":y,"onUpdate:expandedKeys":x},null,8,["options","collapsed","expanded-keys","value"]))}}),Fe={class:"layout-content-main layout-content-main-fix"},Ke={class:"main-view main-view-fix"},le=I(q(e.defineComponent({__name:"PLayout",setup(o){const i=D(),m=e.ref(!1),g=()=>{m.value=!0,e.nextTick(()=>m.value=!1)};return e.provide("reloadPage",g),(_,p)=>{const N=n.NBackTop;return e.openBlock(),e.createBlock(e.unref(n.NLayout),{"has-sider":"",class:"layout",position:"absolute"},{default:e.withCtx(()=>[e.createVNode(e.unref(n.NLayoutSider),{class:"layout-sider",inverted:"","show-trigger":"bar",position:"absolute","collapse-mode":"width",collapsed:e.unref(i).state.collapsed,"native-scrollbar":!1,"collapsed-width":64,onCollapse:e.unref(i).collapse,onExpand:e.unref(i).collapse},{default:e.withCtx(()=>[e.createVNode(e.unref(n.NFlex),{vertical:""},{default:e.withCtx(()=>[e.createVNode(Ne),e.createVNode(je)]),_:1})]),_:1},8,["collapsed","onCollapse","onExpand"]),e.createVNode(e.unref(n.NLayout),null,{default:e.withCtx(()=>[e.createVNode(e.unref(n.NLayoutHeader),{position:"absolute"},{default:e.withCtx(()=>[e.createVNode(De)]),_:1}),e.createVNode(e.unref(n.NLayoutContent),{class:"layout-content layout-default-background"},{default:e.withCtx(()=>[e.createElementVNode("div",Fe,[e.createVNode(He),e.createElementVNode("div",Ke,[e.createVNode(ze,{loading:m.value},null,8,["loading"])])])]),_:1}),e.createVNode(N,{right:20,class:"z-50"})]),_:1})]),_:1})}}}),[["__scopeId","data-v-87dcb433"]])),se=I(e.defineComponent({__name:"PApplication",props:{theme:{},themeOverrides:{default:{common:{primaryColor:"#2d8cf0",primaryColorHover:"#3c9bff",primaryColorPressed:"#3c9bff",primaryColorSuppl:"#2d8cf0"},LoadingBar:{colorLoading:"#2d8cf0"}}}},setup(o){return(i,m)=>{const g=n.NConfigProvider;return e.openBlock(),e.createBlock(g,{locale:e.unref(n.zhCN),theme:i.theme,"theme-overrides":i.themeOverrides,"date-locale":e.unref(n.dateZhCN)},{default:e.withCtx(()=>[e.createVNode(e.unref(n.NDialogProvider),null,{default:e.withCtx(()=>[e.createVNode(e.unref(n.NNotificationProvider),null,{default:e.withCtx(()=>[e.createVNode(e.unref(n.NMessageProvider),null,{default:e.withCtx(()=>[e.renderSlot(i.$slots,"default")]),_:3})]),_:3})]),_:3})]),_:3},8,["locale","theme","theme-overrides","date-locale"])}}})),re=I(e.defineComponent({__name:"PModal",props:{saveBtnText:{default:"保存"},closable:{type:Boolean,default:!1},title:{},width:{default:800},height:{default:500},visible:{type:Boolean},loading:{type:Boolean},onSave:{},onClose:{}},emits:["update:visible","update:loading"],setup(o,{expose:i,emit:m}){const g=n.useMessage(),_=o,p=m,N=async()=>{p("update:loading",!0);try{_.onSave&&await _.onSave()&&y()}catch(d){g.error(d.message)}finally{p("update:loading",!1)}},y=()=>{p("update:visible",!1),p("update:loading",!1)},x=async()=>{try{_.onClose?await _.onClose()&&y():y()}catch(d){g.error(d.message),p("update:loading",!1)}};return i({open:()=>{p("update:visible",!0),p("update:loading",!1)},close:()=>{p("update:visible",!1),p("update:loading",!1)}}),(d,r)=>{const C=n.NText,a=n.NButton,u=n.NSpace;return e.openBlock(),e.createBlock(e.unref(n.NModal),e.mergeProps({ref:"$modal",preset:"card"},d.$attrs,{"header-class":"bg-gray-50",show:_.visible,draggable:!0,closable:!1,"close-on-esc":!1,"mask-closable":!1,bordered:!1,style:{width:`${_.width}px`},onClose:y}),{header:e.withCtx(()=>[d.$slots.header?e.renderSlot(d.$slots,"header",{key:0}):_.title?(e.openBlock(),e.createBlock(C,{key:1},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(d.title),1)]),_:1})):e.createCommentVNode("",!0)]),"header-extra":e.withCtx(()=>[e.renderSlot(d.$slots,"header-extra")]),default:e.withCtx(()=>[e.createElementVNode("div",{class:"overflow-y-auto overflow-hidden mt-5",style:e.normalizeStyle({maxHeight:`${_.height}px`})},[e.renderSlot(d.$slots,"default")],4)]),footer:e.withCtx(()=>[e.renderSlot(d.$slots,"footer")]),action:e.withCtx(()=>[e.createVNode(u,{justify:"end"},{default:e.withCtx(()=>[e.createVNode(a,{type:"primary",loading:d.loading,onClick:N},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(d.saveBtnText),1)]),_:1},8,["loading"]),e.renderSlot(d.$slots,"action-extra",{loading:d.loading}),e.createVNode(a,{onClick:x,loading:d.loading},{default:e.withCtx(()=>r[0]||(r[0]=[e.createTextVNode("取消",-1)])),_:1,__:[0]},8,["loading"])]),_:3})]),_:3},16,["show","style"])}}})),ce=I(ae),Ye=Object.freeze(Object.defineProperty({__proto__:null,PApplication:se,PLanguage:ce,PLayout:le,PModal:re,PTable:oe},Symbol.toStringTag,{value:"Module"})),ie=(o,i)=>(Object.values(Ye).forEach(m=>{m.install&&o.use(m)}),i?.(),o),Xe={install:ie};V.PApplication=se,V.PLanguage=ce,V.PLayout=le,V.PModal=re,V.PTable=oe,V.default=Xe,V.install=ie,V.usePLanguageStore=ne,V.usePLayoutStore=D,Object.defineProperties(V,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
package/es/modal/PModal.vue.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { useMessage as $, NModal as w, NSpace as
|
|
2
|
-
import { defineComponent as
|
|
3
|
-
const E = /* @__PURE__ */
|
|
1
|
+
import { useMessage as $, NModal as w, NSpace as B, NButton as N, NText as S } from "naive-ui";
|
|
2
|
+
import { defineComponent as _, createBlock as p, openBlock as c, unref as k, mergeProps as T, withCtx as a, createVNode as n, renderSlot as s, createTextVNode as d, toDisplayString as u, createElementVNode as V, normalizeStyle as x, createCommentVNode as M } from "vue";
|
|
3
|
+
const E = /* @__PURE__ */ _({
|
|
4
4
|
__name: "PModal",
|
|
5
5
|
props: {
|
|
6
6
|
saveBtnText: { default: "保存" },
|
|
@@ -15,12 +15,12 @@ const E = /* @__PURE__ */ S({
|
|
|
15
15
|
},
|
|
16
16
|
emits: ["update:visible", "update:loading"],
|
|
17
17
|
setup(g, { expose: m, emit: y }) {
|
|
18
|
-
const
|
|
18
|
+
const i = $(), t = g, o = y, h = async () => {
|
|
19
19
|
o("update:loading", !0);
|
|
20
20
|
try {
|
|
21
|
-
|
|
21
|
+
t.onSave && await t.onSave() && l();
|
|
22
22
|
} catch (e) {
|
|
23
|
-
|
|
23
|
+
i.error(e.message);
|
|
24
24
|
} finally {
|
|
25
25
|
o("update:loading", !1);
|
|
26
26
|
}
|
|
@@ -28,9 +28,9 @@ const E = /* @__PURE__ */ S({
|
|
|
28
28
|
o("update:visible", !1), o("update:loading", !1);
|
|
29
29
|
}, v = async () => {
|
|
30
30
|
try {
|
|
31
|
-
|
|
31
|
+
t.onClose ? await t.onClose() && l() : l();
|
|
32
32
|
} catch (e) {
|
|
33
|
-
|
|
33
|
+
i.error(e.message), o("update:loading", !1);
|
|
34
34
|
}
|
|
35
35
|
};
|
|
36
36
|
return m({
|
|
@@ -40,65 +40,68 @@ const E = /* @__PURE__ */ S({
|
|
|
40
40
|
close: () => {
|
|
41
41
|
o("update:visible", !1), o("update:loading", !1);
|
|
42
42
|
}
|
|
43
|
-
}), (e,
|
|
44
|
-
const b =
|
|
45
|
-
return c(), p(k(w),
|
|
43
|
+
}), (e, r) => {
|
|
44
|
+
const b = S, f = N, C = B;
|
|
45
|
+
return c(), p(k(w), T({
|
|
46
46
|
ref: "$modal",
|
|
47
47
|
preset: "card"
|
|
48
48
|
}, e.$attrs, {
|
|
49
49
|
"header-class": "bg-gray-50",
|
|
50
|
-
show:
|
|
50
|
+
show: t.visible,
|
|
51
51
|
draggable: !0,
|
|
52
52
|
closable: !1,
|
|
53
53
|
"close-on-esc": !1,
|
|
54
54
|
"mask-closable": !1,
|
|
55
55
|
bordered: !1,
|
|
56
|
-
style: { width: `${
|
|
56
|
+
style: { width: `${t.width}px` },
|
|
57
57
|
onClose: l
|
|
58
58
|
}), {
|
|
59
|
-
header:
|
|
60
|
-
e.$slots.header ? s(e.$slots, "header", { key: 0 }) :
|
|
61
|
-
default:
|
|
59
|
+
header: a(() => [
|
|
60
|
+
e.$slots.header ? s(e.$slots, "header", { key: 0 }) : t.title ? (c(), p(b, { key: 1 }, {
|
|
61
|
+
default: a(() => [
|
|
62
62
|
d(u(e.title), 1)
|
|
63
63
|
]),
|
|
64
64
|
_: 1
|
|
65
65
|
})) : M("", !0)
|
|
66
66
|
]),
|
|
67
|
-
"header-extra":
|
|
67
|
+
"header-extra": a(() => [
|
|
68
68
|
s(e.$slots, "header-extra")
|
|
69
69
|
]),
|
|
70
|
-
default:
|
|
71
|
-
|
|
70
|
+
default: a(() => [
|
|
71
|
+
V("div", {
|
|
72
72
|
class: "overflow-y-auto overflow-hidden mt-5",
|
|
73
|
-
style:
|
|
73
|
+
style: x({ maxHeight: `${t.height}px` })
|
|
74
74
|
}, [
|
|
75
75
|
s(e.$slots, "default")
|
|
76
76
|
], 4)
|
|
77
77
|
]),
|
|
78
|
-
footer:
|
|
78
|
+
footer: a(() => [
|
|
79
79
|
s(e.$slots, "footer")
|
|
80
80
|
]),
|
|
81
|
-
action:
|
|
81
|
+
action: a(() => [
|
|
82
82
|
n(C, { justify: "end" }, {
|
|
83
|
-
default:
|
|
83
|
+
default: a(() => [
|
|
84
84
|
n(f, {
|
|
85
85
|
type: "primary",
|
|
86
86
|
loading: e.loading,
|
|
87
87
|
onClick: h
|
|
88
88
|
}, {
|
|
89
|
-
default:
|
|
89
|
+
default: a(() => [
|
|
90
90
|
d(u(e.saveBtnText), 1)
|
|
91
91
|
]),
|
|
92
92
|
_: 1
|
|
93
93
|
}, 8, ["loading"]),
|
|
94
94
|
s(e.$slots, "action-extra", { loading: e.loading }),
|
|
95
|
-
n(f, {
|
|
96
|
-
|
|
95
|
+
n(f, {
|
|
96
|
+
onClick: v,
|
|
97
|
+
loading: e.loading
|
|
98
|
+
}, {
|
|
99
|
+
default: a(() => r[0] || (r[0] = [
|
|
97
100
|
d("取消", -1)
|
|
98
101
|
])),
|
|
99
102
|
_: 1,
|
|
100
103
|
__: [0]
|
|
101
|
-
})
|
|
104
|
+
}, 8, ["loading"])
|
|
102
105
|
]),
|
|
103
106
|
_: 3
|
|
104
107
|
})
|
package/es/table/PTable.vue.js
CHANGED
|
@@ -300,6 +300,7 @@ const ze = { id: "data-content" }, Le = {
|
|
|
300
300
|
closable: !1,
|
|
301
301
|
"close-on-esc": !1,
|
|
302
302
|
"mask-closable": !1,
|
|
303
|
+
draggable: !0,
|
|
303
304
|
style: K({ width: `${e.modalWidth}px` })
|
|
304
305
|
}, {
|
|
305
306
|
action: n(() => [
|
|
@@ -343,6 +344,7 @@ const ze = { id: "data-content" }, Le = {
|
|
|
343
344
|
closable: !1,
|
|
344
345
|
"close-on-esc": !1,
|
|
345
346
|
"mask-closable": !1,
|
|
347
|
+
draggable: !0,
|
|
346
348
|
style: K({ width: `${e.modalWidth}px` })
|
|
347
349
|
}, {
|
|
348
350
|
action: n(() => [
|
package/lib/modal/PModal.vue.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const l=require("naive-ui"),e=require("vue"),m=e.defineComponent({__name:"PModal",props:{saveBtnText:{default:"保存"},closable:{type:Boolean,default:!1},title:{},width:{default:800},height:{default:500},visible:{type:Boolean},loading:{type:Boolean},onSave:{},onClose:{}},emits:["update:visible","update:loading"],setup(d,{expose:c,emit:u}){const n=l.useMessage(),a=d,o=u,p=async()=>{o("update:loading",!0);try{a.onSave&&await a.onSave()&&s()}catch(t){n.error(t.message)}finally{o("update:loading",!1)}},s=()=>{o("update:visible",!1),o("update:loading",!1)},f=async()=>{try{a.onClose?await a.onClose()&&s():s()}catch(t){n.error(t.message),o("update:loading",!1)}};return c({open:()=>{o("update:visible",!0),o("update:loading",!1)},close:()=>{o("update:visible",!1),o("update:loading",!1)}}),(t,r)=>{const g=l.NText,i=l.NButton,h=l.NSpace;return e.openBlock(),e.createBlock(e.unref(l.NModal),e.mergeProps({ref:"$modal",preset:"card"},t.$attrs,{"header-class":"bg-gray-50",show:a.visible,draggable:!0,closable:!1,"close-on-esc":!1,"mask-closable":!1,bordered:!1,style:{width:`${a.width}px`},onClose:s}),{header:e.withCtx(()=>[t.$slots.header?e.renderSlot(t.$slots,"header",{key:0}):a.title?(e.openBlock(),e.createBlock(g,{key:1},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.title),1)]),_:1})):e.createCommentVNode("",!0)]),"header-extra":e.withCtx(()=>[e.renderSlot(t.$slots,"header-extra")]),default:e.withCtx(()=>[e.createElementVNode("div",{class:"overflow-y-auto overflow-hidden mt-5",style:e.normalizeStyle({maxHeight:`${a.height}px`})},[e.renderSlot(t.$slots,"default")],4)]),footer:e.withCtx(()=>[e.renderSlot(t.$slots,"footer")]),action:e.withCtx(()=>[e.createVNode(h,{justify:"end"},{default:e.withCtx(()=>[e.createVNode(i,{type:"primary",loading:t.loading,onClick:p},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.saveBtnText),1)]),_:1},8,["loading"]),e.renderSlot(t.$slots,"action-extra",{loading:t.loading}),e.createVNode(i,{onClick:f},{default:e.withCtx(()=>r[0]||(r[0]=[e.createTextVNode("取消",-1)])),_:1,__:[0]})]),_:3})]),_:3},16,["show","style"])}}});exports.default=m;
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const l=require("naive-ui"),e=require("vue"),m=e.defineComponent({__name:"PModal",props:{saveBtnText:{default:"保存"},closable:{type:Boolean,default:!1},title:{},width:{default:800},height:{default:500},visible:{type:Boolean},loading:{type:Boolean},onSave:{},onClose:{}},emits:["update:visible","update:loading"],setup(d,{expose:c,emit:u}){const n=l.useMessage(),a=d,o=u,p=async()=>{o("update:loading",!0);try{a.onSave&&await a.onSave()&&s()}catch(t){n.error(t.message)}finally{o("update:loading",!1)}},s=()=>{o("update:visible",!1),o("update:loading",!1)},f=async()=>{try{a.onClose?await a.onClose()&&s():s()}catch(t){n.error(t.message),o("update:loading",!1)}};return c({open:()=>{o("update:visible",!0),o("update:loading",!1)},close:()=>{o("update:visible",!1),o("update:loading",!1)}}),(t,r)=>{const g=l.NText,i=l.NButton,h=l.NSpace;return e.openBlock(),e.createBlock(e.unref(l.NModal),e.mergeProps({ref:"$modal",preset:"card"},t.$attrs,{"header-class":"bg-gray-50",show:a.visible,draggable:!0,closable:!1,"close-on-esc":!1,"mask-closable":!1,bordered:!1,style:{width:`${a.width}px`},onClose:s}),{header:e.withCtx(()=>[t.$slots.header?e.renderSlot(t.$slots,"header",{key:0}):a.title?(e.openBlock(),e.createBlock(g,{key:1},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.title),1)]),_:1})):e.createCommentVNode("",!0)]),"header-extra":e.withCtx(()=>[e.renderSlot(t.$slots,"header-extra")]),default:e.withCtx(()=>[e.createElementVNode("div",{class:"overflow-y-auto overflow-hidden mt-5",style:e.normalizeStyle({maxHeight:`${a.height}px`})},[e.renderSlot(t.$slots,"default")],4)]),footer:e.withCtx(()=>[e.renderSlot(t.$slots,"footer")]),action:e.withCtx(()=>[e.createVNode(h,{justify:"end"},{default:e.withCtx(()=>[e.createVNode(i,{type:"primary",loading:t.loading,onClick:p},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.saveBtnText),1)]),_:1},8,["loading"]),e.renderSlot(t.$slots,"action-extra",{loading:t.loading}),e.createVNode(i,{onClick:f,loading:t.loading},{default:e.withCtx(()=>r[0]||(r[0]=[e.createTextVNode("取消",-1)])),_:1,__:[0]},8,["loading"])]),_:3})]),_:3},16,["show","style"])}}});exports.default=m;
|
package/lib/table/PTable.vue.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const s=require("naive-ui"),e=require("vue"),N=require("@vicons/antd"),ne=require("../utils/helper.cjs"),ae=require("lodash"),se={id:"data-content"},ie={key:0,class:"rounded-lg bg-gray-50 flex flex-row gap-2 items-center justify-end p-5 mb-5"},re={key:1},de={key:2},ce=e.defineComponent({__name:"PTable",props:{idField:{default:"id"},item:{default:{}},columns:{},modalWidth:{default:800},hiddenAdd:{type:Boolean,default:!1},hiddenEdit:{type:Boolean,default:!1},hiddenDelete:{type:Boolean,default:!1},onLoad:{},onGet:{},onOpenModal:{},onCloseModal:{},onSave:{},onDelete:{}},setup($,{expose:z}){const S=e.ref(null),L=s.useDialog(),h=s.useMessage(),v=e.ref(!1),w=e.ref([]),y=e.ref([]),c=e.ref(null),p=e.ref(!1),g=e.ref(!1),k=e.ref(!1),B=e.ref({}),u=e.ref({page:1,itemCount:0,pageSize:10,pageSizes:[10,20,30,50],showSizePicker:!0,onChange:async t=>{u.value.page=t,await f()},onUpdatePageSize:async t=>{u.value.pageSize=t,await f()}}),l=$,H=t=>{const o=n=>{const a=[];return t&&t.forEach(i=>{i.key!=="edit"&&i.key!=="delete"&&a.push({label:i.name,key:i.key,props:{onClick:()=>i.action(n)}})}),a};return{title:"操作",key:"actions",width:100,fixed:"right",render:n=>{let a=[];if(l.hiddenEdit||a.push({label:"编辑",key:"edit",props:{onClick:()=>A(n)}}),l.hiddenDelete||a.push({label:"删除",key:"delete",props:{onClick:()=>j(n)}}),a=[...a,...o(n)],!(a.length<=0))return e.h(s.NDropdown,{options:a,placement:"bottom-start"},{default:()=>e.h(s.NButton,{size:"small",type:"primary"},{default:()=>["操作",e.h(s.NIcon,()=>e.h(N.MoreOutlined))]})})}}},I=e.computed(()=>{const t=l.columns.filter(n=>n.key!="action").map(n=>({title:n.title,key:n.key,width:n.width,fixed:n.fixed??!1,render:n.render,ellipsis:n.ellipsis?{tooltip:!0}:!1})),o=l.columns.reduce((n,a)=>a.key==="action"?a:n,void 0)?.action;return o&&o?.length>0||!l.hiddenDelete||!l.hiddenEdit?[{type:"selection",fixed:"left"},...t,H(o)]:[{type:"selection",fixed:"left"},...t]}),q=async()=>{await f()},j=t=>{E([t])},P=()=>{const t=b();E(t)},E=t=>{t&&t.length>0&&L.warning({title:"警告",content:"删除数据不可恢复, 确认删除吗?",positiveText:"确定",negativeText:"取消",onPositiveClick:async()=>{if(l.onDelete)try{await l.onDelete(t)?(f(),h.success("删除成功")):h.error("删除失败")}catch(o){h.error(o.message)}}})},W=()=>{c.value=null,D()},A=async t=>{c.value=ae.cloneDeep(t),D(c.value,async()=>{l.onGet&&(c.value=await l.onGet(t[l.idField])),Object.assign(l.item,c.value)})},M=async()=>{if(l.onSave)try{k.value=!0,(p.value?await l.onSave(void 0,e.toRaw(l.item)):await l.onSave(c.value[l.idField],e.toRaw(l.item)))&&(C(),await f())}catch(t){h.error(t.message)}finally{k.value=!1}},D=async(t,o)=>{l.onOpenModal?.(t),await o?.(),t?(p.value=!1,g.value=!0):(g.value=!1,p.value=!0)},C=()=>{c.value=null,ne.resetObject(l.item),Object.assign(l.item,{...e.toRaw(B.value)}),l.onCloseModal?.(l.item),p.value=!1,g.value=!1},b=()=>w.value?y.value.filter(o=>w.value.includes(o.id)).map(o=>e.toRaw(o)):[],U=()=>b()[0],F=()=>e.toRaw(y.value),f=async()=>{if(!v.value){v.value=!0;try{if(l.onLoad){var{data:t,total:o}=await l.onLoad(u.value.page,u.value.pageSize);y.value=t,u.value.itemCount=o}}catch(n){h.error(n.message)}finally{v.value=!1}}},G=e.computed(()=>{const t=e.unref(S);if(!t)return;const o=t?.$el,n=o.querySelector(".n-data-table-thead "),{bottomIncludeBody:a}=X(n),i=64;let d=2,r=24;const m=o.querySelector(".n-data-table__pagination");if(m){const x=m.offsetHeight;d+=x||0}else d+=28;return a-(i+d+r)}),K=t=>!t||!t.getBoundingClientRect?0:t.getBoundingClientRect(),X=t=>{const o=document.documentElement,n=o.scrollLeft,a=o.scrollTop,i=o.clientLeft,d=o.clientTop,r=window.pageXOffset,m=window.pageYOffset,R=K(t),{left:x,top:J,width:Q,height:Z}=R,ee=(r||n)-(i||0),te=(m||a)-(d||0),oe=x+r,le=J+m,V=oe-ee,_=le-te,T=window.document.documentElement.clientWidth,O=window.document.documentElement.clientHeight;return{left:V,top:_,right:T-Q-V,bottom:O-Z-_,rightIncludeBody:T-V,bottomIncludeBody:O-_}},Y=()=>{B.value={...e.toRaw(l.item)}};return e.onMounted(async()=>{Y(),await f()}),z({getData:F,getSelectedRow:U,getSelectedRows:b,closeModal:C,refreshData:f,resetPage:()=>{u.value.page=1}}),(t,o)=>{const n=s.NTooltip,a=s.NDataTable,i=s.NSpace,d=s.NModal;return e.openBlock(),e.createBlock(e.unref(s.NCard),{title:" ","header-class":"p-4","content-class":"pl-4 pr-4",bordered:!1},{"header-extra":e.withCtx(()=>[t.hiddenAdd?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(n,{key:0,trigger:"hover"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(s.NIcon),{size:"18",class:"mr-1 cursor-pointer hover:text-blue-600",onClick:W},{default:e.withCtx(()=>[e.createVNode(e.unref(N.PlusSquareOutlined))]),_:1})]),default:e.withCtx(()=>[o[3]||(o[3]=e.createElementVNode("span",null,"新增",-1))]),_:1,__:[3]})),t.hiddenDelete?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(n,{key:1,trigger:"hover"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(s.NIcon),{size:"18",class:"mr-1 cursor-pointer hover:text-blue-600",onClick:P},{default:e.withCtx(()=>[e.createVNode(e.unref(N.DeleteOutlined))]),_:1})]),default:e.withCtx(()=>[o[4]||(o[4]=e.createElementVNode("span",null,"删除",-1))]),_:1,__:[4]})),e.createVNode(n,{trigger:"hover"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(s.NIcon),{size:"18",class:"cursor-pointer hover:text-blue-600",onClick:q},{default:e.withCtx(()=>[e.createVNode(e.unref(N.ReloadOutlined))]),_:1})]),default:e.withCtx(()=>[o[5]||(o[5]=e.createElementVNode("span",null,"刷新",-1))]),_:1,__:[5]})]),default:e.withCtx(()=>[e.createElementVNode("div",se,[t.$slots.toolbar?(e.openBlock(),e.createElementBlock("div",ie,[e.renderSlot(t.$slots,"toolbar")])):e.createCommentVNode("",!0),e.createVNode(a,{remote:"",ref_key:"$table",ref:S,"checked-row-keys":w.value,"onUpdate:checkedRowKeys":o[0]||(o[0]=r=>w.value=r),"max-height":G.value,loading:v.value,bordered:!1,"single-line":!1,columns:I.value,data:y.value,pagination:u.value,"row-key":r=>r[t.idField]},null,8,["checked-row-keys","max-height","loading","columns","data","pagination","row-key"]),t.$slots.addModal?(e.openBlock(),e.createElementBlock("div",re,[e.createVNode(d,{title:"新增",preset:"card",show:p.value,"onUpdate:show":o[1]||(o[1]=r=>p.value=r),"header-class":"bg-gray-50",closable:!1,"close-on-esc":!1,"mask-closable":!1,style:e.normalizeStyle({width:`${t.modalWidth}px`})},{action:e.withCtx(()=>[e.createVNode(i,{justify:"end"},{default:e.withCtx(()=>[e.createVNode(e.unref(s.NButton),{type:"primary",loading:k.value,onClick:M},{default:e.withCtx(()=>o[6]||(o[6]=[e.createTextVNode("保存",-1)])),_:1,__:[6]},8,["loading"]),e.createVNode(e.unref(s.NButton),{onClick:C},{default:e.withCtx(()=>o[7]||(o[7]=[e.createTextVNode("取消",-1)])),_:1,__:[7]})]),_:1})]),default:e.withCtx(()=>[e.renderSlot(t.$slots,"addModal")]),_:3},8,["show","style"])])):e.createCommentVNode("",!0),t.$slots.editModal?(e.openBlock(),e.createElementBlock("div",de,[e.createVNode(d,{title:"编辑",show:g.value,"onUpdate:show":o[2]||(o[2]=r=>g.value=r),preset:"card","header-class":"bg-gray-50",closable:!1,"close-on-esc":!1,"mask-closable":!1,style:e.normalizeStyle({width:`${t.modalWidth}px`})},{action:e.withCtx(()=>[e.createVNode(i,{justify:"end"},{default:e.withCtx(()=>[e.createVNode(e.unref(s.NButton),{type:"primary",loading:k.value,onClick:M},{default:e.withCtx(()=>o[8]||(o[8]=[e.createTextVNode("保存",-1)])),_:1,__:[8]},8,["loading"]),e.createVNode(e.unref(s.NButton),{onClick:C},{default:e.withCtx(()=>o[9]||(o[9]=[e.createTextVNode("取消",-1)])),_:1,__:[9]})]),_:1})]),default:e.withCtx(()=>[e.renderSlot(t.$slots,"editModal")]),_:3},8,["show","style"])])):e.createCommentVNode("",!0)])]),_:3})}}});exports.default=ce;
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const s=require("naive-ui"),e=require("vue"),N=require("@vicons/antd"),ne=require("../utils/helper.cjs"),ae=require("lodash"),se={id:"data-content"},ie={key:0,class:"rounded-lg bg-gray-50 flex flex-row gap-2 items-center justify-end p-5 mb-5"},re={key:1},de={key:2},ce=e.defineComponent({__name:"PTable",props:{idField:{default:"id"},item:{default:{}},columns:{},modalWidth:{default:800},hiddenAdd:{type:Boolean,default:!1},hiddenEdit:{type:Boolean,default:!1},hiddenDelete:{type:Boolean,default:!1},onLoad:{},onGet:{},onOpenModal:{},onCloseModal:{},onSave:{},onDelete:{}},setup($,{expose:z}){const S=e.ref(null),L=s.useDialog(),h=s.useMessage(),v=e.ref(!1),w=e.ref([]),y=e.ref([]),c=e.ref(null),p=e.ref(!1),g=e.ref(!1),k=e.ref(!1),B=e.ref({}),u=e.ref({page:1,itemCount:0,pageSize:10,pageSizes:[10,20,30,50],showSizePicker:!0,onChange:async t=>{u.value.page=t,await f()},onUpdatePageSize:async t=>{u.value.pageSize=t,await f()}}),l=$,H=t=>{const o=n=>{const a=[];return t&&t.forEach(i=>{i.key!=="edit"&&i.key!=="delete"&&a.push({label:i.name,key:i.key,props:{onClick:()=>i.action(n)}})}),a};return{title:"操作",key:"actions",width:100,fixed:"right",render:n=>{let a=[];if(l.hiddenEdit||a.push({label:"编辑",key:"edit",props:{onClick:()=>A(n)}}),l.hiddenDelete||a.push({label:"删除",key:"delete",props:{onClick:()=>j(n)}}),a=[...a,...o(n)],!(a.length<=0))return e.h(s.NDropdown,{options:a,placement:"bottom-start"},{default:()=>e.h(s.NButton,{size:"small",type:"primary"},{default:()=>["操作",e.h(s.NIcon,()=>e.h(N.MoreOutlined))]})})}}},I=e.computed(()=>{const t=l.columns.filter(n=>n.key!="action").map(n=>({title:n.title,key:n.key,width:n.width,fixed:n.fixed??!1,render:n.render,ellipsis:n.ellipsis?{tooltip:!0}:!1})),o=l.columns.reduce((n,a)=>a.key==="action"?a:n,void 0)?.action;return o&&o?.length>0||!l.hiddenDelete||!l.hiddenEdit?[{type:"selection",fixed:"left"},...t,H(o)]:[{type:"selection",fixed:"left"},...t]}),q=async()=>{await f()},j=t=>{E([t])},P=()=>{const t=b();E(t)},E=t=>{t&&t.length>0&&L.warning({title:"警告",content:"删除数据不可恢复, 确认删除吗?",positiveText:"确定",negativeText:"取消",onPositiveClick:async()=>{if(l.onDelete)try{await l.onDelete(t)?(f(),h.success("删除成功")):h.error("删除失败")}catch(o){h.error(o.message)}}})},W=()=>{c.value=null,D()},A=async t=>{c.value=ae.cloneDeep(t),D(c.value,async()=>{l.onGet&&(c.value=await l.onGet(t[l.idField])),Object.assign(l.item,c.value)})},M=async()=>{if(l.onSave)try{k.value=!0,(p.value?await l.onSave(void 0,e.toRaw(l.item)):await l.onSave(c.value[l.idField],e.toRaw(l.item)))&&(C(),await f())}catch(t){h.error(t.message)}finally{k.value=!1}},D=async(t,o)=>{l.onOpenModal?.(t),await o?.(),t?(p.value=!1,g.value=!0):(g.value=!1,p.value=!0)},C=()=>{c.value=null,ne.resetObject(l.item),Object.assign(l.item,{...e.toRaw(B.value)}),l.onCloseModal?.(l.item),p.value=!1,g.value=!1},b=()=>w.value?y.value.filter(o=>w.value.includes(o.id)).map(o=>e.toRaw(o)):[],U=()=>b()[0],F=()=>e.toRaw(y.value),f=async()=>{if(!v.value){v.value=!0;try{if(l.onLoad){var{data:t,total:o}=await l.onLoad(u.value.page,u.value.pageSize);y.value=t,u.value.itemCount=o}}catch(n){h.error(n.message)}finally{v.value=!1}}},G=e.computed(()=>{const t=e.unref(S);if(!t)return;const o=t?.$el,n=o.querySelector(".n-data-table-thead "),{bottomIncludeBody:a}=X(n),i=64;let d=2,r=24;const m=o.querySelector(".n-data-table__pagination");if(m){const x=m.offsetHeight;d+=x||0}else d+=28;return a-(i+d+r)}),K=t=>!t||!t.getBoundingClientRect?0:t.getBoundingClientRect(),X=t=>{const o=document.documentElement,n=o.scrollLeft,a=o.scrollTop,i=o.clientLeft,d=o.clientTop,r=window.pageXOffset,m=window.pageYOffset,R=K(t),{left:x,top:J,width:Q,height:Z}=R,ee=(r||n)-(i||0),te=(m||a)-(d||0),oe=x+r,le=J+m,V=oe-ee,_=le-te,T=window.document.documentElement.clientWidth,O=window.document.documentElement.clientHeight;return{left:V,top:_,right:T-Q-V,bottom:O-Z-_,rightIncludeBody:T-V,bottomIncludeBody:O-_}},Y=()=>{B.value={...e.toRaw(l.item)}};return e.onMounted(async()=>{Y(),await f()}),z({getData:F,getSelectedRow:U,getSelectedRows:b,closeModal:C,refreshData:f,resetPage:()=>{u.value.page=1}}),(t,o)=>{const n=s.NTooltip,a=s.NDataTable,i=s.NSpace,d=s.NModal;return e.openBlock(),e.createBlock(e.unref(s.NCard),{title:" ","header-class":"p-4","content-class":"pl-4 pr-4",bordered:!1},{"header-extra":e.withCtx(()=>[t.hiddenAdd?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(n,{key:0,trigger:"hover"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(s.NIcon),{size:"18",class:"mr-1 cursor-pointer hover:text-blue-600",onClick:W},{default:e.withCtx(()=>[e.createVNode(e.unref(N.PlusSquareOutlined))]),_:1})]),default:e.withCtx(()=>[o[3]||(o[3]=e.createElementVNode("span",null,"新增",-1))]),_:1,__:[3]})),t.hiddenDelete?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(n,{key:1,trigger:"hover"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(s.NIcon),{size:"18",class:"mr-1 cursor-pointer hover:text-blue-600",onClick:P},{default:e.withCtx(()=>[e.createVNode(e.unref(N.DeleteOutlined))]),_:1})]),default:e.withCtx(()=>[o[4]||(o[4]=e.createElementVNode("span",null,"删除",-1))]),_:1,__:[4]})),e.createVNode(n,{trigger:"hover"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(s.NIcon),{size:"18",class:"cursor-pointer hover:text-blue-600",onClick:q},{default:e.withCtx(()=>[e.createVNode(e.unref(N.ReloadOutlined))]),_:1})]),default:e.withCtx(()=>[o[5]||(o[5]=e.createElementVNode("span",null,"刷新",-1))]),_:1,__:[5]})]),default:e.withCtx(()=>[e.createElementVNode("div",se,[t.$slots.toolbar?(e.openBlock(),e.createElementBlock("div",ie,[e.renderSlot(t.$slots,"toolbar")])):e.createCommentVNode("",!0),e.createVNode(a,{remote:"",ref_key:"$table",ref:S,"checked-row-keys":w.value,"onUpdate:checkedRowKeys":o[0]||(o[0]=r=>w.value=r),"max-height":G.value,loading:v.value,bordered:!1,"single-line":!1,columns:I.value,data:y.value,pagination:u.value,"row-key":r=>r[t.idField]},null,8,["checked-row-keys","max-height","loading","columns","data","pagination","row-key"]),t.$slots.addModal?(e.openBlock(),e.createElementBlock("div",re,[e.createVNode(d,{title:"新增",preset:"card",show:p.value,"onUpdate:show":o[1]||(o[1]=r=>p.value=r),"header-class":"bg-gray-50",closable:!1,"close-on-esc":!1,"mask-closable":!1,draggable:!0,style:e.normalizeStyle({width:`${t.modalWidth}px`})},{action:e.withCtx(()=>[e.createVNode(i,{justify:"end"},{default:e.withCtx(()=>[e.createVNode(e.unref(s.NButton),{type:"primary",loading:k.value,onClick:M},{default:e.withCtx(()=>o[6]||(o[6]=[e.createTextVNode("保存",-1)])),_:1,__:[6]},8,["loading"]),e.createVNode(e.unref(s.NButton),{onClick:C},{default:e.withCtx(()=>o[7]||(o[7]=[e.createTextVNode("取消",-1)])),_:1,__:[7]})]),_:1})]),default:e.withCtx(()=>[e.renderSlot(t.$slots,"addModal")]),_:3},8,["show","style"])])):e.createCommentVNode("",!0),t.$slots.editModal?(e.openBlock(),e.createElementBlock("div",de,[e.createVNode(d,{title:"编辑",show:g.value,"onUpdate:show":o[2]||(o[2]=r=>g.value=r),preset:"card","header-class":"bg-gray-50",closable:!1,"close-on-esc":!1,"mask-closable":!1,draggable:!0,style:e.normalizeStyle({width:`${t.modalWidth}px`})},{action:e.withCtx(()=>[e.createVNode(i,{justify:"end"},{default:e.withCtx(()=>[e.createVNode(e.unref(s.NButton),{type:"primary",loading:k.value,onClick:M},{default:e.withCtx(()=>o[8]||(o[8]=[e.createTextVNode("保存",-1)])),_:1,__:[8]},8,["loading"]),e.createVNode(e.unref(s.NButton),{onClick:C},{default:e.withCtx(()=>o[9]||(o[9]=[e.createTextVNode("取消",-1)])),_:1,__:[9]})]),_:1})]),default:e.withCtx(()=>[e.renderSlot(t.$slots,"editModal")]),_:3},8,["show","style"])])):e.createCommentVNode("",!0)])]),_:3})}}});exports.default=ce;
|