xto-fronted 0.9.14 → 0.9.15
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/components/Layout/TopMenu.vue.d.ts +1 -0
- package/dist/{index-CvLee0YB.js → index-B-oRV32U.js} +1 -1
- package/dist/{index-DKL8X5Zu.js → index-CRTSR10l.js} +1 -1
- package/dist/{index-CkBG2FzY.js → index-DOasEvMf.js} +1 -1
- package/dist/{index-0D0QxIuy.js → index-D_4fIuYz.js} +759 -756
- package/dist/{index-BmlwXD1Z.js → index-Dwam1Jgp.js} +1 -1
- package/dist/index.js +1 -1
- package/dist/style.css +1 -1
- package/package.json +1 -1
- package/src/components/Layout/TopMenu.vue +8 -0
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { y as z, z as nt, A as Se, B as ut, C as mt, D as pt, E as vt, F as Pe, p as bt, G as ht, H as xt, j as lt, n as Ct, I as $t, J as rt, K as Mt, L as Lt, M as St, h as It, N as Et } from "./user-B0q24FmO.js";
|
|
2
|
-
import { ref as
|
|
2
|
+
import { ref as g, computed as k, watch as Me, defineComponent as ae, resolveComponent as we, openBlock as a, createBlock as D, unref as l, withCtx as C, createElementBlock as u, Fragment as j, renderList as Y, createTextVNode as Z, toDisplayString as b, normalizeClass as G, createElementVNode as e, withDirectives as Ae, vShow as Nt, createCommentVNode as B, createVNode as f, onMounted as Be, onUnmounted as Ye, vModelText as Xe, Transition as Ie, withModifiers as Oe, normalizeStyle as Ee, nextTick as Re, onUpdated as Tt, renderSlot as De, createSlots as Ut, useSlots as Pt, Comment as zt, resolveDynamicComponent as it, cloneVNode as Ft, reactive as Ze, createStaticVNode as Je, withKeys as Dt, h as At } from "vue";
|
|
3
3
|
import { defineStore as ze } from "pinia";
|
|
4
4
|
import { useRoute as Te, useRouter as be, createRouter as Qe, createWebHistory as et } from "vue-router";
|
|
5
|
-
import { SubMenu as He, MenuItem as Ue, Menu as tt, Tabs as Bt, TabPane as Ot, Dropdown as
|
|
6
|
-
import { Icon as
|
|
5
|
+
import { SubMenu as He, MenuItem as Ue, Menu as tt, Tabs as Bt, TabPane as Ot, Dropdown as Rt, DropdownMenu as Vt, DropdownItem as Kt } from "@xto/navigation";
|
|
6
|
+
import { Icon as N, Button as Ne } from "@xto/base";
|
|
7
7
|
import { Drawer as st, Message as jt } from "@xto/feedback";
|
|
8
|
-
import { Form as Wt, FormItem as
|
|
8
|
+
import { Form as Wt, FormItem as Ve, Input as ct, Checkbox as qt } from "@xto/form";
|
|
9
9
|
import { createLocaleProvider as Gt, getSupportedLocales as Ht, useLocale as Yt } from "@xto/core/locale";
|
|
10
10
|
function Xt(t) {
|
|
11
11
|
const o = /^#?([0-9a-f]{6})$/i.exec(t.trim());
|
|
@@ -18,26 +18,26 @@ function Le(t) {
|
|
|
18
18
|
return o === null || o === "" ? void 0 : o;
|
|
19
19
|
}
|
|
20
20
|
const Zt = ["layout", "primaryColor", "theme", "isDark", "showTabs", "showBreadcrumb", "showFooter"], fe = ze("app", () => {
|
|
21
|
-
const t = nt(), o = t.features || {}, p =
|
|
21
|
+
const t = nt(), o = t.features || {}, p = g(z.get("appName") || "XTO App"), r = g(z.get("indexPath") || "/dashboard"), s = g(z.get("loginPath") || "/login"), v = g(t.theme ?? Le("theme") ?? "light"), i = g(v.value === "dark"), h = g(t.layout ?? Le("layout") ?? "sidebar"), m = g(z.get("isCollapsed") || !1), d = g(o.showTabs ?? Le("showTabs") ?? !0), S = g(o.showFooter ?? Le("showFooter") ?? !0), y = g(o.showBreadcrumb ?? Le("showBreadcrumb") ?? !0), c = g(t.primaryColor ?? Le("primaryColor") ?? "#4F46E5"), _ = g(t.allowUserOverride !== !1), E = g([]), A = g([]), V = k(() => i.value ? "dark" : "light"), K = (I) => {
|
|
22
22
|
p.value = I, z.set("appName", I);
|
|
23
23
|
}, W = (I) => {
|
|
24
|
-
|
|
24
|
+
r.value = I, z.set("indexPath", I);
|
|
25
25
|
}, ee = (I) => {
|
|
26
26
|
s.value = I, z.set("loginPath", I);
|
|
27
27
|
}, J = () => {
|
|
28
28
|
const I = document.documentElement;
|
|
29
|
-
|
|
29
|
+
i.value ? I.classList.add("dark") : I.classList.remove("dark");
|
|
30
30
|
}, te = () => {
|
|
31
|
-
|
|
31
|
+
i.value = !i.value, v.value = i.value ? "dark" : "light", oe();
|
|
32
32
|
}, X = (I) => {
|
|
33
|
-
v.value = I,
|
|
34
|
-
},
|
|
35
|
-
J(), z.set("isDark",
|
|
36
|
-
},
|
|
33
|
+
v.value = I, i.value = I === "dark", oe();
|
|
34
|
+
}, oe = () => {
|
|
35
|
+
J(), z.set("isDark", i.value), z.set("theme", v.value);
|
|
36
|
+
}, R = () => {
|
|
37
37
|
m.value = !m.value, z.set("isCollapsed", m.value);
|
|
38
|
-
},
|
|
38
|
+
}, T = (I) => {
|
|
39
39
|
h.value = I, z.set("layout", I);
|
|
40
|
-
},
|
|
40
|
+
}, O = () => {
|
|
41
41
|
d.value = !d.value, z.set("showTabs", d.value);
|
|
42
42
|
}, Q = () => {
|
|
43
43
|
S.value = !S.value, z.set("showFooter", S.value);
|
|
@@ -46,39 +46,39 @@ const Zt = ["layout", "primaryColor", "theme", "isDark", "showTabs", "showBreadc
|
|
|
46
46
|
}, le = (I) => {
|
|
47
47
|
const H = document.documentElement;
|
|
48
48
|
H.style.setProperty("--xto-color-primary", I);
|
|
49
|
-
const
|
|
50
|
-
if (
|
|
51
|
-
const
|
|
49
|
+
const pe = Xt(I);
|
|
50
|
+
if (pe) {
|
|
51
|
+
const ve = (ie, Ce) => {
|
|
52
52
|
const ke = Ce ? [255, 255, 255] : [0, 0, 0];
|
|
53
|
-
return `#${
|
|
53
|
+
return `#${pe.map((U, w) => Math.round(U + (ke[w] - U) * ie)).map((U) => U.toString(16).padStart(2, "0")).join("")}`;
|
|
54
54
|
};
|
|
55
55
|
for (let ie = 1; ie <= 9; ie++)
|
|
56
|
-
H.style.setProperty(`--xto-color-primary-light-${ie}`,
|
|
57
|
-
H.style.setProperty("--xto-color-primary-dark-1",
|
|
56
|
+
H.style.setProperty(`--xto-color-primary-light-${ie}`, ve(ie * 0.1, !0));
|
|
57
|
+
H.style.setProperty("--xto-color-primary-dark-1", ve(0.12, !1)), H.style.setProperty("--xto-color-primary-dark-2", ve(0.28, !1)), H.style.setProperty("--xto-color-primary-dark-3", ve(0.45, !1)), H.style.setProperty("--xto-color-ring", I);
|
|
58
58
|
}
|
|
59
59
|
}, _e = (I) => {
|
|
60
60
|
c.value = I, le(I), z.set("primaryColor", I);
|
|
61
61
|
}, xe = () => {
|
|
62
|
-
Zt.forEach((
|
|
62
|
+
Zt.forEach((pe) => z.remove(pe));
|
|
63
63
|
const I = nt(), H = I.features || {};
|
|
64
|
-
h.value = I.layout ?? "sidebar", c.value = I.primaryColor ?? "#4F46E5", v.value = I.theme ?? "light",
|
|
65
|
-
},
|
|
64
|
+
h.value = I.layout ?? "sidebar", c.value = I.primaryColor ?? "#4F46E5", v.value = I.theme ?? "light", i.value = v.value === "dark", d.value = H.showTabs ?? !0, S.value = H.showFooter ?? !0, y.value = H.showBreadcrumb ?? !0, J(), le(c.value);
|
|
65
|
+
}, ce = (I) => {
|
|
66
66
|
E.value.includes(I) || E.value.push(I);
|
|
67
|
-
},
|
|
67
|
+
}, me = (I) => {
|
|
68
68
|
const H = E.value.indexOf(I);
|
|
69
69
|
H > -1 && E.value.splice(H, 1);
|
|
70
70
|
}, ye = () => {
|
|
71
71
|
E.value = [];
|
|
72
|
-
},
|
|
73
|
-
|
|
72
|
+
}, de = (I) => {
|
|
73
|
+
A.value = I;
|
|
74
74
|
}, re = () => {
|
|
75
75
|
J(), le(c.value);
|
|
76
76
|
};
|
|
77
|
-
return Me(
|
|
77
|
+
return Me(i, J), {
|
|
78
78
|
appName: p,
|
|
79
|
-
indexPath:
|
|
79
|
+
indexPath: r,
|
|
80
80
|
loginPath: s,
|
|
81
|
-
isDark:
|
|
81
|
+
isDark: i,
|
|
82
82
|
theme: v,
|
|
83
83
|
layout: h,
|
|
84
84
|
isCollapsed: m,
|
|
@@ -86,26 +86,26 @@ const Zt = ["layout", "primaryColor", "theme", "isDark", "showTabs", "showBreadc
|
|
|
86
86
|
showFooter: S,
|
|
87
87
|
showBreadcrumb: y,
|
|
88
88
|
primaryColor: c,
|
|
89
|
-
allowUserOverride:
|
|
89
|
+
allowUserOverride: _,
|
|
90
90
|
cachedViews: E,
|
|
91
|
-
mixSubMenus:
|
|
91
|
+
mixSubMenus: A,
|
|
92
92
|
themeClass: V,
|
|
93
|
-
setAppName:
|
|
93
|
+
setAppName: K,
|
|
94
94
|
setIndexPath: W,
|
|
95
95
|
setLoginPath: ee,
|
|
96
96
|
toggleTheme: te,
|
|
97
|
-
toggleCollapse:
|
|
97
|
+
toggleCollapse: R,
|
|
98
98
|
setTheme: X,
|
|
99
|
-
setLayout:
|
|
100
|
-
toggleTabs:
|
|
99
|
+
setLayout: T,
|
|
100
|
+
toggleTabs: O,
|
|
101
101
|
toggleFooter: Q,
|
|
102
102
|
toggleBreadcrumb: q,
|
|
103
103
|
setPrimaryColor: _e,
|
|
104
104
|
resetToServerDefaults: xe,
|
|
105
|
-
addCachedView:
|
|
106
|
-
removeCachedView:
|
|
105
|
+
addCachedView: ce,
|
|
106
|
+
removeCachedView: me,
|
|
107
107
|
clearCachedViews: ye,
|
|
108
|
-
setMixSubMenus:
|
|
108
|
+
setMixSubMenus: de,
|
|
109
109
|
initTheme: re
|
|
110
110
|
};
|
|
111
111
|
}), Jt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
@@ -128,52 +128,52 @@ function ft(t) {
|
|
|
128
128
|
}
|
|
129
129
|
function ss(t) {
|
|
130
130
|
const o = [];
|
|
131
|
-
function p(
|
|
132
|
-
|
|
131
|
+
function p(r) {
|
|
132
|
+
r.forEach((s) => {
|
|
133
133
|
s.type === 1 && s.menuCode && o.push(s.menuCode), s.children && p(s.children);
|
|
134
134
|
});
|
|
135
135
|
}
|
|
136
136
|
return p(t), o;
|
|
137
137
|
}
|
|
138
138
|
const ge = ze("menu", () => {
|
|
139
|
-
const t =
|
|
139
|
+
const t = g(z.get(Ke()) || []), o = g(z.get(je()) || []), p = k(() => t.value.length > 0);
|
|
140
140
|
return {
|
|
141
141
|
menuList: t,
|
|
142
142
|
permissions: o,
|
|
143
143
|
hasMenu: p,
|
|
144
|
-
setMenuList: (
|
|
145
|
-
o.value = ss(
|
|
146
|
-
const h = ft(
|
|
144
|
+
setMenuList: (i) => {
|
|
145
|
+
o.value = ss(i), z.set(je(), o.value);
|
|
146
|
+
const h = ft(i);
|
|
147
147
|
t.value = [ts, ...h], z.set(Ke(), t.value);
|
|
148
148
|
},
|
|
149
149
|
clearMenu: () => {
|
|
150
150
|
t.value = [], o.value = [], z.remove(Ke()), z.remove(je());
|
|
151
151
|
},
|
|
152
|
-
hasPermission: (
|
|
152
|
+
hasPermission: (i) => Array.isArray(i) ? i.some((h) => o.value.includes(h)) : o.value.includes(i)
|
|
153
153
|
};
|
|
154
|
-
}), We = "user_info",
|
|
155
|
-
const t =
|
|
154
|
+
}), We = "user_info", ue = ze("user", () => {
|
|
155
|
+
const t = g(z.get(We)), o = k(() => !!t.value), p = k(() => {
|
|
156
156
|
var c;
|
|
157
157
|
return ((c = t.value) == null ? void 0 : c.userId) || "";
|
|
158
|
-
}),
|
|
158
|
+
}), r = k(() => {
|
|
159
159
|
var c;
|
|
160
160
|
return ((c = t.value) == null ? void 0 : c.userName) || "";
|
|
161
|
-
}), s =
|
|
161
|
+
}), s = k(() => {
|
|
162
162
|
var c;
|
|
163
163
|
return ((c = t.value) == null ? void 0 : c.departmentName) || "";
|
|
164
|
-
}), v =
|
|
164
|
+
}), v = k(() => {
|
|
165
165
|
var c;
|
|
166
166
|
return ((c = t.value) == null ? void 0 : c.roleName) || "";
|
|
167
|
-
}),
|
|
167
|
+
}), i = k(() => {
|
|
168
168
|
var c;
|
|
169
169
|
return ((c = t.value) == null ? void 0 : c.email) || "";
|
|
170
|
-
}), h =
|
|
170
|
+
}), h = k(() => {
|
|
171
171
|
var c;
|
|
172
172
|
return ((c = t.value) == null ? void 0 : c.mobilePhone) || "";
|
|
173
|
-
}), m =
|
|
173
|
+
}), m = k(() => {
|
|
174
174
|
var c;
|
|
175
175
|
return ((c = t.value) == null ? void 0 : c.positionName) || "";
|
|
176
|
-
}), d =
|
|
176
|
+
}), d = k(() => {
|
|
177
177
|
var c;
|
|
178
178
|
return ((c = t.value) == null ? void 0 : c.avatar) || "";
|
|
179
179
|
});
|
|
@@ -181,10 +181,10 @@ const ge = ze("menu", () => {
|
|
|
181
181
|
userInfo: t,
|
|
182
182
|
isLoggedIn: o,
|
|
183
183
|
userId: p,
|
|
184
|
-
userName:
|
|
184
|
+
userName: r,
|
|
185
185
|
departmentName: s,
|
|
186
186
|
roleName: v,
|
|
187
|
-
email:
|
|
187
|
+
email: i,
|
|
188
188
|
mobilePhone: h,
|
|
189
189
|
positionName: m,
|
|
190
190
|
avatar: d,
|
|
@@ -196,12 +196,12 @@ const ge = ze("menu", () => {
|
|
|
196
196
|
}
|
|
197
197
|
};
|
|
198
198
|
}), Fe = ze("auth", () => {
|
|
199
|
-
const t =
|
|
199
|
+
const t = g(ut()), o = k(() => mt()), p = g(""), r = g(""), s = g(""), v = g("/login");
|
|
200
200
|
return {
|
|
201
201
|
token: t,
|
|
202
202
|
isLoggedIn: o,
|
|
203
203
|
baseUrl: p,
|
|
204
|
-
appId:
|
|
204
|
+
appId: r,
|
|
205
205
|
clientId: s,
|
|
206
206
|
loginPath: v,
|
|
207
207
|
login: (c) => {
|
|
@@ -214,7 +214,7 @@ const ge = ze("menu", () => {
|
|
|
214
214
|
p.value = c;
|
|
215
215
|
},
|
|
216
216
|
setAppId: (c) => {
|
|
217
|
-
|
|
217
|
+
r.value = c;
|
|
218
218
|
},
|
|
219
219
|
setClientId: (c) => {
|
|
220
220
|
s.value = c;
|
|
@@ -337,7 +337,7 @@ const ge = ze("menu", () => {
|
|
|
337
337
|
"sun",
|
|
338
338
|
"theme",
|
|
339
339
|
"skin"
|
|
340
|
-
]),
|
|
340
|
+
]), r = {
|
|
341
341
|
"el-icon-s-platform": "system",
|
|
342
342
|
"el-icon-platform": "system",
|
|
343
343
|
"el-icon-s-data": "database",
|
|
@@ -393,7 +393,7 @@ const ge = ze("menu", () => {
|
|
|
393
393
|
"el-icon-cloudy": "cloud"
|
|
394
394
|
}, s = (d) => {
|
|
395
395
|
if (!d || d === "") return "";
|
|
396
|
-
if (
|
|
396
|
+
if (r[d]) return r[d];
|
|
397
397
|
if (d.startsWith("tineco-icon-")) {
|
|
398
398
|
const y = d.replace("tineco-icon-", "");
|
|
399
399
|
return {
|
|
@@ -429,43 +429,43 @@ const ge = ze("menu", () => {
|
|
|
429
429
|
list: "list",
|
|
430
430
|
grid: "grid"
|
|
431
431
|
}[d] || d;
|
|
432
|
-
}, v = (d) => d ? d.charAt(0) : "",
|
|
432
|
+
}, v = (d) => d ? d.charAt(0) : "", i = (d) => p.has(d), h = k(() => o.menu.menuId || o.menu.menuCode || o.menu.menuUrl || ""), m = k(() => o.menu.children && o.menu.children.length > 0);
|
|
433
433
|
return (d, S) => {
|
|
434
434
|
const y = we("SidebarMenuItem", !0);
|
|
435
|
-
return m.value ? (a(),
|
|
435
|
+
return m.value ? (a(), D(l(He), {
|
|
436
436
|
key: 0,
|
|
437
437
|
index: h.value
|
|
438
438
|
}, {
|
|
439
439
|
icon: C(() => [
|
|
440
|
-
|
|
440
|
+
i(s(t.menu.icon)) ? (a(), D(l(N), {
|
|
441
441
|
key: 0,
|
|
442
442
|
name: s(t.menu.icon),
|
|
443
443
|
size: 16
|
|
444
|
-
}, null, 8, ["name"])) : (a(), u("span", os,
|
|
444
|
+
}, null, 8, ["name"])) : (a(), u("span", os, b(v(t.menu.menuName)), 1))
|
|
445
445
|
]),
|
|
446
446
|
title: C(() => [
|
|
447
|
-
Z(
|
|
447
|
+
Z(b(t.menu.menuName), 1)
|
|
448
448
|
]),
|
|
449
449
|
default: C(() => [
|
|
450
|
-
(a(!0), u(
|
|
450
|
+
(a(!0), u(j, null, Y(t.menu.children, (c) => (a(), D(y, {
|
|
451
451
|
key: c.menuId || c.menuCode || c.menuUrl,
|
|
452
452
|
menu: c
|
|
453
453
|
}, null, 8, ["menu"]))), 128))
|
|
454
454
|
]),
|
|
455
455
|
_: 1
|
|
456
|
-
}, 8, ["index"])) : (a(),
|
|
456
|
+
}, 8, ["index"])) : (a(), D(l(Ue), {
|
|
457
457
|
key: 1,
|
|
458
458
|
index: t.menu.menuUrl || h.value
|
|
459
459
|
}, {
|
|
460
460
|
icon: C(() => [
|
|
461
|
-
|
|
461
|
+
i(s(t.menu.icon)) ? (a(), D(l(N), {
|
|
462
462
|
key: 0,
|
|
463
463
|
name: s(t.menu.icon),
|
|
464
464
|
size: 16
|
|
465
|
-
}, null, 8, ["name"])) : (a(), u("span", as,
|
|
465
|
+
}, null, 8, ["name"])) : (a(), u("span", as, b(v(t.menu.menuName)), 1))
|
|
466
466
|
]),
|
|
467
467
|
default: C(() => [
|
|
468
|
-
Z(" " +
|
|
468
|
+
Z(" " + b(t.menu.menuName), 1)
|
|
469
469
|
]),
|
|
470
470
|
_: 1
|
|
471
471
|
}, 8, ["index"]));
|
|
@@ -473,8 +473,8 @@ const ge = ze("menu", () => {
|
|
|
473
473
|
}
|
|
474
474
|
}), ne = (t, o) => {
|
|
475
475
|
const p = t.__vccOpts || t;
|
|
476
|
-
for (const [
|
|
477
|
-
p[
|
|
476
|
+
for (const [r, s] of o)
|
|
477
|
+
p[r] = s;
|
|
478
478
|
return p;
|
|
479
479
|
}, ls = /* @__PURE__ */ ne(ns, [["__scopeId", "data-v-7297001c"]]), rs = {
|
|
480
480
|
key: 0,
|
|
@@ -491,39 +491,39 @@ const ge = ze("menu", () => {
|
|
|
491
491
|
logoSrc: {}
|
|
492
492
|
},
|
|
493
493
|
setup(t) {
|
|
494
|
-
const o = t, p =
|
|
495
|
-
Me(
|
|
496
|
-
z.set(qe,
|
|
494
|
+
const o = t, p = k(() => o.logoSrc || Pe("/vite.svg")), r = Te(), s = be(), v = ge(), i = ue(), h = Fe(), m = fe(), d = k(() => o.menuList.length > 0 ? o.menuList : v.menuList), S = k(() => m.isCollapsed), y = k(() => r.path), c = (R) => R.menuId || R.menuCode || R.menuUrl || "", _ = () => d.value.map(c).join(","), E = z.get(Ge) || "", A = _(), V = E === A ? z.get(qe) || [] : [], K = g(V);
|
|
495
|
+
Me(K, (R) => {
|
|
496
|
+
z.set(qe, R), z.set(Ge, _());
|
|
497
497
|
}, { deep: !0 });
|
|
498
|
-
const W = (
|
|
498
|
+
const W = (R, T, O = []) => {
|
|
499
499
|
var Q;
|
|
500
|
-
for (const q of
|
|
501
|
-
if (q.menuUrl && (
|
|
502
|
-
return [...
|
|
500
|
+
for (const q of R) {
|
|
501
|
+
if (q.menuUrl && (T === q.menuUrl || T.startsWith(q.menuUrl + "/")))
|
|
502
|
+
return [...O, c(q)];
|
|
503
503
|
if ((Q = q.children) != null && Q.length) {
|
|
504
|
-
const le = W(q.children,
|
|
504
|
+
const le = W(q.children, T, [...O, c(q)]);
|
|
505
505
|
if (le) return le;
|
|
506
506
|
}
|
|
507
507
|
}
|
|
508
508
|
return null;
|
|
509
509
|
};
|
|
510
|
-
Me([() =>
|
|
511
|
-
if (
|
|
512
|
-
const
|
|
513
|
-
if (
|
|
514
|
-
const Q =
|
|
515
|
-
|
|
510
|
+
Me([() => r.path, d], ([R, T]) => {
|
|
511
|
+
if (T.length > 0) {
|
|
512
|
+
const O = W(T, R);
|
|
513
|
+
if (O) {
|
|
514
|
+
const Q = O.slice(0, -1), q = /* @__PURE__ */ new Set([...K.value, ...Q]);
|
|
515
|
+
K.value = Array.from(q);
|
|
516
516
|
}
|
|
517
517
|
}
|
|
518
|
-
}, { immediate: !0 }), Me(d, (
|
|
519
|
-
|
|
518
|
+
}, { immediate: !0 }), Me(d, (R, T) => {
|
|
519
|
+
R !== T && (K.value = [], z.set(qe, []), z.set(Ge, _()));
|
|
520
520
|
}, { immediate: !1 });
|
|
521
|
-
const ee =
|
|
522
|
-
|
|
523
|
-
},
|
|
524
|
-
h.logout(),
|
|
521
|
+
const ee = k(() => m.isDark ? "#161B21" : "#fff"), J = k(() => m.isDark ? "#D9DCE1" : "#4E5566"), te = k(() => m.isDark ? "#818CF8" : "#4F46E5"), X = (R) => {
|
|
522
|
+
R && R !== r.path && s.push(R);
|
|
523
|
+
}, oe = () => {
|
|
524
|
+
h.logout(), i.clearUserInfo(), v.clearMenu(), s.push(m.loginPath);
|
|
525
525
|
};
|
|
526
|
-
return (
|
|
526
|
+
return (R, T) => (a(), u("div", {
|
|
527
527
|
class: G(["sidebar", { "sidebar--collapsed": S.value }])
|
|
528
528
|
}, [
|
|
529
529
|
o.showLogo ? (a(), u("div", rs, [
|
|
@@ -532,15 +532,15 @@ const ge = ze("menu", () => {
|
|
|
532
532
|
alt: "Logo",
|
|
533
533
|
class: "sidebar__logo-img"
|
|
534
534
|
}, null, 8, is),
|
|
535
|
-
Ae(e("span", { class: "sidebar__logo-text" },
|
|
535
|
+
Ae(e("span", { class: "sidebar__logo-text" }, b(l(m).appName), 513), [
|
|
536
536
|
[Nt, !S.value]
|
|
537
537
|
])
|
|
538
|
-
])) :
|
|
539
|
-
|
|
538
|
+
])) : B("", !0),
|
|
539
|
+
f(l(tt), {
|
|
540
540
|
modelValue: y.value,
|
|
541
|
-
"onUpdate:modelValue":
|
|
542
|
-
openeds:
|
|
543
|
-
"onUpdate:openeds":
|
|
541
|
+
"onUpdate:modelValue": T[0] || (T[0] = (O) => y.value = O),
|
|
542
|
+
openeds: K.value,
|
|
543
|
+
"onUpdate:openeds": T[1] || (T[1] = (O) => K.value = O),
|
|
544
544
|
mode: "vertical",
|
|
545
545
|
collapse: S.value,
|
|
546
546
|
"collapse-transition": !1,
|
|
@@ -551,29 +551,29 @@ const ge = ze("menu", () => {
|
|
|
551
551
|
onSelect: X
|
|
552
552
|
}, {
|
|
553
553
|
default: C(() => [
|
|
554
|
-
(a(!0), u(
|
|
555
|
-
key: c(
|
|
556
|
-
menu:
|
|
554
|
+
(a(!0), u(j, null, Y(d.value, (O) => (a(), D(ls, {
|
|
555
|
+
key: c(O),
|
|
556
|
+
menu: O
|
|
557
557
|
}, null, 8, ["menu"]))), 128))
|
|
558
558
|
]),
|
|
559
559
|
_: 1
|
|
560
560
|
}, 8, ["modelValue", "openeds", "collapse", "background-color", "text-color", "active-text-color"]),
|
|
561
561
|
o.showUser && !S.value ? (a(), u("div", cs, [
|
|
562
562
|
e("div", ds, [
|
|
563
|
-
e("span", us,
|
|
564
|
-
e("span", ms,
|
|
563
|
+
e("span", us, b(l(i).userName), 1),
|
|
564
|
+
e("span", ms, b(l(i).departmentName), 1)
|
|
565
565
|
]),
|
|
566
|
-
|
|
566
|
+
f(l(Ne), {
|
|
567
567
|
type: "text",
|
|
568
568
|
size: "small",
|
|
569
|
-
onClick:
|
|
569
|
+
onClick: oe
|
|
570
570
|
}, {
|
|
571
|
-
default: C(() => [...
|
|
571
|
+
default: C(() => [...T[2] || (T[2] = [
|
|
572
572
|
Z("退出", -1)
|
|
573
573
|
])]),
|
|
574
574
|
_: 1
|
|
575
575
|
})
|
|
576
|
-
])) :
|
|
576
|
+
])) : B("", !0)
|
|
577
577
|
], 2));
|
|
578
578
|
}
|
|
579
579
|
}), dt = /* @__PURE__ */ ne(ps, [["__scopeId", "data-v-0322d1ab"]]), vs = { class: "header" }, hs = { class: "header__left" }, fs = {
|
|
@@ -603,7 +603,7 @@ const ge = ze("menu", () => {
|
|
|
603
603
|
}, Ls = ["title"], Ss = { class: "header__avatar" }, Is = { class: "header__user-name" }, Es = {
|
|
604
604
|
key: 0,
|
|
605
605
|
class: "header__dropdown"
|
|
606
|
-
}, Ns = { class: "header__dropdown-header" }, Ts = { class: "header__dropdown-avatar" }, Us = { class: "header__dropdown-info" }, Ps = { class: "header__dropdown-name" }, zs = { class: "header__dropdown-role" }, Fs = { class: "header__dropdown-menu" }, Ds = { class: "settings-drawer" }, As = { class: "settings-section" }, Bs = { class: "settings-layout-options" }, Os = ["onClick"],
|
|
606
|
+
}, Ns = { class: "header__dropdown-header" }, Ts = { class: "header__dropdown-avatar" }, Us = { class: "header__dropdown-info" }, Ps = { class: "header__dropdown-name" }, zs = { class: "header__dropdown-role" }, Fs = { class: "header__dropdown-menu" }, Ds = { class: "settings-drawer" }, As = { class: "settings-section" }, Bs = { class: "settings-layout-options" }, Os = ["onClick"], Rs = { class: "layout-option__preview" }, Vs = {
|
|
607
607
|
key: 0,
|
|
608
608
|
class: "layout-preview-sidebar"
|
|
609
609
|
}, Ks = {
|
|
@@ -615,7 +615,7 @@ const ge = ze("menu", () => {
|
|
|
615
615
|
}, Ws = { class: "layout-option__label" }, qs = { class: "settings-section" }, Gs = { class: "settings-color-options" }, Hs = ["title", "onClick"], Ys = { class: "settings-section" }, Xs = { class: "settings-switch-list" }, Zs = { class: "settings-switch-item" }, Js = { class: "settings-switch-item" }, Qs = { class: "settings-section" }, eo = /* @__PURE__ */ ae({
|
|
616
616
|
__name: "Header",
|
|
617
617
|
setup(t) {
|
|
618
|
-
const o = Te(), p = be(),
|
|
618
|
+
const o = Te(), p = be(), r = fe(), s = ue(), v = Fe(), i = ge(), h = g(!1), m = g(!1), d = g(null), S = g(!1), y = g(!1), c = g(""), _ = g(null), E = g(!1), A = [
|
|
619
619
|
{ value: "sidebar", label: "左侧菜单", icon: "sidebar-left" },
|
|
620
620
|
{ value: "top", label: "顶部菜单", icon: "menu" },
|
|
621
621
|
{ value: "mix", label: "混合菜单", icon: "grid" }
|
|
@@ -625,14 +625,14 @@ const ge = ze("menu", () => {
|
|
|
625
625
|
{ value: "#00A870", label: "翡翠绿" },
|
|
626
626
|
{ value: "#D46B08", label: "琥珀橙" },
|
|
627
627
|
{ value: "#1F2329", label: "石墨黑" }
|
|
628
|
-
],
|
|
629
|
-
title:
|
|
630
|
-
path:
|
|
631
|
-
}))), W = (
|
|
632
|
-
const
|
|
633
|
-
return
|
|
634
|
-
|
|
635
|
-
}),
|
|
628
|
+
], K = k(() => o.matched.filter((w) => w.meta && w.meta.title).map((w) => ({
|
|
629
|
+
title: w.meta.title,
|
|
630
|
+
path: w.path
|
|
631
|
+
}))), W = (U, w = "") => {
|
|
632
|
+
const se = [];
|
|
633
|
+
return U.forEach((L) => {
|
|
634
|
+
L.children && L.children.length > 0 ? se.push(...W(L.children, L.menuName)) : se.push({ ...L, parentTitle: w, title: L.menuName, path: L.menuUrl });
|
|
635
|
+
}), se;
|
|
636
636
|
}, ee = /* @__PURE__ */ new Set([
|
|
637
637
|
"arrow-up",
|
|
638
638
|
"arrow-down",
|
|
@@ -735,10 +735,10 @@ const ge = ze("menu", () => {
|
|
|
735
735
|
"sun",
|
|
736
736
|
"theme",
|
|
737
737
|
"skin"
|
|
738
|
-
]), J = (
|
|
739
|
-
if (!
|
|
740
|
-
if (
|
|
741
|
-
const
|
|
738
|
+
]), J = (U) => {
|
|
739
|
+
if (!U || U === "") return "";
|
|
740
|
+
if (U.startsWith("tineco-icon-")) {
|
|
741
|
+
const se = U.replace("tineco-icon-", "");
|
|
742
742
|
return {
|
|
743
743
|
home: "home",
|
|
744
744
|
dashboard: "dashboard",
|
|
@@ -752,7 +752,7 @@ const ge = ze("menu", () => {
|
|
|
752
752
|
chart: "chart",
|
|
753
753
|
report: "report",
|
|
754
754
|
analytics: "analytics"
|
|
755
|
-
}[
|
|
755
|
+
}[se] || se;
|
|
756
756
|
}
|
|
757
757
|
return {
|
|
758
758
|
dashboard: "dashboard",
|
|
@@ -771,153 +771,153 @@ const ge = ze("menu", () => {
|
|
|
771
771
|
app: "app",
|
|
772
772
|
list: "list",
|
|
773
773
|
grid: "grid"
|
|
774
|
-
}[
|
|
775
|
-
}, te = (
|
|
776
|
-
(
|
|
777
|
-
) : []),
|
|
778
|
-
|
|
779
|
-
},
|
|
780
|
-
|
|
774
|
+
}[U] || U;
|
|
775
|
+
}, te = (U) => U ? U.charAt(0) : "", X = (U) => ee.has(U), oe = k(() => c.value.trim() ? W(i.menuList).filter(
|
|
776
|
+
(w) => w.title.toLowerCase().includes(c.value.toLowerCase())
|
|
777
|
+
) : []), R = k(() => r.layout), T = () => {
|
|
778
|
+
r.toggleCollapse();
|
|
779
|
+
}, O = () => {
|
|
780
|
+
r.toggleTheme();
|
|
781
781
|
}, Q = () => {
|
|
782
782
|
m.value = !0;
|
|
783
|
-
}, q = (
|
|
784
|
-
|
|
785
|
-
}, le = (
|
|
786
|
-
E.value =
|
|
787
|
-
const
|
|
788
|
-
|
|
783
|
+
}, q = (U) => {
|
|
784
|
+
r.setLayout(U), m.value = !1;
|
|
785
|
+
}, le = (U) => {
|
|
786
|
+
E.value = U;
|
|
787
|
+
const w = document.documentElement;
|
|
788
|
+
U ? w.classList.add("grey-mode") : w.classList.remove("grey-mode");
|
|
789
789
|
}, _e = () => {
|
|
790
790
|
le(!E.value), m.value = !1;
|
|
791
791
|
}, xe = () => {
|
|
792
|
-
|
|
793
|
-
},
|
|
794
|
-
|
|
795
|
-
},
|
|
792
|
+
r.toggleTheme(), m.value = !1;
|
|
793
|
+
}, ce = () => {
|
|
794
|
+
r.resetToServerDefaults(), m.value = !1;
|
|
795
|
+
}, me = () => {
|
|
796
796
|
document.fullscreenElement ? document.exitFullscreen() : document.documentElement.requestFullscreen();
|
|
797
797
|
}, ye = () => {
|
|
798
798
|
S.value = !!document.fullscreenElement;
|
|
799
|
-
},
|
|
799
|
+
}, de = () => {
|
|
800
800
|
h.value = !h.value;
|
|
801
801
|
}, re = () => {
|
|
802
802
|
h.value = !1;
|
|
803
803
|
}, I = () => {
|
|
804
804
|
y.value = !1, c.value = "";
|
|
805
|
-
}, H = (
|
|
806
|
-
p.push(
|
|
807
|
-
},
|
|
808
|
-
|
|
809
|
-
},
|
|
805
|
+
}, H = (U) => {
|
|
806
|
+
p.push(U), I();
|
|
807
|
+
}, pe = (U) => {
|
|
808
|
+
r.setPrimaryColor(U), m.value = !1;
|
|
809
|
+
}, ve = () => {
|
|
810
810
|
re(), p.push("/profile");
|
|
811
811
|
}, ie = () => {
|
|
812
812
|
re(), p.push("/change-password");
|
|
813
813
|
}, Ce = () => {
|
|
814
|
-
re(), v.logout(), s.clearUserInfo(),
|
|
815
|
-
}, ke = (
|
|
816
|
-
d.value && !d.value.contains(
|
|
817
|
-
}, $e = (
|
|
818
|
-
|
|
814
|
+
re(), v.logout(), s.clearUserInfo(), i.clearMenu(), p.push(r.loginPath);
|
|
815
|
+
}, ke = (U) => {
|
|
816
|
+
d.value && !d.value.contains(U.target) && re(), _.value && !_.value.contains(U.target) && I();
|
|
817
|
+
}, $e = (U) => {
|
|
818
|
+
U.key === "Escape" && (I(), re());
|
|
819
819
|
};
|
|
820
820
|
return Be(() => {
|
|
821
|
-
document.addEventListener("click", ke), document.addEventListener("fullscreenchange", ye), document.addEventListener("keydown", $e),
|
|
821
|
+
document.addEventListener("click", ke), document.addEventListener("fullscreenchange", ye), document.addEventListener("keydown", $e), r.initTheme(), E.value = document.documentElement.classList.contains("grey-mode");
|
|
822
822
|
}), Ye(() => {
|
|
823
823
|
document.removeEventListener("click", ke), document.removeEventListener("fullscreenchange", ye), document.removeEventListener("keydown", $e);
|
|
824
|
-
}), (
|
|
825
|
-
var
|
|
824
|
+
}), (U, w) => {
|
|
825
|
+
var se;
|
|
826
826
|
return a(), u("div", vs, [
|
|
827
827
|
e("div", hs, [
|
|
828
828
|
e("div", {
|
|
829
829
|
class: "header__collapse",
|
|
830
|
-
onClick:
|
|
830
|
+
onClick: T
|
|
831
831
|
}, [
|
|
832
|
-
|
|
833
|
-
name:
|
|
832
|
+
f(l(N), {
|
|
833
|
+
name: l(r).isCollapsed ? "menu-unfold" : "menu-fold",
|
|
834
834
|
size: 18
|
|
835
835
|
}, null, 8, ["name"])
|
|
836
836
|
]),
|
|
837
|
-
|
|
838
|
-
(a(!0), u(
|
|
839
|
-
key:
|
|
837
|
+
l(r).showBreadcrumb ? (a(), u("div", fs, [
|
|
838
|
+
(a(!0), u(j, null, Y(K.value, (L, he) => (a(), u("span", {
|
|
839
|
+
key: L.path
|
|
840
840
|
}, [
|
|
841
|
-
|
|
841
|
+
he > 0 ? (a(), u("span", _s, "/")) : B("", !0),
|
|
842
842
|
e("span", {
|
|
843
|
-
class: G({ "is-current":
|
|
844
|
-
},
|
|
843
|
+
class: G({ "is-current": he === K.value.length - 1 })
|
|
844
|
+
}, b(L.title), 3)
|
|
845
845
|
]))), 128))
|
|
846
|
-
])) :
|
|
846
|
+
])) : B("", !0)
|
|
847
847
|
]),
|
|
848
848
|
e("div", gs, [
|
|
849
849
|
e("div", {
|
|
850
850
|
class: "header__search",
|
|
851
851
|
ref_key: "searchRef",
|
|
852
|
-
ref:
|
|
852
|
+
ref: _
|
|
853
853
|
}, [
|
|
854
|
-
|
|
854
|
+
f(l(N), {
|
|
855
855
|
name: "search",
|
|
856
856
|
size: 14,
|
|
857
857
|
class: "header__search-icon"
|
|
858
858
|
}),
|
|
859
859
|
Ae(e("input", {
|
|
860
|
-
"onUpdate:modelValue":
|
|
860
|
+
"onUpdate:modelValue": w[0] || (w[0] = (L) => c.value = L),
|
|
861
861
|
type: "text",
|
|
862
862
|
class: "header__search-input",
|
|
863
863
|
placeholder: "搜索菜单...",
|
|
864
|
-
onFocus:
|
|
864
|
+
onFocus: w[1] || (w[1] = (L) => y.value = !0)
|
|
865
865
|
}, null, 544), [
|
|
866
866
|
[Xe, c.value]
|
|
867
867
|
]),
|
|
868
|
-
|
|
868
|
+
f(Ie, { name: "search-dropdown" }, {
|
|
869
869
|
default: C(() => [
|
|
870
|
-
y.value && (
|
|
871
|
-
|
|
872
|
-
(a(!0), u(
|
|
873
|
-
key:
|
|
870
|
+
y.value && (oe.value.length > 0 || c.value) ? (a(), u("div", ys, [
|
|
871
|
+
oe.value.length > 0 ? (a(), u("div", ks, [
|
|
872
|
+
(a(!0), u(j, null, Y(oe.value, (L) => (a(), u("div", {
|
|
873
|
+
key: L.path,
|
|
874
874
|
class: "header__search-item",
|
|
875
|
-
onClick: (
|
|
875
|
+
onClick: (he) => H(L.path)
|
|
876
876
|
}, [
|
|
877
|
-
|
|
878
|
-
X(J(
|
|
877
|
+
L.title !== "首页" ? (a(), u("span", bs, [
|
|
878
|
+
X(J(L.icon)) ? (a(), D(l(N), {
|
|
879
879
|
key: 0,
|
|
880
|
-
name: J(
|
|
880
|
+
name: J(L.icon),
|
|
881
881
|
size: 16
|
|
882
|
-
}, null, 8, ["name"])) : (a(), u("span", xs,
|
|
883
|
-
])) :
|
|
884
|
-
e("span", Cs,
|
|
885
|
-
|
|
882
|
+
}, null, 8, ["name"])) : (a(), u("span", xs, b(te(L.title)), 1))
|
|
883
|
+
])) : B("", !0),
|
|
884
|
+
e("span", Cs, b(L.title), 1),
|
|
885
|
+
L.parentTitle ? (a(), u("span", $s, b(L.parentTitle), 1)) : B("", !0)
|
|
886
886
|
], 8, ws))), 128))
|
|
887
887
|
])) : (a(), u("div", Ms, " 未找到匹配的菜单 "))
|
|
888
|
-
])) :
|
|
888
|
+
])) : B("", !0)
|
|
889
889
|
]),
|
|
890
890
|
_: 1
|
|
891
891
|
})
|
|
892
892
|
], 512),
|
|
893
893
|
e("div", {
|
|
894
894
|
class: "header__action",
|
|
895
|
-
onClick:
|
|
895
|
+
onClick: me,
|
|
896
896
|
title: S.value ? "退出全屏" : "全屏"
|
|
897
897
|
}, [
|
|
898
|
-
|
|
898
|
+
f(l(N), {
|
|
899
899
|
name: S.value ? "fullscreen-exit" : "fullscreen",
|
|
900
900
|
size: 16
|
|
901
901
|
}, null, 8, ["name"])
|
|
902
902
|
], 8, Ls),
|
|
903
|
-
|
|
903
|
+
l(r).allowUserOverride ? (a(), u("div", {
|
|
904
904
|
key: 0,
|
|
905
905
|
class: "header__action",
|
|
906
906
|
onClick: Q,
|
|
907
907
|
title: "换肤设置"
|
|
908
908
|
}, [
|
|
909
|
-
|
|
909
|
+
f(l(N), {
|
|
910
910
|
name: "skin",
|
|
911
911
|
size: 16
|
|
912
912
|
})
|
|
913
|
-
])) :
|
|
913
|
+
])) : B("", !0),
|
|
914
914
|
e("div", {
|
|
915
915
|
class: "header__action",
|
|
916
|
-
onClick:
|
|
916
|
+
onClick: O,
|
|
917
917
|
title: "切换主题"
|
|
918
918
|
}, [
|
|
919
|
-
|
|
920
|
-
name:
|
|
919
|
+
f(l(N), {
|
|
920
|
+
name: l(r).isDark ? "sun" : "moon",
|
|
921
921
|
size: 16
|
|
922
922
|
}, null, 8, ["name"])
|
|
923
923
|
]),
|
|
@@ -928,15 +928,15 @@ const ge = ze("menu", () => {
|
|
|
928
928
|
}, [
|
|
929
929
|
e("div", {
|
|
930
930
|
class: "header__user-trigger",
|
|
931
|
-
onClick: Oe(
|
|
931
|
+
onClick: Oe(de, ["stop"])
|
|
932
932
|
}, [
|
|
933
933
|
e("div", Ss, [
|
|
934
|
-
e("span", null,
|
|
934
|
+
e("span", null, b(((se = l(s).userName) == null ? void 0 : se.charAt(0)) || "U"), 1)
|
|
935
935
|
]),
|
|
936
|
-
e("span", Is,
|
|
936
|
+
e("span", Is, b(l(s).userName), 1),
|
|
937
937
|
e("span", {
|
|
938
938
|
class: G(["header__user-arrow", { "is-active": h.value }])
|
|
939
|
-
}, [...
|
|
939
|
+
}, [...w[3] || (w[3] = [
|
|
940
940
|
e("svg", {
|
|
941
941
|
viewBox: "0 0 12 12",
|
|
942
942
|
width: "10",
|
|
@@ -951,64 +951,64 @@ const ge = ze("menu", () => {
|
|
|
951
951
|
], -1)
|
|
952
952
|
])], 2)
|
|
953
953
|
]),
|
|
954
|
-
|
|
954
|
+
f(Ie, { name: "dropdown" }, {
|
|
955
955
|
default: C(() => {
|
|
956
|
-
var
|
|
956
|
+
var L;
|
|
957
957
|
return [
|
|
958
958
|
h.value ? (a(), u("div", Es, [
|
|
959
959
|
e("div", Ns, [
|
|
960
960
|
e("div", Ts, [
|
|
961
|
-
e("span", null,
|
|
961
|
+
e("span", null, b(((L = l(s).userName) == null ? void 0 : L.charAt(0)) || "U"), 1)
|
|
962
962
|
]),
|
|
963
963
|
e("div", Us, [
|
|
964
|
-
e("div", Ps,
|
|
965
|
-
e("div", zs,
|
|
964
|
+
e("div", Ps, b(l(s).userName), 1),
|
|
965
|
+
e("div", zs, b(l(s).roleName || l(s).departmentName), 1)
|
|
966
966
|
])
|
|
967
967
|
]),
|
|
968
|
-
|
|
968
|
+
w[8] || (w[8] = e("div", { class: "header__dropdown-divider" }, null, -1)),
|
|
969
969
|
e("div", Fs, [
|
|
970
970
|
e("div", {
|
|
971
971
|
class: "header__dropdown-item",
|
|
972
|
-
onClick:
|
|
972
|
+
onClick: ve
|
|
973
973
|
}, [
|
|
974
|
-
|
|
974
|
+
f(l(N), {
|
|
975
975
|
name: "user",
|
|
976
976
|
size: 16
|
|
977
977
|
}),
|
|
978
|
-
|
|
978
|
+
w[4] || (w[4] = e("span", null, "个人信息", -1))
|
|
979
979
|
]),
|
|
980
980
|
e("div", {
|
|
981
981
|
class: "header__dropdown-item",
|
|
982
982
|
onClick: ie
|
|
983
983
|
}, [
|
|
984
|
-
|
|
984
|
+
f(l(N), {
|
|
985
985
|
name: "lock",
|
|
986
986
|
size: 16
|
|
987
987
|
}),
|
|
988
|
-
|
|
988
|
+
w[5] || (w[5] = e("span", null, "修改密码", -1))
|
|
989
989
|
]),
|
|
990
|
-
|
|
990
|
+
w[7] || (w[7] = e("div", { class: "header__dropdown-divider" }, null, -1)),
|
|
991
991
|
e("div", {
|
|
992
992
|
class: "header__dropdown-item header__dropdown-item--danger",
|
|
993
993
|
onClick: Ce
|
|
994
994
|
}, [
|
|
995
|
-
|
|
995
|
+
f(l(N), {
|
|
996
996
|
name: "logout",
|
|
997
997
|
size: 16
|
|
998
998
|
}),
|
|
999
|
-
|
|
999
|
+
w[6] || (w[6] = e("span", null, "退出登录", -1))
|
|
1000
1000
|
])
|
|
1001
1001
|
])
|
|
1002
|
-
])) :
|
|
1002
|
+
])) : B("", !0)
|
|
1003
1003
|
];
|
|
1004
1004
|
}),
|
|
1005
1005
|
_: 1
|
|
1006
1006
|
})
|
|
1007
1007
|
], 512)
|
|
1008
1008
|
]),
|
|
1009
|
-
|
|
1009
|
+
f(l(st), {
|
|
1010
1010
|
modelValue: m.value,
|
|
1011
|
-
"onUpdate:modelValue":
|
|
1011
|
+
"onUpdate:modelValue": w[2] || (w[2] = (L) => m.value = L),
|
|
1012
1012
|
title: "换肤设置",
|
|
1013
1013
|
direction: "rtl",
|
|
1014
1014
|
size: "320px"
|
|
@@ -1016,24 +1016,24 @@ const ge = ze("menu", () => {
|
|
|
1016
1016
|
default: C(() => [
|
|
1017
1017
|
e("div", Ds, [
|
|
1018
1018
|
e("div", As, [
|
|
1019
|
-
|
|
1019
|
+
w[12] || (w[12] = e("div", { class: "settings-title" }, "布局模式", -1)),
|
|
1020
1020
|
e("div", Bs, [
|
|
1021
|
-
(a(), u(
|
|
1022
|
-
key:
|
|
1023
|
-
class: G(["layout-option", { "is-active":
|
|
1024
|
-
onClick: (
|
|
1021
|
+
(a(), u(j, null, Y(A, (L) => e("div", {
|
|
1022
|
+
key: L.value,
|
|
1023
|
+
class: G(["layout-option", { "is-active": R.value === L.value }]),
|
|
1024
|
+
onClick: (he) => q(L.value)
|
|
1025
1025
|
}, [
|
|
1026
|
-
e("div",
|
|
1027
|
-
|
|
1026
|
+
e("div", Rs, [
|
|
1027
|
+
L.value === "sidebar" ? (a(), u("div", Vs, [...w[9] || (w[9] = [
|
|
1028
1028
|
e("div", { class: "preview-aside" }, null, -1),
|
|
1029
1029
|
e("div", { class: "preview-main" }, [
|
|
1030
1030
|
e("div", { class: "preview-header" }),
|
|
1031
1031
|
e("div", { class: "preview-content" })
|
|
1032
1032
|
], -1)
|
|
1033
|
-
])])) :
|
|
1033
|
+
])])) : L.value === "top" ? (a(), u("div", Ks, [...w[10] || (w[10] = [
|
|
1034
1034
|
e("div", { class: "preview-header-full" }, null, -1),
|
|
1035
1035
|
e("div", { class: "preview-content-full" }, null, -1)
|
|
1036
|
-
])])) : (a(), u("div", js, [...
|
|
1036
|
+
])])) : (a(), u("div", js, [...w[11] || (w[11] = [
|
|
1037
1037
|
e("div", { class: "preview-header-mix" }, [
|
|
1038
1038
|
e("div", { class: "preview-mix-left" })
|
|
1039
1039
|
], -1),
|
|
@@ -1043,47 +1043,47 @@ const ge = ze("menu", () => {
|
|
|
1043
1043
|
], -1)
|
|
1044
1044
|
])]))
|
|
1045
1045
|
]),
|
|
1046
|
-
e("span", Ws,
|
|
1046
|
+
e("span", Ws, b(L.label), 1)
|
|
1047
1047
|
], 10, Os)), 64))
|
|
1048
1048
|
])
|
|
1049
1049
|
]),
|
|
1050
1050
|
e("div", qs, [
|
|
1051
|
-
|
|
1051
|
+
w[13] || (w[13] = e("div", { class: "settings-title" }, "主题色", -1)),
|
|
1052
1052
|
e("div", Gs, [
|
|
1053
|
-
(a(), u(
|
|
1054
|
-
key:
|
|
1055
|
-
class: G(["color-option", { "is-active":
|
|
1056
|
-
style: Ee({ backgroundColor:
|
|
1057
|
-
title:
|
|
1058
|
-
onClick: (
|
|
1053
|
+
(a(), u(j, null, Y(V, (L) => e("div", {
|
|
1054
|
+
key: L.value,
|
|
1055
|
+
class: G(["color-option", { "is-active": l(r).primaryColor === L.value }]),
|
|
1056
|
+
style: Ee({ backgroundColor: L.value }),
|
|
1057
|
+
title: L.label,
|
|
1058
|
+
onClick: (he) => pe(L.value)
|
|
1059
1059
|
}, [
|
|
1060
|
-
|
|
1060
|
+
l(r).primaryColor === L.value ? (a(), D(l(N), {
|
|
1061
1061
|
key: 0,
|
|
1062
1062
|
name: "check",
|
|
1063
1063
|
size: 12,
|
|
1064
1064
|
color: "#fff"
|
|
1065
|
-
})) :
|
|
1065
|
+
})) : B("", !0)
|
|
1066
1066
|
], 14, Hs)), 64))
|
|
1067
1067
|
])
|
|
1068
1068
|
]),
|
|
1069
1069
|
e("div", Ys, [
|
|
1070
|
-
|
|
1070
|
+
w[18] || (w[18] = e("div", { class: "settings-title" }, "功能设置", -1)),
|
|
1071
1071
|
e("div", Xs, [
|
|
1072
1072
|
e("div", Zs, [
|
|
1073
|
-
|
|
1073
|
+
w[15] || (w[15] = e("span", null, "灰色模式", -1)),
|
|
1074
1074
|
e("div", {
|
|
1075
1075
|
class: G(["switch-wrapper", { "is-checked": E.value }]),
|
|
1076
1076
|
onClick: _e
|
|
1077
|
-
}, [...
|
|
1077
|
+
}, [...w[14] || (w[14] = [
|
|
1078
1078
|
e("span", { class: "switch-core" }, null, -1)
|
|
1079
1079
|
])], 2)
|
|
1080
1080
|
]),
|
|
1081
1081
|
e("div", Js, [
|
|
1082
|
-
|
|
1082
|
+
w[17] || (w[17] = e("span", null, "暗黑模式", -1)),
|
|
1083
1083
|
e("div", {
|
|
1084
|
-
class: G(["switch-wrapper", { "is-checked":
|
|
1084
|
+
class: G(["switch-wrapper", { "is-checked": l(r).isDark }]),
|
|
1085
1085
|
onClick: xe
|
|
1086
|
-
}, [...
|
|
1086
|
+
}, [...w[16] || (w[16] = [
|
|
1087
1087
|
e("span", { class: "switch-core" }, null, -1)
|
|
1088
1088
|
])], 2)
|
|
1089
1089
|
])
|
|
@@ -1092,13 +1092,13 @@ const ge = ze("menu", () => {
|
|
|
1092
1092
|
e("div", Qs, [
|
|
1093
1093
|
e("div", {
|
|
1094
1094
|
class: "settings-reset",
|
|
1095
|
-
onClick:
|
|
1095
|
+
onClick: ce
|
|
1096
1096
|
}, [
|
|
1097
|
-
|
|
1097
|
+
f(l(N), {
|
|
1098
1098
|
name: "refresh",
|
|
1099
1099
|
size: 14
|
|
1100
1100
|
}),
|
|
1101
|
-
|
|
1101
|
+
w[19] || (w[19] = e("span", null, "恢复默认", -1))
|
|
1102
1102
|
])
|
|
1103
1103
|
])
|
|
1104
1104
|
])
|
|
@@ -1150,7 +1150,7 @@ const ge = ze("menu", () => {
|
|
|
1150
1150
|
}, Fo = ["title"], Do = { class: "top-menu__avatar" }, Ao = { class: "top-menu__user-name" }, Bo = {
|
|
1151
1151
|
key: 0,
|
|
1152
1152
|
class: "top-menu__dropdown"
|
|
1153
|
-
}, Oo = { class: "top-menu__dropdown-header" },
|
|
1153
|
+
}, Oo = { class: "top-menu__dropdown-header" }, Ro = { class: "top-menu__dropdown-avatar" }, Vo = { class: "top-menu__dropdown-info" }, Ko = { class: "top-menu__dropdown-name" }, jo = { class: "top-menu__dropdown-role" }, Wo = { class: "top-menu__dropdown-menu" }, qo = { class: "settings-drawer" }, Go = { class: "settings-section" }, Ho = { class: "settings-layout-options" }, Yo = ["onClick"], Xo = { class: "layout-option__preview" }, Zo = {
|
|
1154
1154
|
key: 0,
|
|
1155
1155
|
class: "layout-preview-sidebar"
|
|
1156
1156
|
}, Jo = {
|
|
@@ -1165,16 +1165,16 @@ const ge = ze("menu", () => {
|
|
|
1165
1165
|
logoSrc: {}
|
|
1166
1166
|
},
|
|
1167
1167
|
setup(t) {
|
|
1168
|
-
const o = t, p =
|
|
1169
|
-
const
|
|
1170
|
-
return
|
|
1171
|
-
|
|
1172
|
-
}),
|
|
1173
|
-
}, y =
|
|
1174
|
-
(
|
|
1175
|
-
) : []), c =
|
|
1176
|
-
|
|
1177
|
-
},
|
|
1168
|
+
const o = t, p = k(() => o.logoSrc || Pe("/vite.svg")), r = Te(), s = be(), v = ge(), i = fe(), h = ue(), m = Fe(), d = k(() => r.path), S = (P, M = "") => {
|
|
1169
|
+
const x = [];
|
|
1170
|
+
return P.forEach((n) => {
|
|
1171
|
+
n.children && n.children.length > 0 ? x.push(...S(n.children, n.menuName)) : x.push({ ...n, parentTitle: M, title: n.menuName, path: n.menuUrl });
|
|
1172
|
+
}), x;
|
|
1173
|
+
}, y = k(() => te.value.trim() ? S(v.menuList).filter(
|
|
1174
|
+
(M) => M.title.toLowerCase().includes(te.value.toLowerCase())
|
|
1175
|
+
) : []), c = k(() => i.isDark ? "#1d1e1f" : "#fff"), _ = k(() => i.isDark ? "#cfd3dc" : "#303133"), E = k(() => "#409eff"), A = g(!1), V = g(null), K = g(!1), W = g(!1), ee = g(!1), J = g(!1), te = g(""), X = g(null), oe = (P) => {
|
|
1176
|
+
P && P !== r.path && s.push(P);
|
|
1177
|
+
}, R = /* @__PURE__ */ new Set([
|
|
1178
1178
|
"arrow-up",
|
|
1179
1179
|
"arrow-down",
|
|
1180
1180
|
"arrow-left",
|
|
@@ -1276,10 +1276,10 @@ const ge = ze("menu", () => {
|
|
|
1276
1276
|
"sun",
|
|
1277
1277
|
"theme",
|
|
1278
1278
|
"skin"
|
|
1279
|
-
]),
|
|
1280
|
-
if (!
|
|
1281
|
-
if (
|
|
1282
|
-
const
|
|
1279
|
+
]), T = (P) => {
|
|
1280
|
+
if (!P || P === "") return "";
|
|
1281
|
+
if (P.startsWith("tineco-icon-")) {
|
|
1282
|
+
const x = P.replace("tineco-icon-", "");
|
|
1283
1283
|
return {
|
|
1284
1284
|
home: "home",
|
|
1285
1285
|
dashboard: "dashboard",
|
|
@@ -1293,7 +1293,7 @@ const ge = ze("menu", () => {
|
|
|
1293
1293
|
chart: "chart",
|
|
1294
1294
|
report: "report",
|
|
1295
1295
|
analytics: "analytics"
|
|
1296
|
-
}[
|
|
1296
|
+
}[x] || x;
|
|
1297
1297
|
}
|
|
1298
1298
|
return {
|
|
1299
1299
|
dashboard: "dashboard",
|
|
@@ -1312,62 +1312,63 @@ const ge = ze("menu", () => {
|
|
|
1312
1312
|
app: "app",
|
|
1313
1313
|
list: "list",
|
|
1314
1314
|
grid: "grid"
|
|
1315
|
-
}[
|
|
1316
|
-
},
|
|
1317
|
-
|
|
1315
|
+
}[P] || P;
|
|
1316
|
+
}, O = (P) => P ? P.charAt(0) : "", Q = (P) => R.has(P), q = () => {
|
|
1317
|
+
i.toggleTheme(), W.value = !1;
|
|
1318
1318
|
}, le = () => {
|
|
1319
1319
|
document.fullscreenElement ? document.exitFullscreen() : document.documentElement.requestFullscreen();
|
|
1320
1320
|
}, _e = () => {
|
|
1321
|
-
|
|
1321
|
+
K.value = !!document.fullscreenElement;
|
|
1322
1322
|
}, xe = () => {
|
|
1323
|
-
|
|
1324
|
-
},
|
|
1325
|
-
|
|
1326
|
-
},
|
|
1323
|
+
A.value = !A.value;
|
|
1324
|
+
}, ce = () => {
|
|
1325
|
+
A.value = !1;
|
|
1326
|
+
}, me = () => {
|
|
1327
1327
|
J.value = !1, te.value = "";
|
|
1328
|
-
}, ye = (
|
|
1329
|
-
s.push(
|
|
1330
|
-
},
|
|
1328
|
+
}, ye = (P) => {
|
|
1329
|
+
s.push(P), me();
|
|
1330
|
+
}, de = () => {
|
|
1331
1331
|
W.value = !0;
|
|
1332
|
-
}, re = (
|
|
1333
|
-
ee.value =
|
|
1334
|
-
const
|
|
1335
|
-
|
|
1332
|
+
}, re = (P) => {
|
|
1333
|
+
ee.value = P;
|
|
1334
|
+
const M = document.documentElement;
|
|
1335
|
+
P ? M.classList.add("grey-mode") : M.classList.remove("grey-mode");
|
|
1336
1336
|
}, I = () => {
|
|
1337
1337
|
re(!ee.value), W.value = !1;
|
|
1338
1338
|
}, H = () => {
|
|
1339
|
-
|
|
1340
|
-
},
|
|
1339
|
+
i.toggleTheme(), W.value = !1;
|
|
1340
|
+
}, pe = [
|
|
1341
1341
|
{ value: "sidebar", label: "左侧菜单", icon: "sidebar-left" },
|
|
1342
1342
|
{ value: "top", label: "顶部菜单", icon: "menu" },
|
|
1343
1343
|
{ value: "mix", label: "混合菜单", icon: "grid" }
|
|
1344
|
-
],
|
|
1345
|
-
|
|
1344
|
+
], ve = k(() => i.layout), ie = (P) => {
|
|
1345
|
+
i.setLayout(P), W.value = !1;
|
|
1346
1346
|
}, Ce = [
|
|
1347
1347
|
{ value: "#409eff", label: "默认蓝" },
|
|
1348
1348
|
{ value: "#0F6FDE", label: "企业蓝" },
|
|
1349
1349
|
{ value: "#00A870", label: "翡翠绿" },
|
|
1350
1350
|
{ value: "#D46B08", label: "琥珀橙" },
|
|
1351
1351
|
{ value: "#1F2329", label: "石墨黑" }
|
|
1352
|
-
], ke = (
|
|
1353
|
-
|
|
1352
|
+
], ke = (P) => {
|
|
1353
|
+
i.setPrimaryColor(P), W.value = !1;
|
|
1354
1354
|
}, $e = () => {
|
|
1355
|
-
|
|
1356
|
-
},
|
|
1357
|
-
|
|
1358
|
-
},
|
|
1359
|
-
|
|
1360
|
-
},
|
|
1361
|
-
|
|
1362
|
-
|
|
1363
|
-
|
|
1355
|
+
ce(), s.push("/profile");
|
|
1356
|
+
}, U = () => {
|
|
1357
|
+
ce(), s.push("/change-password");
|
|
1358
|
+
}, w = () => {
|
|
1359
|
+
ce(), m.logout(), h.clearUserInfo(), v.clearMenu(), s.push(i.loginPath);
|
|
1360
|
+
}, se = g(null), L = (P) => {
|
|
1361
|
+
var M, x, n;
|
|
1362
|
+
V.value && !V.value.contains(P.target) && ce(), X.value && !X.value.contains(P.target) && me(), (M = se.value) != null && M.$el && !se.value.$el.contains(P.target) && ((n = (x = se.value).handleCloseAll) == null || n.call(x));
|
|
1363
|
+
}, he = (P) => {
|
|
1364
|
+
P.key === "Escape" && (me(), ce());
|
|
1364
1365
|
};
|
|
1365
1366
|
return Be(() => {
|
|
1366
|
-
document.addEventListener("click",
|
|
1367
|
+
document.addEventListener("click", L), document.addEventListener("fullscreenchange", _e), document.addEventListener("keydown", he), ee.value = document.documentElement.classList.contains("grey-mode");
|
|
1367
1368
|
}), Ye(() => {
|
|
1368
|
-
document.removeEventListener("click",
|
|
1369
|
-
}), (
|
|
1370
|
-
var
|
|
1369
|
+
document.removeEventListener("click", L), document.removeEventListener("fullscreenchange", _e), document.removeEventListener("keydown", he);
|
|
1370
|
+
}), (P, M) => {
|
|
1371
|
+
var x;
|
|
1371
1372
|
return a(), u("div", so, [
|
|
1372
1373
|
e("div", oo, [
|
|
1373
1374
|
e("img", {
|
|
@@ -1375,92 +1376,94 @@ const ge = ze("menu", () => {
|
|
|
1375
1376
|
alt: "Logo",
|
|
1376
1377
|
class: "top-menu__logo-img"
|
|
1377
1378
|
}, null, 8, ao),
|
|
1378
|
-
e("span", no,
|
|
1379
|
+
e("span", no, b(l(i).appName), 1)
|
|
1379
1380
|
]),
|
|
1380
|
-
|
|
1381
|
+
f(l(tt), {
|
|
1381
1382
|
"model-value": d.value,
|
|
1382
1383
|
mode: "horizontal",
|
|
1383
1384
|
"background-color": c.value,
|
|
1384
|
-
"text-color":
|
|
1385
|
+
"text-color": _.value,
|
|
1385
1386
|
"active-text-color": E.value,
|
|
1386
1387
|
class: "top-menu__menu",
|
|
1387
|
-
|
|
1388
|
+
ref_key: "menuRef",
|
|
1389
|
+
ref: se,
|
|
1390
|
+
onSelect: oe
|
|
1388
1391
|
}, {
|
|
1389
1392
|
default: C(() => [
|
|
1390
|
-
(a(!0), u(
|
|
1391
|
-
key:
|
|
1393
|
+
(a(!0), u(j, null, Y(l(v).menuList, (n) => (a(), u(j, {
|
|
1394
|
+
key: n.menuUrl
|
|
1392
1395
|
}, [
|
|
1393
|
-
|
|
1396
|
+
n.children && n.children.length > 0 ? (a(), D(l(He), {
|
|
1394
1397
|
key: 0,
|
|
1395
|
-
index:
|
|
1398
|
+
index: n.menuUrl
|
|
1396
1399
|
}, {
|
|
1397
1400
|
title: C(() => [
|
|
1398
1401
|
e("span", lo, [
|
|
1399
|
-
|
|
1400
|
-
Q(
|
|
1402
|
+
n.menuName !== "首页" ? (a(), u("span", ro, [
|
|
1403
|
+
Q(T(n.icon)) ? (a(), D(l(N), {
|
|
1401
1404
|
key: 0,
|
|
1402
|
-
name:
|
|
1405
|
+
name: T(n.icon),
|
|
1403
1406
|
size: 16
|
|
1404
|
-
}, null, 8, ["name"])) : (a(), u("span", io,
|
|
1405
|
-
])) :
|
|
1406
|
-
e("span", co,
|
|
1407
|
+
}, null, 8, ["name"])) : (a(), u("span", io, b(O(n.menuName)), 1))
|
|
1408
|
+
])) : B("", !0),
|
|
1409
|
+
e("span", co, b(n.menuName), 1)
|
|
1407
1410
|
])
|
|
1408
1411
|
]),
|
|
1409
1412
|
default: C(() => [
|
|
1410
|
-
(a(!0), u(
|
|
1411
|
-
key:
|
|
1413
|
+
(a(!0), u(j, null, Y(n.children, (F) => (a(), u(j, {
|
|
1414
|
+
key: F.menuUrl
|
|
1412
1415
|
}, [
|
|
1413
|
-
|
|
1416
|
+
F.children && F.children.length > 0 ? (a(), D(l(He), {
|
|
1414
1417
|
key: 0,
|
|
1415
|
-
index:
|
|
1418
|
+
index: F.menuUrl
|
|
1416
1419
|
}, {
|
|
1417
1420
|
title: C(() => [
|
|
1418
1421
|
e("span", uo, [
|
|
1419
1422
|
e("span", mo, [
|
|
1420
|
-
Q(
|
|
1423
|
+
Q(T(F.icon)) ? (a(), D(l(N), {
|
|
1421
1424
|
key: 0,
|
|
1422
|
-
name:
|
|
1425
|
+
name: T(F.icon),
|
|
1423
1426
|
size: 16
|
|
1424
|
-
}, null, 8, ["name"])) : (a(), u("span", po,
|
|
1427
|
+
}, null, 8, ["name"])) : (a(), u("span", po, b(O(F.menuName)), 1))
|
|
1425
1428
|
]),
|
|
1426
|
-
e("span", vo,
|
|
1429
|
+
e("span", vo, b(F.menuName), 1)
|
|
1427
1430
|
])
|
|
1428
1431
|
]),
|
|
1429
1432
|
default: C(() => [
|
|
1430
|
-
(a(!0), u(
|
|
1431
|
-
key:
|
|
1432
|
-
index:
|
|
1433
|
+
(a(!0), u(j, null, Y(F.children, ($) => (a(), D(l(Ue), {
|
|
1434
|
+
key: $.menuUrl,
|
|
1435
|
+
index: $.menuUrl
|
|
1433
1436
|
}, {
|
|
1434
1437
|
default: C(() => [
|
|
1435
1438
|
e("span", ho, [
|
|
1436
1439
|
e("span", fo, [
|
|
1437
|
-
Q(
|
|
1440
|
+
Q(T($.icon)) ? (a(), D(l(N), {
|
|
1438
1441
|
key: 0,
|
|
1439
|
-
name:
|
|
1442
|
+
name: T($.icon),
|
|
1440
1443
|
size: 16
|
|
1441
|
-
}, null, 8, ["name"])) : (a(), u("span", _o,
|
|
1444
|
+
}, null, 8, ["name"])) : (a(), u("span", _o, b(O($.menuName)), 1))
|
|
1442
1445
|
]),
|
|
1443
|
-
e("span", go,
|
|
1446
|
+
e("span", go, b($.menuName), 1)
|
|
1444
1447
|
])
|
|
1445
1448
|
]),
|
|
1446
1449
|
_: 2
|
|
1447
1450
|
}, 1032, ["index"]))), 128))
|
|
1448
1451
|
]),
|
|
1449
1452
|
_: 2
|
|
1450
|
-
}, 1032, ["index"])) : (a(),
|
|
1453
|
+
}, 1032, ["index"])) : (a(), D(l(Ue), {
|
|
1451
1454
|
key: 1,
|
|
1452
|
-
index:
|
|
1455
|
+
index: F.menuUrl
|
|
1453
1456
|
}, {
|
|
1454
1457
|
default: C(() => [
|
|
1455
1458
|
e("span", yo, [
|
|
1456
1459
|
e("span", ko, [
|
|
1457
|
-
Q(
|
|
1460
|
+
Q(T(F.icon)) ? (a(), D(l(N), {
|
|
1458
1461
|
key: 0,
|
|
1459
|
-
name:
|
|
1462
|
+
name: T(F.icon),
|
|
1460
1463
|
size: 16
|
|
1461
|
-
}, null, 8, ["name"])) : (a(), u("span", wo,
|
|
1464
|
+
}, null, 8, ["name"])) : (a(), u("span", wo, b(O(F.menuName)), 1))
|
|
1462
1465
|
]),
|
|
1463
|
-
e("span", bo,
|
|
1466
|
+
e("span", bo, b(F.menuName), 1)
|
|
1464
1467
|
])
|
|
1465
1468
|
]),
|
|
1466
1469
|
_: 2
|
|
@@ -1468,20 +1471,20 @@ const ge = ze("menu", () => {
|
|
|
1468
1471
|
], 64))), 128))
|
|
1469
1472
|
]),
|
|
1470
1473
|
_: 2
|
|
1471
|
-
}, 1032, ["index"])) : (a(),
|
|
1474
|
+
}, 1032, ["index"])) : (a(), D(l(Ue), {
|
|
1472
1475
|
key: 1,
|
|
1473
|
-
index:
|
|
1476
|
+
index: n.menuUrl
|
|
1474
1477
|
}, {
|
|
1475
1478
|
default: C(() => [
|
|
1476
1479
|
e("span", xo, [
|
|
1477
|
-
|
|
1478
|
-
Q(
|
|
1480
|
+
n.menuName !== "首页" ? (a(), u("span", Co, [
|
|
1481
|
+
Q(T(n.icon)) ? (a(), D(l(N), {
|
|
1479
1482
|
key: 0,
|
|
1480
|
-
name:
|
|
1483
|
+
name: T(n.icon),
|
|
1481
1484
|
size: 16
|
|
1482
|
-
}, null, 8, ["name"])) : (a(), u("span", $o,
|
|
1483
|
-
])) :
|
|
1484
|
-
e("span", Mo,
|
|
1485
|
+
}, null, 8, ["name"])) : (a(), u("span", $o, b(O(n.menuName)), 1))
|
|
1486
|
+
])) : B("", !0),
|
|
1487
|
+
e("span", Mo, b(n.menuName), 1)
|
|
1485
1488
|
])
|
|
1486
1489
|
]),
|
|
1487
1490
|
_: 2
|
|
@@ -1496,41 +1499,41 @@ const ge = ze("menu", () => {
|
|
|
1496
1499
|
ref_key: "searchRef",
|
|
1497
1500
|
ref: X
|
|
1498
1501
|
}, [
|
|
1499
|
-
|
|
1502
|
+
f(l(N), {
|
|
1500
1503
|
name: "search",
|
|
1501
1504
|
size: 14,
|
|
1502
1505
|
class: "top-menu__search-icon"
|
|
1503
1506
|
}),
|
|
1504
1507
|
Ae(e("input", {
|
|
1505
|
-
"onUpdate:modelValue":
|
|
1508
|
+
"onUpdate:modelValue": M[0] || (M[0] = (n) => te.value = n),
|
|
1506
1509
|
type: "text",
|
|
1507
1510
|
class: "top-menu__search-input",
|
|
1508
1511
|
placeholder: "搜索菜单...",
|
|
1509
|
-
onFocus:
|
|
1512
|
+
onFocus: M[1] || (M[1] = (n) => J.value = !0)
|
|
1510
1513
|
}, null, 544), [
|
|
1511
1514
|
[Xe, te.value]
|
|
1512
1515
|
]),
|
|
1513
|
-
|
|
1516
|
+
f(Ie, { name: "search-dropdown" }, {
|
|
1514
1517
|
default: C(() => [
|
|
1515
1518
|
J.value && (y.value.length > 0 || te.value) ? (a(), u("div", So, [
|
|
1516
1519
|
y.value.length > 0 ? (a(), u("div", Io, [
|
|
1517
|
-
(a(!0), u(
|
|
1518
|
-
key:
|
|
1520
|
+
(a(!0), u(j, null, Y(y.value, (n) => (a(), u("div", {
|
|
1521
|
+
key: n.path,
|
|
1519
1522
|
class: "top-menu__search-item",
|
|
1520
|
-
onClick: (
|
|
1523
|
+
onClick: (F) => ye(n.path)
|
|
1521
1524
|
}, [
|
|
1522
|
-
|
|
1523
|
-
Q(
|
|
1525
|
+
n.title !== "首页" ? (a(), u("span", No, [
|
|
1526
|
+
Q(T(n.icon)) ? (a(), D(l(N), {
|
|
1524
1527
|
key: 0,
|
|
1525
|
-
name:
|
|
1528
|
+
name: T(n.icon),
|
|
1526
1529
|
size: 16
|
|
1527
|
-
}, null, 8, ["name"])) : (a(), u("span", To,
|
|
1528
|
-
])) :
|
|
1529
|
-
e("span", Uo,
|
|
1530
|
-
|
|
1530
|
+
}, null, 8, ["name"])) : (a(), u("span", To, b(O(n.title)), 1))
|
|
1531
|
+
])) : B("", !0),
|
|
1532
|
+
e("span", Uo, b(n.title), 1),
|
|
1533
|
+
n.parentTitle ? (a(), u("span", Po, b(n.parentTitle), 1)) : B("", !0)
|
|
1531
1534
|
], 8, Eo))), 128))
|
|
1532
1535
|
])) : (a(), u("div", zo, " 未找到匹配的菜单 "))
|
|
1533
|
-
])) :
|
|
1536
|
+
])) : B("", !0)
|
|
1534
1537
|
]),
|
|
1535
1538
|
_: 1
|
|
1536
1539
|
})
|
|
@@ -1538,19 +1541,19 @@ const ge = ze("menu", () => {
|
|
|
1538
1541
|
e("div", {
|
|
1539
1542
|
class: "top-menu__action",
|
|
1540
1543
|
onClick: le,
|
|
1541
|
-
title:
|
|
1544
|
+
title: K.value ? "退出全屏" : "全屏"
|
|
1542
1545
|
}, [
|
|
1543
|
-
|
|
1544
|
-
name:
|
|
1546
|
+
f(l(N), {
|
|
1547
|
+
name: K.value ? "fullscreen-exit" : "fullscreen",
|
|
1545
1548
|
size: 16
|
|
1546
1549
|
}, null, 8, ["name"])
|
|
1547
1550
|
], 8, Fo),
|
|
1548
1551
|
e("div", {
|
|
1549
1552
|
class: "top-menu__action",
|
|
1550
|
-
onClick:
|
|
1553
|
+
onClick: de,
|
|
1551
1554
|
title: "换肤设置"
|
|
1552
1555
|
}, [
|
|
1553
|
-
|
|
1556
|
+
f(l(N), {
|
|
1554
1557
|
name: "skin",
|
|
1555
1558
|
size: 16
|
|
1556
1559
|
})
|
|
@@ -1560,8 +1563,8 @@ const ge = ze("menu", () => {
|
|
|
1560
1563
|
onClick: q,
|
|
1561
1564
|
title: "切换主题"
|
|
1562
1565
|
}, [
|
|
1563
|
-
|
|
1564
|
-
name:
|
|
1566
|
+
f(l(N), {
|
|
1567
|
+
name: l(i).isDark ? "sun" : "moon",
|
|
1565
1568
|
size: 16
|
|
1566
1569
|
}, null, 8, ["name"])
|
|
1567
1570
|
]),
|
|
@@ -1575,12 +1578,12 @@ const ge = ze("menu", () => {
|
|
|
1575
1578
|
onClick: Oe(xe, ["stop"])
|
|
1576
1579
|
}, [
|
|
1577
1580
|
e("div", Do, [
|
|
1578
|
-
e("span", null,
|
|
1581
|
+
e("span", null, b(((x = l(h).userName) == null ? void 0 : x.charAt(0)) || "U"), 1)
|
|
1579
1582
|
]),
|
|
1580
|
-
e("span", Ao,
|
|
1583
|
+
e("span", Ao, b(l(h).userName), 1),
|
|
1581
1584
|
e("span", {
|
|
1582
|
-
class: G(["top-menu__user-arrow", { "is-active":
|
|
1583
|
-
}, [
|
|
1585
|
+
class: G(["top-menu__user-arrow", { "is-active": A.value }])
|
|
1586
|
+
}, [...M[3] || (M[3] = [
|
|
1584
1587
|
e("svg", {
|
|
1585
1588
|
viewBox: "0 0 12 12",
|
|
1586
1589
|
width: "10",
|
|
@@ -1595,64 +1598,64 @@ const ge = ze("menu", () => {
|
|
|
1595
1598
|
], -1)
|
|
1596
1599
|
])], 2)
|
|
1597
1600
|
]),
|
|
1598
|
-
|
|
1601
|
+
f(Ie, { name: "dropdown" }, {
|
|
1599
1602
|
default: C(() => {
|
|
1600
|
-
var
|
|
1603
|
+
var n;
|
|
1601
1604
|
return [
|
|
1602
|
-
|
|
1605
|
+
A.value ? (a(), u("div", Bo, [
|
|
1603
1606
|
e("div", Oo, [
|
|
1604
|
-
e("div", Vo, [
|
|
1605
|
-
e("span", null, x(((i = n(h).userName) == null ? void 0 : i.charAt(0)) || "U"), 1)
|
|
1606
|
-
]),
|
|
1607
1607
|
e("div", Ro, [
|
|
1608
|
-
e("
|
|
1609
|
-
|
|
1608
|
+
e("span", null, b(((n = l(h).userName) == null ? void 0 : n.charAt(0)) || "U"), 1)
|
|
1609
|
+
]),
|
|
1610
|
+
e("div", Vo, [
|
|
1611
|
+
e("div", Ko, b(l(h).userName), 1),
|
|
1612
|
+
e("div", jo, b(l(h).departmentName), 1)
|
|
1610
1613
|
])
|
|
1611
1614
|
]),
|
|
1612
|
-
|
|
1615
|
+
M[8] || (M[8] = e("div", { class: "top-menu__dropdown-divider" }, null, -1)),
|
|
1613
1616
|
e("div", Wo, [
|
|
1614
1617
|
e("div", {
|
|
1615
1618
|
class: "top-menu__dropdown-item",
|
|
1616
1619
|
onClick: $e
|
|
1617
1620
|
}, [
|
|
1618
|
-
|
|
1621
|
+
f(l(N), {
|
|
1619
1622
|
name: "user",
|
|
1620
1623
|
size: 16
|
|
1621
1624
|
}),
|
|
1622
|
-
|
|
1625
|
+
M[4] || (M[4] = e("span", null, "个人信息", -1))
|
|
1623
1626
|
]),
|
|
1624
1627
|
e("div", {
|
|
1625
1628
|
class: "top-menu__dropdown-item",
|
|
1626
|
-
onClick:
|
|
1629
|
+
onClick: U
|
|
1627
1630
|
}, [
|
|
1628
|
-
|
|
1631
|
+
f(l(N), {
|
|
1629
1632
|
name: "lock",
|
|
1630
1633
|
size: 16
|
|
1631
1634
|
}),
|
|
1632
|
-
|
|
1635
|
+
M[5] || (M[5] = e("span", null, "修改密码", -1))
|
|
1633
1636
|
]),
|
|
1634
|
-
|
|
1637
|
+
M[7] || (M[7] = e("div", { class: "top-menu__dropdown-divider" }, null, -1)),
|
|
1635
1638
|
e("div", {
|
|
1636
1639
|
class: "top-menu__dropdown-item top-menu__dropdown-item--danger",
|
|
1637
|
-
onClick:
|
|
1640
|
+
onClick: w
|
|
1638
1641
|
}, [
|
|
1639
|
-
|
|
1642
|
+
f(l(N), {
|
|
1640
1643
|
name: "logout",
|
|
1641
1644
|
size: 16
|
|
1642
1645
|
}),
|
|
1643
|
-
|
|
1646
|
+
M[6] || (M[6] = e("span", null, "退出登录", -1))
|
|
1644
1647
|
])
|
|
1645
1648
|
])
|
|
1646
|
-
])) :
|
|
1649
|
+
])) : B("", !0)
|
|
1647
1650
|
];
|
|
1648
1651
|
}),
|
|
1649
1652
|
_: 1
|
|
1650
1653
|
})
|
|
1651
1654
|
], 512)
|
|
1652
1655
|
]),
|
|
1653
|
-
|
|
1656
|
+
f(l(st), {
|
|
1654
1657
|
modelValue: W.value,
|
|
1655
|
-
"onUpdate:modelValue":
|
|
1658
|
+
"onUpdate:modelValue": M[2] || (M[2] = (n) => W.value = n),
|
|
1656
1659
|
title: "换肤设置",
|
|
1657
1660
|
direction: "rtl",
|
|
1658
1661
|
size: "320px"
|
|
@@ -1660,24 +1663,24 @@ const ge = ze("menu", () => {
|
|
|
1660
1663
|
default: C(() => [
|
|
1661
1664
|
e("div", qo, [
|
|
1662
1665
|
e("div", Go, [
|
|
1663
|
-
|
|
1666
|
+
M[12] || (M[12] = e("div", { class: "settings-title" }, "布局模式", -1)),
|
|
1664
1667
|
e("div", Ho, [
|
|
1665
|
-
(a(), u(
|
|
1666
|
-
key:
|
|
1667
|
-
class: G(["layout-option", { "is-active":
|
|
1668
|
-
onClick: (
|
|
1668
|
+
(a(), u(j, null, Y(pe, (n) => e("div", {
|
|
1669
|
+
key: n.value,
|
|
1670
|
+
class: G(["layout-option", { "is-active": ve.value === n.value }]),
|
|
1671
|
+
onClick: (F) => ie(n.value)
|
|
1669
1672
|
}, [
|
|
1670
1673
|
e("div", Xo, [
|
|
1671
|
-
|
|
1674
|
+
n.value === "sidebar" ? (a(), u("div", Zo, [...M[9] || (M[9] = [
|
|
1672
1675
|
e("div", { class: "preview-aside" }, null, -1),
|
|
1673
1676
|
e("div", { class: "preview-main" }, [
|
|
1674
1677
|
e("div", { class: "preview-header" }),
|
|
1675
1678
|
e("div", { class: "preview-content" })
|
|
1676
1679
|
], -1)
|
|
1677
|
-
])])) :
|
|
1680
|
+
])])) : n.value === "top" ? (a(), u("div", Jo, [...M[10] || (M[10] = [
|
|
1678
1681
|
e("div", { class: "preview-header-full" }, null, -1),
|
|
1679
1682
|
e("div", { class: "preview-content-full" }, null, -1)
|
|
1680
|
-
])])) : (a(), u("div", Qo, [
|
|
1683
|
+
])])) : (a(), u("div", Qo, [...M[11] || (M[11] = [
|
|
1681
1684
|
e("div", { class: "preview-header-mix" }, [
|
|
1682
1685
|
e("div", { class: "preview-mix-left" })
|
|
1683
1686
|
], -1),
|
|
@@ -1687,47 +1690,47 @@ const ge = ze("menu", () => {
|
|
|
1687
1690
|
], -1)
|
|
1688
1691
|
])]))
|
|
1689
1692
|
]),
|
|
1690
|
-
e("span", ea,
|
|
1693
|
+
e("span", ea, b(n.label), 1)
|
|
1691
1694
|
], 10, Yo)), 64))
|
|
1692
1695
|
])
|
|
1693
1696
|
]),
|
|
1694
1697
|
e("div", ta, [
|
|
1695
|
-
|
|
1698
|
+
M[13] || (M[13] = e("div", { class: "settings-title" }, "主题色", -1)),
|
|
1696
1699
|
e("div", sa, [
|
|
1697
|
-
(a(), u(
|
|
1698
|
-
key:
|
|
1699
|
-
class: G(["color-option", { "is-active":
|
|
1700
|
-
style: Ee({ backgroundColor:
|
|
1701
|
-
title:
|
|
1702
|
-
onClick: (
|
|
1700
|
+
(a(), u(j, null, Y(Ce, (n) => e("div", {
|
|
1701
|
+
key: n.value,
|
|
1702
|
+
class: G(["color-option", { "is-active": l(i).primaryColor === n.value }]),
|
|
1703
|
+
style: Ee({ backgroundColor: n.value }),
|
|
1704
|
+
title: n.label,
|
|
1705
|
+
onClick: (F) => ke(n.value)
|
|
1703
1706
|
}, [
|
|
1704
|
-
|
|
1707
|
+
l(i).primaryColor === n.value ? (a(), D(l(N), {
|
|
1705
1708
|
key: 0,
|
|
1706
1709
|
name: "check",
|
|
1707
1710
|
size: 12,
|
|
1708
1711
|
color: "#fff"
|
|
1709
|
-
})) :
|
|
1712
|
+
})) : B("", !0)
|
|
1710
1713
|
], 14, oa)), 64))
|
|
1711
1714
|
])
|
|
1712
1715
|
]),
|
|
1713
1716
|
e("div", aa, [
|
|
1714
|
-
|
|
1717
|
+
M[18] || (M[18] = e("div", { class: "settings-title" }, "功能设置", -1)),
|
|
1715
1718
|
e("div", na, [
|
|
1716
1719
|
e("div", la, [
|
|
1717
|
-
|
|
1720
|
+
M[15] || (M[15] = e("span", null, "灰色模式", -1)),
|
|
1718
1721
|
e("div", {
|
|
1719
1722
|
class: G(["switch-wrapper", { "is-checked": ee.value }]),
|
|
1720
1723
|
onClick: I
|
|
1721
|
-
}, [
|
|
1724
|
+
}, [...M[14] || (M[14] = [
|
|
1722
1725
|
e("span", { class: "switch-core" }, null, -1)
|
|
1723
1726
|
])], 2)
|
|
1724
1727
|
]),
|
|
1725
1728
|
e("div", ra, [
|
|
1726
|
-
|
|
1729
|
+
M[17] || (M[17] = e("span", null, "暗黑模式", -1)),
|
|
1727
1730
|
e("div", {
|
|
1728
|
-
class: G(["switch-wrapper", { "is-checked":
|
|
1731
|
+
class: G(["switch-wrapper", { "is-checked": l(i).isDark }]),
|
|
1729
1732
|
onClick: H
|
|
1730
|
-
}, [
|
|
1733
|
+
}, [...M[16] || (M[16] = [
|
|
1731
1734
|
e("span", { class: "switch-core" }, null, -1)
|
|
1732
1735
|
])], 2)
|
|
1733
1736
|
])
|
|
@@ -1740,7 +1743,7 @@ const ge = ze("menu", () => {
|
|
|
1740
1743
|
]);
|
|
1741
1744
|
};
|
|
1742
1745
|
}
|
|
1743
|
-
}), ca = /* @__PURE__ */ ne(ia, [["__scopeId", "data-v-
|
|
1746
|
+
}), ca = /* @__PURE__ */ ne(ia, [["__scopeId", "data-v-c06500ff"]]), da = { class: "mix-top-menu" }, ua = { class: "mix-top-menu__logo" }, ma = ["src"], pa = { class: "mix-top-menu__logo-text" }, va = { class: "mix-top-menu__menu-content" }, ha = {
|
|
1744
1747
|
key: 0,
|
|
1745
1748
|
class: "mix-top-menu__menu-icon"
|
|
1746
1749
|
}, fa = {
|
|
@@ -1767,7 +1770,7 @@ const ge = ze("menu", () => {
|
|
|
1767
1770
|
}, La = ["title"], Sa = { class: "mix-top-menu__avatar" }, Ia = { class: "mix-top-menu__user-name" }, Ea = {
|
|
1768
1771
|
key: 0,
|
|
1769
1772
|
class: "mix-top-menu__dropdown"
|
|
1770
|
-
}, Na = { class: "mix-top-menu__dropdown-header" }, Ta = { class: "mix-top-menu__dropdown-avatar" }, Ua = { class: "mix-top-menu__dropdown-info" }, Pa = { class: "mix-top-menu__dropdown-name" }, za = { class: "mix-top-menu__dropdown-role" }, Fa = { class: "mix-top-menu__dropdown-menu" }, Da = { class: "settings-drawer" }, Aa = { class: "settings-section" }, Ba = { class: "settings-layout-options" }, Oa = ["onClick"],
|
|
1773
|
+
}, Na = { class: "mix-top-menu__dropdown-header" }, Ta = { class: "mix-top-menu__dropdown-avatar" }, Ua = { class: "mix-top-menu__dropdown-info" }, Pa = { class: "mix-top-menu__dropdown-name" }, za = { class: "mix-top-menu__dropdown-role" }, Fa = { class: "mix-top-menu__dropdown-menu" }, Da = { class: "settings-drawer" }, Aa = { class: "settings-section" }, Ba = { class: "settings-layout-options" }, Oa = ["onClick"], Ra = { class: "layout-option__preview" }, Va = {
|
|
1771
1774
|
key: 0,
|
|
1772
1775
|
class: "layout-preview-sidebar"
|
|
1773
1776
|
}, Ka = {
|
|
@@ -1782,32 +1785,32 @@ const ge = ze("menu", () => {
|
|
|
1782
1785
|
logoSrc: {}
|
|
1783
1786
|
},
|
|
1784
1787
|
setup(t) {
|
|
1785
|
-
const o = t, p =
|
|
1786
|
-
const
|
|
1787
|
-
return
|
|
1788
|
-
|
|
1789
|
-
}),
|
|
1790
|
-
}, y =
|
|
1791
|
-
(
|
|
1792
|
-
) : []), c =
|
|
1793
|
-
const
|
|
1794
|
-
return (
|
|
1795
|
-
}),
|
|
1796
|
-
|
|
1797
|
-
},
|
|
1798
|
-
d.value =
|
|
1799
|
-
const
|
|
1800
|
-
if (
|
|
1801
|
-
if (
|
|
1802
|
-
const
|
|
1803
|
-
|
|
1788
|
+
const o = t, p = k(() => o.logoSrc || Pe("/vite.svg")), r = Te(), s = be(), v = ge(), i = fe(), h = ue(), m = Fe(), d = g(""), S = (x, n = "") => {
|
|
1789
|
+
const F = [];
|
|
1790
|
+
return x.forEach(($) => {
|
|
1791
|
+
$.children && $.children.length > 0 ? F.push(...S($.children, $.menuName)) : F.push({ ...$, parentTitle: n, title: $.menuName, path: $.menuUrl });
|
|
1792
|
+
}), F;
|
|
1793
|
+
}, y = k(() => T.value.trim() ? S(v.menuList).filter(
|
|
1794
|
+
(n) => n.title.toLowerCase().includes(T.value.toLowerCase())
|
|
1795
|
+
) : []), c = k(() => {
|
|
1796
|
+
const x = v.menuList.find((n) => n.menuUrl === d.value);
|
|
1797
|
+
return (x == null ? void 0 : x.children) || [];
|
|
1798
|
+
}), _ = k(() => v.menuList.find((x) => !!(r.path === x.menuUrl || x.children && x.children.some((n) => r.path.startsWith(n.menuUrl) || r.path === n.menuUrl)))), E = () => {
|
|
1799
|
+
_.value ? d.value = _.value.menuUrl : v.menuList.length > 0 && (d.value = v.menuList[0].menuUrl);
|
|
1800
|
+
}, A = (x) => {
|
|
1801
|
+
d.value = x;
|
|
1802
|
+
const n = v.menuList.find((F) => F.menuUrl === x);
|
|
1803
|
+
if (n)
|
|
1804
|
+
if (n.children && n.children.length > 0) {
|
|
1805
|
+
const F = n.children[0].menuUrl;
|
|
1806
|
+
r.path !== F && s.push(F);
|
|
1804
1807
|
} else
|
|
1805
|
-
|
|
1806
|
-
}, V =
|
|
1807
|
-
Me(() =>
|
|
1808
|
-
E(),
|
|
1809
|
-
}), Me(() => v.menuList, (
|
|
1810
|
-
|
|
1808
|
+
r.path !== x && s.push(x);
|
|
1809
|
+
}, V = k(() => i.isDark ? "#1d1e1f" : "#fff"), K = k(() => i.isDark ? "#cfd3dc" : "#303133"), W = k(() => "#409eff"), ee = g(!1), J = g(null), te = g(!1), X = g(!1), oe = g(!1), R = g(!1), T = g(""), O = g(null);
|
|
1810
|
+
Me(() => r.path, () => {
|
|
1811
|
+
E(), i.setMixSubMenus(c.value);
|
|
1812
|
+
}), Me(() => v.menuList, (x) => {
|
|
1813
|
+
x && x.length > 0 && (E(), i.setMixSubMenus(c.value));
|
|
1811
1814
|
}, { immediate: !0 });
|
|
1812
1815
|
const Q = /* @__PURE__ */ new Set([
|
|
1813
1816
|
"arrow-up",
|
|
@@ -1911,10 +1914,10 @@ const ge = ze("menu", () => {
|
|
|
1911
1914
|
"sun",
|
|
1912
1915
|
"theme",
|
|
1913
1916
|
"skin"
|
|
1914
|
-
]), q = (
|
|
1915
|
-
if (!
|
|
1916
|
-
if (
|
|
1917
|
-
const
|
|
1917
|
+
]), q = (x) => {
|
|
1918
|
+
if (!x || x === "") return "";
|
|
1919
|
+
if (x.startsWith("tineco-icon-")) {
|
|
1920
|
+
const F = x.replace("tineco-icon-", "");
|
|
1918
1921
|
return {
|
|
1919
1922
|
home: "home",
|
|
1920
1923
|
dashboard: "dashboard",
|
|
@@ -1928,7 +1931,7 @@ const ge = ze("menu", () => {
|
|
|
1928
1931
|
chart: "chart",
|
|
1929
1932
|
report: "report",
|
|
1930
1933
|
analytics: "analytics"
|
|
1931
|
-
}[
|
|
1934
|
+
}[F] || F;
|
|
1932
1935
|
}
|
|
1933
1936
|
return {
|
|
1934
1937
|
dashboard: "dashboard",
|
|
@@ -1947,62 +1950,62 @@ const ge = ze("menu", () => {
|
|
|
1947
1950
|
app: "app",
|
|
1948
1951
|
list: "list",
|
|
1949
1952
|
grid: "grid"
|
|
1950
|
-
}[
|
|
1951
|
-
}, le = (
|
|
1952
|
-
|
|
1953
|
-
},
|
|
1953
|
+
}[x] || x;
|
|
1954
|
+
}, le = (x) => x ? x.charAt(0) : "", _e = (x) => Q.has(x), xe = () => {
|
|
1955
|
+
i.toggleTheme(), X.value = !1;
|
|
1956
|
+
}, ce = () => {
|
|
1954
1957
|
document.fullscreenElement ? document.exitFullscreen() : document.documentElement.requestFullscreen();
|
|
1955
|
-
},
|
|
1958
|
+
}, me = () => {
|
|
1956
1959
|
te.value = !!document.fullscreenElement;
|
|
1957
1960
|
}, ye = () => {
|
|
1958
1961
|
ee.value = !ee.value;
|
|
1959
|
-
},
|
|
1962
|
+
}, de = () => {
|
|
1960
1963
|
ee.value = !1;
|
|
1961
1964
|
}, re = () => {
|
|
1962
|
-
|
|
1963
|
-
}, I = (
|
|
1964
|
-
s.push(
|
|
1965
|
+
R.value = !1, T.value = "";
|
|
1966
|
+
}, I = (x) => {
|
|
1967
|
+
s.push(x), re();
|
|
1965
1968
|
}, H = () => {
|
|
1966
1969
|
X.value = !0;
|
|
1967
|
-
},
|
|
1968
|
-
|
|
1969
|
-
const
|
|
1970
|
-
|
|
1971
|
-
},
|
|
1972
|
-
|
|
1970
|
+
}, pe = (x) => {
|
|
1971
|
+
oe.value = x;
|
|
1972
|
+
const n = document.documentElement;
|
|
1973
|
+
x ? n.classList.add("grey-mode") : n.classList.remove("grey-mode");
|
|
1974
|
+
}, ve = () => {
|
|
1975
|
+
pe(!oe.value), X.value = !1;
|
|
1973
1976
|
}, ie = () => {
|
|
1974
|
-
|
|
1977
|
+
i.toggleTheme(), X.value = !1;
|
|
1975
1978
|
}, Ce = [
|
|
1976
1979
|
{ value: "sidebar", label: "左侧菜单", icon: "sidebar-left" },
|
|
1977
1980
|
{ value: "top", label: "顶部菜单", icon: "menu" },
|
|
1978
1981
|
{ value: "mix", label: "混合菜单", icon: "grid" }
|
|
1979
|
-
], ke =
|
|
1980
|
-
|
|
1981
|
-
},
|
|
1982
|
+
], ke = k(() => i.layout), $e = (x) => {
|
|
1983
|
+
i.setLayout(x), X.value = !1;
|
|
1984
|
+
}, U = [
|
|
1982
1985
|
{ value: "#409eff", label: "默认蓝" },
|
|
1983
1986
|
{ value: "#0F6FDE", label: "企业蓝" },
|
|
1984
1987
|
{ value: "#00A870", label: "翡翠绿" },
|
|
1985
1988
|
{ value: "#D46B08", label: "琥珀橙" },
|
|
1986
1989
|
{ value: "#1F2329", label: "石墨黑" }
|
|
1987
|
-
],
|
|
1988
|
-
|
|
1989
|
-
},
|
|
1990
|
-
|
|
1991
|
-
},
|
|
1992
|
-
|
|
1993
|
-
},
|
|
1994
|
-
|
|
1995
|
-
},
|
|
1996
|
-
J.value && !J.value.contains(
|
|
1997
|
-
},
|
|
1998
|
-
|
|
1990
|
+
], w = (x) => {
|
|
1991
|
+
i.setPrimaryColor(x), X.value = !1;
|
|
1992
|
+
}, se = () => {
|
|
1993
|
+
de(), s.push("/profile");
|
|
1994
|
+
}, L = () => {
|
|
1995
|
+
de(), s.push("/change-password");
|
|
1996
|
+
}, he = () => {
|
|
1997
|
+
de(), m.logout(), h.clearUserInfo(), v.clearMenu(), s.push(i.loginPath);
|
|
1998
|
+
}, P = (x) => {
|
|
1999
|
+
J.value && !J.value.contains(x.target) && de(), O.value && !O.value.contains(x.target) && re();
|
|
2000
|
+
}, M = (x) => {
|
|
2001
|
+
x.key === "Escape" && (re(), de());
|
|
1999
2002
|
};
|
|
2000
2003
|
return Be(() => {
|
|
2001
|
-
document.addEventListener("click",
|
|
2004
|
+
document.addEventListener("click", P), document.addEventListener("fullscreenchange", me), document.addEventListener("keydown", M), oe.value = document.documentElement.classList.contains("grey-mode"), E();
|
|
2002
2005
|
}), Ye(() => {
|
|
2003
|
-
document.removeEventListener("click",
|
|
2004
|
-
}), (
|
|
2005
|
-
var
|
|
2006
|
+
document.removeEventListener("click", P), document.removeEventListener("fullscreenchange", me), document.removeEventListener("keydown", M);
|
|
2007
|
+
}), (x, n) => {
|
|
2008
|
+
var F;
|
|
2006
2009
|
return a(), u("div", da, [
|
|
2007
2010
|
e("div", ua, [
|
|
2008
2011
|
e("img", {
|
|
@@ -2010,32 +2013,32 @@ const ge = ze("menu", () => {
|
|
|
2010
2013
|
alt: "Logo",
|
|
2011
2014
|
class: "mix-top-menu__logo-img"
|
|
2012
2015
|
}, null, 8, ma),
|
|
2013
|
-
e("span", pa,
|
|
2016
|
+
e("span", pa, b(l(i).appName), 1)
|
|
2014
2017
|
]),
|
|
2015
|
-
|
|
2018
|
+
f(l(tt), {
|
|
2016
2019
|
"model-value": d.value,
|
|
2017
2020
|
mode: "horizontal",
|
|
2018
2021
|
"background-color": V.value,
|
|
2019
|
-
"text-color":
|
|
2022
|
+
"text-color": K.value,
|
|
2020
2023
|
"active-text-color": W.value,
|
|
2021
2024
|
class: "mix-top-menu__menu",
|
|
2022
|
-
onSelect:
|
|
2025
|
+
onSelect: A
|
|
2023
2026
|
}, {
|
|
2024
2027
|
default: C(() => [
|
|
2025
|
-
(a(!0), u(
|
|
2026
|
-
key:
|
|
2027
|
-
index:
|
|
2028
|
+
(a(!0), u(j, null, Y(l(v).menuList, ($) => (a(), D(l(Ue), {
|
|
2029
|
+
key: $.menuUrl,
|
|
2030
|
+
index: $.menuUrl
|
|
2028
2031
|
}, {
|
|
2029
2032
|
default: C(() => [
|
|
2030
2033
|
e("span", va, [
|
|
2031
|
-
|
|
2032
|
-
_e(q(
|
|
2034
|
+
$.menuName !== "首页" ? (a(), u("span", ha, [
|
|
2035
|
+
_e(q($.icon)) ? (a(), D(l(N), {
|
|
2033
2036
|
key: 0,
|
|
2034
|
-
name: q(
|
|
2037
|
+
name: q($.icon),
|
|
2035
2038
|
size: 16
|
|
2036
|
-
}, null, 8, ["name"])) : (a(), u("span", fa,
|
|
2037
|
-
])) :
|
|
2038
|
-
e("span", _a,
|
|
2039
|
+
}, null, 8, ["name"])) : (a(), u("span", fa, b(le($.menuName)), 1))
|
|
2040
|
+
])) : B("", !0),
|
|
2041
|
+
e("span", _a, b($.menuName), 1)
|
|
2039
2042
|
])
|
|
2040
2043
|
]),
|
|
2041
2044
|
_: 2
|
|
@@ -2047,53 +2050,53 @@ const ge = ze("menu", () => {
|
|
|
2047
2050
|
e("div", {
|
|
2048
2051
|
class: "mix-top-menu__search",
|
|
2049
2052
|
ref_key: "searchRef",
|
|
2050
|
-
ref:
|
|
2053
|
+
ref: O
|
|
2051
2054
|
}, [
|
|
2052
|
-
|
|
2055
|
+
f(l(N), {
|
|
2053
2056
|
name: "search",
|
|
2054
2057
|
size: 14,
|
|
2055
2058
|
class: "mix-top-menu__search-icon"
|
|
2056
2059
|
}),
|
|
2057
2060
|
Ae(e("input", {
|
|
2058
|
-
"onUpdate:modelValue":
|
|
2061
|
+
"onUpdate:modelValue": n[0] || (n[0] = ($) => T.value = $),
|
|
2059
2062
|
type: "text",
|
|
2060
2063
|
class: "mix-top-menu__search-input",
|
|
2061
2064
|
placeholder: "搜索菜单...",
|
|
2062
|
-
onFocus:
|
|
2065
|
+
onFocus: n[1] || (n[1] = ($) => R.value = !0)
|
|
2063
2066
|
}, null, 544), [
|
|
2064
|
-
[Xe,
|
|
2067
|
+
[Xe, T.value]
|
|
2065
2068
|
]),
|
|
2066
|
-
|
|
2069
|
+
f(Ie, { name: "search-dropdown" }, {
|
|
2067
2070
|
default: C(() => [
|
|
2068
|
-
|
|
2071
|
+
R.value && (y.value.length > 0 || T.value) ? (a(), u("div", ya, [
|
|
2069
2072
|
y.value.length > 0 ? (a(), u("div", ka, [
|
|
2070
|
-
(a(!0), u(
|
|
2071
|
-
key:
|
|
2073
|
+
(a(!0), u(j, null, Y(y.value, ($) => (a(), u("div", {
|
|
2074
|
+
key: $.path,
|
|
2072
2075
|
class: "mix-top-menu__search-item",
|
|
2073
|
-
onClick: (at) => I(
|
|
2076
|
+
onClick: (at) => I($.path)
|
|
2074
2077
|
}, [
|
|
2075
|
-
|
|
2076
|
-
_e(q(
|
|
2078
|
+
$.title !== "首页" ? (a(), u("span", ba, [
|
|
2079
|
+
_e(q($.icon)) ? (a(), D(l(N), {
|
|
2077
2080
|
key: 0,
|
|
2078
|
-
name: q(
|
|
2081
|
+
name: q($.icon),
|
|
2079
2082
|
size: 16
|
|
2080
|
-
}, null, 8, ["name"])) : (a(), u("span", xa,
|
|
2081
|
-
])) :
|
|
2082
|
-
e("span", Ca,
|
|
2083
|
-
|
|
2083
|
+
}, null, 8, ["name"])) : (a(), u("span", xa, b(le($.title)), 1))
|
|
2084
|
+
])) : B("", !0),
|
|
2085
|
+
e("span", Ca, b($.title), 1),
|
|
2086
|
+
$.parentTitle ? (a(), u("span", $a, b($.parentTitle), 1)) : B("", !0)
|
|
2084
2087
|
], 8, wa))), 128))
|
|
2085
2088
|
])) : (a(), u("div", Ma, " 未找到匹配的菜单 "))
|
|
2086
|
-
])) :
|
|
2089
|
+
])) : B("", !0)
|
|
2087
2090
|
]),
|
|
2088
2091
|
_: 1
|
|
2089
2092
|
})
|
|
2090
2093
|
], 512),
|
|
2091
2094
|
e("div", {
|
|
2092
2095
|
class: "mix-top-menu__action",
|
|
2093
|
-
onClick:
|
|
2096
|
+
onClick: ce,
|
|
2094
2097
|
title: te.value ? "退出全屏" : "全屏"
|
|
2095
2098
|
}, [
|
|
2096
|
-
|
|
2099
|
+
f(l(N), {
|
|
2097
2100
|
name: te.value ? "fullscreen-exit" : "fullscreen",
|
|
2098
2101
|
size: 16
|
|
2099
2102
|
}, null, 8, ["name"])
|
|
@@ -2103,7 +2106,7 @@ const ge = ze("menu", () => {
|
|
|
2103
2106
|
onClick: H,
|
|
2104
2107
|
title: "换肤设置"
|
|
2105
2108
|
}, [
|
|
2106
|
-
|
|
2109
|
+
f(l(N), {
|
|
2107
2110
|
name: "skin",
|
|
2108
2111
|
size: 16
|
|
2109
2112
|
})
|
|
@@ -2113,8 +2116,8 @@ const ge = ze("menu", () => {
|
|
|
2113
2116
|
onClick: xe,
|
|
2114
2117
|
title: "切换主题"
|
|
2115
2118
|
}, [
|
|
2116
|
-
|
|
2117
|
-
name:
|
|
2119
|
+
f(l(N), {
|
|
2120
|
+
name: l(i).isDark ? "sun" : "moon",
|
|
2118
2121
|
size: 16
|
|
2119
2122
|
}, null, 8, ["name"])
|
|
2120
2123
|
]),
|
|
@@ -2128,12 +2131,12 @@ const ge = ze("menu", () => {
|
|
|
2128
2131
|
onClick: Oe(ye, ["stop"])
|
|
2129
2132
|
}, [
|
|
2130
2133
|
e("div", Sa, [
|
|
2131
|
-
e("span", null,
|
|
2134
|
+
e("span", null, b(((F = l(h).userName) == null ? void 0 : F.charAt(0)) || "U"), 1)
|
|
2132
2135
|
]),
|
|
2133
|
-
e("span", Ia,
|
|
2136
|
+
e("span", Ia, b(l(h).userName), 1),
|
|
2134
2137
|
e("span", {
|
|
2135
2138
|
class: G(["mix-top-menu__user-arrow", { "is-active": ee.value }])
|
|
2136
|
-
}, [...
|
|
2139
|
+
}, [...n[3] || (n[3] = [
|
|
2137
2140
|
e("svg", {
|
|
2138
2141
|
viewBox: "0 0 12 12",
|
|
2139
2142
|
width: "10",
|
|
@@ -2148,64 +2151,64 @@ const ge = ze("menu", () => {
|
|
|
2148
2151
|
], -1)
|
|
2149
2152
|
])], 2)
|
|
2150
2153
|
]),
|
|
2151
|
-
|
|
2154
|
+
f(Ie, { name: "dropdown" }, {
|
|
2152
2155
|
default: C(() => {
|
|
2153
|
-
var
|
|
2156
|
+
var $;
|
|
2154
2157
|
return [
|
|
2155
2158
|
ee.value ? (a(), u("div", Ea, [
|
|
2156
2159
|
e("div", Na, [
|
|
2157
2160
|
e("div", Ta, [
|
|
2158
|
-
e("span", null,
|
|
2161
|
+
e("span", null, b((($ = l(h).userName) == null ? void 0 : $.charAt(0)) || "U"), 1)
|
|
2159
2162
|
]),
|
|
2160
2163
|
e("div", Ua, [
|
|
2161
|
-
e("div", Pa,
|
|
2162
|
-
e("div", za,
|
|
2164
|
+
e("div", Pa, b(l(h).userName), 1),
|
|
2165
|
+
e("div", za, b(l(h).departmentName), 1)
|
|
2163
2166
|
])
|
|
2164
2167
|
]),
|
|
2165
|
-
|
|
2168
|
+
n[8] || (n[8] = e("div", { class: "mix-top-menu__dropdown-divider" }, null, -1)),
|
|
2166
2169
|
e("div", Fa, [
|
|
2167
2170
|
e("div", {
|
|
2168
2171
|
class: "mix-top-menu__dropdown-item",
|
|
2169
|
-
onClick:
|
|
2172
|
+
onClick: se
|
|
2170
2173
|
}, [
|
|
2171
|
-
|
|
2174
|
+
f(l(N), {
|
|
2172
2175
|
name: "user",
|
|
2173
2176
|
size: 16
|
|
2174
2177
|
}),
|
|
2175
|
-
|
|
2178
|
+
n[4] || (n[4] = e("span", null, "个人信息", -1))
|
|
2176
2179
|
]),
|
|
2177
2180
|
e("div", {
|
|
2178
2181
|
class: "mix-top-menu__dropdown-item",
|
|
2179
|
-
onClick:
|
|
2182
|
+
onClick: L
|
|
2180
2183
|
}, [
|
|
2181
|
-
|
|
2184
|
+
f(l(N), {
|
|
2182
2185
|
name: "lock",
|
|
2183
2186
|
size: 16
|
|
2184
2187
|
}),
|
|
2185
|
-
|
|
2188
|
+
n[5] || (n[5] = e("span", null, "修改密码", -1))
|
|
2186
2189
|
]),
|
|
2187
|
-
|
|
2190
|
+
n[7] || (n[7] = e("div", { class: "mix-top-menu__dropdown-divider" }, null, -1)),
|
|
2188
2191
|
e("div", {
|
|
2189
2192
|
class: "mix-top-menu__dropdown-item mix-top-menu__dropdown-item--danger",
|
|
2190
|
-
onClick:
|
|
2193
|
+
onClick: he
|
|
2191
2194
|
}, [
|
|
2192
|
-
|
|
2195
|
+
f(l(N), {
|
|
2193
2196
|
name: "logout",
|
|
2194
2197
|
size: 16
|
|
2195
2198
|
}),
|
|
2196
|
-
|
|
2199
|
+
n[6] || (n[6] = e("span", null, "退出登录", -1))
|
|
2197
2200
|
])
|
|
2198
2201
|
])
|
|
2199
|
-
])) :
|
|
2202
|
+
])) : B("", !0)
|
|
2200
2203
|
];
|
|
2201
2204
|
}),
|
|
2202
2205
|
_: 1
|
|
2203
2206
|
})
|
|
2204
2207
|
], 512)
|
|
2205
2208
|
]),
|
|
2206
|
-
|
|
2209
|
+
f(l(st), {
|
|
2207
2210
|
modelValue: X.value,
|
|
2208
|
-
"onUpdate:modelValue":
|
|
2211
|
+
"onUpdate:modelValue": n[2] || (n[2] = ($) => X.value = $),
|
|
2209
2212
|
title: "换肤设置",
|
|
2210
2213
|
direction: "rtl",
|
|
2211
2214
|
size: "320px"
|
|
@@ -2213,24 +2216,24 @@ const ge = ze("menu", () => {
|
|
|
2213
2216
|
default: C(() => [
|
|
2214
2217
|
e("div", Da, [
|
|
2215
2218
|
e("div", Aa, [
|
|
2216
|
-
|
|
2219
|
+
n[12] || (n[12] = e("div", { class: "settings-title" }, "布局模式", -1)),
|
|
2217
2220
|
e("div", Ba, [
|
|
2218
|
-
(a(), u(
|
|
2219
|
-
key:
|
|
2220
|
-
class: G(["layout-option", { "is-active": ke.value ===
|
|
2221
|
-
onClick: (at) => $e(
|
|
2221
|
+
(a(), u(j, null, Y(Ce, ($) => e("div", {
|
|
2222
|
+
key: $.value,
|
|
2223
|
+
class: G(["layout-option", { "is-active": ke.value === $.value }]),
|
|
2224
|
+
onClick: (at) => $e($.value)
|
|
2222
2225
|
}, [
|
|
2223
|
-
e("div",
|
|
2224
|
-
|
|
2226
|
+
e("div", Ra, [
|
|
2227
|
+
$.value === "sidebar" ? (a(), u("div", Va, [...n[9] || (n[9] = [
|
|
2225
2228
|
e("div", { class: "preview-aside" }, null, -1),
|
|
2226
2229
|
e("div", { class: "preview-main" }, [
|
|
2227
2230
|
e("div", { class: "preview-header" }),
|
|
2228
2231
|
e("div", { class: "preview-content" })
|
|
2229
2232
|
], -1)
|
|
2230
|
-
])])) :
|
|
2233
|
+
])])) : $.value === "top" ? (a(), u("div", Ka, [...n[10] || (n[10] = [
|
|
2231
2234
|
e("div", { class: "preview-header-full" }, null, -1),
|
|
2232
2235
|
e("div", { class: "preview-content-full" }, null, -1)
|
|
2233
|
-
])])) : (a(), u("div", ja, [...
|
|
2236
|
+
])])) : (a(), u("div", ja, [...n[11] || (n[11] = [
|
|
2234
2237
|
e("div", { class: "preview-header-mix" }, [
|
|
2235
2238
|
e("div", { class: "preview-mix-left" })
|
|
2236
2239
|
], -1),
|
|
@@ -2240,47 +2243,47 @@ const ge = ze("menu", () => {
|
|
|
2240
2243
|
], -1)
|
|
2241
2244
|
])]))
|
|
2242
2245
|
]),
|
|
2243
|
-
e("span", Wa,
|
|
2246
|
+
e("span", Wa, b($.label), 1)
|
|
2244
2247
|
], 10, Oa)), 64))
|
|
2245
2248
|
])
|
|
2246
2249
|
]),
|
|
2247
2250
|
e("div", qa, [
|
|
2248
|
-
|
|
2251
|
+
n[13] || (n[13] = e("div", { class: "settings-title" }, "主题色", -1)),
|
|
2249
2252
|
e("div", Ga, [
|
|
2250
|
-
(a(), u(
|
|
2251
|
-
key:
|
|
2252
|
-
class: G(["color-option", { "is-active":
|
|
2253
|
-
style: Ee({ backgroundColor:
|
|
2254
|
-
title:
|
|
2255
|
-
onClick: (at) =>
|
|
2253
|
+
(a(), u(j, null, Y(U, ($) => e("div", {
|
|
2254
|
+
key: $.value,
|
|
2255
|
+
class: G(["color-option", { "is-active": l(i).primaryColor === $.value }]),
|
|
2256
|
+
style: Ee({ backgroundColor: $.value }),
|
|
2257
|
+
title: $.label,
|
|
2258
|
+
onClick: (at) => w($.value)
|
|
2256
2259
|
}, [
|
|
2257
|
-
|
|
2260
|
+
l(i).primaryColor === $.value ? (a(), D(l(N), {
|
|
2258
2261
|
key: 0,
|
|
2259
2262
|
name: "check",
|
|
2260
2263
|
size: 12,
|
|
2261
2264
|
color: "#fff"
|
|
2262
|
-
})) :
|
|
2265
|
+
})) : B("", !0)
|
|
2263
2266
|
], 14, Ha)), 64))
|
|
2264
2267
|
])
|
|
2265
2268
|
]),
|
|
2266
2269
|
e("div", Ya, [
|
|
2267
|
-
|
|
2270
|
+
n[18] || (n[18] = e("div", { class: "settings-title" }, "功能设置", -1)),
|
|
2268
2271
|
e("div", Xa, [
|
|
2269
2272
|
e("div", Za, [
|
|
2270
|
-
|
|
2273
|
+
n[15] || (n[15] = e("span", null, "灰色模式", -1)),
|
|
2271
2274
|
e("div", {
|
|
2272
|
-
class: G(["switch-wrapper", { "is-checked":
|
|
2273
|
-
onClick:
|
|
2274
|
-
}, [...
|
|
2275
|
+
class: G(["switch-wrapper", { "is-checked": oe.value }]),
|
|
2276
|
+
onClick: ve
|
|
2277
|
+
}, [...n[14] || (n[14] = [
|
|
2275
2278
|
e("span", { class: "switch-core" }, null, -1)
|
|
2276
2279
|
])], 2)
|
|
2277
2280
|
]),
|
|
2278
2281
|
e("div", Ja, [
|
|
2279
|
-
|
|
2282
|
+
n[17] || (n[17] = e("span", null, "暗黑模式", -1)),
|
|
2280
2283
|
e("div", {
|
|
2281
|
-
class: G(["switch-wrapper", { "is-checked":
|
|
2284
|
+
class: G(["switch-wrapper", { "is-checked": l(i).isDark }]),
|
|
2282
2285
|
onClick: ie
|
|
2283
|
-
}, [...
|
|
2286
|
+
}, [...n[16] || (n[16] = [
|
|
2284
2287
|
e("span", { class: "switch-core" }, null, -1)
|
|
2285
2288
|
])], 2)
|
|
2286
2289
|
])
|
|
@@ -2308,18 +2311,18 @@ const ge = ze("menu", () => {
|
|
|
2308
2311
|
logoSrc: {}
|
|
2309
2312
|
},
|
|
2310
2313
|
setup(t) {
|
|
2311
|
-
const o = t, p =
|
|
2312
|
-
() =>
|
|
2313
|
-
),
|
|
2314
|
+
const o = t, p = k(() => o.logoSrc || Pe("/vite.svg")), r = fe(), s = ge(), v = k(
|
|
2315
|
+
() => r.isCollapsed ? "64px" : "210px"
|
|
2316
|
+
), i = k(() => r.layout), h = k(() => i.value === "mix"), m = k(() => i.value === "sidebar" ? s.menuList : i.value === "mix" ? r.mixSubMenus : []), d = k(() => h.value ? m.value.length > 0 : !1);
|
|
2314
2317
|
return (S, y) => {
|
|
2315
2318
|
const c = we("router-view");
|
|
2316
|
-
return a(), u(
|
|
2317
|
-
|
|
2319
|
+
return a(), u(j, null, [
|
|
2320
|
+
i.value === "sidebar" ? (a(), u("div", tn, [
|
|
2318
2321
|
e("aside", {
|
|
2319
|
-
class: G(["layout__aside", { "layout__aside--collapsed":
|
|
2322
|
+
class: G(["layout__aside", { "layout__aside--collapsed": l(r).isCollapsed }]),
|
|
2320
2323
|
style: Ee({ width: v.value })
|
|
2321
2324
|
}, [
|
|
2322
|
-
|
|
2325
|
+
f(dt, {
|
|
2323
2326
|
"menu-list": m.value,
|
|
2324
2327
|
"show-logo": !0,
|
|
2325
2328
|
"show-user": !0,
|
|
@@ -2328,44 +2331,44 @@ const ge = ze("menu", () => {
|
|
|
2328
2331
|
], 6),
|
|
2329
2332
|
e("div", sn, [
|
|
2330
2333
|
e("header", on, [
|
|
2331
|
-
|
|
2334
|
+
f(to)
|
|
2332
2335
|
]),
|
|
2333
2336
|
e("main", an, [
|
|
2334
|
-
|
|
2337
|
+
f(c)
|
|
2335
2338
|
])
|
|
2336
2339
|
])
|
|
2337
|
-
])) :
|
|
2338
|
-
|
|
2340
|
+
])) : B("", !0),
|
|
2341
|
+
i.value === "top" ? (a(), u("div", nn, [
|
|
2339
2342
|
e("div", ln, [
|
|
2340
|
-
|
|
2343
|
+
f(ca, { "logo-src": p.value }, null, 8, ["logo-src"])
|
|
2341
2344
|
]),
|
|
2342
2345
|
e("div", rn, [
|
|
2343
2346
|
e("main", cn, [
|
|
2344
|
-
|
|
2347
|
+
f(c)
|
|
2345
2348
|
])
|
|
2346
2349
|
])
|
|
2347
|
-
])) :
|
|
2348
|
-
|
|
2350
|
+
])) : B("", !0),
|
|
2351
|
+
i.value === "mix" ? (a(), u("div", dn, [
|
|
2349
2352
|
e("div", un, [
|
|
2350
|
-
|
|
2353
|
+
f(en, { "logo-src": p.value }, null, 8, ["logo-src"])
|
|
2351
2354
|
]),
|
|
2352
2355
|
e("div", mn, [
|
|
2353
2356
|
d.value ? (a(), u("aside", {
|
|
2354
2357
|
key: 0,
|
|
2355
|
-
class: G(["layout__aside", { "layout__aside--collapsed":
|
|
2358
|
+
class: G(["layout__aside", { "layout__aside--collapsed": l(r).isCollapsed }]),
|
|
2356
2359
|
style: Ee({ width: v.value })
|
|
2357
2360
|
}, [
|
|
2358
|
-
|
|
2361
|
+
f(dt, {
|
|
2359
2362
|
"menu-list": m.value,
|
|
2360
2363
|
"show-logo": !1,
|
|
2361
2364
|
"show-user": !1
|
|
2362
2365
|
}, null, 8, ["menu-list"])
|
|
2363
|
-
], 6)) :
|
|
2366
|
+
], 6)) : B("", !0),
|
|
2364
2367
|
e("main", pn, [
|
|
2365
|
-
|
|
2368
|
+
f(c)
|
|
2366
2369
|
])
|
|
2367
2370
|
])
|
|
2368
|
-
])) :
|
|
2371
|
+
])) : B("", !0)
|
|
2369
2372
|
], 64);
|
|
2370
2373
|
};
|
|
2371
2374
|
}
|
|
@@ -2375,7 +2378,7 @@ const ge = ze("menu", () => {
|
|
|
2375
2378
|
}, Symbol.toStringTag, { value: "Module" })), fn = { class: "tabs-wrapper" }, _n = { class: "tab-label" }, gn = ["onClick"], yn = /* @__PURE__ */ ae({
|
|
2376
2379
|
__name: "Tabs",
|
|
2377
2380
|
setup(t) {
|
|
2378
|
-
const o = Te(), p = be(),
|
|
2381
|
+
const o = Te(), p = be(), r = k(() => {
|
|
2379
2382
|
const h = [];
|
|
2380
2383
|
return o.matched.forEach((m) => {
|
|
2381
2384
|
var d;
|
|
@@ -2386,24 +2389,24 @@ const ge = ze("menu", () => {
|
|
|
2386
2389
|
affix: !0
|
|
2387
2390
|
});
|
|
2388
2391
|
}), h;
|
|
2389
|
-
}), s =
|
|
2392
|
+
}), s = k(() => o.path), v = (h) => {
|
|
2390
2393
|
p.push(h);
|
|
2391
|
-
},
|
|
2392
|
-
const m =
|
|
2394
|
+
}, i = (h) => {
|
|
2395
|
+
const m = r.value.find((d) => d.path === h);
|
|
2393
2396
|
if (!(m != null && m.affix) && h === s.value) {
|
|
2394
|
-
const d =
|
|
2397
|
+
const d = r.value.findIndex((y) => y.path === h), S = r.value[d - 1] || r.value[d + 1];
|
|
2395
2398
|
S && p.push(S.path);
|
|
2396
2399
|
}
|
|
2397
2400
|
};
|
|
2398
2401
|
return (h, m) => (a(), u("div", fn, [
|
|
2399
|
-
|
|
2402
|
+
f(l(Bt), {
|
|
2400
2403
|
modelValue: s.value,
|
|
2401
2404
|
"onUpdate:modelValue": m[0] || (m[0] = (d) => s.value = d),
|
|
2402
2405
|
type: "card",
|
|
2403
2406
|
onTabClick: v
|
|
2404
2407
|
}, {
|
|
2405
2408
|
default: C(() => [
|
|
2406
|
-
(a(!0), u(
|
|
2409
|
+
(a(!0), u(j, null, Y(r.value, (d) => (a(), D(l(Ot), {
|
|
2407
2410
|
key: d.path,
|
|
2408
2411
|
name: d.path,
|
|
2409
2412
|
label: d.title,
|
|
@@ -2411,11 +2414,11 @@ const ge = ze("menu", () => {
|
|
|
2411
2414
|
}, {
|
|
2412
2415
|
label: C(() => [
|
|
2413
2416
|
e("span", _n, [
|
|
2414
|
-
Z(
|
|
2415
|
-
d.affix ?
|
|
2417
|
+
Z(b(d.title) + " ", 1),
|
|
2418
|
+
d.affix ? B("", !0) : (a(), u("span", {
|
|
2416
2419
|
key: 0,
|
|
2417
2420
|
class: "tab-close",
|
|
2418
|
-
onClick: Oe((S) =>
|
|
2421
|
+
onClick: Oe((S) => i(d.path), ["stop"])
|
|
2419
2422
|
}, " ✕ ", 8, gn))
|
|
2420
2423
|
])
|
|
2421
2424
|
]),
|
|
@@ -2446,33 +2449,33 @@ const wl = /* @__PURE__ */ ne(kn, [["render", bn], ["__scopeId", "data-v-ac63e34
|
|
|
2446
2449
|
},
|
|
2447
2450
|
emits: ["search", "reset"],
|
|
2448
2451
|
setup(t, { expose: o, emit: p }) {
|
|
2449
|
-
const
|
|
2450
|
-
var
|
|
2451
|
-
const
|
|
2452
|
-
if (!
|
|
2453
|
-
const E =
|
|
2454
|
-
h.value = E.length, E.forEach((V,
|
|
2455
|
-
V.style.display =
|
|
2452
|
+
const r = t, s = p, v = g(null), i = g(r.defaultCollapsed), h = g(0), m = () => {
|
|
2453
|
+
var A;
|
|
2454
|
+
const _ = (A = v.value) == null ? void 0 : A.$el;
|
|
2455
|
+
if (!_) return;
|
|
2456
|
+
const E = _.querySelectorAll(":scope > .x-form-item:not(.filter-bar__ops)");
|
|
2457
|
+
h.value = E.length, E.forEach((V, K) => {
|
|
2458
|
+
V.style.display = i.value && K >= r.collapsedCount ? "none" : "";
|
|
2456
2459
|
});
|
|
2457
|
-
}, d =
|
|
2458
|
-
|
|
2460
|
+
}, d = k(() => r.collapsible && h.value > r.collapsedCount), S = () => {
|
|
2461
|
+
i.value = !i.value;
|
|
2459
2462
|
};
|
|
2460
|
-
Me(
|
|
2463
|
+
Me(i, () => Re(m)), Be(() => Re(m)), Tt(() => Re(m));
|
|
2461
2464
|
const y = () => s("search"), c = () => s("reset");
|
|
2462
2465
|
return o({
|
|
2463
2466
|
/** 展开筛选项 */
|
|
2464
2467
|
expand: () => {
|
|
2465
|
-
|
|
2468
|
+
i.value = !1;
|
|
2466
2469
|
},
|
|
2467
2470
|
/** 收起筛选项 */
|
|
2468
2471
|
collapse: () => {
|
|
2469
|
-
|
|
2472
|
+
i.value = !0;
|
|
2470
2473
|
}
|
|
2471
|
-
}), (
|
|
2472
|
-
const
|
|
2473
|
-
return a(),
|
|
2474
|
+
}), (_, E) => {
|
|
2475
|
+
const A = we("x-button"), V = we("x-form-item"), K = we("x-form"), W = we("x-card");
|
|
2476
|
+
return a(), D(W, { class: "filter-bar" }, {
|
|
2474
2477
|
default: C(() => [
|
|
2475
|
-
|
|
2478
|
+
f(K, {
|
|
2476
2479
|
ref_key: "formRef",
|
|
2477
2480
|
ref: v,
|
|
2478
2481
|
model: t.model,
|
|
@@ -2481,30 +2484,30 @@ const wl = /* @__PURE__ */ ne(kn, [["render", bn], ["__scopeId", "data-v-ac63e34
|
|
|
2481
2484
|
onReset: c
|
|
2482
2485
|
}, {
|
|
2483
2486
|
default: C(() => [
|
|
2484
|
-
De(
|
|
2485
|
-
|
|
2487
|
+
De(_.$slots, "default", {}, void 0, !0),
|
|
2488
|
+
f(V, { class: "filter-bar__ops" }, {
|
|
2486
2489
|
default: C(() => [
|
|
2487
|
-
|
|
2490
|
+
f(A, {
|
|
2488
2491
|
type: "primary",
|
|
2489
2492
|
size: "small",
|
|
2490
2493
|
"html-type": "submit",
|
|
2491
2494
|
loading: t.searchLoading
|
|
2492
2495
|
}, {
|
|
2493
2496
|
default: C(() => [
|
|
2494
|
-
Z(
|
|
2497
|
+
Z(b(t.searchText), 1)
|
|
2495
2498
|
]),
|
|
2496
2499
|
_: 1
|
|
2497
2500
|
}, 8, ["loading"]),
|
|
2498
|
-
|
|
2501
|
+
f(A, {
|
|
2499
2502
|
size: "small",
|
|
2500
2503
|
"html-type": "reset"
|
|
2501
2504
|
}, {
|
|
2502
2505
|
default: C(() => [
|
|
2503
|
-
Z(
|
|
2506
|
+
Z(b(t.resetText), 1)
|
|
2504
2507
|
]),
|
|
2505
2508
|
_: 1
|
|
2506
2509
|
}),
|
|
2507
|
-
d.value ? (a(),
|
|
2510
|
+
d.value ? (a(), D(A, {
|
|
2508
2511
|
key: 0,
|
|
2509
2512
|
type: "text",
|
|
2510
2513
|
size: "small",
|
|
@@ -2512,15 +2515,15 @@ const wl = /* @__PURE__ */ ne(kn, [["render", bn], ["__scopeId", "data-v-ac63e34
|
|
|
2512
2515
|
onClick: S
|
|
2513
2516
|
}, {
|
|
2514
2517
|
default: C(() => [
|
|
2515
|
-
Z(
|
|
2516
|
-
|
|
2518
|
+
Z(b(i.value ? "展开" : "收起") + " ", 1),
|
|
2519
|
+
f(l(N), {
|
|
2517
2520
|
name: "caret-down",
|
|
2518
2521
|
size: 12,
|
|
2519
|
-
class: G(["filter-bar__caret", { "is-open": !
|
|
2522
|
+
class: G(["filter-bar__caret", { "is-open": !i.value }])
|
|
2520
2523
|
}, null, 8, ["class"])
|
|
2521
2524
|
]),
|
|
2522
2525
|
_: 1
|
|
2523
|
-
})) :
|
|
2526
|
+
})) : B("", !0)
|
|
2524
2527
|
]),
|
|
2525
2528
|
_: 1
|
|
2526
2529
|
})
|
|
@@ -2540,8 +2543,8 @@ const wl = /* @__PURE__ */ ne(kn, [["render", bn], ["__scopeId", "data-v-ac63e34
|
|
|
2540
2543
|
},
|
|
2541
2544
|
setup(t) {
|
|
2542
2545
|
return (o, p) => {
|
|
2543
|
-
const
|
|
2544
|
-
return a(),
|
|
2546
|
+
const r = we("x-card");
|
|
2547
|
+
return a(), D(r, { class: "table-card-frame" }, Ut({
|
|
2545
2548
|
default: C(() => [
|
|
2546
2549
|
De(o.$slots, "default", {}, void 0, !0)
|
|
2547
2550
|
]),
|
|
@@ -2553,7 +2556,7 @@ const wl = /* @__PURE__ */ ne(kn, [["render", bn], ["__scopeId", "data-v-ac63e34
|
|
|
2553
2556
|
e("div", Cn, [
|
|
2554
2557
|
e("div", $n, [
|
|
2555
2558
|
De(o.$slots, "header", {}, () => [
|
|
2556
|
-
Z(
|
|
2559
|
+
Z(b(t.title), 1)
|
|
2557
2560
|
], !0)
|
|
2558
2561
|
]),
|
|
2559
2562
|
e("div", Mn, [
|
|
@@ -2574,17 +2577,17 @@ const wl = /* @__PURE__ */ ne(kn, [["render", bn], ["__scopeId", "data-v-ac63e34
|
|
|
2574
2577
|
gap: { default: 6 }
|
|
2575
2578
|
},
|
|
2576
2579
|
setup(t) {
|
|
2577
|
-
const o = t, p = Pt(),
|
|
2580
|
+
const o = t, p = Pt(), r = (m) => {
|
|
2578
2581
|
const d = m.props || {}, S = d.type === "danger" || d.danger === !0 || d.danger === "", y = { type: "text" };
|
|
2579
2582
|
return d.size == null && (y.size = "small"), S && (y.class = [d.class, "table-actions__danger"]), Ft(m, y);
|
|
2580
|
-
}, s =
|
|
2583
|
+
}, s = k(
|
|
2581
2584
|
() => {
|
|
2582
2585
|
var m;
|
|
2583
|
-
return (((m = p.default) == null ? void 0 : m.call(p)) ?? []).filter((d) => d.type && d.type !== zt && typeof d.type != "symbol").map(
|
|
2586
|
+
return (((m = p.default) == null ? void 0 : m.call(p)) ?? []).filter((d) => d.type && d.type !== zt && typeof d.type != "symbol").map(r);
|
|
2584
2587
|
}
|
|
2585
|
-
), v =
|
|
2588
|
+
), v = k(() => o.max > 0 && s.value.length > o.max), i = k(
|
|
2586
2589
|
() => v.value ? s.value.slice(0, Math.max(1, o.max - 1)) : s.value
|
|
2587
|
-
), h =
|
|
2590
|
+
), h = k(() => v.value ? s.value.slice(Math.max(1, o.max - 1)) : []);
|
|
2588
2591
|
return (m, d) => {
|
|
2589
2592
|
const S = we("x-button");
|
|
2590
2593
|
return s.value.length ? (a(), u("div", {
|
|
@@ -2592,21 +2595,21 @@ const wl = /* @__PURE__ */ ne(kn, [["render", bn], ["__scopeId", "data-v-ac63e34
|
|
|
2592
2595
|
class: "table-actions",
|
|
2593
2596
|
style: Ee({ gap: `${t.gap}px` })
|
|
2594
2597
|
}, [
|
|
2595
|
-
(a(!0), u(
|
|
2596
|
-
h.value.length ? (a(),
|
|
2598
|
+
(a(!0), u(j, null, Y(i.value, (y, c) => (a(), D(it(y), { key: c }))), 128)),
|
|
2599
|
+
h.value.length ? (a(), D(l(Rt), {
|
|
2597
2600
|
key: 0,
|
|
2598
2601
|
trigger: "click",
|
|
2599
2602
|
placement: "bottom-end"
|
|
2600
2603
|
}, {
|
|
2601
2604
|
dropdown: C(() => [
|
|
2602
|
-
|
|
2605
|
+
f(l(Vt), null, {
|
|
2603
2606
|
default: C(() => [
|
|
2604
|
-
(a(!0), u(
|
|
2607
|
+
(a(!0), u(j, null, Y(h.value, (y, c) => (a(), D(l(Kt), {
|
|
2605
2608
|
key: c,
|
|
2606
2609
|
command: c
|
|
2607
2610
|
}, {
|
|
2608
2611
|
default: C(() => [
|
|
2609
|
-
(a(),
|
|
2612
|
+
(a(), D(it(y)))
|
|
2610
2613
|
]),
|
|
2611
2614
|
_: 2
|
|
2612
2615
|
}, 1032, ["command"]))), 128))
|
|
@@ -2615,14 +2618,14 @@ const wl = /* @__PURE__ */ ne(kn, [["render", bn], ["__scopeId", "data-v-ac63e34
|
|
|
2615
2618
|
})
|
|
2616
2619
|
]),
|
|
2617
2620
|
default: C(() => [
|
|
2618
|
-
|
|
2621
|
+
f(S, {
|
|
2619
2622
|
type: "text",
|
|
2620
2623
|
size: "small",
|
|
2621
2624
|
class: "table-actions__more"
|
|
2622
2625
|
}, {
|
|
2623
2626
|
default: C(() => [
|
|
2624
2627
|
d[0] || (d[0] = Z(" 更多 ", -1)),
|
|
2625
|
-
|
|
2628
|
+
f(l(N), {
|
|
2626
2629
|
name: "caret-down",
|
|
2627
2630
|
size: 12
|
|
2628
2631
|
})
|
|
@@ -2631,8 +2634,8 @@ const wl = /* @__PURE__ */ ne(kn, [["render", bn], ["__scopeId", "data-v-ac63e34
|
|
|
2631
2634
|
})
|
|
2632
2635
|
]),
|
|
2633
2636
|
_: 1
|
|
2634
|
-
})) :
|
|
2635
|
-
], 4)) :
|
|
2637
|
+
})) : B("", !0)
|
|
2638
|
+
], 4)) : B("", !0);
|
|
2636
2639
|
};
|
|
2637
2640
|
}
|
|
2638
2641
|
}), Cl = /* @__PURE__ */ ne(Sn, [["__scopeId", "data-v-4d717970"]]), In = { class: "login-page" }, En = { class: "page" }, Nn = {
|
|
@@ -2641,10 +2644,10 @@ const wl = /* @__PURE__ */ ne(kn, [["render", bn], ["__scopeId", "data-v-ac63e34
|
|
|
2641
2644
|
}, Tn = { class: "brand-inner" }, Un = { class: "brand-logo" }, Pn = { class: "logo-name" }, zn = { class: "login-side" }, Fn = {
|
|
2642
2645
|
class: "login-card",
|
|
2643
2646
|
id: "login-card"
|
|
2644
|
-
}, Dn = { class: "card-header" }, An = { class: "welcome-sub" }, Bn = { class: "input-wrapper" }, On = { class: "input-wrapper" },
|
|
2647
|
+
}, Dn = { class: "card-header" }, An = { class: "welcome-sub" }, Bn = { class: "input-wrapper" }, On = { class: "input-wrapper" }, Rn = { class: "form-options" }, Vn = { class: "footer" }, Kn = /* @__PURE__ */ ae({
|
|
2645
2648
|
__name: "index",
|
|
2646
2649
|
setup(t) {
|
|
2647
|
-
const o = be(), p = Te(),
|
|
2650
|
+
const o = be(), p = Te(), r = fe(), s = k(() => r.appName || "XTO App"), v = (/* @__PURE__ */ new Date()).getFullYear(), i = g(!1), h = g(!1), m = Ze({
|
|
2648
2651
|
uid: "",
|
|
2649
2652
|
password: ""
|
|
2650
2653
|
}), d = {
|
|
@@ -2655,11 +2658,11 @@ const wl = /* @__PURE__ */ ne(kn, [["render", bn], ["__scopeId", "data-v-ac63e34
|
|
|
2655
2658
|
{ required: !0, message: "请输入密码", trigger: "blur" },
|
|
2656
2659
|
{ min: 6, message: "密码长度至少6位", trigger: "blur" }
|
|
2657
2660
|
]
|
|
2658
|
-
}, S =
|
|
2661
|
+
}, S = g(), y = async () => {
|
|
2659
2662
|
var c;
|
|
2660
2663
|
try {
|
|
2661
2664
|
if (await ((c = S.value) == null ? void 0 : c.validate()) === !1) return;
|
|
2662
|
-
|
|
2665
|
+
i.value = !0;
|
|
2663
2666
|
const E = await bt({
|
|
2664
2667
|
appId: Se(),
|
|
2665
2668
|
clientId: ht(),
|
|
@@ -2668,47 +2671,47 @@ const wl = /* @__PURE__ */ ne(kn, [["render", bn], ["__scopeId", "data-v-ac63e34
|
|
|
2668
2671
|
code: !0
|
|
2669
2672
|
});
|
|
2670
2673
|
vt(E), jt.success("登录成功");
|
|
2671
|
-
const
|
|
2672
|
-
|
|
2673
|
-
} catch (
|
|
2674
|
-
console.error("登录失败:",
|
|
2674
|
+
const A = p.query.redirect;
|
|
2675
|
+
A ? o.push(A) : o.push({ name: "Dashboard" });
|
|
2676
|
+
} catch (_) {
|
|
2677
|
+
console.error("登录失败:", _);
|
|
2675
2678
|
} finally {
|
|
2676
|
-
|
|
2679
|
+
i.value = !1;
|
|
2677
2680
|
}
|
|
2678
2681
|
};
|
|
2679
|
-
return (c,
|
|
2680
|
-
|
|
2682
|
+
return (c, _) => (a(), u("div", In, [
|
|
2683
|
+
_[18] || (_[18] = e("a", {
|
|
2681
2684
|
class: "skip-link",
|
|
2682
2685
|
href: "#login-card"
|
|
2683
2686
|
}, "跳转到登录表单", -1)),
|
|
2684
2687
|
e("div", En, [
|
|
2685
2688
|
e("aside", Nn, [
|
|
2686
|
-
|
|
2687
|
-
|
|
2688
|
-
|
|
2689
|
-
|
|
2689
|
+
_[6] || (_[6] = e("div", { class: "deco-grid" }, null, -1)),
|
|
2690
|
+
_[7] || (_[7] = e("div", { class: "deco-glow" }, null, -1)),
|
|
2691
|
+
_[8] || (_[8] = e("div", { class: "deco-line l1" }, null, -1)),
|
|
2692
|
+
_[9] || (_[9] = e("div", { class: "deco-line l2" }, null, -1)),
|
|
2690
2693
|
e("div", Tn, [
|
|
2691
2694
|
e("div", Un, [
|
|
2692
|
-
|
|
2695
|
+
_[4] || (_[4] = e("div", { class: "logo-mark" }, "X", -1)),
|
|
2693
2696
|
e("div", Pn, [
|
|
2694
|
-
Z(
|
|
2695
|
-
|
|
2697
|
+
Z(b(s.value) + " ", 1),
|
|
2698
|
+
_[3] || (_[3] = e("small", null, "XTO PLATFORM", -1))
|
|
2696
2699
|
])
|
|
2697
2700
|
]),
|
|
2698
|
-
|
|
2701
|
+
_[5] || (_[5] = Je('<h1 class="brand-title" data-v-3de04846> 统一身份认证<br data-v-3de04846>数字化赋能<em data-v-3de04846>高效协同</em></h1><p class="brand-desc" data-v-3de04846> 一站式访问所有业务系统<br data-v-3de04846> 安全、高效、可信的企业级数字化工作入口 </p><svg class="brand-visual" viewBox="0 0 460 290" fill="none" xmlns="http://www.w3.org/2000/svg" data-v-3de04846><defs data-v-3de04846><linearGradient id="gShield" x1="160" y1="60" x2="300" y2="250" gradientUnits="userSpaceOnUse" data-v-3de04846><stop offset="0" stop-color="#4fa3ff" data-v-3de04846></stop><stop offset="1" stop-color="#1e5fd6" data-v-3de04846></stop></linearGradient><linearGradient id="gOrbit" x1="0" y1="0" x2="460" y2="290" gradientUnits="userSpaceOnUse" data-v-3de04846><stop offset="0" stop-color="#67e8f9" stop-opacity=".5" data-v-3de04846></stop><stop offset=".5" stop-color="#818cf8" stop-opacity=".35" data-v-3de04846></stop><stop offset="1" stop-color="#34d399" stop-opacity=".4" data-v-3de04846></stop></linearGradient><radialGradient id="gHalo" cx=".5" cy=".5" r=".5" data-v-3de04846><stop offset="0" stop-color="#38bdf8" stop-opacity=".3" data-v-3de04846></stop><stop offset="1" stop-color="#38bdf8" stop-opacity="0" data-v-3de04846></stop></radialGradient><linearGradient id="gViolet" x1="0" y1="0" x2="0" y2="1" data-v-3de04846><stop offset="0" stop-color="#a78bfa" data-v-3de04846></stop><stop offset="1" stop-color="#7c5cf0" data-v-3de04846></stop></linearGradient></defs><circle cx="230" cy="160" r="130" fill="url(#gHalo)" data-v-3de04846></circle><ellipse cx="230" cy="165" rx="190" ry="105" stroke="url(#gOrbit)" stroke-width="1.5" stroke-dasharray="3 8" data-v-3de04846></ellipse><ellipse cx="230" cy="165" rx="145" ry="78" stroke="rgba(255,255,255,.14)" stroke-width="1" data-v-3de04846></ellipse><circle cx="52" cy="120" r="4" fill="#67e8f9" data-v-3de04846></circle><circle cx="410" cy="98" r="4" fill="#fbbf24" data-v-3de04846></circle><circle cx="392" cy="228" r="3.5" fill="#818cf8" data-v-3de04846></circle><path d="M52 120 C 110 90, 140 78, 178 92" stroke="#67e8f9" stroke-opacity=".45" stroke-width="1.2" stroke-dasharray="2 6" data-v-3de04846></path><path d="M410 98 C 360 80, 320 76, 286 92" stroke="#fbbf24" stroke-opacity=".45" stroke-width="1.2" stroke-dasharray="2 6" data-v-3de04846></path><g class="float-a" data-v-3de04846><path d="M230 58 L296 84 V150 C296 200 268 232 230 246 C192 232 164 200 164 150 V84 Z" fill="url(#gShield)" data-v-3de04846></path><path d="M230 58 L296 84 V150 C296 200 268 232 230 246 Z" fill="#0b3f9e" fill-opacity=".25" data-v-3de04846></path><rect x="206" y="130" width="48" height="40" rx="8" fill="#fff" data-v-3de04846></rect><path d="M214 130 v-8 a16 16 0 0 1 32 0 v8" stroke="#fff" stroke-width="7" stroke-linecap="round" fill="none" data-v-3de04846></path><circle cx="230" cy="148" r="5.5" fill="#1e5fd6" data-v-3de04846></circle><rect x="227.5" y="150" width="5" height="11" rx="2.5" fill="#1e5fd6" data-v-3de04846></rect></g><g class="float-b" data-v-3de04846><rect x="66" y="120" width="96" height="74" rx="12" fill="#ffffff" data-v-3de04846></rect><rect x="66" y="120" width="96" height="74" rx="12" stroke="#e2e8f0" stroke-width="1" data-v-3de04846></rect><rect x="80" y="134" width="42" height="7" rx="3.5" fill="#cbd5e1" data-v-3de04846></rect><rect x="80" y="168" width="10" height="16" rx="3" fill="#f59e0b" data-v-3de04846></rect><rect x="96" y="158" width="10" height="26" rx="3" fill="#fbbf24" data-v-3de04846></rect><rect x="112" y="150" width="10" height="34" rx="3" fill="#10b981" data-v-3de04846></rect><path d="M124 146 L138 134" stroke="#10b981" stroke-width="2.5" stroke-linecap="round" data-v-3de04846></path><path d="M133 133 h6 v6" stroke="#10b981" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" fill="none" data-v-3de04846></path></g><g class="float-c" data-v-3de04846><circle cx="330" cy="86" r="30" fill="url(#gViolet)" data-v-3de04846></circle><g fill="#fff" data-v-3de04846><rect x="326.5" y="60" width="7" height="10" rx="2" data-v-3de04846></rect><rect x="326.5" y="102" width="7" height="10" rx="2" data-v-3de04846></rect><rect x="304" y="82.5" width="10" height="7" rx="2" data-v-3de04846></rect><rect x="346" y="82.5" width="10" height="7" rx="2" data-v-3de04846></rect><rect x="310.5" y="63" width="7" height="10" rx="2" transform="rotate(-45 314 68)" data-v-3de04846></rect><rect x="342.5" y="99" width="7" height="10" rx="2" transform="rotate(-45 346 104)" data-v-3de04846></rect><rect x="310.5" y="99" width="7" height="10" rx="2" transform="rotate(45 314 104)" data-v-3de04846></rect><rect x="342.5" y="63" width="7" height="10" rx="2" transform="rotate(45 346 68)" data-v-3de04846></rect></g><circle cx="330" cy="86" r="12" fill="#fff" data-v-3de04846></circle><circle cx="330" cy="86" r="6" fill="#7c5cf0" data-v-3de04846></circle></g><g class="float-b" data-v-3de04846><rect x="312" y="150" width="104" height="66" rx="12" fill="#ffffff" data-v-3de04846></rect><rect x="312" y="150" width="104" height="66" rx="12" stroke="#e2e8f0" stroke-width="1" data-v-3de04846></rect><circle cx="330" cy="168" r="6" fill="#22d3ee" data-v-3de04846></circle><rect x="342" y="164" width="52" height="7" rx="3.5" fill="#cbd5e1" data-v-3de04846></rect><circle cx="330" cy="186" r="6" fill="#fbbf24" data-v-3de04846></circle><rect x="342" y="182" width="40" height="7" rx="3.5" fill="#cbd5e1" data-v-3de04846></rect><circle cx="330" cy="204" r="6" fill="#a78bfa" data-v-3de04846></circle><rect x="342" y="200" width="46" height="7" rx="3.5" fill="#cbd5e1" data-v-3de04846></rect></g><g class="float-c" data-v-3de04846><circle cx="128" cy="232" r="24" fill="#10b981" data-v-3de04846></circle><circle cx="128" cy="232" r="24" stroke="#34d399" stroke-width="4" stroke-opacity=".5" data-v-3de04846></circle><path d="M118 232 l7 7 14 -15" stroke="#fff" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" fill="none" data-v-3de04846></path></g><path d="M84 62 l0 12 M78 68 l12 0" stroke="#818cf8" stroke-width="2" stroke-linecap="round" data-v-3de04846></path><path d="M372 262 l0 10 M367 267 l10 0" stroke="#67e8f9" stroke-width="2" stroke-linecap="round" data-v-3de04846></path><circle cx="416" cy="180" r="2.5" fill="#f59e0b" data-v-3de04846></circle><circle cx="98" cy="180" r="2.5" fill="#a78bfa" data-v-3de04846></circle></svg>', 3))
|
|
2699
2702
|
])
|
|
2700
2703
|
]),
|
|
2701
2704
|
e("main", zn, [
|
|
2702
2705
|
e("section", Fn, [
|
|
2703
2706
|
e("header", Dn, [
|
|
2704
|
-
|
|
2707
|
+
_[10] || (_[10] = e("div", {
|
|
2705
2708
|
class: "logo-mark",
|
|
2706
2709
|
"aria-hidden": "true"
|
|
2707
2710
|
}, "X", -1)),
|
|
2708
|
-
|
|
2709
|
-
e("p", An, "欢迎登录" +
|
|
2711
|
+
_[11] || (_[11] = e("h2", { class: "welcome" }, "账号登录", -1)),
|
|
2712
|
+
e("p", An, "欢迎登录" + b(s.value), 1)
|
|
2710
2713
|
]),
|
|
2711
|
-
|
|
2714
|
+
f(l(Wt), {
|
|
2712
2715
|
ref_key: "formRef",
|
|
2713
2716
|
ref: S,
|
|
2714
2717
|
model: m,
|
|
@@ -2717,18 +2720,18 @@ const wl = /* @__PURE__ */ ne(kn, [["render", bn], ["__scopeId", "data-v-ac63e34
|
|
|
2717
2720
|
"label-width": "0"
|
|
2718
2721
|
}, {
|
|
2719
2722
|
default: C(() => [
|
|
2720
|
-
|
|
2723
|
+
f(l(Ve), { prop: "uid" }, {
|
|
2721
2724
|
default: C(() => [
|
|
2722
2725
|
e("div", Bn, [
|
|
2723
|
-
|
|
2724
|
-
|
|
2726
|
+
_[12] || (_[12] = e("label", { class: "input-label" }, "账号", -1)),
|
|
2727
|
+
f(l(ct), {
|
|
2725
2728
|
modelValue: m.uid,
|
|
2726
|
-
"onUpdate:modelValue":
|
|
2729
|
+
"onUpdate:modelValue": _[0] || (_[0] = (E) => m.uid = E),
|
|
2727
2730
|
placeholder: "请输入账号",
|
|
2728
2731
|
size: "large"
|
|
2729
2732
|
}, {
|
|
2730
2733
|
prefix: C(() => [
|
|
2731
|
-
|
|
2734
|
+
f(l(N), {
|
|
2732
2735
|
name: "user",
|
|
2733
2736
|
size: 18
|
|
2734
2737
|
})
|
|
@@ -2739,13 +2742,13 @@ const wl = /* @__PURE__ */ ne(kn, [["render", bn], ["__scopeId", "data-v-ac63e34
|
|
|
2739
2742
|
]),
|
|
2740
2743
|
_: 1
|
|
2741
2744
|
}),
|
|
2742
|
-
|
|
2745
|
+
f(l(Ve), { prop: "password" }, {
|
|
2743
2746
|
default: C(() => [
|
|
2744
2747
|
e("div", On, [
|
|
2745
|
-
|
|
2746
|
-
|
|
2748
|
+
_[13] || (_[13] = e("label", { class: "input-label" }, "密码", -1)),
|
|
2749
|
+
f(l(ct), {
|
|
2747
2750
|
modelValue: m.password,
|
|
2748
|
-
"onUpdate:modelValue":
|
|
2751
|
+
"onUpdate:modelValue": _[1] || (_[1] = (E) => m.password = E),
|
|
2749
2752
|
type: "password",
|
|
2750
2753
|
placeholder: "请输入登录密码",
|
|
2751
2754
|
size: "large",
|
|
@@ -2753,7 +2756,7 @@ const wl = /* @__PURE__ */ ne(kn, [["render", bn], ["__scopeId", "data-v-ac63e34
|
|
|
2753
2756
|
onKeyup: Dt(y, ["enter"])
|
|
2754
2757
|
}, {
|
|
2755
2758
|
prefix: C(() => [
|
|
2756
|
-
|
|
2759
|
+
f(l(N), {
|
|
2757
2760
|
name: "lock",
|
|
2758
2761
|
size: 18
|
|
2759
2762
|
})
|
|
@@ -2764,32 +2767,32 @@ const wl = /* @__PURE__ */ ne(kn, [["render", bn], ["__scopeId", "data-v-ac63e34
|
|
|
2764
2767
|
]),
|
|
2765
2768
|
_: 1
|
|
2766
2769
|
}),
|
|
2767
|
-
e("div",
|
|
2768
|
-
|
|
2770
|
+
e("div", Rn, [
|
|
2771
|
+
f(l(qt), {
|
|
2769
2772
|
modelValue: h.value,
|
|
2770
|
-
"onUpdate:modelValue":
|
|
2773
|
+
"onUpdate:modelValue": _[2] || (_[2] = (E) => h.value = E)
|
|
2771
2774
|
}, {
|
|
2772
|
-
default: C(() => [...
|
|
2775
|
+
default: C(() => [..._[14] || (_[14] = [
|
|
2773
2776
|
Z("记住账号", -1)
|
|
2774
2777
|
])]),
|
|
2775
2778
|
_: 1
|
|
2776
2779
|
}, 8, ["modelValue"]),
|
|
2777
|
-
|
|
2780
|
+
_[15] || (_[15] = e("a", {
|
|
2778
2781
|
href: "#",
|
|
2779
2782
|
class: "link"
|
|
2780
2783
|
}, "忘记密码?", -1))
|
|
2781
2784
|
]),
|
|
2782
|
-
|
|
2785
|
+
f(l(Ve), null, {
|
|
2783
2786
|
default: C(() => [
|
|
2784
|
-
|
|
2787
|
+
f(l(Ne), {
|
|
2785
2788
|
type: "primary",
|
|
2786
2789
|
size: "large",
|
|
2787
|
-
loading:
|
|
2790
|
+
loading: i.value,
|
|
2788
2791
|
class: "btn-login",
|
|
2789
2792
|
onClick: y
|
|
2790
2793
|
}, {
|
|
2791
2794
|
default: C(() => [
|
|
2792
|
-
Z(
|
|
2795
|
+
Z(b(i.value ? "正在登录…" : "登 录"), 1)
|
|
2793
2796
|
]),
|
|
2794
2797
|
_: 1
|
|
2795
2798
|
}, 8, ["loading"])
|
|
@@ -2800,10 +2803,10 @@ const wl = /* @__PURE__ */ ne(kn, [["render", bn], ["__scopeId", "data-v-ac63e34
|
|
|
2800
2803
|
_: 1
|
|
2801
2804
|
}, 8, ["model"])
|
|
2802
2805
|
]),
|
|
2803
|
-
e("footer",
|
|
2804
|
-
Z(" Copyright © " +
|
|
2805
|
-
|
|
2806
|
-
|
|
2806
|
+
e("footer", Vn, [
|
|
2807
|
+
Z(" Copyright © " + b(l(v)) + " " + b(s.value) + " All Rights Reserved", 1),
|
|
2808
|
+
_[16] || (_[16] = e("br", null, null, -1)),
|
|
2809
|
+
_[17] || (_[17] = Z(" 建议使用 Chrome / Edge 浏览器访问 ", -1))
|
|
2807
2810
|
])
|
|
2808
2811
|
])
|
|
2809
2812
|
])
|
|
@@ -2818,7 +2821,7 @@ const wl = /* @__PURE__ */ ne(kn, [["render", bn], ["__scopeId", "data-v-ac63e34
|
|
|
2818
2821
|
const o = be(), p = () => {
|
|
2819
2822
|
o.push("/");
|
|
2820
2823
|
};
|
|
2821
|
-
return (
|
|
2824
|
+
return (r, s) => (a(), u("div", qn, [
|
|
2822
2825
|
e("div", Gn, [
|
|
2823
2826
|
s[7] || (s[7] = e("div", { class: "error-bg" }, [
|
|
2824
2827
|
e("div", { class: "bg-circle circle-1" }),
|
|
@@ -2828,7 +2831,7 @@ const wl = /* @__PURE__ */ ne(kn, [["render", bn], ["__scopeId", "data-v-ac63e34
|
|
|
2828
2831
|
e("div", Hn, [
|
|
2829
2832
|
s[5] || (s[5] = Je('<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)),
|
|
2830
2833
|
e("div", Yn, [
|
|
2831
|
-
|
|
2834
|
+
f(l(Ne), {
|
|
2832
2835
|
type: "primary",
|
|
2833
2836
|
size: "large",
|
|
2834
2837
|
onClick: p
|
|
@@ -2849,9 +2852,9 @@ const wl = /* @__PURE__ */ ne(kn, [["render", bn], ["__scopeId", "data-v-ac63e34
|
|
|
2849
2852
|
]),
|
|
2850
2853
|
_: 1
|
|
2851
2854
|
}),
|
|
2852
|
-
|
|
2855
|
+
f(l(Ne), {
|
|
2853
2856
|
size: "large",
|
|
2854
|
-
onClick: s[0] || (s[0] = (v) =>
|
|
2857
|
+
onClick: s[0] || (s[0] = (v) => l(o).go(-1))
|
|
2855
2858
|
}, {
|
|
2856
2859
|
icon: C(() => [...s[3] || (s[3] = [
|
|
2857
2860
|
e("svg", {
|
|
@@ -2890,7 +2893,7 @@ const wl = /* @__PURE__ */ ne(kn, [["render", bn], ["__scopeId", "data-v-ac63e34
|
|
|
2890
2893
|
const o = be(), p = () => {
|
|
2891
2894
|
o.push("/");
|
|
2892
2895
|
};
|
|
2893
|
-
return (
|
|
2896
|
+
return (r, s) => (a(), u("div", Jn, [
|
|
2894
2897
|
e("div", Qn, [
|
|
2895
2898
|
s[7] || (s[7] = e("div", { class: "error-bg" }, [
|
|
2896
2899
|
e("div", { class: "bg-circle circle-1" }),
|
|
@@ -2900,7 +2903,7 @@ const wl = /* @__PURE__ */ ne(kn, [["render", bn], ["__scopeId", "data-v-ac63e34
|
|
|
2900
2903
|
e("div", el, [
|
|
2901
2904
|
s[5] || (s[5] = Je('<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)),
|
|
2902
2905
|
e("div", tl, [
|
|
2903
|
-
|
|
2906
|
+
f(l(Ne), {
|
|
2904
2907
|
type: "primary",
|
|
2905
2908
|
size: "large",
|
|
2906
2909
|
onClick: p
|
|
@@ -2921,9 +2924,9 @@ const wl = /* @__PURE__ */ ne(kn, [["render", bn], ["__scopeId", "data-v-ac63e34
|
|
|
2921
2924
|
]),
|
|
2922
2925
|
_: 1
|
|
2923
2926
|
}),
|
|
2924
|
-
|
|
2927
|
+
f(l(Ne), {
|
|
2925
2928
|
size: "large",
|
|
2926
|
-
onClick: s[0] || (s[0] = (v) =>
|
|
2929
|
+
onClick: s[0] || (s[0] = (v) => l(o).go(-1))
|
|
2927
2930
|
}, {
|
|
2928
2931
|
icon: C(() => [...s[3] || (s[3] = [
|
|
2929
2932
|
e("svg", {
|
|
@@ -2955,12 +2958,12 @@ const wl = /* @__PURE__ */ ne(kn, [["render", bn], ["__scopeId", "data-v-ac63e34
|
|
|
2955
2958
|
}
|
|
2956
2959
|
}), $l = /* @__PURE__ */ ne(sl, [["__scopeId", "data-v-e6e1f7ac"]]);
|
|
2957
2960
|
function Ml() {
|
|
2958
|
-
const t = fe(), o =
|
|
2961
|
+
const t = fe(), o = ue(), p = Fe(), r = k(() => o.userName || ""), s = k(() => o.userInfo), v = k(() => t.appName), i = k(() => p.isLoggedIn), h = k(() => t.isDark), m = k(() => t.theme), d = k(() => t.isCollapsed), S = k(() => t.layout);
|
|
2959
2962
|
return {
|
|
2960
|
-
userName:
|
|
2963
|
+
userName: r,
|
|
2961
2964
|
userInfo: s,
|
|
2962
2965
|
appName: v,
|
|
2963
|
-
isLoggedIn:
|
|
2966
|
+
isLoggedIn: i,
|
|
2964
2967
|
isDark: h,
|
|
2965
2968
|
theme: m,
|
|
2966
2969
|
isCollapsed: d,
|
|
@@ -2974,13 +2977,13 @@ function Ml() {
|
|
|
2974
2977
|
};
|
|
2975
2978
|
}
|
|
2976
2979
|
function Ll() {
|
|
2977
|
-
const t =
|
|
2980
|
+
const t = ue();
|
|
2978
2981
|
return {
|
|
2979
|
-
isLoggedIn:
|
|
2982
|
+
isLoggedIn: k(() => t.isLoggedIn)
|
|
2980
2983
|
};
|
|
2981
2984
|
}
|
|
2982
2985
|
function Sl(t, o = {}) {
|
|
2983
|
-
const { rules: p, onSubmit:
|
|
2986
|
+
const { rules: p, onSubmit: r } = o, s = g(), v = Ze({ ...t }), i = g(!1), h = g(!1), m = g(!1), d = () => {
|
|
2984
2987
|
c(), m.value = !1, h.value = !0;
|
|
2985
2988
|
}, S = (E) => {
|
|
2986
2989
|
Object.assign(v, E), m.value = !0, h.value = !0;
|
|
@@ -2988,15 +2991,15 @@ function Sl(t, o = {}) {
|
|
|
2988
2991
|
h.value = !1, c();
|
|
2989
2992
|
}, c = () => {
|
|
2990
2993
|
var E;
|
|
2991
|
-
Object.keys(t).forEach((
|
|
2992
|
-
v[
|
|
2994
|
+
Object.keys(t).forEach((A) => {
|
|
2995
|
+
v[A] = t[A];
|
|
2993
2996
|
}), (E = s.value) == null || E.resetFields();
|
|
2994
2997
|
};
|
|
2995
2998
|
return {
|
|
2996
2999
|
formRef: s,
|
|
2997
3000
|
formData: v,
|
|
2998
3001
|
rules: p,
|
|
2999
|
-
loading:
|
|
3002
|
+
loading: i,
|
|
3000
3003
|
visible: h,
|
|
3001
3004
|
isEdit: m,
|
|
3002
3005
|
openAdd: d,
|
|
@@ -3006,82 +3009,82 @@ function Sl(t, o = {}) {
|
|
|
3006
3009
|
handleSubmit: async () => {
|
|
3007
3010
|
var E;
|
|
3008
3011
|
try {
|
|
3009
|
-
await ((E = s.value) == null ? void 0 : E.validate()),
|
|
3010
|
-
} catch (
|
|
3011
|
-
console.error(
|
|
3012
|
+
await ((E = s.value) == null ? void 0 : E.validate()), i.value = !0, await (r == null ? void 0 : r(v)), y();
|
|
3013
|
+
} catch (A) {
|
|
3014
|
+
console.error(A);
|
|
3012
3015
|
} finally {
|
|
3013
|
-
|
|
3016
|
+
i.value = !1;
|
|
3014
3017
|
}
|
|
3015
3018
|
}
|
|
3016
3019
|
};
|
|
3017
3020
|
}
|
|
3018
3021
|
function Il(t) {
|
|
3019
|
-
const { fetchData: o, defaultPageSize: p = 10 } = t,
|
|
3020
|
-
|
|
3022
|
+
const { fetchData: o, defaultPageSize: p = 10 } = t, r = g(!1), s = g([]), v = g(0), i = g(1), h = g(p), m = Ze({}), d = async () => {
|
|
3023
|
+
r.value = !0;
|
|
3021
3024
|
try {
|
|
3022
3025
|
const V = {
|
|
3023
3026
|
...m,
|
|
3024
|
-
page:
|
|
3027
|
+
page: i.value,
|
|
3025
3028
|
pageSize: h.value
|
|
3026
|
-
},
|
|
3027
|
-
s.value =
|
|
3029
|
+
}, K = await o(V);
|
|
3030
|
+
s.value = K.list, v.value = K.total;
|
|
3028
3031
|
} catch (V) {
|
|
3029
3032
|
console.error(V);
|
|
3030
3033
|
} finally {
|
|
3031
|
-
|
|
3034
|
+
r.value = !1;
|
|
3032
3035
|
}
|
|
3033
3036
|
}, S = () => {
|
|
3034
|
-
|
|
3037
|
+
i.value = 1, d();
|
|
3035
3038
|
}, y = () => {
|
|
3036
3039
|
Object.keys(m).forEach((V) => {
|
|
3037
3040
|
m[V] = void 0;
|
|
3038
|
-
}),
|
|
3041
|
+
}), i.value = 1, d();
|
|
3039
3042
|
}, c = (V) => {
|
|
3040
|
-
|
|
3041
|
-
},
|
|
3042
|
-
h.value = V,
|
|
3043
|
+
i.value = V, d();
|
|
3044
|
+
}, _ = (V) => {
|
|
3045
|
+
h.value = V, i.value = 1, d();
|
|
3043
3046
|
}, E = () => {
|
|
3044
3047
|
d();
|
|
3045
|
-
},
|
|
3046
|
-
current:
|
|
3048
|
+
}, A = k(() => ({
|
|
3049
|
+
current: i.value,
|
|
3047
3050
|
pageSize: h.value,
|
|
3048
3051
|
total: v.value
|
|
3049
3052
|
}));
|
|
3050
3053
|
return {
|
|
3051
|
-
loading:
|
|
3054
|
+
loading: r,
|
|
3052
3055
|
data: s,
|
|
3053
3056
|
total: v,
|
|
3054
|
-
currentPage:
|
|
3057
|
+
currentPage: i,
|
|
3055
3058
|
pageSize: h,
|
|
3056
3059
|
searchParams: m,
|
|
3057
|
-
pagination:
|
|
3060
|
+
pagination: A,
|
|
3058
3061
|
getData: d,
|
|
3059
3062
|
handleSearch: S,
|
|
3060
3063
|
handleReset: y,
|
|
3061
3064
|
handlePageChange: c,
|
|
3062
|
-
handleSizeChange:
|
|
3065
|
+
handleSizeChange: _,
|
|
3063
3066
|
refresh: E
|
|
3064
3067
|
};
|
|
3065
3068
|
}
|
|
3066
3069
|
const ot = ze("locale", () => {
|
|
3067
|
-
const t = z.get("locale") || "zh-CN", o = Gt(t), p =
|
|
3068
|
-
const c =
|
|
3070
|
+
const t = z.get("locale") || "zh-CN", o = Gt(t), p = g(t), r = Ht(), { t: s, messages: v, setLocale: i, mergeMessages: h } = Yt(), m = k(() => {
|
|
3071
|
+
const c = r.find((_) => _.code === p.value);
|
|
3069
3072
|
return (c == null ? void 0 : c.name) || p.value;
|
|
3070
3073
|
});
|
|
3071
3074
|
return {
|
|
3072
3075
|
locale: p,
|
|
3073
3076
|
localeName: m,
|
|
3074
|
-
locales:
|
|
3077
|
+
locales: r,
|
|
3075
3078
|
messages: v,
|
|
3076
3079
|
t: s,
|
|
3077
3080
|
changeLocale: (c) => {
|
|
3078
|
-
p.value = c,
|
|
3081
|
+
p.value = c, i(c), z.set("locale", c), o.setLocale(c);
|
|
3079
3082
|
},
|
|
3080
3083
|
addMessages: (c) => {
|
|
3081
3084
|
h(c);
|
|
3082
3085
|
},
|
|
3083
3086
|
initLocale: () => {
|
|
3084
|
-
|
|
3087
|
+
i(t);
|
|
3085
3088
|
},
|
|
3086
3089
|
provider: o
|
|
3087
3090
|
};
|
|
@@ -3112,11 +3115,11 @@ function Nl() {
|
|
|
3112
3115
|
return ot().t;
|
|
3113
3116
|
}
|
|
3114
3117
|
function Tl(t) {
|
|
3115
|
-
const o =
|
|
3118
|
+
const o = ue(), p = ge();
|
|
3116
3119
|
return o.isLoggedIn ? p.hasPermission(t) : !1;
|
|
3117
3120
|
}
|
|
3118
3121
|
function Ul(t) {
|
|
3119
|
-
return
|
|
3122
|
+
return ue().isLoggedIn;
|
|
3120
3123
|
}
|
|
3121
3124
|
function Pl() {
|
|
3122
3125
|
return !0;
|
|
@@ -3140,7 +3143,7 @@ const yt = [
|
|
|
3140
3143
|
{
|
|
3141
3144
|
path: "/dashboard",
|
|
3142
3145
|
name: "Dashboard",
|
|
3143
|
-
component: () => import("./index-
|
|
3146
|
+
component: () => import("./index-Dwam1Jgp.js"),
|
|
3144
3147
|
meta: {
|
|
3145
3148
|
title: "仪表盘",
|
|
3146
3149
|
icon: "dashboard",
|
|
@@ -3151,7 +3154,7 @@ const yt = [
|
|
|
3151
3154
|
{
|
|
3152
3155
|
path: "/system/user",
|
|
3153
3156
|
name: "SystemUser",
|
|
3154
|
-
component: () => import("./index-
|
|
3157
|
+
component: () => import("./index-CRTSR10l.js"),
|
|
3155
3158
|
meta: {
|
|
3156
3159
|
title: "用户管理",
|
|
3157
3160
|
icon: "user",
|
|
@@ -3161,7 +3164,7 @@ const yt = [
|
|
|
3161
3164
|
{
|
|
3162
3165
|
path: "/system/role",
|
|
3163
3166
|
name: "SystemRole",
|
|
3164
|
-
component: () => import("./index-
|
|
3167
|
+
component: () => import("./index-DOasEvMf.js"),
|
|
3165
3168
|
meta: {
|
|
3166
3169
|
title: "角色管理",
|
|
3167
3170
|
icon: "role",
|
|
@@ -3171,7 +3174,7 @@ const yt = [
|
|
|
3171
3174
|
{
|
|
3172
3175
|
path: "/system/menu",
|
|
3173
3176
|
name: "SystemMenu",
|
|
3174
|
-
component: () => import("./index-
|
|
3177
|
+
component: () => import("./index-B-oRV32U.js"),
|
|
3175
3178
|
meta: {
|
|
3176
3179
|
title: "菜单管理",
|
|
3177
3180
|
icon: "menu",
|
|
@@ -3193,7 +3196,7 @@ const yt = [
|
|
|
3193
3196
|
{
|
|
3194
3197
|
path: "/dashboard",
|
|
3195
3198
|
name: "Dashboard",
|
|
3196
|
-
component: () => import("./index-
|
|
3199
|
+
component: () => import("./index-Dwam1Jgp.js"),
|
|
3197
3200
|
meta: {
|
|
3198
3201
|
title: "仪表盘",
|
|
3199
3202
|
icon: "dashboard",
|
|
@@ -3213,7 +3216,7 @@ const yt = [
|
|
|
3213
3216
|
{
|
|
3214
3217
|
path: "user",
|
|
3215
3218
|
name: "SystemUser",
|
|
3216
|
-
component: () => import("./index-
|
|
3219
|
+
component: () => import("./index-CRTSR10l.js"),
|
|
3217
3220
|
meta: {
|
|
3218
3221
|
title: "用户管理",
|
|
3219
3222
|
icon: "user",
|
|
@@ -3223,7 +3226,7 @@ const yt = [
|
|
|
3223
3226
|
{
|
|
3224
3227
|
path: "role",
|
|
3225
3228
|
name: "SystemRole",
|
|
3226
|
-
component: () => import("./index-
|
|
3229
|
+
component: () => import("./index-DOasEvMf.js"),
|
|
3227
3230
|
meta: {
|
|
3228
3231
|
title: "角色管理",
|
|
3229
3232
|
icon: "role",
|
|
@@ -3233,7 +3236,7 @@ const yt = [
|
|
|
3233
3236
|
{
|
|
3234
3237
|
path: "menu",
|
|
3235
3238
|
name: "SystemMenu",
|
|
3236
|
-
component: () => import("./index-
|
|
3239
|
+
component: () => import("./index-B-oRV32U.js"),
|
|
3237
3240
|
meta: {
|
|
3238
3241
|
title: "菜单管理",
|
|
3239
3242
|
icon: "menu",
|
|
@@ -3296,12 +3299,12 @@ const yt = [
|
|
|
3296
3299
|
scrollBehavior: () => ({ left: 0, top: 0 })
|
|
3297
3300
|
}), nl = ["/login"];
|
|
3298
3301
|
wt.beforeEach(async (t, o, p) => {
|
|
3299
|
-
const
|
|
3300
|
-
if (
|
|
3302
|
+
const r = fe();
|
|
3303
|
+
if (r.initTheme(), mt())
|
|
3301
3304
|
if (t.path === "/login")
|
|
3302
3305
|
p({ path: "/" });
|
|
3303
3306
|
else {
|
|
3304
|
-
const s =
|
|
3307
|
+
const s = ue();
|
|
3305
3308
|
s.isLoggedIn || (s.setUserInfo({
|
|
3306
3309
|
appId: Se(),
|
|
3307
3310
|
userId: "1",
|
|
@@ -3311,7 +3314,7 @@ wt.beforeEach(async (t, o, p) => {
|
|
|
3311
3314
|
mobilePhone: "13800138000",
|
|
3312
3315
|
positionName: "管理员",
|
|
3313
3316
|
avatar: ""
|
|
3314
|
-
}), ge().setMenuList(al)), t.name && t.meta.keepAlive &&
|
|
3317
|
+
}), ge().setMenuList(al)), t.name && t.meta.keepAlive && r.addCachedView(t.name), p();
|
|
3315
3318
|
}
|
|
3316
3319
|
else
|
|
3317
3320
|
nl.includes(t.path) ? p() : p("/login");
|
|
@@ -3324,7 +3327,7 @@ function Fl() {
|
|
|
3324
3327
|
wt.matcher = t.matcher;
|
|
3325
3328
|
}
|
|
3326
3329
|
function Dl(t, o = {}) {
|
|
3327
|
-
const p = o.indexPath || "/dashboard",
|
|
3330
|
+
const p = o.indexPath || "/dashboard", r = o.logoSrc, s = {
|
|
3328
3331
|
path: "/:pathMatch(.*)*",
|
|
3329
3332
|
name: "CatchAll",
|
|
3330
3333
|
component: () => Promise.resolve().then(() => gt),
|
|
@@ -3338,7 +3341,7 @@ function Dl(t, o = {}) {
|
|
|
3338
3341
|
component: ae({
|
|
3339
3342
|
name: "LayoutWrapper",
|
|
3340
3343
|
render() {
|
|
3341
|
-
return At(_t, { logoSrc:
|
|
3344
|
+
return At(_t, { logoSrc: r || Pe("/vite.svg") });
|
|
3342
3345
|
}
|
|
3343
3346
|
}),
|
|
3344
3347
|
redirect: p,
|
|
@@ -3361,10 +3364,10 @@ function rl(t, o) {
|
|
|
3361
3364
|
}
|
|
3362
3365
|
function Bl(t, o = {}) {
|
|
3363
3366
|
const p = o.whiteList || ll;
|
|
3364
|
-
t.beforeEach(async (
|
|
3365
|
-
const
|
|
3366
|
-
if (
|
|
3367
|
-
if (
|
|
3367
|
+
t.beforeEach(async (r, s, v) => {
|
|
3368
|
+
const i = fe(), h = ue(), m = ge(), d = i.loginPath || o.loginPath || "/login";
|
|
3369
|
+
if (i.initTheme(), ut())
|
|
3370
|
+
if (r.path === d || r.name === "Login")
|
|
3368
3371
|
v({ name: "Dashboard" });
|
|
3369
3372
|
else if (h.isLoggedIn) {
|
|
3370
3373
|
if (!m.hasMenu)
|
|
@@ -3374,7 +3377,7 @@ function Bl(t, o = {}) {
|
|
|
3374
3377
|
} catch (y) {
|
|
3375
3378
|
console.warn("补拉菜单失败:", y);
|
|
3376
3379
|
}
|
|
3377
|
-
|
|
3380
|
+
r.name && r.meta.keepAlive && i.addCachedView(r.name), v();
|
|
3378
3381
|
} else
|
|
3379
3382
|
try {
|
|
3380
3383
|
if (o.fetchUserInfo) {
|
|
@@ -3391,12 +3394,12 @@ function Bl(t, o = {}) {
|
|
|
3391
3394
|
const y = await lt(o.appId);
|
|
3392
3395
|
m.setMenuList(y);
|
|
3393
3396
|
}
|
|
3394
|
-
o.onLoginSuccess && o.onLoginSuccess(),
|
|
3397
|
+
o.onLoginSuccess && o.onLoginSuccess(), r.name && r.meta.keepAlive && i.addCachedView(r.name), v({ ...r, replace: !0 });
|
|
3395
3398
|
} catch (y) {
|
|
3396
|
-
console.error("获取用户信息失败:", y), h.clearUserInfo(), m.clearMenu(), pt(), v({ name: "Login", query: { redirect:
|
|
3399
|
+
console.error("获取用户信息失败:", y), h.clearUserInfo(), m.clearMenu(), pt(), v({ name: "Login", query: { redirect: r.fullPath } });
|
|
3397
3400
|
}
|
|
3398
3401
|
else
|
|
3399
|
-
rl(
|
|
3402
|
+
rl(r.path, p) || r.name === "Login" || r.name === "NotFound" || r.name === "Forbidden" ? v() : v({ name: "Login", query: { redirect: r.fullPath } });
|
|
3400
3403
|
}), t.afterEach(() => {
|
|
3401
3404
|
});
|
|
3402
3405
|
}
|
|
@@ -3404,11 +3407,11 @@ var il = /* @__PURE__ */ ((t) => (t[t.ENABLED = 1] = "ENABLED", t[t.DISABLED = 0
|
|
|
3404
3407
|
const Ol = {
|
|
3405
3408
|
1: "启用",
|
|
3406
3409
|
0: "禁用"
|
|
3407
|
-
},
|
|
3410
|
+
}, Rl = {
|
|
3408
3411
|
0: "未知",
|
|
3409
3412
|
1: "男",
|
|
3410
3413
|
2: "女"
|
|
3411
|
-
},
|
|
3414
|
+
}, Vl = {
|
|
3412
3415
|
0: "目录",
|
|
3413
3416
|
1: "菜单",
|
|
3414
3417
|
2: "按钮"
|
|
@@ -3457,14 +3460,14 @@ const Ol = {
|
|
|
3457
3460
|
}
|
|
3458
3461
|
], ql = {
|
|
3459
3462
|
mounted(t, o) {
|
|
3460
|
-
var
|
|
3461
|
-
const p =
|
|
3463
|
+
var i, h;
|
|
3464
|
+
const p = ue(), r = ge();
|
|
3462
3465
|
if (!p.isLoggedIn) {
|
|
3463
|
-
(
|
|
3466
|
+
(i = t.parentNode) == null || i.removeChild(t);
|
|
3464
3467
|
return;
|
|
3465
3468
|
}
|
|
3466
3469
|
const s = o.value, v = Array.isArray(s) ? s : [s];
|
|
3467
|
-
|
|
3470
|
+
r.hasPermission(v) || (h = t.parentNode) == null || h.removeChild(t);
|
|
3468
3471
|
}
|
|
3469
3472
|
};
|
|
3470
3473
|
async function Gl(t) {
|
|
@@ -3476,11 +3479,11 @@ async function Gl(t) {
|
|
|
3476
3479
|
apiBaseUrl: o || t.apiBaseUrl,
|
|
3477
3480
|
basePath: t.basePath
|
|
3478
3481
|
}), t.basePath && St(t.basePath);
|
|
3479
|
-
const p = typeof window < "u" && window.location.pathname.includes("/h5/"),
|
|
3480
|
-
if (
|
|
3482
|
+
const p = typeof window < "u" && window.location.pathname.includes("/h5/"), r = t.appId || Se();
|
|
3483
|
+
if (r && !p)
|
|
3481
3484
|
try {
|
|
3482
3485
|
const s = await Promise.race([
|
|
3483
|
-
It(
|
|
3486
|
+
It(r),
|
|
3484
3487
|
new Promise((v) => setTimeout(() => v(null), 2e3))
|
|
3485
3488
|
]);
|
|
3486
3489
|
s && typeof s == "object" && Et(s);
|
|
@@ -3522,7 +3525,7 @@ export {
|
|
|
3522
3525
|
ot as N,
|
|
3523
3526
|
ge as O,
|
|
3524
3527
|
Il as P,
|
|
3525
|
-
|
|
3528
|
+
ue as Q,
|
|
3526
3529
|
il as S,
|
|
3527
3530
|
Cl as T,
|
|
3528
3531
|
ne as _,
|
|
@@ -3531,8 +3534,8 @@ export {
|
|
|
3531
3534
|
wl as c,
|
|
3532
3535
|
$l as d,
|
|
3533
3536
|
jl as e,
|
|
3534
|
-
|
|
3535
|
-
|
|
3537
|
+
Rl as f,
|
|
3538
|
+
Vl as g,
|
|
3536
3539
|
Zn as h,
|
|
3537
3540
|
jn as i,
|
|
3538
3541
|
dt as j,
|