xto-fronted 0.9.1 → 0.9.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{index-BYChodrz.js → index-C3AlXquT.js} +1 -1
- package/dist/{index-5-8RNGND.js → index-CW3IiVm8.js} +365 -365
- package/dist/{index-CsQthEv2.js → index-D5ZqtqTW.js} +1 -1
- package/dist/{index-C4x3PSxY.js → index-DWJW3Fh8.js} +1 -1
- package/dist/{index-cytRUeAK.js → index-TQslB33m.js} +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/src/index.ts +3 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { y as T, z as st, A as Me, B as rt, C as it, D as ct, E as ut, F as Te, p as yt, G as dt, H as bt, j as ot, n as wt, I as kt, J as at, K as xt, L as Ct, M as $t, h as Lt, N as Mt } from "./user-B0q24FmO.js";
|
|
2
|
-
import { ref as y, computed as k, watch as Le, defineComponent as ce, resolveComponent as mt, openBlock as o, createBlock as A, unref as
|
|
2
|
+
import { ref as y, computed as k, watch as Le, defineComponent as ce, resolveComponent as mt, openBlock as o, createBlock as A, unref as n, withCtx as S, createElementBlock as c, Fragment as j, renderList as J, createElementVNode as e, toDisplayString as x, createCommentVNode as z, normalizeClass as Z, withDirectives as De, vShow as St, createVNode as w, createTextVNode as Ce, onMounted as qe, onUnmounted as He, vModelText as Ye, Transition as Se, withModifiers as Ae, normalizeStyle as Ue, reactive as Ge, createStaticVNode as Fe, withKeys as Nt, h as Et } from "vue";
|
|
3
3
|
import { defineStore as Pe } from "pinia";
|
|
4
4
|
import { useRoute as Ee, useRouter as be, createRouter as Xe, createWebHistory as Je } from "vue-router";
|
|
5
5
|
import { SubMenu as We, MenuItem as Ie, Menu as Ze, Tabs as It, TabPane as Ut } from "@xto/navigation";
|
|
@@ -8,33 +8,33 @@ import { Drawer as Qe, Message as Tt } from "@xto/feedback";
|
|
|
8
8
|
import { Form as Pt, FormItem as Be, Input as nt, Checkbox as zt } from "@xto/form";
|
|
9
9
|
import { createLocaleProvider as Ft, getSupportedLocales as Dt, useLocale as At } from "@xto/core/locale";
|
|
10
10
|
function Bt(t) {
|
|
11
|
-
const
|
|
12
|
-
if (!
|
|
13
|
-
const
|
|
14
|
-
return [
|
|
11
|
+
const a = /^#?([0-9a-f]{6})$/i.exec(t.trim());
|
|
12
|
+
if (!a) return null;
|
|
13
|
+
const p = parseInt(a[1], 16);
|
|
14
|
+
return [p >> 16 & 255, p >> 8 & 255, p & 255];
|
|
15
15
|
}
|
|
16
16
|
function $e(t) {
|
|
17
|
-
const
|
|
18
|
-
return
|
|
17
|
+
const a = T.get(t);
|
|
18
|
+
return a === null || a === "" ? void 0 : a;
|
|
19
19
|
}
|
|
20
20
|
const Vt = ["layout", "primaryColor", "theme", "isDark", "showTabs", "showBreadcrumb", "showFooter"], _e = Pe("app", () => {
|
|
21
|
-
const t = st(),
|
|
22
|
-
|
|
21
|
+
const t = st(), a = t.features || {}, p = y(T.get("appName") || "XTO App"), l = y(T.get("indexPath") || "/dashboard"), s = y(T.get("loginPath") || "/login"), d = y($e("theme") ?? t.theme ?? "light"), i = y(d.value === "dark"), h = y($e("layout") ?? t.layout ?? "sidebar"), m = y(T.get("isCollapsed") || !1), f = y($e("showTabs") ?? a.showTabs ?? !0), _ = y($e("showFooter") ?? a.showFooter ?? !0), g = y($e("showBreadcrumb") ?? a.showBreadcrumb ?? !0), u = y($e("primaryColor") ?? t.primaryColor ?? "#4F46E5"), W = y(t.allowUserOverride !== !1), P = y([]), B = y([]), V = k(() => i.value ? "dark" : "light"), R = (M) => {
|
|
22
|
+
p.value = M, T.set("appName", M);
|
|
23
23
|
}, H = (M) => {
|
|
24
|
-
|
|
24
|
+
l.value = M, T.set("indexPath", M);
|
|
25
25
|
}, Q = (M) => {
|
|
26
26
|
s.value = M, T.set("loginPath", M);
|
|
27
27
|
}, G = () => {
|
|
28
28
|
const M = document.documentElement;
|
|
29
29
|
i.value ? M.classList.add("dark") : M.classList.remove("dark");
|
|
30
30
|
}, ee = () => {
|
|
31
|
-
i.value = !i.value,
|
|
31
|
+
i.value = !i.value, d.value = i.value ? "dark" : "light", te();
|
|
32
32
|
}, Y = (M) => {
|
|
33
|
-
|
|
33
|
+
d.value = M, i.value = M === "dark", te();
|
|
34
34
|
}, te = () => {
|
|
35
|
-
G(), T.set("isDark", i.value), T.set("theme",
|
|
35
|
+
G(), T.set("isDark", i.value), T.set("theme", d.value);
|
|
36
36
|
}, D = () => {
|
|
37
|
-
|
|
37
|
+
m.value = !m.value, T.set("isCollapsed", m.value);
|
|
38
38
|
}, E = (M) => {
|
|
39
39
|
h.value = M, T.set("layout", M);
|
|
40
40
|
}, F = () => {
|
|
@@ -61,7 +61,7 @@ const Vt = ["layout", "primaryColor", "theme", "isDark", "showTabs", "showBreadc
|
|
|
61
61
|
}, we = () => {
|
|
62
62
|
Vt.forEach((pe) => T.remove(pe));
|
|
63
63
|
const M = st(), q = M.features || {};
|
|
64
|
-
h.value = M.layout ?? "sidebar", u.value = M.primaryColor ?? "#4F46E5",
|
|
64
|
+
h.value = M.layout ?? "sidebar", u.value = M.primaryColor ?? "#4F46E5", d.value = M.theme ?? "light", i.value = d.value === "dark", f.value = q.showTabs ?? !0, _.value = q.showFooter ?? !0, g.value = q.showBreadcrumb ?? !0, G(), oe(u.value);
|
|
65
65
|
}, re = (M) => {
|
|
66
66
|
P.value.includes(M) || P.value.push(M);
|
|
67
67
|
}, me = (M) => {
|
|
@@ -75,13 +75,13 @@ const Vt = ["layout", "primaryColor", "theme", "isDark", "showTabs", "showBreadc
|
|
|
75
75
|
G(), oe(u.value);
|
|
76
76
|
};
|
|
77
77
|
return Le(i, G), {
|
|
78
|
-
appName:
|
|
79
|
-
indexPath:
|
|
78
|
+
appName: p,
|
|
79
|
+
indexPath: l,
|
|
80
80
|
loginPath: s,
|
|
81
81
|
isDark: i,
|
|
82
|
-
theme:
|
|
82
|
+
theme: d,
|
|
83
83
|
layout: h,
|
|
84
|
-
isCollapsed:
|
|
84
|
+
isCollapsed: m,
|
|
85
85
|
showTabs: f,
|
|
86
86
|
showFooter: _,
|
|
87
87
|
showBreadcrumb: g,
|
|
@@ -121,47 +121,47 @@ const Vt = ["layout", "primaryColor", "theme", "isDark", "showTabs", "showBreadc
|
|
|
121
121
|
isOut: !1
|
|
122
122
|
};
|
|
123
123
|
function pt(t) {
|
|
124
|
-
return t.filter((
|
|
125
|
-
...
|
|
126
|
-
children:
|
|
124
|
+
return t.filter((a) => a.type !== 1).map((a) => ({
|
|
125
|
+
...a,
|
|
126
|
+
children: a.children ? pt(a.children) : void 0
|
|
127
127
|
}));
|
|
128
128
|
}
|
|
129
129
|
function Wt(t) {
|
|
130
|
-
const
|
|
131
|
-
function
|
|
132
|
-
|
|
133
|
-
s.type === 1 && s.menuCode &&
|
|
130
|
+
const a = [];
|
|
131
|
+
function p(l) {
|
|
132
|
+
l.forEach((s) => {
|
|
133
|
+
s.type === 1 && s.menuCode && a.push(s.menuCode), s.children && p(s.children);
|
|
134
134
|
});
|
|
135
135
|
}
|
|
136
|
-
return
|
|
136
|
+
return p(t), a;
|
|
137
137
|
}
|
|
138
138
|
const fe = Pe("menu", () => {
|
|
139
|
-
const t = y(T.get(Ve()) || []),
|
|
139
|
+
const t = y(T.get(Ve()) || []), a = y(T.get(Oe()) || []), p = k(() => t.value.length > 0);
|
|
140
140
|
return {
|
|
141
141
|
menuList: t,
|
|
142
|
-
permissions:
|
|
143
|
-
hasMenu:
|
|
142
|
+
permissions: a,
|
|
143
|
+
hasMenu: p,
|
|
144
144
|
setMenuList: (i) => {
|
|
145
|
-
|
|
145
|
+
a.value = Wt(i), T.set(Oe(), a.value);
|
|
146
146
|
const h = pt(i);
|
|
147
147
|
t.value = [jt, ...h], T.set(Ve(), t.value);
|
|
148
148
|
},
|
|
149
149
|
clearMenu: () => {
|
|
150
|
-
t.value = [],
|
|
150
|
+
t.value = [], a.value = [], T.remove(Ve()), T.remove(Oe());
|
|
151
151
|
},
|
|
152
|
-
hasPermission: (i) => Array.isArray(i) ? i.some((h) =>
|
|
152
|
+
hasPermission: (i) => Array.isArray(i) ? i.some((h) => a.value.includes(h)) : a.value.includes(i)
|
|
153
153
|
};
|
|
154
154
|
}), Re = "user_info", ue = Pe("user", () => {
|
|
155
|
-
const t = y(T.get(Re)),
|
|
155
|
+
const t = y(T.get(Re)), a = k(() => !!t.value), p = k(() => {
|
|
156
156
|
var u;
|
|
157
157
|
return ((u = t.value) == null ? void 0 : u.userId) || "";
|
|
158
|
-
}),
|
|
158
|
+
}), l = k(() => {
|
|
159
159
|
var u;
|
|
160
160
|
return ((u = t.value) == null ? void 0 : u.userName) || "";
|
|
161
161
|
}), s = k(() => {
|
|
162
162
|
var u;
|
|
163
163
|
return ((u = t.value) == null ? void 0 : u.departmentName) || "";
|
|
164
|
-
}),
|
|
164
|
+
}), d = k(() => {
|
|
165
165
|
var u;
|
|
166
166
|
return ((u = t.value) == null ? void 0 : u.roleName) || "";
|
|
167
167
|
}), i = k(() => {
|
|
@@ -170,7 +170,7 @@ const fe = Pe("menu", () => {
|
|
|
170
170
|
}), h = k(() => {
|
|
171
171
|
var u;
|
|
172
172
|
return ((u = t.value) == null ? void 0 : u.mobilePhone) || "";
|
|
173
|
-
}),
|
|
173
|
+
}), m = k(() => {
|
|
174
174
|
var u;
|
|
175
175
|
return ((u = t.value) == null ? void 0 : u.positionName) || "";
|
|
176
176
|
}), f = k(() => {
|
|
@@ -179,14 +179,14 @@ const fe = Pe("menu", () => {
|
|
|
179
179
|
});
|
|
180
180
|
return {
|
|
181
181
|
userInfo: t,
|
|
182
|
-
isLoggedIn:
|
|
183
|
-
userId:
|
|
184
|
-
userName:
|
|
182
|
+
isLoggedIn: a,
|
|
183
|
+
userId: p,
|
|
184
|
+
userName: l,
|
|
185
185
|
departmentName: s,
|
|
186
|
-
roleName:
|
|
186
|
+
roleName: d,
|
|
187
187
|
email: i,
|
|
188
188
|
mobilePhone: h,
|
|
189
|
-
positionName:
|
|
189
|
+
positionName: m,
|
|
190
190
|
avatar: f,
|
|
191
191
|
setUserInfo: (u) => {
|
|
192
192
|
t.value = u, T.set(Re, u);
|
|
@@ -196,14 +196,14 @@ const fe = Pe("menu", () => {
|
|
|
196
196
|
}
|
|
197
197
|
};
|
|
198
198
|
}), ze = Pe("auth", () => {
|
|
199
|
-
const t = y(rt()),
|
|
199
|
+
const t = y(rt()), a = k(() => it()), p = y(""), l = y(""), s = y(""), d = y("/login");
|
|
200
200
|
return {
|
|
201
201
|
token: t,
|
|
202
|
-
isLoggedIn:
|
|
203
|
-
baseUrl:
|
|
204
|
-
appId:
|
|
202
|
+
isLoggedIn: a,
|
|
203
|
+
baseUrl: p,
|
|
204
|
+
appId: l,
|
|
205
205
|
clientId: s,
|
|
206
|
-
loginPath:
|
|
206
|
+
loginPath: d,
|
|
207
207
|
login: (u) => {
|
|
208
208
|
t.value = u.access_token, ut(u);
|
|
209
209
|
},
|
|
@@ -211,16 +211,16 @@ const fe = Pe("menu", () => {
|
|
|
211
211
|
t.value = null, ct();
|
|
212
212
|
},
|
|
213
213
|
setBaseUrl: (u) => {
|
|
214
|
-
|
|
214
|
+
p.value = u;
|
|
215
215
|
},
|
|
216
216
|
setAppId: (u) => {
|
|
217
|
-
|
|
217
|
+
l.value = u;
|
|
218
218
|
},
|
|
219
219
|
setClientId: (u) => {
|
|
220
220
|
s.value = u;
|
|
221
221
|
},
|
|
222
222
|
setLoginPath: (u) => {
|
|
223
|
-
|
|
223
|
+
d.value = u;
|
|
224
224
|
}
|
|
225
225
|
};
|
|
226
226
|
}), qt = { class: "menu-item__content" }, Ht = { class: "menu-item__icon" }, Yt = {
|
|
@@ -238,7 +238,7 @@ const fe = Pe("menu", () => {
|
|
|
238
238
|
menu: {}
|
|
239
239
|
},
|
|
240
240
|
setup(t) {
|
|
241
|
-
const
|
|
241
|
+
const a = t, p = /* @__PURE__ */ new Set([
|
|
242
242
|
"arrow-up",
|
|
243
243
|
"arrow-down",
|
|
244
244
|
"arrow-left",
|
|
@@ -340,10 +340,10 @@ const fe = Pe("menu", () => {
|
|
|
340
340
|
"sun",
|
|
341
341
|
"theme",
|
|
342
342
|
"skin"
|
|
343
|
-
]),
|
|
344
|
-
if (!
|
|
345
|
-
if (
|
|
346
|
-
const _ =
|
|
343
|
+
]), l = (m) => {
|
|
344
|
+
if (!m || m === "") return "";
|
|
345
|
+
if (m.startsWith("tineco-icon-")) {
|
|
346
|
+
const _ = m.replace("tineco-icon-", "");
|
|
347
347
|
return {
|
|
348
348
|
home: "home",
|
|
349
349
|
dashboard: "dashboard",
|
|
@@ -376,20 +376,20 @@ const fe = Pe("menu", () => {
|
|
|
376
376
|
app: "app",
|
|
377
377
|
list: "list",
|
|
378
378
|
grid: "grid"
|
|
379
|
-
}[
|
|
380
|
-
}, s = (
|
|
381
|
-
return (
|
|
379
|
+
}[m] || m;
|
|
380
|
+
}, s = (m) => m ? m.charAt(0) : "", d = (m) => p.has(m), i = k(() => a.menu.menuId || a.menu.menuCode || a.menu.menuUrl || ""), h = k(() => a.menu.children && a.menu.children.length > 0);
|
|
381
|
+
return (m, f) => {
|
|
382
382
|
const _ = mt("SidebarMenuItem", !0);
|
|
383
|
-
return h.value ? (o(), A(
|
|
383
|
+
return h.value ? (o(), A(n(We), {
|
|
384
384
|
key: 0,
|
|
385
385
|
index: i.value
|
|
386
386
|
}, {
|
|
387
387
|
title: S(() => [
|
|
388
388
|
e("span", qt, [
|
|
389
389
|
e("span", Ht, [
|
|
390
|
-
|
|
390
|
+
d(l(t.menu.icon)) ? (o(), A(n(U), {
|
|
391
391
|
key: 0,
|
|
392
|
-
name:
|
|
392
|
+
name: l(t.menu.icon),
|
|
393
393
|
size: 16
|
|
394
394
|
}, null, 8, ["name"])) : (o(), c("span", Yt, x(s(t.menu.menuName)), 1))
|
|
395
395
|
]),
|
|
@@ -403,16 +403,16 @@ const fe = Pe("menu", () => {
|
|
|
403
403
|
}, null, 8, ["menu"]))), 128))
|
|
404
404
|
]),
|
|
405
405
|
_: 1
|
|
406
|
-
}, 8, ["index"])) : (o(), A(
|
|
406
|
+
}, 8, ["index"])) : (o(), A(n(Ie), {
|
|
407
407
|
key: 1,
|
|
408
408
|
index: t.menu.menuUrl || i.value
|
|
409
409
|
}, {
|
|
410
410
|
default: S(() => [
|
|
411
411
|
e("span", Xt, [
|
|
412
412
|
t.menu.menuName !== "首页" ? (o(), c("span", Jt, [
|
|
413
|
-
|
|
413
|
+
d(l(t.menu.icon)) ? (o(), A(n(U), {
|
|
414
414
|
key: 0,
|
|
415
|
-
name:
|
|
415
|
+
name: l(t.menu.icon),
|
|
416
416
|
size: 16
|
|
417
417
|
}, null, 8, ["name"])) : (o(), c("span", Zt, x(s(t.menu.menuName)), 1))
|
|
418
418
|
])) : z("", !0),
|
|
@@ -423,11 +423,11 @@ const fe = Pe("menu", () => {
|
|
|
423
423
|
}, 8, ["index"]));
|
|
424
424
|
};
|
|
425
425
|
}
|
|
426
|
-
}), de = (t,
|
|
427
|
-
const
|
|
428
|
-
for (const [
|
|
429
|
-
|
|
430
|
-
return
|
|
426
|
+
}), de = (t, a) => {
|
|
427
|
+
const p = t.__vccOpts || t;
|
|
428
|
+
for (const [l, s] of a)
|
|
429
|
+
p[l] = s;
|
|
430
|
+
return p;
|
|
431
431
|
}, ts = /* @__PURE__ */ de(es, [["__scopeId", "data-v-03a4d35c"]]), ss = {
|
|
432
432
|
key: 0,
|
|
433
433
|
class: "sidebar__logo"
|
|
@@ -443,7 +443,7 @@ const fe = Pe("menu", () => {
|
|
|
443
443
|
logoSrc: {}
|
|
444
444
|
},
|
|
445
445
|
setup(t) {
|
|
446
|
-
const
|
|
446
|
+
const a = t, p = k(() => a.logoSrc || Te("/vite.svg")), l = Ee(), s = be(), d = fe(), i = ue(), h = ze(), m = _e(), f = k(() => a.menuList.length > 0 ? a.menuList : d.menuList), _ = k(() => m.isCollapsed), g = k(() => l.path), u = (D) => D.menuId || D.menuCode || D.menuUrl || "", W = () => f.value.map(u).join(","), P = T.get(je) || "", B = W(), V = P === B ? T.get(Ke) || [] : [], R = y(V);
|
|
447
447
|
Le(R, (D) => {
|
|
448
448
|
T.set(Ke, D), T.set(je, W());
|
|
449
449
|
}, { deep: !0 });
|
|
@@ -459,7 +459,7 @@ const fe = Pe("menu", () => {
|
|
|
459
459
|
}
|
|
460
460
|
return null;
|
|
461
461
|
};
|
|
462
|
-
Le([() =>
|
|
462
|
+
Le([() => l.path, f], ([D, E]) => {
|
|
463
463
|
if (E.length > 0) {
|
|
464
464
|
const F = H(E, D);
|
|
465
465
|
if (F) {
|
|
@@ -470,25 +470,25 @@ const fe = Pe("menu", () => {
|
|
|
470
470
|
}, { immediate: !0 }), Le(f, (D, E) => {
|
|
471
471
|
D !== E && (R.value = [], T.set(Ke, []), T.set(je, W()));
|
|
472
472
|
}, { immediate: !1 });
|
|
473
|
-
const Q = k(() =>
|
|
474
|
-
D && D !==
|
|
473
|
+
const Q = k(() => m.isDark ? "#161B21" : "#fff"), G = k(() => m.isDark ? "#D9DCE1" : "#4E5566"), ee = k(() => m.isDark ? "#818CF8" : "#4F46E5"), Y = (D) => {
|
|
474
|
+
D && D !== l.path && s.push(D);
|
|
475
475
|
}, te = () => {
|
|
476
|
-
h.logout(), i.clearUserInfo(),
|
|
476
|
+
h.logout(), i.clearUserInfo(), d.clearMenu(), s.push(m.loginPath);
|
|
477
477
|
};
|
|
478
478
|
return (D, E) => (o(), c("div", {
|
|
479
479
|
class: Z(["sidebar", { "sidebar--collapsed": _.value }])
|
|
480
480
|
}, [
|
|
481
|
-
|
|
481
|
+
a.showLogo ? (o(), c("div", ss, [
|
|
482
482
|
e("img", {
|
|
483
|
-
src:
|
|
483
|
+
src: p.value,
|
|
484
484
|
alt: "Logo",
|
|
485
485
|
class: "sidebar__logo-img"
|
|
486
486
|
}, null, 8, os),
|
|
487
|
-
De(e("span", { class: "sidebar__logo-text" }, x(
|
|
487
|
+
De(e("span", { class: "sidebar__logo-text" }, x(n(m).appName), 513), [
|
|
488
488
|
[St, !_.value]
|
|
489
489
|
])
|
|
490
490
|
])) : z("", !0),
|
|
491
|
-
w(
|
|
491
|
+
w(n(Ze), {
|
|
492
492
|
modelValue: g.value,
|
|
493
493
|
"onUpdate:modelValue": E[0] || (E[0] = (F) => g.value = F),
|
|
494
494
|
openeds: R.value,
|
|
@@ -510,12 +510,12 @@ const fe = Pe("menu", () => {
|
|
|
510
510
|
]),
|
|
511
511
|
_: 1
|
|
512
512
|
}, 8, ["modelValue", "openeds", "collapse", "background-color", "text-color", "active-text-color"]),
|
|
513
|
-
|
|
513
|
+
a.showUser && !_.value ? (o(), c("div", as, [
|
|
514
514
|
e("div", ns, [
|
|
515
|
-
e("span", ls, x(
|
|
516
|
-
e("span", rs, x(
|
|
515
|
+
e("span", ls, x(n(i).userName), 1),
|
|
516
|
+
e("span", rs, x(n(i).departmentName), 1)
|
|
517
517
|
]),
|
|
518
|
-
w(
|
|
518
|
+
w(n(Ne), {
|
|
519
519
|
type: "text",
|
|
520
520
|
size: "small",
|
|
521
521
|
onClick: te
|
|
@@ -567,7 +567,7 @@ const fe = Pe("menu", () => {
|
|
|
567
567
|
}, Vs = { class: "layout-option__label" }, Os = { class: "settings-section" }, Rs = { class: "settings-color-options" }, Ks = ["title", "onClick"], js = { class: "settings-section" }, Ws = { class: "settings-switch-list" }, qs = { class: "settings-switch-item" }, Hs = { class: "settings-switch-item" }, Ys = { class: "settings-section" }, Gs = /* @__PURE__ */ ce({
|
|
568
568
|
__name: "Header",
|
|
569
569
|
setup(t) {
|
|
570
|
-
const
|
|
570
|
+
const a = Ee(), p = be(), l = _e(), s = ue(), d = ze(), i = fe(), h = y(!1), m = y(!1), f = y(null), _ = y(!1), g = y(!1), u = y(""), W = y(null), P = y(!1), B = [
|
|
571
571
|
{ value: "sidebar", label: "左侧菜单", icon: "sidebar-left" },
|
|
572
572
|
{ value: "top", label: "顶部菜单", icon: "menu" },
|
|
573
573
|
{ value: "mix", label: "混合菜单", icon: "grid" }
|
|
@@ -577,7 +577,7 @@ const fe = Pe("menu", () => {
|
|
|
577
577
|
{ value: "#00A870", label: "翡翠绿" },
|
|
578
578
|
{ value: "#D46B08", label: "琥珀橙" },
|
|
579
579
|
{ value: "#1F2329", label: "石墨黑" }
|
|
580
|
-
], R = k(() =>
|
|
580
|
+
], R = k(() => a.matched.filter((b) => b.meta && b.meta.title).map((b) => ({
|
|
581
581
|
title: b.meta.title,
|
|
582
582
|
path: b.path
|
|
583
583
|
}))), H = (I, b = "") => {
|
|
@@ -726,24 +726,24 @@ const fe = Pe("menu", () => {
|
|
|
726
726
|
}[I] || I;
|
|
727
727
|
}, ee = (I) => I ? I.charAt(0) : "", Y = (I) => Q.has(I), te = k(() => u.value.trim() ? H(i.menuList).filter(
|
|
728
728
|
(b) => b.title.toLowerCase().includes(u.value.toLowerCase())
|
|
729
|
-
) : []), D = k(() =>
|
|
730
|
-
|
|
729
|
+
) : []), D = k(() => l.layout), E = () => {
|
|
730
|
+
l.toggleCollapse();
|
|
731
731
|
}, F = () => {
|
|
732
|
-
|
|
732
|
+
l.toggleTheme();
|
|
733
733
|
}, X = () => {
|
|
734
|
-
|
|
734
|
+
m.value = !0;
|
|
735
735
|
}, K = (I) => {
|
|
736
|
-
|
|
736
|
+
l.setLayout(I), m.value = !1;
|
|
737
737
|
}, oe = (I) => {
|
|
738
738
|
P.value = I;
|
|
739
739
|
const b = document.documentElement;
|
|
740
740
|
I ? b.classList.add("grey-mode") : b.classList.remove("grey-mode");
|
|
741
741
|
}, he = () => {
|
|
742
|
-
oe(!P.value),
|
|
742
|
+
oe(!P.value), m.value = !1;
|
|
743
743
|
}, we = () => {
|
|
744
|
-
|
|
744
|
+
l.toggleTheme(), m.value = !1;
|
|
745
745
|
}, re = () => {
|
|
746
|
-
|
|
746
|
+
l.resetToServerDefaults(), m.value = !1;
|
|
747
747
|
}, me = () => {
|
|
748
748
|
document.fullscreenElement ? document.exitFullscreen() : document.documentElement.requestFullscreen();
|
|
749
749
|
}, ge = () => {
|
|
@@ -755,22 +755,22 @@ const fe = Pe("menu", () => {
|
|
|
755
755
|
}, M = () => {
|
|
756
756
|
g.value = !1, u.value = "";
|
|
757
757
|
}, q = (I) => {
|
|
758
|
-
|
|
758
|
+
p.push(I), M();
|
|
759
759
|
}, pe = (I) => {
|
|
760
|
-
|
|
760
|
+
l.setPrimaryColor(I), m.value = !1;
|
|
761
761
|
}, ve = () => {
|
|
762
|
-
ae(),
|
|
762
|
+
ae(), p.push("/profile");
|
|
763
763
|
}, ne = () => {
|
|
764
|
-
ae(),
|
|
764
|
+
ae(), p.push("/change-password");
|
|
765
765
|
}, ke = () => {
|
|
766
|
-
ae(),
|
|
766
|
+
ae(), d.logout(), s.clearUserInfo(), i.clearMenu(), p.push(l.loginPath);
|
|
767
767
|
}, ye = (I) => {
|
|
768
768
|
f.value && !f.value.contains(I.target) && ae(), W.value && !W.value.contains(I.target) && M();
|
|
769
769
|
}, xe = (I) => {
|
|
770
770
|
I.key === "Escape" && (M(), ae());
|
|
771
771
|
};
|
|
772
772
|
return qe(() => {
|
|
773
|
-
document.addEventListener("click", ye), document.addEventListener("fullscreenchange", ge), document.addEventListener("keydown", xe),
|
|
773
|
+
document.addEventListener("click", ye), document.addEventListener("fullscreenchange", ge), document.addEventListener("keydown", xe), l.initTheme(), P.value = document.documentElement.classList.contains("grey-mode");
|
|
774
774
|
}), He(() => {
|
|
775
775
|
document.removeEventListener("click", ye), document.removeEventListener("fullscreenchange", ge), document.removeEventListener("keydown", xe);
|
|
776
776
|
}), (I, b) => {
|
|
@@ -781,12 +781,12 @@ const fe = Pe("menu", () => {
|
|
|
781
781
|
class: "header__collapse",
|
|
782
782
|
onClick: E
|
|
783
783
|
}, [
|
|
784
|
-
w(
|
|
785
|
-
name: l
|
|
784
|
+
w(n(U), {
|
|
785
|
+
name: n(l).isCollapsed ? "menu-unfold" : "menu-fold",
|
|
786
786
|
size: 18
|
|
787
787
|
}, null, 8, ["name"])
|
|
788
788
|
]),
|
|
789
|
-
l
|
|
789
|
+
n(l).showBreadcrumb ? (o(), c("div", ds, [
|
|
790
790
|
(o(!0), c(j, null, J(R.value, ($, N) => (o(), c("span", {
|
|
791
791
|
key: $.path
|
|
792
792
|
}, [
|
|
@@ -803,7 +803,7 @@ const fe = Pe("menu", () => {
|
|
|
803
803
|
ref_key: "searchRef",
|
|
804
804
|
ref: W
|
|
805
805
|
}, [
|
|
806
|
-
w(
|
|
806
|
+
w(n(U), {
|
|
807
807
|
name: "search",
|
|
808
808
|
size: 14,
|
|
809
809
|
class: "header__search-icon"
|
|
@@ -827,7 +827,7 @@ const fe = Pe("menu", () => {
|
|
|
827
827
|
onClick: (N) => q($.path)
|
|
828
828
|
}, [
|
|
829
829
|
$.title !== "首页" ? (o(), c("span", fs, [
|
|
830
|
-
Y(G($.icon)) ? (o(), A(
|
|
830
|
+
Y(G($.icon)) ? (o(), A(n(U), {
|
|
831
831
|
key: 0,
|
|
832
832
|
name: G($.icon),
|
|
833
833
|
size: 16
|
|
@@ -847,18 +847,18 @@ const fe = Pe("menu", () => {
|
|
|
847
847
|
onClick: me,
|
|
848
848
|
title: _.value ? "退出全屏" : "全屏"
|
|
849
849
|
}, [
|
|
850
|
-
w(
|
|
850
|
+
w(n(U), {
|
|
851
851
|
name: _.value ? "fullscreen-exit" : "fullscreen",
|
|
852
852
|
size: 16
|
|
853
853
|
}, null, 8, ["name"])
|
|
854
854
|
], 8, ks),
|
|
855
|
-
l
|
|
855
|
+
n(l).allowUserOverride ? (o(), c("div", {
|
|
856
856
|
key: 0,
|
|
857
857
|
class: "header__action",
|
|
858
858
|
onClick: X,
|
|
859
859
|
title: "换肤设置"
|
|
860
860
|
}, [
|
|
861
|
-
w(
|
|
861
|
+
w(n(U), {
|
|
862
862
|
name: "skin",
|
|
863
863
|
size: 16
|
|
864
864
|
})
|
|
@@ -868,8 +868,8 @@ const fe = Pe("menu", () => {
|
|
|
868
868
|
onClick: F,
|
|
869
869
|
title: "切换主题"
|
|
870
870
|
}, [
|
|
871
|
-
w(
|
|
872
|
-
name: l
|
|
871
|
+
w(n(U), {
|
|
872
|
+
name: n(l).isDark ? "sun" : "moon",
|
|
873
873
|
size: 16
|
|
874
874
|
}, null, 8, ["name"])
|
|
875
875
|
]),
|
|
@@ -883,9 +883,9 @@ const fe = Pe("menu", () => {
|
|
|
883
883
|
onClick: Ae(ie, ["stop"])
|
|
884
884
|
}, [
|
|
885
885
|
e("div", xs, [
|
|
886
|
-
e("span", null, x(((se =
|
|
886
|
+
e("span", null, x(((se = n(s).userName) == null ? void 0 : se.charAt(0)) || "U"), 1)
|
|
887
887
|
]),
|
|
888
|
-
e("span", Cs, x(
|
|
888
|
+
e("span", Cs, x(n(s).userName), 1),
|
|
889
889
|
e("span", {
|
|
890
890
|
class: Z(["header__user-arrow", { "is-active": h.value }])
|
|
891
891
|
}, [...b[3] || (b[3] = [
|
|
@@ -910,11 +910,11 @@ const fe = Pe("menu", () => {
|
|
|
910
910
|
h.value ? (o(), c("div", $s, [
|
|
911
911
|
e("div", Ls, [
|
|
912
912
|
e("div", Ms, [
|
|
913
|
-
e("span", null, x((($ =
|
|
913
|
+
e("span", null, x((($ = n(s).userName) == null ? void 0 : $.charAt(0)) || "U"), 1)
|
|
914
914
|
]),
|
|
915
915
|
e("div", Ss, [
|
|
916
|
-
e("div", Ns, x(
|
|
917
|
-
e("div", Es, x(
|
|
916
|
+
e("div", Ns, x(n(s).userName), 1),
|
|
917
|
+
e("div", Es, x(n(s).roleName || n(s).departmentName), 1)
|
|
918
918
|
])
|
|
919
919
|
]),
|
|
920
920
|
b[8] || (b[8] = e("div", { class: "header__dropdown-divider" }, null, -1)),
|
|
@@ -923,7 +923,7 @@ const fe = Pe("menu", () => {
|
|
|
923
923
|
class: "header__dropdown-item",
|
|
924
924
|
onClick: ve
|
|
925
925
|
}, [
|
|
926
|
-
w(
|
|
926
|
+
w(n(U), {
|
|
927
927
|
name: "user",
|
|
928
928
|
size: 16
|
|
929
929
|
}),
|
|
@@ -933,7 +933,7 @@ const fe = Pe("menu", () => {
|
|
|
933
933
|
class: "header__dropdown-item",
|
|
934
934
|
onClick: ne
|
|
935
935
|
}, [
|
|
936
|
-
w(
|
|
936
|
+
w(n(U), {
|
|
937
937
|
name: "lock",
|
|
938
938
|
size: 16
|
|
939
939
|
}),
|
|
@@ -944,7 +944,7 @@ const fe = Pe("menu", () => {
|
|
|
944
944
|
class: "header__dropdown-item header__dropdown-item--danger",
|
|
945
945
|
onClick: ke
|
|
946
946
|
}, [
|
|
947
|
-
w(
|
|
947
|
+
w(n(U), {
|
|
948
948
|
name: "logout",
|
|
949
949
|
size: 16
|
|
950
950
|
}),
|
|
@@ -958,9 +958,9 @@ const fe = Pe("menu", () => {
|
|
|
958
958
|
})
|
|
959
959
|
], 512)
|
|
960
960
|
]),
|
|
961
|
-
w(
|
|
962
|
-
modelValue:
|
|
963
|
-
"onUpdate:modelValue": b[2] || (b[2] = ($) =>
|
|
961
|
+
w(n(Qe), {
|
|
962
|
+
modelValue: m.value,
|
|
963
|
+
"onUpdate:modelValue": b[2] || (b[2] = ($) => m.value = $),
|
|
964
964
|
title: "换肤设置",
|
|
965
965
|
direction: "rtl",
|
|
966
966
|
size: "320px"
|
|
@@ -1004,12 +1004,12 @@ const fe = Pe("menu", () => {
|
|
|
1004
1004
|
e("div", Rs, [
|
|
1005
1005
|
(o(), c(j, null, J(V, ($) => e("div", {
|
|
1006
1006
|
key: $.value,
|
|
1007
|
-
class: Z(["color-option", { "is-active": l
|
|
1007
|
+
class: Z(["color-option", { "is-active": n(l).primaryColor === $.value }]),
|
|
1008
1008
|
style: Ue({ backgroundColor: $.value }),
|
|
1009
1009
|
title: $.label,
|
|
1010
1010
|
onClick: (N) => pe($.value)
|
|
1011
1011
|
}, [
|
|
1012
|
-
l
|
|
1012
|
+
n(l).primaryColor === $.value ? (o(), A(n(U), {
|
|
1013
1013
|
key: 0,
|
|
1014
1014
|
name: "check",
|
|
1015
1015
|
size: 12,
|
|
@@ -1033,7 +1033,7 @@ const fe = Pe("menu", () => {
|
|
|
1033
1033
|
e("div", Hs, [
|
|
1034
1034
|
b[17] || (b[17] = e("span", null, "暗黑模式", -1)),
|
|
1035
1035
|
e("div", {
|
|
1036
|
-
class: Z(["switch-wrapper", { "is-checked": l
|
|
1036
|
+
class: Z(["switch-wrapper", { "is-checked": n(l).isDark }]),
|
|
1037
1037
|
onClick: we
|
|
1038
1038
|
}, [...b[16] || (b[16] = [
|
|
1039
1039
|
e("span", { class: "switch-core" }, null, -1)
|
|
@@ -1046,7 +1046,7 @@ const fe = Pe("menu", () => {
|
|
|
1046
1046
|
class: "settings-reset",
|
|
1047
1047
|
onClick: re
|
|
1048
1048
|
}, [
|
|
1049
|
-
w(
|
|
1049
|
+
w(n(U), {
|
|
1050
1050
|
name: "refresh",
|
|
1051
1051
|
size: 14
|
|
1052
1052
|
}),
|
|
@@ -1117,15 +1117,15 @@ const fe = Pe("menu", () => {
|
|
|
1117
1117
|
logoSrc: {}
|
|
1118
1118
|
},
|
|
1119
1119
|
setup(t) {
|
|
1120
|
-
const
|
|
1120
|
+
const a = t, p = k(() => a.logoSrc || Te("/vite.svg")), l = Ee(), s = be(), d = fe(), i = _e(), h = ue(), m = ze(), f = k(() => l.path), _ = (N, C = "") => {
|
|
1121
1121
|
const le = [];
|
|
1122
1122
|
return N.forEach((r) => {
|
|
1123
1123
|
r.children && r.children.length > 0 ? le.push(..._(r.children, r.menuName)) : le.push({ ...r, parentTitle: C, title: r.menuName, path: r.menuUrl });
|
|
1124
1124
|
}), le;
|
|
1125
|
-
}, g = k(() => ee.value.trim() ? _(
|
|
1125
|
+
}, g = k(() => ee.value.trim() ? _(d.menuList).filter(
|
|
1126
1126
|
(C) => C.title.toLowerCase().includes(ee.value.toLowerCase())
|
|
1127
1127
|
) : []), u = k(() => i.isDark ? "#1d1e1f" : "#fff"), W = k(() => i.isDark ? "#cfd3dc" : "#303133"), P = k(() => "#409eff"), B = y(!1), V = y(null), R = y(!1), H = y(!1), Q = y(!1), G = y(!1), ee = y(""), Y = y(null), te = (N) => {
|
|
1128
|
-
N && N !==
|
|
1128
|
+
N && N !== l.path && s.push(N);
|
|
1129
1129
|
}, D = /* @__PURE__ */ new Set([
|
|
1130
1130
|
"arrow-up",
|
|
1131
1131
|
"arrow-down",
|
|
@@ -1308,7 +1308,7 @@ const fe = Pe("menu", () => {
|
|
|
1308
1308
|
}, I = () => {
|
|
1309
1309
|
re(), s.push("/change-password");
|
|
1310
1310
|
}, b = () => {
|
|
1311
|
-
re(),
|
|
1311
|
+
re(), m.logout(), h.clearUserInfo(), d.clearMenu(), s.push(i.loginPath);
|
|
1312
1312
|
}, se = (N) => {
|
|
1313
1313
|
V.value && !V.value.contains(N.target) && re(), Y.value && !Y.value.contains(N.target) && me();
|
|
1314
1314
|
}, $ = (N) => {
|
|
@@ -1323,13 +1323,13 @@ const fe = Pe("menu", () => {
|
|
|
1323
1323
|
return o(), c("div", Js, [
|
|
1324
1324
|
e("div", Zs, [
|
|
1325
1325
|
e("img", {
|
|
1326
|
-
src:
|
|
1326
|
+
src: p.value,
|
|
1327
1327
|
alt: "Logo",
|
|
1328
1328
|
class: "top-menu__logo-img"
|
|
1329
1329
|
}, null, 8, Qs),
|
|
1330
|
-
e("span", eo, x(
|
|
1330
|
+
e("span", eo, x(n(i).appName), 1)
|
|
1331
1331
|
]),
|
|
1332
|
-
w(
|
|
1332
|
+
w(n(Ze), {
|
|
1333
1333
|
"model-value": f.value,
|
|
1334
1334
|
mode: "horizontal",
|
|
1335
1335
|
"background-color": u.value,
|
|
@@ -1339,17 +1339,17 @@ const fe = Pe("menu", () => {
|
|
|
1339
1339
|
onSelect: te
|
|
1340
1340
|
}, {
|
|
1341
1341
|
default: S(() => [
|
|
1342
|
-
(o(!0), c(j, null, J(
|
|
1342
|
+
(o(!0), c(j, null, J(n(d).menuList, (r) => (o(), c(j, {
|
|
1343
1343
|
key: r.menuUrl
|
|
1344
1344
|
}, [
|
|
1345
|
-
r.children && r.children.length > 0 ? (o(), A(
|
|
1345
|
+
r.children && r.children.length > 0 ? (o(), A(n(We), {
|
|
1346
1346
|
key: 0,
|
|
1347
1347
|
index: r.menuUrl
|
|
1348
1348
|
}, {
|
|
1349
1349
|
title: S(() => [
|
|
1350
1350
|
e("span", to, [
|
|
1351
1351
|
r.menuName !== "首页" ? (o(), c("span", so, [
|
|
1352
|
-
X(E(r.icon)) ? (o(), A(
|
|
1352
|
+
X(E(r.icon)) ? (o(), A(n(U), {
|
|
1353
1353
|
key: 0,
|
|
1354
1354
|
name: E(r.icon),
|
|
1355
1355
|
size: 16
|
|
@@ -1362,14 +1362,14 @@ const fe = Pe("menu", () => {
|
|
|
1362
1362
|
(o(!0), c(j, null, J(r.children, (v) => (o(), c(j, {
|
|
1363
1363
|
key: v.menuUrl
|
|
1364
1364
|
}, [
|
|
1365
|
-
v.children && v.children.length > 0 ? (o(), A(
|
|
1365
|
+
v.children && v.children.length > 0 ? (o(), A(n(We), {
|
|
1366
1366
|
key: 0,
|
|
1367
1367
|
index: v.menuUrl
|
|
1368
1368
|
}, {
|
|
1369
1369
|
title: S(() => [
|
|
1370
1370
|
e("span", no, [
|
|
1371
1371
|
e("span", lo, [
|
|
1372
|
-
X(E(v.icon)) ? (o(), A(
|
|
1372
|
+
X(E(v.icon)) ? (o(), A(n(U), {
|
|
1373
1373
|
key: 0,
|
|
1374
1374
|
name: E(v.icon),
|
|
1375
1375
|
size: 16
|
|
@@ -1379,14 +1379,14 @@ const fe = Pe("menu", () => {
|
|
|
1379
1379
|
])
|
|
1380
1380
|
]),
|
|
1381
1381
|
default: S(() => [
|
|
1382
|
-
(o(!0), c(j, null, J(v.children, (O) => (o(), A(
|
|
1382
|
+
(o(!0), c(j, null, J(v.children, (O) => (o(), A(n(Ie), {
|
|
1383
1383
|
key: O.menuUrl,
|
|
1384
1384
|
index: O.menuUrl
|
|
1385
1385
|
}, {
|
|
1386
1386
|
default: S(() => [
|
|
1387
1387
|
e("span", co, [
|
|
1388
1388
|
e("span", uo, [
|
|
1389
|
-
X(E(O.icon)) ? (o(), A(
|
|
1389
|
+
X(E(O.icon)) ? (o(), A(n(U), {
|
|
1390
1390
|
key: 0,
|
|
1391
1391
|
name: E(O.icon),
|
|
1392
1392
|
size: 16
|
|
@@ -1399,14 +1399,14 @@ const fe = Pe("menu", () => {
|
|
|
1399
1399
|
}, 1032, ["index"]))), 128))
|
|
1400
1400
|
]),
|
|
1401
1401
|
_: 2
|
|
1402
|
-
}, 1032, ["index"])) : (o(), A(
|
|
1402
|
+
}, 1032, ["index"])) : (o(), A(n(Ie), {
|
|
1403
1403
|
key: 1,
|
|
1404
1404
|
index: v.menuUrl
|
|
1405
1405
|
}, {
|
|
1406
1406
|
default: S(() => [
|
|
1407
1407
|
e("span", vo, [
|
|
1408
1408
|
e("span", ho, [
|
|
1409
|
-
X(E(v.icon)) ? (o(), A(
|
|
1409
|
+
X(E(v.icon)) ? (o(), A(n(U), {
|
|
1410
1410
|
key: 0,
|
|
1411
1411
|
name: E(v.icon),
|
|
1412
1412
|
size: 16
|
|
@@ -1420,14 +1420,14 @@ const fe = Pe("menu", () => {
|
|
|
1420
1420
|
], 64))), 128))
|
|
1421
1421
|
]),
|
|
1422
1422
|
_: 2
|
|
1423
|
-
}, 1032, ["index"])) : (o(), A(
|
|
1423
|
+
}, 1032, ["index"])) : (o(), A(n(Ie), {
|
|
1424
1424
|
key: 1,
|
|
1425
1425
|
index: r.menuUrl
|
|
1426
1426
|
}, {
|
|
1427
1427
|
default: S(() => [
|
|
1428
1428
|
e("span", go, [
|
|
1429
1429
|
r.menuName !== "首页" ? (o(), c("span", yo, [
|
|
1430
|
-
X(E(r.icon)) ? (o(), A(
|
|
1430
|
+
X(E(r.icon)) ? (o(), A(n(U), {
|
|
1431
1431
|
key: 0,
|
|
1432
1432
|
name: E(r.icon),
|
|
1433
1433
|
size: 16
|
|
@@ -1448,7 +1448,7 @@ const fe = Pe("menu", () => {
|
|
|
1448
1448
|
ref_key: "searchRef",
|
|
1449
1449
|
ref: Y
|
|
1450
1450
|
}, [
|
|
1451
|
-
w(
|
|
1451
|
+
w(n(U), {
|
|
1452
1452
|
name: "search",
|
|
1453
1453
|
size: 14,
|
|
1454
1454
|
class: "top-menu__search-icon"
|
|
@@ -1472,7 +1472,7 @@ const fe = Pe("menu", () => {
|
|
|
1472
1472
|
onClick: (v) => ge(r.path)
|
|
1473
1473
|
}, [
|
|
1474
1474
|
r.title !== "首页" ? (o(), c("span", Lo, [
|
|
1475
|
-
X(E(r.icon)) ? (o(), A(
|
|
1475
|
+
X(E(r.icon)) ? (o(), A(n(U), {
|
|
1476
1476
|
key: 0,
|
|
1477
1477
|
name: E(r.icon),
|
|
1478
1478
|
size: 16
|
|
@@ -1492,7 +1492,7 @@ const fe = Pe("menu", () => {
|
|
|
1492
1492
|
onClick: oe,
|
|
1493
1493
|
title: R.value ? "退出全屏" : "全屏"
|
|
1494
1494
|
}, [
|
|
1495
|
-
w(
|
|
1495
|
+
w(n(U), {
|
|
1496
1496
|
name: R.value ? "fullscreen-exit" : "fullscreen",
|
|
1497
1497
|
size: 16
|
|
1498
1498
|
}, null, 8, ["name"])
|
|
@@ -1502,7 +1502,7 @@ const fe = Pe("menu", () => {
|
|
|
1502
1502
|
onClick: ie,
|
|
1503
1503
|
title: "换肤设置"
|
|
1504
1504
|
}, [
|
|
1505
|
-
w(
|
|
1505
|
+
w(n(U), {
|
|
1506
1506
|
name: "skin",
|
|
1507
1507
|
size: 16
|
|
1508
1508
|
})
|
|
@@ -1512,8 +1512,8 @@ const fe = Pe("menu", () => {
|
|
|
1512
1512
|
onClick: K,
|
|
1513
1513
|
title: "切换主题"
|
|
1514
1514
|
}, [
|
|
1515
|
-
w(
|
|
1516
|
-
name:
|
|
1515
|
+
w(n(U), {
|
|
1516
|
+
name: n(i).isDark ? "sun" : "moon",
|
|
1517
1517
|
size: 16
|
|
1518
1518
|
}, null, 8, ["name"])
|
|
1519
1519
|
]),
|
|
@@ -1527,9 +1527,9 @@ const fe = Pe("menu", () => {
|
|
|
1527
1527
|
onClick: Ae(we, ["stop"])
|
|
1528
1528
|
}, [
|
|
1529
1529
|
e("div", Uo, [
|
|
1530
|
-
e("span", null, x(((le =
|
|
1530
|
+
e("span", null, x(((le = n(h).userName) == null ? void 0 : le.charAt(0)) || "U"), 1)
|
|
1531
1531
|
]),
|
|
1532
|
-
e("span", To, x(
|
|
1532
|
+
e("span", To, x(n(h).userName), 1),
|
|
1533
1533
|
e("span", {
|
|
1534
1534
|
class: Z(["top-menu__user-arrow", { "is-active": B.value }])
|
|
1535
1535
|
}, [...C[3] || (C[3] = [
|
|
@@ -1554,11 +1554,11 @@ const fe = Pe("menu", () => {
|
|
|
1554
1554
|
B.value ? (o(), c("div", Po, [
|
|
1555
1555
|
e("div", zo, [
|
|
1556
1556
|
e("div", Fo, [
|
|
1557
|
-
e("span", null, x(((r =
|
|
1557
|
+
e("span", null, x(((r = n(h).userName) == null ? void 0 : r.charAt(0)) || "U"), 1)
|
|
1558
1558
|
]),
|
|
1559
1559
|
e("div", Do, [
|
|
1560
|
-
e("div", Ao, x(
|
|
1561
|
-
e("div", Bo, x(
|
|
1560
|
+
e("div", Ao, x(n(h).userName), 1),
|
|
1561
|
+
e("div", Bo, x(n(h).departmentName), 1)
|
|
1562
1562
|
])
|
|
1563
1563
|
]),
|
|
1564
1564
|
C[8] || (C[8] = e("div", { class: "top-menu__dropdown-divider" }, null, -1)),
|
|
@@ -1567,7 +1567,7 @@ const fe = Pe("menu", () => {
|
|
|
1567
1567
|
class: "top-menu__dropdown-item",
|
|
1568
1568
|
onClick: xe
|
|
1569
1569
|
}, [
|
|
1570
|
-
w(
|
|
1570
|
+
w(n(U), {
|
|
1571
1571
|
name: "user",
|
|
1572
1572
|
size: 16
|
|
1573
1573
|
}),
|
|
@@ -1577,7 +1577,7 @@ const fe = Pe("menu", () => {
|
|
|
1577
1577
|
class: "top-menu__dropdown-item",
|
|
1578
1578
|
onClick: I
|
|
1579
1579
|
}, [
|
|
1580
|
-
w(
|
|
1580
|
+
w(n(U), {
|
|
1581
1581
|
name: "lock",
|
|
1582
1582
|
size: 16
|
|
1583
1583
|
}),
|
|
@@ -1588,7 +1588,7 @@ const fe = Pe("menu", () => {
|
|
|
1588
1588
|
class: "top-menu__dropdown-item top-menu__dropdown-item--danger",
|
|
1589
1589
|
onClick: b
|
|
1590
1590
|
}, [
|
|
1591
|
-
w(
|
|
1591
|
+
w(n(U), {
|
|
1592
1592
|
name: "logout",
|
|
1593
1593
|
size: 16
|
|
1594
1594
|
}),
|
|
@@ -1602,7 +1602,7 @@ const fe = Pe("menu", () => {
|
|
|
1602
1602
|
})
|
|
1603
1603
|
], 512)
|
|
1604
1604
|
]),
|
|
1605
|
-
w(
|
|
1605
|
+
w(n(Qe), {
|
|
1606
1606
|
modelValue: H.value,
|
|
1607
1607
|
"onUpdate:modelValue": C[2] || (C[2] = (r) => H.value = r),
|
|
1608
1608
|
title: "换肤设置",
|
|
@@ -1648,12 +1648,12 @@ const fe = Pe("menu", () => {
|
|
|
1648
1648
|
e("div", Jo, [
|
|
1649
1649
|
(o(), c(j, null, J(ke, (r) => e("div", {
|
|
1650
1650
|
key: r.value,
|
|
1651
|
-
class: Z(["color-option", { "is-active":
|
|
1651
|
+
class: Z(["color-option", { "is-active": n(i).primaryColor === r.value }]),
|
|
1652
1652
|
style: Ue({ backgroundColor: r.value }),
|
|
1653
1653
|
title: r.label,
|
|
1654
1654
|
onClick: (v) => ye(r.value)
|
|
1655
1655
|
}, [
|
|
1656
|
-
|
|
1656
|
+
n(i).primaryColor === r.value ? (o(), A(n(U), {
|
|
1657
1657
|
key: 0,
|
|
1658
1658
|
name: "check",
|
|
1659
1659
|
size: 12,
|
|
@@ -1677,7 +1677,7 @@ const fe = Pe("menu", () => {
|
|
|
1677
1677
|
e("div", sa, [
|
|
1678
1678
|
C[17] || (C[17] = e("span", null, "暗黑模式", -1)),
|
|
1679
1679
|
e("div", {
|
|
1680
|
-
class: Z(["switch-wrapper", { "is-checked":
|
|
1680
|
+
class: Z(["switch-wrapper", { "is-checked": n(i).isDark }]),
|
|
1681
1681
|
onClick: q
|
|
1682
1682
|
}, [...C[16] || (C[16] = [
|
|
1683
1683
|
e("span", { class: "switch-core" }, null, -1)
|
|
@@ -1734,31 +1734,31 @@ const fe = Pe("menu", () => {
|
|
|
1734
1734
|
logoSrc: {}
|
|
1735
1735
|
},
|
|
1736
1736
|
setup(t) {
|
|
1737
|
-
const
|
|
1737
|
+
const a = t, p = k(() => a.logoSrc || Te("/vite.svg")), l = Ee(), s = be(), d = fe(), i = _e(), h = ue(), m = ze(), f = y(""), _ = (r, v = "") => {
|
|
1738
1738
|
const O = [];
|
|
1739
1739
|
return r.forEach((L) => {
|
|
1740
1740
|
L.children && L.children.length > 0 ? O.push(..._(L.children, L.menuName)) : O.push({ ...L, parentTitle: v, title: L.menuName, path: L.menuUrl });
|
|
1741
1741
|
}), O;
|
|
1742
|
-
}, g = k(() => E.value.trim() ? _(
|
|
1742
|
+
}, g = k(() => E.value.trim() ? _(d.menuList).filter(
|
|
1743
1743
|
(v) => v.title.toLowerCase().includes(E.value.toLowerCase())
|
|
1744
1744
|
) : []), u = k(() => {
|
|
1745
|
-
const r =
|
|
1745
|
+
const r = d.menuList.find((v) => v.menuUrl === f.value);
|
|
1746
1746
|
return (r == null ? void 0 : r.children) || [];
|
|
1747
|
-
}), W = k(() =>
|
|
1748
|
-
W.value ? f.value = W.value.menuUrl :
|
|
1747
|
+
}), W = k(() => d.menuList.find((r) => !!(l.path === r.menuUrl || r.children && r.children.some((v) => l.path.startsWith(v.menuUrl) || l.path === v.menuUrl)))), P = () => {
|
|
1748
|
+
W.value ? f.value = W.value.menuUrl : d.menuList.length > 0 && (f.value = d.menuList[0].menuUrl);
|
|
1749
1749
|
}, B = (r) => {
|
|
1750
1750
|
f.value = r;
|
|
1751
|
-
const v =
|
|
1751
|
+
const v = d.menuList.find((O) => O.menuUrl === r);
|
|
1752
1752
|
if (v)
|
|
1753
1753
|
if (v.children && v.children.length > 0) {
|
|
1754
1754
|
const O = v.children[0].menuUrl;
|
|
1755
|
-
|
|
1755
|
+
l.path !== O && s.push(O);
|
|
1756
1756
|
} else
|
|
1757
|
-
|
|
1757
|
+
l.path !== r && s.push(r);
|
|
1758
1758
|
}, V = k(() => i.isDark ? "#1d1e1f" : "#fff"), R = k(() => i.isDark ? "#cfd3dc" : "#303133"), H = k(() => "#409eff"), Q = y(!1), G = y(null), ee = y(!1), Y = y(!1), te = y(!1), D = y(!1), E = y(""), F = y(null);
|
|
1759
|
-
Le(() =>
|
|
1759
|
+
Le(() => l.path, () => {
|
|
1760
1760
|
P(), i.setMixSubMenus(u.value);
|
|
1761
|
-
}), Le(() =>
|
|
1761
|
+
}), Le(() => d.menuList, (r) => {
|
|
1762
1762
|
r && r.length > 0 && (P(), i.setMixSubMenus(u.value));
|
|
1763
1763
|
}, { immediate: !0 });
|
|
1764
1764
|
const X = /* @__PURE__ */ new Set([
|
|
@@ -1943,7 +1943,7 @@ const fe = Pe("menu", () => {
|
|
|
1943
1943
|
}, $ = () => {
|
|
1944
1944
|
ie(), s.push("/change-password");
|
|
1945
1945
|
}, N = () => {
|
|
1946
|
-
ie(),
|
|
1946
|
+
ie(), m.logout(), h.clearUserInfo(), d.clearMenu(), s.push(i.loginPath);
|
|
1947
1947
|
}, C = (r) => {
|
|
1948
1948
|
G.value && !G.value.contains(r.target) && ie(), F.value && !F.value.contains(r.target) && ae();
|
|
1949
1949
|
}, le = (r) => {
|
|
@@ -1958,13 +1958,13 @@ const fe = Pe("menu", () => {
|
|
|
1958
1958
|
return o(), c("div", na, [
|
|
1959
1959
|
e("div", la, [
|
|
1960
1960
|
e("img", {
|
|
1961
|
-
src:
|
|
1961
|
+
src: p.value,
|
|
1962
1962
|
alt: "Logo",
|
|
1963
1963
|
class: "mix-top-menu__logo-img"
|
|
1964
1964
|
}, null, 8, ra),
|
|
1965
|
-
e("span", ia, x(
|
|
1965
|
+
e("span", ia, x(n(i).appName), 1)
|
|
1966
1966
|
]),
|
|
1967
|
-
w(
|
|
1967
|
+
w(n(Ze), {
|
|
1968
1968
|
"model-value": f.value,
|
|
1969
1969
|
mode: "horizontal",
|
|
1970
1970
|
"background-color": V.value,
|
|
@@ -1974,14 +1974,14 @@ const fe = Pe("menu", () => {
|
|
|
1974
1974
|
onSelect: B
|
|
1975
1975
|
}, {
|
|
1976
1976
|
default: S(() => [
|
|
1977
|
-
(o(!0), c(j, null, J(
|
|
1977
|
+
(o(!0), c(j, null, J(n(d).menuList, (L) => (o(), A(n(Ie), {
|
|
1978
1978
|
key: L.menuUrl,
|
|
1979
1979
|
index: L.menuUrl
|
|
1980
1980
|
}, {
|
|
1981
1981
|
default: S(() => [
|
|
1982
1982
|
e("span", ca, [
|
|
1983
1983
|
L.menuName !== "首页" ? (o(), c("span", ua, [
|
|
1984
|
-
he(K(L.icon)) ? (o(), A(
|
|
1984
|
+
he(K(L.icon)) ? (o(), A(n(U), {
|
|
1985
1985
|
key: 0,
|
|
1986
1986
|
name: K(L.icon),
|
|
1987
1987
|
size: 16
|
|
@@ -2001,7 +2001,7 @@ const fe = Pe("menu", () => {
|
|
|
2001
2001
|
ref_key: "searchRef",
|
|
2002
2002
|
ref: F
|
|
2003
2003
|
}, [
|
|
2004
|
-
w(
|
|
2004
|
+
w(n(U), {
|
|
2005
2005
|
name: "search",
|
|
2006
2006
|
size: 14,
|
|
2007
2007
|
class: "mix-top-menu__search-icon"
|
|
@@ -2025,7 +2025,7 @@ const fe = Pe("menu", () => {
|
|
|
2025
2025
|
onClick: (tt) => M(L.path)
|
|
2026
2026
|
}, [
|
|
2027
2027
|
L.title !== "首页" ? (o(), c("span", fa, [
|
|
2028
|
-
he(K(L.icon)) ? (o(), A(
|
|
2028
|
+
he(K(L.icon)) ? (o(), A(n(U), {
|
|
2029
2029
|
key: 0,
|
|
2030
2030
|
name: K(L.icon),
|
|
2031
2031
|
size: 16
|
|
@@ -2045,7 +2045,7 @@ const fe = Pe("menu", () => {
|
|
|
2045
2045
|
onClick: re,
|
|
2046
2046
|
title: ee.value ? "退出全屏" : "全屏"
|
|
2047
2047
|
}, [
|
|
2048
|
-
w(
|
|
2048
|
+
w(n(U), {
|
|
2049
2049
|
name: ee.value ? "fullscreen-exit" : "fullscreen",
|
|
2050
2050
|
size: 16
|
|
2051
2051
|
}, null, 8, ["name"])
|
|
@@ -2055,7 +2055,7 @@ const fe = Pe("menu", () => {
|
|
|
2055
2055
|
onClick: q,
|
|
2056
2056
|
title: "换肤设置"
|
|
2057
2057
|
}, [
|
|
2058
|
-
w(
|
|
2058
|
+
w(n(U), {
|
|
2059
2059
|
name: "skin",
|
|
2060
2060
|
size: 16
|
|
2061
2061
|
})
|
|
@@ -2065,8 +2065,8 @@ const fe = Pe("menu", () => {
|
|
|
2065
2065
|
onClick: we,
|
|
2066
2066
|
title: "切换主题"
|
|
2067
2067
|
}, [
|
|
2068
|
-
w(
|
|
2069
|
-
name:
|
|
2068
|
+
w(n(U), {
|
|
2069
|
+
name: n(i).isDark ? "sun" : "moon",
|
|
2070
2070
|
size: 16
|
|
2071
2071
|
}, null, 8, ["name"])
|
|
2072
2072
|
]),
|
|
@@ -2080,9 +2080,9 @@ const fe = Pe("menu", () => {
|
|
|
2080
2080
|
onClick: Ae(ge, ["stop"])
|
|
2081
2081
|
}, [
|
|
2082
2082
|
e("div", xa, [
|
|
2083
|
-
e("span", null, x(((O =
|
|
2083
|
+
e("span", null, x(((O = n(h).userName) == null ? void 0 : O.charAt(0)) || "U"), 1)
|
|
2084
2084
|
]),
|
|
2085
|
-
e("span", Ca, x(
|
|
2085
|
+
e("span", Ca, x(n(h).userName), 1),
|
|
2086
2086
|
e("span", {
|
|
2087
2087
|
class: Z(["mix-top-menu__user-arrow", { "is-active": Q.value }])
|
|
2088
2088
|
}, [...v[3] || (v[3] = [
|
|
@@ -2107,11 +2107,11 @@ const fe = Pe("menu", () => {
|
|
|
2107
2107
|
Q.value ? (o(), c("div", $a, [
|
|
2108
2108
|
e("div", La, [
|
|
2109
2109
|
e("div", Ma, [
|
|
2110
|
-
e("span", null, x(((L =
|
|
2110
|
+
e("span", null, x(((L = n(h).userName) == null ? void 0 : L.charAt(0)) || "U"), 1)
|
|
2111
2111
|
]),
|
|
2112
2112
|
e("div", Sa, [
|
|
2113
|
-
e("div", Na, x(
|
|
2114
|
-
e("div", Ea, x(
|
|
2113
|
+
e("div", Na, x(n(h).userName), 1),
|
|
2114
|
+
e("div", Ea, x(n(h).departmentName), 1)
|
|
2115
2115
|
])
|
|
2116
2116
|
]),
|
|
2117
2117
|
v[8] || (v[8] = e("div", { class: "mix-top-menu__dropdown-divider" }, null, -1)),
|
|
@@ -2120,7 +2120,7 @@ const fe = Pe("menu", () => {
|
|
|
2120
2120
|
class: "mix-top-menu__dropdown-item",
|
|
2121
2121
|
onClick: se
|
|
2122
2122
|
}, [
|
|
2123
|
-
w(
|
|
2123
|
+
w(n(U), {
|
|
2124
2124
|
name: "user",
|
|
2125
2125
|
size: 16
|
|
2126
2126
|
}),
|
|
@@ -2130,7 +2130,7 @@ const fe = Pe("menu", () => {
|
|
|
2130
2130
|
class: "mix-top-menu__dropdown-item",
|
|
2131
2131
|
onClick: $
|
|
2132
2132
|
}, [
|
|
2133
|
-
w(
|
|
2133
|
+
w(n(U), {
|
|
2134
2134
|
name: "lock",
|
|
2135
2135
|
size: 16
|
|
2136
2136
|
}),
|
|
@@ -2141,7 +2141,7 @@ const fe = Pe("menu", () => {
|
|
|
2141
2141
|
class: "mix-top-menu__dropdown-item mix-top-menu__dropdown-item--danger",
|
|
2142
2142
|
onClick: N
|
|
2143
2143
|
}, [
|
|
2144
|
-
w(
|
|
2144
|
+
w(n(U), {
|
|
2145
2145
|
name: "logout",
|
|
2146
2146
|
size: 16
|
|
2147
2147
|
}),
|
|
@@ -2155,7 +2155,7 @@ const fe = Pe("menu", () => {
|
|
|
2155
2155
|
})
|
|
2156
2156
|
], 512)
|
|
2157
2157
|
]),
|
|
2158
|
-
w(
|
|
2158
|
+
w(n(Qe), {
|
|
2159
2159
|
modelValue: Y.value,
|
|
2160
2160
|
"onUpdate:modelValue": v[2] || (v[2] = (L) => Y.value = L),
|
|
2161
2161
|
title: "换肤设置",
|
|
@@ -2201,12 +2201,12 @@ const fe = Pe("menu", () => {
|
|
|
2201
2201
|
e("div", Ra, [
|
|
2202
2202
|
(o(), c(j, null, J(I, (L) => e("div", {
|
|
2203
2203
|
key: L.value,
|
|
2204
|
-
class: Z(["color-option", { "is-active":
|
|
2204
|
+
class: Z(["color-option", { "is-active": n(i).primaryColor === L.value }]),
|
|
2205
2205
|
style: Ue({ backgroundColor: L.value }),
|
|
2206
2206
|
title: L.label,
|
|
2207
2207
|
onClick: (tt) => b(L.value)
|
|
2208
2208
|
}, [
|
|
2209
|
-
|
|
2209
|
+
n(i).primaryColor === L.value ? (o(), A(n(U), {
|
|
2210
2210
|
key: 0,
|
|
2211
2211
|
name: "check",
|
|
2212
2212
|
size: 12,
|
|
@@ -2230,7 +2230,7 @@ const fe = Pe("menu", () => {
|
|
|
2230
2230
|
e("div", Ha, [
|
|
2231
2231
|
v[17] || (v[17] = e("span", null, "暗黑模式", -1)),
|
|
2232
2232
|
e("div", {
|
|
2233
|
-
class: Z(["switch-wrapper", { "is-checked":
|
|
2233
|
+
class: Z(["switch-wrapper", { "is-checked": n(i).isDark }]),
|
|
2234
2234
|
onClick: ne
|
|
2235
2235
|
}, [...v[16] || (v[16] = [
|
|
2236
2236
|
e("span", { class: "switch-core" }, null, -1)
|
|
@@ -2260,22 +2260,22 @@ const fe = Pe("menu", () => {
|
|
|
2260
2260
|
logoSrc: {}
|
|
2261
2261
|
},
|
|
2262
2262
|
setup(t) {
|
|
2263
|
-
const
|
|
2264
|
-
() =>
|
|
2265
|
-
), i = k(() =>
|
|
2263
|
+
const a = t, p = k(() => a.logoSrc || Te("/vite.svg")), l = _e(), s = fe(), d = k(
|
|
2264
|
+
() => l.isCollapsed ? "64px" : "210px"
|
|
2265
|
+
), i = k(() => l.layout), h = k(() => i.value === "mix"), m = k(() => i.value === "sidebar" ? s.menuList : i.value === "mix" ? l.mixSubMenus : []), f = k(() => h.value ? m.value.length > 0 : !1);
|
|
2266
2266
|
return (_, g) => {
|
|
2267
2267
|
const u = mt("router-view");
|
|
2268
2268
|
return o(), c(j, null, [
|
|
2269
2269
|
i.value === "sidebar" ? (o(), c("div", Xa, [
|
|
2270
2270
|
e("aside", {
|
|
2271
2271
|
class: "layout__aside",
|
|
2272
|
-
style: Ue({ width:
|
|
2272
|
+
style: Ue({ width: d.value })
|
|
2273
2273
|
}, [
|
|
2274
2274
|
w(lt, {
|
|
2275
|
-
"menu-list":
|
|
2275
|
+
"menu-list": m.value,
|
|
2276
2276
|
"show-logo": !0,
|
|
2277
2277
|
"show-user": !0,
|
|
2278
|
-
"logo-src":
|
|
2278
|
+
"logo-src": p.value
|
|
2279
2279
|
}, null, 8, ["menu-list", "logo-src"])
|
|
2280
2280
|
], 4),
|
|
2281
2281
|
e("div", Ja, [
|
|
@@ -2289,7 +2289,7 @@ const fe = Pe("menu", () => {
|
|
|
2289
2289
|
])) : z("", !0),
|
|
2290
2290
|
i.value === "top" ? (o(), c("div", en, [
|
|
2291
2291
|
e("div", tn, [
|
|
2292
|
-
w(aa, { "logo-src":
|
|
2292
|
+
w(aa, { "logo-src": p.value }, null, 8, ["logo-src"])
|
|
2293
2293
|
]),
|
|
2294
2294
|
e("div", sn, [
|
|
2295
2295
|
e("main", on, [
|
|
@@ -2299,16 +2299,16 @@ const fe = Pe("menu", () => {
|
|
|
2299
2299
|
])) : z("", !0),
|
|
2300
2300
|
i.value === "mix" ? (o(), c("div", an, [
|
|
2301
2301
|
e("div", nn, [
|
|
2302
|
-
w(Ga, { "logo-src":
|
|
2302
|
+
w(Ga, { "logo-src": p.value }, null, 8, ["logo-src"])
|
|
2303
2303
|
]),
|
|
2304
2304
|
e("div", ln, [
|
|
2305
2305
|
f.value ? (o(), c("aside", {
|
|
2306
2306
|
key: 0,
|
|
2307
2307
|
class: "layout__aside",
|
|
2308
|
-
style: Ue({ width:
|
|
2308
|
+
style: Ue({ width: d.value })
|
|
2309
2309
|
}, [
|
|
2310
2310
|
w(lt, {
|
|
2311
|
-
"menu-list":
|
|
2311
|
+
"menu-list": m.value,
|
|
2312
2312
|
"show-logo": !1,
|
|
2313
2313
|
"show-user": !1
|
|
2314
2314
|
}, null, 8, ["menu-list"])
|
|
@@ -2327,35 +2327,35 @@ const fe = Pe("menu", () => {
|
|
|
2327
2327
|
}, Symbol.toStringTag, { value: "Module" })), dn = { class: "tabs-wrapper" }, mn = { class: "tab-label" }, pn = ["onClick"], vn = /* @__PURE__ */ ce({
|
|
2328
2328
|
__name: "Tabs",
|
|
2329
2329
|
setup(t) {
|
|
2330
|
-
const
|
|
2330
|
+
const a = Ee(), p = be(), l = k(() => {
|
|
2331
2331
|
const h = [];
|
|
2332
|
-
return
|
|
2332
|
+
return a.matched.forEach((m) => {
|
|
2333
2333
|
var f;
|
|
2334
|
-
(f =
|
|
2335
|
-
name:
|
|
2336
|
-
title:
|
|
2337
|
-
path:
|
|
2334
|
+
(f = m.meta) != null && f.affix && h.push({
|
|
2335
|
+
name: m.name,
|
|
2336
|
+
title: m.meta.title,
|
|
2337
|
+
path: m.path,
|
|
2338
2338
|
affix: !0
|
|
2339
2339
|
});
|
|
2340
2340
|
}), h;
|
|
2341
|
-
}), s = k(() =>
|
|
2342
|
-
|
|
2341
|
+
}), s = k(() => a.path), d = (h) => {
|
|
2342
|
+
p.push(h);
|
|
2343
2343
|
}, i = (h) => {
|
|
2344
|
-
const
|
|
2345
|
-
if (!(
|
|
2346
|
-
const f =
|
|
2347
|
-
_ &&
|
|
2344
|
+
const m = l.value.find((f) => f.path === h);
|
|
2345
|
+
if (!(m != null && m.affix) && h === s.value) {
|
|
2346
|
+
const f = l.value.findIndex((g) => g.path === h), _ = l.value[f - 1] || l.value[f + 1];
|
|
2347
|
+
_ && p.push(_.path);
|
|
2348
2348
|
}
|
|
2349
2349
|
};
|
|
2350
|
-
return (h,
|
|
2351
|
-
w(
|
|
2350
|
+
return (h, m) => (o(), c("div", dn, [
|
|
2351
|
+
w(n(It), {
|
|
2352
2352
|
modelValue: s.value,
|
|
2353
|
-
"onUpdate:modelValue":
|
|
2353
|
+
"onUpdate:modelValue": m[0] || (m[0] = (f) => s.value = f),
|
|
2354
2354
|
type: "card",
|
|
2355
|
-
onTabClick:
|
|
2355
|
+
onTabClick: d
|
|
2356
2356
|
}, {
|
|
2357
2357
|
default: S(() => [
|
|
2358
|
-
(o(!0), c(j, null, J(
|
|
2358
|
+
(o(!0), c(j, null, J(l.value, (f) => (o(), A(n(Ut), {
|
|
2359
2359
|
key: f.path,
|
|
2360
2360
|
name: f.path,
|
|
2361
2361
|
label: f.title,
|
|
@@ -2379,15 +2379,15 @@ const fe = Pe("menu", () => {
|
|
|
2379
2379
|
]));
|
|
2380
2380
|
}
|
|
2381
2381
|
}), ol = /* @__PURE__ */ de(vn, [["__scopeId", "data-v-0a4ca30d"]]), hn = {}, _n = { class: "footer" };
|
|
2382
|
-
function fn(t,
|
|
2383
|
-
return o(), c("div", _n, [...
|
|
2382
|
+
function fn(t, a) {
|
|
2383
|
+
return o(), c("div", _n, [...a[0] || (a[0] = [
|
|
2384
2384
|
e("span", null, "Copyright © 2024 Xto Demo. All Rights Reserved.", -1)
|
|
2385
2385
|
])]);
|
|
2386
2386
|
}
|
|
2387
2387
|
const al = /* @__PURE__ */ de(hn, [["render", fn], ["__scopeId", "data-v-ac63e349"]]), gn = { class: "login-page" }, yn = { class: "login-form-section" }, bn = { class: "form-container" }, wn = { class: "input-wrapper" }, kn = { class: "input-wrapper" }, xn = { class: "form-options" }, Cn = { key: 0 }, $n = { key: 1 }, Ln = /* @__PURE__ */ ce({
|
|
2388
2388
|
__name: "index",
|
|
2389
2389
|
setup(t) {
|
|
2390
|
-
const
|
|
2390
|
+
const a = be(), p = Ee(), l = y(!1), s = y(!1), d = Ge({
|
|
2391
2391
|
uid: "",
|
|
2392
2392
|
password: ""
|
|
2393
2393
|
}), i = {
|
|
@@ -2398,24 +2398,24 @@ const al = /* @__PURE__ */ de(hn, [["render", fn], ["__scopeId", "data-v-ac63e34
|
|
|
2398
2398
|
{ required: !0, message: "请输入密码", trigger: "blur" },
|
|
2399
2399
|
{ min: 6, message: "密码长度至少6位", trigger: "blur" }
|
|
2400
2400
|
]
|
|
2401
|
-
}, h = y(),
|
|
2401
|
+
}, h = y(), m = async () => {
|
|
2402
2402
|
var f;
|
|
2403
2403
|
try {
|
|
2404
|
-
await ((f = h.value) == null ? void 0 : f.validate()),
|
|
2404
|
+
await ((f = h.value) == null ? void 0 : f.validate()), l.value = !0;
|
|
2405
2405
|
const _ = await yt({
|
|
2406
2406
|
appId: Me(),
|
|
2407
2407
|
clientId: dt(),
|
|
2408
|
-
uid:
|
|
2409
|
-
password:
|
|
2408
|
+
uid: d.uid,
|
|
2409
|
+
password: d.password,
|
|
2410
2410
|
code: !0
|
|
2411
2411
|
});
|
|
2412
2412
|
ut(_), Tt.success("登录成功");
|
|
2413
|
-
const g =
|
|
2414
|
-
g ?
|
|
2413
|
+
const g = p.query.redirect;
|
|
2414
|
+
g ? a.push(g) : a.push({ name: "Dashboard" });
|
|
2415
2415
|
} catch (_) {
|
|
2416
2416
|
console.error("登录失败:", _);
|
|
2417
2417
|
} finally {
|
|
2418
|
-
|
|
2418
|
+
l.value = !1;
|
|
2419
2419
|
}
|
|
2420
2420
|
};
|
|
2421
2421
|
return (f, _) => (o(), c("div", gn, [
|
|
@@ -2426,27 +2426,27 @@ const al = /* @__PURE__ */ de(hn, [["render", fn], ["__scopeId", "data-v-ac63e34
|
|
|
2426
2426
|
e("h2", null, "欢迎登录"),
|
|
2427
2427
|
e("p", null, "请输入您的账户信息")
|
|
2428
2428
|
], -1)),
|
|
2429
|
-
w(
|
|
2429
|
+
w(n(Pt), {
|
|
2430
2430
|
ref_key: "formRef",
|
|
2431
2431
|
ref: h,
|
|
2432
|
-
model:
|
|
2432
|
+
model: d,
|
|
2433
2433
|
rules: i,
|
|
2434
2434
|
class: "login-form",
|
|
2435
2435
|
"label-width": "0"
|
|
2436
2436
|
}, {
|
|
2437
2437
|
default: S(() => [
|
|
2438
|
-
w(
|
|
2438
|
+
w(n(Be), { prop: "uid" }, {
|
|
2439
2439
|
default: S(() => [
|
|
2440
2440
|
e("div", wn, [
|
|
2441
2441
|
_[3] || (_[3] = e("label", { class: "input-label" }, "用户名", -1)),
|
|
2442
|
-
w(
|
|
2443
|
-
modelValue:
|
|
2444
|
-
"onUpdate:modelValue": _[0] || (_[0] = (g) =>
|
|
2442
|
+
w(n(nt), {
|
|
2443
|
+
modelValue: d.uid,
|
|
2444
|
+
"onUpdate:modelValue": _[0] || (_[0] = (g) => d.uid = g),
|
|
2445
2445
|
placeholder: "请输入用户名",
|
|
2446
2446
|
size: "large"
|
|
2447
2447
|
}, {
|
|
2448
2448
|
prefix: S(() => [
|
|
2449
|
-
w(
|
|
2449
|
+
w(n(U), {
|
|
2450
2450
|
name: "user",
|
|
2451
2451
|
size: 18
|
|
2452
2452
|
})
|
|
@@ -2457,21 +2457,21 @@ const al = /* @__PURE__ */ de(hn, [["render", fn], ["__scopeId", "data-v-ac63e34
|
|
|
2457
2457
|
]),
|
|
2458
2458
|
_: 1
|
|
2459
2459
|
}),
|
|
2460
|
-
w(
|
|
2460
|
+
w(n(Be), { prop: "password" }, {
|
|
2461
2461
|
default: S(() => [
|
|
2462
2462
|
e("div", kn, [
|
|
2463
2463
|
_[4] || (_[4] = e("label", { class: "input-label" }, "密码", -1)),
|
|
2464
|
-
w(
|
|
2465
|
-
modelValue:
|
|
2466
|
-
"onUpdate:modelValue": _[1] || (_[1] = (g) =>
|
|
2464
|
+
w(n(nt), {
|
|
2465
|
+
modelValue: d.password,
|
|
2466
|
+
"onUpdate:modelValue": _[1] || (_[1] = (g) => d.password = g),
|
|
2467
2467
|
type: "password",
|
|
2468
2468
|
placeholder: "请输入密码",
|
|
2469
2469
|
size: "large",
|
|
2470
2470
|
"show-password": "",
|
|
2471
|
-
onKeyup: Nt(
|
|
2471
|
+
onKeyup: Nt(m, ["enter"])
|
|
2472
2472
|
}, {
|
|
2473
2473
|
prefix: S(() => [
|
|
2474
|
-
w(
|
|
2474
|
+
w(n(U), {
|
|
2475
2475
|
name: "lock",
|
|
2476
2476
|
size: 18
|
|
2477
2477
|
})
|
|
@@ -2483,7 +2483,7 @@ const al = /* @__PURE__ */ de(hn, [["render", fn], ["__scopeId", "data-v-ac63e34
|
|
|
2483
2483
|
_: 1
|
|
2484
2484
|
}),
|
|
2485
2485
|
e("div", xn, [
|
|
2486
|
-
w(
|
|
2486
|
+
w(n(zt), {
|
|
2487
2487
|
modelValue: s.value,
|
|
2488
2488
|
"onUpdate:modelValue": _[2] || (_[2] = (g) => s.value = g)
|
|
2489
2489
|
}, {
|
|
@@ -2497,17 +2497,17 @@ const al = /* @__PURE__ */ de(hn, [["render", fn], ["__scopeId", "data-v-ac63e34
|
|
|
2497
2497
|
class: "forgot-link"
|
|
2498
2498
|
}, "忘记密码?", -1))
|
|
2499
2499
|
]),
|
|
2500
|
-
w(
|
|
2500
|
+
w(n(Be), null, {
|
|
2501
2501
|
default: S(() => [
|
|
2502
|
-
w(
|
|
2502
|
+
w(n(Ne), {
|
|
2503
2503
|
type: "primary",
|
|
2504
2504
|
size: "large",
|
|
2505
|
-
loading:
|
|
2505
|
+
loading: l.value,
|
|
2506
2506
|
class: "login-btn",
|
|
2507
|
-
onClick:
|
|
2507
|
+
onClick: m
|
|
2508
2508
|
}, {
|
|
2509
2509
|
default: S(() => [
|
|
2510
|
-
|
|
2510
|
+
l.value ? (o(), c("span", $n, "登录中...")) : (o(), c("span", Cn, "登 录"))
|
|
2511
2511
|
]),
|
|
2512
2512
|
_: 1
|
|
2513
2513
|
}, 8, ["loading"])
|
|
@@ -2531,10 +2531,10 @@ const al = /* @__PURE__ */ de(hn, [["render", fn], ["__scopeId", "data-v-ac63e34
|
|
|
2531
2531
|
}, Symbol.toStringTag, { value: "Module" })), Nn = { class: "error-page" }, En = { class: "error-container" }, In = { class: "error-content" }, Un = { class: "error-actions" }, Tn = /* @__PURE__ */ ce({
|
|
2532
2532
|
__name: "404",
|
|
2533
2533
|
setup(t) {
|
|
2534
|
-
const
|
|
2535
|
-
|
|
2534
|
+
const a = be(), p = () => {
|
|
2535
|
+
a.push("/");
|
|
2536
2536
|
};
|
|
2537
|
-
return (
|
|
2537
|
+
return (l, s) => (o(), c("div", Nn, [
|
|
2538
2538
|
e("div", En, [
|
|
2539
2539
|
s[7] || (s[7] = e("div", { class: "error-bg" }, [
|
|
2540
2540
|
e("div", { class: "bg-circle circle-1" }),
|
|
@@ -2544,10 +2544,10 @@ const al = /* @__PURE__ */ de(hn, [["render", fn], ["__scopeId", "data-v-ac63e34
|
|
|
2544
2544
|
e("div", In, [
|
|
2545
2545
|
s[5] || (s[5] = Fe('<div class="error-code" data-v-c36cc0ad><span class="code-digit" data-v-c36cc0ad>4</span><span class="code-zero" data-v-c36cc0ad><span class="zero-inner" data-v-c36cc0ad>0</span></span><span class="code-digit" data-v-c36cc0ad>4</span></div><div class="error-illustration" data-v-c36cc0ad><svg viewBox="0 0 200 120" fill="none" xmlns="http://www.w3.org/2000/svg" data-v-c36cc0ad><rect x="40" y="20" width="120" height="80" rx="8" fill="var(--xto-fill-color, #F2F3F5)" stroke="var(--xto-border-color, #D9DCE1)" stroke-width="2" data-v-c36cc0ad></rect><rect x="50" y="30" width="100" height="60" rx="4" fill="var(--xto-bg-color, #FFFFFF)" data-v-c36cc0ad></rect><line x1="60" y1="45" x2="140" y2="45" stroke="var(--xto-border-color-light, #E5E6EB)" stroke-width="2" data-v-c36cc0ad></line><line x1="60" y1="55" x2="120" y2="55" stroke="var(--xto-border-color-light, #E5E6EB)" stroke-width="2" data-v-c36cc0ad></line><line x1="60" y1="65" x2="100" y2="65" stroke="var(--xto-border-color-light, #E5E6EB)" stroke-width="2" data-v-c36cc0ad></line><text x="100" y="75" text-anchor="middle" fill="var(--xto-color-primary, #4F46E5)" font-size="24" font-weight="600" data-v-c36cc0ad>?</text><circle cx="150" cy="35" r="12" stroke="var(--xto-color-primary, #4F46E5)" stroke-width="2" fill="none" data-v-c36cc0ad></circle><line x1="158" y1="43" x2="168" y2="53" stroke="var(--xto-color-primary, #4F46E5)" stroke-width="2" stroke-linecap="round" data-v-c36cc0ad></line></svg></div><h1 class="error-title" data-v-c36cc0ad>页面不存在</h1><p class="error-desc" data-v-c36cc0ad>抱歉,您访问的页面不存在或已被删除</p>', 4)),
|
|
2546
2546
|
e("div", Un, [
|
|
2547
|
-
w(
|
|
2547
|
+
w(n(Ne), {
|
|
2548
2548
|
type: "primary",
|
|
2549
2549
|
size: "large",
|
|
2550
|
-
onClick:
|
|
2550
|
+
onClick: p
|
|
2551
2551
|
}, {
|
|
2552
2552
|
icon: S(() => [...s[1] || (s[1] = [
|
|
2553
2553
|
e("svg", {
|
|
@@ -2565,9 +2565,9 @@ const al = /* @__PURE__ */ de(hn, [["render", fn], ["__scopeId", "data-v-ac63e34
|
|
|
2565
2565
|
]),
|
|
2566
2566
|
_: 1
|
|
2567
2567
|
}),
|
|
2568
|
-
w(
|
|
2568
|
+
w(n(Ne), {
|
|
2569
2569
|
size: "large",
|
|
2570
|
-
onClick: s[0] || (s[0] = (
|
|
2570
|
+
onClick: s[0] || (s[0] = (d) => n(a).go(-1))
|
|
2571
2571
|
}, {
|
|
2572
2572
|
icon: S(() => [...s[3] || (s[3] = [
|
|
2573
2573
|
e("svg", {
|
|
@@ -2603,10 +2603,10 @@ const al = /* @__PURE__ */ de(hn, [["render", fn], ["__scopeId", "data-v-ac63e34
|
|
|
2603
2603
|
}, Symbol.toStringTag, { value: "Module" })), zn = { class: "error-page" }, Fn = { class: "error-container" }, Dn = { class: "error-content" }, An = { class: "error-actions" }, Bn = /* @__PURE__ */ ce({
|
|
2604
2604
|
__name: "403",
|
|
2605
2605
|
setup(t) {
|
|
2606
|
-
const
|
|
2607
|
-
|
|
2606
|
+
const a = be(), p = () => {
|
|
2607
|
+
a.push("/");
|
|
2608
2608
|
};
|
|
2609
|
-
return (
|
|
2609
|
+
return (l, s) => (o(), c("div", zn, [
|
|
2610
2610
|
e("div", Fn, [
|
|
2611
2611
|
s[7] || (s[7] = e("div", { class: "error-bg" }, [
|
|
2612
2612
|
e("div", { class: "bg-circle circle-1" }),
|
|
@@ -2616,10 +2616,10 @@ const al = /* @__PURE__ */ de(hn, [["render", fn], ["__scopeId", "data-v-ac63e34
|
|
|
2616
2616
|
e("div", Dn, [
|
|
2617
2617
|
s[5] || (s[5] = Fe('<div class="error-code" data-v-e6e1f7ac><span class="code-digit" data-v-e6e1f7ac>4</span><span class="code-zero warning" data-v-e6e1f7ac><span class="zero-inner" data-v-e6e1f7ac>0</span></span><span class="code-digit" data-v-e6e1f7ac>3</span></div><div class="error-illustration" data-v-e6e1f7ac><svg viewBox="0 0 200 120" fill="none" xmlns="http://www.w3.org/2000/svg" data-v-e6e1f7ac><path d="M100 15 L150 35 L150 70 C150 95 100 110 100 110 C100 110 50 95 50 70 L50 35 Z" fill="var(--xto-color-warning-light-9, #FFF3E8)" stroke="var(--xto-color-warning, #FF7D00)" stroke-width="2" data-v-e6e1f7ac></path><rect x="85" y="55" width="30" height="25" rx="4" fill="var(--xto-color-warning, #FF7D00)" data-v-e6e1f7ac></rect><path d="M92 55 V48 A8 8 0 0 1 108 48 V55" fill="none" stroke="var(--xto-color-warning, #FF7D00)" stroke-width="3" data-v-e6e1f7ac></path><circle cx="100" cy="67" r="6" fill="none" stroke="#fff" stroke-width="2" data-v-e6e1f7ac></circle><line x1="96" y1="63" x2="104" y2="71" stroke="#fff" stroke-width="2" data-v-e6e1f7ac></line></svg></div><h1 class="error-title" data-v-e6e1f7ac>无访问权限</h1><p class="error-desc" data-v-e6e1f7ac>抱歉,您没有权限访问此页面,请联系管理员获取权限</p>', 4)),
|
|
2618
2618
|
e("div", An, [
|
|
2619
|
-
w(
|
|
2619
|
+
w(n(Ne), {
|
|
2620
2620
|
type: "primary",
|
|
2621
2621
|
size: "large",
|
|
2622
|
-
onClick:
|
|
2622
|
+
onClick: p
|
|
2623
2623
|
}, {
|
|
2624
2624
|
icon: S(() => [...s[1] || (s[1] = [
|
|
2625
2625
|
e("svg", {
|
|
@@ -2637,9 +2637,9 @@ const al = /* @__PURE__ */ de(hn, [["render", fn], ["__scopeId", "data-v-ac63e34
|
|
|
2637
2637
|
]),
|
|
2638
2638
|
_: 1
|
|
2639
2639
|
}),
|
|
2640
|
-
w(
|
|
2640
|
+
w(n(Ne), {
|
|
2641
2641
|
size: "large",
|
|
2642
|
-
onClick: s[0] || (s[0] = (
|
|
2642
|
+
onClick: s[0] || (s[0] = (d) => n(a).go(-1))
|
|
2643
2643
|
}, {
|
|
2644
2644
|
icon: S(() => [...s[3] || (s[3] = [
|
|
2645
2645
|
e("svg", {
|
|
@@ -2671,14 +2671,14 @@ const al = /* @__PURE__ */ de(hn, [["render", fn], ["__scopeId", "data-v-ac63e34
|
|
|
2671
2671
|
}
|
|
2672
2672
|
}), nl = /* @__PURE__ */ de(Bn, [["__scopeId", "data-v-e6e1f7ac"]]);
|
|
2673
2673
|
function ll() {
|
|
2674
|
-
const t = _e(),
|
|
2674
|
+
const t = _e(), a = ue(), p = ze(), l = k(() => a.userName || ""), s = k(() => a.userInfo), d = k(() => t.appName), i = k(() => p.isLoggedIn), h = k(() => t.isDark), m = k(() => t.theme), f = k(() => t.isCollapsed), _ = k(() => t.layout);
|
|
2675
2675
|
return {
|
|
2676
|
-
userName:
|
|
2676
|
+
userName: l,
|
|
2677
2677
|
userInfo: s,
|
|
2678
|
-
appName:
|
|
2678
|
+
appName: d,
|
|
2679
2679
|
isLoggedIn: i,
|
|
2680
2680
|
isDark: h,
|
|
2681
|
-
theme:
|
|
2681
|
+
theme: m,
|
|
2682
2682
|
isCollapsed: f,
|
|
2683
2683
|
layout: _,
|
|
2684
2684
|
toggleTheme: () => {
|
|
@@ -2695,26 +2695,26 @@ function rl() {
|
|
|
2695
2695
|
isLoggedIn: k(() => t.isLoggedIn)
|
|
2696
2696
|
};
|
|
2697
2697
|
}
|
|
2698
|
-
function il(t,
|
|
2699
|
-
const { rules:
|
|
2700
|
-
u(),
|
|
2698
|
+
function il(t, a = {}) {
|
|
2699
|
+
const { rules: p, onSubmit: l } = a, s = y(), d = Ge({ ...t }), i = y(!1), h = y(!1), m = y(!1), f = () => {
|
|
2700
|
+
u(), m.value = !1, h.value = !0;
|
|
2701
2701
|
}, _ = (P) => {
|
|
2702
|
-
Object.assign(
|
|
2702
|
+
Object.assign(d, P), m.value = !0, h.value = !0;
|
|
2703
2703
|
}, g = () => {
|
|
2704
2704
|
h.value = !1, u();
|
|
2705
2705
|
}, u = () => {
|
|
2706
2706
|
var P;
|
|
2707
2707
|
Object.keys(t).forEach((B) => {
|
|
2708
|
-
|
|
2708
|
+
d[B] = t[B];
|
|
2709
2709
|
}), (P = s.value) == null || P.resetFields();
|
|
2710
2710
|
};
|
|
2711
2711
|
return {
|
|
2712
2712
|
formRef: s,
|
|
2713
|
-
formData:
|
|
2714
|
-
rules:
|
|
2713
|
+
formData: d,
|
|
2714
|
+
rules: p,
|
|
2715
2715
|
loading: i,
|
|
2716
2716
|
visible: h,
|
|
2717
|
-
isEdit:
|
|
2717
|
+
isEdit: m,
|
|
2718
2718
|
openAdd: f,
|
|
2719
2719
|
openEdit: _,
|
|
2720
2720
|
close: g,
|
|
@@ -2722,7 +2722,7 @@ function il(t, n = {}) {
|
|
|
2722
2722
|
handleSubmit: async () => {
|
|
2723
2723
|
var P;
|
|
2724
2724
|
try {
|
|
2725
|
-
await ((P = s.value) == null ? void 0 : P.validate()), i.value = !0, await (
|
|
2725
|
+
await ((P = s.value) == null ? void 0 : P.validate()), i.value = !0, await (l == null ? void 0 : l(d)), g();
|
|
2726
2726
|
} catch (B) {
|
|
2727
2727
|
console.error(B);
|
|
2728
2728
|
} finally {
|
|
@@ -2732,25 +2732,25 @@ function il(t, n = {}) {
|
|
|
2732
2732
|
};
|
|
2733
2733
|
}
|
|
2734
2734
|
function cl(t) {
|
|
2735
|
-
const { fetchData:
|
|
2736
|
-
|
|
2735
|
+
const { fetchData: a, defaultPageSize: p = 10 } = t, l = y(!1), s = y([]), d = y(0), i = y(1), h = y(p), m = Ge({}), f = async () => {
|
|
2736
|
+
l.value = !0;
|
|
2737
2737
|
try {
|
|
2738
2738
|
const V = {
|
|
2739
|
-
...
|
|
2739
|
+
...m,
|
|
2740
2740
|
page: i.value,
|
|
2741
2741
|
pageSize: h.value
|
|
2742
|
-
}, R = await
|
|
2743
|
-
s.value = R.list,
|
|
2742
|
+
}, R = await a(V);
|
|
2743
|
+
s.value = R.list, d.value = R.total;
|
|
2744
2744
|
} catch (V) {
|
|
2745
2745
|
console.error(V);
|
|
2746
2746
|
} finally {
|
|
2747
|
-
|
|
2747
|
+
l.value = !1;
|
|
2748
2748
|
}
|
|
2749
2749
|
}, _ = () => {
|
|
2750
2750
|
i.value = 1, f();
|
|
2751
2751
|
}, g = () => {
|
|
2752
|
-
Object.keys(
|
|
2753
|
-
|
|
2752
|
+
Object.keys(m).forEach((V) => {
|
|
2753
|
+
m[V] = void 0;
|
|
2754
2754
|
}), i.value = 1, f();
|
|
2755
2755
|
}, u = (V) => {
|
|
2756
2756
|
i.value = V, f();
|
|
@@ -2761,15 +2761,15 @@ function cl(t) {
|
|
|
2761
2761
|
}, B = k(() => ({
|
|
2762
2762
|
current: i.value,
|
|
2763
2763
|
pageSize: h.value,
|
|
2764
|
-
total:
|
|
2764
|
+
total: d.value
|
|
2765
2765
|
}));
|
|
2766
2766
|
return {
|
|
2767
|
-
loading:
|
|
2767
|
+
loading: l,
|
|
2768
2768
|
data: s,
|
|
2769
|
-
total:
|
|
2769
|
+
total: d,
|
|
2770
2770
|
currentPage: i,
|
|
2771
2771
|
pageSize: h,
|
|
2772
|
-
searchParams:
|
|
2772
|
+
searchParams: m,
|
|
2773
2773
|
pagination: B,
|
|
2774
2774
|
getData: f,
|
|
2775
2775
|
handleSearch: _,
|
|
@@ -2780,18 +2780,18 @@ function cl(t) {
|
|
|
2780
2780
|
};
|
|
2781
2781
|
}
|
|
2782
2782
|
const et = Pe("locale", () => {
|
|
2783
|
-
const t = T.get("locale") || "zh-CN",
|
|
2784
|
-
const u =
|
|
2785
|
-
return (u == null ? void 0 : u.name) ||
|
|
2783
|
+
const t = T.get("locale") || "zh-CN", a = Ft(t), p = y(t), l = Dt(), { t: s, messages: d, setLocale: i, mergeMessages: h } = At(), m = k(() => {
|
|
2784
|
+
const u = l.find((W) => W.code === p.value);
|
|
2785
|
+
return (u == null ? void 0 : u.name) || p.value;
|
|
2786
2786
|
});
|
|
2787
2787
|
return {
|
|
2788
|
-
locale:
|
|
2789
|
-
localeName:
|
|
2790
|
-
locales:
|
|
2791
|
-
messages:
|
|
2788
|
+
locale: p,
|
|
2789
|
+
localeName: m,
|
|
2790
|
+
locales: l,
|
|
2791
|
+
messages: d,
|
|
2792
2792
|
t: s,
|
|
2793
2793
|
changeLocale: (u) => {
|
|
2794
|
-
|
|
2794
|
+
p.value = u, i(u), T.set("locale", u), a.setLocale(u);
|
|
2795
2795
|
},
|
|
2796
2796
|
addMessages: (u) => {
|
|
2797
2797
|
h(u);
|
|
@@ -2799,7 +2799,7 @@ const et = Pe("locale", () => {
|
|
|
2799
2799
|
initLocale: () => {
|
|
2800
2800
|
i(t);
|
|
2801
2801
|
},
|
|
2802
|
-
provider:
|
|
2802
|
+
provider: a
|
|
2803
2803
|
};
|
|
2804
2804
|
}), Vn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
2805
2805
|
__proto__: null,
|
|
@@ -2828,8 +2828,8 @@ function dl() {
|
|
|
2828
2828
|
return et().t;
|
|
2829
2829
|
}
|
|
2830
2830
|
function ml(t) {
|
|
2831
|
-
const
|
|
2832
|
-
return
|
|
2831
|
+
const a = ue(), p = fe();
|
|
2832
|
+
return a.isLoggedIn ? p.hasPermission(t) : !1;
|
|
2833
2833
|
}
|
|
2834
2834
|
function pl(t) {
|
|
2835
2835
|
return ue().isLoggedIn;
|
|
@@ -2856,7 +2856,7 @@ const _t = [
|
|
|
2856
2856
|
{
|
|
2857
2857
|
path: "/dashboard",
|
|
2858
2858
|
name: "Dashboard",
|
|
2859
|
-
component: () => import("./index-
|
|
2859
|
+
component: () => import("./index-TQslB33m.js"),
|
|
2860
2860
|
meta: {
|
|
2861
2861
|
title: "仪表盘",
|
|
2862
2862
|
icon: "dashboard",
|
|
@@ -2867,7 +2867,7 @@ const _t = [
|
|
|
2867
2867
|
{
|
|
2868
2868
|
path: "/system/user",
|
|
2869
2869
|
name: "SystemUser",
|
|
2870
|
-
component: () => import("./index-
|
|
2870
|
+
component: () => import("./index-D5ZqtqTW.js"),
|
|
2871
2871
|
meta: {
|
|
2872
2872
|
title: "用户管理",
|
|
2873
2873
|
icon: "user",
|
|
@@ -2877,7 +2877,7 @@ const _t = [
|
|
|
2877
2877
|
{
|
|
2878
2878
|
path: "/system/role",
|
|
2879
2879
|
name: "SystemRole",
|
|
2880
|
-
component: () => import("./index-
|
|
2880
|
+
component: () => import("./index-DWJW3Fh8.js"),
|
|
2881
2881
|
meta: {
|
|
2882
2882
|
title: "角色管理",
|
|
2883
2883
|
icon: "role",
|
|
@@ -2887,7 +2887,7 @@ const _t = [
|
|
|
2887
2887
|
{
|
|
2888
2888
|
path: "/system/menu",
|
|
2889
2889
|
name: "SystemMenu",
|
|
2890
|
-
component: () => import("./index-
|
|
2890
|
+
component: () => import("./index-C3AlXquT.js"),
|
|
2891
2891
|
meta: {
|
|
2892
2892
|
title: "菜单管理",
|
|
2893
2893
|
icon: "menu",
|
|
@@ -2909,7 +2909,7 @@ const _t = [
|
|
|
2909
2909
|
{
|
|
2910
2910
|
path: "/dashboard",
|
|
2911
2911
|
name: "Dashboard",
|
|
2912
|
-
component: () => import("./index-
|
|
2912
|
+
component: () => import("./index-TQslB33m.js"),
|
|
2913
2913
|
meta: {
|
|
2914
2914
|
title: "仪表盘",
|
|
2915
2915
|
icon: "dashboard",
|
|
@@ -2929,7 +2929,7 @@ const _t = [
|
|
|
2929
2929
|
{
|
|
2930
2930
|
path: "user",
|
|
2931
2931
|
name: "SystemUser",
|
|
2932
|
-
component: () => import("./index-
|
|
2932
|
+
component: () => import("./index-D5ZqtqTW.js"),
|
|
2933
2933
|
meta: {
|
|
2934
2934
|
title: "用户管理",
|
|
2935
2935
|
icon: "user",
|
|
@@ -2939,7 +2939,7 @@ const _t = [
|
|
|
2939
2939
|
{
|
|
2940
2940
|
path: "role",
|
|
2941
2941
|
name: "SystemRole",
|
|
2942
|
-
component: () => import("./index-
|
|
2942
|
+
component: () => import("./index-DWJW3Fh8.js"),
|
|
2943
2943
|
meta: {
|
|
2944
2944
|
title: "角色管理",
|
|
2945
2945
|
icon: "role",
|
|
@@ -2949,7 +2949,7 @@ const _t = [
|
|
|
2949
2949
|
{
|
|
2950
2950
|
path: "menu",
|
|
2951
2951
|
name: "SystemMenu",
|
|
2952
|
-
component: () => import("./index-
|
|
2952
|
+
component: () => import("./index-C3AlXquT.js"),
|
|
2953
2953
|
meta: {
|
|
2954
2954
|
title: "菜单管理",
|
|
2955
2955
|
icon: "menu",
|
|
@@ -3011,11 +3011,11 @@ const _t = [
|
|
|
3011
3011
|
routes: [..._t, ft],
|
|
3012
3012
|
scrollBehavior: () => ({ left: 0, top: 0 })
|
|
3013
3013
|
}), Rn = ["/login"];
|
|
3014
|
-
gt.beforeEach(async (t,
|
|
3015
|
-
const
|
|
3016
|
-
if (
|
|
3014
|
+
gt.beforeEach(async (t, a, p) => {
|
|
3015
|
+
const l = _e();
|
|
3016
|
+
if (l.initTheme(), it())
|
|
3017
3017
|
if (t.path === "/login")
|
|
3018
|
-
|
|
3018
|
+
p({ path: "/" });
|
|
3019
3019
|
else {
|
|
3020
3020
|
const s = ue();
|
|
3021
3021
|
s.isLoggedIn || (s.setUserInfo({
|
|
@@ -3027,10 +3027,10 @@ gt.beforeEach(async (t, n, m) => {
|
|
|
3027
3027
|
mobilePhone: "13800138000",
|
|
3028
3028
|
positionName: "管理员",
|
|
3029
3029
|
avatar: ""
|
|
3030
|
-
}), fe().setMenuList(On)), t.name && t.meta.keepAlive &&
|
|
3030
|
+
}), fe().setMenuList(On)), t.name && t.meta.keepAlive && l.addCachedView(t.name), p();
|
|
3031
3031
|
}
|
|
3032
3032
|
else
|
|
3033
|
-
Rn.includes(t.path) ?
|
|
3033
|
+
Rn.includes(t.path) ? p() : p("/login");
|
|
3034
3034
|
});
|
|
3035
3035
|
function _l() {
|
|
3036
3036
|
const t = Xe({
|
|
@@ -3039,8 +3039,8 @@ function _l() {
|
|
|
3039
3039
|
});
|
|
3040
3040
|
gt.matcher = t.matcher;
|
|
3041
3041
|
}
|
|
3042
|
-
function fl(t,
|
|
3043
|
-
const
|
|
3042
|
+
function fl(t, a = {}) {
|
|
3043
|
+
const p = a.indexPath || "/dashboard", l = a.logoSrc, s = {
|
|
3044
3044
|
path: "/:pathMatch(.*)*",
|
|
3045
3045
|
name: "CatchAll",
|
|
3046
3046
|
component: () => Promise.resolve().then(() => ht),
|
|
@@ -3054,65 +3054,65 @@ function fl(t, n = {}) {
|
|
|
3054
3054
|
component: ce({
|
|
3055
3055
|
name: "LayoutWrapper",
|
|
3056
3056
|
render() {
|
|
3057
|
-
return Et(vt, { logoSrc:
|
|
3057
|
+
return Et(vt, { logoSrc: l || Te("/vite.svg") });
|
|
3058
3058
|
}
|
|
3059
3059
|
}),
|
|
3060
|
-
redirect:
|
|
3060
|
+
redirect: p,
|
|
3061
3061
|
children: [...t, s]
|
|
3062
3062
|
};
|
|
3063
3063
|
}
|
|
3064
|
-
function gl(t,
|
|
3065
|
-
const
|
|
3064
|
+
function gl(t, a = {}) {
|
|
3065
|
+
const p = a.base || bt();
|
|
3066
3066
|
return Xe({
|
|
3067
|
-
history: Je(
|
|
3067
|
+
history: Je(p),
|
|
3068
3068
|
routes: t,
|
|
3069
3069
|
scrollBehavior: () => ({ left: 0, top: 0 })
|
|
3070
3070
|
});
|
|
3071
3071
|
}
|
|
3072
3072
|
const Kn = ["login", "404", "403", "/login", "/404", "/403"];
|
|
3073
|
-
function jn(t,
|
|
3074
|
-
if (
|
|
3075
|
-
const
|
|
3076
|
-
return
|
|
3073
|
+
function jn(t, a) {
|
|
3074
|
+
if (a.includes(t)) return !0;
|
|
3075
|
+
const p = t.startsWith("/") ? t.slice(1) : t;
|
|
3076
|
+
return a.includes(p);
|
|
3077
3077
|
}
|
|
3078
|
-
function yl(t,
|
|
3079
|
-
const
|
|
3080
|
-
t.beforeEach(async (
|
|
3081
|
-
const i = _e(), h = ue(),
|
|
3078
|
+
function yl(t, a = {}) {
|
|
3079
|
+
const p = a.whiteList || Kn;
|
|
3080
|
+
t.beforeEach(async (l, s, d) => {
|
|
3081
|
+
const i = _e(), h = ue(), m = fe(), f = i.loginPath || a.loginPath || "/login";
|
|
3082
3082
|
if (i.initTheme(), rt())
|
|
3083
|
-
if (
|
|
3084
|
-
|
|
3083
|
+
if (l.path === f || l.name === "Login")
|
|
3084
|
+
d({ name: "Dashboard" });
|
|
3085
3085
|
else if (h.isLoggedIn) {
|
|
3086
|
-
if (!
|
|
3086
|
+
if (!m.hasMenu)
|
|
3087
3087
|
try {
|
|
3088
|
-
const g =
|
|
3089
|
-
|
|
3088
|
+
const g = a.fetchMenu ? await a.fetchMenu() : await ot(a.appId);
|
|
3089
|
+
m.setMenuList(g);
|
|
3090
3090
|
} catch (g) {
|
|
3091
3091
|
console.warn("补拉菜单失败:", g);
|
|
3092
3092
|
}
|
|
3093
|
-
|
|
3093
|
+
l.name && l.meta.keepAlive && i.addCachedView(l.name), d();
|
|
3094
3094
|
} else
|
|
3095
3095
|
try {
|
|
3096
|
-
if (
|
|
3097
|
-
const g = await
|
|
3096
|
+
if (a.fetchUserInfo) {
|
|
3097
|
+
const g = await a.fetchUserInfo();
|
|
3098
3098
|
h.setUserInfo(g);
|
|
3099
3099
|
} else {
|
|
3100
3100
|
const g = await wt();
|
|
3101
3101
|
h.setUserInfo(g);
|
|
3102
3102
|
}
|
|
3103
|
-
if (
|
|
3104
|
-
const g = await
|
|
3105
|
-
|
|
3103
|
+
if (a.fetchMenu) {
|
|
3104
|
+
const g = await a.fetchMenu();
|
|
3105
|
+
m.setMenuList(g);
|
|
3106
3106
|
} else {
|
|
3107
|
-
const g = await ot(
|
|
3108
|
-
|
|
3107
|
+
const g = await ot(a.appId);
|
|
3108
|
+
m.setMenuList(g);
|
|
3109
3109
|
}
|
|
3110
|
-
|
|
3110
|
+
a.onLoginSuccess && a.onLoginSuccess(), l.name && l.meta.keepAlive && i.addCachedView(l.name), d({ ...l, replace: !0 });
|
|
3111
3111
|
} catch (g) {
|
|
3112
|
-
console.error("获取用户信息失败:", g), h.clearUserInfo(),
|
|
3112
|
+
console.error("获取用户信息失败:", g), h.clearUserInfo(), m.clearMenu(), ct(), d({ name: "Login", query: { redirect: l.fullPath } });
|
|
3113
3113
|
}
|
|
3114
3114
|
else
|
|
3115
|
-
jn(
|
|
3115
|
+
jn(l.path, p) || l.name === "Login" || l.name === "NotFound" || l.name === "Forbidden" ? d() : d({ name: "Login", query: { redirect: l.fullPath } });
|
|
3116
3116
|
}), t.afterEach(() => {
|
|
3117
3117
|
});
|
|
3118
3118
|
}
|
|
@@ -3172,42 +3172,42 @@ const bl = {
|
|
|
3172
3172
|
/* BUTTON */
|
|
3173
3173
|
}
|
|
3174
3174
|
], Ll = {
|
|
3175
|
-
mounted(t,
|
|
3175
|
+
mounted(t, a) {
|
|
3176
3176
|
var i, h;
|
|
3177
|
-
const
|
|
3178
|
-
if (!
|
|
3177
|
+
const p = ue(), l = fe();
|
|
3178
|
+
if (!p.isLoggedIn) {
|
|
3179
3179
|
(i = t.parentNode) == null || i.removeChild(t);
|
|
3180
3180
|
return;
|
|
3181
3181
|
}
|
|
3182
|
-
const s =
|
|
3183
|
-
|
|
3182
|
+
const s = a.value, d = Array.isArray(s) ? s : [s];
|
|
3183
|
+
l.hasPermission(d) || (h = t.parentNode) == null || h.removeChild(t);
|
|
3184
3184
|
}
|
|
3185
3185
|
};
|
|
3186
3186
|
async function Ml(t) {
|
|
3187
3187
|
await kt(t.basePath);
|
|
3188
|
-
const
|
|
3189
|
-
|
|
3188
|
+
const a = at();
|
|
3189
|
+
a && xt(a), Ct({
|
|
3190
3190
|
appId: t.appId,
|
|
3191
3191
|
clientId: t.clientId,
|
|
3192
|
-
apiBaseUrl:
|
|
3192
|
+
apiBaseUrl: a || t.apiBaseUrl,
|
|
3193
3193
|
basePath: t.basePath
|
|
3194
3194
|
}), t.basePath && $t(t.basePath);
|
|
3195
|
-
const
|
|
3196
|
-
if (
|
|
3195
|
+
const p = typeof window < "u" && window.location.pathname.includes("/h5/"), l = t.appId || Me();
|
|
3196
|
+
if (l && !p)
|
|
3197
3197
|
try {
|
|
3198
|
-
const
|
|
3199
|
-
Lt(
|
|
3200
|
-
new Promise((
|
|
3198
|
+
const s = await Promise.race([
|
|
3199
|
+
Lt(l),
|
|
3200
|
+
new Promise((d) => setTimeout(() => d(null), 2e3))
|
|
3201
3201
|
]);
|
|
3202
|
-
|
|
3203
|
-
} catch (
|
|
3204
|
-
console.warn("加载应用界面配置失败,使用内置默认",
|
|
3202
|
+
s && typeof s == "object" && Mt(s);
|
|
3203
|
+
} catch (s) {
|
|
3204
|
+
console.warn("加载应用界面配置失败,使用内置默认", s);
|
|
3205
3205
|
}
|
|
3206
|
-
return Promise.resolve().then(() => Ot).then(({ useAppStore:
|
|
3207
|
-
const
|
|
3208
|
-
t.appName &&
|
|
3209
|
-
}), t.locale && Promise.resolve().then(() => Vn).then(({ useLocaleStore:
|
|
3210
|
-
|
|
3206
|
+
return Promise.resolve().then(() => Ot).then(({ useAppStore: s }) => {
|
|
3207
|
+
const d = s();
|
|
3208
|
+
t.appName && d.setAppName(t.appName), t.indexPath && d.setIndexPath(t.indexPath), t.loginPath && d.setLoginPath(t.loginPath);
|
|
3209
|
+
}), t.locale && Promise.resolve().then(() => Vn).then(({ useLocaleStore: s }) => {
|
|
3210
|
+
s().changeLocale(t.locale);
|
|
3211
3211
|
}), {
|
|
3212
3212
|
config: {
|
|
3213
3213
|
appName: t.appName || "XTO App",
|