xto-fronted 0.8.2 → 0.8.4
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/api/index.js +1 -1
- package/dist/components/Layout/MixTopMenu.vue.d.ts +1 -3
- package/dist/components/Layout/Sidebar.vue.d.ts +0 -1
- package/dist/components/Layout/TopMenu.vue.d.ts +1 -3
- package/dist/components/Layout/index.vue.d.ts +1 -3
- package/dist/{index-BiqG4wL6.js → index-BIRzoxFQ.js} +1 -1
- package/dist/{index-WdqGX2ME.js → index-D2ArmTvR.js} +1 -1
- package/dist/{index-DGwrd6c8.js → index-DSEQpjnn.js} +1223 -1227
- package/dist/{index-BUv4yAZa.js → index-DaSr411h.js} +1 -1
- package/dist/{index-CbWQsbvq.js → index-HqCkg98V.js} +1 -1
- package/dist/index.js +18 -17
- package/dist/style.css +1 -1
- package/dist/{user-77I_qZ8j.js → user-BfEOXV7Q.js} +283 -277
- package/dist/utils/config.d.ts +5 -0
- package/package.json +1 -1
- package/src/components/Layout/MixTopMenu.vue +5 -2
- package/src/components/Layout/Sidebar.vue +5 -2
- package/src/components/Layout/TopMenu.vue +5 -2
- package/src/components/Layout/index.vue +7 -4
- package/src/router/layoutRoute.ts +5 -3
- package/src/utils/config.ts +10 -0
|
@@ -1,105 +1,105 @@
|
|
|
1
|
-
import { x as
|
|
2
|
-
import { ref as y, computed 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
|
|
11
|
-
const
|
|
12
|
-
if (!
|
|
13
|
-
const
|
|
14
|
-
return [
|
|
1
|
+
import { x as N, y as Ee, z as nt, A as lt, B as rt, C as it, D as Ue, o as ft, E as ct, F as gt, i as tt, m as yt, G as bt, H as st, I as kt, J as wt, K as xt } from "./user-BfEOXV7Q.js";
|
|
2
|
+
import { ref as y, computed as k, watch as Ce, defineComponent as ie, resolveComponent as ut, openBlock as o, createBlock as D, unref as n, withCtx as M, createElementBlock as c, Fragment as W, renderList as Z, createElementVNode as e, toDisplayString as x, createCommentVNode as P, normalizeClass as Q, withDirectives as Fe, vShow as Ct, createVNode as b, createTextVNode as be, onMounted as We, onUnmounted as qe, vModelText as He, Transition as $e, withModifiers as De, normalizeStyle as Ie, reactive as Ye, createStaticVNode as Te, withKeys as $t, h as Lt } from "vue";
|
|
3
|
+
import { defineStore as ze } from "pinia";
|
|
4
|
+
import { useRoute as Me, useRouter as fe, createRouter as Ge, createWebHistory as Xe } from "vue-router";
|
|
5
|
+
import { SubMenu as je, MenuItem as Ne, Menu as Je, Tabs as Mt, TabPane as St } from "@xto/navigation";
|
|
6
|
+
import { Icon as I, Button as Le } from "@xto/base";
|
|
7
|
+
import { Drawer as Ze, Message as Nt } from "@xto/feedback";
|
|
8
|
+
import { Form as It, FormItem as Ae, Input as ot, Checkbox as Et } from "@xto/form";
|
|
9
|
+
import { createLocaleProvider as Ut, getSupportedLocales as zt, useLocale as Pt } from "@xto/core/locale";
|
|
10
|
+
function Tt(t) {
|
|
11
|
+
const l = /^#?([0-9a-f]{6})$/i.exec(t.trim());
|
|
12
|
+
if (!l) return null;
|
|
13
|
+
const d = parseInt(l[1], 16);
|
|
14
|
+
return [d >> 16 & 255, d >> 8 & 255, d & 255];
|
|
15
15
|
}
|
|
16
|
-
const
|
|
17
|
-
const t = y(
|
|
18
|
-
t.value =
|
|
19
|
-
},
|
|
20
|
-
|
|
21
|
-
},
|
|
22
|
-
|
|
23
|
-
},
|
|
24
|
-
s.value = !s.value,
|
|
25
|
-
}, G = (
|
|
26
|
-
|
|
27
|
-
},
|
|
28
|
-
const
|
|
29
|
-
s.value ?
|
|
16
|
+
const he = ze("app", () => {
|
|
17
|
+
const t = y(N.get("appName") || "XTO App"), l = y(N.get("indexPath") || "/dashboard"), d = y(N.get("loginPath") || "/login"), s = y(N.get("isDark") || !1), a = y(N.get("theme") || "light"), h = y(N.get("layout") || "sidebar"), i = y(N.get("isCollapsed") || !1), v = y(N.get("showTabs") ?? !0), m = y(N.get("showFooter") ?? !0), f = y(N.get("showBreadcrumb") ?? !0), _ = y(N.get("primaryColor") || "#4F46E5"), g = y([]), u = y([]), q = k(() => s.value ? "dark" : "light"), A = (E) => {
|
|
18
|
+
t.value = E, N.set("appName", E);
|
|
19
|
+
}, O = (E) => {
|
|
20
|
+
l.value = E, N.set("indexPath", E);
|
|
21
|
+
}, B = (E) => {
|
|
22
|
+
d.value = E, N.set("loginPath", E);
|
|
23
|
+
}, R = () => {
|
|
24
|
+
s.value = !s.value, a.value = s.value ? "dark" : "light", H();
|
|
25
|
+
}, G = (E) => {
|
|
26
|
+
a.value = E, s.value = E === "dark", H();
|
|
27
|
+
}, H = () => {
|
|
28
|
+
const E = document.documentElement;
|
|
29
|
+
s.value ? E.classList.add("dark") : E.classList.remove("dark"), N.set("isDark", s.value), N.set("theme", a.value);
|
|
30
|
+
}, te = () => {
|
|
31
|
+
i.value = !i.value, N.set("isCollapsed", i.value);
|
|
32
|
+
}, ee = (E) => {
|
|
33
|
+
h.value = E, N.set("layout", E);
|
|
30
34
|
}, X = () => {
|
|
31
|
-
|
|
32
|
-
},
|
|
33
|
-
|
|
34
|
-
},
|
|
35
|
-
|
|
36
|
-
},
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
if (de) {
|
|
46
|
-
const te = (Y, me) => {
|
|
47
|
-
const fe = me ? [255, 255, 255] : [0, 0, 0];
|
|
48
|
-
return `#${de.map((ce, ge) => Math.round(ce + (fe[ge] - ce) * Y)).map((ce) => ce.toString(16).padStart(2, "0")).join("")}`;
|
|
35
|
+
v.value = !v.value, N.set("showTabs", v.value);
|
|
36
|
+
}, se = () => {
|
|
37
|
+
m.value = !m.value, N.set("showFooter", m.value);
|
|
38
|
+
}, F = () => {
|
|
39
|
+
f.value = !f.value, N.set("showBreadcrumb", f.value);
|
|
40
|
+
}, S = (E) => {
|
|
41
|
+
_.value = E;
|
|
42
|
+
const Y = document.documentElement;
|
|
43
|
+
Y.style.setProperty("--xto-color-primary", E);
|
|
44
|
+
const ae = Tt(E);
|
|
45
|
+
if (ae) {
|
|
46
|
+
const de = (j, re) => {
|
|
47
|
+
const ge = re ? [255, 255, 255] : [0, 0, 0];
|
|
48
|
+
return `#${ae.map((me, ye) => Math.round(me + (ge[ye] - me) * j)).map((me) => me.toString(16).padStart(2, "0")).join("")}`;
|
|
49
49
|
};
|
|
50
|
-
for (let
|
|
51
|
-
|
|
52
|
-
|
|
50
|
+
for (let j = 1; j <= 9; j++)
|
|
51
|
+
Y.style.setProperty(`--xto-color-primary-light-${j}`, de(j * 0.1, !0));
|
|
52
|
+
Y.style.setProperty("--xto-color-primary-dark-1", de(0.12, !1)), Y.style.setProperty("--xto-color-primary-dark-2", de(0.28, !1)), Y.style.setProperty("--xto-color-primary-dark-3", de(0.45, !1)), Y.style.setProperty("--xto-color-ring", E);
|
|
53
53
|
}
|
|
54
|
-
|
|
55
|
-
},
|
|
56
|
-
|
|
57
|
-
},
|
|
58
|
-
const
|
|
59
|
-
|
|
60
|
-
},
|
|
61
|
-
|
|
62
|
-
},
|
|
63
|
-
|
|
64
|
-
},
|
|
65
|
-
|
|
54
|
+
N.set("primaryColor", E);
|
|
55
|
+
}, T = (E) => {
|
|
56
|
+
g.value.includes(E) || g.value.push(E);
|
|
57
|
+
}, J = (E) => {
|
|
58
|
+
const Y = g.value.indexOf(E);
|
|
59
|
+
Y > -1 && g.value.splice(Y, 1);
|
|
60
|
+
}, K = () => {
|
|
61
|
+
g.value = [];
|
|
62
|
+
}, le = (E) => {
|
|
63
|
+
u.value = E;
|
|
64
|
+
}, ve = () => {
|
|
65
|
+
H(), _.value !== "#4F46E5" && document.documentElement.style.setProperty("--xto-color-primary", _.value);
|
|
66
66
|
};
|
|
67
|
-
return
|
|
67
|
+
return Ce(s, H), {
|
|
68
68
|
appName: t,
|
|
69
|
-
indexPath:
|
|
70
|
-
loginPath:
|
|
69
|
+
indexPath: l,
|
|
70
|
+
loginPath: d,
|
|
71
71
|
isDark: s,
|
|
72
|
-
theme:
|
|
73
|
-
layout:
|
|
74
|
-
isCollapsed:
|
|
72
|
+
theme: a,
|
|
73
|
+
layout: h,
|
|
74
|
+
isCollapsed: i,
|
|
75
75
|
showTabs: v,
|
|
76
|
-
showFooter:
|
|
77
|
-
showBreadcrumb:
|
|
76
|
+
showFooter: m,
|
|
77
|
+
showBreadcrumb: f,
|
|
78
78
|
primaryColor: _,
|
|
79
|
-
cachedViews:
|
|
80
|
-
mixSubMenus:
|
|
81
|
-
themeClass:
|
|
82
|
-
setAppName:
|
|
83
|
-
setIndexPath:
|
|
84
|
-
setLoginPath:
|
|
85
|
-
toggleTheme:
|
|
86
|
-
toggleCollapse:
|
|
79
|
+
cachedViews: g,
|
|
80
|
+
mixSubMenus: u,
|
|
81
|
+
themeClass: q,
|
|
82
|
+
setAppName: A,
|
|
83
|
+
setIndexPath: O,
|
|
84
|
+
setLoginPath: B,
|
|
85
|
+
toggleTheme: R,
|
|
86
|
+
toggleCollapse: te,
|
|
87
87
|
setTheme: G,
|
|
88
|
-
setLayout:
|
|
89
|
-
toggleTabs:
|
|
90
|
-
toggleFooter:
|
|
91
|
-
toggleBreadcrumb:
|
|
92
|
-
setPrimaryColor:
|
|
93
|
-
addCachedView:
|
|
94
|
-
removeCachedView:
|
|
95
|
-
clearCachedViews:
|
|
96
|
-
setMixSubMenus:
|
|
97
|
-
initTheme:
|
|
88
|
+
setLayout: ee,
|
|
89
|
+
toggleTabs: X,
|
|
90
|
+
toggleFooter: se,
|
|
91
|
+
toggleBreadcrumb: F,
|
|
92
|
+
setPrimaryColor: S,
|
|
93
|
+
addCachedView: T,
|
|
94
|
+
removeCachedView: J,
|
|
95
|
+
clearCachedViews: K,
|
|
96
|
+
setMixSubMenus: le,
|
|
97
|
+
initTheme: ve
|
|
98
98
|
};
|
|
99
|
-
}),
|
|
99
|
+
}), Ft = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
100
100
|
__proto__: null,
|
|
101
|
-
useAppStore:
|
|
102
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
101
|
+
useAppStore: he
|
|
102
|
+
}, Symbol.toStringTag, { value: "Module" })), Dt = "menu_list", At = "permission_list", Be = () => `${Dt}_${Ee()}`, Ve = () => `${At}_${Ee()}`, Bt = {
|
|
103
103
|
menuCode: "home",
|
|
104
104
|
menuName: "首页",
|
|
105
105
|
menuUrl: "/dashboard",
|
|
@@ -108,125 +108,125 @@ const pe = Ee("app", () => {
|
|
|
108
108
|
isDefault: !1,
|
|
109
109
|
isOut: !1
|
|
110
110
|
};
|
|
111
|
-
function
|
|
112
|
-
return t.filter((
|
|
113
|
-
...
|
|
114
|
-
children:
|
|
111
|
+
function dt(t) {
|
|
112
|
+
return t.filter((l) => l.type !== 1).map((l) => ({
|
|
113
|
+
...l,
|
|
114
|
+
children: l.children ? dt(l.children) : void 0
|
|
115
115
|
}));
|
|
116
116
|
}
|
|
117
|
-
function
|
|
118
|
-
const
|
|
119
|
-
function
|
|
120
|
-
s.forEach((
|
|
121
|
-
|
|
117
|
+
function Vt(t) {
|
|
118
|
+
const l = [];
|
|
119
|
+
function d(s) {
|
|
120
|
+
s.forEach((a) => {
|
|
121
|
+
a.type === 1 && a.menuCode && l.push(a.menuCode), a.children && d(a.children);
|
|
122
122
|
});
|
|
123
123
|
}
|
|
124
|
-
return
|
|
124
|
+
return d(t), l;
|
|
125
125
|
}
|
|
126
|
-
const
|
|
127
|
-
const t = y(
|
|
126
|
+
const _e = ze("menu", () => {
|
|
127
|
+
const t = y(N.get(Be()) || []), l = y(N.get(Ve()) || []), d = k(() => t.value.length > 0);
|
|
128
128
|
return {
|
|
129
129
|
menuList: t,
|
|
130
|
-
permissions:
|
|
131
|
-
hasMenu:
|
|
132
|
-
setMenuList: (
|
|
133
|
-
|
|
134
|
-
const v =
|
|
135
|
-
t.value = [
|
|
130
|
+
permissions: l,
|
|
131
|
+
hasMenu: d,
|
|
132
|
+
setMenuList: (i) => {
|
|
133
|
+
l.value = Vt(i), N.set(Ve(), l.value);
|
|
134
|
+
const v = dt(i);
|
|
135
|
+
t.value = [Bt, ...v], N.set(Be(), t.value);
|
|
136
136
|
},
|
|
137
137
|
clearMenu: () => {
|
|
138
|
-
t.value = [],
|
|
138
|
+
t.value = [], l.value = [], N.remove(Be()), N.remove(Ve());
|
|
139
139
|
},
|
|
140
|
-
hasPermission: (
|
|
140
|
+
hasPermission: (i) => Array.isArray(i) ? i.some((v) => l.value.includes(v)) : l.value.includes(i)
|
|
141
141
|
};
|
|
142
|
-
}),
|
|
143
|
-
const t = y(
|
|
144
|
-
var
|
|
145
|
-
return ((
|
|
146
|
-
}), s =
|
|
147
|
-
var
|
|
148
|
-
return ((
|
|
149
|
-
}),
|
|
150
|
-
var
|
|
151
|
-
return ((
|
|
152
|
-
}),
|
|
153
|
-
var
|
|
154
|
-
return ((
|
|
155
|
-
}),
|
|
156
|
-
var
|
|
157
|
-
return ((
|
|
158
|
-
}), v =
|
|
159
|
-
var
|
|
160
|
-
return ((
|
|
161
|
-
}),
|
|
162
|
-
var
|
|
163
|
-
return ((
|
|
164
|
-
}),
|
|
165
|
-
var
|
|
166
|
-
return ((
|
|
142
|
+
}), Oe = "user_info", ce = ze("user", () => {
|
|
143
|
+
const t = y(N.get(Oe)), l = k(() => !!t.value), d = k(() => {
|
|
144
|
+
var u;
|
|
145
|
+
return ((u = t.value) == null ? void 0 : u.userId) || "";
|
|
146
|
+
}), s = k(() => {
|
|
147
|
+
var u;
|
|
148
|
+
return ((u = t.value) == null ? void 0 : u.userName) || "";
|
|
149
|
+
}), a = k(() => {
|
|
150
|
+
var u;
|
|
151
|
+
return ((u = t.value) == null ? void 0 : u.departmentName) || "";
|
|
152
|
+
}), h = k(() => {
|
|
153
|
+
var u;
|
|
154
|
+
return ((u = t.value) == null ? void 0 : u.roleName) || "";
|
|
155
|
+
}), i = k(() => {
|
|
156
|
+
var u;
|
|
157
|
+
return ((u = t.value) == null ? void 0 : u.email) || "";
|
|
158
|
+
}), v = k(() => {
|
|
159
|
+
var u;
|
|
160
|
+
return ((u = t.value) == null ? void 0 : u.mobilePhone) || "";
|
|
161
|
+
}), m = k(() => {
|
|
162
|
+
var u;
|
|
163
|
+
return ((u = t.value) == null ? void 0 : u.positionName) || "";
|
|
164
|
+
}), f = k(() => {
|
|
165
|
+
var u;
|
|
166
|
+
return ((u = t.value) == null ? void 0 : u.avatar) || "";
|
|
167
167
|
});
|
|
168
168
|
return {
|
|
169
169
|
userInfo: t,
|
|
170
|
-
isLoggedIn:
|
|
171
|
-
userId:
|
|
170
|
+
isLoggedIn: l,
|
|
171
|
+
userId: d,
|
|
172
172
|
userName: s,
|
|
173
|
-
departmentName:
|
|
174
|
-
roleName:
|
|
175
|
-
email:
|
|
173
|
+
departmentName: a,
|
|
174
|
+
roleName: h,
|
|
175
|
+
email: i,
|
|
176
176
|
mobilePhone: v,
|
|
177
|
-
positionName:
|
|
178
|
-
avatar:
|
|
179
|
-
setUserInfo: (
|
|
180
|
-
t.value =
|
|
177
|
+
positionName: m,
|
|
178
|
+
avatar: f,
|
|
179
|
+
setUserInfo: (u) => {
|
|
180
|
+
t.value = u, N.set(Oe, u);
|
|
181
181
|
},
|
|
182
182
|
clearUserInfo: () => {
|
|
183
|
-
t.value = null,
|
|
183
|
+
t.value = null, N.remove(Oe);
|
|
184
184
|
}
|
|
185
185
|
};
|
|
186
|
-
}),
|
|
187
|
-
const t = y(
|
|
186
|
+
}), Pe = ze("auth", () => {
|
|
187
|
+
const t = y(nt()), l = k(() => lt()), d = y(""), s = y(""), a = y(""), h = y("/login");
|
|
188
188
|
return {
|
|
189
189
|
token: t,
|
|
190
|
-
isLoggedIn:
|
|
191
|
-
baseUrl:
|
|
190
|
+
isLoggedIn: l,
|
|
191
|
+
baseUrl: d,
|
|
192
192
|
appId: s,
|
|
193
|
-
clientId:
|
|
194
|
-
loginPath:
|
|
195
|
-
login: (
|
|
196
|
-
t.value =
|
|
193
|
+
clientId: a,
|
|
194
|
+
loginPath: h,
|
|
195
|
+
login: (u) => {
|
|
196
|
+
t.value = u.access_token, it(u);
|
|
197
197
|
},
|
|
198
198
|
logout: () => {
|
|
199
|
-
t.value = null,
|
|
199
|
+
t.value = null, rt();
|
|
200
200
|
},
|
|
201
|
-
setBaseUrl: (
|
|
202
|
-
|
|
201
|
+
setBaseUrl: (u) => {
|
|
202
|
+
d.value = u;
|
|
203
203
|
},
|
|
204
|
-
setAppId: (
|
|
205
|
-
s.value =
|
|
204
|
+
setAppId: (u) => {
|
|
205
|
+
s.value = u;
|
|
206
206
|
},
|
|
207
|
-
setClientId: (
|
|
208
|
-
|
|
207
|
+
setClientId: (u) => {
|
|
208
|
+
a.value = u;
|
|
209
209
|
},
|
|
210
|
-
setLoginPath: (
|
|
211
|
-
|
|
210
|
+
setLoginPath: (u) => {
|
|
211
|
+
h.value = u;
|
|
212
212
|
}
|
|
213
213
|
};
|
|
214
|
-
}),
|
|
214
|
+
}), Ot = { class: "menu-item__content" }, Rt = { class: "menu-item__icon" }, Kt = {
|
|
215
215
|
key: 1,
|
|
216
216
|
class: "menu-item__char"
|
|
217
|
-
},
|
|
217
|
+
}, jt = { class: "menu-item__text" }, Wt = { class: "menu-item__content" }, qt = {
|
|
218
218
|
key: 0,
|
|
219
219
|
class: "menu-item__icon"
|
|
220
|
-
},
|
|
220
|
+
}, Ht = {
|
|
221
221
|
key: 1,
|
|
222
222
|
class: "menu-item__char"
|
|
223
|
-
},
|
|
223
|
+
}, Yt = { class: "menu-item__text" }, Gt = /* @__PURE__ */ ie({
|
|
224
224
|
__name: "SidebarMenuItem",
|
|
225
225
|
props: {
|
|
226
226
|
menu: {}
|
|
227
227
|
},
|
|
228
228
|
setup(t) {
|
|
229
|
-
const
|
|
229
|
+
const l = t, d = /* @__PURE__ */ new Set([
|
|
230
230
|
"arrow-up",
|
|
231
231
|
"arrow-down",
|
|
232
232
|
"arrow-left",
|
|
@@ -328,10 +328,10 @@ const ve = Ee("menu", () => {
|
|
|
328
328
|
"sun",
|
|
329
329
|
"theme",
|
|
330
330
|
"skin"
|
|
331
|
-
]), s = (
|
|
332
|
-
if (!
|
|
333
|
-
if (
|
|
334
|
-
const _ =
|
|
331
|
+
]), s = (m) => {
|
|
332
|
+
if (!m || m === "") return "";
|
|
333
|
+
if (m.startsWith("tineco-icon-")) {
|
|
334
|
+
const _ = m.replace("tineco-icon-", "");
|
|
335
335
|
return {
|
|
336
336
|
home: "home",
|
|
337
337
|
dashboard: "dashboard",
|
|
@@ -364,216 +364,216 @@ const ve = Ee("menu", () => {
|
|
|
364
364
|
app: "app",
|
|
365
365
|
list: "list",
|
|
366
366
|
grid: "grid"
|
|
367
|
-
}[
|
|
368
|
-
},
|
|
369
|
-
return (
|
|
370
|
-
const _ =
|
|
371
|
-
return v.value ? (
|
|
367
|
+
}[m] || m;
|
|
368
|
+
}, a = (m) => m ? m.charAt(0) : "", h = (m) => d.has(m), i = k(() => l.menu.menuId || l.menu.menuCode || l.menu.menuUrl || ""), v = k(() => l.menu.children && l.menu.children.length > 0);
|
|
369
|
+
return (m, f) => {
|
|
370
|
+
const _ = ut("SidebarMenuItem", !0);
|
|
371
|
+
return v.value ? (o(), D(n(je), {
|
|
372
372
|
key: 0,
|
|
373
|
-
index:
|
|
373
|
+
index: i.value
|
|
374
374
|
}, {
|
|
375
375
|
title: M(() => [
|
|
376
|
-
e("span",
|
|
377
|
-
e("span",
|
|
378
|
-
|
|
376
|
+
e("span", Ot, [
|
|
377
|
+
e("span", Rt, [
|
|
378
|
+
h(s(t.menu.icon)) ? (o(), D(n(I), {
|
|
379
379
|
key: 0,
|
|
380
380
|
name: s(t.menu.icon),
|
|
381
381
|
size: 16
|
|
382
|
-
}, null, 8, ["name"])) : (
|
|
382
|
+
}, null, 8, ["name"])) : (o(), c("span", Kt, x(a(t.menu.menuName)), 1))
|
|
383
383
|
]),
|
|
384
|
-
e("span",
|
|
384
|
+
e("span", jt, x(t.menu.menuName), 1)
|
|
385
385
|
])
|
|
386
386
|
]),
|
|
387
387
|
default: M(() => [
|
|
388
|
-
(
|
|
389
|
-
key:
|
|
390
|
-
menu:
|
|
388
|
+
(o(!0), c(W, null, Z(t.menu.children, (g) => (o(), D(_, {
|
|
389
|
+
key: g.menuId || g.menuCode || g.menuUrl,
|
|
390
|
+
menu: g
|
|
391
391
|
}, null, 8, ["menu"]))), 128))
|
|
392
392
|
]),
|
|
393
393
|
_: 1
|
|
394
|
-
}, 8, ["index"])) : (
|
|
394
|
+
}, 8, ["index"])) : (o(), D(n(Ne), {
|
|
395
395
|
key: 1,
|
|
396
|
-
index: t.menu.menuUrl ||
|
|
396
|
+
index: t.menu.menuUrl || i.value
|
|
397
397
|
}, {
|
|
398
398
|
default: M(() => [
|
|
399
|
-
e("span",
|
|
400
|
-
t.menu.menuName !== "首页" ? (
|
|
401
|
-
|
|
399
|
+
e("span", Wt, [
|
|
400
|
+
t.menu.menuName !== "首页" ? (o(), c("span", qt, [
|
|
401
|
+
h(s(t.menu.icon)) ? (o(), D(n(I), {
|
|
402
402
|
key: 0,
|
|
403
403
|
name: s(t.menu.icon),
|
|
404
404
|
size: 16
|
|
405
|
-
}, null, 8, ["name"])) : (
|
|
406
|
-
])) :
|
|
407
|
-
e("span",
|
|
405
|
+
}, null, 8, ["name"])) : (o(), c("span", Ht, x(a(t.menu.menuName)), 1))
|
|
406
|
+
])) : P("", !0),
|
|
407
|
+
e("span", Yt, x(t.menu.menuName), 1)
|
|
408
408
|
])
|
|
409
409
|
]),
|
|
410
410
|
_: 1
|
|
411
411
|
}, 8, ["index"]));
|
|
412
412
|
};
|
|
413
413
|
}
|
|
414
|
-
}),
|
|
415
|
-
const
|
|
416
|
-
for (const [s,
|
|
417
|
-
|
|
418
|
-
return
|
|
419
|
-
},
|
|
414
|
+
}), ue = (t, l) => {
|
|
415
|
+
const d = t.__vccOpts || t;
|
|
416
|
+
for (const [s, a] of l)
|
|
417
|
+
d[s] = a;
|
|
418
|
+
return d;
|
|
419
|
+
}, Xt = /* @__PURE__ */ ue(Gt, [["__scopeId", "data-v-03a4d35c"]]), Jt = {
|
|
420
420
|
key: 0,
|
|
421
421
|
class: "sidebar__logo"
|
|
422
|
-
},
|
|
422
|
+
}, Zt = ["src"], Qt = {
|
|
423
423
|
key: 1,
|
|
424
424
|
class: "sidebar__user"
|
|
425
|
-
},
|
|
425
|
+
}, es = { class: "sidebar__user-info" }, ts = { class: "sidebar__user-name" }, ss = { class: "sidebar__user-role" }, Re = "sidebar_opened_menus", Ke = "sidebar_menu_list_key", os = /* @__PURE__ */ ie({
|
|
426
426
|
__name: "Sidebar",
|
|
427
427
|
props: {
|
|
428
428
|
menuList: { default: () => [] },
|
|
429
429
|
showLogo: { type: Boolean, default: !0 },
|
|
430
430
|
showUser: { type: Boolean, default: !0 },
|
|
431
|
-
logoSrc: {
|
|
431
|
+
logoSrc: {}
|
|
432
432
|
},
|
|
433
433
|
setup(t) {
|
|
434
|
-
const
|
|
435
|
-
|
|
436
|
-
|
|
434
|
+
const l = t, d = k(() => l.logoSrc || Ue("/vite.svg")), s = Me(), a = fe(), h = _e(), i = ce(), v = Pe(), m = he(), f = k(() => l.menuList.length > 0 ? l.menuList : h.menuList), _ = k(() => m.isCollapsed), g = k(() => s.path), u = (F) => F.menuId || F.menuCode || F.menuUrl || "", q = () => f.value.map(u).join(","), A = N.get(Ke) || "", O = q(), B = A === O ? N.get(Re) || [] : [], R = y(B);
|
|
435
|
+
Ce(R, (F) => {
|
|
436
|
+
N.set(Re, F), N.set(Ke, q());
|
|
437
437
|
}, { deep: !0 });
|
|
438
|
-
const
|
|
438
|
+
const G = (F, S, T = []) => {
|
|
439
439
|
var J;
|
|
440
|
-
for (const
|
|
441
|
-
if (
|
|
442
|
-
return [...
|
|
443
|
-
if ((J =
|
|
444
|
-
const
|
|
445
|
-
if (
|
|
440
|
+
for (const K of F) {
|
|
441
|
+
if (K.menuUrl && (S === K.menuUrl || S.startsWith(K.menuUrl + "/")))
|
|
442
|
+
return [...T, u(K)];
|
|
443
|
+
if ((J = K.children) != null && J.length) {
|
|
444
|
+
const le = G(K.children, S, [...T, u(K)]);
|
|
445
|
+
if (le) return le;
|
|
446
446
|
}
|
|
447
447
|
}
|
|
448
448
|
return null;
|
|
449
449
|
};
|
|
450
|
-
|
|
451
|
-
if (
|
|
452
|
-
const
|
|
453
|
-
if (
|
|
454
|
-
const J =
|
|
455
|
-
|
|
450
|
+
Ce([() => s.path, f], ([F, S]) => {
|
|
451
|
+
if (S.length > 0) {
|
|
452
|
+
const T = G(S, F);
|
|
453
|
+
if (T) {
|
|
454
|
+
const J = T.slice(0, -1), K = /* @__PURE__ */ new Set([...R.value, ...J]);
|
|
455
|
+
R.value = Array.from(K);
|
|
456
456
|
}
|
|
457
457
|
}
|
|
458
|
-
}, { immediate: !0 }),
|
|
459
|
-
|
|
458
|
+
}, { immediate: !0 }), Ce(f, (F, S) => {
|
|
459
|
+
F !== S && (R.value = [], N.set(Re, []), N.set(Ke, q()));
|
|
460
460
|
}, { immediate: !1 });
|
|
461
|
-
const
|
|
462
|
-
|
|
463
|
-
},
|
|
464
|
-
|
|
461
|
+
const H = k(() => m.isDark ? "#161B21" : "#fff"), te = k(() => m.isDark ? "#D9DCE1" : "#4E5566"), ee = k(() => m.isDark ? "#818CF8" : "#4F46E5"), X = (F) => {
|
|
462
|
+
F && F !== s.path && a.push(F);
|
|
463
|
+
}, se = () => {
|
|
464
|
+
v.logout(), i.clearUserInfo(), h.clearMenu(), a.push(m.loginPath);
|
|
465
465
|
};
|
|
466
|
-
return (
|
|
467
|
-
class: Q(["sidebar", { "sidebar--collapsed":
|
|
466
|
+
return (F, S) => (o(), c("div", {
|
|
467
|
+
class: Q(["sidebar", { "sidebar--collapsed": _.value }])
|
|
468
468
|
}, [
|
|
469
|
-
|
|
469
|
+
l.showLogo ? (o(), c("div", Jt, [
|
|
470
470
|
e("img", {
|
|
471
|
-
src:
|
|
471
|
+
src: d.value,
|
|
472
472
|
alt: "Logo",
|
|
473
473
|
class: "sidebar__logo-img"
|
|
474
|
-
}, null, 8,
|
|
475
|
-
|
|
476
|
-
[
|
|
474
|
+
}, null, 8, Zt),
|
|
475
|
+
Fe(e("span", { class: "sidebar__logo-text" }, x(n(m).appName), 513), [
|
|
476
|
+
[Ct, !_.value]
|
|
477
477
|
])
|
|
478
|
-
])) :
|
|
479
|
-
b(
|
|
480
|
-
modelValue:
|
|
481
|
-
"onUpdate:modelValue":
|
|
482
|
-
openeds:
|
|
483
|
-
"onUpdate:openeds":
|
|
478
|
+
])) : P("", !0),
|
|
479
|
+
b(n(Je), {
|
|
480
|
+
modelValue: g.value,
|
|
481
|
+
"onUpdate:modelValue": S[0] || (S[0] = (T) => g.value = T),
|
|
482
|
+
openeds: R.value,
|
|
483
|
+
"onUpdate:openeds": S[1] || (S[1] = (T) => R.value = T),
|
|
484
484
|
mode: "vertical",
|
|
485
|
-
collapse:
|
|
485
|
+
collapse: _.value,
|
|
486
486
|
"collapse-transition": !1,
|
|
487
|
-
"background-color":
|
|
488
|
-
"text-color":
|
|
489
|
-
"active-text-color":
|
|
487
|
+
"background-color": H.value,
|
|
488
|
+
"text-color": te.value,
|
|
489
|
+
"active-text-color": ee.value,
|
|
490
490
|
class: "sidebar__menu",
|
|
491
|
-
onSelect:
|
|
491
|
+
onSelect: X
|
|
492
492
|
}, {
|
|
493
493
|
default: M(() => [
|
|
494
|
-
(
|
|
495
|
-
key:
|
|
496
|
-
menu:
|
|
494
|
+
(o(!0), c(W, null, Z(f.value, (T) => (o(), D(Xt, {
|
|
495
|
+
key: u(T),
|
|
496
|
+
menu: T
|
|
497
497
|
}, null, 8, ["menu"]))), 128))
|
|
498
498
|
]),
|
|
499
499
|
_: 1
|
|
500
500
|
}, 8, ["modelValue", "openeds", "collapse", "background-color", "text-color", "active-text-color"]),
|
|
501
|
-
|
|
502
|
-
e("div",
|
|
503
|
-
e("span",
|
|
504
|
-
e("span",
|
|
501
|
+
l.showUser && !_.value ? (o(), c("div", Qt, [
|
|
502
|
+
e("div", es, [
|
|
503
|
+
e("span", ts, x(n(i).userName), 1),
|
|
504
|
+
e("span", ss, x(n(i).departmentName), 1)
|
|
505
505
|
]),
|
|
506
|
-
b(
|
|
506
|
+
b(n(Le), {
|
|
507
507
|
type: "text",
|
|
508
508
|
size: "small",
|
|
509
|
-
onClick:
|
|
509
|
+
onClick: se
|
|
510
510
|
}, {
|
|
511
|
-
default: M(() => [...
|
|
512
|
-
|
|
511
|
+
default: M(() => [...S[2] || (S[2] = [
|
|
512
|
+
be("退出", -1)
|
|
513
513
|
])]),
|
|
514
514
|
_: 1
|
|
515
515
|
})
|
|
516
|
-
])) :
|
|
516
|
+
])) : P("", !0)
|
|
517
517
|
], 2));
|
|
518
518
|
}
|
|
519
|
-
}),
|
|
519
|
+
}), at = /* @__PURE__ */ ue(os, [["__scopeId", "data-v-3145ea3a"]]), as = { class: "header" }, ns = { class: "header__left" }, ls = {
|
|
520
520
|
key: 0,
|
|
521
521
|
class: "header__breadcrumb"
|
|
522
|
-
},
|
|
522
|
+
}, rs = {
|
|
523
523
|
key: 0,
|
|
524
524
|
class: "breadcrumb-separator"
|
|
525
|
-
},
|
|
525
|
+
}, is = { class: "header__right" }, cs = {
|
|
526
526
|
key: 0,
|
|
527
527
|
class: "header__search-dropdown"
|
|
528
|
-
},
|
|
528
|
+
}, us = {
|
|
529
529
|
key: 0,
|
|
530
530
|
class: "header__search-results"
|
|
531
|
-
},
|
|
531
|
+
}, ds = ["onClick"], ms = {
|
|
532
532
|
key: 0,
|
|
533
533
|
class: "header__search-icon"
|
|
534
|
-
},
|
|
534
|
+
}, ps = {
|
|
535
535
|
key: 1,
|
|
536
536
|
class: "header__search-char"
|
|
537
|
-
},
|
|
537
|
+
}, vs = { class: "header__search-item-title" }, hs = {
|
|
538
538
|
key: 1,
|
|
539
539
|
class: "header__search-item-parent"
|
|
540
|
-
},
|
|
540
|
+
}, _s = {
|
|
541
541
|
key: 1,
|
|
542
542
|
class: "header__search-empty"
|
|
543
|
-
},
|
|
543
|
+
}, fs = ["title"], gs = { class: "header__avatar" }, ys = { class: "header__user-name" }, bs = {
|
|
544
544
|
key: 0,
|
|
545
545
|
class: "header__dropdown"
|
|
546
|
-
},
|
|
546
|
+
}, ks = { class: "header__dropdown-header" }, ws = { class: "header__dropdown-avatar" }, xs = { class: "header__dropdown-info" }, Cs = { class: "header__dropdown-name" }, $s = { class: "header__dropdown-role" }, Ls = { class: "header__dropdown-menu" }, Ms = { class: "settings-drawer" }, Ss = { class: "settings-section" }, Ns = { class: "settings-layout-options" }, Is = ["onClick"], Es = { class: "layout-option__preview" }, Us = {
|
|
547
547
|
key: 0,
|
|
548
548
|
class: "layout-preview-sidebar"
|
|
549
|
-
},
|
|
549
|
+
}, zs = {
|
|
550
550
|
key: 1,
|
|
551
551
|
class: "layout-preview-top"
|
|
552
|
-
},
|
|
552
|
+
}, Ps = {
|
|
553
553
|
key: 2,
|
|
554
554
|
class: "layout-preview-mix"
|
|
555
|
-
},
|
|
555
|
+
}, Ts = { class: "layout-option__label" }, Fs = { class: "settings-section" }, Ds = { class: "settings-color-options" }, As = ["title", "onClick"], Bs = { class: "settings-section" }, Vs = { class: "settings-switch-list" }, Os = { class: "settings-switch-item" }, Rs = { class: "settings-switch-item" }, Ks = /* @__PURE__ */ ie({
|
|
556
556
|
__name: "Header",
|
|
557
557
|
setup(t) {
|
|
558
|
-
const
|
|
558
|
+
const l = Me(), d = fe(), s = he(), a = ce(), h = Pe(), i = _e(), v = y(!1), m = y(!1), f = y(null), _ = y(!1), g = y(!1), u = y(""), q = y(null), A = y(!1), O = [
|
|
559
559
|
{ value: "sidebar", label: "左侧菜单", icon: "sidebar-left" },
|
|
560
560
|
{ value: "top", label: "顶部菜单", icon: "menu" },
|
|
561
561
|
{ value: "mix", label: "混合菜单", icon: "grid" }
|
|
562
|
-
],
|
|
562
|
+
], B = [
|
|
563
563
|
{ value: "#4F46E5", label: "品牌蓝" },
|
|
564
564
|
{ value: "#0F6FDE", label: "企业蓝" },
|
|
565
565
|
{ value: "#00A870", label: "翡翠绿" },
|
|
566
566
|
{ value: "#D46B08", label: "琥珀橙" },
|
|
567
567
|
{ value: "#1F2329", label: "石墨黑" }
|
|
568
|
-
],
|
|
569
|
-
title:
|
|
570
|
-
path:
|
|
571
|
-
}))), G = (z,
|
|
572
|
-
const
|
|
568
|
+
], R = k(() => l.matched.filter((w) => w.meta && w.meta.title).map((w) => ({
|
|
569
|
+
title: w.meta.title,
|
|
570
|
+
path: w.path
|
|
571
|
+
}))), G = (z, w = "") => {
|
|
572
|
+
const oe = [];
|
|
573
573
|
return z.forEach(($) => {
|
|
574
|
-
$.children && $.children.length > 0 ?
|
|
575
|
-
}),
|
|
576
|
-
},
|
|
574
|
+
$.children && $.children.length > 0 ? oe.push(...G($.children, $.menuName)) : oe.push({ ...$, parentTitle: w, title: $.menuName, path: $.menuUrl });
|
|
575
|
+
}), oe;
|
|
576
|
+
}, H = /* @__PURE__ */ new Set([
|
|
577
577
|
"arrow-up",
|
|
578
578
|
"arrow-down",
|
|
579
579
|
"arrow-left",
|
|
@@ -675,10 +675,10 @@ const ve = Ee("menu", () => {
|
|
|
675
675
|
"sun",
|
|
676
676
|
"theme",
|
|
677
677
|
"skin"
|
|
678
|
-
]),
|
|
678
|
+
]), te = (z) => {
|
|
679
679
|
if (!z || z === "") return "";
|
|
680
680
|
if (z.startsWith("tineco-icon-")) {
|
|
681
|
-
const
|
|
681
|
+
const oe = z.replace("tineco-icon-", "");
|
|
682
682
|
return {
|
|
683
683
|
home: "home",
|
|
684
684
|
dashboard: "dashboard",
|
|
@@ -692,7 +692,7 @@ const ve = Ee("menu", () => {
|
|
|
692
692
|
chart: "chart",
|
|
693
693
|
report: "report",
|
|
694
694
|
analytics: "analytics"
|
|
695
|
-
}[
|
|
695
|
+
}[oe] || oe;
|
|
696
696
|
}
|
|
697
697
|
return {
|
|
698
698
|
dashboard: "dashboard",
|
|
@@ -712,168 +712,168 @@ const ve = Ee("menu", () => {
|
|
|
712
712
|
list: "list",
|
|
713
713
|
grid: "grid"
|
|
714
714
|
}[z] || z;
|
|
715
|
-
},
|
|
716
|
-
(
|
|
717
|
-
) : []),
|
|
715
|
+
}, ee = (z) => z ? z.charAt(0) : "", X = (z) => H.has(z), se = k(() => u.value.trim() ? G(i.menuList).filter(
|
|
716
|
+
(w) => w.title.toLowerCase().includes(u.value.toLowerCase())
|
|
717
|
+
) : []), F = k(() => s.layout), S = () => {
|
|
718
718
|
s.toggleCollapse();
|
|
719
|
-
},
|
|
719
|
+
}, T = () => {
|
|
720
720
|
s.toggleTheme();
|
|
721
|
-
},
|
|
722
|
-
|
|
723
|
-
},
|
|
724
|
-
s.setLayout(z),
|
|
725
|
-
},
|
|
726
|
-
|
|
727
|
-
const
|
|
728
|
-
z ?
|
|
729
|
-
},
|
|
730
|
-
|
|
731
|
-
},
|
|
732
|
-
s.toggleTheme(),
|
|
733
|
-
},
|
|
721
|
+
}, J = () => {
|
|
722
|
+
m.value = !0;
|
|
723
|
+
}, K = (z) => {
|
|
724
|
+
s.setLayout(z), m.value = !1;
|
|
725
|
+
}, le = (z) => {
|
|
726
|
+
A.value = z;
|
|
727
|
+
const w = document.documentElement;
|
|
728
|
+
z ? w.classList.add("grey-mode") : w.classList.remove("grey-mode");
|
|
729
|
+
}, ve = () => {
|
|
730
|
+
le(!A.value), m.value = !1;
|
|
731
|
+
}, E = () => {
|
|
732
|
+
s.toggleTheme(), m.value = !1;
|
|
733
|
+
}, Y = () => {
|
|
734
734
|
document.fullscreenElement ? document.exitFullscreen() : document.documentElement.requestFullscreen();
|
|
735
|
-
},
|
|
735
|
+
}, ae = () => {
|
|
736
736
|
_.value = !!document.fullscreenElement;
|
|
737
|
-
},
|
|
737
|
+
}, de = () => {
|
|
738
738
|
v.value = !v.value;
|
|
739
|
-
},
|
|
739
|
+
}, j = () => {
|
|
740
740
|
v.value = !1;
|
|
741
|
-
},
|
|
742
|
-
|
|
743
|
-
},
|
|
744
|
-
|
|
745
|
-
}, be = (z) => {
|
|
746
|
-
s.setPrimaryColor(z), d.value = !1;
|
|
747
|
-
}, ce = () => {
|
|
748
|
-
Y(), u.push("/profile");
|
|
749
|
-
}, ge = () => {
|
|
750
|
-
Y(), u.push("/change-password");
|
|
751
|
-
}, Me = () => {
|
|
752
|
-
Y(), i.logout(), o.clearUserInfo(), h.clearMenu(), u.push(s.loginPath);
|
|
741
|
+
}, re = () => {
|
|
742
|
+
g.value = !1, u.value = "";
|
|
743
|
+
}, ge = (z) => {
|
|
744
|
+
d.push(z), re();
|
|
753
745
|
}, ke = (z) => {
|
|
754
|
-
|
|
746
|
+
s.setPrimaryColor(z), m.value = !1;
|
|
747
|
+
}, me = () => {
|
|
748
|
+
j(), d.push("/profile");
|
|
749
|
+
}, ye = () => {
|
|
750
|
+
j(), d.push("/change-password");
|
|
751
|
+
}, Se = () => {
|
|
752
|
+
j(), h.logout(), a.clearUserInfo(), i.clearMenu(), d.push(s.loginPath);
|
|
755
753
|
}, we = (z) => {
|
|
756
|
-
|
|
754
|
+
f.value && !f.value.contains(z.target) && j(), q.value && !q.value.contains(z.target) && re();
|
|
755
|
+
}, xe = (z) => {
|
|
756
|
+
z.key === "Escape" && (re(), j());
|
|
757
757
|
};
|
|
758
|
-
return
|
|
759
|
-
document.addEventListener("click",
|
|
760
|
-
}),
|
|
761
|
-
document.removeEventListener("click",
|
|
762
|
-
}), (z,
|
|
763
|
-
var
|
|
764
|
-
return
|
|
765
|
-
e("div",
|
|
758
|
+
return We(() => {
|
|
759
|
+
document.addEventListener("click", we), document.addEventListener("fullscreenchange", ae), document.addEventListener("keydown", xe), s.initTheme(), A.value = document.documentElement.classList.contains("grey-mode");
|
|
760
|
+
}), qe(() => {
|
|
761
|
+
document.removeEventListener("click", we), document.removeEventListener("fullscreenchange", ae), document.removeEventListener("keydown", xe);
|
|
762
|
+
}), (z, w) => {
|
|
763
|
+
var oe;
|
|
764
|
+
return o(), c("div", as, [
|
|
765
|
+
e("div", ns, [
|
|
766
766
|
e("div", {
|
|
767
767
|
class: "header__collapse",
|
|
768
|
-
onClick:
|
|
768
|
+
onClick: S
|
|
769
769
|
}, [
|
|
770
|
-
b(
|
|
771
|
-
name:
|
|
770
|
+
b(n(I), {
|
|
771
|
+
name: n(s).isCollapsed ? "menu-unfold" : "menu-fold",
|
|
772
772
|
size: 18
|
|
773
773
|
}, null, 8, ["name"])
|
|
774
774
|
]),
|
|
775
|
-
|
|
776
|
-
(
|
|
775
|
+
n(s).showBreadcrumb ? (o(), c("div", ls, [
|
|
776
|
+
(o(!0), c(W, null, Z(R.value, ($, pe) => (o(), c("span", {
|
|
777
777
|
key: $.path
|
|
778
778
|
}, [
|
|
779
|
-
|
|
779
|
+
pe > 0 ? (o(), c("span", rs, "/")) : P("", !0),
|
|
780
780
|
e("span", {
|
|
781
|
-
class: Q({ "is-current":
|
|
781
|
+
class: Q({ "is-current": pe === R.value.length - 1 })
|
|
782
782
|
}, x($.title), 3)
|
|
783
783
|
]))), 128))
|
|
784
|
-
])) :
|
|
784
|
+
])) : P("", !0)
|
|
785
785
|
]),
|
|
786
|
-
e("div",
|
|
786
|
+
e("div", is, [
|
|
787
787
|
e("div", {
|
|
788
788
|
class: "header__search",
|
|
789
789
|
ref_key: "searchRef",
|
|
790
|
-
ref:
|
|
790
|
+
ref: q
|
|
791
791
|
}, [
|
|
792
|
-
b(
|
|
792
|
+
b(n(I), {
|
|
793
793
|
name: "search",
|
|
794
794
|
size: 14,
|
|
795
795
|
class: "header__search-icon"
|
|
796
796
|
}),
|
|
797
|
-
|
|
798
|
-
"onUpdate:modelValue":
|
|
797
|
+
Fe(e("input", {
|
|
798
|
+
"onUpdate:modelValue": w[0] || (w[0] = ($) => u.value = $),
|
|
799
799
|
type: "text",
|
|
800
800
|
class: "header__search-input",
|
|
801
801
|
placeholder: "搜索菜单...",
|
|
802
|
-
onFocus:
|
|
802
|
+
onFocus: w[1] || (w[1] = ($) => g.value = !0)
|
|
803
803
|
}, null, 544), [
|
|
804
|
-
[
|
|
804
|
+
[He, u.value]
|
|
805
805
|
]),
|
|
806
|
-
b(
|
|
806
|
+
b($e, { name: "search-dropdown" }, {
|
|
807
807
|
default: M(() => [
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
(
|
|
808
|
+
g.value && (se.value.length > 0 || u.value) ? (o(), c("div", cs, [
|
|
809
|
+
se.value.length > 0 ? (o(), c("div", us, [
|
|
810
|
+
(o(!0), c(W, null, Z(se.value, ($) => (o(), c("div", {
|
|
811
811
|
key: $.path,
|
|
812
812
|
class: "header__search-item",
|
|
813
|
-
onClick: (
|
|
813
|
+
onClick: (pe) => ge($.path)
|
|
814
814
|
}, [
|
|
815
|
-
$.title !== "首页" ? (
|
|
816
|
-
|
|
815
|
+
$.title !== "首页" ? (o(), c("span", ms, [
|
|
816
|
+
X(te($.icon)) ? (o(), D(n(I), {
|
|
817
817
|
key: 0,
|
|
818
|
-
name:
|
|
818
|
+
name: te($.icon),
|
|
819
819
|
size: 16
|
|
820
|
-
}, null, 8, ["name"])) : (
|
|
821
|
-
])) :
|
|
822
|
-
e("span",
|
|
823
|
-
$.parentTitle ? (
|
|
824
|
-
], 8,
|
|
825
|
-
])) : (
|
|
826
|
-
])) :
|
|
820
|
+
}, null, 8, ["name"])) : (o(), c("span", ps, x(ee($.title)), 1))
|
|
821
|
+
])) : P("", !0),
|
|
822
|
+
e("span", vs, x($.title), 1),
|
|
823
|
+
$.parentTitle ? (o(), c("span", hs, x($.parentTitle), 1)) : P("", !0)
|
|
824
|
+
], 8, ds))), 128))
|
|
825
|
+
])) : (o(), c("div", _s, " 未找到匹配的菜单 "))
|
|
826
|
+
])) : P("", !0)
|
|
827
827
|
]),
|
|
828
828
|
_: 1
|
|
829
829
|
})
|
|
830
830
|
], 512),
|
|
831
831
|
e("div", {
|
|
832
832
|
class: "header__action",
|
|
833
|
-
onClick:
|
|
833
|
+
onClick: Y,
|
|
834
834
|
title: _.value ? "退出全屏" : "全屏"
|
|
835
835
|
}, [
|
|
836
|
-
b(
|
|
836
|
+
b(n(I), {
|
|
837
837
|
name: _.value ? "fullscreen-exit" : "fullscreen",
|
|
838
838
|
size: 16
|
|
839
839
|
}, null, 8, ["name"])
|
|
840
|
-
], 8,
|
|
840
|
+
], 8, fs),
|
|
841
841
|
e("div", {
|
|
842
842
|
class: "header__action",
|
|
843
|
-
onClick:
|
|
843
|
+
onClick: J,
|
|
844
844
|
title: "换肤设置"
|
|
845
845
|
}, [
|
|
846
|
-
b(
|
|
846
|
+
b(n(I), {
|
|
847
847
|
name: "skin",
|
|
848
848
|
size: 16
|
|
849
849
|
})
|
|
850
850
|
]),
|
|
851
851
|
e("div", {
|
|
852
852
|
class: "header__action",
|
|
853
|
-
onClick:
|
|
853
|
+
onClick: T,
|
|
854
854
|
title: "切换主题"
|
|
855
855
|
}, [
|
|
856
|
-
b(
|
|
857
|
-
name:
|
|
856
|
+
b(n(I), {
|
|
857
|
+
name: n(s).isDark ? "sun" : "moon",
|
|
858
858
|
size: 16
|
|
859
859
|
}, null, 8, ["name"])
|
|
860
860
|
]),
|
|
861
861
|
e("div", {
|
|
862
862
|
class: "header__user",
|
|
863
863
|
ref_key: "dropdownRef",
|
|
864
|
-
ref:
|
|
864
|
+
ref: f
|
|
865
865
|
}, [
|
|
866
866
|
e("div", {
|
|
867
867
|
class: "header__user-trigger",
|
|
868
|
-
onClick:
|
|
868
|
+
onClick: De(de, ["stop"])
|
|
869
869
|
}, [
|
|
870
|
-
e("div",
|
|
871
|
-
e("span", null, x(((
|
|
870
|
+
e("div", gs, [
|
|
871
|
+
e("span", null, x(((oe = n(a).userName) == null ? void 0 : oe.charAt(0)) || "U"), 1)
|
|
872
872
|
]),
|
|
873
|
-
e("span",
|
|
873
|
+
e("span", ys, x(n(a).userName), 1),
|
|
874
874
|
e("span", {
|
|
875
875
|
class: Q(["header__user-arrow", { "is-active": v.value }])
|
|
876
|
-
}, [...
|
|
876
|
+
}, [...w[3] || (w[3] = [
|
|
877
877
|
e("svg", {
|
|
878
878
|
viewBox: "0 0 12 12",
|
|
879
879
|
width: "10",
|
|
@@ -888,89 +888,89 @@ const ve = Ee("menu", () => {
|
|
|
888
888
|
], -1)
|
|
889
889
|
])], 2)
|
|
890
890
|
]),
|
|
891
|
-
b(
|
|
891
|
+
b($e, { name: "dropdown" }, {
|
|
892
892
|
default: M(() => {
|
|
893
893
|
var $;
|
|
894
894
|
return [
|
|
895
|
-
v.value ? (
|
|
896
|
-
e("div",
|
|
897
|
-
e("div",
|
|
898
|
-
e("span", null, x((($ =
|
|
895
|
+
v.value ? (o(), c("div", bs, [
|
|
896
|
+
e("div", ks, [
|
|
897
|
+
e("div", ws, [
|
|
898
|
+
e("span", null, x((($ = n(a).userName) == null ? void 0 : $.charAt(0)) || "U"), 1)
|
|
899
899
|
]),
|
|
900
|
-
e("div",
|
|
901
|
-
e("div",
|
|
902
|
-
e("div",
|
|
900
|
+
e("div", xs, [
|
|
901
|
+
e("div", Cs, x(n(a).userName), 1),
|
|
902
|
+
e("div", $s, x(n(a).roleName || n(a).departmentName), 1)
|
|
903
903
|
])
|
|
904
904
|
]),
|
|
905
|
-
|
|
906
|
-
e("div",
|
|
905
|
+
w[8] || (w[8] = e("div", { class: "header__dropdown-divider" }, null, -1)),
|
|
906
|
+
e("div", Ls, [
|
|
907
907
|
e("div", {
|
|
908
908
|
class: "header__dropdown-item",
|
|
909
|
-
onClick:
|
|
909
|
+
onClick: me
|
|
910
910
|
}, [
|
|
911
|
-
b(
|
|
911
|
+
b(n(I), {
|
|
912
912
|
name: "user",
|
|
913
913
|
size: 16
|
|
914
914
|
}),
|
|
915
|
-
|
|
915
|
+
w[4] || (w[4] = e("span", null, "个人信息", -1))
|
|
916
916
|
]),
|
|
917
917
|
e("div", {
|
|
918
918
|
class: "header__dropdown-item",
|
|
919
|
-
onClick:
|
|
919
|
+
onClick: ye
|
|
920
920
|
}, [
|
|
921
|
-
b(
|
|
921
|
+
b(n(I), {
|
|
922
922
|
name: "lock",
|
|
923
923
|
size: 16
|
|
924
924
|
}),
|
|
925
|
-
|
|
925
|
+
w[5] || (w[5] = e("span", null, "修改密码", -1))
|
|
926
926
|
]),
|
|
927
|
-
|
|
927
|
+
w[7] || (w[7] = e("div", { class: "header__dropdown-divider" }, null, -1)),
|
|
928
928
|
e("div", {
|
|
929
929
|
class: "header__dropdown-item header__dropdown-item--danger",
|
|
930
|
-
onClick:
|
|
930
|
+
onClick: Se
|
|
931
931
|
}, [
|
|
932
|
-
b(
|
|
932
|
+
b(n(I), {
|
|
933
933
|
name: "logout",
|
|
934
934
|
size: 16
|
|
935
935
|
}),
|
|
936
|
-
|
|
936
|
+
w[6] || (w[6] = e("span", null, "退出登录", -1))
|
|
937
937
|
])
|
|
938
938
|
])
|
|
939
|
-
])) :
|
|
939
|
+
])) : P("", !0)
|
|
940
940
|
];
|
|
941
941
|
}),
|
|
942
942
|
_: 1
|
|
943
943
|
})
|
|
944
944
|
], 512)
|
|
945
945
|
]),
|
|
946
|
-
b(
|
|
947
|
-
modelValue:
|
|
948
|
-
"onUpdate:modelValue":
|
|
946
|
+
b(n(Ze), {
|
|
947
|
+
modelValue: m.value,
|
|
948
|
+
"onUpdate:modelValue": w[2] || (w[2] = ($) => m.value = $),
|
|
949
949
|
title: "换肤设置",
|
|
950
950
|
direction: "rtl",
|
|
951
951
|
size: "320px"
|
|
952
952
|
}, {
|
|
953
953
|
default: M(() => [
|
|
954
|
-
e("div",
|
|
955
|
-
e("div",
|
|
956
|
-
|
|
957
|
-
e("div",
|
|
958
|
-
(
|
|
954
|
+
e("div", Ms, [
|
|
955
|
+
e("div", Ss, [
|
|
956
|
+
w[12] || (w[12] = e("div", { class: "settings-title" }, "布局模式", -1)),
|
|
957
|
+
e("div", Ns, [
|
|
958
|
+
(o(), c(W, null, Z(O, ($) => e("div", {
|
|
959
959
|
key: $.value,
|
|
960
|
-
class: Q(["layout-option", { "is-active":
|
|
961
|
-
onClick: (
|
|
960
|
+
class: Q(["layout-option", { "is-active": F.value === $.value }]),
|
|
961
|
+
onClick: (pe) => K($.value)
|
|
962
962
|
}, [
|
|
963
|
-
e("div",
|
|
964
|
-
$.value === "sidebar" ? (
|
|
963
|
+
e("div", Es, [
|
|
964
|
+
$.value === "sidebar" ? (o(), c("div", Us, [...w[9] || (w[9] = [
|
|
965
965
|
e("div", { class: "preview-aside" }, null, -1),
|
|
966
966
|
e("div", { class: "preview-main" }, [
|
|
967
967
|
e("div", { class: "preview-header" }),
|
|
968
968
|
e("div", { class: "preview-content" })
|
|
969
969
|
], -1)
|
|
970
|
-
])])) : $.value === "top" ? (
|
|
970
|
+
])])) : $.value === "top" ? (o(), c("div", zs, [...w[10] || (w[10] = [
|
|
971
971
|
e("div", { class: "preview-header-full" }, null, -1),
|
|
972
972
|
e("div", { class: "preview-content-full" }, null, -1)
|
|
973
|
-
])])) : (
|
|
973
|
+
])])) : (o(), c("div", Ps, [...w[11] || (w[11] = [
|
|
974
974
|
e("div", { class: "preview-header-mix" }, [
|
|
975
975
|
e("div", { class: "preview-mix-left" })
|
|
976
976
|
], -1),
|
|
@@ -980,47 +980,47 @@ const ve = Ee("menu", () => {
|
|
|
980
980
|
], -1)
|
|
981
981
|
])]))
|
|
982
982
|
]),
|
|
983
|
-
e("span",
|
|
984
|
-
], 10,
|
|
983
|
+
e("span", Ts, x($.label), 1)
|
|
984
|
+
], 10, Is)), 64))
|
|
985
985
|
])
|
|
986
986
|
]),
|
|
987
|
-
e("div",
|
|
988
|
-
|
|
989
|
-
e("div",
|
|
990
|
-
(
|
|
987
|
+
e("div", Fs, [
|
|
988
|
+
w[13] || (w[13] = e("div", { class: "settings-title" }, "主题色", -1)),
|
|
989
|
+
e("div", Ds, [
|
|
990
|
+
(o(), c(W, null, Z(B, ($) => e("div", {
|
|
991
991
|
key: $.value,
|
|
992
|
-
class: Q(["color-option", { "is-active":
|
|
993
|
-
style:
|
|
992
|
+
class: Q(["color-option", { "is-active": n(s).primaryColor === $.value }]),
|
|
993
|
+
style: Ie({ backgroundColor: $.value }),
|
|
994
994
|
title: $.label,
|
|
995
|
-
onClick: (
|
|
995
|
+
onClick: (pe) => ke($.value)
|
|
996
996
|
}, [
|
|
997
|
-
|
|
997
|
+
n(s).primaryColor === $.value ? (o(), D(n(I), {
|
|
998
998
|
key: 0,
|
|
999
999
|
name: "check",
|
|
1000
1000
|
size: 12,
|
|
1001
1001
|
color: "#fff"
|
|
1002
|
-
})) :
|
|
1003
|
-
], 14,
|
|
1002
|
+
})) : P("", !0)
|
|
1003
|
+
], 14, As)), 64))
|
|
1004
1004
|
])
|
|
1005
1005
|
]),
|
|
1006
|
-
e("div",
|
|
1007
|
-
|
|
1008
|
-
e("div",
|
|
1009
|
-
e("div",
|
|
1010
|
-
|
|
1006
|
+
e("div", Bs, [
|
|
1007
|
+
w[18] || (w[18] = e("div", { class: "settings-title" }, "功能设置", -1)),
|
|
1008
|
+
e("div", Vs, [
|
|
1009
|
+
e("div", Os, [
|
|
1010
|
+
w[15] || (w[15] = e("span", null, "灰色模式", -1)),
|
|
1011
1011
|
e("div", {
|
|
1012
|
-
class: Q(["switch-wrapper", { "is-checked":
|
|
1013
|
-
onClick:
|
|
1014
|
-
}, [...
|
|
1012
|
+
class: Q(["switch-wrapper", { "is-checked": A.value }]),
|
|
1013
|
+
onClick: ve
|
|
1014
|
+
}, [...w[14] || (w[14] = [
|
|
1015
1015
|
e("span", { class: "switch-core" }, null, -1)
|
|
1016
1016
|
])], 2)
|
|
1017
1017
|
]),
|
|
1018
|
-
e("div",
|
|
1019
|
-
|
|
1018
|
+
e("div", Rs, [
|
|
1019
|
+
w[17] || (w[17] = e("span", null, "暗黑模式", -1)),
|
|
1020
1020
|
e("div", {
|
|
1021
|
-
class: Q(["switch-wrapper", { "is-checked":
|
|
1022
|
-
onClick:
|
|
1023
|
-
}, [...
|
|
1021
|
+
class: Q(["switch-wrapper", { "is-checked": n(s).isDark }]),
|
|
1022
|
+
onClick: E
|
|
1023
|
+
}, [...w[16] || (w[16] = [
|
|
1024
1024
|
e("span", { class: "switch-core" }, null, -1)
|
|
1025
1025
|
])], 2)
|
|
1026
1026
|
])
|
|
@@ -1033,73 +1033,73 @@ const ve = Ee("menu", () => {
|
|
|
1033
1033
|
]);
|
|
1034
1034
|
};
|
|
1035
1035
|
}
|
|
1036
|
-
}),
|
|
1036
|
+
}), js = /* @__PURE__ */ ue(Ks, [["__scopeId", "data-v-11f8bfa7"]]), Ws = { class: "top-menu" }, qs = { class: "top-menu__logo" }, Hs = ["src"], Ys = { class: "top-menu__logo-text" }, Gs = { class: "top-menu__menu-content" }, Xs = {
|
|
1037
1037
|
key: 0,
|
|
1038
1038
|
class: "top-menu__menu-icon"
|
|
1039
|
-
},
|
|
1039
|
+
}, Js = {
|
|
1040
1040
|
key: 1,
|
|
1041
1041
|
class: "top-menu__menu-char"
|
|
1042
|
-
},
|
|
1042
|
+
}, Zs = { class: "top-menu__menu-text" }, Qs = { class: "top-menu__menu-content" }, eo = { class: "top-menu__menu-icon" }, to = {
|
|
1043
1043
|
key: 1,
|
|
1044
1044
|
class: "top-menu__menu-char"
|
|
1045
|
-
},
|
|
1045
|
+
}, so = { class: "top-menu__menu-text" }, oo = { class: "top-menu__menu-content" }, ao = { class: "top-menu__menu-icon" }, no = {
|
|
1046
1046
|
key: 1,
|
|
1047
1047
|
class: "top-menu__menu-char"
|
|
1048
|
-
},
|
|
1048
|
+
}, lo = { class: "top-menu__menu-text" }, ro = { class: "top-menu__menu-content" }, io = { class: "top-menu__menu-icon" }, co = {
|
|
1049
1049
|
key: 1,
|
|
1050
1050
|
class: "top-menu__menu-char"
|
|
1051
|
-
},
|
|
1051
|
+
}, uo = { class: "top-menu__menu-text" }, mo = { class: "top-menu__menu-content" }, po = {
|
|
1052
1052
|
key: 0,
|
|
1053
1053
|
class: "top-menu__menu-icon"
|
|
1054
|
-
},
|
|
1054
|
+
}, vo = {
|
|
1055
1055
|
key: 1,
|
|
1056
1056
|
class: "top-menu__menu-char"
|
|
1057
|
-
},
|
|
1057
|
+
}, ho = { class: "top-menu__menu-text" }, _o = { class: "top-menu__actions" }, fo = {
|
|
1058
1058
|
key: 0,
|
|
1059
1059
|
class: "top-menu__search-dropdown"
|
|
1060
|
-
},
|
|
1060
|
+
}, go = {
|
|
1061
1061
|
key: 0,
|
|
1062
1062
|
class: "top-menu__search-results"
|
|
1063
|
-
},
|
|
1063
|
+
}, yo = ["onClick"], bo = {
|
|
1064
1064
|
key: 0,
|
|
1065
1065
|
class: "top-menu__search-icon-item"
|
|
1066
|
-
},
|
|
1066
|
+
}, ko = {
|
|
1067
1067
|
key: 1,
|
|
1068
1068
|
class: "top-menu__search-char"
|
|
1069
|
-
},
|
|
1069
|
+
}, wo = { class: "top-menu__search-item-title" }, xo = {
|
|
1070
1070
|
key: 1,
|
|
1071
1071
|
class: "top-menu__search-item-parent"
|
|
1072
|
-
},
|
|
1072
|
+
}, Co = {
|
|
1073
1073
|
key: 1,
|
|
1074
1074
|
class: "top-menu__search-empty"
|
|
1075
|
-
},
|
|
1075
|
+
}, $o = ["title"], Lo = { class: "top-menu__avatar" }, Mo = { class: "top-menu__user-name" }, So = {
|
|
1076
1076
|
key: 0,
|
|
1077
1077
|
class: "top-menu__dropdown"
|
|
1078
|
-
},
|
|
1078
|
+
}, No = { class: "top-menu__dropdown-header" }, Io = { class: "top-menu__dropdown-avatar" }, Eo = { class: "top-menu__dropdown-info" }, Uo = { class: "top-menu__dropdown-name" }, zo = { class: "top-menu__dropdown-role" }, Po = { class: "top-menu__dropdown-menu" }, To = { class: "settings-drawer" }, Fo = { class: "settings-section" }, Do = { class: "settings-layout-options" }, Ao = ["onClick"], Bo = { class: "layout-option__preview" }, Vo = {
|
|
1079
1079
|
key: 0,
|
|
1080
1080
|
class: "layout-preview-sidebar"
|
|
1081
|
-
},
|
|
1081
|
+
}, Oo = {
|
|
1082
1082
|
key: 1,
|
|
1083
1083
|
class: "layout-preview-top"
|
|
1084
|
-
},
|
|
1084
|
+
}, Ro = {
|
|
1085
1085
|
key: 2,
|
|
1086
1086
|
class: "layout-preview-mix"
|
|
1087
|
-
},
|
|
1087
|
+
}, Ko = { class: "layout-option__label" }, jo = { class: "settings-section" }, Wo = { class: "settings-color-options" }, qo = ["title", "onClick"], Ho = { class: "settings-section" }, Yo = { class: "settings-switch-list" }, Go = { class: "settings-switch-item" }, Xo = { class: "settings-switch-item" }, Jo = /* @__PURE__ */ ie({
|
|
1088
1088
|
__name: "TopMenu",
|
|
1089
1089
|
props: {
|
|
1090
|
-
logoSrc: {
|
|
1090
|
+
logoSrc: {}
|
|
1091
1091
|
},
|
|
1092
1092
|
setup(t) {
|
|
1093
|
-
const
|
|
1094
|
-
const
|
|
1095
|
-
return
|
|
1096
|
-
r.children && r.children.length > 0 ?
|
|
1097
|
-
}),
|
|
1098
|
-
},
|
|
1099
|
-
(C) => C.title.toLowerCase().includes(
|
|
1100
|
-
) : []),
|
|
1101
|
-
|
|
1102
|
-
},
|
|
1093
|
+
const l = t, d = k(() => l.logoSrc || Ue("/vite.svg")), s = Me(), a = fe(), h = _e(), i = he(), v = ce(), m = Pe(), f = k(() => s.path), _ = (U, C = "") => {
|
|
1094
|
+
const ne = [];
|
|
1095
|
+
return U.forEach((r) => {
|
|
1096
|
+
r.children && r.children.length > 0 ? ne.push(..._(r.children, r.menuName)) : ne.push({ ...r, parentTitle: C, title: r.menuName, path: r.menuUrl });
|
|
1097
|
+
}), ne;
|
|
1098
|
+
}, g = k(() => ee.value.trim() ? _(h.menuList).filter(
|
|
1099
|
+
(C) => C.title.toLowerCase().includes(ee.value.toLowerCase())
|
|
1100
|
+
) : []), u = k(() => i.isDark ? "#1d1e1f" : "#fff"), q = k(() => i.isDark ? "#cfd3dc" : "#303133"), A = k(() => "#409eff"), O = y(!1), B = y(null), R = y(!1), G = y(!1), H = y(!1), te = y(!1), ee = y(""), X = y(null), se = (U) => {
|
|
1101
|
+
U && U !== s.path && a.push(U);
|
|
1102
|
+
}, F = /* @__PURE__ */ new Set([
|
|
1103
1103
|
"arrow-up",
|
|
1104
1104
|
"arrow-down",
|
|
1105
1105
|
"arrow-left",
|
|
@@ -1201,10 +1201,10 @@ const ve = Ee("menu", () => {
|
|
|
1201
1201
|
"sun",
|
|
1202
1202
|
"theme",
|
|
1203
1203
|
"skin"
|
|
1204
|
-
]),
|
|
1205
|
-
if (!
|
|
1206
|
-
if (
|
|
1207
|
-
const
|
|
1204
|
+
]), S = (U) => {
|
|
1205
|
+
if (!U || U === "") return "";
|
|
1206
|
+
if (U.startsWith("tineco-icon-")) {
|
|
1207
|
+
const ne = U.replace("tineco-icon-", "");
|
|
1208
1208
|
return {
|
|
1209
1209
|
home: "home",
|
|
1210
1210
|
dashboard: "dashboard",
|
|
@@ -1218,7 +1218,7 @@ const ve = Ee("menu", () => {
|
|
|
1218
1218
|
chart: "chart",
|
|
1219
1219
|
report: "report",
|
|
1220
1220
|
analytics: "analytics"
|
|
1221
|
-
}[
|
|
1221
|
+
}[ne] || ne;
|
|
1222
1222
|
}
|
|
1223
1223
|
return {
|
|
1224
1224
|
dashboard: "dashboard",
|
|
@@ -1237,155 +1237,155 @@ const ve = Ee("menu", () => {
|
|
|
1237
1237
|
app: "app",
|
|
1238
1238
|
list: "list",
|
|
1239
1239
|
grid: "grid"
|
|
1240
|
-
}[
|
|
1241
|
-
},
|
|
1242
|
-
i.toggleTheme(),
|
|
1243
|
-
},
|
|
1240
|
+
}[U] || U;
|
|
1241
|
+
}, T = (U) => U ? U.charAt(0) : "", J = (U) => F.has(U), K = () => {
|
|
1242
|
+
i.toggleTheme(), G.value = !1;
|
|
1243
|
+
}, le = () => {
|
|
1244
1244
|
document.fullscreenElement ? document.exitFullscreen() : document.documentElement.requestFullscreen();
|
|
1245
|
-
},
|
|
1246
|
-
|
|
1247
|
-
},
|
|
1248
|
-
|
|
1249
|
-
},
|
|
1250
|
-
|
|
1251
|
-
},
|
|
1252
|
-
|
|
1253
|
-
}, de = (
|
|
1254
|
-
|
|
1255
|
-
},
|
|
1256
|
-
|
|
1257
|
-
},
|
|
1258
|
-
|
|
1245
|
+
}, ve = () => {
|
|
1246
|
+
R.value = !!document.fullscreenElement;
|
|
1247
|
+
}, E = () => {
|
|
1248
|
+
O.value = !O.value;
|
|
1249
|
+
}, Y = () => {
|
|
1250
|
+
O.value = !1;
|
|
1251
|
+
}, ae = () => {
|
|
1252
|
+
te.value = !1, ee.value = "";
|
|
1253
|
+
}, de = (U) => {
|
|
1254
|
+
a.push(U), ae();
|
|
1255
|
+
}, j = () => {
|
|
1256
|
+
G.value = !0;
|
|
1257
|
+
}, re = (U) => {
|
|
1258
|
+
H.value = U;
|
|
1259
1259
|
const C = document.documentElement;
|
|
1260
|
-
|
|
1261
|
-
},
|
|
1262
|
-
|
|
1263
|
-
},
|
|
1264
|
-
i.toggleTheme(),
|
|
1265
|
-
},
|
|
1260
|
+
U ? C.classList.add("grey-mode") : C.classList.remove("grey-mode");
|
|
1261
|
+
}, ge = () => {
|
|
1262
|
+
re(!H.value), G.value = !1;
|
|
1263
|
+
}, ke = () => {
|
|
1264
|
+
i.toggleTheme(), G.value = !1;
|
|
1265
|
+
}, me = [
|
|
1266
1266
|
{ value: "sidebar", label: "左侧菜单", icon: "sidebar-left" },
|
|
1267
1267
|
{ value: "top", label: "顶部菜单", icon: "menu" },
|
|
1268
1268
|
{ value: "mix", label: "混合菜单", icon: "grid" }
|
|
1269
|
-
],
|
|
1270
|
-
i.setLayout(
|
|
1271
|
-
},
|
|
1269
|
+
], ye = k(() => i.layout), Se = (U) => {
|
|
1270
|
+
i.setLayout(U), G.value = !1;
|
|
1271
|
+
}, we = [
|
|
1272
1272
|
{ value: "#409eff", label: "默认蓝" },
|
|
1273
1273
|
{ value: "#0F6FDE", label: "企业蓝" },
|
|
1274
1274
|
{ value: "#00A870", label: "翡翠绿" },
|
|
1275
1275
|
{ value: "#D46B08", label: "琥珀橙" },
|
|
1276
1276
|
{ value: "#1F2329", label: "石墨黑" }
|
|
1277
|
-
],
|
|
1278
|
-
i.setPrimaryColor(
|
|
1279
|
-
}, we = () => {
|
|
1280
|
-
N(), s.push("/profile");
|
|
1277
|
+
], xe = (U) => {
|
|
1278
|
+
i.setPrimaryColor(U), G.value = !1;
|
|
1281
1279
|
}, z = () => {
|
|
1282
|
-
|
|
1283
|
-
},
|
|
1284
|
-
|
|
1285
|
-
},
|
|
1286
|
-
|
|
1287
|
-
}, $ = (
|
|
1288
|
-
|
|
1280
|
+
Y(), a.push("/profile");
|
|
1281
|
+
}, w = () => {
|
|
1282
|
+
Y(), a.push("/change-password");
|
|
1283
|
+
}, oe = () => {
|
|
1284
|
+
Y(), m.logout(), v.clearUserInfo(), h.clearMenu(), a.push(i.loginPath);
|
|
1285
|
+
}, $ = (U) => {
|
|
1286
|
+
B.value && !B.value.contains(U.target) && Y(), X.value && !X.value.contains(U.target) && ae();
|
|
1287
|
+
}, pe = (U) => {
|
|
1288
|
+
U.key === "Escape" && (ae(), Y());
|
|
1289
1289
|
};
|
|
1290
|
-
return
|
|
1291
|
-
document.addEventListener("click",
|
|
1292
|
-
}),
|
|
1293
|
-
document.removeEventListener("click",
|
|
1294
|
-
}), (
|
|
1295
|
-
var
|
|
1296
|
-
return
|
|
1297
|
-
e("div",
|
|
1290
|
+
return We(() => {
|
|
1291
|
+
document.addEventListener("click", $), document.addEventListener("fullscreenchange", ve), document.addEventListener("keydown", pe), H.value = document.documentElement.classList.contains("grey-mode");
|
|
1292
|
+
}), qe(() => {
|
|
1293
|
+
document.removeEventListener("click", $), document.removeEventListener("fullscreenchange", ve), document.removeEventListener("keydown", pe);
|
|
1294
|
+
}), (U, C) => {
|
|
1295
|
+
var ne;
|
|
1296
|
+
return o(), c("div", Ws, [
|
|
1297
|
+
e("div", qs, [
|
|
1298
1298
|
e("img", {
|
|
1299
|
-
src:
|
|
1299
|
+
src: d.value,
|
|
1300
1300
|
alt: "Logo",
|
|
1301
1301
|
class: "top-menu__logo-img"
|
|
1302
|
-
}, null, 8,
|
|
1303
|
-
e("span",
|
|
1302
|
+
}, null, 8, Hs),
|
|
1303
|
+
e("span", Ys, x(n(i).appName), 1)
|
|
1304
1304
|
]),
|
|
1305
|
-
b(
|
|
1306
|
-
"model-value":
|
|
1305
|
+
b(n(Je), {
|
|
1306
|
+
"model-value": f.value,
|
|
1307
1307
|
mode: "horizontal",
|
|
1308
|
-
"background-color":
|
|
1309
|
-
"text-color":
|
|
1310
|
-
"active-text-color":
|
|
1308
|
+
"background-color": u.value,
|
|
1309
|
+
"text-color": q.value,
|
|
1310
|
+
"active-text-color": A.value,
|
|
1311
1311
|
class: "top-menu__menu",
|
|
1312
|
-
onSelect:
|
|
1312
|
+
onSelect: se
|
|
1313
1313
|
}, {
|
|
1314
1314
|
default: M(() => [
|
|
1315
|
-
(
|
|
1315
|
+
(o(!0), c(W, null, Z(n(h).menuList, (r) => (o(), c(W, {
|
|
1316
1316
|
key: r.menuUrl
|
|
1317
1317
|
}, [
|
|
1318
|
-
r.children && r.children.length > 0 ? (
|
|
1318
|
+
r.children && r.children.length > 0 ? (o(), D(n(je), {
|
|
1319
1319
|
key: 0,
|
|
1320
1320
|
index: r.menuUrl
|
|
1321
1321
|
}, {
|
|
1322
1322
|
title: M(() => [
|
|
1323
|
-
e("span",
|
|
1324
|
-
r.menuName !== "首页" ? (
|
|
1325
|
-
J(
|
|
1323
|
+
e("span", Gs, [
|
|
1324
|
+
r.menuName !== "首页" ? (o(), c("span", Xs, [
|
|
1325
|
+
J(S(r.icon)) ? (o(), D(n(I), {
|
|
1326
1326
|
key: 0,
|
|
1327
|
-
name:
|
|
1327
|
+
name: S(r.icon),
|
|
1328
1328
|
size: 16
|
|
1329
|
-
}, null, 8, ["name"])) : (
|
|
1330
|
-
])) :
|
|
1331
|
-
e("span",
|
|
1329
|
+
}, null, 8, ["name"])) : (o(), c("span", Js, x(T(r.menuName)), 1))
|
|
1330
|
+
])) : P("", !0),
|
|
1331
|
+
e("span", Zs, x(r.menuName), 1)
|
|
1332
1332
|
])
|
|
1333
1333
|
]),
|
|
1334
1334
|
default: M(() => [
|
|
1335
|
-
(
|
|
1335
|
+
(o(!0), c(W, null, Z(r.children, (p) => (o(), c(W, {
|
|
1336
1336
|
key: p.menuUrl
|
|
1337
1337
|
}, [
|
|
1338
|
-
p.children && p.children.length > 0 ? (
|
|
1338
|
+
p.children && p.children.length > 0 ? (o(), D(n(je), {
|
|
1339
1339
|
key: 0,
|
|
1340
1340
|
index: p.menuUrl
|
|
1341
1341
|
}, {
|
|
1342
1342
|
title: M(() => [
|
|
1343
|
-
e("span",
|
|
1344
|
-
e("span",
|
|
1345
|
-
J(
|
|
1343
|
+
e("span", Qs, [
|
|
1344
|
+
e("span", eo, [
|
|
1345
|
+
J(S(p.icon)) ? (o(), D(n(I), {
|
|
1346
1346
|
key: 0,
|
|
1347
|
-
name:
|
|
1347
|
+
name: S(p.icon),
|
|
1348
1348
|
size: 16
|
|
1349
|
-
}, null, 8, ["name"])) : (
|
|
1349
|
+
}, null, 8, ["name"])) : (o(), c("span", to, x(T(p.menuName)), 1))
|
|
1350
1350
|
]),
|
|
1351
|
-
e("span",
|
|
1351
|
+
e("span", so, x(p.menuName), 1)
|
|
1352
1352
|
])
|
|
1353
1353
|
]),
|
|
1354
1354
|
default: M(() => [
|
|
1355
|
-
(
|
|
1356
|
-
key:
|
|
1357
|
-
index:
|
|
1355
|
+
(o(!0), c(W, null, Z(p.children, (V) => (o(), D(n(Ne), {
|
|
1356
|
+
key: V.menuUrl,
|
|
1357
|
+
index: V.menuUrl
|
|
1358
1358
|
}, {
|
|
1359
1359
|
default: M(() => [
|
|
1360
|
-
e("span",
|
|
1361
|
-
e("span",
|
|
1362
|
-
J(
|
|
1360
|
+
e("span", oo, [
|
|
1361
|
+
e("span", ao, [
|
|
1362
|
+
J(S(V.icon)) ? (o(), D(n(I), {
|
|
1363
1363
|
key: 0,
|
|
1364
|
-
name:
|
|
1364
|
+
name: S(V.icon),
|
|
1365
1365
|
size: 16
|
|
1366
|
-
}, null, 8, ["name"])) : (
|
|
1366
|
+
}, null, 8, ["name"])) : (o(), c("span", no, x(T(V.menuName)), 1))
|
|
1367
1367
|
]),
|
|
1368
|
-
e("span",
|
|
1368
|
+
e("span", lo, x(V.menuName), 1)
|
|
1369
1369
|
])
|
|
1370
1370
|
]),
|
|
1371
1371
|
_: 2
|
|
1372
1372
|
}, 1032, ["index"]))), 128))
|
|
1373
1373
|
]),
|
|
1374
1374
|
_: 2
|
|
1375
|
-
}, 1032, ["index"])) : (
|
|
1375
|
+
}, 1032, ["index"])) : (o(), D(n(Ne), {
|
|
1376
1376
|
key: 1,
|
|
1377
1377
|
index: p.menuUrl
|
|
1378
1378
|
}, {
|
|
1379
1379
|
default: M(() => [
|
|
1380
|
-
e("span",
|
|
1381
|
-
e("span",
|
|
1382
|
-
J(
|
|
1380
|
+
e("span", ro, [
|
|
1381
|
+
e("span", io, [
|
|
1382
|
+
J(S(p.icon)) ? (o(), D(n(I), {
|
|
1383
1383
|
key: 0,
|
|
1384
|
-
name:
|
|
1384
|
+
name: S(p.icon),
|
|
1385
1385
|
size: 16
|
|
1386
|
-
}, null, 8, ["name"])) : (
|
|
1386
|
+
}, null, 8, ["name"])) : (o(), c("span", co, x(T(p.menuName)), 1))
|
|
1387
1387
|
]),
|
|
1388
|
-
e("span",
|
|
1388
|
+
e("span", uo, x(p.menuName), 1)
|
|
1389
1389
|
])
|
|
1390
1390
|
]),
|
|
1391
1391
|
_: 2
|
|
@@ -1393,20 +1393,20 @@ const ve = Ee("menu", () => {
|
|
|
1393
1393
|
], 64))), 128))
|
|
1394
1394
|
]),
|
|
1395
1395
|
_: 2
|
|
1396
|
-
}, 1032, ["index"])) : (
|
|
1396
|
+
}, 1032, ["index"])) : (o(), D(n(Ne), {
|
|
1397
1397
|
key: 1,
|
|
1398
1398
|
index: r.menuUrl
|
|
1399
1399
|
}, {
|
|
1400
1400
|
default: M(() => [
|
|
1401
|
-
e("span",
|
|
1402
|
-
r.menuName !== "首页" ? (
|
|
1403
|
-
J(
|
|
1401
|
+
e("span", mo, [
|
|
1402
|
+
r.menuName !== "首页" ? (o(), c("span", po, [
|
|
1403
|
+
J(S(r.icon)) ? (o(), D(n(I), {
|
|
1404
1404
|
key: 0,
|
|
1405
|
-
name:
|
|
1405
|
+
name: S(r.icon),
|
|
1406
1406
|
size: 16
|
|
1407
|
-
}, null, 8, ["name"])) : (
|
|
1408
|
-
])) :
|
|
1409
|
-
e("span",
|
|
1407
|
+
}, null, 8, ["name"])) : (o(), c("span", vo, x(T(r.menuName)), 1))
|
|
1408
|
+
])) : P("", !0),
|
|
1409
|
+
e("span", ho, x(r.menuName), 1)
|
|
1410
1410
|
])
|
|
1411
1411
|
]),
|
|
1412
1412
|
_: 2
|
|
@@ -1415,96 +1415,96 @@ const ve = Ee("menu", () => {
|
|
|
1415
1415
|
]),
|
|
1416
1416
|
_: 1
|
|
1417
1417
|
}, 8, ["model-value", "background-color", "text-color", "active-text-color"]),
|
|
1418
|
-
e("div",
|
|
1418
|
+
e("div", _o, [
|
|
1419
1419
|
e("div", {
|
|
1420
1420
|
class: "top-menu__search",
|
|
1421
1421
|
ref_key: "searchRef",
|
|
1422
|
-
ref:
|
|
1422
|
+
ref: X
|
|
1423
1423
|
}, [
|
|
1424
|
-
b(
|
|
1424
|
+
b(n(I), {
|
|
1425
1425
|
name: "search",
|
|
1426
1426
|
size: 14,
|
|
1427
1427
|
class: "top-menu__search-icon"
|
|
1428
1428
|
}),
|
|
1429
|
-
|
|
1430
|
-
"onUpdate:modelValue": C[0] || (C[0] = (r) =>
|
|
1429
|
+
Fe(e("input", {
|
|
1430
|
+
"onUpdate:modelValue": C[0] || (C[0] = (r) => ee.value = r),
|
|
1431
1431
|
type: "text",
|
|
1432
1432
|
class: "top-menu__search-input",
|
|
1433
1433
|
placeholder: "搜索菜单...",
|
|
1434
|
-
onFocus: C[1] || (C[1] = (r) =>
|
|
1434
|
+
onFocus: C[1] || (C[1] = (r) => te.value = !0)
|
|
1435
1435
|
}, null, 544), [
|
|
1436
|
-
[
|
|
1436
|
+
[He, ee.value]
|
|
1437
1437
|
]),
|
|
1438
|
-
b(
|
|
1438
|
+
b($e, { name: "search-dropdown" }, {
|
|
1439
1439
|
default: M(() => [
|
|
1440
|
-
|
|
1441
|
-
|
|
1442
|
-
(
|
|
1440
|
+
te.value && (g.value.length > 0 || ee.value) ? (o(), c("div", fo, [
|
|
1441
|
+
g.value.length > 0 ? (o(), c("div", go, [
|
|
1442
|
+
(o(!0), c(W, null, Z(g.value, (r) => (o(), c("div", {
|
|
1443
1443
|
key: r.path,
|
|
1444
1444
|
class: "top-menu__search-item",
|
|
1445
1445
|
onClick: (p) => de(r.path)
|
|
1446
1446
|
}, [
|
|
1447
|
-
r.title !== "首页" ? (
|
|
1448
|
-
J(
|
|
1447
|
+
r.title !== "首页" ? (o(), c("span", bo, [
|
|
1448
|
+
J(S(r.icon)) ? (o(), D(n(I), {
|
|
1449
1449
|
key: 0,
|
|
1450
|
-
name:
|
|
1450
|
+
name: S(r.icon),
|
|
1451
1451
|
size: 16
|
|
1452
|
-
}, null, 8, ["name"])) : (
|
|
1453
|
-
])) :
|
|
1454
|
-
e("span",
|
|
1455
|
-
r.parentTitle ? (
|
|
1456
|
-
], 8,
|
|
1457
|
-
])) : (
|
|
1458
|
-
])) :
|
|
1452
|
+
}, null, 8, ["name"])) : (o(), c("span", ko, x(T(r.title)), 1))
|
|
1453
|
+
])) : P("", !0),
|
|
1454
|
+
e("span", wo, x(r.title), 1),
|
|
1455
|
+
r.parentTitle ? (o(), c("span", xo, x(r.parentTitle), 1)) : P("", !0)
|
|
1456
|
+
], 8, yo))), 128))
|
|
1457
|
+
])) : (o(), c("div", Co, " 未找到匹配的菜单 "))
|
|
1458
|
+
])) : P("", !0)
|
|
1459
1459
|
]),
|
|
1460
1460
|
_: 1
|
|
1461
1461
|
})
|
|
1462
1462
|
], 512),
|
|
1463
1463
|
e("div", {
|
|
1464
1464
|
class: "top-menu__action",
|
|
1465
|
-
onClick:
|
|
1466
|
-
title:
|
|
1465
|
+
onClick: le,
|
|
1466
|
+
title: R.value ? "退出全屏" : "全屏"
|
|
1467
1467
|
}, [
|
|
1468
|
-
b(
|
|
1469
|
-
name:
|
|
1468
|
+
b(n(I), {
|
|
1469
|
+
name: R.value ? "fullscreen-exit" : "fullscreen",
|
|
1470
1470
|
size: 16
|
|
1471
1471
|
}, null, 8, ["name"])
|
|
1472
|
-
], 8,
|
|
1472
|
+
], 8, $o),
|
|
1473
1473
|
e("div", {
|
|
1474
1474
|
class: "top-menu__action",
|
|
1475
|
-
onClick:
|
|
1475
|
+
onClick: j,
|
|
1476
1476
|
title: "换肤设置"
|
|
1477
1477
|
}, [
|
|
1478
|
-
b(
|
|
1478
|
+
b(n(I), {
|
|
1479
1479
|
name: "skin",
|
|
1480
1480
|
size: 16
|
|
1481
1481
|
})
|
|
1482
1482
|
]),
|
|
1483
1483
|
e("div", {
|
|
1484
1484
|
class: "top-menu__action",
|
|
1485
|
-
onClick:
|
|
1485
|
+
onClick: K,
|
|
1486
1486
|
title: "切换主题"
|
|
1487
1487
|
}, [
|
|
1488
|
-
b(
|
|
1489
|
-
name:
|
|
1488
|
+
b(n(I), {
|
|
1489
|
+
name: n(i).isDark ? "sun" : "moon",
|
|
1490
1490
|
size: 16
|
|
1491
1491
|
}, null, 8, ["name"])
|
|
1492
1492
|
]),
|
|
1493
1493
|
e("div", {
|
|
1494
1494
|
class: "top-menu__user",
|
|
1495
1495
|
ref_key: "dropdownRef",
|
|
1496
|
-
ref:
|
|
1496
|
+
ref: B
|
|
1497
1497
|
}, [
|
|
1498
1498
|
e("div", {
|
|
1499
1499
|
class: "top-menu__user-trigger",
|
|
1500
|
-
onClick:
|
|
1500
|
+
onClick: De(E, ["stop"])
|
|
1501
1501
|
}, [
|
|
1502
|
-
e("div",
|
|
1503
|
-
e("span", null, x(((
|
|
1502
|
+
e("div", Lo, [
|
|
1503
|
+
e("span", null, x(((ne = n(v).userName) == null ? void 0 : ne.charAt(0)) || "U"), 1)
|
|
1504
1504
|
]),
|
|
1505
|
-
e("span",
|
|
1505
|
+
e("span", Mo, x(n(v).userName), 1),
|
|
1506
1506
|
e("span", {
|
|
1507
|
-
class: Q(["top-menu__user-arrow", { "is-active":
|
|
1507
|
+
class: Q(["top-menu__user-arrow", { "is-active": O.value }])
|
|
1508
1508
|
}, [...C[3] || (C[3] = [
|
|
1509
1509
|
e("svg", {
|
|
1510
1510
|
viewBox: "0 0 12 12",
|
|
@@ -1520,27 +1520,27 @@ const ve = Ee("menu", () => {
|
|
|
1520
1520
|
], -1)
|
|
1521
1521
|
])], 2)
|
|
1522
1522
|
]),
|
|
1523
|
-
b(
|
|
1523
|
+
b($e, { name: "dropdown" }, {
|
|
1524
1524
|
default: M(() => {
|
|
1525
1525
|
var r;
|
|
1526
1526
|
return [
|
|
1527
|
-
|
|
1528
|
-
e("div",
|
|
1529
|
-
e("div",
|
|
1530
|
-
e("span", null, x(((r =
|
|
1527
|
+
O.value ? (o(), c("div", So, [
|
|
1528
|
+
e("div", No, [
|
|
1529
|
+
e("div", Io, [
|
|
1530
|
+
e("span", null, x(((r = n(v).userName) == null ? void 0 : r.charAt(0)) || "U"), 1)
|
|
1531
1531
|
]),
|
|
1532
|
-
e("div",
|
|
1533
|
-
e("div",
|
|
1534
|
-
e("div",
|
|
1532
|
+
e("div", Eo, [
|
|
1533
|
+
e("div", Uo, x(n(v).userName), 1),
|
|
1534
|
+
e("div", zo, x(n(v).departmentName), 1)
|
|
1535
1535
|
])
|
|
1536
1536
|
]),
|
|
1537
1537
|
C[8] || (C[8] = e("div", { class: "top-menu__dropdown-divider" }, null, -1)),
|
|
1538
|
-
e("div",
|
|
1538
|
+
e("div", Po, [
|
|
1539
1539
|
e("div", {
|
|
1540
1540
|
class: "top-menu__dropdown-item",
|
|
1541
|
-
onClick:
|
|
1541
|
+
onClick: z
|
|
1542
1542
|
}, [
|
|
1543
|
-
b(
|
|
1543
|
+
b(n(I), {
|
|
1544
1544
|
name: "user",
|
|
1545
1545
|
size: 16
|
|
1546
1546
|
}),
|
|
@@ -1548,9 +1548,9 @@ const ve = Ee("menu", () => {
|
|
|
1548
1548
|
]),
|
|
1549
1549
|
e("div", {
|
|
1550
1550
|
class: "top-menu__dropdown-item",
|
|
1551
|
-
onClick:
|
|
1551
|
+
onClick: w
|
|
1552
1552
|
}, [
|
|
1553
|
-
b(
|
|
1553
|
+
b(n(I), {
|
|
1554
1554
|
name: "lock",
|
|
1555
1555
|
size: 16
|
|
1556
1556
|
}),
|
|
@@ -1559,50 +1559,50 @@ const ve = Ee("menu", () => {
|
|
|
1559
1559
|
C[7] || (C[7] = e("div", { class: "top-menu__dropdown-divider" }, null, -1)),
|
|
1560
1560
|
e("div", {
|
|
1561
1561
|
class: "top-menu__dropdown-item top-menu__dropdown-item--danger",
|
|
1562
|
-
onClick:
|
|
1562
|
+
onClick: oe
|
|
1563
1563
|
}, [
|
|
1564
|
-
b(
|
|
1564
|
+
b(n(I), {
|
|
1565
1565
|
name: "logout",
|
|
1566
1566
|
size: 16
|
|
1567
1567
|
}),
|
|
1568
1568
|
C[6] || (C[6] = e("span", null, "退出登录", -1))
|
|
1569
1569
|
])
|
|
1570
1570
|
])
|
|
1571
|
-
])) :
|
|
1571
|
+
])) : P("", !0)
|
|
1572
1572
|
];
|
|
1573
1573
|
}),
|
|
1574
1574
|
_: 1
|
|
1575
1575
|
})
|
|
1576
1576
|
], 512)
|
|
1577
1577
|
]),
|
|
1578
|
-
b(
|
|
1579
|
-
modelValue:
|
|
1580
|
-
"onUpdate:modelValue": C[2] || (C[2] = (r) =>
|
|
1578
|
+
b(n(Ze), {
|
|
1579
|
+
modelValue: G.value,
|
|
1580
|
+
"onUpdate:modelValue": C[2] || (C[2] = (r) => G.value = r),
|
|
1581
1581
|
title: "换肤设置",
|
|
1582
1582
|
direction: "rtl",
|
|
1583
1583
|
size: "320px"
|
|
1584
1584
|
}, {
|
|
1585
1585
|
default: M(() => [
|
|
1586
|
-
e("div",
|
|
1587
|
-
e("div",
|
|
1586
|
+
e("div", To, [
|
|
1587
|
+
e("div", Fo, [
|
|
1588
1588
|
C[12] || (C[12] = e("div", { class: "settings-title" }, "布局模式", -1)),
|
|
1589
|
-
e("div",
|
|
1590
|
-
(
|
|
1589
|
+
e("div", Do, [
|
|
1590
|
+
(o(), c(W, null, Z(me, (r) => e("div", {
|
|
1591
1591
|
key: r.value,
|
|
1592
|
-
class: Q(["layout-option", { "is-active":
|
|
1593
|
-
onClick: (p) =>
|
|
1592
|
+
class: Q(["layout-option", { "is-active": ye.value === r.value }]),
|
|
1593
|
+
onClick: (p) => Se(r.value)
|
|
1594
1594
|
}, [
|
|
1595
|
-
e("div",
|
|
1596
|
-
r.value === "sidebar" ? (
|
|
1595
|
+
e("div", Bo, [
|
|
1596
|
+
r.value === "sidebar" ? (o(), c("div", Vo, [...C[9] || (C[9] = [
|
|
1597
1597
|
e("div", { class: "preview-aside" }, null, -1),
|
|
1598
1598
|
e("div", { class: "preview-main" }, [
|
|
1599
1599
|
e("div", { class: "preview-header" }),
|
|
1600
1600
|
e("div", { class: "preview-content" })
|
|
1601
1601
|
], -1)
|
|
1602
|
-
])])) : r.value === "top" ? (
|
|
1602
|
+
])])) : r.value === "top" ? (o(), c("div", Oo, [...C[10] || (C[10] = [
|
|
1603
1603
|
e("div", { class: "preview-header-full" }, null, -1),
|
|
1604
1604
|
e("div", { class: "preview-content-full" }, null, -1)
|
|
1605
|
-
])])) : (
|
|
1605
|
+
])])) : (o(), c("div", Ro, [...C[11] || (C[11] = [
|
|
1606
1606
|
e("div", { class: "preview-header-mix" }, [
|
|
1607
1607
|
e("div", { class: "preview-mix-left" })
|
|
1608
1608
|
], -1),
|
|
@@ -1612,46 +1612,46 @@ const ve = Ee("menu", () => {
|
|
|
1612
1612
|
], -1)
|
|
1613
1613
|
])]))
|
|
1614
1614
|
]),
|
|
1615
|
-
e("span",
|
|
1616
|
-
], 10,
|
|
1615
|
+
e("span", Ko, x(r.label), 1)
|
|
1616
|
+
], 10, Ao)), 64))
|
|
1617
1617
|
])
|
|
1618
1618
|
]),
|
|
1619
|
-
e("div",
|
|
1619
|
+
e("div", jo, [
|
|
1620
1620
|
C[13] || (C[13] = e("div", { class: "settings-title" }, "主题色", -1)),
|
|
1621
|
-
e("div",
|
|
1622
|
-
(
|
|
1621
|
+
e("div", Wo, [
|
|
1622
|
+
(o(), c(W, null, Z(we, (r) => e("div", {
|
|
1623
1623
|
key: r.value,
|
|
1624
|
-
class: Q(["color-option", { "is-active":
|
|
1625
|
-
style:
|
|
1624
|
+
class: Q(["color-option", { "is-active": n(i).primaryColor === r.value }]),
|
|
1625
|
+
style: Ie({ backgroundColor: r.value }),
|
|
1626
1626
|
title: r.label,
|
|
1627
|
-
onClick: (p) =>
|
|
1627
|
+
onClick: (p) => xe(r.value)
|
|
1628
1628
|
}, [
|
|
1629
|
-
|
|
1629
|
+
n(i).primaryColor === r.value ? (o(), D(n(I), {
|
|
1630
1630
|
key: 0,
|
|
1631
1631
|
name: "check",
|
|
1632
1632
|
size: 12,
|
|
1633
1633
|
color: "#fff"
|
|
1634
|
-
})) :
|
|
1635
|
-
], 14,
|
|
1634
|
+
})) : P("", !0)
|
|
1635
|
+
], 14, qo)), 64))
|
|
1636
1636
|
])
|
|
1637
1637
|
]),
|
|
1638
|
-
e("div",
|
|
1638
|
+
e("div", Ho, [
|
|
1639
1639
|
C[18] || (C[18] = e("div", { class: "settings-title" }, "功能设置", -1)),
|
|
1640
|
-
e("div",
|
|
1641
|
-
e("div",
|
|
1640
|
+
e("div", Yo, [
|
|
1641
|
+
e("div", Go, [
|
|
1642
1642
|
C[15] || (C[15] = e("span", null, "灰色模式", -1)),
|
|
1643
1643
|
e("div", {
|
|
1644
|
-
class: Q(["switch-wrapper", { "is-checked":
|
|
1645
|
-
onClick:
|
|
1644
|
+
class: Q(["switch-wrapper", { "is-checked": H.value }]),
|
|
1645
|
+
onClick: ge
|
|
1646
1646
|
}, [...C[14] || (C[14] = [
|
|
1647
1647
|
e("span", { class: "switch-core" }, null, -1)
|
|
1648
1648
|
])], 2)
|
|
1649
1649
|
]),
|
|
1650
|
-
e("div",
|
|
1650
|
+
e("div", Xo, [
|
|
1651
1651
|
C[17] || (C[17] = e("span", null, "暗黑模式", -1)),
|
|
1652
1652
|
e("div", {
|
|
1653
|
-
class: Q(["switch-wrapper", { "is-checked":
|
|
1654
|
-
onClick:
|
|
1653
|
+
class: Q(["switch-wrapper", { "is-checked": n(i).isDark }]),
|
|
1654
|
+
onClick: ke
|
|
1655
1655
|
}, [...C[16] || (C[16] = [
|
|
1656
1656
|
e("span", { class: "switch-core" }, null, -1)
|
|
1657
1657
|
])], 2)
|
|
@@ -1665,74 +1665,74 @@ const ve = Ee("menu", () => {
|
|
|
1665
1665
|
]);
|
|
1666
1666
|
};
|
|
1667
1667
|
}
|
|
1668
|
-
}),
|
|
1668
|
+
}), Zo = /* @__PURE__ */ ue(Jo, [["__scopeId", "data-v-711d5b8d"]]), Qo = { class: "mix-top-menu" }, ea = { class: "mix-top-menu__logo" }, ta = ["src"], sa = { class: "mix-top-menu__logo-text" }, oa = { class: "mix-top-menu__menu-content" }, aa = {
|
|
1669
1669
|
key: 0,
|
|
1670
1670
|
class: "mix-top-menu__menu-icon"
|
|
1671
|
-
},
|
|
1671
|
+
}, na = {
|
|
1672
1672
|
key: 1,
|
|
1673
1673
|
class: "mix-top-menu__menu-char"
|
|
1674
|
-
},
|
|
1674
|
+
}, la = { class: "mix-top-menu__menu-text" }, ra = { class: "mix-top-menu__actions" }, ia = {
|
|
1675
1675
|
key: 0,
|
|
1676
1676
|
class: "mix-top-menu__search-dropdown"
|
|
1677
|
-
},
|
|
1677
|
+
}, ca = {
|
|
1678
1678
|
key: 0,
|
|
1679
1679
|
class: "mix-top-menu__search-results"
|
|
1680
|
-
},
|
|
1680
|
+
}, ua = ["onClick"], da = {
|
|
1681
1681
|
key: 0,
|
|
1682
1682
|
class: "mix-top-menu__search-icon-item"
|
|
1683
|
-
},
|
|
1683
|
+
}, ma = {
|
|
1684
1684
|
key: 1,
|
|
1685
1685
|
class: "mix-top-menu__search-char"
|
|
1686
|
-
},
|
|
1686
|
+
}, pa = { class: "mix-top-menu__search-item-title" }, va = {
|
|
1687
1687
|
key: 1,
|
|
1688
1688
|
class: "mix-top-menu__search-item-parent"
|
|
1689
|
-
},
|
|
1689
|
+
}, ha = {
|
|
1690
1690
|
key: 1,
|
|
1691
1691
|
class: "mix-top-menu__search-empty"
|
|
1692
|
-
},
|
|
1692
|
+
}, _a = ["title"], fa = { class: "mix-top-menu__avatar" }, ga = { class: "mix-top-menu__user-name" }, ya = {
|
|
1693
1693
|
key: 0,
|
|
1694
1694
|
class: "mix-top-menu__dropdown"
|
|
1695
|
-
},
|
|
1695
|
+
}, ba = { class: "mix-top-menu__dropdown-header" }, ka = { class: "mix-top-menu__dropdown-avatar" }, wa = { class: "mix-top-menu__dropdown-info" }, xa = { class: "mix-top-menu__dropdown-name" }, Ca = { class: "mix-top-menu__dropdown-role" }, $a = { class: "mix-top-menu__dropdown-menu" }, La = { class: "settings-drawer" }, Ma = { class: "settings-section" }, Sa = { class: "settings-layout-options" }, Na = ["onClick"], Ia = { class: "layout-option__preview" }, Ea = {
|
|
1696
1696
|
key: 0,
|
|
1697
1697
|
class: "layout-preview-sidebar"
|
|
1698
|
-
},
|
|
1698
|
+
}, Ua = {
|
|
1699
1699
|
key: 1,
|
|
1700
1700
|
class: "layout-preview-top"
|
|
1701
|
-
},
|
|
1701
|
+
}, za = {
|
|
1702
1702
|
key: 2,
|
|
1703
1703
|
class: "layout-preview-mix"
|
|
1704
|
-
},
|
|
1704
|
+
}, Pa = { class: "layout-option__label" }, Ta = { class: "settings-section" }, Fa = { class: "settings-color-options" }, Da = ["title", "onClick"], Aa = { class: "settings-section" }, Ba = { class: "settings-switch-list" }, Va = { class: "settings-switch-item" }, Oa = { class: "settings-switch-item" }, Ra = /* @__PURE__ */ ie({
|
|
1705
1705
|
__name: "MixTopMenu",
|
|
1706
1706
|
props: {
|
|
1707
|
-
logoSrc: {
|
|
1707
|
+
logoSrc: {}
|
|
1708
1708
|
},
|
|
1709
1709
|
setup(t) {
|
|
1710
|
-
const
|
|
1711
|
-
const
|
|
1710
|
+
const l = t, d = k(() => l.logoSrc || Ue("/vite.svg")), s = Me(), a = fe(), h = _e(), i = he(), v = ce(), m = Pe(), f = y(""), _ = (r, p = "") => {
|
|
1711
|
+
const V = [];
|
|
1712
1712
|
return r.forEach((L) => {
|
|
1713
|
-
L.children && L.children.length > 0 ?
|
|
1714
|
-
}),
|
|
1715
|
-
},
|
|
1716
|
-
(p) => p.title.toLowerCase().includes(
|
|
1717
|
-
) : []),
|
|
1718
|
-
const r =
|
|
1713
|
+
L.children && L.children.length > 0 ? V.push(..._(L.children, L.menuName)) : V.push({ ...L, parentTitle: p, title: L.menuName, path: L.menuUrl });
|
|
1714
|
+
}), V;
|
|
1715
|
+
}, g = k(() => S.value.trim() ? _(h.menuList).filter(
|
|
1716
|
+
(p) => p.title.toLowerCase().includes(S.value.toLowerCase())
|
|
1717
|
+
) : []), u = k(() => {
|
|
1718
|
+
const r = h.menuList.find((p) => p.menuUrl === f.value);
|
|
1719
1719
|
return (r == null ? void 0 : r.children) || [];
|
|
1720
|
-
}),
|
|
1721
|
-
|
|
1722
|
-
},
|
|
1723
|
-
|
|
1724
|
-
const p =
|
|
1720
|
+
}), q = k(() => h.menuList.find((r) => !!(s.path === r.menuUrl || r.children && r.children.some((p) => s.path.startsWith(p.menuUrl) || s.path === p.menuUrl)))), A = () => {
|
|
1721
|
+
q.value ? f.value = q.value.menuUrl : h.menuList.length > 0 && (f.value = h.menuList[0].menuUrl);
|
|
1722
|
+
}, O = (r) => {
|
|
1723
|
+
f.value = r;
|
|
1724
|
+
const p = h.menuList.find((V) => V.menuUrl === r);
|
|
1725
1725
|
if (p)
|
|
1726
1726
|
if (p.children && p.children.length > 0) {
|
|
1727
|
-
const
|
|
1728
|
-
|
|
1727
|
+
const V = p.children[0].menuUrl;
|
|
1728
|
+
s.path !== V && a.push(V);
|
|
1729
1729
|
} else
|
|
1730
|
-
|
|
1731
|
-
},
|
|
1732
|
-
|
|
1733
|
-
|
|
1734
|
-
}),
|
|
1735
|
-
r && r.length > 0 && (
|
|
1730
|
+
s.path !== r && a.push(r);
|
|
1731
|
+
}, B = k(() => i.isDark ? "#1d1e1f" : "#fff"), R = k(() => i.isDark ? "#cfd3dc" : "#303133"), G = k(() => "#409eff"), H = y(!1), te = y(null), ee = y(!1), X = y(!1), se = y(!1), F = y(!1), S = y(""), T = y(null);
|
|
1732
|
+
Ce(() => s.path, () => {
|
|
1733
|
+
A(), i.setMixSubMenus(u.value);
|
|
1734
|
+
}), Ce(() => h.menuList, (r) => {
|
|
1735
|
+
r && r.length > 0 && (A(), i.setMixSubMenus(u.value));
|
|
1736
1736
|
}, { immediate: !0 });
|
|
1737
1737
|
const J = /* @__PURE__ */ new Set([
|
|
1738
1738
|
"arrow-up",
|
|
@@ -1836,10 +1836,10 @@ const ve = Ee("menu", () => {
|
|
|
1836
1836
|
"sun",
|
|
1837
1837
|
"theme",
|
|
1838
1838
|
"skin"
|
|
1839
|
-
]),
|
|
1839
|
+
]), K = (r) => {
|
|
1840
1840
|
if (!r || r === "") return "";
|
|
1841
1841
|
if (r.startsWith("tineco-icon-")) {
|
|
1842
|
-
const
|
|
1842
|
+
const V = r.replace("tineco-icon-", "");
|
|
1843
1843
|
return {
|
|
1844
1844
|
home: "home",
|
|
1845
1845
|
dashboard: "dashboard",
|
|
@@ -1853,7 +1853,7 @@ const ve = Ee("menu", () => {
|
|
|
1853
1853
|
chart: "chart",
|
|
1854
1854
|
report: "report",
|
|
1855
1855
|
analytics: "analytics"
|
|
1856
|
-
}[
|
|
1856
|
+
}[V] || V;
|
|
1857
1857
|
}
|
|
1858
1858
|
return {
|
|
1859
1859
|
dashboard: "dashboard",
|
|
@@ -1873,94 +1873,94 @@ const ve = Ee("menu", () => {
|
|
|
1873
1873
|
list: "list",
|
|
1874
1874
|
grid: "grid"
|
|
1875
1875
|
}[r] || r;
|
|
1876
|
-
},
|
|
1877
|
-
i.toggleTheme(),
|
|
1878
|
-
},
|
|
1876
|
+
}, le = (r) => r ? r.charAt(0) : "", ve = (r) => J.has(r), E = () => {
|
|
1877
|
+
i.toggleTheme(), X.value = !1;
|
|
1878
|
+
}, Y = () => {
|
|
1879
1879
|
document.fullscreenElement ? document.exitFullscreen() : document.documentElement.requestFullscreen();
|
|
1880
|
-
},
|
|
1881
|
-
|
|
1880
|
+
}, ae = () => {
|
|
1881
|
+
ee.value = !!document.fullscreenElement;
|
|
1882
1882
|
}, de = () => {
|
|
1883
|
-
|
|
1884
|
-
},
|
|
1885
|
-
|
|
1886
|
-
},
|
|
1887
|
-
|
|
1883
|
+
H.value = !H.value;
|
|
1884
|
+
}, j = () => {
|
|
1885
|
+
H.value = !1;
|
|
1886
|
+
}, re = () => {
|
|
1887
|
+
F.value = !1, S.value = "";
|
|
1888
|
+
}, ge = (r) => {
|
|
1889
|
+
a.push(r), re();
|
|
1890
|
+
}, ke = () => {
|
|
1891
|
+
X.value = !0;
|
|
1888
1892
|
}, me = (r) => {
|
|
1889
|
-
|
|
1890
|
-
}, fe = () => {
|
|
1891
|
-
q.value = !0;
|
|
1892
|
-
}, be = (r) => {
|
|
1893
|
-
oe.value = r;
|
|
1893
|
+
se.value = r;
|
|
1894
1894
|
const p = document.documentElement;
|
|
1895
1895
|
r ? p.classList.add("grey-mode") : p.classList.remove("grey-mode");
|
|
1896
|
-
},
|
|
1897
|
-
|
|
1898
|
-
},
|
|
1899
|
-
i.toggleTheme(),
|
|
1900
|
-
},
|
|
1896
|
+
}, ye = () => {
|
|
1897
|
+
me(!se.value), X.value = !1;
|
|
1898
|
+
}, Se = () => {
|
|
1899
|
+
i.toggleTheme(), X.value = !1;
|
|
1900
|
+
}, we = [
|
|
1901
1901
|
{ value: "sidebar", label: "左侧菜单", icon: "sidebar-left" },
|
|
1902
1902
|
{ value: "top", label: "顶部菜单", icon: "menu" },
|
|
1903
1903
|
{ value: "mix", label: "混合菜单", icon: "grid" }
|
|
1904
|
-
],
|
|
1905
|
-
i.setLayout(r),
|
|
1906
|
-
},
|
|
1904
|
+
], xe = k(() => i.layout), z = (r) => {
|
|
1905
|
+
i.setLayout(r), X.value = !1;
|
|
1906
|
+
}, w = [
|
|
1907
1907
|
{ value: "#409eff", label: "默认蓝" },
|
|
1908
1908
|
{ value: "#0F6FDE", label: "企业蓝" },
|
|
1909
1909
|
{ value: "#00A870", label: "翡翠绿" },
|
|
1910
1910
|
{ value: "#D46B08", label: "琥珀橙" },
|
|
1911
1911
|
{ value: "#1F2329", label: "石墨黑" }
|
|
1912
|
-
],
|
|
1913
|
-
i.setPrimaryColor(r),
|
|
1914
|
-
}, se = () => {
|
|
1915
|
-
te(), s.push("/profile");
|
|
1912
|
+
], oe = (r) => {
|
|
1913
|
+
i.setPrimaryColor(r), X.value = !1;
|
|
1916
1914
|
}, $ = () => {
|
|
1917
|
-
|
|
1918
|
-
},
|
|
1919
|
-
|
|
1915
|
+
j(), a.push("/profile");
|
|
1916
|
+
}, pe = () => {
|
|
1917
|
+
j(), a.push("/change-password");
|
|
1918
|
+
}, U = () => {
|
|
1919
|
+
j(), m.logout(), v.clearUserInfo(), h.clearMenu(), a.push(i.loginPath);
|
|
1920
1920
|
}, C = (r) => {
|
|
1921
|
-
|
|
1922
|
-
},
|
|
1923
|
-
r.key === "Escape" && (
|
|
1921
|
+
te.value && !te.value.contains(r.target) && j(), T.value && !T.value.contains(r.target) && re();
|
|
1922
|
+
}, ne = (r) => {
|
|
1923
|
+
r.key === "Escape" && (re(), j());
|
|
1924
1924
|
};
|
|
1925
|
-
return
|
|
1926
|
-
document.addEventListener("click", C), document.addEventListener("fullscreenchange",
|
|
1927
|
-
}),
|
|
1928
|
-
document.removeEventListener("click", C), document.removeEventListener("fullscreenchange",
|
|
1925
|
+
return We(() => {
|
|
1926
|
+
document.addEventListener("click", C), document.addEventListener("fullscreenchange", ae), document.addEventListener("keydown", ne), se.value = document.documentElement.classList.contains("grey-mode"), A();
|
|
1927
|
+
}), qe(() => {
|
|
1928
|
+
document.removeEventListener("click", C), document.removeEventListener("fullscreenchange", ae), document.removeEventListener("keydown", ne);
|
|
1929
1929
|
}), (r, p) => {
|
|
1930
|
-
var
|
|
1931
|
-
return
|
|
1932
|
-
e("div",
|
|
1930
|
+
var V;
|
|
1931
|
+
return o(), c("div", Qo, [
|
|
1932
|
+
e("div", ea, [
|
|
1933
1933
|
e("img", {
|
|
1934
|
-
src:
|
|
1934
|
+
src: d.value,
|
|
1935
1935
|
alt: "Logo",
|
|
1936
1936
|
class: "mix-top-menu__logo-img"
|
|
1937
|
-
}, null, 8,
|
|
1938
|
-
e("span",
|
|
1937
|
+
}, null, 8, ta),
|
|
1938
|
+
e("span", sa, x(n(i).appName), 1)
|
|
1939
1939
|
]),
|
|
1940
|
-
b(
|
|
1941
|
-
"model-value":
|
|
1940
|
+
b(n(Je), {
|
|
1941
|
+
"model-value": f.value,
|
|
1942
1942
|
mode: "horizontal",
|
|
1943
|
-
"background-color":
|
|
1944
|
-
"text-color":
|
|
1945
|
-
"active-text-color":
|
|
1943
|
+
"background-color": B.value,
|
|
1944
|
+
"text-color": R.value,
|
|
1945
|
+
"active-text-color": G.value,
|
|
1946
1946
|
class: "mix-top-menu__menu",
|
|
1947
|
-
onSelect:
|
|
1947
|
+
onSelect: O
|
|
1948
1948
|
}, {
|
|
1949
1949
|
default: M(() => [
|
|
1950
|
-
(
|
|
1950
|
+
(o(!0), c(W, null, Z(n(h).menuList, (L) => (o(), D(n(Ne), {
|
|
1951
1951
|
key: L.menuUrl,
|
|
1952
1952
|
index: L.menuUrl
|
|
1953
1953
|
}, {
|
|
1954
1954
|
default: M(() => [
|
|
1955
|
-
e("span",
|
|
1956
|
-
L.menuName !== "首页" ? (
|
|
1957
|
-
|
|
1955
|
+
e("span", oa, [
|
|
1956
|
+
L.menuName !== "首页" ? (o(), c("span", aa, [
|
|
1957
|
+
ve(K(L.icon)) ? (o(), D(n(I), {
|
|
1958
1958
|
key: 0,
|
|
1959
|
-
name:
|
|
1959
|
+
name: K(L.icon),
|
|
1960
1960
|
size: 16
|
|
1961
|
-
}, null, 8, ["name"])) : (
|
|
1962
|
-
])) :
|
|
1963
|
-
e("span",
|
|
1961
|
+
}, null, 8, ["name"])) : (o(), c("span", na, x(le(L.menuName)), 1))
|
|
1962
|
+
])) : P("", !0),
|
|
1963
|
+
e("span", la, x(L.menuName), 1)
|
|
1964
1964
|
])
|
|
1965
1965
|
]),
|
|
1966
1966
|
_: 2
|
|
@@ -1968,96 +1968,96 @@ const ve = Ee("menu", () => {
|
|
|
1968
1968
|
]),
|
|
1969
1969
|
_: 1
|
|
1970
1970
|
}, 8, ["model-value", "background-color", "text-color", "active-text-color"]),
|
|
1971
|
-
e("div",
|
|
1971
|
+
e("div", ra, [
|
|
1972
1972
|
e("div", {
|
|
1973
1973
|
class: "mix-top-menu__search",
|
|
1974
1974
|
ref_key: "searchRef",
|
|
1975
|
-
ref:
|
|
1975
|
+
ref: T
|
|
1976
1976
|
}, [
|
|
1977
|
-
b(
|
|
1977
|
+
b(n(I), {
|
|
1978
1978
|
name: "search",
|
|
1979
1979
|
size: 14,
|
|
1980
1980
|
class: "mix-top-menu__search-icon"
|
|
1981
1981
|
}),
|
|
1982
|
-
|
|
1983
|
-
"onUpdate:modelValue": p[0] || (p[0] = (L) =>
|
|
1982
|
+
Fe(e("input", {
|
|
1983
|
+
"onUpdate:modelValue": p[0] || (p[0] = (L) => S.value = L),
|
|
1984
1984
|
type: "text",
|
|
1985
1985
|
class: "mix-top-menu__search-input",
|
|
1986
1986
|
placeholder: "搜索菜单...",
|
|
1987
|
-
onFocus: p[1] || (p[1] = (L) =>
|
|
1987
|
+
onFocus: p[1] || (p[1] = (L) => F.value = !0)
|
|
1988
1988
|
}, null, 544), [
|
|
1989
|
-
[
|
|
1989
|
+
[He, S.value]
|
|
1990
1990
|
]),
|
|
1991
|
-
b(
|
|
1991
|
+
b($e, { name: "search-dropdown" }, {
|
|
1992
1992
|
default: M(() => [
|
|
1993
|
-
|
|
1994
|
-
|
|
1995
|
-
(
|
|
1993
|
+
F.value && (g.value.length > 0 || S.value) ? (o(), c("div", ia, [
|
|
1994
|
+
g.value.length > 0 ? (o(), c("div", ca, [
|
|
1995
|
+
(o(!0), c(W, null, Z(g.value, (L) => (o(), c("div", {
|
|
1996
1996
|
key: L.path,
|
|
1997
1997
|
class: "mix-top-menu__search-item",
|
|
1998
|
-
onClick: (
|
|
1998
|
+
onClick: (et) => ge(L.path)
|
|
1999
1999
|
}, [
|
|
2000
|
-
L.title !== "首页" ? (
|
|
2001
|
-
|
|
2000
|
+
L.title !== "首页" ? (o(), c("span", da, [
|
|
2001
|
+
ve(K(L.icon)) ? (o(), D(n(I), {
|
|
2002
2002
|
key: 0,
|
|
2003
|
-
name:
|
|
2003
|
+
name: K(L.icon),
|
|
2004
2004
|
size: 16
|
|
2005
|
-
}, null, 8, ["name"])) : (
|
|
2006
|
-
])) :
|
|
2007
|
-
e("span",
|
|
2008
|
-
L.parentTitle ? (
|
|
2009
|
-
], 8,
|
|
2010
|
-
])) : (
|
|
2011
|
-
])) :
|
|
2005
|
+
}, null, 8, ["name"])) : (o(), c("span", ma, x(le(L.title)), 1))
|
|
2006
|
+
])) : P("", !0),
|
|
2007
|
+
e("span", pa, x(L.title), 1),
|
|
2008
|
+
L.parentTitle ? (o(), c("span", va, x(L.parentTitle), 1)) : P("", !0)
|
|
2009
|
+
], 8, ua))), 128))
|
|
2010
|
+
])) : (o(), c("div", ha, " 未找到匹配的菜单 "))
|
|
2011
|
+
])) : P("", !0)
|
|
2012
2012
|
]),
|
|
2013
2013
|
_: 1
|
|
2014
2014
|
})
|
|
2015
2015
|
], 512),
|
|
2016
2016
|
e("div", {
|
|
2017
2017
|
class: "mix-top-menu__action",
|
|
2018
|
-
onClick:
|
|
2019
|
-
title:
|
|
2018
|
+
onClick: Y,
|
|
2019
|
+
title: ee.value ? "退出全屏" : "全屏"
|
|
2020
2020
|
}, [
|
|
2021
|
-
b(
|
|
2022
|
-
name:
|
|
2021
|
+
b(n(I), {
|
|
2022
|
+
name: ee.value ? "fullscreen-exit" : "fullscreen",
|
|
2023
2023
|
size: 16
|
|
2024
2024
|
}, null, 8, ["name"])
|
|
2025
|
-
], 8,
|
|
2025
|
+
], 8, _a),
|
|
2026
2026
|
e("div", {
|
|
2027
2027
|
class: "mix-top-menu__action",
|
|
2028
|
-
onClick:
|
|
2028
|
+
onClick: ke,
|
|
2029
2029
|
title: "换肤设置"
|
|
2030
2030
|
}, [
|
|
2031
|
-
b(
|
|
2031
|
+
b(n(I), {
|
|
2032
2032
|
name: "skin",
|
|
2033
2033
|
size: 16
|
|
2034
2034
|
})
|
|
2035
2035
|
]),
|
|
2036
2036
|
e("div", {
|
|
2037
2037
|
class: "mix-top-menu__action",
|
|
2038
|
-
onClick:
|
|
2038
|
+
onClick: E,
|
|
2039
2039
|
title: "切换主题"
|
|
2040
2040
|
}, [
|
|
2041
|
-
b(
|
|
2042
|
-
name:
|
|
2041
|
+
b(n(I), {
|
|
2042
|
+
name: n(i).isDark ? "sun" : "moon",
|
|
2043
2043
|
size: 16
|
|
2044
2044
|
}, null, 8, ["name"])
|
|
2045
2045
|
]),
|
|
2046
2046
|
e("div", {
|
|
2047
2047
|
class: "mix-top-menu__user",
|
|
2048
2048
|
ref_key: "dropdownRef",
|
|
2049
|
-
ref:
|
|
2049
|
+
ref: te
|
|
2050
2050
|
}, [
|
|
2051
2051
|
e("div", {
|
|
2052
2052
|
class: "mix-top-menu__user-trigger",
|
|
2053
|
-
onClick:
|
|
2053
|
+
onClick: De(de, ["stop"])
|
|
2054
2054
|
}, [
|
|
2055
|
-
e("div",
|
|
2056
|
-
e("span", null, x(((
|
|
2055
|
+
e("div", fa, [
|
|
2056
|
+
e("span", null, x(((V = n(v).userName) == null ? void 0 : V.charAt(0)) || "U"), 1)
|
|
2057
2057
|
]),
|
|
2058
|
-
e("span",
|
|
2058
|
+
e("span", ga, x(n(v).userName), 1),
|
|
2059
2059
|
e("span", {
|
|
2060
|
-
class: Q(["mix-top-menu__user-arrow", { "is-active":
|
|
2060
|
+
class: Q(["mix-top-menu__user-arrow", { "is-active": H.value }])
|
|
2061
2061
|
}, [...p[3] || (p[3] = [
|
|
2062
2062
|
e("svg", {
|
|
2063
2063
|
viewBox: "0 0 12 12",
|
|
@@ -2073,27 +2073,27 @@ const ve = Ee("menu", () => {
|
|
|
2073
2073
|
], -1)
|
|
2074
2074
|
])], 2)
|
|
2075
2075
|
]),
|
|
2076
|
-
b(
|
|
2076
|
+
b($e, { name: "dropdown" }, {
|
|
2077
2077
|
default: M(() => {
|
|
2078
2078
|
var L;
|
|
2079
2079
|
return [
|
|
2080
|
-
|
|
2081
|
-
e("div",
|
|
2082
|
-
e("div",
|
|
2083
|
-
e("span", null, x(((L =
|
|
2080
|
+
H.value ? (o(), c("div", ya, [
|
|
2081
|
+
e("div", ba, [
|
|
2082
|
+
e("div", ka, [
|
|
2083
|
+
e("span", null, x(((L = n(v).userName) == null ? void 0 : L.charAt(0)) || "U"), 1)
|
|
2084
2084
|
]),
|
|
2085
|
-
e("div",
|
|
2086
|
-
e("div",
|
|
2087
|
-
e("div",
|
|
2085
|
+
e("div", wa, [
|
|
2086
|
+
e("div", xa, x(n(v).userName), 1),
|
|
2087
|
+
e("div", Ca, x(n(v).departmentName), 1)
|
|
2088
2088
|
])
|
|
2089
2089
|
]),
|
|
2090
2090
|
p[8] || (p[8] = e("div", { class: "mix-top-menu__dropdown-divider" }, null, -1)),
|
|
2091
|
-
e("div",
|
|
2091
|
+
e("div", $a, [
|
|
2092
2092
|
e("div", {
|
|
2093
2093
|
class: "mix-top-menu__dropdown-item",
|
|
2094
|
-
onClick:
|
|
2094
|
+
onClick: $
|
|
2095
2095
|
}, [
|
|
2096
|
-
b(
|
|
2096
|
+
b(n(I), {
|
|
2097
2097
|
name: "user",
|
|
2098
2098
|
size: 16
|
|
2099
2099
|
}),
|
|
@@ -2101,9 +2101,9 @@ const ve = Ee("menu", () => {
|
|
|
2101
2101
|
]),
|
|
2102
2102
|
e("div", {
|
|
2103
2103
|
class: "mix-top-menu__dropdown-item",
|
|
2104
|
-
onClick:
|
|
2104
|
+
onClick: pe
|
|
2105
2105
|
}, [
|
|
2106
|
-
b(
|
|
2106
|
+
b(n(I), {
|
|
2107
2107
|
name: "lock",
|
|
2108
2108
|
size: 16
|
|
2109
2109
|
}),
|
|
@@ -2112,50 +2112,50 @@ const ve = Ee("menu", () => {
|
|
|
2112
2112
|
p[7] || (p[7] = e("div", { class: "mix-top-menu__dropdown-divider" }, null, -1)),
|
|
2113
2113
|
e("div", {
|
|
2114
2114
|
class: "mix-top-menu__dropdown-item mix-top-menu__dropdown-item--danger",
|
|
2115
|
-
onClick:
|
|
2115
|
+
onClick: U
|
|
2116
2116
|
}, [
|
|
2117
|
-
b(
|
|
2117
|
+
b(n(I), {
|
|
2118
2118
|
name: "logout",
|
|
2119
2119
|
size: 16
|
|
2120
2120
|
}),
|
|
2121
2121
|
p[6] || (p[6] = e("span", null, "退出登录", -1))
|
|
2122
2122
|
])
|
|
2123
2123
|
])
|
|
2124
|
-
])) :
|
|
2124
|
+
])) : P("", !0)
|
|
2125
2125
|
];
|
|
2126
2126
|
}),
|
|
2127
2127
|
_: 1
|
|
2128
2128
|
})
|
|
2129
2129
|
], 512)
|
|
2130
2130
|
]),
|
|
2131
|
-
b(
|
|
2132
|
-
modelValue:
|
|
2133
|
-
"onUpdate:modelValue": p[2] || (p[2] = (L) =>
|
|
2131
|
+
b(n(Ze), {
|
|
2132
|
+
modelValue: X.value,
|
|
2133
|
+
"onUpdate:modelValue": p[2] || (p[2] = (L) => X.value = L),
|
|
2134
2134
|
title: "换肤设置",
|
|
2135
2135
|
direction: "rtl",
|
|
2136
2136
|
size: "320px"
|
|
2137
2137
|
}, {
|
|
2138
2138
|
default: M(() => [
|
|
2139
|
-
e("div",
|
|
2140
|
-
e("div",
|
|
2139
|
+
e("div", La, [
|
|
2140
|
+
e("div", Ma, [
|
|
2141
2141
|
p[12] || (p[12] = e("div", { class: "settings-title" }, "布局模式", -1)),
|
|
2142
|
-
e("div",
|
|
2143
|
-
(
|
|
2142
|
+
e("div", Sa, [
|
|
2143
|
+
(o(), c(W, null, Z(we, (L) => e("div", {
|
|
2144
2144
|
key: L.value,
|
|
2145
|
-
class: Q(["layout-option", { "is-active":
|
|
2146
|
-
onClick: (
|
|
2145
|
+
class: Q(["layout-option", { "is-active": xe.value === L.value }]),
|
|
2146
|
+
onClick: (et) => z(L.value)
|
|
2147
2147
|
}, [
|
|
2148
|
-
e("div",
|
|
2149
|
-
L.value === "sidebar" ? (
|
|
2148
|
+
e("div", Ia, [
|
|
2149
|
+
L.value === "sidebar" ? (o(), c("div", Ea, [...p[9] || (p[9] = [
|
|
2150
2150
|
e("div", { class: "preview-aside" }, null, -1),
|
|
2151
2151
|
e("div", { class: "preview-main" }, [
|
|
2152
2152
|
e("div", { class: "preview-header" }),
|
|
2153
2153
|
e("div", { class: "preview-content" })
|
|
2154
2154
|
], -1)
|
|
2155
|
-
])])) : L.value === "top" ? (
|
|
2155
|
+
])])) : L.value === "top" ? (o(), c("div", Ua, [...p[10] || (p[10] = [
|
|
2156
2156
|
e("div", { class: "preview-header-full" }, null, -1),
|
|
2157
2157
|
e("div", { class: "preview-content-full" }, null, -1)
|
|
2158
|
-
])])) : (
|
|
2158
|
+
])])) : (o(), c("div", za, [...p[11] || (p[11] = [
|
|
2159
2159
|
e("div", { class: "preview-header-mix" }, [
|
|
2160
2160
|
e("div", { class: "preview-mix-left" })
|
|
2161
2161
|
], -1),
|
|
@@ -2165,46 +2165,46 @@ const ve = Ee("menu", () => {
|
|
|
2165
2165
|
], -1)
|
|
2166
2166
|
])]))
|
|
2167
2167
|
]),
|
|
2168
|
-
e("span",
|
|
2169
|
-
], 10,
|
|
2168
|
+
e("span", Pa, x(L.label), 1)
|
|
2169
|
+
], 10, Na)), 64))
|
|
2170
2170
|
])
|
|
2171
2171
|
]),
|
|
2172
|
-
e("div",
|
|
2172
|
+
e("div", Ta, [
|
|
2173
2173
|
p[13] || (p[13] = e("div", { class: "settings-title" }, "主题色", -1)),
|
|
2174
|
-
e("div",
|
|
2175
|
-
(
|
|
2174
|
+
e("div", Fa, [
|
|
2175
|
+
(o(), c(W, null, Z(w, (L) => e("div", {
|
|
2176
2176
|
key: L.value,
|
|
2177
|
-
class: Q(["color-option", { "is-active":
|
|
2178
|
-
style:
|
|
2177
|
+
class: Q(["color-option", { "is-active": n(i).primaryColor === L.value }]),
|
|
2178
|
+
style: Ie({ backgroundColor: L.value }),
|
|
2179
2179
|
title: L.label,
|
|
2180
|
-
onClick: (
|
|
2180
|
+
onClick: (et) => oe(L.value)
|
|
2181
2181
|
}, [
|
|
2182
|
-
|
|
2182
|
+
n(i).primaryColor === L.value ? (o(), D(n(I), {
|
|
2183
2183
|
key: 0,
|
|
2184
2184
|
name: "check",
|
|
2185
2185
|
size: 12,
|
|
2186
2186
|
color: "#fff"
|
|
2187
|
-
})) :
|
|
2188
|
-
], 14,
|
|
2187
|
+
})) : P("", !0)
|
|
2188
|
+
], 14, Da)), 64))
|
|
2189
2189
|
])
|
|
2190
2190
|
]),
|
|
2191
|
-
e("div",
|
|
2191
|
+
e("div", Aa, [
|
|
2192
2192
|
p[18] || (p[18] = e("div", { class: "settings-title" }, "功能设置", -1)),
|
|
2193
|
-
e("div",
|
|
2194
|
-
e("div",
|
|
2193
|
+
e("div", Ba, [
|
|
2194
|
+
e("div", Va, [
|
|
2195
2195
|
p[15] || (p[15] = e("span", null, "灰色模式", -1)),
|
|
2196
2196
|
e("div", {
|
|
2197
|
-
class: Q(["switch-wrapper", { "is-checked":
|
|
2198
|
-
onClick:
|
|
2197
|
+
class: Q(["switch-wrapper", { "is-checked": se.value }]),
|
|
2198
|
+
onClick: ye
|
|
2199
2199
|
}, [...p[14] || (p[14] = [
|
|
2200
2200
|
e("span", { class: "switch-core" }, null, -1)
|
|
2201
2201
|
])], 2)
|
|
2202
2202
|
]),
|
|
2203
|
-
e("div",
|
|
2203
|
+
e("div", Oa, [
|
|
2204
2204
|
p[17] || (p[17] = e("span", null, "暗黑模式", -1)),
|
|
2205
2205
|
e("div", {
|
|
2206
|
-
class: Q(["switch-wrapper", { "is-checked":
|
|
2207
|
-
onClick:
|
|
2206
|
+
class: Q(["switch-wrapper", { "is-checked": n(i).isDark }]),
|
|
2207
|
+
onClick: Se
|
|
2208
2208
|
}, [...p[16] || (p[16] = [
|
|
2209
2209
|
e("span", { class: "switch-core" }, null, -1)
|
|
2210
2210
|
])], 2)
|
|
@@ -2218,134 +2218,130 @@ const ve = Ee("menu", () => {
|
|
|
2218
2218
|
]);
|
|
2219
2219
|
};
|
|
2220
2220
|
}
|
|
2221
|
-
}),
|
|
2221
|
+
}), Ka = /* @__PURE__ */ ue(Ra, [["__scopeId", "data-v-ec17777f"]]), ja = {
|
|
2222
2222
|
key: 0,
|
|
2223
2223
|
class: "layout layout--sidebar"
|
|
2224
|
-
},
|
|
2224
|
+
}, Wa = { class: "layout__main" }, qa = { class: "layout__header" }, Ha = { class: "layout__content" }, Ya = {
|
|
2225
2225
|
key: 1,
|
|
2226
2226
|
class: "layout layout--top"
|
|
2227
|
-
},
|
|
2227
|
+
}, Ga = { class: "layout__top-menu" }, Xa = { class: "layout__main" }, Ja = { class: "layout__content" }, Za = {
|
|
2228
2228
|
key: 2,
|
|
2229
2229
|
class: "layout layout--mix"
|
|
2230
|
-
},
|
|
2230
|
+
}, Qa = { class: "layout__mix-top-menu" }, en = { class: "layout__mix-body" }, tn = { class: "layout__content" }, sn = /* @__PURE__ */ ie({
|
|
2231
2231
|
__name: "index",
|
|
2232
2232
|
props: {
|
|
2233
|
-
logoSrc: {
|
|
2233
|
+
logoSrc: {}
|
|
2234
2234
|
},
|
|
2235
2235
|
setup(t) {
|
|
2236
|
-
const
|
|
2237
|
-
() =>
|
|
2238
|
-
), i =
|
|
2239
|
-
return (
|
|
2240
|
-
const
|
|
2241
|
-
return
|
|
2242
|
-
i.value === "sidebar" ? (
|
|
2236
|
+
const l = t, d = k(() => l.logoSrc || Ue("/vite.svg")), s = he(), a = _e(), h = k(
|
|
2237
|
+
() => s.isCollapsed ? "64px" : "210px"
|
|
2238
|
+
), i = k(() => s.layout), v = k(() => i.value === "mix"), m = k(() => i.value === "sidebar" ? a.menuList : i.value === "mix" ? s.mixSubMenus : []), f = k(() => v.value ? m.value.length > 0 : !1);
|
|
2239
|
+
return (_, g) => {
|
|
2240
|
+
const u = ut("router-view");
|
|
2241
|
+
return o(), c(W, null, [
|
|
2242
|
+
i.value === "sidebar" ? (o(), c("div", ja, [
|
|
2243
2243
|
e("aside", {
|
|
2244
2244
|
class: "layout__aside",
|
|
2245
|
-
style:
|
|
2245
|
+
style: Ie({ width: h.value })
|
|
2246
2246
|
}, [
|
|
2247
|
-
b(
|
|
2248
|
-
"menu-list":
|
|
2247
|
+
b(at, {
|
|
2248
|
+
"menu-list": m.value,
|
|
2249
2249
|
"show-logo": !0,
|
|
2250
2250
|
"show-user": !0,
|
|
2251
|
-
"logo-src":
|
|
2251
|
+
"logo-src": d.value
|
|
2252
2252
|
}, null, 8, ["menu-list", "logo-src"])
|
|
2253
2253
|
], 4),
|
|
2254
|
-
e("div",
|
|
2255
|
-
e("header",
|
|
2256
|
-
b(
|
|
2254
|
+
e("div", Wa, [
|
|
2255
|
+
e("header", qa, [
|
|
2256
|
+
b(js)
|
|
2257
2257
|
]),
|
|
2258
|
-
e("main",
|
|
2259
|
-
b(
|
|
2258
|
+
e("main", Ha, [
|
|
2259
|
+
b(u)
|
|
2260
2260
|
])
|
|
2261
2261
|
])
|
|
2262
|
-
])) :
|
|
2263
|
-
i.value === "top" ? (
|
|
2264
|
-
e("div",
|
|
2265
|
-
b(
|
|
2266
|
-
"logo-src": n.logoSrc
|
|
2267
|
-
}, null, 8, ["logo-src"])
|
|
2262
|
+
])) : P("", !0),
|
|
2263
|
+
i.value === "top" ? (o(), c("div", Ya, [
|
|
2264
|
+
e("div", Ga, [
|
|
2265
|
+
b(Zo, { "logo-src": d.value }, null, 8, ["logo-src"])
|
|
2268
2266
|
]),
|
|
2269
|
-
e("div",
|
|
2270
|
-
e("main",
|
|
2271
|
-
b(
|
|
2267
|
+
e("div", Xa, [
|
|
2268
|
+
e("main", Ja, [
|
|
2269
|
+
b(u)
|
|
2272
2270
|
])
|
|
2273
2271
|
])
|
|
2274
|
-
])) :
|
|
2275
|
-
i.value === "mix" ? (
|
|
2276
|
-
e("div",
|
|
2277
|
-
b(
|
|
2278
|
-
"logo-src": n.logoSrc
|
|
2279
|
-
}, null, 8, ["logo-src"])
|
|
2272
|
+
])) : P("", !0),
|
|
2273
|
+
i.value === "mix" ? (o(), c("div", Za, [
|
|
2274
|
+
e("div", Qa, [
|
|
2275
|
+
b(Ka, { "logo-src": d.value }, null, 8, ["logo-src"])
|
|
2280
2276
|
]),
|
|
2281
|
-
e("div",
|
|
2282
|
-
|
|
2277
|
+
e("div", en, [
|
|
2278
|
+
f.value ? (o(), c("aside", {
|
|
2283
2279
|
key: 0,
|
|
2284
2280
|
class: "layout__aside",
|
|
2285
|
-
style:
|
|
2281
|
+
style: Ie({ width: h.value })
|
|
2286
2282
|
}, [
|
|
2287
|
-
b(
|
|
2288
|
-
"menu-list":
|
|
2283
|
+
b(at, {
|
|
2284
|
+
"menu-list": m.value,
|
|
2289
2285
|
"show-logo": !1,
|
|
2290
2286
|
"show-user": !1
|
|
2291
2287
|
}, null, 8, ["menu-list"])
|
|
2292
|
-
], 4)) :
|
|
2293
|
-
e("main",
|
|
2294
|
-
b(
|
|
2288
|
+
], 4)) : P("", !0),
|
|
2289
|
+
e("main", tn, [
|
|
2290
|
+
b(u)
|
|
2295
2291
|
])
|
|
2296
2292
|
])
|
|
2297
|
-
])) :
|
|
2293
|
+
])) : P("", !0)
|
|
2298
2294
|
], 64);
|
|
2299
2295
|
};
|
|
2300
2296
|
}
|
|
2301
|
-
}),
|
|
2297
|
+
}), mt = /* @__PURE__ */ ue(sn, [["__scopeId", "data-v-4e5f3bf5"]]), on = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
2302
2298
|
__proto__: null,
|
|
2303
|
-
default:
|
|
2304
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
2299
|
+
default: mt
|
|
2300
|
+
}, Symbol.toStringTag, { value: "Module" })), an = { class: "tabs-wrapper" }, nn = { class: "tab-label" }, ln = ["onClick"], rn = /* @__PURE__ */ ie({
|
|
2305
2301
|
__name: "Tabs",
|
|
2306
2302
|
setup(t) {
|
|
2307
|
-
const
|
|
2303
|
+
const l = Me(), d = fe(), s = k(() => {
|
|
2308
2304
|
const v = [];
|
|
2309
|
-
return
|
|
2310
|
-
var
|
|
2311
|
-
(
|
|
2312
|
-
name:
|
|
2313
|
-
title:
|
|
2314
|
-
path:
|
|
2305
|
+
return l.matched.forEach((m) => {
|
|
2306
|
+
var f;
|
|
2307
|
+
(f = m.meta) != null && f.affix && v.push({
|
|
2308
|
+
name: m.name,
|
|
2309
|
+
title: m.meta.title,
|
|
2310
|
+
path: m.path,
|
|
2315
2311
|
affix: !0
|
|
2316
2312
|
});
|
|
2317
2313
|
}), v;
|
|
2318
|
-
}),
|
|
2319
|
-
|
|
2320
|
-
},
|
|
2321
|
-
const
|
|
2322
|
-
if (!(
|
|
2323
|
-
const
|
|
2324
|
-
_ &&
|
|
2314
|
+
}), a = k(() => l.path), h = (v) => {
|
|
2315
|
+
d.push(v);
|
|
2316
|
+
}, i = (v) => {
|
|
2317
|
+
const m = s.value.find((f) => f.path === v);
|
|
2318
|
+
if (!(m != null && m.affix) && v === a.value) {
|
|
2319
|
+
const f = s.value.findIndex((g) => g.path === v), _ = s.value[f - 1] || s.value[f + 1];
|
|
2320
|
+
_ && d.push(_.path);
|
|
2325
2321
|
}
|
|
2326
2322
|
};
|
|
2327
|
-
return (v,
|
|
2328
|
-
b(
|
|
2329
|
-
modelValue:
|
|
2330
|
-
"onUpdate:modelValue":
|
|
2323
|
+
return (v, m) => (o(), c("div", an, [
|
|
2324
|
+
b(n(Mt), {
|
|
2325
|
+
modelValue: a.value,
|
|
2326
|
+
"onUpdate:modelValue": m[0] || (m[0] = (f) => a.value = f),
|
|
2331
2327
|
type: "card",
|
|
2332
|
-
onTabClick:
|
|
2328
|
+
onTabClick: h
|
|
2333
2329
|
}, {
|
|
2334
2330
|
default: M(() => [
|
|
2335
|
-
(
|
|
2336
|
-
key:
|
|
2337
|
-
name:
|
|
2338
|
-
label:
|
|
2339
|
-
closable: !
|
|
2331
|
+
(o(!0), c(W, null, Z(s.value, (f) => (o(), D(n(St), {
|
|
2332
|
+
key: f.path,
|
|
2333
|
+
name: f.path,
|
|
2334
|
+
label: f.title,
|
|
2335
|
+
closable: !f.affix
|
|
2340
2336
|
}, {
|
|
2341
2337
|
label: M(() => [
|
|
2342
|
-
e("span",
|
|
2343
|
-
|
|
2344
|
-
|
|
2338
|
+
e("span", nn, [
|
|
2339
|
+
be(x(f.title) + " ", 1),
|
|
2340
|
+
f.affix ? P("", !0) : (o(), c("span", {
|
|
2345
2341
|
key: 0,
|
|
2346
2342
|
class: "tab-close",
|
|
2347
|
-
onClick:
|
|
2348
|
-
}, " ✕ ", 8,
|
|
2343
|
+
onClick: De((_) => i(f.path), ["stop"])
|
|
2344
|
+
}, " ✕ ", 8, ln))
|
|
2349
2345
|
])
|
|
2350
2346
|
]),
|
|
2351
2347
|
_: 2
|
|
@@ -2355,19 +2351,19 @@ const ve = Ee("menu", () => {
|
|
|
2355
2351
|
}, 8, ["modelValue"])
|
|
2356
2352
|
]));
|
|
2357
2353
|
}
|
|
2358
|
-
}),
|
|
2359
|
-
function
|
|
2360
|
-
return
|
|
2354
|
+
}), Jn = /* @__PURE__ */ ue(rn, [["__scopeId", "data-v-0a4ca30d"]]), cn = {}, un = { class: "footer" };
|
|
2355
|
+
function dn(t, l) {
|
|
2356
|
+
return o(), c("div", un, [...l[0] || (l[0] = [
|
|
2361
2357
|
e("span", null, "Copyright © 2024 Xto Demo. All Rights Reserved.", -1)
|
|
2362
2358
|
])]);
|
|
2363
2359
|
}
|
|
2364
|
-
const
|
|
2360
|
+
const Zn = /* @__PURE__ */ ue(cn, [["render", dn], ["__scopeId", "data-v-ac63e349"]]), mn = { class: "login-page" }, pn = { class: "login-form-section" }, vn = { class: "form-container" }, hn = { class: "input-wrapper" }, _n = { class: "input-wrapper" }, fn = { class: "form-options" }, gn = { key: 0 }, yn = { key: 1 }, bn = /* @__PURE__ */ ie({
|
|
2365
2361
|
__name: "index",
|
|
2366
2362
|
setup(t) {
|
|
2367
|
-
const
|
|
2363
|
+
const l = fe(), d = Me(), s = y(!1), a = y(!1), h = Ye({
|
|
2368
2364
|
uid: "",
|
|
2369
2365
|
password: ""
|
|
2370
|
-
}),
|
|
2366
|
+
}), i = {
|
|
2371
2367
|
uid: [
|
|
2372
2368
|
{ required: !0, message: "请输入用户名", trigger: "blur" }
|
|
2373
2369
|
],
|
|
@@ -2375,55 +2371,55 @@ const Xn = /* @__PURE__ */ ie(ln, [["render", cn], ["__scopeId", "data-v-ac63e34
|
|
|
2375
2371
|
{ required: !0, message: "请输入密码", trigger: "blur" },
|
|
2376
2372
|
{ min: 6, message: "密码长度至少6位", trigger: "blur" }
|
|
2377
2373
|
]
|
|
2378
|
-
}, v = y(),
|
|
2379
|
-
var
|
|
2374
|
+
}, v = y(), m = async () => {
|
|
2375
|
+
var f;
|
|
2380
2376
|
try {
|
|
2381
|
-
await ((
|
|
2382
|
-
const _ = await
|
|
2383
|
-
appId:
|
|
2384
|
-
clientId:
|
|
2385
|
-
uid:
|
|
2386
|
-
password:
|
|
2377
|
+
await ((f = v.value) == null ? void 0 : f.validate()), s.value = !0;
|
|
2378
|
+
const _ = await ft({
|
|
2379
|
+
appId: Ee(),
|
|
2380
|
+
clientId: ct(),
|
|
2381
|
+
uid: h.uid,
|
|
2382
|
+
password: h.password,
|
|
2387
2383
|
code: !0
|
|
2388
2384
|
});
|
|
2389
|
-
|
|
2390
|
-
const
|
|
2391
|
-
|
|
2385
|
+
it(_), Nt.success("登录成功");
|
|
2386
|
+
const g = d.query.redirect;
|
|
2387
|
+
g ? l.push(g) : l.push({ name: "Dashboard" });
|
|
2392
2388
|
} catch (_) {
|
|
2393
2389
|
console.error("登录失败:", _);
|
|
2394
2390
|
} finally {
|
|
2395
2391
|
s.value = !1;
|
|
2396
2392
|
}
|
|
2397
2393
|
};
|
|
2398
|
-
return (
|
|
2399
|
-
_[10] || (_[10] =
|
|
2400
|
-
e("div",
|
|
2401
|
-
e("div",
|
|
2394
|
+
return (f, _) => (o(), c("div", mn, [
|
|
2395
|
+
_[10] || (_[10] = Te('<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)),
|
|
2396
|
+
e("div", pn, [
|
|
2397
|
+
e("div", vn, [
|
|
2402
2398
|
_[7] || (_[7] = e("div", { class: "form-header" }, [
|
|
2403
2399
|
e("h2", null, "欢迎登录"),
|
|
2404
2400
|
e("p", null, "请输入您的账户信息")
|
|
2405
2401
|
], -1)),
|
|
2406
|
-
b(
|
|
2402
|
+
b(n(It), {
|
|
2407
2403
|
ref_key: "formRef",
|
|
2408
2404
|
ref: v,
|
|
2409
|
-
model:
|
|
2410
|
-
rules:
|
|
2405
|
+
model: h,
|
|
2406
|
+
rules: i,
|
|
2411
2407
|
class: "login-form",
|
|
2412
2408
|
"label-width": "0"
|
|
2413
2409
|
}, {
|
|
2414
2410
|
default: M(() => [
|
|
2415
|
-
b(
|
|
2411
|
+
b(n(Ae), { prop: "uid" }, {
|
|
2416
2412
|
default: M(() => [
|
|
2417
|
-
e("div",
|
|
2413
|
+
e("div", hn, [
|
|
2418
2414
|
_[3] || (_[3] = e("label", { class: "input-label" }, "用户名", -1)),
|
|
2419
|
-
b(
|
|
2420
|
-
modelValue:
|
|
2421
|
-
"onUpdate:modelValue": _[0] || (_[0] = (
|
|
2415
|
+
b(n(ot), {
|
|
2416
|
+
modelValue: h.uid,
|
|
2417
|
+
"onUpdate:modelValue": _[0] || (_[0] = (g) => h.uid = g),
|
|
2422
2418
|
placeholder: "请输入用户名",
|
|
2423
2419
|
size: "large"
|
|
2424
2420
|
}, {
|
|
2425
2421
|
prefix: M(() => [
|
|
2426
|
-
b(
|
|
2422
|
+
b(n(I), {
|
|
2427
2423
|
name: "user",
|
|
2428
2424
|
size: 18
|
|
2429
2425
|
})
|
|
@@ -2434,21 +2430,21 @@ const Xn = /* @__PURE__ */ ie(ln, [["render", cn], ["__scopeId", "data-v-ac63e34
|
|
|
2434
2430
|
]),
|
|
2435
2431
|
_: 1
|
|
2436
2432
|
}),
|
|
2437
|
-
b(
|
|
2433
|
+
b(n(Ae), { prop: "password" }, {
|
|
2438
2434
|
default: M(() => [
|
|
2439
|
-
e("div",
|
|
2435
|
+
e("div", _n, [
|
|
2440
2436
|
_[4] || (_[4] = e("label", { class: "input-label" }, "密码", -1)),
|
|
2441
|
-
b(
|
|
2442
|
-
modelValue:
|
|
2443
|
-
"onUpdate:modelValue": _[1] || (_[1] = (
|
|
2437
|
+
b(n(ot), {
|
|
2438
|
+
modelValue: h.password,
|
|
2439
|
+
"onUpdate:modelValue": _[1] || (_[1] = (g) => h.password = g),
|
|
2444
2440
|
type: "password",
|
|
2445
2441
|
placeholder: "请输入密码",
|
|
2446
2442
|
size: "large",
|
|
2447
2443
|
"show-password": "",
|
|
2448
|
-
onKeyup:
|
|
2444
|
+
onKeyup: $t(m, ["enter"])
|
|
2449
2445
|
}, {
|
|
2450
2446
|
prefix: M(() => [
|
|
2451
|
-
b(
|
|
2447
|
+
b(n(I), {
|
|
2452
2448
|
name: "lock",
|
|
2453
2449
|
size: 18
|
|
2454
2450
|
})
|
|
@@ -2459,13 +2455,13 @@ const Xn = /* @__PURE__ */ ie(ln, [["render", cn], ["__scopeId", "data-v-ac63e34
|
|
|
2459
2455
|
]),
|
|
2460
2456
|
_: 1
|
|
2461
2457
|
}),
|
|
2462
|
-
e("div",
|
|
2463
|
-
b(
|
|
2464
|
-
modelValue:
|
|
2465
|
-
"onUpdate:modelValue": _[2] || (_[2] = (
|
|
2458
|
+
e("div", fn, [
|
|
2459
|
+
b(n(Et), {
|
|
2460
|
+
modelValue: a.value,
|
|
2461
|
+
"onUpdate:modelValue": _[2] || (_[2] = (g) => a.value = g)
|
|
2466
2462
|
}, {
|
|
2467
2463
|
default: M(() => [..._[5] || (_[5] = [
|
|
2468
|
-
|
|
2464
|
+
be("记住我", -1)
|
|
2469
2465
|
])]),
|
|
2470
2466
|
_: 1
|
|
2471
2467
|
}, 8, ["modelValue"]),
|
|
@@ -2474,17 +2470,17 @@ const Xn = /* @__PURE__ */ ie(ln, [["render", cn], ["__scopeId", "data-v-ac63e34
|
|
|
2474
2470
|
class: "forgot-link"
|
|
2475
2471
|
}, "忘记密码?", -1))
|
|
2476
2472
|
]),
|
|
2477
|
-
b(
|
|
2473
|
+
b(n(Ae), null, {
|
|
2478
2474
|
default: M(() => [
|
|
2479
|
-
b(
|
|
2475
|
+
b(n(Le), {
|
|
2480
2476
|
type: "primary",
|
|
2481
2477
|
size: "large",
|
|
2482
2478
|
loading: s.value,
|
|
2483
2479
|
class: "login-btn",
|
|
2484
|
-
onClick:
|
|
2480
|
+
onClick: m
|
|
2485
2481
|
}, {
|
|
2486
2482
|
default: M(() => [
|
|
2487
|
-
s.value ? (
|
|
2483
|
+
s.value ? (o(), c("span", yn, "登录中...")) : (o(), c("span", gn, "登 录"))
|
|
2488
2484
|
]),
|
|
2489
2485
|
_: 1
|
|
2490
2486
|
}, 8, ["loading"])
|
|
@@ -2494,7 +2490,7 @@ const Xn = /* @__PURE__ */ ie(ln, [["render", cn], ["__scopeId", "data-v-ac63e34
|
|
|
2494
2490
|
]),
|
|
2495
2491
|
_: 1
|
|
2496
2492
|
}, 8, ["model"]),
|
|
2497
|
-
_[8] || (_[8] =
|
|
2493
|
+
_[8] || (_[8] = Te('<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))
|
|
2498
2494
|
]),
|
|
2499
2495
|
_[9] || (_[9] = e("div", { class: "copyright" }, [
|
|
2500
2496
|
e("p", null, "© 2024 XTO Team. All rights reserved.")
|
|
@@ -2502,31 +2498,31 @@ const Xn = /* @__PURE__ */ ie(ln, [["render", cn], ["__scopeId", "data-v-ac63e34
|
|
|
2502
2498
|
])
|
|
2503
2499
|
]));
|
|
2504
2500
|
}
|
|
2505
|
-
}),
|
|
2501
|
+
}), kn = /* @__PURE__ */ ue(bn, [["__scopeId", "data-v-20b19b53"]]), wn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
2506
2502
|
__proto__: null,
|
|
2507
|
-
default:
|
|
2508
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
2503
|
+
default: kn
|
|
2504
|
+
}, Symbol.toStringTag, { value: "Module" })), xn = { class: "error-page" }, Cn = { class: "error-container" }, $n = { class: "error-content" }, Ln = { class: "error-actions" }, Mn = /* @__PURE__ */ ie({
|
|
2509
2505
|
__name: "404",
|
|
2510
2506
|
setup(t) {
|
|
2511
|
-
const
|
|
2512
|
-
|
|
2507
|
+
const l = fe(), d = () => {
|
|
2508
|
+
l.push("/");
|
|
2513
2509
|
};
|
|
2514
|
-
return (s,
|
|
2515
|
-
e("div",
|
|
2516
|
-
|
|
2510
|
+
return (s, a) => (o(), c("div", xn, [
|
|
2511
|
+
e("div", Cn, [
|
|
2512
|
+
a[7] || (a[7] = e("div", { class: "error-bg" }, [
|
|
2517
2513
|
e("div", { class: "bg-circle circle-1" }),
|
|
2518
2514
|
e("div", { class: "bg-circle circle-2" }),
|
|
2519
2515
|
e("div", { class: "bg-circle circle-3" })
|
|
2520
2516
|
], -1)),
|
|
2521
|
-
e("div",
|
|
2522
|
-
|
|
2523
|
-
e("div",
|
|
2524
|
-
b(
|
|
2517
|
+
e("div", $n, [
|
|
2518
|
+
a[5] || (a[5] = Te('<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)),
|
|
2519
|
+
e("div", Ln, [
|
|
2520
|
+
b(n(Le), {
|
|
2525
2521
|
type: "primary",
|
|
2526
2522
|
size: "large",
|
|
2527
|
-
onClick:
|
|
2523
|
+
onClick: d
|
|
2528
2524
|
}, {
|
|
2529
|
-
icon: M(() => [...
|
|
2525
|
+
icon: M(() => [...a[1] || (a[1] = [
|
|
2530
2526
|
e("svg", {
|
|
2531
2527
|
viewBox: "0 0 24 24",
|
|
2532
2528
|
fill: "none",
|
|
@@ -2538,15 +2534,15 @@ const Xn = /* @__PURE__ */ ie(ln, [["render", cn], ["__scopeId", "data-v-ac63e34
|
|
|
2538
2534
|
], -1)
|
|
2539
2535
|
])]),
|
|
2540
2536
|
default: M(() => [
|
|
2541
|
-
|
|
2537
|
+
a[2] || (a[2] = be(" 返回首页 ", -1))
|
|
2542
2538
|
]),
|
|
2543
2539
|
_: 1
|
|
2544
2540
|
}),
|
|
2545
|
-
b(
|
|
2541
|
+
b(n(Le), {
|
|
2546
2542
|
size: "large",
|
|
2547
|
-
onClick:
|
|
2543
|
+
onClick: a[0] || (a[0] = (h) => n(l).go(-1))
|
|
2548
2544
|
}, {
|
|
2549
|
-
icon: M(() => [...
|
|
2545
|
+
icon: M(() => [...a[3] || (a[3] = [
|
|
2550
2546
|
e("svg", {
|
|
2551
2547
|
viewBox: "0 0 24 24",
|
|
2552
2548
|
fill: "none",
|
|
@@ -2557,12 +2553,12 @@ const Xn = /* @__PURE__ */ ie(ln, [["render", cn], ["__scopeId", "data-v-ac63e34
|
|
|
2557
2553
|
], -1)
|
|
2558
2554
|
])]),
|
|
2559
2555
|
default: M(() => [
|
|
2560
|
-
|
|
2556
|
+
a[4] || (a[4] = be(" 返回上一页 ", -1))
|
|
2561
2557
|
]),
|
|
2562
2558
|
_: 1
|
|
2563
2559
|
})
|
|
2564
2560
|
]),
|
|
2565
|
-
|
|
2561
|
+
a[6] || (a[6] = e("div", { class: "error-tip" }, [
|
|
2566
2562
|
e("p", null, "您可以尝试:"),
|
|
2567
2563
|
e("ul", null, [
|
|
2568
2564
|
e("li", null, "检查您输入的网址是否正确"),
|
|
@@ -2574,31 +2570,31 @@ const Xn = /* @__PURE__ */ ie(ln, [["render", cn], ["__scopeId", "data-v-ac63e34
|
|
|
2574
2570
|
])
|
|
2575
2571
|
]));
|
|
2576
2572
|
}
|
|
2577
|
-
}),
|
|
2573
|
+
}), Sn = /* @__PURE__ */ ue(Mn, [["__scopeId", "data-v-c36cc0ad"]]), pt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
2578
2574
|
__proto__: null,
|
|
2579
|
-
default:
|
|
2580
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
2575
|
+
default: Sn
|
|
2576
|
+
}, Symbol.toStringTag, { value: "Module" })), Nn = { class: "error-page" }, In = { class: "error-container" }, En = { class: "error-content" }, Un = { class: "error-actions" }, zn = /* @__PURE__ */ ie({
|
|
2581
2577
|
__name: "403",
|
|
2582
2578
|
setup(t) {
|
|
2583
|
-
const
|
|
2584
|
-
|
|
2579
|
+
const l = fe(), d = () => {
|
|
2580
|
+
l.push("/");
|
|
2585
2581
|
};
|
|
2586
|
-
return (s,
|
|
2587
|
-
e("div",
|
|
2588
|
-
|
|
2582
|
+
return (s, a) => (o(), c("div", Nn, [
|
|
2583
|
+
e("div", In, [
|
|
2584
|
+
a[7] || (a[7] = e("div", { class: "error-bg" }, [
|
|
2589
2585
|
e("div", { class: "bg-circle circle-1" }),
|
|
2590
2586
|
e("div", { class: "bg-circle circle-2" }),
|
|
2591
2587
|
e("div", { class: "bg-circle circle-3" })
|
|
2592
2588
|
], -1)),
|
|
2593
|
-
e("div",
|
|
2594
|
-
|
|
2595
|
-
e("div",
|
|
2596
|
-
b(
|
|
2589
|
+
e("div", En, [
|
|
2590
|
+
a[5] || (a[5] = Te('<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)),
|
|
2591
|
+
e("div", Un, [
|
|
2592
|
+
b(n(Le), {
|
|
2597
2593
|
type: "primary",
|
|
2598
2594
|
size: "large",
|
|
2599
|
-
onClick:
|
|
2595
|
+
onClick: d
|
|
2600
2596
|
}, {
|
|
2601
|
-
icon: M(() => [...
|
|
2597
|
+
icon: M(() => [...a[1] || (a[1] = [
|
|
2602
2598
|
e("svg", {
|
|
2603
2599
|
viewBox: "0 0 24 24",
|
|
2604
2600
|
fill: "none",
|
|
@@ -2610,15 +2606,15 @@ const Xn = /* @__PURE__ */ ie(ln, [["render", cn], ["__scopeId", "data-v-ac63e34
|
|
|
2610
2606
|
], -1)
|
|
2611
2607
|
])]),
|
|
2612
2608
|
default: M(() => [
|
|
2613
|
-
|
|
2609
|
+
a[2] || (a[2] = be(" 返回首页 ", -1))
|
|
2614
2610
|
]),
|
|
2615
2611
|
_: 1
|
|
2616
2612
|
}),
|
|
2617
|
-
b(
|
|
2613
|
+
b(n(Le), {
|
|
2618
2614
|
size: "large",
|
|
2619
|
-
onClick:
|
|
2615
|
+
onClick: a[0] || (a[0] = (h) => n(l).go(-1))
|
|
2620
2616
|
}, {
|
|
2621
|
-
icon: M(() => [...
|
|
2617
|
+
icon: M(() => [...a[3] || (a[3] = [
|
|
2622
2618
|
e("svg", {
|
|
2623
2619
|
viewBox: "0 0 24 24",
|
|
2624
2620
|
fill: "none",
|
|
@@ -2629,12 +2625,12 @@ const Xn = /* @__PURE__ */ ie(ln, [["render", cn], ["__scopeId", "data-v-ac63e34
|
|
|
2629
2625
|
], -1)
|
|
2630
2626
|
])]),
|
|
2631
2627
|
default: M(() => [
|
|
2632
|
-
|
|
2628
|
+
a[4] || (a[4] = be(" 返回上一页 ", -1))
|
|
2633
2629
|
]),
|
|
2634
2630
|
_: 1
|
|
2635
2631
|
})
|
|
2636
2632
|
]),
|
|
2637
|
-
|
|
2633
|
+
a[6] || (a[6] = e("div", { class: "error-tip" }, [
|
|
2638
2634
|
e("p", null, "可能的原因:"),
|
|
2639
2635
|
e("ul", null, [
|
|
2640
2636
|
e("li", null, "您的账号权限不足"),
|
|
@@ -2646,17 +2642,17 @@ const Xn = /* @__PURE__ */ ie(ln, [["render", cn], ["__scopeId", "data-v-ac63e34
|
|
|
2646
2642
|
])
|
|
2647
2643
|
]));
|
|
2648
2644
|
}
|
|
2649
|
-
}),
|
|
2650
|
-
function
|
|
2651
|
-
const t =
|
|
2645
|
+
}), Qn = /* @__PURE__ */ ue(zn, [["__scopeId", "data-v-e6e1f7ac"]]);
|
|
2646
|
+
function el() {
|
|
2647
|
+
const t = he(), l = ce(), d = Pe(), s = k(() => l.userName || ""), a = k(() => l.userInfo), h = k(() => t.appName), i = k(() => d.isLoggedIn), v = k(() => t.isDark), m = k(() => t.theme), f = k(() => t.isCollapsed), _ = k(() => t.layout);
|
|
2652
2648
|
return {
|
|
2653
2649
|
userName: s,
|
|
2654
|
-
userInfo:
|
|
2655
|
-
appName:
|
|
2656
|
-
isLoggedIn:
|
|
2650
|
+
userInfo: a,
|
|
2651
|
+
appName: h,
|
|
2652
|
+
isLoggedIn: i,
|
|
2657
2653
|
isDark: v,
|
|
2658
|
-
theme:
|
|
2659
|
-
isCollapsed:
|
|
2654
|
+
theme: m,
|
|
2655
|
+
isCollapsed: f,
|
|
2660
2656
|
layout: _,
|
|
2661
2657
|
toggleTheme: () => {
|
|
2662
2658
|
t.toggleTheme();
|
|
@@ -2666,124 +2662,124 @@ function Zn() {
|
|
|
2666
2662
|
}
|
|
2667
2663
|
};
|
|
2668
2664
|
}
|
|
2669
|
-
function
|
|
2670
|
-
const t =
|
|
2665
|
+
function tl() {
|
|
2666
|
+
const t = ce();
|
|
2671
2667
|
return {
|
|
2672
|
-
isLoggedIn:
|
|
2668
|
+
isLoggedIn: k(() => t.isLoggedIn)
|
|
2673
2669
|
};
|
|
2674
2670
|
}
|
|
2675
|
-
function
|
|
2676
|
-
const { rules:
|
|
2677
|
-
|
|
2678
|
-
}, _ = (
|
|
2679
|
-
Object.assign(
|
|
2680
|
-
},
|
|
2681
|
-
v.value = !1,
|
|
2682
|
-
},
|
|
2683
|
-
var
|
|
2684
|
-
Object.keys(t).forEach((
|
|
2685
|
-
|
|
2686
|
-
}), (
|
|
2671
|
+
function sl(t, l = {}) {
|
|
2672
|
+
const { rules: d, onSubmit: s } = l, a = y(), h = Ye({ ...t }), i = y(!1), v = y(!1), m = y(!1), f = () => {
|
|
2673
|
+
u(), m.value = !1, v.value = !0;
|
|
2674
|
+
}, _ = (A) => {
|
|
2675
|
+
Object.assign(h, A), m.value = !0, v.value = !0;
|
|
2676
|
+
}, g = () => {
|
|
2677
|
+
v.value = !1, u();
|
|
2678
|
+
}, u = () => {
|
|
2679
|
+
var A;
|
|
2680
|
+
Object.keys(t).forEach((O) => {
|
|
2681
|
+
h[O] = t[O];
|
|
2682
|
+
}), (A = a.value) == null || A.resetFields();
|
|
2687
2683
|
};
|
|
2688
2684
|
return {
|
|
2689
|
-
formRef:
|
|
2690
|
-
formData:
|
|
2691
|
-
rules:
|
|
2692
|
-
loading:
|
|
2685
|
+
formRef: a,
|
|
2686
|
+
formData: h,
|
|
2687
|
+
rules: d,
|
|
2688
|
+
loading: i,
|
|
2693
2689
|
visible: v,
|
|
2694
|
-
isEdit:
|
|
2695
|
-
openAdd:
|
|
2690
|
+
isEdit: m,
|
|
2691
|
+
openAdd: f,
|
|
2696
2692
|
openEdit: _,
|
|
2697
|
-
close:
|
|
2698
|
-
resetForm:
|
|
2693
|
+
close: g,
|
|
2694
|
+
resetForm: u,
|
|
2699
2695
|
handleSubmit: async () => {
|
|
2700
|
-
var
|
|
2696
|
+
var A;
|
|
2701
2697
|
try {
|
|
2702
|
-
await ((
|
|
2703
|
-
} catch (
|
|
2704
|
-
console.error(
|
|
2698
|
+
await ((A = a.value) == null ? void 0 : A.validate()), i.value = !0, await (s == null ? void 0 : s(h)), g();
|
|
2699
|
+
} catch (O) {
|
|
2700
|
+
console.error(O);
|
|
2705
2701
|
} finally {
|
|
2706
|
-
|
|
2702
|
+
i.value = !1;
|
|
2707
2703
|
}
|
|
2708
2704
|
}
|
|
2709
2705
|
};
|
|
2710
2706
|
}
|
|
2711
|
-
function
|
|
2712
|
-
const { fetchData:
|
|
2707
|
+
function ol(t) {
|
|
2708
|
+
const { fetchData: l, defaultPageSize: d = 10 } = t, s = y(!1), a = y([]), h = y(0), i = y(1), v = y(d), m = Ye({}), f = async () => {
|
|
2713
2709
|
s.value = !0;
|
|
2714
2710
|
try {
|
|
2715
|
-
const
|
|
2716
|
-
...
|
|
2717
|
-
page:
|
|
2711
|
+
const B = {
|
|
2712
|
+
...m,
|
|
2713
|
+
page: i.value,
|
|
2718
2714
|
pageSize: v.value
|
|
2719
|
-
},
|
|
2720
|
-
|
|
2721
|
-
} catch (
|
|
2722
|
-
console.error(
|
|
2715
|
+
}, R = await l(B);
|
|
2716
|
+
a.value = R.list, h.value = R.total;
|
|
2717
|
+
} catch (B) {
|
|
2718
|
+
console.error(B);
|
|
2723
2719
|
} finally {
|
|
2724
2720
|
s.value = !1;
|
|
2725
2721
|
}
|
|
2726
2722
|
}, _ = () => {
|
|
2727
|
-
|
|
2728
|
-
},
|
|
2729
|
-
Object.keys(
|
|
2730
|
-
|
|
2731
|
-
}),
|
|
2732
|
-
},
|
|
2733
|
-
|
|
2734
|
-
},
|
|
2735
|
-
v.value =
|
|
2736
|
-
},
|
|
2737
|
-
|
|
2738
|
-
},
|
|
2739
|
-
current:
|
|
2723
|
+
i.value = 1, f();
|
|
2724
|
+
}, g = () => {
|
|
2725
|
+
Object.keys(m).forEach((B) => {
|
|
2726
|
+
m[B] = void 0;
|
|
2727
|
+
}), i.value = 1, f();
|
|
2728
|
+
}, u = (B) => {
|
|
2729
|
+
i.value = B, f();
|
|
2730
|
+
}, q = (B) => {
|
|
2731
|
+
v.value = B, i.value = 1, f();
|
|
2732
|
+
}, A = () => {
|
|
2733
|
+
f();
|
|
2734
|
+
}, O = k(() => ({
|
|
2735
|
+
current: i.value,
|
|
2740
2736
|
pageSize: v.value,
|
|
2741
|
-
total:
|
|
2737
|
+
total: h.value
|
|
2742
2738
|
}));
|
|
2743
2739
|
return {
|
|
2744
2740
|
loading: s,
|
|
2745
|
-
data:
|
|
2746
|
-
total:
|
|
2747
|
-
currentPage:
|
|
2741
|
+
data: a,
|
|
2742
|
+
total: h,
|
|
2743
|
+
currentPage: i,
|
|
2748
2744
|
pageSize: v,
|
|
2749
|
-
searchParams:
|
|
2750
|
-
pagination:
|
|
2751
|
-
getData:
|
|
2745
|
+
searchParams: m,
|
|
2746
|
+
pagination: O,
|
|
2747
|
+
getData: f,
|
|
2752
2748
|
handleSearch: _,
|
|
2753
|
-
handleReset:
|
|
2754
|
-
handlePageChange:
|
|
2755
|
-
handleSizeChange:
|
|
2756
|
-
refresh:
|
|
2749
|
+
handleReset: g,
|
|
2750
|
+
handlePageChange: u,
|
|
2751
|
+
handleSizeChange: q,
|
|
2752
|
+
refresh: A
|
|
2757
2753
|
};
|
|
2758
2754
|
}
|
|
2759
|
-
const
|
|
2760
|
-
const t =
|
|
2761
|
-
const
|
|
2762
|
-
return (
|
|
2755
|
+
const Qe = ze("locale", () => {
|
|
2756
|
+
const t = N.get("locale") || "zh-CN", l = Ut(t), d = y(t), s = zt(), { t: a, messages: h, setLocale: i, mergeMessages: v } = Pt(), m = k(() => {
|
|
2757
|
+
const u = s.find((q) => q.code === d.value);
|
|
2758
|
+
return (u == null ? void 0 : u.name) || d.value;
|
|
2763
2759
|
});
|
|
2764
2760
|
return {
|
|
2765
|
-
locale:
|
|
2766
|
-
localeName:
|
|
2761
|
+
locale: d,
|
|
2762
|
+
localeName: m,
|
|
2767
2763
|
locales: s,
|
|
2768
|
-
messages:
|
|
2769
|
-
t:
|
|
2770
|
-
changeLocale: (
|
|
2771
|
-
|
|
2764
|
+
messages: h,
|
|
2765
|
+
t: a,
|
|
2766
|
+
changeLocale: (u) => {
|
|
2767
|
+
d.value = u, i(u), N.set("locale", u), l.setLocale(u);
|
|
2772
2768
|
},
|
|
2773
|
-
addMessages: (
|
|
2774
|
-
v(
|
|
2769
|
+
addMessages: (u) => {
|
|
2770
|
+
v(u);
|
|
2775
2771
|
},
|
|
2776
2772
|
initLocale: () => {
|
|
2777
|
-
|
|
2773
|
+
i(t);
|
|
2778
2774
|
},
|
|
2779
|
-
provider:
|
|
2775
|
+
provider: l
|
|
2780
2776
|
};
|
|
2781
|
-
}),
|
|
2777
|
+
}), Pn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
2782
2778
|
__proto__: null,
|
|
2783
|
-
useLocaleStore:
|
|
2779
|
+
useLocaleStore: Qe
|
|
2784
2780
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
2785
|
-
function
|
|
2786
|
-
const t =
|
|
2781
|
+
function al() {
|
|
2782
|
+
const t = Qe();
|
|
2787
2783
|
return {
|
|
2788
2784
|
/** 当前语言代码 */
|
|
2789
2785
|
locale: t.locale,
|
|
@@ -2801,39 +2797,39 @@ function sl() {
|
|
|
2801
2797
|
addMessages: t.addMessages
|
|
2802
2798
|
};
|
|
2803
2799
|
}
|
|
2804
|
-
function
|
|
2805
|
-
return
|
|
2800
|
+
function nl() {
|
|
2801
|
+
return Qe().t;
|
|
2806
2802
|
}
|
|
2807
|
-
function
|
|
2808
|
-
const
|
|
2809
|
-
return
|
|
2803
|
+
function ll(t) {
|
|
2804
|
+
const l = ce(), d = _e();
|
|
2805
|
+
return l.isLoggedIn ? d.hasPermission(t) : !1;
|
|
2810
2806
|
}
|
|
2811
|
-
function
|
|
2812
|
-
return
|
|
2807
|
+
function rl(t) {
|
|
2808
|
+
return ce().isLoggedIn;
|
|
2813
2809
|
}
|
|
2814
|
-
function
|
|
2810
|
+
function il() {
|
|
2815
2811
|
return !0;
|
|
2816
2812
|
}
|
|
2817
|
-
const
|
|
2813
|
+
const vt = [
|
|
2818
2814
|
{
|
|
2819
2815
|
path: "/login",
|
|
2820
2816
|
name: "Login",
|
|
2821
|
-
component: () => Promise.resolve().then(() =>
|
|
2817
|
+
component: () => Promise.resolve().then(() => wn),
|
|
2822
2818
|
meta: {
|
|
2823
2819
|
title: "登录",
|
|
2824
2820
|
hidden: !0
|
|
2825
2821
|
}
|
|
2826
2822
|
}
|
|
2827
|
-
],
|
|
2823
|
+
], ht = {
|
|
2828
2824
|
path: "/",
|
|
2829
2825
|
name: "Layout",
|
|
2830
|
-
component: () => Promise.resolve().then(() =>
|
|
2826
|
+
component: () => Promise.resolve().then(() => on),
|
|
2831
2827
|
redirect: "/dashboard",
|
|
2832
2828
|
children: [
|
|
2833
2829
|
{
|
|
2834
2830
|
path: "/dashboard",
|
|
2835
2831
|
name: "Dashboard",
|
|
2836
|
-
component: () => import("./index-
|
|
2832
|
+
component: () => import("./index-DaSr411h.js"),
|
|
2837
2833
|
meta: {
|
|
2838
2834
|
title: "仪表盘",
|
|
2839
2835
|
icon: "dashboard",
|
|
@@ -2844,7 +2840,7 @@ const mt = [
|
|
|
2844
2840
|
{
|
|
2845
2841
|
path: "/system/user",
|
|
2846
2842
|
name: "SystemUser",
|
|
2847
|
-
component: () => import("./index-
|
|
2843
|
+
component: () => import("./index-HqCkg98V.js"),
|
|
2848
2844
|
meta: {
|
|
2849
2845
|
title: "用户管理",
|
|
2850
2846
|
icon: "user",
|
|
@@ -2854,7 +2850,7 @@ const mt = [
|
|
|
2854
2850
|
{
|
|
2855
2851
|
path: "/system/role",
|
|
2856
2852
|
name: "SystemRole",
|
|
2857
|
-
component: () => import("./index-
|
|
2853
|
+
component: () => import("./index-D2ArmTvR.js"),
|
|
2858
2854
|
meta: {
|
|
2859
2855
|
title: "角色管理",
|
|
2860
2856
|
icon: "role",
|
|
@@ -2864,7 +2860,7 @@ const mt = [
|
|
|
2864
2860
|
{
|
|
2865
2861
|
path: "/system/menu",
|
|
2866
2862
|
name: "SystemMenu",
|
|
2867
|
-
component: () => import("./index-
|
|
2863
|
+
component: () => import("./index-BIRzoxFQ.js"),
|
|
2868
2864
|
meta: {
|
|
2869
2865
|
title: "菜单管理",
|
|
2870
2866
|
icon: "menu",
|
|
@@ -2875,18 +2871,18 @@ const mt = [
|
|
|
2875
2871
|
{
|
|
2876
2872
|
path: "/:pathMatch(.*)*",
|
|
2877
2873
|
name: "CatchAll",
|
|
2878
|
-
component: () => Promise.resolve().then(() =>
|
|
2874
|
+
component: () => Promise.resolve().then(() => pt),
|
|
2879
2875
|
meta: {
|
|
2880
2876
|
title: "404",
|
|
2881
2877
|
hidden: !0
|
|
2882
2878
|
}
|
|
2883
2879
|
}
|
|
2884
2880
|
]
|
|
2885
|
-
},
|
|
2881
|
+
}, cl = [
|
|
2886
2882
|
{
|
|
2887
2883
|
path: "/dashboard",
|
|
2888
2884
|
name: "Dashboard",
|
|
2889
|
-
component: () => import("./index-
|
|
2885
|
+
component: () => import("./index-DaSr411h.js"),
|
|
2890
2886
|
meta: {
|
|
2891
2887
|
title: "仪表盘",
|
|
2892
2888
|
icon: "dashboard",
|
|
@@ -2906,7 +2902,7 @@ const mt = [
|
|
|
2906
2902
|
{
|
|
2907
2903
|
path: "user",
|
|
2908
2904
|
name: "SystemUser",
|
|
2909
|
-
component: () => import("./index-
|
|
2905
|
+
component: () => import("./index-HqCkg98V.js"),
|
|
2910
2906
|
meta: {
|
|
2911
2907
|
title: "用户管理",
|
|
2912
2908
|
icon: "user",
|
|
@@ -2916,7 +2912,7 @@ const mt = [
|
|
|
2916
2912
|
{
|
|
2917
2913
|
path: "role",
|
|
2918
2914
|
name: "SystemRole",
|
|
2919
|
-
component: () => import("./index-
|
|
2915
|
+
component: () => import("./index-D2ArmTvR.js"),
|
|
2920
2916
|
meta: {
|
|
2921
2917
|
title: "角色管理",
|
|
2922
2918
|
icon: "role",
|
|
@@ -2926,7 +2922,7 @@ const mt = [
|
|
|
2926
2922
|
{
|
|
2927
2923
|
path: "menu",
|
|
2928
2924
|
name: "SystemMenu",
|
|
2929
|
-
component: () => import("./index-
|
|
2925
|
+
component: () => import("./index-BIRzoxFQ.js"),
|
|
2930
2926
|
meta: {
|
|
2931
2927
|
title: "菜单管理",
|
|
2932
2928
|
icon: "menu",
|
|
@@ -2935,7 +2931,7 @@ const mt = [
|
|
|
2935
2931
|
}
|
|
2936
2932
|
]
|
|
2937
2933
|
}
|
|
2938
|
-
],
|
|
2934
|
+
], Tn = [
|
|
2939
2935
|
{
|
|
2940
2936
|
menuCode: "dashboard",
|
|
2941
2937
|
menuName: "仪表盘",
|
|
@@ -2983,20 +2979,20 @@ const mt = [
|
|
|
2983
2979
|
}
|
|
2984
2980
|
]
|
|
2985
2981
|
}
|
|
2986
|
-
],
|
|
2987
|
-
history:
|
|
2988
|
-
routes: [...
|
|
2982
|
+
], _t = Ge({
|
|
2983
|
+
history: Xe(),
|
|
2984
|
+
routes: [...vt, ht],
|
|
2989
2985
|
scrollBehavior: () => ({ left: 0, top: 0 })
|
|
2990
|
-
}),
|
|
2991
|
-
|
|
2992
|
-
const s =
|
|
2993
|
-
if (s.initTheme(),
|
|
2986
|
+
}), Fn = ["/login"];
|
|
2987
|
+
_t.beforeEach(async (t, l, d) => {
|
|
2988
|
+
const s = he();
|
|
2989
|
+
if (s.initTheme(), lt())
|
|
2994
2990
|
if (t.path === "/login")
|
|
2995
|
-
|
|
2991
|
+
d({ path: "/" });
|
|
2996
2992
|
else {
|
|
2997
|
-
const
|
|
2998
|
-
|
|
2999
|
-
appId:
|
|
2993
|
+
const a = ce();
|
|
2994
|
+
a.isLoggedIn || (a.setUserInfo({
|
|
2995
|
+
appId: Ee(),
|
|
3000
2996
|
userId: "1",
|
|
3001
2997
|
userName: "管理员",
|
|
3002
2998
|
departmentName: "技术部",
|
|
@@ -3004,23 +3000,23 @@ vt.beforeEach(async (t, n, u) => {
|
|
|
3004
3000
|
mobilePhone: "13800138000",
|
|
3005
3001
|
positionName: "管理员",
|
|
3006
3002
|
avatar: ""
|
|
3007
|
-
}),
|
|
3003
|
+
}), _e().setMenuList(Tn)), t.name && t.meta.keepAlive && s.addCachedView(t.name), d();
|
|
3008
3004
|
}
|
|
3009
3005
|
else
|
|
3010
|
-
|
|
3006
|
+
Fn.includes(t.path) ? d() : d("/login");
|
|
3011
3007
|
});
|
|
3012
|
-
function
|
|
3013
|
-
const t =
|
|
3014
|
-
history:
|
|
3015
|
-
routes: [...
|
|
3008
|
+
function ul() {
|
|
3009
|
+
const t = Ge({
|
|
3010
|
+
history: Xe(),
|
|
3011
|
+
routes: [...vt, ht]
|
|
3016
3012
|
});
|
|
3017
|
-
|
|
3013
|
+
_t.matcher = t.matcher;
|
|
3018
3014
|
}
|
|
3019
|
-
function
|
|
3020
|
-
const
|
|
3015
|
+
function dl(t, l = {}) {
|
|
3016
|
+
const d = l.indexPath || "/dashboard", s = l.logoSrc, a = {
|
|
3021
3017
|
path: "/:pathMatch(.*)*",
|
|
3022
3018
|
name: "CatchAll",
|
|
3023
|
-
component: () => Promise.resolve().then(() =>
|
|
3019
|
+
component: () => Promise.resolve().then(() => pt),
|
|
3024
3020
|
meta: {
|
|
3025
3021
|
title: "404"
|
|
3026
3022
|
}
|
|
@@ -3028,84 +3024,84 @@ function cl(t, n = {}) {
|
|
|
3028
3024
|
return {
|
|
3029
3025
|
path: "/",
|
|
3030
3026
|
name: "Layout",
|
|
3031
|
-
component:
|
|
3027
|
+
component: ie({
|
|
3032
3028
|
name: "LayoutWrapper",
|
|
3033
3029
|
render() {
|
|
3034
|
-
return
|
|
3030
|
+
return Lt(mt, { logoSrc: s || Ue("/vite.svg") });
|
|
3035
3031
|
}
|
|
3036
3032
|
}),
|
|
3037
|
-
redirect:
|
|
3038
|
-
children: [...t,
|
|
3033
|
+
redirect: d,
|
|
3034
|
+
children: [...t, a]
|
|
3039
3035
|
};
|
|
3040
3036
|
}
|
|
3041
|
-
function
|
|
3042
|
-
const
|
|
3043
|
-
return
|
|
3044
|
-
history:
|
|
3037
|
+
function ml(t, l = {}) {
|
|
3038
|
+
const d = l.base || gt();
|
|
3039
|
+
return Ge({
|
|
3040
|
+
history: Xe(d),
|
|
3045
3041
|
routes: t,
|
|
3046
3042
|
scrollBehavior: () => ({ left: 0, top: 0 })
|
|
3047
3043
|
});
|
|
3048
3044
|
}
|
|
3049
|
-
const
|
|
3050
|
-
function
|
|
3051
|
-
if (
|
|
3052
|
-
const
|
|
3053
|
-
return
|
|
3045
|
+
const Dn = ["login", "404", "403", "/login", "/404", "/403"];
|
|
3046
|
+
function An(t, l) {
|
|
3047
|
+
if (l.includes(t)) return !0;
|
|
3048
|
+
const d = t.startsWith("/") ? t.slice(1) : t;
|
|
3049
|
+
return l.includes(d);
|
|
3054
3050
|
}
|
|
3055
|
-
function
|
|
3056
|
-
const
|
|
3057
|
-
t.beforeEach(async (s,
|
|
3058
|
-
const
|
|
3059
|
-
if (
|
|
3060
|
-
if (s.path ===
|
|
3061
|
-
|
|
3051
|
+
function pl(t, l = {}) {
|
|
3052
|
+
const d = l.whiteList || Dn;
|
|
3053
|
+
t.beforeEach(async (s, a, h) => {
|
|
3054
|
+
const i = he(), v = ce(), m = _e(), f = i.loginPath || l.loginPath || "/login";
|
|
3055
|
+
if (i.initTheme(), nt())
|
|
3056
|
+
if (s.path === f || s.name === "Login")
|
|
3057
|
+
h({ name: "Dashboard" });
|
|
3062
3058
|
else if (v.isLoggedIn) {
|
|
3063
|
-
if (!
|
|
3059
|
+
if (!m.hasMenu)
|
|
3064
3060
|
try {
|
|
3065
|
-
const
|
|
3066
|
-
|
|
3067
|
-
} catch (
|
|
3068
|
-
console.warn("补拉菜单失败:",
|
|
3061
|
+
const g = l.fetchMenu ? await l.fetchMenu() : await tt(l.appId);
|
|
3062
|
+
m.setMenuList(g);
|
|
3063
|
+
} catch (g) {
|
|
3064
|
+
console.warn("补拉菜单失败:", g);
|
|
3069
3065
|
}
|
|
3070
|
-
s.name && s.meta.keepAlive &&
|
|
3066
|
+
s.name && s.meta.keepAlive && i.addCachedView(s.name), h();
|
|
3071
3067
|
} else
|
|
3072
3068
|
try {
|
|
3073
|
-
if (
|
|
3074
|
-
const
|
|
3075
|
-
v.setUserInfo(
|
|
3069
|
+
if (l.fetchUserInfo) {
|
|
3070
|
+
const g = await l.fetchUserInfo();
|
|
3071
|
+
v.setUserInfo(g);
|
|
3076
3072
|
} else {
|
|
3077
|
-
const
|
|
3078
|
-
v.setUserInfo(
|
|
3073
|
+
const g = await yt();
|
|
3074
|
+
v.setUserInfo(g);
|
|
3079
3075
|
}
|
|
3080
|
-
if (
|
|
3081
|
-
const
|
|
3082
|
-
|
|
3076
|
+
if (l.fetchMenu) {
|
|
3077
|
+
const g = await l.fetchMenu();
|
|
3078
|
+
m.setMenuList(g);
|
|
3083
3079
|
} else {
|
|
3084
|
-
const
|
|
3085
|
-
|
|
3080
|
+
const g = await tt(l.appId);
|
|
3081
|
+
m.setMenuList(g);
|
|
3086
3082
|
}
|
|
3087
|
-
|
|
3088
|
-
} catch (
|
|
3089
|
-
console.error("获取用户信息失败:",
|
|
3083
|
+
l.onLoginSuccess && l.onLoginSuccess(), s.name && s.meta.keepAlive && i.addCachedView(s.name), h({ ...s, replace: !0 });
|
|
3084
|
+
} catch (g) {
|
|
3085
|
+
console.error("获取用户信息失败:", g), v.clearUserInfo(), m.clearMenu(), rt(), h({ name: "Login", query: { redirect: s.fullPath } });
|
|
3090
3086
|
}
|
|
3091
3087
|
else
|
|
3092
|
-
|
|
3088
|
+
An(s.path, d) || s.name === "Login" || s.name === "NotFound" || s.name === "Forbidden" ? h() : h({ name: "Login", query: { redirect: s.fullPath } });
|
|
3093
3089
|
}), t.afterEach(() => {
|
|
3094
3090
|
});
|
|
3095
3091
|
}
|
|
3096
|
-
var
|
|
3097
|
-
const
|
|
3092
|
+
var Bn = /* @__PURE__ */ ((t) => (t[t.ENABLED = 1] = "ENABLED", t[t.DISABLED = 0] = "DISABLED", t))(Bn || {}), Vn = /* @__PURE__ */ ((t) => (t[t.UNKNOWN = 0] = "UNKNOWN", t[t.MALE = 1] = "MALE", t[t.FEMALE = 2] = "FEMALE", t))(Vn || {}), On = /* @__PURE__ */ ((t) => (t[t.DIRECTORY = 0] = "DIRECTORY", t[t.MENU = 1] = "MENU", t[t.BUTTON = 2] = "BUTTON", t))(On || {});
|
|
3093
|
+
const vl = {
|
|
3098
3094
|
1: "启用",
|
|
3099
3095
|
0: "禁用"
|
|
3100
|
-
},
|
|
3096
|
+
}, hl = {
|
|
3101
3097
|
0: "未知",
|
|
3102
3098
|
1: "男",
|
|
3103
3099
|
2: "女"
|
|
3104
|
-
},
|
|
3100
|
+
}, _l = {
|
|
3105
3101
|
0: "目录",
|
|
3106
3102
|
1: "菜单",
|
|
3107
3103
|
2: "按钮"
|
|
3108
|
-
},
|
|
3104
|
+
}, fl = [
|
|
3109
3105
|
{
|
|
3110
3106
|
label: "启用",
|
|
3111
3107
|
value: 1
|
|
@@ -3116,7 +3112,7 @@ const ml = {
|
|
|
3116
3112
|
value: 0
|
|
3117
3113
|
/* DISABLED */
|
|
3118
3114
|
}
|
|
3119
|
-
],
|
|
3115
|
+
], gl = [
|
|
3120
3116
|
{
|
|
3121
3117
|
label: "未知",
|
|
3122
3118
|
value: 0
|
|
@@ -3132,7 +3128,7 @@ const ml = {
|
|
|
3132
3128
|
value: 2
|
|
3133
3129
|
/* FEMALE */
|
|
3134
3130
|
}
|
|
3135
|
-
],
|
|
3131
|
+
], yl = [
|
|
3136
3132
|
{
|
|
3137
3133
|
label: "目录",
|
|
3138
3134
|
value: 0
|
|
@@ -3148,37 +3144,37 @@ const ml = {
|
|
|
3148
3144
|
value: 2
|
|
3149
3145
|
/* BUTTON */
|
|
3150
3146
|
}
|
|
3151
|
-
],
|
|
3152
|
-
mounted(t,
|
|
3153
|
-
var
|
|
3154
|
-
const
|
|
3155
|
-
if (!
|
|
3156
|
-
(
|
|
3147
|
+
], bl = {
|
|
3148
|
+
mounted(t, l) {
|
|
3149
|
+
var i, v;
|
|
3150
|
+
const d = ce(), s = _e();
|
|
3151
|
+
if (!d.isLoggedIn) {
|
|
3152
|
+
(i = t.parentNode) == null || i.removeChild(t);
|
|
3157
3153
|
return;
|
|
3158
3154
|
}
|
|
3159
|
-
const
|
|
3160
|
-
s.hasPermission(
|
|
3155
|
+
const a = l.value, h = Array.isArray(a) ? a : [a];
|
|
3156
|
+
s.hasPermission(h) || (v = t.parentNode) == null || v.removeChild(t);
|
|
3161
3157
|
}
|
|
3162
3158
|
};
|
|
3163
|
-
async function
|
|
3164
|
-
await
|
|
3165
|
-
const
|
|
3166
|
-
return
|
|
3159
|
+
async function kl(t) {
|
|
3160
|
+
await bt(t.basePath);
|
|
3161
|
+
const l = st();
|
|
3162
|
+
return l && kt(l), wt({
|
|
3167
3163
|
appId: t.appId,
|
|
3168
3164
|
clientId: t.clientId,
|
|
3169
|
-
apiBaseUrl:
|
|
3165
|
+
apiBaseUrl: l || t.apiBaseUrl,
|
|
3170
3166
|
basePath: t.basePath
|
|
3171
|
-
}), t.basePath &&
|
|
3172
|
-
const s =
|
|
3167
|
+
}), t.basePath && xt(t.basePath), Promise.resolve().then(() => Ft).then(({ useAppStore: d }) => {
|
|
3168
|
+
const s = d();
|
|
3173
3169
|
t.appName && s.setAppName(t.appName), t.indexPath && s.setIndexPath(t.indexPath), t.loginPath && s.setLoginPath(t.loginPath);
|
|
3174
|
-
}), t.locale && Promise.resolve().then(() =>
|
|
3175
|
-
|
|
3170
|
+
}), t.locale && Promise.resolve().then(() => Pn).then(({ useLocaleStore: d }) => {
|
|
3171
|
+
d().changeLocale(t.locale);
|
|
3176
3172
|
}), {
|
|
3177
3173
|
config: {
|
|
3178
3174
|
appName: t.appName || "XTO App",
|
|
3179
|
-
appId:
|
|
3180
|
-
clientId:
|
|
3181
|
-
apiBaseUrl:
|
|
3175
|
+
appId: Ee(),
|
|
3176
|
+
clientId: ct(),
|
|
3177
|
+
apiBaseUrl: st(),
|
|
3182
3178
|
basePath: t.basePath || "/",
|
|
3183
3179
|
indexPath: t.indexPath || "/dashboard",
|
|
3184
3180
|
loginPath: t.loginPath || "/login",
|
|
@@ -3187,47 +3183,47 @@ async function yl(t) {
|
|
|
3187
3183
|
};
|
|
3188
3184
|
}
|
|
3189
3185
|
export {
|
|
3190
|
-
|
|
3191
|
-
|
|
3192
|
-
|
|
3193
|
-
|
|
3194
|
-
|
|
3195
|
-
|
|
3196
|
-
|
|
3197
|
-
|
|
3198
|
-
|
|
3199
|
-
|
|
3200
|
-
|
|
3201
|
-
|
|
3202
|
-
|
|
3203
|
-
|
|
3204
|
-
|
|
3205
|
-
|
|
3206
|
-
|
|
3207
|
-
|
|
3208
|
-
|
|
3209
|
-
|
|
3210
|
-
|
|
3211
|
-
|
|
3212
|
-
|
|
3213
|
-
|
|
3214
|
-
|
|
3215
|
-
|
|
3216
|
-
|
|
3217
|
-
|
|
3218
|
-
|
|
3219
|
-
|
|
3220
|
-
|
|
3221
|
-
|
|
3222
|
-
|
|
3223
|
-
|
|
3224
|
-
|
|
3225
|
-
|
|
3226
|
-
|
|
3227
|
-
|
|
3228
|
-
|
|
3229
|
-
|
|
3230
|
-
|
|
3231
|
-
|
|
3232
|
-
|
|
3186
|
+
he as A,
|
|
3187
|
+
tl as B,
|
|
3188
|
+
Pe as C,
|
|
3189
|
+
sl as D,
|
|
3190
|
+
al as E,
|
|
3191
|
+
Zn as F,
|
|
3192
|
+
Vn as G,
|
|
3193
|
+
js as H,
|
|
3194
|
+
Qe as I,
|
|
3195
|
+
_e as J,
|
|
3196
|
+
ol as K,
|
|
3197
|
+
mt as L,
|
|
3198
|
+
On as M,
|
|
3199
|
+
ce as N,
|
|
3200
|
+
Bn as S,
|
|
3201
|
+
Jn as T,
|
|
3202
|
+
ue as _,
|
|
3203
|
+
fl as a,
|
|
3204
|
+
yl as b,
|
|
3205
|
+
Qn as c,
|
|
3206
|
+
gl as d,
|
|
3207
|
+
hl as e,
|
|
3208
|
+
_l as f,
|
|
3209
|
+
Sn as g,
|
|
3210
|
+
at as h,
|
|
3211
|
+
kn as i,
|
|
3212
|
+
vl as j,
|
|
3213
|
+
dl as k,
|
|
3214
|
+
ml as l,
|
|
3215
|
+
nl as m,
|
|
3216
|
+
kl as n,
|
|
3217
|
+
cl as o,
|
|
3218
|
+
ll as p,
|
|
3219
|
+
rl as q,
|
|
3220
|
+
il as r,
|
|
3221
|
+
ht as s,
|
|
3222
|
+
Tn as t,
|
|
3223
|
+
bl as u,
|
|
3224
|
+
ul as v,
|
|
3225
|
+
_t as w,
|
|
3226
|
+
pl as x,
|
|
3227
|
+
vt as y,
|
|
3228
|
+
el as z
|
|
3233
3229
|
};
|