xto-fronted 0.9.0 → 0.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{index-C4XoKbUh.js → index-5-8RNGND.js} +1075 -1073
- package/dist/{index-BTlDtwrl.js → index-BYChodrz.js} +1 -1
- package/dist/{index-Bv0RBhQX.js → index-C4x3PSxY.js} +1 -1
- package/dist/{index-BL_15V_t.js → index-CsQthEv2.js} +1 -1
- package/dist/{index-Biperpfs.js → index-cytRUeAK.js} +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/src/stores/app.ts +15 -10
|
@@ -1,115 +1,117 @@
|
|
|
1
|
-
import { y as T, z as
|
|
2
|
-
import { ref as
|
|
3
|
-
import { defineStore as
|
|
4
|
-
import { useRoute as
|
|
5
|
-
import { SubMenu as
|
|
6
|
-
import { Icon as
|
|
7
|
-
import { Drawer as
|
|
8
|
-
import { Form as
|
|
9
|
-
import { createLocaleProvider as
|
|
10
|
-
function
|
|
1
|
+
import { y as T, z as st, A as Me, B as rt, C as it, D as ct, E as ut, F as Te, p as yt, G as dt, H as bt, j as ot, n as wt, I as kt, J as at, K as xt, L as Ct, M as $t, h as Lt, N as Mt } from "./user-B0q24FmO.js";
|
|
2
|
+
import { ref as y, computed as k, watch as Le, defineComponent as ce, resolveComponent as mt, openBlock as o, createBlock as A, unref as l, withCtx as S, createElementBlock as c, Fragment as j, renderList as J, createElementVNode as e, toDisplayString as x, createCommentVNode as z, normalizeClass as Z, withDirectives as De, vShow as St, createVNode as w, createTextVNode as Ce, onMounted as qe, onUnmounted as He, vModelText as Ye, Transition as Se, withModifiers as Ae, normalizeStyle as Ue, reactive as Ge, createStaticVNode as Fe, withKeys as Nt, h as Et } from "vue";
|
|
3
|
+
import { defineStore as Pe } from "pinia";
|
|
4
|
+
import { useRoute as Ee, useRouter as be, createRouter as Xe, createWebHistory as Je } from "vue-router";
|
|
5
|
+
import { SubMenu as We, MenuItem as Ie, Menu as Ze, Tabs as It, TabPane as Ut } from "@xto/navigation";
|
|
6
|
+
import { Icon as U, Button as Ne } from "@xto/base";
|
|
7
|
+
import { Drawer as Qe, Message as Tt } from "@xto/feedback";
|
|
8
|
+
import { Form as Pt, FormItem as Be, Input as nt, Checkbox as zt } from "@xto/form";
|
|
9
|
+
import { createLocaleProvider as Ft, getSupportedLocales as Dt, useLocale as At } from "@xto/core/locale";
|
|
10
|
+
function Bt(t) {
|
|
11
11
|
const n = /^#?([0-9a-f]{6})$/i.exec(t.trim());
|
|
12
12
|
if (!n) return null;
|
|
13
13
|
const m = parseInt(n[1], 16);
|
|
14
14
|
return [m >> 16 & 255, m >> 8 & 255, m & 255];
|
|
15
15
|
}
|
|
16
|
-
function
|
|
16
|
+
function $e(t) {
|
|
17
17
|
const n = T.get(t);
|
|
18
18
|
return n === null || n === "" ? void 0 : n;
|
|
19
19
|
}
|
|
20
|
-
const
|
|
21
|
-
const t =
|
|
22
|
-
|
|
23
|
-
},
|
|
24
|
-
|
|
25
|
-
},
|
|
26
|
-
|
|
27
|
-
}, V = () => {
|
|
28
|
-
const M = document.documentElement;
|
|
29
|
-
s.value ? M.classList.add("dark") : M.classList.remove("dark");
|
|
30
|
-
}, Q = () => {
|
|
31
|
-
s.value = !s.value, o.value = s.value ? "dark" : "light", X();
|
|
32
|
-
}, ee = (M) => {
|
|
33
|
-
o.value = M, s.value = M === "dark", X();
|
|
34
|
-
}, X = () => {
|
|
35
|
-
V(), T.set("isDark", s.value), T.set("theme", o.value);
|
|
20
|
+
const Vt = ["layout", "primaryColor", "theme", "isDark", "showTabs", "showBreadcrumb", "showFooter"], _e = Pe("app", () => {
|
|
21
|
+
const t = st(), n = t.features || {}, m = y(T.get("appName") || "XTO App"), a = y(T.get("indexPath") || "/dashboard"), s = y(T.get("loginPath") || "/login"), p = y($e("theme") ?? t.theme ?? "light"), i = y(p.value === "dark"), h = y($e("layout") ?? t.layout ?? "sidebar"), d = y(T.get("isCollapsed") || !1), f = y($e("showTabs") ?? n.showTabs ?? !0), _ = y($e("showFooter") ?? n.showFooter ?? !0), g = y($e("showBreadcrumb") ?? n.showBreadcrumb ?? !0), u = y($e("primaryColor") ?? t.primaryColor ?? "#4F46E5"), W = y(t.allowUserOverride !== !1), P = y([]), B = y([]), V = k(() => i.value ? "dark" : "light"), R = (M) => {
|
|
22
|
+
m.value = M, T.set("appName", M);
|
|
23
|
+
}, H = (M) => {
|
|
24
|
+
a.value = M, T.set("indexPath", M);
|
|
25
|
+
}, Q = (M) => {
|
|
26
|
+
s.value = M, T.set("loginPath", M);
|
|
36
27
|
}, G = () => {
|
|
37
|
-
|
|
38
|
-
|
|
28
|
+
const M = document.documentElement;
|
|
29
|
+
i.value ? M.classList.add("dark") : M.classList.remove("dark");
|
|
30
|
+
}, ee = () => {
|
|
31
|
+
i.value = !i.value, p.value = i.value ? "dark" : "light", te();
|
|
32
|
+
}, Y = (M) => {
|
|
33
|
+
p.value = M, i.value = M === "dark", te();
|
|
34
|
+
}, te = () => {
|
|
35
|
+
G(), T.set("isDark", i.value), T.set("theme", p.value);
|
|
36
|
+
}, D = () => {
|
|
37
|
+
d.value = !d.value, T.set("isCollapsed", d.value);
|
|
38
|
+
}, E = (M) => {
|
|
39
39
|
h.value = M, T.set("layout", M);
|
|
40
40
|
}, F = () => {
|
|
41
|
-
|
|
42
|
-
},
|
|
43
|
-
|
|
44
|
-
},
|
|
45
|
-
|
|
46
|
-
},
|
|
47
|
-
const
|
|
48
|
-
|
|
49
|
-
const
|
|
50
|
-
if (
|
|
51
|
-
const
|
|
52
|
-
const
|
|
53
|
-
return `#${
|
|
41
|
+
f.value = !f.value, T.set("showTabs", f.value);
|
|
42
|
+
}, X = () => {
|
|
43
|
+
_.value = !_.value, T.set("showFooter", _.value);
|
|
44
|
+
}, K = () => {
|
|
45
|
+
g.value = !g.value, T.set("showBreadcrumb", g.value);
|
|
46
|
+
}, oe = (M) => {
|
|
47
|
+
const q = document.documentElement;
|
|
48
|
+
q.style.setProperty("--xto-color-primary", M);
|
|
49
|
+
const pe = Bt(M);
|
|
50
|
+
if (pe) {
|
|
51
|
+
const ve = (ne, ke) => {
|
|
52
|
+
const ye = ke ? [255, 255, 255] : [0, 0, 0];
|
|
53
|
+
return `#${pe.map((I, b) => Math.round(I + (ye[b] - I) * ne)).map((I) => I.toString(16).padStart(2, "0")).join("")}`;
|
|
54
54
|
};
|
|
55
|
-
for (let
|
|
56
|
-
|
|
57
|
-
|
|
55
|
+
for (let ne = 1; ne <= 9; ne++)
|
|
56
|
+
q.style.setProperty(`--xto-color-primary-light-${ne}`, ve(ne * 0.1, !0));
|
|
57
|
+
q.style.setProperty("--xto-color-primary-dark-1", ve(0.12, !1)), q.style.setProperty("--xto-color-primary-dark-2", ve(0.28, !1)), q.style.setProperty("--xto-color-primary-dark-3", ve(0.45, !1)), q.style.setProperty("--xto-color-ring", M);
|
|
58
58
|
}
|
|
59
|
-
},
|
|
60
|
-
|
|
61
|
-
},
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
u.value.
|
|
65
|
-
},
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
},
|
|
71
|
-
|
|
72
|
-
},
|
|
73
|
-
|
|
59
|
+
}, he = (M) => {
|
|
60
|
+
u.value = M, oe(M), T.set("primaryColor", M);
|
|
61
|
+
}, we = () => {
|
|
62
|
+
Vt.forEach((pe) => T.remove(pe));
|
|
63
|
+
const M = st(), q = M.features || {};
|
|
64
|
+
h.value = M.layout ?? "sidebar", u.value = M.primaryColor ?? "#4F46E5", p.value = M.theme ?? "light", i.value = p.value === "dark", f.value = q.showTabs ?? !0, _.value = q.showFooter ?? !0, g.value = q.showBreadcrumb ?? !0, G(), oe(u.value);
|
|
65
|
+
}, re = (M) => {
|
|
66
|
+
P.value.includes(M) || P.value.push(M);
|
|
67
|
+
}, me = (M) => {
|
|
68
|
+
const q = P.value.indexOf(M);
|
|
69
|
+
q > -1 && P.value.splice(q, 1);
|
|
70
|
+
}, ge = () => {
|
|
71
|
+
P.value = [];
|
|
72
|
+
}, ie = (M) => {
|
|
73
|
+
B.value = M;
|
|
74
|
+
}, ae = () => {
|
|
75
|
+
G(), oe(u.value);
|
|
74
76
|
};
|
|
75
|
-
return
|
|
76
|
-
appName:
|
|
77
|
-
indexPath:
|
|
78
|
-
loginPath:
|
|
79
|
-
isDark:
|
|
80
|
-
theme:
|
|
77
|
+
return Le(i, G), {
|
|
78
|
+
appName: m,
|
|
79
|
+
indexPath: a,
|
|
80
|
+
loginPath: s,
|
|
81
|
+
isDark: i,
|
|
82
|
+
theme: p,
|
|
81
83
|
layout: h,
|
|
82
|
-
isCollapsed:
|
|
83
|
-
showTabs:
|
|
84
|
-
showFooter:
|
|
85
|
-
showBreadcrumb:
|
|
86
|
-
primaryColor:
|
|
87
|
-
allowUserOverride:
|
|
88
|
-
cachedViews:
|
|
89
|
-
mixSubMenus:
|
|
90
|
-
themeClass:
|
|
91
|
-
setAppName:
|
|
92
|
-
setIndexPath:
|
|
93
|
-
setLoginPath:
|
|
94
|
-
toggleTheme:
|
|
95
|
-
toggleCollapse:
|
|
96
|
-
setTheme:
|
|
97
|
-
setLayout:
|
|
84
|
+
isCollapsed: d,
|
|
85
|
+
showTabs: f,
|
|
86
|
+
showFooter: _,
|
|
87
|
+
showBreadcrumb: g,
|
|
88
|
+
primaryColor: u,
|
|
89
|
+
allowUserOverride: W,
|
|
90
|
+
cachedViews: P,
|
|
91
|
+
mixSubMenus: B,
|
|
92
|
+
themeClass: V,
|
|
93
|
+
setAppName: R,
|
|
94
|
+
setIndexPath: H,
|
|
95
|
+
setLoginPath: Q,
|
|
96
|
+
toggleTheme: ee,
|
|
97
|
+
toggleCollapse: D,
|
|
98
|
+
setTheme: Y,
|
|
99
|
+
setLayout: E,
|
|
98
100
|
toggleTabs: F,
|
|
99
|
-
toggleFooter:
|
|
100
|
-
toggleBreadcrumb:
|
|
101
|
-
setPrimaryColor:
|
|
102
|
-
resetToServerDefaults:
|
|
103
|
-
addCachedView:
|
|
104
|
-
removeCachedView:
|
|
105
|
-
clearCachedViews:
|
|
106
|
-
setMixSubMenus:
|
|
107
|
-
initTheme:
|
|
101
|
+
toggleFooter: X,
|
|
102
|
+
toggleBreadcrumb: K,
|
|
103
|
+
setPrimaryColor: he,
|
|
104
|
+
resetToServerDefaults: we,
|
|
105
|
+
addCachedView: re,
|
|
106
|
+
removeCachedView: me,
|
|
107
|
+
clearCachedViews: ge,
|
|
108
|
+
setMixSubMenus: ie,
|
|
109
|
+
initTheme: ae
|
|
108
110
|
};
|
|
109
|
-
}),
|
|
111
|
+
}), Ot = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
110
112
|
__proto__: null,
|
|
111
|
-
useAppStore:
|
|
112
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
113
|
+
useAppStore: _e
|
|
114
|
+
}, Symbol.toStringTag, { value: "Module" })), Rt = "menu_list", Kt = "permission_list", Ve = () => `${Rt}_${Me()}`, Oe = () => `${Kt}_${Me()}`, jt = {
|
|
113
115
|
menuCode: "home",
|
|
114
116
|
menuName: "首页",
|
|
115
117
|
menuUrl: "/dashboard",
|
|
@@ -118,60 +120,60 @@ const ye = bt(), Me = ye.features || {}, Rt = ["layout", "primaryColor", "theme"
|
|
|
118
120
|
isDefault: !1,
|
|
119
121
|
isOut: !1
|
|
120
122
|
};
|
|
121
|
-
function
|
|
123
|
+
function pt(t) {
|
|
122
124
|
return t.filter((n) => n.type !== 1).map((n) => ({
|
|
123
125
|
...n,
|
|
124
|
-
children: n.children ?
|
|
126
|
+
children: n.children ? pt(n.children) : void 0
|
|
125
127
|
}));
|
|
126
128
|
}
|
|
127
|
-
function
|
|
129
|
+
function Wt(t) {
|
|
128
130
|
const n = [];
|
|
129
|
-
function m(
|
|
130
|
-
|
|
131
|
+
function m(a) {
|
|
132
|
+
a.forEach((s) => {
|
|
131
133
|
s.type === 1 && s.menuCode && n.push(s.menuCode), s.children && m(s.children);
|
|
132
134
|
});
|
|
133
135
|
}
|
|
134
136
|
return m(t), n;
|
|
135
137
|
}
|
|
136
|
-
const
|
|
137
|
-
const t =
|
|
138
|
+
const fe = Pe("menu", () => {
|
|
139
|
+
const t = y(T.get(Ve()) || []), n = y(T.get(Oe()) || []), m = k(() => t.value.length > 0);
|
|
138
140
|
return {
|
|
139
141
|
menuList: t,
|
|
140
142
|
permissions: n,
|
|
141
143
|
hasMenu: m,
|
|
142
144
|
setMenuList: (i) => {
|
|
143
|
-
n.value =
|
|
144
|
-
const
|
|
145
|
-
t.value = [
|
|
145
|
+
n.value = Wt(i), T.set(Oe(), n.value);
|
|
146
|
+
const h = pt(i);
|
|
147
|
+
t.value = [jt, ...h], T.set(Ve(), t.value);
|
|
146
148
|
},
|
|
147
149
|
clearMenu: () => {
|
|
148
|
-
t.value = [], n.value = [], T.remove(
|
|
150
|
+
t.value = [], n.value = [], T.remove(Ve()), T.remove(Oe());
|
|
149
151
|
},
|
|
150
|
-
hasPermission: (i) => Array.isArray(i) ? i.some((
|
|
152
|
+
hasPermission: (i) => Array.isArray(i) ? i.some((h) => n.value.includes(h)) : n.value.includes(i)
|
|
151
153
|
};
|
|
152
|
-
}),
|
|
153
|
-
const t =
|
|
154
|
+
}), Re = "user_info", ue = Pe("user", () => {
|
|
155
|
+
const t = y(T.get(Re)), n = k(() => !!t.value), m = k(() => {
|
|
154
156
|
var u;
|
|
155
157
|
return ((u = t.value) == null ? void 0 : u.userId) || "";
|
|
156
|
-
}),
|
|
158
|
+
}), a = k(() => {
|
|
157
159
|
var u;
|
|
158
160
|
return ((u = t.value) == null ? void 0 : u.userName) || "";
|
|
159
|
-
}), s =
|
|
161
|
+
}), s = k(() => {
|
|
160
162
|
var u;
|
|
161
163
|
return ((u = t.value) == null ? void 0 : u.departmentName) || "";
|
|
162
|
-
}),
|
|
164
|
+
}), p = k(() => {
|
|
163
165
|
var u;
|
|
164
166
|
return ((u = t.value) == null ? void 0 : u.roleName) || "";
|
|
165
|
-
}), i =
|
|
167
|
+
}), i = k(() => {
|
|
166
168
|
var u;
|
|
167
169
|
return ((u = t.value) == null ? void 0 : u.email) || "";
|
|
168
|
-
}),
|
|
170
|
+
}), h = k(() => {
|
|
169
171
|
var u;
|
|
170
172
|
return ((u = t.value) == null ? void 0 : u.mobilePhone) || "";
|
|
171
|
-
}), d =
|
|
173
|
+
}), d = k(() => {
|
|
172
174
|
var u;
|
|
173
175
|
return ((u = t.value) == null ? void 0 : u.positionName) || "";
|
|
174
|
-
}), f =
|
|
176
|
+
}), f = k(() => {
|
|
175
177
|
var u;
|
|
176
178
|
return ((u = t.value) == null ? void 0 : u.avatar) || "";
|
|
177
179
|
});
|
|
@@ -179,58 +181,58 @@ const _e = Fe("menu", () => {
|
|
|
179
181
|
userInfo: t,
|
|
180
182
|
isLoggedIn: n,
|
|
181
183
|
userId: m,
|
|
182
|
-
userName:
|
|
184
|
+
userName: a,
|
|
183
185
|
departmentName: s,
|
|
184
|
-
roleName:
|
|
186
|
+
roleName: p,
|
|
185
187
|
email: i,
|
|
186
|
-
mobilePhone:
|
|
188
|
+
mobilePhone: h,
|
|
187
189
|
positionName: d,
|
|
188
190
|
avatar: f,
|
|
189
191
|
setUserInfo: (u) => {
|
|
190
|
-
t.value = u, T.set(
|
|
192
|
+
t.value = u, T.set(Re, u);
|
|
191
193
|
},
|
|
192
194
|
clearUserInfo: () => {
|
|
193
|
-
t.value = null, T.remove(
|
|
195
|
+
t.value = null, T.remove(Re);
|
|
194
196
|
}
|
|
195
197
|
};
|
|
196
|
-
}),
|
|
197
|
-
const t =
|
|
198
|
+
}), ze = Pe("auth", () => {
|
|
199
|
+
const t = y(rt()), n = k(() => it()), m = y(""), a = y(""), s = y(""), p = y("/login");
|
|
198
200
|
return {
|
|
199
201
|
token: t,
|
|
200
202
|
isLoggedIn: n,
|
|
201
203
|
baseUrl: m,
|
|
202
|
-
appId:
|
|
204
|
+
appId: a,
|
|
203
205
|
clientId: s,
|
|
204
|
-
loginPath:
|
|
206
|
+
loginPath: p,
|
|
205
207
|
login: (u) => {
|
|
206
|
-
t.value = u.access_token,
|
|
208
|
+
t.value = u.access_token, ut(u);
|
|
207
209
|
},
|
|
208
210
|
logout: () => {
|
|
209
|
-
t.value = null,
|
|
211
|
+
t.value = null, ct();
|
|
210
212
|
},
|
|
211
213
|
setBaseUrl: (u) => {
|
|
212
214
|
m.value = u;
|
|
213
215
|
},
|
|
214
216
|
setAppId: (u) => {
|
|
215
|
-
|
|
217
|
+
a.value = u;
|
|
216
218
|
},
|
|
217
219
|
setClientId: (u) => {
|
|
218
220
|
s.value = u;
|
|
219
221
|
},
|
|
220
222
|
setLoginPath: (u) => {
|
|
221
|
-
|
|
223
|
+
p.value = u;
|
|
222
224
|
}
|
|
223
225
|
};
|
|
224
|
-
}),
|
|
226
|
+
}), qt = { class: "menu-item__content" }, Ht = { class: "menu-item__icon" }, Yt = {
|
|
225
227
|
key: 1,
|
|
226
228
|
class: "menu-item__char"
|
|
227
|
-
},
|
|
229
|
+
}, Gt = { class: "menu-item__text" }, Xt = { class: "menu-item__content" }, Jt = {
|
|
228
230
|
key: 0,
|
|
229
231
|
class: "menu-item__icon"
|
|
230
|
-
},
|
|
232
|
+
}, Zt = {
|
|
231
233
|
key: 1,
|
|
232
234
|
class: "menu-item__char"
|
|
233
|
-
},
|
|
235
|
+
}, Qt = { class: "menu-item__text" }, es = /* @__PURE__ */ ce({
|
|
234
236
|
__name: "SidebarMenuItem",
|
|
235
237
|
props: {
|
|
236
238
|
menu: {}
|
|
@@ -338,7 +340,7 @@ const _e = Fe("menu", () => {
|
|
|
338
340
|
"sun",
|
|
339
341
|
"theme",
|
|
340
342
|
"skin"
|
|
341
|
-
]),
|
|
343
|
+
]), a = (d) => {
|
|
342
344
|
if (!d || d === "") return "";
|
|
343
345
|
if (d.startsWith("tineco-icon-")) {
|
|
344
346
|
const _ = d.replace("tineco-icon-", "");
|
|
@@ -375,64 +377,64 @@ const _e = Fe("menu", () => {
|
|
|
375
377
|
list: "list",
|
|
376
378
|
grid: "grid"
|
|
377
379
|
}[d] || d;
|
|
378
|
-
}, s = (d) => d ? d.charAt(0) : "",
|
|
380
|
+
}, s = (d) => d ? d.charAt(0) : "", p = (d) => m.has(d), i = k(() => n.menu.menuId || n.menu.menuCode || n.menu.menuUrl || ""), h = k(() => n.menu.children && n.menu.children.length > 0);
|
|
379
381
|
return (d, f) => {
|
|
380
|
-
const _ =
|
|
381
|
-
return
|
|
382
|
+
const _ = mt("SidebarMenuItem", !0);
|
|
383
|
+
return h.value ? (o(), A(l(We), {
|
|
382
384
|
key: 0,
|
|
383
385
|
index: i.value
|
|
384
386
|
}, {
|
|
385
387
|
title: S(() => [
|
|
386
|
-
e("span",
|
|
387
|
-
e("span",
|
|
388
|
-
|
|
388
|
+
e("span", qt, [
|
|
389
|
+
e("span", Ht, [
|
|
390
|
+
p(a(t.menu.icon)) ? (o(), A(l(U), {
|
|
389
391
|
key: 0,
|
|
390
|
-
name:
|
|
392
|
+
name: a(t.menu.icon),
|
|
391
393
|
size: 16
|
|
392
|
-
}, null, 8, ["name"])) : (
|
|
394
|
+
}, null, 8, ["name"])) : (o(), c("span", Yt, x(s(t.menu.menuName)), 1))
|
|
393
395
|
]),
|
|
394
|
-
e("span",
|
|
396
|
+
e("span", Gt, x(t.menu.menuName), 1)
|
|
395
397
|
])
|
|
396
398
|
]),
|
|
397
399
|
default: S(() => [
|
|
398
|
-
(
|
|
399
|
-
key:
|
|
400
|
-
menu:
|
|
400
|
+
(o(!0), c(j, null, J(t.menu.children, (g) => (o(), A(_, {
|
|
401
|
+
key: g.menuId || g.menuCode || g.menuUrl,
|
|
402
|
+
menu: g
|
|
401
403
|
}, null, 8, ["menu"]))), 128))
|
|
402
404
|
]),
|
|
403
405
|
_: 1
|
|
404
|
-
}, 8, ["index"])) : (
|
|
406
|
+
}, 8, ["index"])) : (o(), A(l(Ie), {
|
|
405
407
|
key: 1,
|
|
406
408
|
index: t.menu.menuUrl || i.value
|
|
407
409
|
}, {
|
|
408
410
|
default: S(() => [
|
|
409
|
-
e("span",
|
|
410
|
-
t.menu.menuName !== "首页" ? (
|
|
411
|
-
|
|
411
|
+
e("span", Xt, [
|
|
412
|
+
t.menu.menuName !== "首页" ? (o(), c("span", Jt, [
|
|
413
|
+
p(a(t.menu.icon)) ? (o(), A(l(U), {
|
|
412
414
|
key: 0,
|
|
413
|
-
name:
|
|
415
|
+
name: a(t.menu.icon),
|
|
414
416
|
size: 16
|
|
415
|
-
}, null, 8, ["name"])) : (
|
|
416
|
-
])) :
|
|
417
|
-
e("span",
|
|
417
|
+
}, null, 8, ["name"])) : (o(), c("span", Zt, x(s(t.menu.menuName)), 1))
|
|
418
|
+
])) : z("", !0),
|
|
419
|
+
e("span", Qt, x(t.menu.menuName), 1)
|
|
418
420
|
])
|
|
419
421
|
]),
|
|
420
422
|
_: 1
|
|
421
423
|
}, 8, ["index"]));
|
|
422
424
|
};
|
|
423
425
|
}
|
|
424
|
-
}),
|
|
426
|
+
}), de = (t, n) => {
|
|
425
427
|
const m = t.__vccOpts || t;
|
|
426
|
-
for (const [
|
|
427
|
-
m[
|
|
428
|
+
for (const [a, s] of n)
|
|
429
|
+
m[a] = s;
|
|
428
430
|
return m;
|
|
429
|
-
},
|
|
431
|
+
}, ts = /* @__PURE__ */ de(es, [["__scopeId", "data-v-03a4d35c"]]), ss = {
|
|
430
432
|
key: 0,
|
|
431
433
|
class: "sidebar__logo"
|
|
432
|
-
},
|
|
434
|
+
}, os = ["src"], as = {
|
|
433
435
|
key: 1,
|
|
434
436
|
class: "sidebar__user"
|
|
435
|
-
},
|
|
437
|
+
}, ns = { class: "sidebar__user-info" }, ls = { class: "sidebar__user-name" }, rs = { class: "sidebar__user-role" }, Ke = "sidebar_opened_menus", je = "sidebar_menu_list_key", is = /* @__PURE__ */ ce({
|
|
436
438
|
__name: "Sidebar",
|
|
437
439
|
props: {
|
|
438
440
|
menuList: { default: () => [] },
|
|
@@ -441,79 +443,79 @@ const _e = Fe("menu", () => {
|
|
|
441
443
|
logoSrc: {}
|
|
442
444
|
},
|
|
443
445
|
setup(t) {
|
|
444
|
-
const n = t, m =
|
|
445
|
-
|
|
446
|
-
T.set(
|
|
446
|
+
const n = t, m = k(() => n.logoSrc || Te("/vite.svg")), a = Ee(), s = be(), p = fe(), i = ue(), h = ze(), d = _e(), f = k(() => n.menuList.length > 0 ? n.menuList : p.menuList), _ = k(() => d.isCollapsed), g = k(() => a.path), u = (D) => D.menuId || D.menuCode || D.menuUrl || "", W = () => f.value.map(u).join(","), P = T.get(je) || "", B = W(), V = P === B ? T.get(Ke) || [] : [], R = y(V);
|
|
447
|
+
Le(R, (D) => {
|
|
448
|
+
T.set(Ke, D), T.set(je, W());
|
|
447
449
|
}, { deep: !0 });
|
|
448
|
-
const
|
|
449
|
-
var
|
|
450
|
-
for (const
|
|
451
|
-
if (
|
|
452
|
-
return [...
|
|
453
|
-
if ((
|
|
454
|
-
const
|
|
455
|
-
if (
|
|
450
|
+
const H = (D, E, F = []) => {
|
|
451
|
+
var X;
|
|
452
|
+
for (const K of D) {
|
|
453
|
+
if (K.menuUrl && (E === K.menuUrl || E.startsWith(K.menuUrl + "/")))
|
|
454
|
+
return [...F, u(K)];
|
|
455
|
+
if ((X = K.children) != null && X.length) {
|
|
456
|
+
const oe = H(K.children, E, [...F, u(K)]);
|
|
457
|
+
if (oe) return oe;
|
|
456
458
|
}
|
|
457
459
|
}
|
|
458
460
|
return null;
|
|
459
461
|
};
|
|
460
|
-
|
|
462
|
+
Le([() => a.path, f], ([D, E]) => {
|
|
461
463
|
if (E.length > 0) {
|
|
462
|
-
const
|
|
463
|
-
if (
|
|
464
|
-
const
|
|
465
|
-
|
|
464
|
+
const F = H(E, D);
|
|
465
|
+
if (F) {
|
|
466
|
+
const X = F.slice(0, -1), K = /* @__PURE__ */ new Set([...R.value, ...X]);
|
|
467
|
+
R.value = Array.from(K);
|
|
466
468
|
}
|
|
467
469
|
}
|
|
468
|
-
}, { immediate: !0 }),
|
|
469
|
-
|
|
470
|
+
}, { immediate: !0 }), Le(f, (D, E) => {
|
|
471
|
+
D !== E && (R.value = [], T.set(Ke, []), T.set(je, W()));
|
|
470
472
|
}, { immediate: !1 });
|
|
471
|
-
const Q =
|
|
472
|
-
|
|
473
|
+
const Q = k(() => d.isDark ? "#161B21" : "#fff"), G = k(() => d.isDark ? "#D9DCE1" : "#4E5566"), ee = k(() => d.isDark ? "#818CF8" : "#4F46E5"), Y = (D) => {
|
|
474
|
+
D && D !== a.path && s.push(D);
|
|
473
475
|
}, te = () => {
|
|
474
|
-
|
|
476
|
+
h.logout(), i.clearUserInfo(), p.clearMenu(), s.push(d.loginPath);
|
|
475
477
|
};
|
|
476
|
-
return (
|
|
478
|
+
return (D, E) => (o(), c("div", {
|
|
477
479
|
class: Z(["sidebar", { "sidebar--collapsed": _.value }])
|
|
478
480
|
}, [
|
|
479
|
-
n.showLogo ? (
|
|
481
|
+
n.showLogo ? (o(), c("div", ss, [
|
|
480
482
|
e("img", {
|
|
481
483
|
src: m.value,
|
|
482
484
|
alt: "Logo",
|
|
483
485
|
class: "sidebar__logo-img"
|
|
484
|
-
}, null, 8,
|
|
485
|
-
|
|
486
|
-
[
|
|
486
|
+
}, null, 8, os),
|
|
487
|
+
De(e("span", { class: "sidebar__logo-text" }, x(l(d).appName), 513), [
|
|
488
|
+
[St, !_.value]
|
|
487
489
|
])
|
|
488
|
-
])) :
|
|
489
|
-
|
|
490
|
-
modelValue:
|
|
491
|
-
"onUpdate:modelValue": E[0] || (E[0] = (
|
|
492
|
-
openeds:
|
|
493
|
-
"onUpdate:openeds": E[1] || (E[1] = (
|
|
490
|
+
])) : z("", !0),
|
|
491
|
+
w(l(Ze), {
|
|
492
|
+
modelValue: g.value,
|
|
493
|
+
"onUpdate:modelValue": E[0] || (E[0] = (F) => g.value = F),
|
|
494
|
+
openeds: R.value,
|
|
495
|
+
"onUpdate:openeds": E[1] || (E[1] = (F) => R.value = F),
|
|
494
496
|
mode: "vertical",
|
|
495
497
|
collapse: _.value,
|
|
496
498
|
"collapse-transition": !1,
|
|
497
499
|
"background-color": Q.value,
|
|
498
|
-
"text-color":
|
|
499
|
-
"active-text-color":
|
|
500
|
+
"text-color": G.value,
|
|
501
|
+
"active-text-color": ee.value,
|
|
500
502
|
class: "sidebar__menu",
|
|
501
|
-
onSelect:
|
|
503
|
+
onSelect: Y
|
|
502
504
|
}, {
|
|
503
505
|
default: S(() => [
|
|
504
|
-
(
|
|
505
|
-
key: u(
|
|
506
|
-
menu:
|
|
506
|
+
(o(!0), c(j, null, J(f.value, (F) => (o(), A(ts, {
|
|
507
|
+
key: u(F),
|
|
508
|
+
menu: F
|
|
507
509
|
}, null, 8, ["menu"]))), 128))
|
|
508
510
|
]),
|
|
509
511
|
_: 1
|
|
510
512
|
}, 8, ["modelValue", "openeds", "collapse", "background-color", "text-color", "active-text-color"]),
|
|
511
|
-
n.showUser && !_.value ? (
|
|
512
|
-
e("div",
|
|
513
|
-
e("span",
|
|
514
|
-
e("span",
|
|
513
|
+
n.showUser && !_.value ? (o(), c("div", as, [
|
|
514
|
+
e("div", ns, [
|
|
515
|
+
e("span", ls, x(l(i).userName), 1),
|
|
516
|
+
e("span", rs, x(l(i).departmentName), 1)
|
|
515
517
|
]),
|
|
516
|
-
|
|
518
|
+
w(l(Ne), {
|
|
517
519
|
type: "text",
|
|
518
520
|
size: "small",
|
|
519
521
|
onClick: te
|
|
@@ -523,65 +525,65 @@ const _e = Fe("menu", () => {
|
|
|
523
525
|
])]),
|
|
524
526
|
_: 1
|
|
525
527
|
})
|
|
526
|
-
])) :
|
|
528
|
+
])) : z("", !0)
|
|
527
529
|
], 2));
|
|
528
530
|
}
|
|
529
|
-
}),
|
|
531
|
+
}), lt = /* @__PURE__ */ de(is, [["__scopeId", "data-v-3145ea3a"]]), cs = { class: "header" }, us = { class: "header__left" }, ds = {
|
|
530
532
|
key: 0,
|
|
531
533
|
class: "header__breadcrumb"
|
|
532
|
-
},
|
|
534
|
+
}, ms = {
|
|
533
535
|
key: 0,
|
|
534
536
|
class: "breadcrumb-separator"
|
|
535
|
-
},
|
|
537
|
+
}, ps = { class: "header__right" }, vs = {
|
|
536
538
|
key: 0,
|
|
537
539
|
class: "header__search-dropdown"
|
|
538
|
-
},
|
|
540
|
+
}, hs = {
|
|
539
541
|
key: 0,
|
|
540
542
|
class: "header__search-results"
|
|
541
|
-
},
|
|
543
|
+
}, _s = ["onClick"], fs = {
|
|
542
544
|
key: 0,
|
|
543
545
|
class: "header__search-icon"
|
|
544
|
-
},
|
|
546
|
+
}, gs = {
|
|
545
547
|
key: 1,
|
|
546
548
|
class: "header__search-char"
|
|
547
|
-
},
|
|
549
|
+
}, ys = { class: "header__search-item-title" }, bs = {
|
|
548
550
|
key: 1,
|
|
549
551
|
class: "header__search-item-parent"
|
|
550
|
-
},
|
|
552
|
+
}, ws = {
|
|
551
553
|
key: 1,
|
|
552
554
|
class: "header__search-empty"
|
|
553
|
-
},
|
|
555
|
+
}, ks = ["title"], xs = { class: "header__avatar" }, Cs = { class: "header__user-name" }, $s = {
|
|
554
556
|
key: 0,
|
|
555
557
|
class: "header__dropdown"
|
|
556
|
-
},
|
|
558
|
+
}, Ls = { class: "header__dropdown-header" }, Ms = { class: "header__dropdown-avatar" }, Ss = { class: "header__dropdown-info" }, Ns = { class: "header__dropdown-name" }, Es = { class: "header__dropdown-role" }, Is = { class: "header__dropdown-menu" }, Us = { class: "settings-drawer" }, Ts = { class: "settings-section" }, Ps = { class: "settings-layout-options" }, zs = ["onClick"], Fs = { class: "layout-option__preview" }, Ds = {
|
|
557
559
|
key: 0,
|
|
558
560
|
class: "layout-preview-sidebar"
|
|
559
|
-
},
|
|
561
|
+
}, As = {
|
|
560
562
|
key: 1,
|
|
561
563
|
class: "layout-preview-top"
|
|
562
|
-
},
|
|
564
|
+
}, Bs = {
|
|
563
565
|
key: 2,
|
|
564
566
|
class: "layout-preview-mix"
|
|
565
|
-
},
|
|
567
|
+
}, Vs = { class: "layout-option__label" }, Os = { class: "settings-section" }, Rs = { class: "settings-color-options" }, Ks = ["title", "onClick"], js = { class: "settings-section" }, Ws = { class: "settings-switch-list" }, qs = { class: "settings-switch-item" }, Hs = { class: "settings-switch-item" }, Ys = { class: "settings-section" }, Gs = /* @__PURE__ */ ce({
|
|
566
568
|
__name: "Header",
|
|
567
569
|
setup(t) {
|
|
568
|
-
const n =
|
|
570
|
+
const n = Ee(), m = be(), a = _e(), s = ue(), p = ze(), i = fe(), h = y(!1), d = y(!1), f = y(null), _ = y(!1), g = y(!1), u = y(""), W = y(null), P = y(!1), B = [
|
|
569
571
|
{ value: "sidebar", label: "左侧菜单", icon: "sidebar-left" },
|
|
570
572
|
{ value: "top", label: "顶部菜单", icon: "menu" },
|
|
571
573
|
{ value: "mix", label: "混合菜单", icon: "grid" }
|
|
572
|
-
],
|
|
574
|
+
], V = [
|
|
573
575
|
{ value: "#4F46E5", label: "品牌蓝" },
|
|
574
576
|
{ value: "#0F6FDE", label: "企业蓝" },
|
|
575
577
|
{ value: "#00A870", label: "翡翠绿" },
|
|
576
578
|
{ value: "#D46B08", label: "琥珀橙" },
|
|
577
579
|
{ value: "#1F2329", label: "石墨黑" }
|
|
578
|
-
],
|
|
580
|
+
], R = k(() => n.matched.filter((b) => b.meta && b.meta.title).map((b) => ({
|
|
579
581
|
title: b.meta.title,
|
|
580
582
|
path: b.path
|
|
581
|
-
}))),
|
|
583
|
+
}))), H = (I, b = "") => {
|
|
582
584
|
const se = [];
|
|
583
|
-
return
|
|
584
|
-
$.children && $.children.length > 0 ? se.push(...
|
|
585
|
+
return I.forEach(($) => {
|
|
586
|
+
$.children && $.children.length > 0 ? se.push(...H($.children, $.menuName)) : se.push({ ...$, parentTitle: b, title: $.menuName, path: $.menuUrl });
|
|
585
587
|
}), se;
|
|
586
588
|
}, Q = /* @__PURE__ */ new Set([
|
|
587
589
|
"arrow-up",
|
|
@@ -685,10 +687,10 @@ const _e = Fe("menu", () => {
|
|
|
685
687
|
"sun",
|
|
686
688
|
"theme",
|
|
687
689
|
"skin"
|
|
688
|
-
]),
|
|
689
|
-
if (!
|
|
690
|
-
if (
|
|
691
|
-
const se =
|
|
690
|
+
]), G = (I) => {
|
|
691
|
+
if (!I || I === "") return "";
|
|
692
|
+
if (I.startsWith("tineco-icon-")) {
|
|
693
|
+
const se = I.replace("tineco-icon-", "");
|
|
692
694
|
return {
|
|
693
695
|
home: "home",
|
|
694
696
|
dashboard: "dashboard",
|
|
@@ -721,153 +723,153 @@ const _e = Fe("menu", () => {
|
|
|
721
723
|
app: "app",
|
|
722
724
|
list: "list",
|
|
723
725
|
grid: "grid"
|
|
724
|
-
}[
|
|
725
|
-
},
|
|
726
|
+
}[I] || I;
|
|
727
|
+
}, ee = (I) => I ? I.charAt(0) : "", Y = (I) => Q.has(I), te = k(() => u.value.trim() ? H(i.menuList).filter(
|
|
726
728
|
(b) => b.title.toLowerCase().includes(u.value.toLowerCase())
|
|
727
|
-
) : []),
|
|
728
|
-
|
|
729
|
-
},
|
|
730
|
-
|
|
731
|
-
},
|
|
729
|
+
) : []), D = k(() => a.layout), E = () => {
|
|
730
|
+
a.toggleCollapse();
|
|
731
|
+
}, F = () => {
|
|
732
|
+
a.toggleTheme();
|
|
733
|
+
}, X = () => {
|
|
732
734
|
d.value = !0;
|
|
733
|
-
},
|
|
734
|
-
|
|
735
|
-
},
|
|
736
|
-
|
|
735
|
+
}, K = (I) => {
|
|
736
|
+
a.setLayout(I), d.value = !1;
|
|
737
|
+
}, oe = (I) => {
|
|
738
|
+
P.value = I;
|
|
737
739
|
const b = document.documentElement;
|
|
738
|
-
|
|
739
|
-
},
|
|
740
|
-
|
|
740
|
+
I ? b.classList.add("grey-mode") : b.classList.remove("grey-mode");
|
|
741
|
+
}, he = () => {
|
|
742
|
+
oe(!P.value), d.value = !1;
|
|
741
743
|
}, we = () => {
|
|
742
|
-
|
|
743
|
-
},
|
|
744
|
-
|
|
745
|
-
},
|
|
744
|
+
a.toggleTheme(), d.value = !1;
|
|
745
|
+
}, re = () => {
|
|
746
|
+
a.resetToServerDefaults(), d.value = !1;
|
|
747
|
+
}, me = () => {
|
|
746
748
|
document.fullscreenElement ? document.exitFullscreen() : document.documentElement.requestFullscreen();
|
|
747
|
-
},
|
|
749
|
+
}, ge = () => {
|
|
748
750
|
_.value = !!document.fullscreenElement;
|
|
751
|
+
}, ie = () => {
|
|
752
|
+
h.value = !h.value;
|
|
753
|
+
}, ae = () => {
|
|
754
|
+
h.value = !1;
|
|
749
755
|
}, M = () => {
|
|
750
|
-
|
|
751
|
-
},
|
|
752
|
-
|
|
753
|
-
},
|
|
754
|
-
|
|
755
|
-
},
|
|
756
|
-
|
|
757
|
-
},
|
|
758
|
-
|
|
756
|
+
g.value = !1, u.value = "";
|
|
757
|
+
}, q = (I) => {
|
|
758
|
+
m.push(I), M();
|
|
759
|
+
}, pe = (I) => {
|
|
760
|
+
a.setPrimaryColor(I), d.value = !1;
|
|
761
|
+
}, ve = () => {
|
|
762
|
+
ae(), m.push("/profile");
|
|
763
|
+
}, ne = () => {
|
|
764
|
+
ae(), m.push("/change-password");
|
|
759
765
|
}, ke = () => {
|
|
760
|
-
|
|
761
|
-
},
|
|
762
|
-
|
|
763
|
-
},
|
|
764
|
-
|
|
765
|
-
}, re = (U) => {
|
|
766
|
-
f.value && !f.value.contains(U.target) && O(), K.value && !K.value.contains(U.target) && me();
|
|
767
|
-
}, ge = (U) => {
|
|
768
|
-
U.key === "Escape" && (me(), O());
|
|
766
|
+
ae(), p.logout(), s.clearUserInfo(), i.clearMenu(), m.push(a.loginPath);
|
|
767
|
+
}, ye = (I) => {
|
|
768
|
+
f.value && !f.value.contains(I.target) && ae(), W.value && !W.value.contains(I.target) && M();
|
|
769
|
+
}, xe = (I) => {
|
|
770
|
+
I.key === "Escape" && (M(), ae());
|
|
769
771
|
};
|
|
770
|
-
return
|
|
771
|
-
document.addEventListener("click",
|
|
772
|
-
}),
|
|
773
|
-
document.removeEventListener("click",
|
|
774
|
-
}), (
|
|
772
|
+
return qe(() => {
|
|
773
|
+
document.addEventListener("click", ye), document.addEventListener("fullscreenchange", ge), document.addEventListener("keydown", xe), a.initTheme(), P.value = document.documentElement.classList.contains("grey-mode");
|
|
774
|
+
}), He(() => {
|
|
775
|
+
document.removeEventListener("click", ye), document.removeEventListener("fullscreenchange", ge), document.removeEventListener("keydown", xe);
|
|
776
|
+
}), (I, b) => {
|
|
775
777
|
var se;
|
|
776
|
-
return
|
|
777
|
-
e("div",
|
|
778
|
+
return o(), c("div", cs, [
|
|
779
|
+
e("div", us, [
|
|
778
780
|
e("div", {
|
|
779
781
|
class: "header__collapse",
|
|
780
782
|
onClick: E
|
|
781
783
|
}, [
|
|
782
|
-
|
|
783
|
-
name: l(
|
|
784
|
+
w(l(U), {
|
|
785
|
+
name: l(a).isCollapsed ? "menu-unfold" : "menu-fold",
|
|
784
786
|
size: 18
|
|
785
787
|
}, null, 8, ["name"])
|
|
786
788
|
]),
|
|
787
|
-
l(
|
|
788
|
-
(
|
|
789
|
+
l(a).showBreadcrumb ? (o(), c("div", ds, [
|
|
790
|
+
(o(!0), c(j, null, J(R.value, ($, N) => (o(), c("span", {
|
|
789
791
|
key: $.path
|
|
790
792
|
}, [
|
|
791
|
-
N > 0 ? (
|
|
793
|
+
N > 0 ? (o(), c("span", ms, "/")) : z("", !0),
|
|
792
794
|
e("span", {
|
|
793
|
-
class: Z({ "is-current": N ===
|
|
795
|
+
class: Z({ "is-current": N === R.value.length - 1 })
|
|
794
796
|
}, x($.title), 3)
|
|
795
797
|
]))), 128))
|
|
796
|
-
])) :
|
|
798
|
+
])) : z("", !0)
|
|
797
799
|
]),
|
|
798
|
-
e("div",
|
|
800
|
+
e("div", ps, [
|
|
799
801
|
e("div", {
|
|
800
802
|
class: "header__search",
|
|
801
803
|
ref_key: "searchRef",
|
|
802
|
-
ref:
|
|
804
|
+
ref: W
|
|
803
805
|
}, [
|
|
804
|
-
|
|
806
|
+
w(l(U), {
|
|
805
807
|
name: "search",
|
|
806
808
|
size: 14,
|
|
807
809
|
class: "header__search-icon"
|
|
808
810
|
}),
|
|
809
|
-
|
|
811
|
+
De(e("input", {
|
|
810
812
|
"onUpdate:modelValue": b[0] || (b[0] = ($) => u.value = $),
|
|
811
813
|
type: "text",
|
|
812
814
|
class: "header__search-input",
|
|
813
815
|
placeholder: "搜索菜单...",
|
|
814
|
-
onFocus: b[1] || (b[1] = ($) =>
|
|
816
|
+
onFocus: b[1] || (b[1] = ($) => g.value = !0)
|
|
815
817
|
}, null, 544), [
|
|
816
|
-
[
|
|
818
|
+
[Ye, u.value]
|
|
817
819
|
]),
|
|
818
|
-
|
|
820
|
+
w(Se, { name: "search-dropdown" }, {
|
|
819
821
|
default: S(() => [
|
|
820
|
-
|
|
821
|
-
te.value.length > 0 ? (
|
|
822
|
-
(
|
|
822
|
+
g.value && (te.value.length > 0 || u.value) ? (o(), c("div", vs, [
|
|
823
|
+
te.value.length > 0 ? (o(), c("div", hs, [
|
|
824
|
+
(o(!0), c(j, null, J(te.value, ($) => (o(), c("div", {
|
|
823
825
|
key: $.path,
|
|
824
826
|
class: "header__search-item",
|
|
825
|
-
onClick: (N) =>
|
|
827
|
+
onClick: (N) => q($.path)
|
|
826
828
|
}, [
|
|
827
|
-
$.title !== "首页" ? (
|
|
828
|
-
G(
|
|
829
|
+
$.title !== "首页" ? (o(), c("span", fs, [
|
|
830
|
+
Y(G($.icon)) ? (o(), A(l(U), {
|
|
829
831
|
key: 0,
|
|
830
|
-
name:
|
|
832
|
+
name: G($.icon),
|
|
831
833
|
size: 16
|
|
832
|
-
}, null, 8, ["name"])) : (
|
|
833
|
-
])) :
|
|
834
|
-
e("span",
|
|
835
|
-
$.parentTitle ? (
|
|
836
|
-
], 8,
|
|
837
|
-
])) : (
|
|
838
|
-
])) :
|
|
834
|
+
}, null, 8, ["name"])) : (o(), c("span", gs, x(ee($.title)), 1))
|
|
835
|
+
])) : z("", !0),
|
|
836
|
+
e("span", ys, x($.title), 1),
|
|
837
|
+
$.parentTitle ? (o(), c("span", bs, x($.parentTitle), 1)) : z("", !0)
|
|
838
|
+
], 8, _s))), 128))
|
|
839
|
+
])) : (o(), c("div", ws, " 未找到匹配的菜单 "))
|
|
840
|
+
])) : z("", !0)
|
|
839
841
|
]),
|
|
840
842
|
_: 1
|
|
841
843
|
})
|
|
842
844
|
], 512),
|
|
843
845
|
e("div", {
|
|
844
846
|
class: "header__action",
|
|
845
|
-
onClick:
|
|
847
|
+
onClick: me,
|
|
846
848
|
title: _.value ? "退出全屏" : "全屏"
|
|
847
849
|
}, [
|
|
848
|
-
|
|
850
|
+
w(l(U), {
|
|
849
851
|
name: _.value ? "fullscreen-exit" : "fullscreen",
|
|
850
852
|
size: 16
|
|
851
853
|
}, null, 8, ["name"])
|
|
852
|
-
], 8,
|
|
853
|
-
l(
|
|
854
|
+
], 8, ks),
|
|
855
|
+
l(a).allowUserOverride ? (o(), c("div", {
|
|
854
856
|
key: 0,
|
|
855
857
|
class: "header__action",
|
|
856
|
-
onClick:
|
|
858
|
+
onClick: X,
|
|
857
859
|
title: "换肤设置"
|
|
858
860
|
}, [
|
|
859
|
-
|
|
861
|
+
w(l(U), {
|
|
860
862
|
name: "skin",
|
|
861
863
|
size: 16
|
|
862
864
|
})
|
|
863
|
-
])) :
|
|
865
|
+
])) : z("", !0),
|
|
864
866
|
e("div", {
|
|
865
867
|
class: "header__action",
|
|
866
|
-
onClick:
|
|
868
|
+
onClick: F,
|
|
867
869
|
title: "切换主题"
|
|
868
870
|
}, [
|
|
869
|
-
|
|
870
|
-
name: l(
|
|
871
|
+
w(l(U), {
|
|
872
|
+
name: l(a).isDark ? "sun" : "moon",
|
|
871
873
|
size: 16
|
|
872
874
|
}, null, 8, ["name"])
|
|
873
875
|
]),
|
|
@@ -878,14 +880,14 @@ const _e = Fe("menu", () => {
|
|
|
878
880
|
}, [
|
|
879
881
|
e("div", {
|
|
880
882
|
class: "header__user-trigger",
|
|
881
|
-
onClick:
|
|
883
|
+
onClick: Ae(ie, ["stop"])
|
|
882
884
|
}, [
|
|
883
|
-
e("div",
|
|
885
|
+
e("div", xs, [
|
|
884
886
|
e("span", null, x(((se = l(s).userName) == null ? void 0 : se.charAt(0)) || "U"), 1)
|
|
885
887
|
]),
|
|
886
|
-
e("span",
|
|
888
|
+
e("span", Cs, x(l(s).userName), 1),
|
|
887
889
|
e("span", {
|
|
888
|
-
class: Z(["header__user-arrow", { "is-active":
|
|
890
|
+
class: Z(["header__user-arrow", { "is-active": h.value }])
|
|
889
891
|
}, [...b[3] || (b[3] = [
|
|
890
892
|
e("svg", {
|
|
891
893
|
viewBox: "0 0 12 12",
|
|
@@ -901,27 +903,27 @@ const _e = Fe("menu", () => {
|
|
|
901
903
|
], -1)
|
|
902
904
|
])], 2)
|
|
903
905
|
]),
|
|
904
|
-
|
|
906
|
+
w(Se, { name: "dropdown" }, {
|
|
905
907
|
default: S(() => {
|
|
906
908
|
var $;
|
|
907
909
|
return [
|
|
908
|
-
|
|
909
|
-
e("div",
|
|
910
|
-
e("div",
|
|
910
|
+
h.value ? (o(), c("div", $s, [
|
|
911
|
+
e("div", Ls, [
|
|
912
|
+
e("div", Ms, [
|
|
911
913
|
e("span", null, x((($ = l(s).userName) == null ? void 0 : $.charAt(0)) || "U"), 1)
|
|
912
914
|
]),
|
|
913
|
-
e("div",
|
|
914
|
-
e("div",
|
|
915
|
-
e("div",
|
|
915
|
+
e("div", Ss, [
|
|
916
|
+
e("div", Ns, x(l(s).userName), 1),
|
|
917
|
+
e("div", Es, x(l(s).roleName || l(s).departmentName), 1)
|
|
916
918
|
])
|
|
917
919
|
]),
|
|
918
920
|
b[8] || (b[8] = e("div", { class: "header__dropdown-divider" }, null, -1)),
|
|
919
|
-
e("div",
|
|
921
|
+
e("div", Is, [
|
|
920
922
|
e("div", {
|
|
921
923
|
class: "header__dropdown-item",
|
|
922
|
-
onClick:
|
|
924
|
+
onClick: ve
|
|
923
925
|
}, [
|
|
924
|
-
|
|
926
|
+
w(l(U), {
|
|
925
927
|
name: "user",
|
|
926
928
|
size: 16
|
|
927
929
|
}),
|
|
@@ -929,9 +931,9 @@ const _e = Fe("menu", () => {
|
|
|
929
931
|
]),
|
|
930
932
|
e("div", {
|
|
931
933
|
class: "header__dropdown-item",
|
|
932
|
-
onClick:
|
|
934
|
+
onClick: ne
|
|
933
935
|
}, [
|
|
934
|
-
|
|
936
|
+
w(l(U), {
|
|
935
937
|
name: "lock",
|
|
936
938
|
size: 16
|
|
937
939
|
}),
|
|
@@ -940,23 +942,23 @@ const _e = Fe("menu", () => {
|
|
|
940
942
|
b[7] || (b[7] = e("div", { class: "header__dropdown-divider" }, null, -1)),
|
|
941
943
|
e("div", {
|
|
942
944
|
class: "header__dropdown-item header__dropdown-item--danger",
|
|
943
|
-
onClick:
|
|
945
|
+
onClick: ke
|
|
944
946
|
}, [
|
|
945
|
-
|
|
947
|
+
w(l(U), {
|
|
946
948
|
name: "logout",
|
|
947
949
|
size: 16
|
|
948
950
|
}),
|
|
949
951
|
b[6] || (b[6] = e("span", null, "退出登录", -1))
|
|
950
952
|
])
|
|
951
953
|
])
|
|
952
|
-
])) :
|
|
954
|
+
])) : z("", !0)
|
|
953
955
|
];
|
|
954
956
|
}),
|
|
955
957
|
_: 1
|
|
956
958
|
})
|
|
957
959
|
], 512)
|
|
958
960
|
]),
|
|
959
|
-
|
|
961
|
+
w(l(Qe), {
|
|
960
962
|
modelValue: d.value,
|
|
961
963
|
"onUpdate:modelValue": b[2] || (b[2] = ($) => d.value = $),
|
|
962
964
|
title: "换肤设置",
|
|
@@ -964,26 +966,26 @@ const _e = Fe("menu", () => {
|
|
|
964
966
|
size: "320px"
|
|
965
967
|
}, {
|
|
966
968
|
default: S(() => [
|
|
967
|
-
e("div",
|
|
968
|
-
e("div",
|
|
969
|
+
e("div", Us, [
|
|
970
|
+
e("div", Ts, [
|
|
969
971
|
b[12] || (b[12] = e("div", { class: "settings-title" }, "布局模式", -1)),
|
|
970
|
-
e("div",
|
|
971
|
-
(
|
|
972
|
+
e("div", Ps, [
|
|
973
|
+
(o(), c(j, null, J(B, ($) => e("div", {
|
|
972
974
|
key: $.value,
|
|
973
|
-
class: Z(["layout-option", { "is-active":
|
|
974
|
-
onClick: (N) =>
|
|
975
|
+
class: Z(["layout-option", { "is-active": D.value === $.value }]),
|
|
976
|
+
onClick: (N) => K($.value)
|
|
975
977
|
}, [
|
|
976
|
-
e("div",
|
|
977
|
-
$.value === "sidebar" ? (
|
|
978
|
+
e("div", Fs, [
|
|
979
|
+
$.value === "sidebar" ? (o(), c("div", Ds, [...b[9] || (b[9] = [
|
|
978
980
|
e("div", { class: "preview-aside" }, null, -1),
|
|
979
981
|
e("div", { class: "preview-main" }, [
|
|
980
982
|
e("div", { class: "preview-header" }),
|
|
981
983
|
e("div", { class: "preview-content" })
|
|
982
984
|
], -1)
|
|
983
|
-
])])) : $.value === "top" ? (
|
|
985
|
+
])])) : $.value === "top" ? (o(), c("div", As, [...b[10] || (b[10] = [
|
|
984
986
|
e("div", { class: "preview-header-full" }, null, -1),
|
|
985
987
|
e("div", { class: "preview-content-full" }, null, -1)
|
|
986
|
-
])])) : (
|
|
988
|
+
])])) : (o(), c("div", Bs, [...b[11] || (b[11] = [
|
|
987
989
|
e("div", { class: "preview-header-mix" }, [
|
|
988
990
|
e("div", { class: "preview-mix-left" })
|
|
989
991
|
], -1),
|
|
@@ -993,45 +995,45 @@ const _e = Fe("menu", () => {
|
|
|
993
995
|
], -1)
|
|
994
996
|
])]))
|
|
995
997
|
]),
|
|
996
|
-
e("span",
|
|
997
|
-
], 10,
|
|
998
|
+
e("span", Vs, x($.label), 1)
|
|
999
|
+
], 10, zs)), 64))
|
|
998
1000
|
])
|
|
999
1001
|
]),
|
|
1000
|
-
e("div",
|
|
1002
|
+
e("div", Os, [
|
|
1001
1003
|
b[13] || (b[13] = e("div", { class: "settings-title" }, "主题色", -1)),
|
|
1002
|
-
e("div",
|
|
1003
|
-
(
|
|
1004
|
+
e("div", Rs, [
|
|
1005
|
+
(o(), c(j, null, J(V, ($) => e("div", {
|
|
1004
1006
|
key: $.value,
|
|
1005
|
-
class: Z(["color-option", { "is-active": l(
|
|
1006
|
-
style:
|
|
1007
|
+
class: Z(["color-option", { "is-active": l(a).primaryColor === $.value }]),
|
|
1008
|
+
style: Ue({ backgroundColor: $.value }),
|
|
1007
1009
|
title: $.label,
|
|
1008
|
-
onClick: (N) =>
|
|
1010
|
+
onClick: (N) => pe($.value)
|
|
1009
1011
|
}, [
|
|
1010
|
-
l(
|
|
1012
|
+
l(a).primaryColor === $.value ? (o(), A(l(U), {
|
|
1011
1013
|
key: 0,
|
|
1012
1014
|
name: "check",
|
|
1013
1015
|
size: 12,
|
|
1014
1016
|
color: "#fff"
|
|
1015
|
-
})) :
|
|
1016
|
-
], 14,
|
|
1017
|
+
})) : z("", !0)
|
|
1018
|
+
], 14, Ks)), 64))
|
|
1017
1019
|
])
|
|
1018
1020
|
]),
|
|
1019
|
-
e("div",
|
|
1021
|
+
e("div", js, [
|
|
1020
1022
|
b[18] || (b[18] = e("div", { class: "settings-title" }, "功能设置", -1)),
|
|
1021
|
-
e("div",
|
|
1022
|
-
e("div",
|
|
1023
|
+
e("div", Ws, [
|
|
1024
|
+
e("div", qs, [
|
|
1023
1025
|
b[15] || (b[15] = e("span", null, "灰色模式", -1)),
|
|
1024
1026
|
e("div", {
|
|
1025
|
-
class: Z(["switch-wrapper", { "is-checked":
|
|
1026
|
-
onClick:
|
|
1027
|
+
class: Z(["switch-wrapper", { "is-checked": P.value }]),
|
|
1028
|
+
onClick: he
|
|
1027
1029
|
}, [...b[14] || (b[14] = [
|
|
1028
1030
|
e("span", { class: "switch-core" }, null, -1)
|
|
1029
1031
|
])], 2)
|
|
1030
1032
|
]),
|
|
1031
|
-
e("div",
|
|
1033
|
+
e("div", Hs, [
|
|
1032
1034
|
b[17] || (b[17] = e("span", null, "暗黑模式", -1)),
|
|
1033
1035
|
e("div", {
|
|
1034
|
-
class: Z(["switch-wrapper", { "is-checked": l(
|
|
1036
|
+
class: Z(["switch-wrapper", { "is-checked": l(a).isDark }]),
|
|
1035
1037
|
onClick: we
|
|
1036
1038
|
}, [...b[16] || (b[16] = [
|
|
1037
1039
|
e("span", { class: "switch-core" }, null, -1)
|
|
@@ -1039,12 +1041,12 @@ const _e = Fe("menu", () => {
|
|
|
1039
1041
|
])
|
|
1040
1042
|
])
|
|
1041
1043
|
]),
|
|
1042
|
-
e("div",
|
|
1044
|
+
e("div", Ys, [
|
|
1043
1045
|
e("div", {
|
|
1044
1046
|
class: "settings-reset",
|
|
1045
|
-
onClick:
|
|
1047
|
+
onClick: re
|
|
1046
1048
|
}, [
|
|
1047
|
-
|
|
1049
|
+
w(l(U), {
|
|
1048
1050
|
name: "refresh",
|
|
1049
1051
|
size: 14
|
|
1050
1052
|
}),
|
|
@@ -1058,73 +1060,73 @@ const _e = Fe("menu", () => {
|
|
|
1058
1060
|
]);
|
|
1059
1061
|
};
|
|
1060
1062
|
}
|
|
1061
|
-
}),
|
|
1063
|
+
}), Xs = /* @__PURE__ */ de(Gs, [["__scopeId", "data-v-21769fe5"]]), Js = { class: "top-menu" }, Zs = { class: "top-menu__logo" }, Qs = ["src"], eo = { class: "top-menu__logo-text" }, to = { class: "top-menu__menu-content" }, so = {
|
|
1062
1064
|
key: 0,
|
|
1063
1065
|
class: "top-menu__menu-icon"
|
|
1064
|
-
},
|
|
1066
|
+
}, oo = {
|
|
1065
1067
|
key: 1,
|
|
1066
1068
|
class: "top-menu__menu-char"
|
|
1067
|
-
},
|
|
1069
|
+
}, ao = { class: "top-menu__menu-text" }, no = { class: "top-menu__menu-content" }, lo = { class: "top-menu__menu-icon" }, ro = {
|
|
1068
1070
|
key: 1,
|
|
1069
1071
|
class: "top-menu__menu-char"
|
|
1070
|
-
},
|
|
1072
|
+
}, io = { class: "top-menu__menu-text" }, co = { class: "top-menu__menu-content" }, uo = { class: "top-menu__menu-icon" }, mo = {
|
|
1071
1073
|
key: 1,
|
|
1072
1074
|
class: "top-menu__menu-char"
|
|
1073
|
-
},
|
|
1075
|
+
}, po = { class: "top-menu__menu-text" }, vo = { class: "top-menu__menu-content" }, ho = { class: "top-menu__menu-icon" }, _o = {
|
|
1074
1076
|
key: 1,
|
|
1075
1077
|
class: "top-menu__menu-char"
|
|
1076
|
-
},
|
|
1078
|
+
}, fo = { class: "top-menu__menu-text" }, go = { class: "top-menu__menu-content" }, yo = {
|
|
1077
1079
|
key: 0,
|
|
1078
1080
|
class: "top-menu__menu-icon"
|
|
1079
|
-
},
|
|
1081
|
+
}, bo = {
|
|
1080
1082
|
key: 1,
|
|
1081
1083
|
class: "top-menu__menu-char"
|
|
1082
|
-
},
|
|
1084
|
+
}, wo = { class: "top-menu__menu-text" }, ko = { class: "top-menu__actions" }, xo = {
|
|
1083
1085
|
key: 0,
|
|
1084
1086
|
class: "top-menu__search-dropdown"
|
|
1085
|
-
},
|
|
1087
|
+
}, Co = {
|
|
1086
1088
|
key: 0,
|
|
1087
1089
|
class: "top-menu__search-results"
|
|
1088
|
-
},
|
|
1090
|
+
}, $o = ["onClick"], Lo = {
|
|
1089
1091
|
key: 0,
|
|
1090
1092
|
class: "top-menu__search-icon-item"
|
|
1091
|
-
},
|
|
1093
|
+
}, Mo = {
|
|
1092
1094
|
key: 1,
|
|
1093
1095
|
class: "top-menu__search-char"
|
|
1094
|
-
},
|
|
1096
|
+
}, So = { class: "top-menu__search-item-title" }, No = {
|
|
1095
1097
|
key: 1,
|
|
1096
1098
|
class: "top-menu__search-item-parent"
|
|
1097
|
-
},
|
|
1099
|
+
}, Eo = {
|
|
1098
1100
|
key: 1,
|
|
1099
1101
|
class: "top-menu__search-empty"
|
|
1100
|
-
},
|
|
1102
|
+
}, Io = ["title"], Uo = { class: "top-menu__avatar" }, To = { class: "top-menu__user-name" }, Po = {
|
|
1101
1103
|
key: 0,
|
|
1102
1104
|
class: "top-menu__dropdown"
|
|
1103
|
-
},
|
|
1105
|
+
}, zo = { class: "top-menu__dropdown-header" }, Fo = { class: "top-menu__dropdown-avatar" }, Do = { class: "top-menu__dropdown-info" }, Ao = { class: "top-menu__dropdown-name" }, Bo = { class: "top-menu__dropdown-role" }, Vo = { class: "top-menu__dropdown-menu" }, Oo = { class: "settings-drawer" }, Ro = { class: "settings-section" }, Ko = { class: "settings-layout-options" }, jo = ["onClick"], Wo = { class: "layout-option__preview" }, qo = {
|
|
1104
1106
|
key: 0,
|
|
1105
1107
|
class: "layout-preview-sidebar"
|
|
1106
|
-
},
|
|
1108
|
+
}, Ho = {
|
|
1107
1109
|
key: 1,
|
|
1108
1110
|
class: "layout-preview-top"
|
|
1109
|
-
},
|
|
1111
|
+
}, Yo = {
|
|
1110
1112
|
key: 2,
|
|
1111
1113
|
class: "layout-preview-mix"
|
|
1112
|
-
},
|
|
1114
|
+
}, Go = { class: "layout-option__label" }, Xo = { class: "settings-section" }, Jo = { class: "settings-color-options" }, Zo = ["title", "onClick"], Qo = { class: "settings-section" }, ea = { class: "settings-switch-list" }, ta = { class: "settings-switch-item" }, sa = { class: "settings-switch-item" }, oa = /* @__PURE__ */ ce({
|
|
1113
1115
|
__name: "TopMenu",
|
|
1114
1116
|
props: {
|
|
1115
1117
|
logoSrc: {}
|
|
1116
1118
|
},
|
|
1117
1119
|
setup(t) {
|
|
1118
|
-
const n = t, m =
|
|
1119
|
-
const
|
|
1120
|
+
const n = t, m = k(() => n.logoSrc || Te("/vite.svg")), a = Ee(), s = be(), p = fe(), i = _e(), h = ue(), d = ze(), f = k(() => a.path), _ = (N, C = "") => {
|
|
1121
|
+
const le = [];
|
|
1120
1122
|
return N.forEach((r) => {
|
|
1121
|
-
r.children && r.children.length > 0 ?
|
|
1122
|
-
}),
|
|
1123
|
-
},
|
|
1124
|
-
(C) => C.title.toLowerCase().includes(
|
|
1125
|
-
) : []), u =
|
|
1126
|
-
N && N !==
|
|
1127
|
-
},
|
|
1123
|
+
r.children && r.children.length > 0 ? le.push(..._(r.children, r.menuName)) : le.push({ ...r, parentTitle: C, title: r.menuName, path: r.menuUrl });
|
|
1124
|
+
}), le;
|
|
1125
|
+
}, g = k(() => ee.value.trim() ? _(p.menuList).filter(
|
|
1126
|
+
(C) => C.title.toLowerCase().includes(ee.value.toLowerCase())
|
|
1127
|
+
) : []), u = k(() => i.isDark ? "#1d1e1f" : "#fff"), W = k(() => i.isDark ? "#cfd3dc" : "#303133"), P = k(() => "#409eff"), B = y(!1), V = y(null), R = y(!1), H = y(!1), Q = y(!1), G = y(!1), ee = y(""), Y = y(null), te = (N) => {
|
|
1128
|
+
N && N !== a.path && s.push(N);
|
|
1129
|
+
}, D = /* @__PURE__ */ new Set([
|
|
1128
1130
|
"arrow-up",
|
|
1129
1131
|
"arrow-down",
|
|
1130
1132
|
"arrow-left",
|
|
@@ -1229,7 +1231,7 @@ const _e = Fe("menu", () => {
|
|
|
1229
1231
|
]), E = (N) => {
|
|
1230
1232
|
if (!N || N === "") return "";
|
|
1231
1233
|
if (N.startsWith("tineco-icon-")) {
|
|
1232
|
-
const
|
|
1234
|
+
const le = N.replace("tineco-icon-", "");
|
|
1233
1235
|
return {
|
|
1234
1236
|
home: "home",
|
|
1235
1237
|
dashboard: "dashboard",
|
|
@@ -1243,7 +1245,7 @@ const _e = Fe("menu", () => {
|
|
|
1243
1245
|
chart: "chart",
|
|
1244
1246
|
report: "report",
|
|
1245
1247
|
analytics: "analytics"
|
|
1246
|
-
}[
|
|
1248
|
+
}[le] || le;
|
|
1247
1249
|
}
|
|
1248
1250
|
return {
|
|
1249
1251
|
dashboard: "dashboard",
|
|
@@ -1263,154 +1265,154 @@ const _e = Fe("menu", () => {
|
|
|
1263
1265
|
list: "list",
|
|
1264
1266
|
grid: "grid"
|
|
1265
1267
|
}[N] || N;
|
|
1266
|
-
},
|
|
1267
|
-
i.toggleTheme(),
|
|
1268
|
-
},
|
|
1268
|
+
}, F = (N) => N ? N.charAt(0) : "", X = (N) => D.has(N), K = () => {
|
|
1269
|
+
i.toggleTheme(), H.value = !1;
|
|
1270
|
+
}, oe = () => {
|
|
1269
1271
|
document.fullscreenElement ? document.exitFullscreen() : document.documentElement.requestFullscreen();
|
|
1270
|
-
},
|
|
1271
|
-
|
|
1272
|
+
}, he = () => {
|
|
1273
|
+
R.value = !!document.fullscreenElement;
|
|
1272
1274
|
}, we = () => {
|
|
1273
|
-
|
|
1274
|
-
},
|
|
1275
|
-
|
|
1276
|
-
},
|
|
1277
|
-
|
|
1278
|
-
},
|
|
1279
|
-
s.push(N),
|
|
1280
|
-
},
|
|
1281
|
-
|
|
1282
|
-
},
|
|
1275
|
+
B.value = !B.value;
|
|
1276
|
+
}, re = () => {
|
|
1277
|
+
B.value = !1;
|
|
1278
|
+
}, me = () => {
|
|
1279
|
+
G.value = !1, ee.value = "";
|
|
1280
|
+
}, ge = (N) => {
|
|
1281
|
+
s.push(N), me();
|
|
1282
|
+
}, ie = () => {
|
|
1283
|
+
H.value = !0;
|
|
1284
|
+
}, ae = (N) => {
|
|
1283
1285
|
Q.value = N;
|
|
1284
1286
|
const C = document.documentElement;
|
|
1285
1287
|
N ? C.classList.add("grey-mode") : C.classList.remove("grey-mode");
|
|
1286
|
-
},
|
|
1287
|
-
|
|
1288
|
-
},
|
|
1289
|
-
i.toggleTheme(),
|
|
1290
|
-
},
|
|
1288
|
+
}, M = () => {
|
|
1289
|
+
ae(!Q.value), H.value = !1;
|
|
1290
|
+
}, q = () => {
|
|
1291
|
+
i.toggleTheme(), H.value = !1;
|
|
1292
|
+
}, pe = [
|
|
1291
1293
|
{ value: "sidebar", label: "左侧菜单", icon: "sidebar-left" },
|
|
1292
1294
|
{ value: "top", label: "顶部菜单", icon: "menu" },
|
|
1293
1295
|
{ value: "mix", label: "混合菜单", icon: "grid" }
|
|
1294
|
-
],
|
|
1295
|
-
i.setLayout(N),
|
|
1296
|
-
},
|
|
1296
|
+
], ve = k(() => i.layout), ne = (N) => {
|
|
1297
|
+
i.setLayout(N), H.value = !1;
|
|
1298
|
+
}, ke = [
|
|
1297
1299
|
{ value: "#409eff", label: "默认蓝" },
|
|
1298
1300
|
{ value: "#0F6FDE", label: "企业蓝" },
|
|
1299
1301
|
{ value: "#00A870", label: "翡翠绿" },
|
|
1300
1302
|
{ value: "#D46B08", label: "琥珀橙" },
|
|
1301
1303
|
{ value: "#1F2329", label: "石墨黑" }
|
|
1302
|
-
],
|
|
1303
|
-
i.setPrimaryColor(N),
|
|
1304
|
-
},
|
|
1305
|
-
|
|
1306
|
-
},
|
|
1307
|
-
|
|
1304
|
+
], ye = (N) => {
|
|
1305
|
+
i.setPrimaryColor(N), H.value = !1;
|
|
1306
|
+
}, xe = () => {
|
|
1307
|
+
re(), s.push("/profile");
|
|
1308
|
+
}, I = () => {
|
|
1309
|
+
re(), s.push("/change-password");
|
|
1308
1310
|
}, b = () => {
|
|
1309
|
-
|
|
1311
|
+
re(), d.logout(), h.clearUserInfo(), p.clearMenu(), s.push(i.loginPath);
|
|
1310
1312
|
}, se = (N) => {
|
|
1311
|
-
|
|
1313
|
+
V.value && !V.value.contains(N.target) && re(), Y.value && !Y.value.contains(N.target) && me();
|
|
1312
1314
|
}, $ = (N) => {
|
|
1313
|
-
N.key === "Escape" && (
|
|
1315
|
+
N.key === "Escape" && (me(), re());
|
|
1314
1316
|
};
|
|
1315
|
-
return
|
|
1316
|
-
document.addEventListener("click", se), document.addEventListener("fullscreenchange",
|
|
1317
|
-
}),
|
|
1318
|
-
document.removeEventListener("click", se), document.removeEventListener("fullscreenchange",
|
|
1317
|
+
return qe(() => {
|
|
1318
|
+
document.addEventListener("click", se), document.addEventListener("fullscreenchange", he), document.addEventListener("keydown", $), Q.value = document.documentElement.classList.contains("grey-mode");
|
|
1319
|
+
}), He(() => {
|
|
1320
|
+
document.removeEventListener("click", se), document.removeEventListener("fullscreenchange", he), document.removeEventListener("keydown", $);
|
|
1319
1321
|
}), (N, C) => {
|
|
1320
|
-
var
|
|
1321
|
-
return
|
|
1322
|
-
e("div",
|
|
1322
|
+
var le;
|
|
1323
|
+
return o(), c("div", Js, [
|
|
1324
|
+
e("div", Zs, [
|
|
1323
1325
|
e("img", {
|
|
1324
1326
|
src: m.value,
|
|
1325
1327
|
alt: "Logo",
|
|
1326
1328
|
class: "top-menu__logo-img"
|
|
1327
|
-
}, null, 8,
|
|
1328
|
-
e("span",
|
|
1329
|
+
}, null, 8, Qs),
|
|
1330
|
+
e("span", eo, x(l(i).appName), 1)
|
|
1329
1331
|
]),
|
|
1330
|
-
|
|
1332
|
+
w(l(Ze), {
|
|
1331
1333
|
"model-value": f.value,
|
|
1332
1334
|
mode: "horizontal",
|
|
1333
1335
|
"background-color": u.value,
|
|
1334
|
-
"text-color":
|
|
1335
|
-
"active-text-color":
|
|
1336
|
+
"text-color": W.value,
|
|
1337
|
+
"active-text-color": P.value,
|
|
1336
1338
|
class: "top-menu__menu",
|
|
1337
1339
|
onSelect: te
|
|
1338
1340
|
}, {
|
|
1339
1341
|
default: S(() => [
|
|
1340
|
-
(
|
|
1342
|
+
(o(!0), c(j, null, J(l(p).menuList, (r) => (o(), c(j, {
|
|
1341
1343
|
key: r.menuUrl
|
|
1342
1344
|
}, [
|
|
1343
|
-
r.children && r.children.length > 0 ? (
|
|
1345
|
+
r.children && r.children.length > 0 ? (o(), A(l(We), {
|
|
1344
1346
|
key: 0,
|
|
1345
1347
|
index: r.menuUrl
|
|
1346
1348
|
}, {
|
|
1347
1349
|
title: S(() => [
|
|
1348
|
-
e("span",
|
|
1349
|
-
r.menuName !== "首页" ? (
|
|
1350
|
-
|
|
1350
|
+
e("span", to, [
|
|
1351
|
+
r.menuName !== "首页" ? (o(), c("span", so, [
|
|
1352
|
+
X(E(r.icon)) ? (o(), A(l(U), {
|
|
1351
1353
|
key: 0,
|
|
1352
1354
|
name: E(r.icon),
|
|
1353
1355
|
size: 16
|
|
1354
|
-
}, null, 8, ["name"])) : (
|
|
1355
|
-
])) :
|
|
1356
|
-
e("span",
|
|
1356
|
+
}, null, 8, ["name"])) : (o(), c("span", oo, x(F(r.menuName)), 1))
|
|
1357
|
+
])) : z("", !0),
|
|
1358
|
+
e("span", ao, x(r.menuName), 1)
|
|
1357
1359
|
])
|
|
1358
1360
|
]),
|
|
1359
1361
|
default: S(() => [
|
|
1360
|
-
(
|
|
1361
|
-
key:
|
|
1362
|
+
(o(!0), c(j, null, J(r.children, (v) => (o(), c(j, {
|
|
1363
|
+
key: v.menuUrl
|
|
1362
1364
|
}, [
|
|
1363
|
-
|
|
1365
|
+
v.children && v.children.length > 0 ? (o(), A(l(We), {
|
|
1364
1366
|
key: 0,
|
|
1365
|
-
index:
|
|
1367
|
+
index: v.menuUrl
|
|
1366
1368
|
}, {
|
|
1367
1369
|
title: S(() => [
|
|
1368
|
-
e("span",
|
|
1369
|
-
e("span",
|
|
1370
|
-
|
|
1370
|
+
e("span", no, [
|
|
1371
|
+
e("span", lo, [
|
|
1372
|
+
X(E(v.icon)) ? (o(), A(l(U), {
|
|
1371
1373
|
key: 0,
|
|
1372
|
-
name: E(
|
|
1374
|
+
name: E(v.icon),
|
|
1373
1375
|
size: 16
|
|
1374
|
-
}, null, 8, ["name"])) : (
|
|
1376
|
+
}, null, 8, ["name"])) : (o(), c("span", ro, x(F(v.menuName)), 1))
|
|
1375
1377
|
]),
|
|
1376
|
-
e("span",
|
|
1378
|
+
e("span", io, x(v.menuName), 1)
|
|
1377
1379
|
])
|
|
1378
1380
|
]),
|
|
1379
1381
|
default: S(() => [
|
|
1380
|
-
(
|
|
1381
|
-
key:
|
|
1382
|
-
index:
|
|
1382
|
+
(o(!0), c(j, null, J(v.children, (O) => (o(), A(l(Ie), {
|
|
1383
|
+
key: O.menuUrl,
|
|
1384
|
+
index: O.menuUrl
|
|
1383
1385
|
}, {
|
|
1384
1386
|
default: S(() => [
|
|
1385
|
-
e("span",
|
|
1386
|
-
e("span",
|
|
1387
|
-
|
|
1387
|
+
e("span", co, [
|
|
1388
|
+
e("span", uo, [
|
|
1389
|
+
X(E(O.icon)) ? (o(), A(l(U), {
|
|
1388
1390
|
key: 0,
|
|
1389
|
-
name: E(
|
|
1391
|
+
name: E(O.icon),
|
|
1390
1392
|
size: 16
|
|
1391
|
-
}, null, 8, ["name"])) : (
|
|
1393
|
+
}, null, 8, ["name"])) : (o(), c("span", mo, x(F(O.menuName)), 1))
|
|
1392
1394
|
]),
|
|
1393
|
-
e("span",
|
|
1395
|
+
e("span", po, x(O.menuName), 1)
|
|
1394
1396
|
])
|
|
1395
1397
|
]),
|
|
1396
1398
|
_: 2
|
|
1397
1399
|
}, 1032, ["index"]))), 128))
|
|
1398
1400
|
]),
|
|
1399
1401
|
_: 2
|
|
1400
|
-
}, 1032, ["index"])) : (
|
|
1402
|
+
}, 1032, ["index"])) : (o(), A(l(Ie), {
|
|
1401
1403
|
key: 1,
|
|
1402
|
-
index:
|
|
1404
|
+
index: v.menuUrl
|
|
1403
1405
|
}, {
|
|
1404
1406
|
default: S(() => [
|
|
1405
|
-
e("span",
|
|
1406
|
-
e("span",
|
|
1407
|
-
|
|
1407
|
+
e("span", vo, [
|
|
1408
|
+
e("span", ho, [
|
|
1409
|
+
X(E(v.icon)) ? (o(), A(l(U), {
|
|
1408
1410
|
key: 0,
|
|
1409
|
-
name: E(
|
|
1411
|
+
name: E(v.icon),
|
|
1410
1412
|
size: 16
|
|
1411
|
-
}, null, 8, ["name"])) : (
|
|
1413
|
+
}, null, 8, ["name"])) : (o(), c("span", _o, x(F(v.menuName)), 1))
|
|
1412
1414
|
]),
|
|
1413
|
-
e("span",
|
|
1415
|
+
e("span", fo, x(v.menuName), 1)
|
|
1414
1416
|
])
|
|
1415
1417
|
]),
|
|
1416
1418
|
_: 2
|
|
@@ -1418,20 +1420,20 @@ const _e = Fe("menu", () => {
|
|
|
1418
1420
|
], 64))), 128))
|
|
1419
1421
|
]),
|
|
1420
1422
|
_: 2
|
|
1421
|
-
}, 1032, ["index"])) : (
|
|
1423
|
+
}, 1032, ["index"])) : (o(), A(l(Ie), {
|
|
1422
1424
|
key: 1,
|
|
1423
1425
|
index: r.menuUrl
|
|
1424
1426
|
}, {
|
|
1425
1427
|
default: S(() => [
|
|
1426
|
-
e("span",
|
|
1427
|
-
r.menuName !== "首页" ? (
|
|
1428
|
-
|
|
1428
|
+
e("span", go, [
|
|
1429
|
+
r.menuName !== "首页" ? (o(), c("span", yo, [
|
|
1430
|
+
X(E(r.icon)) ? (o(), A(l(U), {
|
|
1429
1431
|
key: 0,
|
|
1430
1432
|
name: E(r.icon),
|
|
1431
1433
|
size: 16
|
|
1432
|
-
}, null, 8, ["name"])) : (
|
|
1433
|
-
])) :
|
|
1434
|
-
e("span",
|
|
1434
|
+
}, null, 8, ["name"])) : (o(), c("span", bo, x(F(r.menuName)), 1))
|
|
1435
|
+
])) : z("", !0),
|
|
1436
|
+
e("span", wo, x(r.menuName), 1)
|
|
1435
1437
|
])
|
|
1436
1438
|
]),
|
|
1437
1439
|
_: 2
|
|
@@ -1440,77 +1442,77 @@ const _e = Fe("menu", () => {
|
|
|
1440
1442
|
]),
|
|
1441
1443
|
_: 1
|
|
1442
1444
|
}, 8, ["model-value", "background-color", "text-color", "active-text-color"]),
|
|
1443
|
-
e("div",
|
|
1445
|
+
e("div", ko, [
|
|
1444
1446
|
e("div", {
|
|
1445
1447
|
class: "top-menu__search",
|
|
1446
1448
|
ref_key: "searchRef",
|
|
1447
|
-
ref:
|
|
1449
|
+
ref: Y
|
|
1448
1450
|
}, [
|
|
1449
|
-
|
|
1451
|
+
w(l(U), {
|
|
1450
1452
|
name: "search",
|
|
1451
1453
|
size: 14,
|
|
1452
1454
|
class: "top-menu__search-icon"
|
|
1453
1455
|
}),
|
|
1454
|
-
|
|
1455
|
-
"onUpdate:modelValue": C[0] || (C[0] = (r) =>
|
|
1456
|
+
De(e("input", {
|
|
1457
|
+
"onUpdate:modelValue": C[0] || (C[0] = (r) => ee.value = r),
|
|
1456
1458
|
type: "text",
|
|
1457
1459
|
class: "top-menu__search-input",
|
|
1458
1460
|
placeholder: "搜索菜单...",
|
|
1459
|
-
onFocus: C[1] || (C[1] = (r) =>
|
|
1461
|
+
onFocus: C[1] || (C[1] = (r) => G.value = !0)
|
|
1460
1462
|
}, null, 544), [
|
|
1461
|
-
[
|
|
1463
|
+
[Ye, ee.value]
|
|
1462
1464
|
]),
|
|
1463
|
-
|
|
1465
|
+
w(Se, { name: "search-dropdown" }, {
|
|
1464
1466
|
default: S(() => [
|
|
1465
|
-
|
|
1466
|
-
|
|
1467
|
-
(
|
|
1467
|
+
G.value && (g.value.length > 0 || ee.value) ? (o(), c("div", xo, [
|
|
1468
|
+
g.value.length > 0 ? (o(), c("div", Co, [
|
|
1469
|
+
(o(!0), c(j, null, J(g.value, (r) => (o(), c("div", {
|
|
1468
1470
|
key: r.path,
|
|
1469
1471
|
class: "top-menu__search-item",
|
|
1470
|
-
onClick: (
|
|
1472
|
+
onClick: (v) => ge(r.path)
|
|
1471
1473
|
}, [
|
|
1472
|
-
r.title !== "首页" ? (
|
|
1473
|
-
|
|
1474
|
+
r.title !== "首页" ? (o(), c("span", Lo, [
|
|
1475
|
+
X(E(r.icon)) ? (o(), A(l(U), {
|
|
1474
1476
|
key: 0,
|
|
1475
1477
|
name: E(r.icon),
|
|
1476
1478
|
size: 16
|
|
1477
|
-
}, null, 8, ["name"])) : (
|
|
1478
|
-
])) :
|
|
1479
|
-
e("span",
|
|
1480
|
-
r.parentTitle ? (
|
|
1481
|
-
], 8,
|
|
1482
|
-
])) : (
|
|
1483
|
-
])) :
|
|
1479
|
+
}, null, 8, ["name"])) : (o(), c("span", Mo, x(F(r.title)), 1))
|
|
1480
|
+
])) : z("", !0),
|
|
1481
|
+
e("span", So, x(r.title), 1),
|
|
1482
|
+
r.parentTitle ? (o(), c("span", No, x(r.parentTitle), 1)) : z("", !0)
|
|
1483
|
+
], 8, $o))), 128))
|
|
1484
|
+
])) : (o(), c("div", Eo, " 未找到匹配的菜单 "))
|
|
1485
|
+
])) : z("", !0)
|
|
1484
1486
|
]),
|
|
1485
1487
|
_: 1
|
|
1486
1488
|
})
|
|
1487
1489
|
], 512),
|
|
1488
1490
|
e("div", {
|
|
1489
1491
|
class: "top-menu__action",
|
|
1490
|
-
onClick:
|
|
1491
|
-
title:
|
|
1492
|
+
onClick: oe,
|
|
1493
|
+
title: R.value ? "退出全屏" : "全屏"
|
|
1492
1494
|
}, [
|
|
1493
|
-
|
|
1494
|
-
name:
|
|
1495
|
+
w(l(U), {
|
|
1496
|
+
name: R.value ? "fullscreen-exit" : "fullscreen",
|
|
1495
1497
|
size: 16
|
|
1496
1498
|
}, null, 8, ["name"])
|
|
1497
|
-
], 8,
|
|
1499
|
+
], 8, Io),
|
|
1498
1500
|
e("div", {
|
|
1499
1501
|
class: "top-menu__action",
|
|
1500
|
-
onClick:
|
|
1502
|
+
onClick: ie,
|
|
1501
1503
|
title: "换肤设置"
|
|
1502
1504
|
}, [
|
|
1503
|
-
|
|
1505
|
+
w(l(U), {
|
|
1504
1506
|
name: "skin",
|
|
1505
1507
|
size: 16
|
|
1506
1508
|
})
|
|
1507
1509
|
]),
|
|
1508
1510
|
e("div", {
|
|
1509
1511
|
class: "top-menu__action",
|
|
1510
|
-
onClick:
|
|
1512
|
+
onClick: K,
|
|
1511
1513
|
title: "切换主题"
|
|
1512
1514
|
}, [
|
|
1513
|
-
|
|
1515
|
+
w(l(U), {
|
|
1514
1516
|
name: l(i).isDark ? "sun" : "moon",
|
|
1515
1517
|
size: 16
|
|
1516
1518
|
}, null, 8, ["name"])
|
|
@@ -1518,18 +1520,18 @@ const _e = Fe("menu", () => {
|
|
|
1518
1520
|
e("div", {
|
|
1519
1521
|
class: "top-menu__user",
|
|
1520
1522
|
ref_key: "dropdownRef",
|
|
1521
|
-
ref:
|
|
1523
|
+
ref: V
|
|
1522
1524
|
}, [
|
|
1523
1525
|
e("div", {
|
|
1524
1526
|
class: "top-menu__user-trigger",
|
|
1525
|
-
onClick:
|
|
1527
|
+
onClick: Ae(we, ["stop"])
|
|
1526
1528
|
}, [
|
|
1527
|
-
e("div",
|
|
1528
|
-
e("span", null, x(((
|
|
1529
|
+
e("div", Uo, [
|
|
1530
|
+
e("span", null, x(((le = l(h).userName) == null ? void 0 : le.charAt(0)) || "U"), 1)
|
|
1529
1531
|
]),
|
|
1530
|
-
e("span",
|
|
1532
|
+
e("span", To, x(l(h).userName), 1),
|
|
1531
1533
|
e("span", {
|
|
1532
|
-
class: Z(["top-menu__user-arrow", { "is-active":
|
|
1534
|
+
class: Z(["top-menu__user-arrow", { "is-active": B.value }])
|
|
1533
1535
|
}, [...C[3] || (C[3] = [
|
|
1534
1536
|
e("svg", {
|
|
1535
1537
|
viewBox: "0 0 12 12",
|
|
@@ -1545,27 +1547,27 @@ const _e = Fe("menu", () => {
|
|
|
1545
1547
|
], -1)
|
|
1546
1548
|
])], 2)
|
|
1547
1549
|
]),
|
|
1548
|
-
|
|
1550
|
+
w(Se, { name: "dropdown" }, {
|
|
1549
1551
|
default: S(() => {
|
|
1550
1552
|
var r;
|
|
1551
1553
|
return [
|
|
1552
|
-
|
|
1553
|
-
e("div",
|
|
1554
|
-
e("div",
|
|
1555
|
-
e("span", null, x(((r = l(
|
|
1554
|
+
B.value ? (o(), c("div", Po, [
|
|
1555
|
+
e("div", zo, [
|
|
1556
|
+
e("div", Fo, [
|
|
1557
|
+
e("span", null, x(((r = l(h).userName) == null ? void 0 : r.charAt(0)) || "U"), 1)
|
|
1556
1558
|
]),
|
|
1557
|
-
e("div",
|
|
1558
|
-
e("div",
|
|
1559
|
-
e("div",
|
|
1559
|
+
e("div", Do, [
|
|
1560
|
+
e("div", Ao, x(l(h).userName), 1),
|
|
1561
|
+
e("div", Bo, x(l(h).departmentName), 1)
|
|
1560
1562
|
])
|
|
1561
1563
|
]),
|
|
1562
1564
|
C[8] || (C[8] = e("div", { class: "top-menu__dropdown-divider" }, null, -1)),
|
|
1563
|
-
e("div",
|
|
1565
|
+
e("div", Vo, [
|
|
1564
1566
|
e("div", {
|
|
1565
1567
|
class: "top-menu__dropdown-item",
|
|
1566
|
-
onClick:
|
|
1568
|
+
onClick: xe
|
|
1567
1569
|
}, [
|
|
1568
|
-
|
|
1570
|
+
w(l(U), {
|
|
1569
1571
|
name: "user",
|
|
1570
1572
|
size: 16
|
|
1571
1573
|
}),
|
|
@@ -1573,9 +1575,9 @@ const _e = Fe("menu", () => {
|
|
|
1573
1575
|
]),
|
|
1574
1576
|
e("div", {
|
|
1575
1577
|
class: "top-menu__dropdown-item",
|
|
1576
|
-
onClick:
|
|
1578
|
+
onClick: I
|
|
1577
1579
|
}, [
|
|
1578
|
-
|
|
1580
|
+
w(l(U), {
|
|
1579
1581
|
name: "lock",
|
|
1580
1582
|
size: 16
|
|
1581
1583
|
}),
|
|
@@ -1586,48 +1588,48 @@ const _e = Fe("menu", () => {
|
|
|
1586
1588
|
class: "top-menu__dropdown-item top-menu__dropdown-item--danger",
|
|
1587
1589
|
onClick: b
|
|
1588
1590
|
}, [
|
|
1589
|
-
|
|
1591
|
+
w(l(U), {
|
|
1590
1592
|
name: "logout",
|
|
1591
1593
|
size: 16
|
|
1592
1594
|
}),
|
|
1593
1595
|
C[6] || (C[6] = e("span", null, "退出登录", -1))
|
|
1594
1596
|
])
|
|
1595
1597
|
])
|
|
1596
|
-
])) :
|
|
1598
|
+
])) : z("", !0)
|
|
1597
1599
|
];
|
|
1598
1600
|
}),
|
|
1599
1601
|
_: 1
|
|
1600
1602
|
})
|
|
1601
1603
|
], 512)
|
|
1602
1604
|
]),
|
|
1603
|
-
|
|
1604
|
-
modelValue:
|
|
1605
|
-
"onUpdate:modelValue": C[2] || (C[2] = (r) =>
|
|
1605
|
+
w(l(Qe), {
|
|
1606
|
+
modelValue: H.value,
|
|
1607
|
+
"onUpdate:modelValue": C[2] || (C[2] = (r) => H.value = r),
|
|
1606
1608
|
title: "换肤设置",
|
|
1607
1609
|
direction: "rtl",
|
|
1608
1610
|
size: "320px"
|
|
1609
1611
|
}, {
|
|
1610
1612
|
default: S(() => [
|
|
1611
|
-
e("div",
|
|
1612
|
-
e("div",
|
|
1613
|
+
e("div", Oo, [
|
|
1614
|
+
e("div", Ro, [
|
|
1613
1615
|
C[12] || (C[12] = e("div", { class: "settings-title" }, "布局模式", -1)),
|
|
1614
|
-
e("div",
|
|
1615
|
-
(
|
|
1616
|
+
e("div", Ko, [
|
|
1617
|
+
(o(), c(j, null, J(pe, (r) => e("div", {
|
|
1616
1618
|
key: r.value,
|
|
1617
|
-
class: Z(["layout-option", { "is-active":
|
|
1618
|
-
onClick: (
|
|
1619
|
+
class: Z(["layout-option", { "is-active": ve.value === r.value }]),
|
|
1620
|
+
onClick: (v) => ne(r.value)
|
|
1619
1621
|
}, [
|
|
1620
|
-
e("div",
|
|
1621
|
-
r.value === "sidebar" ? (
|
|
1622
|
+
e("div", Wo, [
|
|
1623
|
+
r.value === "sidebar" ? (o(), c("div", qo, [...C[9] || (C[9] = [
|
|
1622
1624
|
e("div", { class: "preview-aside" }, null, -1),
|
|
1623
1625
|
e("div", { class: "preview-main" }, [
|
|
1624
1626
|
e("div", { class: "preview-header" }),
|
|
1625
1627
|
e("div", { class: "preview-content" })
|
|
1626
1628
|
], -1)
|
|
1627
|
-
])])) : r.value === "top" ? (
|
|
1629
|
+
])])) : r.value === "top" ? (o(), c("div", Ho, [...C[10] || (C[10] = [
|
|
1628
1630
|
e("div", { class: "preview-header-full" }, null, -1),
|
|
1629
1631
|
e("div", { class: "preview-content-full" }, null, -1)
|
|
1630
|
-
])])) : (
|
|
1632
|
+
])])) : (o(), c("div", Yo, [...C[11] || (C[11] = [
|
|
1631
1633
|
e("div", { class: "preview-header-mix" }, [
|
|
1632
1634
|
e("div", { class: "preview-mix-left" })
|
|
1633
1635
|
], -1),
|
|
@@ -1637,46 +1639,46 @@ const _e = Fe("menu", () => {
|
|
|
1637
1639
|
], -1)
|
|
1638
1640
|
])]))
|
|
1639
1641
|
]),
|
|
1640
|
-
e("span",
|
|
1641
|
-
], 10,
|
|
1642
|
+
e("span", Go, x(r.label), 1)
|
|
1643
|
+
], 10, jo)), 64))
|
|
1642
1644
|
])
|
|
1643
1645
|
]),
|
|
1644
|
-
e("div",
|
|
1646
|
+
e("div", Xo, [
|
|
1645
1647
|
C[13] || (C[13] = e("div", { class: "settings-title" }, "主题色", -1)),
|
|
1646
|
-
e("div",
|
|
1647
|
-
(
|
|
1648
|
+
e("div", Jo, [
|
|
1649
|
+
(o(), c(j, null, J(ke, (r) => e("div", {
|
|
1648
1650
|
key: r.value,
|
|
1649
1651
|
class: Z(["color-option", { "is-active": l(i).primaryColor === r.value }]),
|
|
1650
|
-
style:
|
|
1652
|
+
style: Ue({ backgroundColor: r.value }),
|
|
1651
1653
|
title: r.label,
|
|
1652
|
-
onClick: (
|
|
1654
|
+
onClick: (v) => ye(r.value)
|
|
1653
1655
|
}, [
|
|
1654
|
-
l(i).primaryColor === r.value ? (
|
|
1656
|
+
l(i).primaryColor === r.value ? (o(), A(l(U), {
|
|
1655
1657
|
key: 0,
|
|
1656
1658
|
name: "check",
|
|
1657
1659
|
size: 12,
|
|
1658
1660
|
color: "#fff"
|
|
1659
|
-
})) :
|
|
1660
|
-
], 14,
|
|
1661
|
+
})) : z("", !0)
|
|
1662
|
+
], 14, Zo)), 64))
|
|
1661
1663
|
])
|
|
1662
1664
|
]),
|
|
1663
|
-
e("div",
|
|
1665
|
+
e("div", Qo, [
|
|
1664
1666
|
C[18] || (C[18] = e("div", { class: "settings-title" }, "功能设置", -1)),
|
|
1665
|
-
e("div",
|
|
1666
|
-
e("div",
|
|
1667
|
+
e("div", ea, [
|
|
1668
|
+
e("div", ta, [
|
|
1667
1669
|
C[15] || (C[15] = e("span", null, "灰色模式", -1)),
|
|
1668
1670
|
e("div", {
|
|
1669
1671
|
class: Z(["switch-wrapper", { "is-checked": Q.value }]),
|
|
1670
|
-
onClick:
|
|
1672
|
+
onClick: M
|
|
1671
1673
|
}, [...C[14] || (C[14] = [
|
|
1672
1674
|
e("span", { class: "switch-core" }, null, -1)
|
|
1673
1675
|
])], 2)
|
|
1674
1676
|
]),
|
|
1675
|
-
e("div",
|
|
1677
|
+
e("div", sa, [
|
|
1676
1678
|
C[17] || (C[17] = e("span", null, "暗黑模式", -1)),
|
|
1677
1679
|
e("div", {
|
|
1678
1680
|
class: Z(["switch-wrapper", { "is-checked": l(i).isDark }]),
|
|
1679
|
-
onClick:
|
|
1681
|
+
onClick: q
|
|
1680
1682
|
}, [...C[16] || (C[16] = [
|
|
1681
1683
|
e("span", { class: "switch-core" }, null, -1)
|
|
1682
1684
|
])], 2)
|
|
@@ -1690,76 +1692,76 @@ const _e = Fe("menu", () => {
|
|
|
1690
1692
|
]);
|
|
1691
1693
|
};
|
|
1692
1694
|
}
|
|
1693
|
-
}),
|
|
1695
|
+
}), aa = /* @__PURE__ */ de(oa, [["__scopeId", "data-v-711d5b8d"]]), na = { class: "mix-top-menu" }, la = { class: "mix-top-menu__logo" }, ra = ["src"], ia = { class: "mix-top-menu__logo-text" }, ca = { class: "mix-top-menu__menu-content" }, ua = {
|
|
1694
1696
|
key: 0,
|
|
1695
1697
|
class: "mix-top-menu__menu-icon"
|
|
1696
|
-
},
|
|
1698
|
+
}, da = {
|
|
1697
1699
|
key: 1,
|
|
1698
1700
|
class: "mix-top-menu__menu-char"
|
|
1699
|
-
},
|
|
1701
|
+
}, ma = { class: "mix-top-menu__menu-text" }, pa = { class: "mix-top-menu__actions" }, va = {
|
|
1700
1702
|
key: 0,
|
|
1701
1703
|
class: "mix-top-menu__search-dropdown"
|
|
1702
|
-
},
|
|
1704
|
+
}, ha = {
|
|
1703
1705
|
key: 0,
|
|
1704
1706
|
class: "mix-top-menu__search-results"
|
|
1705
|
-
},
|
|
1707
|
+
}, _a = ["onClick"], fa = {
|
|
1706
1708
|
key: 0,
|
|
1707
1709
|
class: "mix-top-menu__search-icon-item"
|
|
1708
|
-
},
|
|
1710
|
+
}, ga = {
|
|
1709
1711
|
key: 1,
|
|
1710
1712
|
class: "mix-top-menu__search-char"
|
|
1711
|
-
},
|
|
1713
|
+
}, ya = { class: "mix-top-menu__search-item-title" }, ba = {
|
|
1712
1714
|
key: 1,
|
|
1713
1715
|
class: "mix-top-menu__search-item-parent"
|
|
1714
|
-
},
|
|
1716
|
+
}, wa = {
|
|
1715
1717
|
key: 1,
|
|
1716
1718
|
class: "mix-top-menu__search-empty"
|
|
1717
|
-
},
|
|
1719
|
+
}, ka = ["title"], xa = { class: "mix-top-menu__avatar" }, Ca = { class: "mix-top-menu__user-name" }, $a = {
|
|
1718
1720
|
key: 0,
|
|
1719
1721
|
class: "mix-top-menu__dropdown"
|
|
1720
|
-
},
|
|
1722
|
+
}, La = { class: "mix-top-menu__dropdown-header" }, Ma = { class: "mix-top-menu__dropdown-avatar" }, Sa = { class: "mix-top-menu__dropdown-info" }, Na = { class: "mix-top-menu__dropdown-name" }, Ea = { class: "mix-top-menu__dropdown-role" }, Ia = { class: "mix-top-menu__dropdown-menu" }, Ua = { class: "settings-drawer" }, Ta = { class: "settings-section" }, Pa = { class: "settings-layout-options" }, za = ["onClick"], Fa = { class: "layout-option__preview" }, Da = {
|
|
1721
1723
|
key: 0,
|
|
1722
1724
|
class: "layout-preview-sidebar"
|
|
1723
|
-
},
|
|
1725
|
+
}, Aa = {
|
|
1724
1726
|
key: 1,
|
|
1725
1727
|
class: "layout-preview-top"
|
|
1726
|
-
},
|
|
1728
|
+
}, Ba = {
|
|
1727
1729
|
key: 2,
|
|
1728
1730
|
class: "layout-preview-mix"
|
|
1729
|
-
},
|
|
1731
|
+
}, Va = { class: "layout-option__label" }, Oa = { class: "settings-section" }, Ra = { class: "settings-color-options" }, Ka = ["title", "onClick"], ja = { class: "settings-section" }, Wa = { class: "settings-switch-list" }, qa = { class: "settings-switch-item" }, Ha = { class: "settings-switch-item" }, Ya = /* @__PURE__ */ ce({
|
|
1730
1732
|
__name: "MixTopMenu",
|
|
1731
1733
|
props: {
|
|
1732
1734
|
logoSrc: {}
|
|
1733
1735
|
},
|
|
1734
1736
|
setup(t) {
|
|
1735
|
-
const n = t, m =
|
|
1736
|
-
const
|
|
1737
|
+
const n = t, m = k(() => n.logoSrc || Te("/vite.svg")), a = Ee(), s = be(), p = fe(), i = _e(), h = ue(), d = ze(), f = y(""), _ = (r, v = "") => {
|
|
1738
|
+
const O = [];
|
|
1737
1739
|
return r.forEach((L) => {
|
|
1738
|
-
L.children && L.children.length > 0 ?
|
|
1739
|
-
}),
|
|
1740
|
-
},
|
|
1741
|
-
(
|
|
1742
|
-
) : []), u =
|
|
1743
|
-
const r =
|
|
1740
|
+
L.children && L.children.length > 0 ? O.push(..._(L.children, L.menuName)) : O.push({ ...L, parentTitle: v, title: L.menuName, path: L.menuUrl });
|
|
1741
|
+
}), O;
|
|
1742
|
+
}, g = k(() => E.value.trim() ? _(p.menuList).filter(
|
|
1743
|
+
(v) => v.title.toLowerCase().includes(E.value.toLowerCase())
|
|
1744
|
+
) : []), u = k(() => {
|
|
1745
|
+
const r = p.menuList.find((v) => v.menuUrl === f.value);
|
|
1744
1746
|
return (r == null ? void 0 : r.children) || [];
|
|
1745
|
-
}),
|
|
1746
|
-
|
|
1747
|
-
},
|
|
1747
|
+
}), W = k(() => p.menuList.find((r) => !!(a.path === r.menuUrl || r.children && r.children.some((v) => a.path.startsWith(v.menuUrl) || a.path === v.menuUrl)))), P = () => {
|
|
1748
|
+
W.value ? f.value = W.value.menuUrl : p.menuList.length > 0 && (f.value = p.menuList[0].menuUrl);
|
|
1749
|
+
}, B = (r) => {
|
|
1748
1750
|
f.value = r;
|
|
1749
|
-
const
|
|
1750
|
-
if (
|
|
1751
|
-
if (
|
|
1752
|
-
const
|
|
1753
|
-
|
|
1751
|
+
const v = p.menuList.find((O) => O.menuUrl === r);
|
|
1752
|
+
if (v)
|
|
1753
|
+
if (v.children && v.children.length > 0) {
|
|
1754
|
+
const O = v.children[0].menuUrl;
|
|
1755
|
+
a.path !== O && s.push(O);
|
|
1754
1756
|
} else
|
|
1755
|
-
|
|
1756
|
-
},
|
|
1757
|
-
|
|
1758
|
-
|
|
1759
|
-
}),
|
|
1760
|
-
r && r.length > 0 && (
|
|
1757
|
+
a.path !== r && s.push(r);
|
|
1758
|
+
}, V = k(() => i.isDark ? "#1d1e1f" : "#fff"), R = k(() => i.isDark ? "#cfd3dc" : "#303133"), H = k(() => "#409eff"), Q = y(!1), G = y(null), ee = y(!1), Y = y(!1), te = y(!1), D = y(!1), E = y(""), F = y(null);
|
|
1759
|
+
Le(() => a.path, () => {
|
|
1760
|
+
P(), i.setMixSubMenus(u.value);
|
|
1761
|
+
}), Le(() => p.menuList, (r) => {
|
|
1762
|
+
r && r.length > 0 && (P(), i.setMixSubMenus(u.value));
|
|
1761
1763
|
}, { immediate: !0 });
|
|
1762
|
-
const
|
|
1764
|
+
const X = /* @__PURE__ */ new Set([
|
|
1763
1765
|
"arrow-up",
|
|
1764
1766
|
"arrow-down",
|
|
1765
1767
|
"arrow-left",
|
|
@@ -1861,10 +1863,10 @@ const _e = Fe("menu", () => {
|
|
|
1861
1863
|
"sun",
|
|
1862
1864
|
"theme",
|
|
1863
1865
|
"skin"
|
|
1864
|
-
]),
|
|
1866
|
+
]), K = (r) => {
|
|
1865
1867
|
if (!r || r === "") return "";
|
|
1866
1868
|
if (r.startsWith("tineco-icon-")) {
|
|
1867
|
-
const
|
|
1869
|
+
const O = r.replace("tineco-icon-", "");
|
|
1868
1870
|
return {
|
|
1869
1871
|
home: "home",
|
|
1870
1872
|
dashboard: "dashboard",
|
|
@@ -1878,7 +1880,7 @@ const _e = Fe("menu", () => {
|
|
|
1878
1880
|
chart: "chart",
|
|
1879
1881
|
report: "report",
|
|
1880
1882
|
analytics: "analytics"
|
|
1881
|
-
}[
|
|
1883
|
+
}[O] || O;
|
|
1882
1884
|
}
|
|
1883
1885
|
return {
|
|
1884
1886
|
dashboard: "dashboard",
|
|
@@ -1898,94 +1900,94 @@ const _e = Fe("menu", () => {
|
|
|
1898
1900
|
list: "list",
|
|
1899
1901
|
grid: "grid"
|
|
1900
1902
|
}[r] || r;
|
|
1901
|
-
},
|
|
1902
|
-
i.toggleTheme(),
|
|
1903
|
-
},
|
|
1903
|
+
}, oe = (r) => r ? r.charAt(0) : "", he = (r) => X.has(r), we = () => {
|
|
1904
|
+
i.toggleTheme(), Y.value = !1;
|
|
1905
|
+
}, re = () => {
|
|
1904
1906
|
document.fullscreenElement ? document.exitFullscreen() : document.documentElement.requestFullscreen();
|
|
1905
|
-
},
|
|
1906
|
-
|
|
1907
|
-
},
|
|
1907
|
+
}, me = () => {
|
|
1908
|
+
ee.value = !!document.fullscreenElement;
|
|
1909
|
+
}, ge = () => {
|
|
1908
1910
|
Q.value = !Q.value;
|
|
1909
|
-
},
|
|
1911
|
+
}, ie = () => {
|
|
1910
1912
|
Q.value = !1;
|
|
1911
|
-
},
|
|
1912
|
-
|
|
1913
|
-
},
|
|
1914
|
-
s.push(r),
|
|
1915
|
-
},
|
|
1916
|
-
|
|
1917
|
-
},
|
|
1913
|
+
}, ae = () => {
|
|
1914
|
+
D.value = !1, E.value = "";
|
|
1915
|
+
}, M = (r) => {
|
|
1916
|
+
s.push(r), ae();
|
|
1917
|
+
}, q = () => {
|
|
1918
|
+
Y.value = !0;
|
|
1919
|
+
}, pe = (r) => {
|
|
1918
1920
|
te.value = r;
|
|
1919
|
-
const
|
|
1920
|
-
r ?
|
|
1921
|
-
},
|
|
1922
|
-
|
|
1923
|
-
},
|
|
1924
|
-
i.toggleTheme(),
|
|
1925
|
-
},
|
|
1921
|
+
const v = document.documentElement;
|
|
1922
|
+
r ? v.classList.add("grey-mode") : v.classList.remove("grey-mode");
|
|
1923
|
+
}, ve = () => {
|
|
1924
|
+
pe(!te.value), Y.value = !1;
|
|
1925
|
+
}, ne = () => {
|
|
1926
|
+
i.toggleTheme(), Y.value = !1;
|
|
1927
|
+
}, ke = [
|
|
1926
1928
|
{ value: "sidebar", label: "左侧菜单", icon: "sidebar-left" },
|
|
1927
1929
|
{ value: "top", label: "顶部菜单", icon: "menu" },
|
|
1928
1930
|
{ value: "mix", label: "混合菜单", icon: "grid" }
|
|
1929
|
-
],
|
|
1930
|
-
i.setLayout(r),
|
|
1931
|
-
},
|
|
1931
|
+
], ye = k(() => i.layout), xe = (r) => {
|
|
1932
|
+
i.setLayout(r), Y.value = !1;
|
|
1933
|
+
}, I = [
|
|
1932
1934
|
{ value: "#409eff", label: "默认蓝" },
|
|
1933
1935
|
{ value: "#0F6FDE", label: "企业蓝" },
|
|
1934
1936
|
{ value: "#00A870", label: "翡翠绿" },
|
|
1935
1937
|
{ value: "#D46B08", label: "琥珀橙" },
|
|
1936
1938
|
{ value: "#1F2329", label: "石墨黑" }
|
|
1937
1939
|
], b = (r) => {
|
|
1938
|
-
i.setPrimaryColor(r),
|
|
1940
|
+
i.setPrimaryColor(r), Y.value = !1;
|
|
1939
1941
|
}, se = () => {
|
|
1940
|
-
|
|
1942
|
+
ie(), s.push("/profile");
|
|
1941
1943
|
}, $ = () => {
|
|
1942
|
-
|
|
1944
|
+
ie(), s.push("/change-password");
|
|
1943
1945
|
}, N = () => {
|
|
1944
|
-
|
|
1946
|
+
ie(), d.logout(), h.clearUserInfo(), p.clearMenu(), s.push(i.loginPath);
|
|
1945
1947
|
}, C = (r) => {
|
|
1946
|
-
|
|
1947
|
-
},
|
|
1948
|
-
r.key === "Escape" && (
|
|
1948
|
+
G.value && !G.value.contains(r.target) && ie(), F.value && !F.value.contains(r.target) && ae();
|
|
1949
|
+
}, le = (r) => {
|
|
1950
|
+
r.key === "Escape" && (ae(), ie());
|
|
1949
1951
|
};
|
|
1950
|
-
return
|
|
1951
|
-
document.addEventListener("click", C), document.addEventListener("fullscreenchange",
|
|
1952
|
-
}),
|
|
1953
|
-
document.removeEventListener("click", C), document.removeEventListener("fullscreenchange",
|
|
1954
|
-
}), (r,
|
|
1955
|
-
var
|
|
1956
|
-
return
|
|
1957
|
-
e("div",
|
|
1952
|
+
return qe(() => {
|
|
1953
|
+
document.addEventListener("click", C), document.addEventListener("fullscreenchange", me), document.addEventListener("keydown", le), te.value = document.documentElement.classList.contains("grey-mode"), P();
|
|
1954
|
+
}), He(() => {
|
|
1955
|
+
document.removeEventListener("click", C), document.removeEventListener("fullscreenchange", me), document.removeEventListener("keydown", le);
|
|
1956
|
+
}), (r, v) => {
|
|
1957
|
+
var O;
|
|
1958
|
+
return o(), c("div", na, [
|
|
1959
|
+
e("div", la, [
|
|
1958
1960
|
e("img", {
|
|
1959
1961
|
src: m.value,
|
|
1960
1962
|
alt: "Logo",
|
|
1961
1963
|
class: "mix-top-menu__logo-img"
|
|
1962
|
-
}, null, 8,
|
|
1963
|
-
e("span",
|
|
1964
|
+
}, null, 8, ra),
|
|
1965
|
+
e("span", ia, x(l(i).appName), 1)
|
|
1964
1966
|
]),
|
|
1965
|
-
|
|
1967
|
+
w(l(Ze), {
|
|
1966
1968
|
"model-value": f.value,
|
|
1967
1969
|
mode: "horizontal",
|
|
1968
|
-
"background-color":
|
|
1969
|
-
"text-color":
|
|
1970
|
-
"active-text-color":
|
|
1970
|
+
"background-color": V.value,
|
|
1971
|
+
"text-color": R.value,
|
|
1972
|
+
"active-text-color": H.value,
|
|
1971
1973
|
class: "mix-top-menu__menu",
|
|
1972
|
-
onSelect:
|
|
1974
|
+
onSelect: B
|
|
1973
1975
|
}, {
|
|
1974
1976
|
default: S(() => [
|
|
1975
|
-
(
|
|
1977
|
+
(o(!0), c(j, null, J(l(p).menuList, (L) => (o(), A(l(Ie), {
|
|
1976
1978
|
key: L.menuUrl,
|
|
1977
1979
|
index: L.menuUrl
|
|
1978
1980
|
}, {
|
|
1979
1981
|
default: S(() => [
|
|
1980
|
-
e("span",
|
|
1981
|
-
L.menuName !== "首页" ? (
|
|
1982
|
-
|
|
1982
|
+
e("span", ca, [
|
|
1983
|
+
L.menuName !== "首页" ? (o(), c("span", ua, [
|
|
1984
|
+
he(K(L.icon)) ? (o(), A(l(U), {
|
|
1983
1985
|
key: 0,
|
|
1984
|
-
name:
|
|
1986
|
+
name: K(L.icon),
|
|
1985
1987
|
size: 16
|
|
1986
|
-
}, null, 8, ["name"])) : (
|
|
1987
|
-
])) :
|
|
1988
|
-
e("span",
|
|
1988
|
+
}, null, 8, ["name"])) : (o(), c("span", da, x(oe(L.menuName)), 1))
|
|
1989
|
+
])) : z("", !0),
|
|
1990
|
+
e("span", ma, x(L.menuName), 1)
|
|
1989
1991
|
])
|
|
1990
1992
|
]),
|
|
1991
1993
|
_: 2
|
|
@@ -1993,67 +1995,67 @@ const _e = Fe("menu", () => {
|
|
|
1993
1995
|
]),
|
|
1994
1996
|
_: 1
|
|
1995
1997
|
}, 8, ["model-value", "background-color", "text-color", "active-text-color"]),
|
|
1996
|
-
e("div",
|
|
1998
|
+
e("div", pa, [
|
|
1997
1999
|
e("div", {
|
|
1998
2000
|
class: "mix-top-menu__search",
|
|
1999
2001
|
ref_key: "searchRef",
|
|
2000
|
-
ref:
|
|
2002
|
+
ref: F
|
|
2001
2003
|
}, [
|
|
2002
|
-
|
|
2004
|
+
w(l(U), {
|
|
2003
2005
|
name: "search",
|
|
2004
2006
|
size: 14,
|
|
2005
2007
|
class: "mix-top-menu__search-icon"
|
|
2006
2008
|
}),
|
|
2007
|
-
|
|
2008
|
-
"onUpdate:modelValue":
|
|
2009
|
+
De(e("input", {
|
|
2010
|
+
"onUpdate:modelValue": v[0] || (v[0] = (L) => E.value = L),
|
|
2009
2011
|
type: "text",
|
|
2010
2012
|
class: "mix-top-menu__search-input",
|
|
2011
2013
|
placeholder: "搜索菜单...",
|
|
2012
|
-
onFocus:
|
|
2014
|
+
onFocus: v[1] || (v[1] = (L) => D.value = !0)
|
|
2013
2015
|
}, null, 544), [
|
|
2014
|
-
[
|
|
2016
|
+
[Ye, E.value]
|
|
2015
2017
|
]),
|
|
2016
|
-
|
|
2018
|
+
w(Se, { name: "search-dropdown" }, {
|
|
2017
2019
|
default: S(() => [
|
|
2018
|
-
|
|
2019
|
-
|
|
2020
|
-
(
|
|
2020
|
+
D.value && (g.value.length > 0 || E.value) ? (o(), c("div", va, [
|
|
2021
|
+
g.value.length > 0 ? (o(), c("div", ha, [
|
|
2022
|
+
(o(!0), c(j, null, J(g.value, (L) => (o(), c("div", {
|
|
2021
2023
|
key: L.path,
|
|
2022
2024
|
class: "mix-top-menu__search-item",
|
|
2023
|
-
onClick: (
|
|
2025
|
+
onClick: (tt) => M(L.path)
|
|
2024
2026
|
}, [
|
|
2025
|
-
L.title !== "首页" ? (
|
|
2026
|
-
|
|
2027
|
+
L.title !== "首页" ? (o(), c("span", fa, [
|
|
2028
|
+
he(K(L.icon)) ? (o(), A(l(U), {
|
|
2027
2029
|
key: 0,
|
|
2028
|
-
name:
|
|
2030
|
+
name: K(L.icon),
|
|
2029
2031
|
size: 16
|
|
2030
|
-
}, null, 8, ["name"])) : (
|
|
2031
|
-
])) :
|
|
2032
|
-
e("span",
|
|
2033
|
-
L.parentTitle ? (
|
|
2034
|
-
], 8,
|
|
2035
|
-
])) : (
|
|
2036
|
-
])) :
|
|
2032
|
+
}, null, 8, ["name"])) : (o(), c("span", ga, x(oe(L.title)), 1))
|
|
2033
|
+
])) : z("", !0),
|
|
2034
|
+
e("span", ya, x(L.title), 1),
|
|
2035
|
+
L.parentTitle ? (o(), c("span", ba, x(L.parentTitle), 1)) : z("", !0)
|
|
2036
|
+
], 8, _a))), 128))
|
|
2037
|
+
])) : (o(), c("div", wa, " 未找到匹配的菜单 "))
|
|
2038
|
+
])) : z("", !0)
|
|
2037
2039
|
]),
|
|
2038
2040
|
_: 1
|
|
2039
2041
|
})
|
|
2040
2042
|
], 512),
|
|
2041
2043
|
e("div", {
|
|
2042
2044
|
class: "mix-top-menu__action",
|
|
2043
|
-
onClick:
|
|
2044
|
-
title:
|
|
2045
|
+
onClick: re,
|
|
2046
|
+
title: ee.value ? "退出全屏" : "全屏"
|
|
2045
2047
|
}, [
|
|
2046
|
-
|
|
2047
|
-
name:
|
|
2048
|
+
w(l(U), {
|
|
2049
|
+
name: ee.value ? "fullscreen-exit" : "fullscreen",
|
|
2048
2050
|
size: 16
|
|
2049
2051
|
}, null, 8, ["name"])
|
|
2050
|
-
], 8,
|
|
2052
|
+
], 8, ka),
|
|
2051
2053
|
e("div", {
|
|
2052
2054
|
class: "mix-top-menu__action",
|
|
2053
|
-
onClick:
|
|
2055
|
+
onClick: q,
|
|
2054
2056
|
title: "换肤设置"
|
|
2055
2057
|
}, [
|
|
2056
|
-
|
|
2058
|
+
w(l(U), {
|
|
2057
2059
|
name: "skin",
|
|
2058
2060
|
size: 16
|
|
2059
2061
|
})
|
|
@@ -2063,7 +2065,7 @@ const _e = Fe("menu", () => {
|
|
|
2063
2065
|
onClick: we,
|
|
2064
2066
|
title: "切换主题"
|
|
2065
2067
|
}, [
|
|
2066
|
-
|
|
2068
|
+
w(l(U), {
|
|
2067
2069
|
name: l(i).isDark ? "sun" : "moon",
|
|
2068
2070
|
size: 16
|
|
2069
2071
|
}, null, 8, ["name"])
|
|
@@ -2071,19 +2073,19 @@ const _e = Fe("menu", () => {
|
|
|
2071
2073
|
e("div", {
|
|
2072
2074
|
class: "mix-top-menu__user",
|
|
2073
2075
|
ref_key: "dropdownRef",
|
|
2074
|
-
ref:
|
|
2076
|
+
ref: G
|
|
2075
2077
|
}, [
|
|
2076
2078
|
e("div", {
|
|
2077
2079
|
class: "mix-top-menu__user-trigger",
|
|
2078
|
-
onClick:
|
|
2080
|
+
onClick: Ae(ge, ["stop"])
|
|
2079
2081
|
}, [
|
|
2080
|
-
e("div",
|
|
2081
|
-
e("span", null, x(((
|
|
2082
|
+
e("div", xa, [
|
|
2083
|
+
e("span", null, x(((O = l(h).userName) == null ? void 0 : O.charAt(0)) || "U"), 1)
|
|
2082
2084
|
]),
|
|
2083
|
-
e("span",
|
|
2085
|
+
e("span", Ca, x(l(h).userName), 1),
|
|
2084
2086
|
e("span", {
|
|
2085
2087
|
class: Z(["mix-top-menu__user-arrow", { "is-active": Q.value }])
|
|
2086
|
-
}, [...
|
|
2088
|
+
}, [...v[3] || (v[3] = [
|
|
2087
2089
|
e("svg", {
|
|
2088
2090
|
viewBox: "0 0 12 12",
|
|
2089
2091
|
width: "10",
|
|
@@ -2098,89 +2100,89 @@ const _e = Fe("menu", () => {
|
|
|
2098
2100
|
], -1)
|
|
2099
2101
|
])], 2)
|
|
2100
2102
|
]),
|
|
2101
|
-
|
|
2103
|
+
w(Se, { name: "dropdown" }, {
|
|
2102
2104
|
default: S(() => {
|
|
2103
2105
|
var L;
|
|
2104
2106
|
return [
|
|
2105
|
-
Q.value ? (
|
|
2106
|
-
e("div",
|
|
2107
|
-
e("div",
|
|
2108
|
-
e("span", null, x(((L = l(
|
|
2107
|
+
Q.value ? (o(), c("div", $a, [
|
|
2108
|
+
e("div", La, [
|
|
2109
|
+
e("div", Ma, [
|
|
2110
|
+
e("span", null, x(((L = l(h).userName) == null ? void 0 : L.charAt(0)) || "U"), 1)
|
|
2109
2111
|
]),
|
|
2110
|
-
e("div",
|
|
2111
|
-
e("div",
|
|
2112
|
-
e("div",
|
|
2112
|
+
e("div", Sa, [
|
|
2113
|
+
e("div", Na, x(l(h).userName), 1),
|
|
2114
|
+
e("div", Ea, x(l(h).departmentName), 1)
|
|
2113
2115
|
])
|
|
2114
2116
|
]),
|
|
2115
|
-
|
|
2116
|
-
e("div",
|
|
2117
|
+
v[8] || (v[8] = e("div", { class: "mix-top-menu__dropdown-divider" }, null, -1)),
|
|
2118
|
+
e("div", Ia, [
|
|
2117
2119
|
e("div", {
|
|
2118
2120
|
class: "mix-top-menu__dropdown-item",
|
|
2119
2121
|
onClick: se
|
|
2120
2122
|
}, [
|
|
2121
|
-
|
|
2123
|
+
w(l(U), {
|
|
2122
2124
|
name: "user",
|
|
2123
2125
|
size: 16
|
|
2124
2126
|
}),
|
|
2125
|
-
|
|
2127
|
+
v[4] || (v[4] = e("span", null, "个人信息", -1))
|
|
2126
2128
|
]),
|
|
2127
2129
|
e("div", {
|
|
2128
2130
|
class: "mix-top-menu__dropdown-item",
|
|
2129
2131
|
onClick: $
|
|
2130
2132
|
}, [
|
|
2131
|
-
|
|
2133
|
+
w(l(U), {
|
|
2132
2134
|
name: "lock",
|
|
2133
2135
|
size: 16
|
|
2134
2136
|
}),
|
|
2135
|
-
|
|
2137
|
+
v[5] || (v[5] = e("span", null, "修改密码", -1))
|
|
2136
2138
|
]),
|
|
2137
|
-
|
|
2139
|
+
v[7] || (v[7] = e("div", { class: "mix-top-menu__dropdown-divider" }, null, -1)),
|
|
2138
2140
|
e("div", {
|
|
2139
2141
|
class: "mix-top-menu__dropdown-item mix-top-menu__dropdown-item--danger",
|
|
2140
2142
|
onClick: N
|
|
2141
2143
|
}, [
|
|
2142
|
-
|
|
2144
|
+
w(l(U), {
|
|
2143
2145
|
name: "logout",
|
|
2144
2146
|
size: 16
|
|
2145
2147
|
}),
|
|
2146
|
-
|
|
2148
|
+
v[6] || (v[6] = e("span", null, "退出登录", -1))
|
|
2147
2149
|
])
|
|
2148
2150
|
])
|
|
2149
|
-
])) :
|
|
2151
|
+
])) : z("", !0)
|
|
2150
2152
|
];
|
|
2151
2153
|
}),
|
|
2152
2154
|
_: 1
|
|
2153
2155
|
})
|
|
2154
2156
|
], 512)
|
|
2155
2157
|
]),
|
|
2156
|
-
|
|
2157
|
-
modelValue:
|
|
2158
|
-
"onUpdate:modelValue":
|
|
2158
|
+
w(l(Qe), {
|
|
2159
|
+
modelValue: Y.value,
|
|
2160
|
+
"onUpdate:modelValue": v[2] || (v[2] = (L) => Y.value = L),
|
|
2159
2161
|
title: "换肤设置",
|
|
2160
2162
|
direction: "rtl",
|
|
2161
2163
|
size: "320px"
|
|
2162
2164
|
}, {
|
|
2163
2165
|
default: S(() => [
|
|
2164
|
-
e("div",
|
|
2165
|
-
e("div",
|
|
2166
|
-
|
|
2167
|
-
e("div",
|
|
2168
|
-
(
|
|
2166
|
+
e("div", Ua, [
|
|
2167
|
+
e("div", Ta, [
|
|
2168
|
+
v[12] || (v[12] = e("div", { class: "settings-title" }, "布局模式", -1)),
|
|
2169
|
+
e("div", Pa, [
|
|
2170
|
+
(o(), c(j, null, J(ke, (L) => e("div", {
|
|
2169
2171
|
key: L.value,
|
|
2170
|
-
class: Z(["layout-option", { "is-active":
|
|
2171
|
-
onClick: (
|
|
2172
|
+
class: Z(["layout-option", { "is-active": ye.value === L.value }]),
|
|
2173
|
+
onClick: (tt) => xe(L.value)
|
|
2172
2174
|
}, [
|
|
2173
|
-
e("div",
|
|
2174
|
-
L.value === "sidebar" ? (
|
|
2175
|
+
e("div", Fa, [
|
|
2176
|
+
L.value === "sidebar" ? (o(), c("div", Da, [...v[9] || (v[9] = [
|
|
2175
2177
|
e("div", { class: "preview-aside" }, null, -1),
|
|
2176
2178
|
e("div", { class: "preview-main" }, [
|
|
2177
2179
|
e("div", { class: "preview-header" }),
|
|
2178
2180
|
e("div", { class: "preview-content" })
|
|
2179
2181
|
], -1)
|
|
2180
|
-
])])) : L.value === "top" ? (
|
|
2182
|
+
])])) : L.value === "top" ? (o(), c("div", Aa, [...v[10] || (v[10] = [
|
|
2181
2183
|
e("div", { class: "preview-header-full" }, null, -1),
|
|
2182
2184
|
e("div", { class: "preview-content-full" }, null, -1)
|
|
2183
|
-
])])) : (
|
|
2185
|
+
])])) : (o(), c("div", Ba, [...v[11] || (v[11] = [
|
|
2184
2186
|
e("div", { class: "preview-header-mix" }, [
|
|
2185
2187
|
e("div", { class: "preview-mix-left" })
|
|
2186
2188
|
], -1),
|
|
@@ -2190,47 +2192,47 @@ const _e = Fe("menu", () => {
|
|
|
2190
2192
|
], -1)
|
|
2191
2193
|
])]))
|
|
2192
2194
|
]),
|
|
2193
|
-
e("span",
|
|
2194
|
-
], 10,
|
|
2195
|
+
e("span", Va, x(L.label), 1)
|
|
2196
|
+
], 10, za)), 64))
|
|
2195
2197
|
])
|
|
2196
2198
|
]),
|
|
2197
|
-
e("div",
|
|
2198
|
-
|
|
2199
|
-
e("div",
|
|
2200
|
-
(
|
|
2199
|
+
e("div", Oa, [
|
|
2200
|
+
v[13] || (v[13] = e("div", { class: "settings-title" }, "主题色", -1)),
|
|
2201
|
+
e("div", Ra, [
|
|
2202
|
+
(o(), c(j, null, J(I, (L) => e("div", {
|
|
2201
2203
|
key: L.value,
|
|
2202
2204
|
class: Z(["color-option", { "is-active": l(i).primaryColor === L.value }]),
|
|
2203
|
-
style:
|
|
2205
|
+
style: Ue({ backgroundColor: L.value }),
|
|
2204
2206
|
title: L.label,
|
|
2205
|
-
onClick: (
|
|
2207
|
+
onClick: (tt) => b(L.value)
|
|
2206
2208
|
}, [
|
|
2207
|
-
l(i).primaryColor === L.value ? (
|
|
2209
|
+
l(i).primaryColor === L.value ? (o(), A(l(U), {
|
|
2208
2210
|
key: 0,
|
|
2209
2211
|
name: "check",
|
|
2210
2212
|
size: 12,
|
|
2211
2213
|
color: "#fff"
|
|
2212
|
-
})) :
|
|
2213
|
-
], 14,
|
|
2214
|
+
})) : z("", !0)
|
|
2215
|
+
], 14, Ka)), 64))
|
|
2214
2216
|
])
|
|
2215
2217
|
]),
|
|
2216
|
-
e("div",
|
|
2217
|
-
|
|
2218
|
-
e("div",
|
|
2219
|
-
e("div",
|
|
2220
|
-
|
|
2218
|
+
e("div", ja, [
|
|
2219
|
+
v[18] || (v[18] = e("div", { class: "settings-title" }, "功能设置", -1)),
|
|
2220
|
+
e("div", Wa, [
|
|
2221
|
+
e("div", qa, [
|
|
2222
|
+
v[15] || (v[15] = e("span", null, "灰色模式", -1)),
|
|
2221
2223
|
e("div", {
|
|
2222
2224
|
class: Z(["switch-wrapper", { "is-checked": te.value }]),
|
|
2223
|
-
onClick:
|
|
2224
|
-
}, [...
|
|
2225
|
+
onClick: ve
|
|
2226
|
+
}, [...v[14] || (v[14] = [
|
|
2225
2227
|
e("span", { class: "switch-core" }, null, -1)
|
|
2226
2228
|
])], 2)
|
|
2227
2229
|
]),
|
|
2228
|
-
e("div",
|
|
2229
|
-
|
|
2230
|
+
e("div", Ha, [
|
|
2231
|
+
v[17] || (v[17] = e("span", null, "暗黑模式", -1)),
|
|
2230
2232
|
e("div", {
|
|
2231
2233
|
class: Z(["switch-wrapper", { "is-checked": l(i).isDark }]),
|
|
2232
|
-
onClick:
|
|
2233
|
-
}, [...
|
|
2234
|
+
onClick: ne
|
|
2235
|
+
}, [...v[16] || (v[16] = [
|
|
2234
2236
|
e("span", { class: "switch-core" }, null, -1)
|
|
2235
2237
|
])], 2)
|
|
2236
2238
|
])
|
|
@@ -2243,130 +2245,130 @@ const _e = Fe("menu", () => {
|
|
|
2243
2245
|
]);
|
|
2244
2246
|
};
|
|
2245
2247
|
}
|
|
2246
|
-
}),
|
|
2248
|
+
}), Ga = /* @__PURE__ */ de(Ya, [["__scopeId", "data-v-ec17777f"]]), Xa = {
|
|
2247
2249
|
key: 0,
|
|
2248
2250
|
class: "layout layout--sidebar"
|
|
2249
|
-
},
|
|
2251
|
+
}, Ja = { class: "layout__main" }, Za = { class: "layout__header" }, Qa = { class: "layout__content" }, en = {
|
|
2250
2252
|
key: 1,
|
|
2251
2253
|
class: "layout layout--top"
|
|
2252
|
-
},
|
|
2254
|
+
}, tn = { class: "layout__top-menu" }, sn = { class: "layout__main" }, on = { class: "layout__content" }, an = {
|
|
2253
2255
|
key: 2,
|
|
2254
2256
|
class: "layout layout--mix"
|
|
2255
|
-
},
|
|
2257
|
+
}, nn = { class: "layout__mix-top-menu" }, ln = { class: "layout__mix-body" }, rn = { class: "layout__content" }, cn = /* @__PURE__ */ ce({
|
|
2256
2258
|
__name: "index",
|
|
2257
2259
|
props: {
|
|
2258
2260
|
logoSrc: {}
|
|
2259
2261
|
},
|
|
2260
2262
|
setup(t) {
|
|
2261
|
-
const n = t, m =
|
|
2262
|
-
() =>
|
|
2263
|
-
), i =
|
|
2264
|
-
return (_,
|
|
2265
|
-
const u =
|
|
2266
|
-
return
|
|
2267
|
-
i.value === "sidebar" ? (
|
|
2263
|
+
const n = t, m = k(() => n.logoSrc || Te("/vite.svg")), a = _e(), s = fe(), p = k(
|
|
2264
|
+
() => a.isCollapsed ? "64px" : "210px"
|
|
2265
|
+
), i = k(() => a.layout), h = k(() => i.value === "mix"), d = k(() => i.value === "sidebar" ? s.menuList : i.value === "mix" ? a.mixSubMenus : []), f = k(() => h.value ? d.value.length > 0 : !1);
|
|
2266
|
+
return (_, g) => {
|
|
2267
|
+
const u = mt("router-view");
|
|
2268
|
+
return o(), c(j, null, [
|
|
2269
|
+
i.value === "sidebar" ? (o(), c("div", Xa, [
|
|
2268
2270
|
e("aside", {
|
|
2269
2271
|
class: "layout__aside",
|
|
2270
|
-
style:
|
|
2272
|
+
style: Ue({ width: p.value })
|
|
2271
2273
|
}, [
|
|
2272
|
-
|
|
2274
|
+
w(lt, {
|
|
2273
2275
|
"menu-list": d.value,
|
|
2274
2276
|
"show-logo": !0,
|
|
2275
2277
|
"show-user": !0,
|
|
2276
2278
|
"logo-src": m.value
|
|
2277
2279
|
}, null, 8, ["menu-list", "logo-src"])
|
|
2278
2280
|
], 4),
|
|
2279
|
-
e("div",
|
|
2280
|
-
e("header",
|
|
2281
|
-
|
|
2281
|
+
e("div", Ja, [
|
|
2282
|
+
e("header", Za, [
|
|
2283
|
+
w(Xs)
|
|
2282
2284
|
]),
|
|
2283
|
-
e("main",
|
|
2284
|
-
|
|
2285
|
+
e("main", Qa, [
|
|
2286
|
+
w(u)
|
|
2285
2287
|
])
|
|
2286
2288
|
])
|
|
2287
|
-
])) :
|
|
2288
|
-
i.value === "top" ? (
|
|
2289
|
-
e("div",
|
|
2290
|
-
|
|
2289
|
+
])) : z("", !0),
|
|
2290
|
+
i.value === "top" ? (o(), c("div", en, [
|
|
2291
|
+
e("div", tn, [
|
|
2292
|
+
w(aa, { "logo-src": m.value }, null, 8, ["logo-src"])
|
|
2291
2293
|
]),
|
|
2292
|
-
e("div",
|
|
2293
|
-
e("main",
|
|
2294
|
-
|
|
2294
|
+
e("div", sn, [
|
|
2295
|
+
e("main", on, [
|
|
2296
|
+
w(u)
|
|
2295
2297
|
])
|
|
2296
2298
|
])
|
|
2297
|
-
])) :
|
|
2298
|
-
i.value === "mix" ? (
|
|
2299
|
-
e("div",
|
|
2300
|
-
|
|
2299
|
+
])) : z("", !0),
|
|
2300
|
+
i.value === "mix" ? (o(), c("div", an, [
|
|
2301
|
+
e("div", nn, [
|
|
2302
|
+
w(Ga, { "logo-src": m.value }, null, 8, ["logo-src"])
|
|
2301
2303
|
]),
|
|
2302
|
-
e("div",
|
|
2303
|
-
f.value ? (
|
|
2304
|
+
e("div", ln, [
|
|
2305
|
+
f.value ? (o(), c("aside", {
|
|
2304
2306
|
key: 0,
|
|
2305
2307
|
class: "layout__aside",
|
|
2306
|
-
style:
|
|
2308
|
+
style: Ue({ width: p.value })
|
|
2307
2309
|
}, [
|
|
2308
|
-
|
|
2310
|
+
w(lt, {
|
|
2309
2311
|
"menu-list": d.value,
|
|
2310
2312
|
"show-logo": !1,
|
|
2311
2313
|
"show-user": !1
|
|
2312
2314
|
}, null, 8, ["menu-list"])
|
|
2313
|
-
], 4)) :
|
|
2314
|
-
e("main",
|
|
2315
|
-
|
|
2315
|
+
], 4)) : z("", !0),
|
|
2316
|
+
e("main", rn, [
|
|
2317
|
+
w(u)
|
|
2316
2318
|
])
|
|
2317
2319
|
])
|
|
2318
|
-
])) :
|
|
2320
|
+
])) : z("", !0)
|
|
2319
2321
|
], 64);
|
|
2320
2322
|
};
|
|
2321
2323
|
}
|
|
2322
|
-
}),
|
|
2324
|
+
}), vt = /* @__PURE__ */ de(cn, [["__scopeId", "data-v-4e5f3bf5"]]), un = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
2323
2325
|
__proto__: null,
|
|
2324
|
-
default:
|
|
2325
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
2326
|
+
default: vt
|
|
2327
|
+
}, Symbol.toStringTag, { value: "Module" })), dn = { class: "tabs-wrapper" }, mn = { class: "tab-label" }, pn = ["onClick"], vn = /* @__PURE__ */ ce({
|
|
2326
2328
|
__name: "Tabs",
|
|
2327
2329
|
setup(t) {
|
|
2328
|
-
const n =
|
|
2329
|
-
const
|
|
2330
|
+
const n = Ee(), m = be(), a = k(() => {
|
|
2331
|
+
const h = [];
|
|
2330
2332
|
return n.matched.forEach((d) => {
|
|
2331
2333
|
var f;
|
|
2332
|
-
(f = d.meta) != null && f.affix &&
|
|
2334
|
+
(f = d.meta) != null && f.affix && h.push({
|
|
2333
2335
|
name: d.name,
|
|
2334
2336
|
title: d.meta.title,
|
|
2335
2337
|
path: d.path,
|
|
2336
2338
|
affix: !0
|
|
2337
2339
|
});
|
|
2338
|
-
}),
|
|
2339
|
-
}), s =
|
|
2340
|
-
m.push(
|
|
2341
|
-
}, i = (
|
|
2342
|
-
const d =
|
|
2343
|
-
if (!(d != null && d.affix) &&
|
|
2344
|
-
const f =
|
|
2340
|
+
}), h;
|
|
2341
|
+
}), s = k(() => n.path), p = (h) => {
|
|
2342
|
+
m.push(h);
|
|
2343
|
+
}, i = (h) => {
|
|
2344
|
+
const d = a.value.find((f) => f.path === h);
|
|
2345
|
+
if (!(d != null && d.affix) && h === s.value) {
|
|
2346
|
+
const f = a.value.findIndex((g) => g.path === h), _ = a.value[f - 1] || a.value[f + 1];
|
|
2345
2347
|
_ && m.push(_.path);
|
|
2346
2348
|
}
|
|
2347
2349
|
};
|
|
2348
|
-
return (
|
|
2349
|
-
|
|
2350
|
+
return (h, d) => (o(), c("div", dn, [
|
|
2351
|
+
w(l(It), {
|
|
2350
2352
|
modelValue: s.value,
|
|
2351
2353
|
"onUpdate:modelValue": d[0] || (d[0] = (f) => s.value = f),
|
|
2352
2354
|
type: "card",
|
|
2353
|
-
onTabClick:
|
|
2355
|
+
onTabClick: p
|
|
2354
2356
|
}, {
|
|
2355
2357
|
default: S(() => [
|
|
2356
|
-
(
|
|
2358
|
+
(o(!0), c(j, null, J(a.value, (f) => (o(), A(l(Ut), {
|
|
2357
2359
|
key: f.path,
|
|
2358
2360
|
name: f.path,
|
|
2359
2361
|
label: f.title,
|
|
2360
2362
|
closable: !f.affix
|
|
2361
2363
|
}, {
|
|
2362
2364
|
label: S(() => [
|
|
2363
|
-
e("span",
|
|
2365
|
+
e("span", mn, [
|
|
2364
2366
|
Ce(x(f.title) + " ", 1),
|
|
2365
|
-
f.affix ?
|
|
2367
|
+
f.affix ? z("", !0) : (o(), c("span", {
|
|
2366
2368
|
key: 0,
|
|
2367
2369
|
class: "tab-close",
|
|
2368
|
-
onClick:
|
|
2369
|
-
}, " ✕ ", 8,
|
|
2370
|
+
onClick: Ae((_) => i(f.path), ["stop"])
|
|
2371
|
+
}, " ✕ ", 8, pn))
|
|
2370
2372
|
])
|
|
2371
2373
|
]),
|
|
2372
2374
|
_: 2
|
|
@@ -2376,16 +2378,16 @@ const _e = Fe("menu", () => {
|
|
|
2376
2378
|
}, 8, ["modelValue"])
|
|
2377
2379
|
]));
|
|
2378
2380
|
}
|
|
2379
|
-
}),
|
|
2380
|
-
function
|
|
2381
|
-
return
|
|
2381
|
+
}), ol = /* @__PURE__ */ de(vn, [["__scopeId", "data-v-0a4ca30d"]]), hn = {}, _n = { class: "footer" };
|
|
2382
|
+
function fn(t, n) {
|
|
2383
|
+
return o(), c("div", _n, [...n[0] || (n[0] = [
|
|
2382
2384
|
e("span", null, "Copyright © 2024 Xto Demo. All Rights Reserved.", -1)
|
|
2383
2385
|
])]);
|
|
2384
2386
|
}
|
|
2385
|
-
const
|
|
2387
|
+
const al = /* @__PURE__ */ de(hn, [["render", fn], ["__scopeId", "data-v-ac63e349"]]), gn = { class: "login-page" }, yn = { class: "login-form-section" }, bn = { class: "form-container" }, wn = { class: "input-wrapper" }, kn = { class: "input-wrapper" }, xn = { class: "form-options" }, Cn = { key: 0 }, $n = { key: 1 }, Ln = /* @__PURE__ */ ce({
|
|
2386
2388
|
__name: "index",
|
|
2387
2389
|
setup(t) {
|
|
2388
|
-
const n = be(), m =
|
|
2390
|
+
const n = be(), m = Ee(), a = y(!1), s = y(!1), p = Ge({
|
|
2389
2391
|
uid: "",
|
|
2390
2392
|
password: ""
|
|
2391
2393
|
}), i = {
|
|
@@ -2396,55 +2398,55 @@ const ll = /* @__PURE__ */ ue(fn, [["render", yn], ["__scopeId", "data-v-ac63e34
|
|
|
2396
2398
|
{ required: !0, message: "请输入密码", trigger: "blur" },
|
|
2397
2399
|
{ min: 6, message: "密码长度至少6位", trigger: "blur" }
|
|
2398
2400
|
]
|
|
2399
|
-
},
|
|
2401
|
+
}, h = y(), d = async () => {
|
|
2400
2402
|
var f;
|
|
2401
2403
|
try {
|
|
2402
|
-
await ((f =
|
|
2403
|
-
const _ = await
|
|
2404
|
-
appId:
|
|
2405
|
-
clientId:
|
|
2406
|
-
uid:
|
|
2407
|
-
password:
|
|
2404
|
+
await ((f = h.value) == null ? void 0 : f.validate()), a.value = !0;
|
|
2405
|
+
const _ = await yt({
|
|
2406
|
+
appId: Me(),
|
|
2407
|
+
clientId: dt(),
|
|
2408
|
+
uid: p.uid,
|
|
2409
|
+
password: p.password,
|
|
2408
2410
|
code: !0
|
|
2409
2411
|
});
|
|
2410
|
-
|
|
2411
|
-
const
|
|
2412
|
-
|
|
2412
|
+
ut(_), Tt.success("登录成功");
|
|
2413
|
+
const g = m.query.redirect;
|
|
2414
|
+
g ? n.push(g) : n.push({ name: "Dashboard" });
|
|
2413
2415
|
} catch (_) {
|
|
2414
2416
|
console.error("登录失败:", _);
|
|
2415
2417
|
} finally {
|
|
2416
|
-
|
|
2418
|
+
a.value = !1;
|
|
2417
2419
|
}
|
|
2418
2420
|
};
|
|
2419
|
-
return (f, _) => (
|
|
2420
|
-
_[10] || (_[10] =
|
|
2421
|
-
e("div",
|
|
2422
|
-
e("div",
|
|
2421
|
+
return (f, _) => (o(), c("div", gn, [
|
|
2422
|
+
_[10] || (_[10] = Fe('<div class="login-brand" data-v-20b19b53><div class="brand-content" data-v-20b19b53><div class="brand-logo" data-v-20b19b53><div class="logo-icon" data-v-20b19b53><svg viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg" data-v-20b19b53><rect width="48" height="48" rx="12" fill="currentColor" data-v-20b19b53></rect><path d="M14 24L20 30L34 16" stroke="white" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" data-v-20b19b53></path></svg></div><span class="logo-text" data-v-20b19b53>XTO</span></div><div class="brand-slogan" data-v-20b19b53><h1 data-v-20b19b53>企业级后台管理解决方案</h1><p data-v-20b19b53>开箱即用的中后台前端/设计解决方案</p></div><div class="brand-features" data-v-20b19b53><div class="feature-item" data-v-20b19b53><div class="feature-icon" data-v-20b19b53><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" data-v-20b19b53><path d="M13 2L3 14h9l-1 8 10-12h-9l1-8z" data-v-20b19b53></path></svg></div><div class="feature-text" data-v-20b19b53><h4 data-v-20b19b53>高性能</h4><p data-v-20b19b53>极致的渲染性能与响应速度</p></div></div><div class="feature-item" data-v-20b19b53><div class="feature-icon" data-v-20b19b53><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" data-v-20b19b53><rect x="3" y="3" width="18" height="18" rx="2" data-v-20b19b53></rect><path d="M9 9h6M9 12h6M9 15h4" data-v-20b19b53></path></svg></div><div class="feature-text" data-v-20b19b53><h4 data-v-20b19b53>丰富组件</h4><p data-v-20b19b53>60+ 高质量业务组件</p></div></div><div class="feature-item" data-v-20b19b53><div class="feature-icon" data-v-20b19b53><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" data-v-20b19b53><circle cx="12" cy="12" r="10" data-v-20b19b53></circle><path d="M12 6v6l4 2" data-v-20b19b53></path></svg></div><div class="feature-text" data-v-20b19b53><h4 data-v-20b19b53>持续更新</h4><p data-v-20b19b53>活跃的社区与快速迭代</p></div></div></div><div class="brand-decoration" data-v-20b19b53><div class="decoration-line" data-v-20b19b53></div><div class="decoration-dots" data-v-20b19b53><span data-v-20b19b53></span><span data-v-20b19b53></span><span data-v-20b19b53></span></div></div></div><div class="brand-bg" data-v-20b19b53><div class="bg-grid" data-v-20b19b53></div></div></div>', 1)),
|
|
2423
|
+
e("div", yn, [
|
|
2424
|
+
e("div", bn, [
|
|
2423
2425
|
_[7] || (_[7] = e("div", { class: "form-header" }, [
|
|
2424
2426
|
e("h2", null, "欢迎登录"),
|
|
2425
2427
|
e("p", null, "请输入您的账户信息")
|
|
2426
2428
|
], -1)),
|
|
2427
|
-
|
|
2429
|
+
w(l(Pt), {
|
|
2428
2430
|
ref_key: "formRef",
|
|
2429
|
-
ref:
|
|
2430
|
-
model:
|
|
2431
|
+
ref: h,
|
|
2432
|
+
model: p,
|
|
2431
2433
|
rules: i,
|
|
2432
2434
|
class: "login-form",
|
|
2433
2435
|
"label-width": "0"
|
|
2434
2436
|
}, {
|
|
2435
2437
|
default: S(() => [
|
|
2436
|
-
|
|
2438
|
+
w(l(Be), { prop: "uid" }, {
|
|
2437
2439
|
default: S(() => [
|
|
2438
|
-
e("div",
|
|
2440
|
+
e("div", wn, [
|
|
2439
2441
|
_[3] || (_[3] = e("label", { class: "input-label" }, "用户名", -1)),
|
|
2440
|
-
|
|
2441
|
-
modelValue:
|
|
2442
|
-
"onUpdate:modelValue": _[0] || (_[0] = (
|
|
2442
|
+
w(l(nt), {
|
|
2443
|
+
modelValue: p.uid,
|
|
2444
|
+
"onUpdate:modelValue": _[0] || (_[0] = (g) => p.uid = g),
|
|
2443
2445
|
placeholder: "请输入用户名",
|
|
2444
2446
|
size: "large"
|
|
2445
2447
|
}, {
|
|
2446
2448
|
prefix: S(() => [
|
|
2447
|
-
|
|
2449
|
+
w(l(U), {
|
|
2448
2450
|
name: "user",
|
|
2449
2451
|
size: 18
|
|
2450
2452
|
})
|
|
@@ -2455,21 +2457,21 @@ const ll = /* @__PURE__ */ ue(fn, [["render", yn], ["__scopeId", "data-v-ac63e34
|
|
|
2455
2457
|
]),
|
|
2456
2458
|
_: 1
|
|
2457
2459
|
}),
|
|
2458
|
-
|
|
2460
|
+
w(l(Be), { prop: "password" }, {
|
|
2459
2461
|
default: S(() => [
|
|
2460
|
-
e("div",
|
|
2462
|
+
e("div", kn, [
|
|
2461
2463
|
_[4] || (_[4] = e("label", { class: "input-label" }, "密码", -1)),
|
|
2462
|
-
|
|
2463
|
-
modelValue:
|
|
2464
|
-
"onUpdate:modelValue": _[1] || (_[1] = (
|
|
2464
|
+
w(l(nt), {
|
|
2465
|
+
modelValue: p.password,
|
|
2466
|
+
"onUpdate:modelValue": _[1] || (_[1] = (g) => p.password = g),
|
|
2465
2467
|
type: "password",
|
|
2466
2468
|
placeholder: "请输入密码",
|
|
2467
2469
|
size: "large",
|
|
2468
2470
|
"show-password": "",
|
|
2469
|
-
onKeyup:
|
|
2471
|
+
onKeyup: Nt(d, ["enter"])
|
|
2470
2472
|
}, {
|
|
2471
2473
|
prefix: S(() => [
|
|
2472
|
-
|
|
2474
|
+
w(l(U), {
|
|
2473
2475
|
name: "lock",
|
|
2474
2476
|
size: 18
|
|
2475
2477
|
})
|
|
@@ -2480,10 +2482,10 @@ const ll = /* @__PURE__ */ ue(fn, [["render", yn], ["__scopeId", "data-v-ac63e34
|
|
|
2480
2482
|
]),
|
|
2481
2483
|
_: 1
|
|
2482
2484
|
}),
|
|
2483
|
-
e("div",
|
|
2484
|
-
|
|
2485
|
+
e("div", xn, [
|
|
2486
|
+
w(l(zt), {
|
|
2485
2487
|
modelValue: s.value,
|
|
2486
|
-
"onUpdate:modelValue": _[2] || (_[2] = (
|
|
2488
|
+
"onUpdate:modelValue": _[2] || (_[2] = (g) => s.value = g)
|
|
2487
2489
|
}, {
|
|
2488
2490
|
default: S(() => [..._[5] || (_[5] = [
|
|
2489
2491
|
Ce("记住我", -1)
|
|
@@ -2495,17 +2497,17 @@ const ll = /* @__PURE__ */ ue(fn, [["render", yn], ["__scopeId", "data-v-ac63e34
|
|
|
2495
2497
|
class: "forgot-link"
|
|
2496
2498
|
}, "忘记密码?", -1))
|
|
2497
2499
|
]),
|
|
2498
|
-
|
|
2500
|
+
w(l(Be), null, {
|
|
2499
2501
|
default: S(() => [
|
|
2500
|
-
|
|
2502
|
+
w(l(Ne), {
|
|
2501
2503
|
type: "primary",
|
|
2502
2504
|
size: "large",
|
|
2503
|
-
loading:
|
|
2505
|
+
loading: a.value,
|
|
2504
2506
|
class: "login-btn",
|
|
2505
2507
|
onClick: d
|
|
2506
2508
|
}, {
|
|
2507
2509
|
default: S(() => [
|
|
2508
|
-
|
|
2510
|
+
a.value ? (o(), c("span", $n, "登录中...")) : (o(), c("span", Cn, "登 录"))
|
|
2509
2511
|
]),
|
|
2510
2512
|
_: 1
|
|
2511
2513
|
}, 8, ["loading"])
|
|
@@ -2515,7 +2517,7 @@ const ll = /* @__PURE__ */ ue(fn, [["render", yn], ["__scopeId", "data-v-ac63e34
|
|
|
2515
2517
|
]),
|
|
2516
2518
|
_: 1
|
|
2517
2519
|
}, 8, ["model"]),
|
|
2518
|
-
_[8] || (_[8] =
|
|
2520
|
+
_[8] || (_[8] = Fe('<div class="form-footer" data-v-20b19b53><p data-v-20b19b53>其他登录方式</p><div class="social-login" data-v-20b19b53><button class="social-btn" title="企业微信" data-v-20b19b53><svg viewBox="0 0 24 24" fill="currentColor" data-v-20b19b53><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1 17.93c-3.95-.49-7-3.85-7-7.93 0-.62.08-1.21.21-1.79L9 15v1c0 1.1.9 2 2 2v1.93zm6.9-2.54c-.26-.81-1-1.39-1.9-1.39h-1v-3c0-.55-.45-1-1-1H8v-2h2c.55 0 1-.45 1-1V7h2c1.1 0 2-.9 2-2v-.41c2.93 1.19 5 4.06 5 7.41 0 2.08-.8 3.97-2.1 5.39z" data-v-20b19b53></path></svg></button><button class="social-btn" title="钉钉" data-v-20b19b53><svg viewBox="0 0 24 24" fill="currentColor" data-v-20b19b53><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm4.64 6.8c-.15 1.58-.8 5.42-1.13 7.19-.14.75-.42 1-.68 1.03-.58.05-1.02-.38-1.58-.75-.88-.58-1.38-.94-2.23-1.5-.99-.65-.35-1.01.22-1.59.15-.15 2.71-2.48 2.76-2.69a.2.2 0 00-.05-.18c-.06-.05-.14-.03-.21-.02-.09.02-1.49.95-4.22 2.79-.4.27-.76.41-1.08.4-.36-.01-1.04-.2-1.55-.37-.63-.2-1.12-.31-1.08-.66.02-.18.27-.36.74-.55 2.92-1.27 4.86-2.11 5.83-2.51 2.78-1.16 3.35-1.36 3.73-1.36.08 0 .27.02.39.12.1.08.13.19.14.27-.01.06.01.24 0 .38z" data-v-20b19b53></path></svg></button><button class="social-btn" title="飞书" data-v-20b19b53><svg viewBox="0 0 24 24" fill="currentColor" data-v-20b19b53><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-6h2v6zm0-8h-2V7h2v2z" data-v-20b19b53></path></svg></button></div></div>', 1))
|
|
2519
2521
|
]),
|
|
2520
2522
|
_[9] || (_[9] = e("div", { class: "copyright" }, [
|
|
2521
2523
|
e("p", null, "© 2024 XTO Team. All rights reserved.")
|
|
@@ -2523,26 +2525,26 @@ const ll = /* @__PURE__ */ ue(fn, [["render", yn], ["__scopeId", "data-v-ac63e34
|
|
|
2523
2525
|
])
|
|
2524
2526
|
]));
|
|
2525
2527
|
}
|
|
2526
|
-
}),
|
|
2528
|
+
}), Mn = /* @__PURE__ */ de(Ln, [["__scopeId", "data-v-20b19b53"]]), Sn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
2527
2529
|
__proto__: null,
|
|
2528
|
-
default:
|
|
2529
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
2530
|
+
default: Mn
|
|
2531
|
+
}, Symbol.toStringTag, { value: "Module" })), Nn = { class: "error-page" }, En = { class: "error-container" }, In = { class: "error-content" }, Un = { class: "error-actions" }, Tn = /* @__PURE__ */ ce({
|
|
2530
2532
|
__name: "404",
|
|
2531
2533
|
setup(t) {
|
|
2532
2534
|
const n = be(), m = () => {
|
|
2533
2535
|
n.push("/");
|
|
2534
2536
|
};
|
|
2535
|
-
return (
|
|
2536
|
-
e("div",
|
|
2537
|
+
return (a, s) => (o(), c("div", Nn, [
|
|
2538
|
+
e("div", En, [
|
|
2537
2539
|
s[7] || (s[7] = e("div", { class: "error-bg" }, [
|
|
2538
2540
|
e("div", { class: "bg-circle circle-1" }),
|
|
2539
2541
|
e("div", { class: "bg-circle circle-2" }),
|
|
2540
2542
|
e("div", { class: "bg-circle circle-3" })
|
|
2541
2543
|
], -1)),
|
|
2542
|
-
e("div",
|
|
2543
|
-
s[5] || (s[5] =
|
|
2544
|
-
e("div",
|
|
2545
|
-
|
|
2544
|
+
e("div", In, [
|
|
2545
|
+
s[5] || (s[5] = Fe('<div class="error-code" data-v-c36cc0ad><span class="code-digit" data-v-c36cc0ad>4</span><span class="code-zero" data-v-c36cc0ad><span class="zero-inner" data-v-c36cc0ad>0</span></span><span class="code-digit" data-v-c36cc0ad>4</span></div><div class="error-illustration" data-v-c36cc0ad><svg viewBox="0 0 200 120" fill="none" xmlns="http://www.w3.org/2000/svg" data-v-c36cc0ad><rect x="40" y="20" width="120" height="80" rx="8" fill="var(--xto-fill-color, #F2F3F5)" stroke="var(--xto-border-color, #D9DCE1)" stroke-width="2" data-v-c36cc0ad></rect><rect x="50" y="30" width="100" height="60" rx="4" fill="var(--xto-bg-color, #FFFFFF)" data-v-c36cc0ad></rect><line x1="60" y1="45" x2="140" y2="45" stroke="var(--xto-border-color-light, #E5E6EB)" stroke-width="2" data-v-c36cc0ad></line><line x1="60" y1="55" x2="120" y2="55" stroke="var(--xto-border-color-light, #E5E6EB)" stroke-width="2" data-v-c36cc0ad></line><line x1="60" y1="65" x2="100" y2="65" stroke="var(--xto-border-color-light, #E5E6EB)" stroke-width="2" data-v-c36cc0ad></line><text x="100" y="75" text-anchor="middle" fill="var(--xto-color-primary, #4F46E5)" font-size="24" font-weight="600" data-v-c36cc0ad>?</text><circle cx="150" cy="35" r="12" stroke="var(--xto-color-primary, #4F46E5)" stroke-width="2" fill="none" data-v-c36cc0ad></circle><line x1="158" y1="43" x2="168" y2="53" stroke="var(--xto-color-primary, #4F46E5)" stroke-width="2" stroke-linecap="round" data-v-c36cc0ad></line></svg></div><h1 class="error-title" data-v-c36cc0ad>页面不存在</h1><p class="error-desc" data-v-c36cc0ad>抱歉,您访问的页面不存在或已被删除</p>', 4)),
|
|
2546
|
+
e("div", Un, [
|
|
2547
|
+
w(l(Ne), {
|
|
2546
2548
|
type: "primary",
|
|
2547
2549
|
size: "large",
|
|
2548
2550
|
onClick: m
|
|
@@ -2563,9 +2565,9 @@ const ll = /* @__PURE__ */ ue(fn, [["render", yn], ["__scopeId", "data-v-ac63e34
|
|
|
2563
2565
|
]),
|
|
2564
2566
|
_: 1
|
|
2565
2567
|
}),
|
|
2566
|
-
|
|
2568
|
+
w(l(Ne), {
|
|
2567
2569
|
size: "large",
|
|
2568
|
-
onClick: s[0] || (s[0] = (
|
|
2570
|
+
onClick: s[0] || (s[0] = (p) => l(n).go(-1))
|
|
2569
2571
|
}, {
|
|
2570
2572
|
icon: S(() => [...s[3] || (s[3] = [
|
|
2571
2573
|
e("svg", {
|
|
@@ -2595,26 +2597,26 @@ const ll = /* @__PURE__ */ ue(fn, [["render", yn], ["__scopeId", "data-v-ac63e34
|
|
|
2595
2597
|
])
|
|
2596
2598
|
]));
|
|
2597
2599
|
}
|
|
2598
|
-
}),
|
|
2600
|
+
}), Pn = /* @__PURE__ */ de(Tn, [["__scopeId", "data-v-c36cc0ad"]]), ht = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
2599
2601
|
__proto__: null,
|
|
2600
|
-
default:
|
|
2601
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
2602
|
+
default: Pn
|
|
2603
|
+
}, Symbol.toStringTag, { value: "Module" })), zn = { class: "error-page" }, Fn = { class: "error-container" }, Dn = { class: "error-content" }, An = { class: "error-actions" }, Bn = /* @__PURE__ */ ce({
|
|
2602
2604
|
__name: "403",
|
|
2603
2605
|
setup(t) {
|
|
2604
2606
|
const n = be(), m = () => {
|
|
2605
2607
|
n.push("/");
|
|
2606
2608
|
};
|
|
2607
|
-
return (
|
|
2608
|
-
e("div",
|
|
2609
|
+
return (a, s) => (o(), c("div", zn, [
|
|
2610
|
+
e("div", Fn, [
|
|
2609
2611
|
s[7] || (s[7] = e("div", { class: "error-bg" }, [
|
|
2610
2612
|
e("div", { class: "bg-circle circle-1" }),
|
|
2611
2613
|
e("div", { class: "bg-circle circle-2" }),
|
|
2612
2614
|
e("div", { class: "bg-circle circle-3" })
|
|
2613
2615
|
], -1)),
|
|
2614
|
-
e("div",
|
|
2615
|
-
s[5] || (s[5] =
|
|
2616
|
-
e("div",
|
|
2617
|
-
|
|
2616
|
+
e("div", Dn, [
|
|
2617
|
+
s[5] || (s[5] = Fe('<div class="error-code" data-v-e6e1f7ac><span class="code-digit" data-v-e6e1f7ac>4</span><span class="code-zero warning" data-v-e6e1f7ac><span class="zero-inner" data-v-e6e1f7ac>0</span></span><span class="code-digit" data-v-e6e1f7ac>3</span></div><div class="error-illustration" data-v-e6e1f7ac><svg viewBox="0 0 200 120" fill="none" xmlns="http://www.w3.org/2000/svg" data-v-e6e1f7ac><path d="M100 15 L150 35 L150 70 C150 95 100 110 100 110 C100 110 50 95 50 70 L50 35 Z" fill="var(--xto-color-warning-light-9, #FFF3E8)" stroke="var(--xto-color-warning, #FF7D00)" stroke-width="2" data-v-e6e1f7ac></path><rect x="85" y="55" width="30" height="25" rx="4" fill="var(--xto-color-warning, #FF7D00)" data-v-e6e1f7ac></rect><path d="M92 55 V48 A8 8 0 0 1 108 48 V55" fill="none" stroke="var(--xto-color-warning, #FF7D00)" stroke-width="3" data-v-e6e1f7ac></path><circle cx="100" cy="67" r="6" fill="none" stroke="#fff" stroke-width="2" data-v-e6e1f7ac></circle><line x1="96" y1="63" x2="104" y2="71" stroke="#fff" stroke-width="2" data-v-e6e1f7ac></line></svg></div><h1 class="error-title" data-v-e6e1f7ac>无访问权限</h1><p class="error-desc" data-v-e6e1f7ac>抱歉,您没有权限访问此页面,请联系管理员获取权限</p>', 4)),
|
|
2618
|
+
e("div", An, [
|
|
2619
|
+
w(l(Ne), {
|
|
2618
2620
|
type: "primary",
|
|
2619
2621
|
size: "large",
|
|
2620
2622
|
onClick: m
|
|
@@ -2635,9 +2637,9 @@ const ll = /* @__PURE__ */ ue(fn, [["render", yn], ["__scopeId", "data-v-ac63e34
|
|
|
2635
2637
|
]),
|
|
2636
2638
|
_: 1
|
|
2637
2639
|
}),
|
|
2638
|
-
|
|
2640
|
+
w(l(Ne), {
|
|
2639
2641
|
size: "large",
|
|
2640
|
-
onClick: s[0] || (s[0] = (
|
|
2642
|
+
onClick: s[0] || (s[0] = (p) => l(n).go(-1))
|
|
2641
2643
|
}, {
|
|
2642
2644
|
icon: S(() => [...s[3] || (s[3] = [
|
|
2643
2645
|
e("svg", {
|
|
@@ -2667,15 +2669,15 @@ const ll = /* @__PURE__ */ ue(fn, [["render", yn], ["__scopeId", "data-v-ac63e34
|
|
|
2667
2669
|
])
|
|
2668
2670
|
]));
|
|
2669
2671
|
}
|
|
2670
|
-
}),
|
|
2671
|
-
function
|
|
2672
|
-
const t =
|
|
2672
|
+
}), nl = /* @__PURE__ */ de(Bn, [["__scopeId", "data-v-e6e1f7ac"]]);
|
|
2673
|
+
function ll() {
|
|
2674
|
+
const t = _e(), n = ue(), m = ze(), a = k(() => n.userName || ""), s = k(() => n.userInfo), p = k(() => t.appName), i = k(() => m.isLoggedIn), h = k(() => t.isDark), d = k(() => t.theme), f = k(() => t.isCollapsed), _ = k(() => t.layout);
|
|
2673
2675
|
return {
|
|
2674
|
-
userName:
|
|
2676
|
+
userName: a,
|
|
2675
2677
|
userInfo: s,
|
|
2676
|
-
appName:
|
|
2678
|
+
appName: p,
|
|
2677
2679
|
isLoggedIn: i,
|
|
2678
|
-
isDark:
|
|
2680
|
+
isDark: h,
|
|
2679
2681
|
theme: d,
|
|
2680
2682
|
isCollapsed: f,
|
|
2681
2683
|
layout: _,
|
|
@@ -2687,124 +2689,124 @@ function il() {
|
|
|
2687
2689
|
}
|
|
2688
2690
|
};
|
|
2689
2691
|
}
|
|
2690
|
-
function
|
|
2691
|
-
const t =
|
|
2692
|
+
function rl() {
|
|
2693
|
+
const t = ue();
|
|
2692
2694
|
return {
|
|
2693
|
-
isLoggedIn:
|
|
2695
|
+
isLoggedIn: k(() => t.isLoggedIn)
|
|
2694
2696
|
};
|
|
2695
2697
|
}
|
|
2696
|
-
function
|
|
2697
|
-
const { rules: m, onSubmit:
|
|
2698
|
-
u(), d.value = !1,
|
|
2699
|
-
}, _ = (
|
|
2700
|
-
Object.assign(
|
|
2701
|
-
},
|
|
2702
|
-
|
|
2698
|
+
function il(t, n = {}) {
|
|
2699
|
+
const { rules: m, onSubmit: a } = n, s = y(), p = Ge({ ...t }), i = y(!1), h = y(!1), d = y(!1), f = () => {
|
|
2700
|
+
u(), d.value = !1, h.value = !0;
|
|
2701
|
+
}, _ = (P) => {
|
|
2702
|
+
Object.assign(p, P), d.value = !0, h.value = !0;
|
|
2703
|
+
}, g = () => {
|
|
2704
|
+
h.value = !1, u();
|
|
2703
2705
|
}, u = () => {
|
|
2704
|
-
var
|
|
2705
|
-
Object.keys(t).forEach((
|
|
2706
|
-
|
|
2707
|
-
}), (
|
|
2706
|
+
var P;
|
|
2707
|
+
Object.keys(t).forEach((B) => {
|
|
2708
|
+
p[B] = t[B];
|
|
2709
|
+
}), (P = s.value) == null || P.resetFields();
|
|
2708
2710
|
};
|
|
2709
2711
|
return {
|
|
2710
2712
|
formRef: s,
|
|
2711
|
-
formData:
|
|
2713
|
+
formData: p,
|
|
2712
2714
|
rules: m,
|
|
2713
2715
|
loading: i,
|
|
2714
|
-
visible:
|
|
2716
|
+
visible: h,
|
|
2715
2717
|
isEdit: d,
|
|
2716
2718
|
openAdd: f,
|
|
2717
2719
|
openEdit: _,
|
|
2718
|
-
close:
|
|
2720
|
+
close: g,
|
|
2719
2721
|
resetForm: u,
|
|
2720
2722
|
handleSubmit: async () => {
|
|
2721
|
-
var
|
|
2723
|
+
var P;
|
|
2722
2724
|
try {
|
|
2723
|
-
await ((
|
|
2724
|
-
} catch (
|
|
2725
|
-
console.error(
|
|
2725
|
+
await ((P = s.value) == null ? void 0 : P.validate()), i.value = !0, await (a == null ? void 0 : a(p)), g();
|
|
2726
|
+
} catch (B) {
|
|
2727
|
+
console.error(B);
|
|
2726
2728
|
} finally {
|
|
2727
2729
|
i.value = !1;
|
|
2728
2730
|
}
|
|
2729
2731
|
}
|
|
2730
2732
|
};
|
|
2731
2733
|
}
|
|
2732
|
-
function
|
|
2733
|
-
const { fetchData: n, defaultPageSize: m = 10 } = t,
|
|
2734
|
-
|
|
2734
|
+
function cl(t) {
|
|
2735
|
+
const { fetchData: n, defaultPageSize: m = 10 } = t, a = y(!1), s = y([]), p = y(0), i = y(1), h = y(m), d = Ge({}), f = async () => {
|
|
2736
|
+
a.value = !0;
|
|
2735
2737
|
try {
|
|
2736
|
-
const
|
|
2738
|
+
const V = {
|
|
2737
2739
|
...d,
|
|
2738
2740
|
page: i.value,
|
|
2739
|
-
pageSize:
|
|
2740
|
-
},
|
|
2741
|
-
s.value =
|
|
2742
|
-
} catch (
|
|
2743
|
-
console.error(
|
|
2741
|
+
pageSize: h.value
|
|
2742
|
+
}, R = await n(V);
|
|
2743
|
+
s.value = R.list, p.value = R.total;
|
|
2744
|
+
} catch (V) {
|
|
2745
|
+
console.error(V);
|
|
2744
2746
|
} finally {
|
|
2745
|
-
|
|
2747
|
+
a.value = !1;
|
|
2746
2748
|
}
|
|
2747
2749
|
}, _ = () => {
|
|
2748
2750
|
i.value = 1, f();
|
|
2749
|
-
},
|
|
2750
|
-
Object.keys(d).forEach((
|
|
2751
|
-
d[
|
|
2751
|
+
}, g = () => {
|
|
2752
|
+
Object.keys(d).forEach((V) => {
|
|
2753
|
+
d[V] = void 0;
|
|
2752
2754
|
}), i.value = 1, f();
|
|
2753
|
-
}, u = (
|
|
2754
|
-
i.value =
|
|
2755
|
-
},
|
|
2756
|
-
|
|
2757
|
-
},
|
|
2755
|
+
}, u = (V) => {
|
|
2756
|
+
i.value = V, f();
|
|
2757
|
+
}, W = (V) => {
|
|
2758
|
+
h.value = V, i.value = 1, f();
|
|
2759
|
+
}, P = () => {
|
|
2758
2760
|
f();
|
|
2759
|
-
},
|
|
2761
|
+
}, B = k(() => ({
|
|
2760
2762
|
current: i.value,
|
|
2761
|
-
pageSize:
|
|
2762
|
-
total:
|
|
2763
|
+
pageSize: h.value,
|
|
2764
|
+
total: p.value
|
|
2763
2765
|
}));
|
|
2764
2766
|
return {
|
|
2765
|
-
loading:
|
|
2767
|
+
loading: a,
|
|
2766
2768
|
data: s,
|
|
2767
|
-
total:
|
|
2769
|
+
total: p,
|
|
2768
2770
|
currentPage: i,
|
|
2769
|
-
pageSize:
|
|
2771
|
+
pageSize: h,
|
|
2770
2772
|
searchParams: d,
|
|
2771
|
-
pagination:
|
|
2773
|
+
pagination: B,
|
|
2772
2774
|
getData: f,
|
|
2773
2775
|
handleSearch: _,
|
|
2774
|
-
handleReset:
|
|
2776
|
+
handleReset: g,
|
|
2775
2777
|
handlePageChange: u,
|
|
2776
|
-
handleSizeChange:
|
|
2777
|
-
refresh:
|
|
2778
|
+
handleSizeChange: W,
|
|
2779
|
+
refresh: P
|
|
2778
2780
|
};
|
|
2779
2781
|
}
|
|
2780
|
-
const
|
|
2781
|
-
const t = T.get("locale") || "zh-CN", n =
|
|
2782
|
-
const u =
|
|
2782
|
+
const et = Pe("locale", () => {
|
|
2783
|
+
const t = T.get("locale") || "zh-CN", n = Ft(t), m = y(t), a = Dt(), { t: s, messages: p, setLocale: i, mergeMessages: h } = At(), d = k(() => {
|
|
2784
|
+
const u = a.find((W) => W.code === m.value);
|
|
2783
2785
|
return (u == null ? void 0 : u.name) || m.value;
|
|
2784
2786
|
});
|
|
2785
2787
|
return {
|
|
2786
2788
|
locale: m,
|
|
2787
2789
|
localeName: d,
|
|
2788
|
-
locales:
|
|
2789
|
-
messages:
|
|
2790
|
+
locales: a,
|
|
2791
|
+
messages: p,
|
|
2790
2792
|
t: s,
|
|
2791
2793
|
changeLocale: (u) => {
|
|
2792
2794
|
m.value = u, i(u), T.set("locale", u), n.setLocale(u);
|
|
2793
2795
|
},
|
|
2794
2796
|
addMessages: (u) => {
|
|
2795
|
-
|
|
2797
|
+
h(u);
|
|
2796
2798
|
},
|
|
2797
2799
|
initLocale: () => {
|
|
2798
2800
|
i(t);
|
|
2799
2801
|
},
|
|
2800
2802
|
provider: n
|
|
2801
2803
|
};
|
|
2802
|
-
}),
|
|
2804
|
+
}), Vn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
2803
2805
|
__proto__: null,
|
|
2804
|
-
useLocaleStore:
|
|
2806
|
+
useLocaleStore: et
|
|
2805
2807
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
2806
|
-
function
|
|
2807
|
-
const t =
|
|
2808
|
+
function ul() {
|
|
2809
|
+
const t = et();
|
|
2808
2810
|
return {
|
|
2809
2811
|
/** 当前语言代码 */
|
|
2810
2812
|
locale: t.locale,
|
|
@@ -2822,39 +2824,39 @@ function ml() {
|
|
|
2822
2824
|
addMessages: t.addMessages
|
|
2823
2825
|
};
|
|
2824
2826
|
}
|
|
2825
|
-
function
|
|
2826
|
-
return
|
|
2827
|
+
function dl() {
|
|
2828
|
+
return et().t;
|
|
2827
2829
|
}
|
|
2828
|
-
function
|
|
2829
|
-
const n =
|
|
2830
|
+
function ml(t) {
|
|
2831
|
+
const n = ue(), m = fe();
|
|
2830
2832
|
return n.isLoggedIn ? m.hasPermission(t) : !1;
|
|
2831
2833
|
}
|
|
2832
|
-
function
|
|
2833
|
-
return
|
|
2834
|
+
function pl(t) {
|
|
2835
|
+
return ue().isLoggedIn;
|
|
2834
2836
|
}
|
|
2835
|
-
function
|
|
2837
|
+
function vl() {
|
|
2836
2838
|
return !0;
|
|
2837
2839
|
}
|
|
2838
|
-
const
|
|
2840
|
+
const _t = [
|
|
2839
2841
|
{
|
|
2840
2842
|
path: "/login",
|
|
2841
2843
|
name: "Login",
|
|
2842
|
-
component: () => Promise.resolve().then(() =>
|
|
2844
|
+
component: () => Promise.resolve().then(() => Sn),
|
|
2843
2845
|
meta: {
|
|
2844
2846
|
title: "登录",
|
|
2845
2847
|
hidden: !0
|
|
2846
2848
|
}
|
|
2847
2849
|
}
|
|
2848
|
-
],
|
|
2850
|
+
], ft = {
|
|
2849
2851
|
path: "/",
|
|
2850
2852
|
name: "Layout",
|
|
2851
|
-
component: () => Promise.resolve().then(() =>
|
|
2853
|
+
component: () => Promise.resolve().then(() => un),
|
|
2852
2854
|
redirect: "/dashboard",
|
|
2853
2855
|
children: [
|
|
2854
2856
|
{
|
|
2855
2857
|
path: "/dashboard",
|
|
2856
2858
|
name: "Dashboard",
|
|
2857
|
-
component: () => import("./index-
|
|
2859
|
+
component: () => import("./index-cytRUeAK.js"),
|
|
2858
2860
|
meta: {
|
|
2859
2861
|
title: "仪表盘",
|
|
2860
2862
|
icon: "dashboard",
|
|
@@ -2865,7 +2867,7 @@ const ft = [
|
|
|
2865
2867
|
{
|
|
2866
2868
|
path: "/system/user",
|
|
2867
2869
|
name: "SystemUser",
|
|
2868
|
-
component: () => import("./index-
|
|
2870
|
+
component: () => import("./index-CsQthEv2.js"),
|
|
2869
2871
|
meta: {
|
|
2870
2872
|
title: "用户管理",
|
|
2871
2873
|
icon: "user",
|
|
@@ -2875,7 +2877,7 @@ const ft = [
|
|
|
2875
2877
|
{
|
|
2876
2878
|
path: "/system/role",
|
|
2877
2879
|
name: "SystemRole",
|
|
2878
|
-
component: () => import("./index-
|
|
2880
|
+
component: () => import("./index-C4x3PSxY.js"),
|
|
2879
2881
|
meta: {
|
|
2880
2882
|
title: "角色管理",
|
|
2881
2883
|
icon: "role",
|
|
@@ -2885,7 +2887,7 @@ const ft = [
|
|
|
2885
2887
|
{
|
|
2886
2888
|
path: "/system/menu",
|
|
2887
2889
|
name: "SystemMenu",
|
|
2888
|
-
component: () => import("./index-
|
|
2890
|
+
component: () => import("./index-BYChodrz.js"),
|
|
2889
2891
|
meta: {
|
|
2890
2892
|
title: "菜单管理",
|
|
2891
2893
|
icon: "menu",
|
|
@@ -2896,18 +2898,18 @@ const ft = [
|
|
|
2896
2898
|
{
|
|
2897
2899
|
path: "/:pathMatch(.*)*",
|
|
2898
2900
|
name: "CatchAll",
|
|
2899
|
-
component: () => Promise.resolve().then(() =>
|
|
2901
|
+
component: () => Promise.resolve().then(() => ht),
|
|
2900
2902
|
meta: {
|
|
2901
2903
|
title: "404",
|
|
2902
2904
|
hidden: !0
|
|
2903
2905
|
}
|
|
2904
2906
|
}
|
|
2905
2907
|
]
|
|
2906
|
-
},
|
|
2908
|
+
}, hl = [
|
|
2907
2909
|
{
|
|
2908
2910
|
path: "/dashboard",
|
|
2909
2911
|
name: "Dashboard",
|
|
2910
|
-
component: () => import("./index-
|
|
2912
|
+
component: () => import("./index-cytRUeAK.js"),
|
|
2911
2913
|
meta: {
|
|
2912
2914
|
title: "仪表盘",
|
|
2913
2915
|
icon: "dashboard",
|
|
@@ -2927,7 +2929,7 @@ const ft = [
|
|
|
2927
2929
|
{
|
|
2928
2930
|
path: "user",
|
|
2929
2931
|
name: "SystemUser",
|
|
2930
|
-
component: () => import("./index-
|
|
2932
|
+
component: () => import("./index-CsQthEv2.js"),
|
|
2931
2933
|
meta: {
|
|
2932
2934
|
title: "用户管理",
|
|
2933
2935
|
icon: "user",
|
|
@@ -2937,7 +2939,7 @@ const ft = [
|
|
|
2937
2939
|
{
|
|
2938
2940
|
path: "role",
|
|
2939
2941
|
name: "SystemRole",
|
|
2940
|
-
component: () => import("./index-
|
|
2942
|
+
component: () => import("./index-C4x3PSxY.js"),
|
|
2941
2943
|
meta: {
|
|
2942
2944
|
title: "角色管理",
|
|
2943
2945
|
icon: "role",
|
|
@@ -2947,7 +2949,7 @@ const ft = [
|
|
|
2947
2949
|
{
|
|
2948
2950
|
path: "menu",
|
|
2949
2951
|
name: "SystemMenu",
|
|
2950
|
-
component: () => import("./index-
|
|
2952
|
+
component: () => import("./index-BYChodrz.js"),
|
|
2951
2953
|
meta: {
|
|
2952
2954
|
title: "菜单管理",
|
|
2953
2955
|
icon: "menu",
|
|
@@ -2956,7 +2958,7 @@ const ft = [
|
|
|
2956
2958
|
}
|
|
2957
2959
|
]
|
|
2958
2960
|
}
|
|
2959
|
-
],
|
|
2961
|
+
], On = [
|
|
2960
2962
|
{
|
|
2961
2963
|
menuCode: "dashboard",
|
|
2962
2964
|
menuName: "仪表盘",
|
|
@@ -3004,20 +3006,20 @@ const ft = [
|
|
|
3004
3006
|
}
|
|
3005
3007
|
]
|
|
3006
3008
|
}
|
|
3007
|
-
],
|
|
3008
|
-
history:
|
|
3009
|
-
routes: [...
|
|
3009
|
+
], gt = Xe({
|
|
3010
|
+
history: Je(),
|
|
3011
|
+
routes: [..._t, ft],
|
|
3010
3012
|
scrollBehavior: () => ({ left: 0, top: 0 })
|
|
3011
|
-
}),
|
|
3012
|
-
|
|
3013
|
-
const
|
|
3014
|
-
if (
|
|
3013
|
+
}), Rn = ["/login"];
|
|
3014
|
+
gt.beforeEach(async (t, n, m) => {
|
|
3015
|
+
const a = _e();
|
|
3016
|
+
if (a.initTheme(), it())
|
|
3015
3017
|
if (t.path === "/login")
|
|
3016
3018
|
m({ path: "/" });
|
|
3017
3019
|
else {
|
|
3018
|
-
const s =
|
|
3020
|
+
const s = ue();
|
|
3019
3021
|
s.isLoggedIn || (s.setUserInfo({
|
|
3020
|
-
appId:
|
|
3022
|
+
appId: Me(),
|
|
3021
3023
|
userId: "1",
|
|
3022
3024
|
userName: "管理员",
|
|
3023
3025
|
departmentName: "技术部",
|
|
@@ -3025,23 +3027,23 @@ yt.beforeEach(async (t, n, m) => {
|
|
|
3025
3027
|
mobilePhone: "13800138000",
|
|
3026
3028
|
positionName: "管理员",
|
|
3027
3029
|
avatar: ""
|
|
3028
|
-
}),
|
|
3030
|
+
}), fe().setMenuList(On)), t.name && t.meta.keepAlive && a.addCachedView(t.name), m();
|
|
3029
3031
|
}
|
|
3030
3032
|
else
|
|
3031
|
-
|
|
3033
|
+
Rn.includes(t.path) ? m() : m("/login");
|
|
3032
3034
|
});
|
|
3033
|
-
function
|
|
3034
|
-
const t =
|
|
3035
|
-
history:
|
|
3036
|
-
routes: [...
|
|
3035
|
+
function _l() {
|
|
3036
|
+
const t = Xe({
|
|
3037
|
+
history: Je(),
|
|
3038
|
+
routes: [..._t, ft]
|
|
3037
3039
|
});
|
|
3038
|
-
|
|
3040
|
+
gt.matcher = t.matcher;
|
|
3039
3041
|
}
|
|
3040
|
-
function
|
|
3041
|
-
const m = n.indexPath || "/dashboard",
|
|
3042
|
+
function fl(t, n = {}) {
|
|
3043
|
+
const m = n.indexPath || "/dashboard", a = n.logoSrc, s = {
|
|
3042
3044
|
path: "/:pathMatch(.*)*",
|
|
3043
3045
|
name: "CatchAll",
|
|
3044
|
-
component: () => Promise.resolve().then(() =>
|
|
3046
|
+
component: () => Promise.resolve().then(() => ht),
|
|
3045
3047
|
meta: {
|
|
3046
3048
|
title: "404"
|
|
3047
3049
|
}
|
|
@@ -3049,84 +3051,84 @@ function yl(t, n = {}) {
|
|
|
3049
3051
|
return {
|
|
3050
3052
|
path: "/",
|
|
3051
3053
|
name: "Layout",
|
|
3052
|
-
component:
|
|
3054
|
+
component: ce({
|
|
3053
3055
|
name: "LayoutWrapper",
|
|
3054
3056
|
render() {
|
|
3055
|
-
return
|
|
3057
|
+
return Et(vt, { logoSrc: a || Te("/vite.svg") });
|
|
3056
3058
|
}
|
|
3057
3059
|
}),
|
|
3058
3060
|
redirect: m,
|
|
3059
3061
|
children: [...t, s]
|
|
3060
3062
|
};
|
|
3061
3063
|
}
|
|
3062
|
-
function
|
|
3063
|
-
const m = n.base ||
|
|
3064
|
-
return
|
|
3065
|
-
history:
|
|
3064
|
+
function gl(t, n = {}) {
|
|
3065
|
+
const m = n.base || bt();
|
|
3066
|
+
return Xe({
|
|
3067
|
+
history: Je(m),
|
|
3066
3068
|
routes: t,
|
|
3067
3069
|
scrollBehavior: () => ({ left: 0, top: 0 })
|
|
3068
3070
|
});
|
|
3069
3071
|
}
|
|
3070
|
-
const
|
|
3071
|
-
function
|
|
3072
|
+
const Kn = ["login", "404", "403", "/login", "/404", "/403"];
|
|
3073
|
+
function jn(t, n) {
|
|
3072
3074
|
if (n.includes(t)) return !0;
|
|
3073
3075
|
const m = t.startsWith("/") ? t.slice(1) : t;
|
|
3074
3076
|
return n.includes(m);
|
|
3075
3077
|
}
|
|
3076
|
-
function
|
|
3077
|
-
const m = n.whiteList ||
|
|
3078
|
-
t.beforeEach(async (
|
|
3079
|
-
const i =
|
|
3080
|
-
if (i.initTheme(),
|
|
3081
|
-
if (
|
|
3082
|
-
|
|
3083
|
-
else if (
|
|
3078
|
+
function yl(t, n = {}) {
|
|
3079
|
+
const m = n.whiteList || Kn;
|
|
3080
|
+
t.beforeEach(async (a, s, p) => {
|
|
3081
|
+
const i = _e(), h = ue(), d = fe(), f = i.loginPath || n.loginPath || "/login";
|
|
3082
|
+
if (i.initTheme(), rt())
|
|
3083
|
+
if (a.path === f || a.name === "Login")
|
|
3084
|
+
p({ name: "Dashboard" });
|
|
3085
|
+
else if (h.isLoggedIn) {
|
|
3084
3086
|
if (!d.hasMenu)
|
|
3085
3087
|
try {
|
|
3086
|
-
const
|
|
3087
|
-
d.setMenuList(
|
|
3088
|
-
} catch (
|
|
3089
|
-
console.warn("补拉菜单失败:",
|
|
3088
|
+
const g = n.fetchMenu ? await n.fetchMenu() : await ot(n.appId);
|
|
3089
|
+
d.setMenuList(g);
|
|
3090
|
+
} catch (g) {
|
|
3091
|
+
console.warn("补拉菜单失败:", g);
|
|
3090
3092
|
}
|
|
3091
|
-
|
|
3093
|
+
a.name && a.meta.keepAlive && i.addCachedView(a.name), p();
|
|
3092
3094
|
} else
|
|
3093
3095
|
try {
|
|
3094
3096
|
if (n.fetchUserInfo) {
|
|
3095
|
-
const
|
|
3096
|
-
|
|
3097
|
+
const g = await n.fetchUserInfo();
|
|
3098
|
+
h.setUserInfo(g);
|
|
3097
3099
|
} else {
|
|
3098
|
-
const
|
|
3099
|
-
|
|
3100
|
+
const g = await wt();
|
|
3101
|
+
h.setUserInfo(g);
|
|
3100
3102
|
}
|
|
3101
3103
|
if (n.fetchMenu) {
|
|
3102
|
-
const
|
|
3103
|
-
d.setMenuList(
|
|
3104
|
+
const g = await n.fetchMenu();
|
|
3105
|
+
d.setMenuList(g);
|
|
3104
3106
|
} else {
|
|
3105
|
-
const
|
|
3106
|
-
d.setMenuList(
|
|
3107
|
+
const g = await ot(n.appId);
|
|
3108
|
+
d.setMenuList(g);
|
|
3107
3109
|
}
|
|
3108
|
-
n.onLoginSuccess && n.onLoginSuccess(),
|
|
3109
|
-
} catch (
|
|
3110
|
-
console.error("获取用户信息失败:",
|
|
3110
|
+
n.onLoginSuccess && n.onLoginSuccess(), a.name && a.meta.keepAlive && i.addCachedView(a.name), p({ ...a, replace: !0 });
|
|
3111
|
+
} catch (g) {
|
|
3112
|
+
console.error("获取用户信息失败:", g), h.clearUserInfo(), d.clearMenu(), ct(), p({ name: "Login", query: { redirect: a.fullPath } });
|
|
3111
3113
|
}
|
|
3112
3114
|
else
|
|
3113
|
-
|
|
3115
|
+
jn(a.path, m) || a.name === "Login" || a.name === "NotFound" || a.name === "Forbidden" ? p() : p({ name: "Login", query: { redirect: a.fullPath } });
|
|
3114
3116
|
}), t.afterEach(() => {
|
|
3115
3117
|
});
|
|
3116
3118
|
}
|
|
3117
|
-
var
|
|
3118
|
-
const
|
|
3119
|
+
var Wn = /* @__PURE__ */ ((t) => (t[t.ENABLED = 1] = "ENABLED", t[t.DISABLED = 0] = "DISABLED", t))(Wn || {}), qn = /* @__PURE__ */ ((t) => (t[t.UNKNOWN = 0] = "UNKNOWN", t[t.MALE = 1] = "MALE", t[t.FEMALE = 2] = "FEMALE", t))(qn || {}), Hn = /* @__PURE__ */ ((t) => (t[t.DIRECTORY = 0] = "DIRECTORY", t[t.MENU = 1] = "MENU", t[t.BUTTON = 2] = "BUTTON", t))(Hn || {});
|
|
3120
|
+
const bl = {
|
|
3119
3121
|
1: "启用",
|
|
3120
3122
|
0: "禁用"
|
|
3121
|
-
},
|
|
3123
|
+
}, wl = {
|
|
3122
3124
|
0: "未知",
|
|
3123
3125
|
1: "男",
|
|
3124
3126
|
2: "女"
|
|
3125
|
-
},
|
|
3127
|
+
}, kl = {
|
|
3126
3128
|
0: "目录",
|
|
3127
3129
|
1: "菜单",
|
|
3128
3130
|
2: "按钮"
|
|
3129
|
-
},
|
|
3131
|
+
}, xl = [
|
|
3130
3132
|
{
|
|
3131
3133
|
label: "启用",
|
|
3132
3134
|
value: 1
|
|
@@ -3137,7 +3139,7 @@ const kl = {
|
|
|
3137
3139
|
value: 0
|
|
3138
3140
|
/* DISABLED */
|
|
3139
3141
|
}
|
|
3140
|
-
],
|
|
3142
|
+
], Cl = [
|
|
3141
3143
|
{
|
|
3142
3144
|
label: "未知",
|
|
3143
3145
|
value: 0
|
|
@@ -3153,7 +3155,7 @@ const kl = {
|
|
|
3153
3155
|
value: 2
|
|
3154
3156
|
/* FEMALE */
|
|
3155
3157
|
}
|
|
3156
|
-
],
|
|
3158
|
+
], $l = [
|
|
3157
3159
|
{
|
|
3158
3160
|
label: "目录",
|
|
3159
3161
|
value: 0
|
|
@@ -3169,49 +3171,49 @@ const kl = {
|
|
|
3169
3171
|
value: 2
|
|
3170
3172
|
/* BUTTON */
|
|
3171
3173
|
}
|
|
3172
|
-
],
|
|
3174
|
+
], Ll = {
|
|
3173
3175
|
mounted(t, n) {
|
|
3174
|
-
var i,
|
|
3175
|
-
const m =
|
|
3176
|
+
var i, h;
|
|
3177
|
+
const m = ue(), a = fe();
|
|
3176
3178
|
if (!m.isLoggedIn) {
|
|
3177
3179
|
(i = t.parentNode) == null || i.removeChild(t);
|
|
3178
3180
|
return;
|
|
3179
3181
|
}
|
|
3180
|
-
const s = n.value,
|
|
3181
|
-
|
|
3182
|
+
const s = n.value, p = Array.isArray(s) ? s : [s];
|
|
3183
|
+
a.hasPermission(p) || (h = t.parentNode) == null || h.removeChild(t);
|
|
3182
3184
|
}
|
|
3183
3185
|
};
|
|
3184
|
-
async function
|
|
3185
|
-
await
|
|
3186
|
-
const n =
|
|
3187
|
-
n &&
|
|
3186
|
+
async function Ml(t) {
|
|
3187
|
+
await kt(t.basePath);
|
|
3188
|
+
const n = at();
|
|
3189
|
+
n && xt(n), Ct({
|
|
3188
3190
|
appId: t.appId,
|
|
3189
3191
|
clientId: t.clientId,
|
|
3190
3192
|
apiBaseUrl: n || t.apiBaseUrl,
|
|
3191
3193
|
basePath: t.basePath
|
|
3192
|
-
}), t.basePath &&
|
|
3193
|
-
const m = t.appId ||
|
|
3194
|
+
}), t.basePath && $t(t.basePath);
|
|
3195
|
+
const m = t.appId || Me();
|
|
3194
3196
|
if (m)
|
|
3195
3197
|
try {
|
|
3196
|
-
const
|
|
3197
|
-
|
|
3198
|
+
const a = await Promise.race([
|
|
3199
|
+
Lt(m),
|
|
3198
3200
|
new Promise((s) => setTimeout(() => s(null), 2e3))
|
|
3199
3201
|
]);
|
|
3200
|
-
|
|
3201
|
-
} catch (
|
|
3202
|
-
console.warn("加载应用界面配置失败,使用内置默认",
|
|
3202
|
+
a && typeof a == "object" && Mt(a);
|
|
3203
|
+
} catch (a) {
|
|
3204
|
+
console.warn("加载应用界面配置失败,使用内置默认", a);
|
|
3203
3205
|
}
|
|
3204
|
-
return Promise.resolve().then(() =>
|
|
3205
|
-
const s =
|
|
3206
|
+
return Promise.resolve().then(() => Ot).then(({ useAppStore: a }) => {
|
|
3207
|
+
const s = a();
|
|
3206
3208
|
t.appName && s.setAppName(t.appName), t.indexPath && s.setIndexPath(t.indexPath), t.loginPath && s.setLoginPath(t.loginPath);
|
|
3207
|
-
}), t.locale && Promise.resolve().then(() =>
|
|
3208
|
-
|
|
3209
|
+
}), t.locale && Promise.resolve().then(() => Vn).then(({ useLocaleStore: a }) => {
|
|
3210
|
+
a().changeLocale(t.locale);
|
|
3209
3211
|
}), {
|
|
3210
3212
|
config: {
|
|
3211
3213
|
appName: t.appName || "XTO App",
|
|
3212
|
-
appId:
|
|
3213
|
-
clientId:
|
|
3214
|
-
apiBaseUrl:
|
|
3214
|
+
appId: Me(),
|
|
3215
|
+
clientId: dt(),
|
|
3216
|
+
apiBaseUrl: at(),
|
|
3215
3217
|
basePath: t.basePath || "/",
|
|
3216
3218
|
indexPath: t.indexPath || "/dashboard",
|
|
3217
3219
|
loginPath: t.loginPath || "/login",
|
|
@@ -3220,47 +3222,47 @@ async function Nl(t) {
|
|
|
3220
3222
|
};
|
|
3221
3223
|
}
|
|
3222
3224
|
export {
|
|
3223
|
-
|
|
3224
|
-
|
|
3225
|
-
|
|
3226
|
-
|
|
3227
|
-
|
|
3228
|
-
|
|
3229
|
-
|
|
3230
|
-
|
|
3231
|
-
|
|
3232
|
-
|
|
3233
|
-
|
|
3234
|
-
|
|
3235
|
-
|
|
3236
|
-
|
|
3237
|
-
|
|
3238
|
-
|
|
3239
|
-
|
|
3240
|
-
|
|
3241
|
-
|
|
3242
|
-
|
|
3243
|
-
|
|
3244
|
-
|
|
3245
|
-
|
|
3246
|
-
|
|
3247
|
-
|
|
3248
|
-
|
|
3249
|
-
|
|
3250
|
-
|
|
3251
|
-
|
|
3252
|
-
|
|
3253
|
-
|
|
3254
|
-
|
|
3255
|
-
|
|
3256
|
-
|
|
3257
|
-
|
|
3258
|
-
|
|
3259
|
-
|
|
3260
|
-
|
|
3261
|
-
|
|
3262
|
-
|
|
3263
|
-
|
|
3264
|
-
|
|
3265
|
-
|
|
3225
|
+
_e as A,
|
|
3226
|
+
rl as B,
|
|
3227
|
+
ze as C,
|
|
3228
|
+
il as D,
|
|
3229
|
+
ul as E,
|
|
3230
|
+
al as F,
|
|
3231
|
+
qn as G,
|
|
3232
|
+
Xs as H,
|
|
3233
|
+
et as I,
|
|
3234
|
+
fe as J,
|
|
3235
|
+
cl as K,
|
|
3236
|
+
vt as L,
|
|
3237
|
+
Hn as M,
|
|
3238
|
+
ue as N,
|
|
3239
|
+
Wn as S,
|
|
3240
|
+
ol as T,
|
|
3241
|
+
de as _,
|
|
3242
|
+
xl as a,
|
|
3243
|
+
$l as b,
|
|
3244
|
+
nl as c,
|
|
3245
|
+
Cl as d,
|
|
3246
|
+
wl as e,
|
|
3247
|
+
kl as f,
|
|
3248
|
+
Pn as g,
|
|
3249
|
+
lt as h,
|
|
3250
|
+
Mn as i,
|
|
3251
|
+
bl as j,
|
|
3252
|
+
fl as k,
|
|
3253
|
+
gl as l,
|
|
3254
|
+
dl as m,
|
|
3255
|
+
Ml as n,
|
|
3256
|
+
hl as o,
|
|
3257
|
+
ml as p,
|
|
3258
|
+
pl as q,
|
|
3259
|
+
vl as r,
|
|
3260
|
+
ft as s,
|
|
3261
|
+
On as t,
|
|
3262
|
+
Ll as u,
|
|
3263
|
+
_l as v,
|
|
3264
|
+
gt as w,
|
|
3265
|
+
yl as x,
|
|
3266
|
+
_t as y,
|
|
3267
|
+
ll as z
|
|
3266
3268
|
};
|