xto-fronted 0.9.4 → 0.9.6

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.
@@ -1,117 +1,117 @@
1
- import { y as T, z as st, A as Me, B as rt, C as it, D as ct, E as ut, F as Te, p as yt, G as dt, H as bt, j as ot, n as kt, I as wt, J as nt, K as xt, L as Ct, M as Lt, h as $t, N as Mt } from "./user-B0q24FmO.js";
2
- import { ref as g, computed as w, watch as $e, defineComponent as ce, resolveComponent as mt, openBlock as o, createBlock as A, unref as n, withCtx as S, createElementBlock as u, Fragment as j, renderList as Z, createTextVNode as _e, toDisplayString as x, normalizeClass as H, createElementVNode as e, withDirectives as De, vShow as St, createCommentVNode as z, createVNode as k, onMounted as qe, onUnmounted as He, vModelText as Ye, Transition as Se, withModifiers as Ae, normalizeStyle as Ue, reactive as Ge, createStaticVNode as Fe, withKeys as It, h as Et } from "vue";
1
+ import { y as U, z as nt, A as Se, B as ut, C as dt, D as mt, E as pt, F as ze, p as kt, G as vt, H as wt, j as lt, n as xt, I as Ct, J as rt, K as $t, L as Lt, M as Mt, h as St, N as It } from "./user-B0q24FmO.js";
2
+ import { ref as g, computed as w, watch as Le, defineComponent as le, resolveComponent as $e, openBlock as a, createBlock as D, unref as l, withCtx as C, createElementBlock as u, Fragment as q, renderList as Z, createTextVNode as ne, toDisplayString as x, normalizeClass as H, createElementVNode as e, withDirectives as Be, vShow as Et, createCommentVNode as P, createVNode as y, onMounted as Oe, onUnmounted as Xe, vModelText as Je, Transition as Ie, withModifiers as Ve, normalizeStyle as Ue, nextTick as Re, onUpdated as Nt, renderSlot as De, createSlots as Tt, reactive as Ze, createStaticVNode as Ae, withKeys as Ut, h as zt } from "vue";
3
3
  import { defineStore as Pe } from "pinia";
4
- import { useRoute as Ee, useRouter as ke, createRouter as Xe, createWebHistory as Je } from "vue-router";
5
- import { SubMenu as We, MenuItem as Ne, Menu as Ze, Tabs as Nt, TabPane as Ut } from "@xto/navigation";
6
- import { Icon as U, Button as Ie } from "@xto/base";
7
- import { Drawer as Qe, Message as Tt } from "@xto/feedback";
8
- import { Form as Pt, FormItem as Be, Input as at, Checkbox as zt } from "@xto/form";
9
- import { createLocaleProvider as Ft, getSupportedLocales as Dt, useLocale as At } from "@xto/core/locale";
10
- function Bt(t) {
11
- const a = /^#?([0-9a-f]{6})$/i.exec(t.trim());
12
- if (!a) return null;
13
- const p = parseInt(a[1], 16);
4
+ import { useRoute as Ne, useRouter as ke, createRouter as Qe, createWebHistory as et } from "vue-router";
5
+ import { SubMenu as Ge, MenuItem as Te, Menu as tt, Tabs as Pt, TabPane as Ft } from "@xto/navigation";
6
+ import { Icon as E, Button as Ee } from "@xto/base";
7
+ import { Drawer as st, Message as Dt } from "@xto/feedback";
8
+ import { Form as At, FormItem as Ke, Input as it, Checkbox as Bt } from "@xto/form";
9
+ import { createLocaleProvider as Ot, getSupportedLocales as Vt, useLocale as Rt } from "@xto/core/locale";
10
+ function Kt(t) {
11
+ const o = /^#?([0-9a-f]{6})$/i.exec(t.trim());
12
+ if (!o) return null;
13
+ const p = parseInt(o[1], 16);
14
14
  return [p >> 16 & 255, p >> 8 & 255, p & 255];
15
15
  }
16
- function Le(t) {
17
- const a = T.get(t);
18
- return a === null || a === "" ? void 0 : a;
16
+ function Me(t) {
17
+ const o = U.get(t);
18
+ return o === null || o === "" ? void 0 : o;
19
19
  }
20
- const Vt = ["layout", "primaryColor", "theme", "isDark", "showTabs", "showBreadcrumb", "showFooter"], fe = Pe("app", () => {
21
- const t = st(), a = t.features || {}, p = g(T.get("appName") || "XTO App"), l = g(T.get("indexPath") || "/dashboard"), s = g(T.get("loginPath") || "/login"), d = g(t.theme ?? Le("theme") ?? "light"), i = g(d.value === "dark"), h = g(t.layout ?? Le("layout") ?? "sidebar"), _ = g(T.get("isCollapsed") || !1), m = g(a.showTabs ?? Le("showTabs") ?? !0), f = g(a.showFooter ?? Le("showFooter") ?? !0), y = g(a.showBreadcrumb ?? Le("showBreadcrumb") ?? !0), c = g(t.primaryColor ?? Le("primaryColor") ?? "#4F46E5"), W = g(t.allowUserOverride !== !1), P = g([]), B = g([]), V = w(() => i.value ? "dark" : "light"), R = (M) => {
22
- p.value = M, T.set("appName", M);
23
- }, Y = (M) => {
24
- l.value = M, T.set("indexPath", M);
25
- }, Q = (M) => {
26
- s.value = M, T.set("loginPath", M);
20
+ const jt = ["layout", "primaryColor", "theme", "isDark", "showTabs", "showBreadcrumb", "showFooter"], fe = Pe("app", () => {
21
+ const t = nt(), o = t.features || {}, p = g(U.get("appName") || "XTO App"), n = g(U.get("indexPath") || "/dashboard"), s = g(U.get("loginPath") || "/login"), d = g(t.theme ?? Me("theme") ?? "light"), r = g(d.value === "dark"), v = g(t.layout ?? Me("layout") ?? "sidebar"), _ = g(U.get("isCollapsed") || !1), m = g(o.showTabs ?? Me("showTabs") ?? !0), f = g(o.showFooter ?? Me("showFooter") ?? !0), b = g(o.showBreadcrumb ?? Me("showBreadcrumb") ?? !0), c = g(t.primaryColor ?? Me("primaryColor") ?? "#4F46E5"), V = g(t.allowUserOverride !== !1), z = g([]), F = g([]), O = w(() => r.value ? "dark" : "light"), R = (S) => {
22
+ p.value = S, U.set("appName", S);
23
+ }, j = (S) => {
24
+ n.value = S, U.set("indexPath", S);
25
+ }, Q = (S) => {
26
+ s.value = S, U.set("loginPath", S);
27
27
  }, X = () => {
28
- const M = document.documentElement;
29
- i.value ? M.classList.add("dark") : M.classList.remove("dark");
28
+ const S = document.documentElement;
29
+ r.value ? S.classList.add("dark") : S.classList.remove("dark");
30
30
  }, ee = () => {
31
- i.value = !i.value, d.value = i.value ? "dark" : "light", te();
32
- }, G = (M) => {
33
- d.value = M, i.value = M === "dark", te();
31
+ r.value = !r.value, d.value = r.value ? "dark" : "light", te();
32
+ }, G = (S) => {
33
+ d.value = S, r.value = S === "dark", te();
34
34
  }, te = () => {
35
- X(), T.set("isDark", i.value), T.set("theme", d.value);
36
- }, D = () => {
37
- _.value = !_.value, T.set("isCollapsed", _.value);
38
- }, E = (M) => {
39
- h.value = M, T.set("layout", M);
40
- }, F = () => {
41
- m.value = !m.value, T.set("showTabs", m.value);
35
+ X(), U.set("isDark", r.value), U.set("theme", d.value);
36
+ }, B = () => {
37
+ _.value = !_.value, U.set("isCollapsed", _.value);
38
+ }, N = (S) => {
39
+ v.value = S, U.set("layout", S);
40
+ }, A = () => {
41
+ m.value = !m.value, U.set("showTabs", m.value);
42
42
  }, J = () => {
43
- f.value = !f.value, T.set("showFooter", f.value);
44
- }, K = () => {
45
- y.value = !y.value, T.set("showBreadcrumb", y.value);
46
- }, oe = (M) => {
47
- const q = document.documentElement;
48
- q.style.setProperty("--xto-color-primary", M);
49
- const pe = Bt(M);
50
- if (pe) {
51
- const ve = (ae, xe) => {
43
+ f.value = !f.value, U.set("showFooter", f.value);
44
+ }, W = () => {
45
+ b.value = !b.value, U.set("showBreadcrumb", b.value);
46
+ }, oe = (S) => {
47
+ const Y = document.documentElement;
48
+ Y.style.setProperty("--xto-color-primary", S);
49
+ const ve = Kt(S);
50
+ if (ve) {
51
+ const he = (ie, xe) => {
52
52
  const be = xe ? [255, 255, 255] : [0, 0, 0];
53
- return `#${pe.map((N, b) => Math.round(N + (be[b] - N) * ae)).map((N) => N.toString(16).padStart(2, "0")).join("")}`;
53
+ return `#${ve.map((T, k) => Math.round(T + (be[k] - T) * ie)).map((T) => T.toString(16).padStart(2, "0")).join("")}`;
54
54
  };
55
- for (let ae = 1; ae <= 9; ae++)
56
- q.style.setProperty(`--xto-color-primary-light-${ae}`, ve(ae * 0.1, !0));
57
- q.style.setProperty("--xto-color-primary-dark-1", ve(0.12, !1)), q.style.setProperty("--xto-color-primary-dark-2", ve(0.28, !1)), q.style.setProperty("--xto-color-primary-dark-3", ve(0.45, !1)), q.style.setProperty("--xto-color-ring", M);
55
+ for (let ie = 1; ie <= 9; ie++)
56
+ Y.style.setProperty(`--xto-color-primary-light-${ie}`, he(ie * 0.1, !0));
57
+ Y.style.setProperty("--xto-color-primary-dark-1", he(0.12, !1)), Y.style.setProperty("--xto-color-primary-dark-2", he(0.28, !1)), Y.style.setProperty("--xto-color-primary-dark-3", he(0.45, !1)), Y.style.setProperty("--xto-color-ring", S);
58
58
  }
59
- }, he = (M) => {
60
- c.value = M, oe(M), T.set("primaryColor", M);
59
+ }, _e = (S) => {
60
+ c.value = S, oe(S), U.set("primaryColor", S);
61
61
  }, we = () => {
62
- Vt.forEach((pe) => T.remove(pe));
63
- const M = st(), q = M.features || {};
64
- h.value = M.layout ?? "sidebar", c.value = M.primaryColor ?? "#4F46E5", d.value = M.theme ?? "light", i.value = d.value === "dark", m.value = q.showTabs ?? !0, f.value = q.showFooter ?? !0, y.value = q.showBreadcrumb ?? !0, X(), oe(c.value);
65
- }, re = (M) => {
66
- P.value.includes(M) || P.value.push(M);
67
- }, me = (M) => {
68
- const q = P.value.indexOf(M);
69
- q > -1 && P.value.splice(q, 1);
62
+ jt.forEach((ve) => U.remove(ve));
63
+ const S = nt(), Y = S.features || {};
64
+ v.value = S.layout ?? "sidebar", c.value = S.primaryColor ?? "#4F46E5", d.value = S.theme ?? "light", r.value = d.value === "dark", m.value = Y.showTabs ?? !0, f.value = Y.showFooter ?? !0, b.value = Y.showBreadcrumb ?? !0, X(), oe(c.value);
65
+ }, ue = (S) => {
66
+ z.value.includes(S) || z.value.push(S);
67
+ }, pe = (S) => {
68
+ const Y = z.value.indexOf(S);
69
+ Y > -1 && z.value.splice(Y, 1);
70
70
  }, ye = () => {
71
- P.value = [];
72
- }, ie = (M) => {
73
- B.value = M;
74
- }, ne = () => {
71
+ z.value = [];
72
+ }, de = (S) => {
73
+ F.value = S;
74
+ }, ae = () => {
75
75
  X(), oe(c.value);
76
76
  };
77
- return $e(i, X), {
77
+ return Le(r, X), {
78
78
  appName: p,
79
- indexPath: l,
79
+ indexPath: n,
80
80
  loginPath: s,
81
- isDark: i,
81
+ isDark: r,
82
82
  theme: d,
83
- layout: h,
83
+ layout: v,
84
84
  isCollapsed: _,
85
85
  showTabs: m,
86
86
  showFooter: f,
87
- showBreadcrumb: y,
87
+ showBreadcrumb: b,
88
88
  primaryColor: c,
89
- allowUserOverride: W,
90
- cachedViews: P,
91
- mixSubMenus: B,
92
- themeClass: V,
89
+ allowUserOverride: V,
90
+ cachedViews: z,
91
+ mixSubMenus: F,
92
+ themeClass: O,
93
93
  setAppName: R,
94
- setIndexPath: Y,
94
+ setIndexPath: j,
95
95
  setLoginPath: Q,
96
96
  toggleTheme: ee,
97
- toggleCollapse: D,
97
+ toggleCollapse: B,
98
98
  setTheme: G,
99
- setLayout: E,
100
- toggleTabs: F,
99
+ setLayout: N,
100
+ toggleTabs: A,
101
101
  toggleFooter: J,
102
- toggleBreadcrumb: K,
103
- setPrimaryColor: he,
102
+ toggleBreadcrumb: W,
103
+ setPrimaryColor: _e,
104
104
  resetToServerDefaults: we,
105
- addCachedView: re,
106
- removeCachedView: me,
105
+ addCachedView: ue,
106
+ removeCachedView: pe,
107
107
  clearCachedViews: ye,
108
- setMixSubMenus: ie,
109
- initTheme: ne
108
+ setMixSubMenus: de,
109
+ initTheme: ae
110
110
  };
111
- }), Ot = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
111
+ }), Wt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
112
112
  __proto__: null,
113
113
  useAppStore: fe
114
- }, Symbol.toStringTag, { value: "Module" })), Rt = "menu_list", Kt = "permission_list", Ve = () => `${Rt}_${Me()}`, Oe = () => `${Kt}_${Me()}`, jt = {
114
+ }, Symbol.toStringTag, { value: "Module" })), qt = "menu_list", Ht = "permission_list", je = () => `${qt}_${Se()}`, We = () => `${Ht}_${Se()}`, Yt = {
115
115
  menuCode: "home",
116
116
  menuName: "首页",
117
117
  menuUrl: "/dashboard",
@@ -120,42 +120,42 @@ const Vt = ["layout", "primaryColor", "theme", "isDark", "showTabs", "showBreadc
120
120
  isDefault: !1,
121
121
  isOut: !1
122
122
  };
123
- function pt(t) {
124
- return t.filter((a) => a.type !== 1).map((a) => ({
125
- ...a,
126
- children: a.children ? pt(a.children) : void 0
123
+ function ht(t) {
124
+ return t.filter((o) => o.type !== 1).map((o) => ({
125
+ ...o,
126
+ children: o.children ? ht(o.children) : void 0
127
127
  }));
128
128
  }
129
- function Wt(t) {
130
- const a = [];
131
- function p(l) {
132
- l.forEach((s) => {
133
- s.type === 1 && s.menuCode && a.push(s.menuCode), s.children && p(s.children);
129
+ function Gt(t) {
130
+ const o = [];
131
+ function p(n) {
132
+ n.forEach((s) => {
133
+ s.type === 1 && s.menuCode && o.push(s.menuCode), s.children && p(s.children);
134
134
  });
135
135
  }
136
- return p(t), a;
136
+ return p(t), o;
137
137
  }
138
138
  const ge = Pe("menu", () => {
139
- const t = g(T.get(Ve()) || []), a = g(T.get(Oe()) || []), p = w(() => t.value.length > 0);
139
+ const t = g(U.get(je()) || []), o = g(U.get(We()) || []), p = w(() => t.value.length > 0);
140
140
  return {
141
141
  menuList: t,
142
- permissions: a,
142
+ permissions: o,
143
143
  hasMenu: p,
144
- setMenuList: (i) => {
145
- a.value = Wt(i), T.set(Oe(), a.value);
146
- const h = pt(i);
147
- t.value = [jt, ...h], T.set(Ve(), t.value);
144
+ setMenuList: (r) => {
145
+ o.value = Gt(r), U.set(We(), o.value);
146
+ const v = ht(r);
147
+ t.value = [Yt, ...v], U.set(je(), t.value);
148
148
  },
149
149
  clearMenu: () => {
150
- t.value = [], a.value = [], T.remove(Ve()), T.remove(Oe());
150
+ t.value = [], o.value = [], U.remove(je()), U.remove(We());
151
151
  },
152
- hasPermission: (i) => Array.isArray(i) ? i.some((h) => a.value.includes(h)) : a.value.includes(i)
152
+ hasPermission: (r) => Array.isArray(r) ? r.some((v) => o.value.includes(v)) : o.value.includes(r)
153
153
  };
154
- }), Re = "user_info", ue = Pe("user", () => {
155
- const t = g(T.get(Re)), a = w(() => !!t.value), p = w(() => {
154
+ }), qe = "user_info", me = Pe("user", () => {
155
+ const t = g(U.get(qe)), o = w(() => !!t.value), p = w(() => {
156
156
  var c;
157
157
  return ((c = t.value) == null ? void 0 : c.userId) || "";
158
- }), l = w(() => {
158
+ }), n = w(() => {
159
159
  var c;
160
160
  return ((c = t.value) == null ? void 0 : c.userName) || "";
161
161
  }), s = w(() => {
@@ -164,10 +164,10 @@ const ge = Pe("menu", () => {
164
164
  }), d = w(() => {
165
165
  var c;
166
166
  return ((c = t.value) == null ? void 0 : c.roleName) || "";
167
- }), i = w(() => {
167
+ }), r = w(() => {
168
168
  var c;
169
169
  return ((c = t.value) == null ? void 0 : c.email) || "";
170
- }), h = w(() => {
170
+ }), v = w(() => {
171
171
  var c;
172
172
  return ((c = t.value) == null ? void 0 : c.mobilePhone) || "";
173
173
  }), _ = w(() => {
@@ -179,42 +179,42 @@ const ge = Pe("menu", () => {
179
179
  });
180
180
  return {
181
181
  userInfo: t,
182
- isLoggedIn: a,
182
+ isLoggedIn: o,
183
183
  userId: p,
184
- userName: l,
184
+ userName: n,
185
185
  departmentName: s,
186
186
  roleName: d,
187
- email: i,
188
- mobilePhone: h,
187
+ email: r,
188
+ mobilePhone: v,
189
189
  positionName: _,
190
190
  avatar: m,
191
191
  setUserInfo: (c) => {
192
- t.value = c, T.set(Re, c);
192
+ t.value = c, U.set(qe, c);
193
193
  },
194
194
  clearUserInfo: () => {
195
- t.value = null, T.remove(Re);
195
+ t.value = null, U.remove(qe);
196
196
  }
197
197
  };
198
- }), ze = Pe("auth", () => {
199
- const t = g(rt()), a = w(() => it()), p = g(""), l = g(""), s = g(""), d = g("/login");
198
+ }), Fe = Pe("auth", () => {
199
+ const t = g(ut()), o = w(() => dt()), p = g(""), n = g(""), s = g(""), d = g("/login");
200
200
  return {
201
201
  token: t,
202
- isLoggedIn: a,
202
+ isLoggedIn: o,
203
203
  baseUrl: p,
204
- appId: l,
204
+ appId: n,
205
205
  clientId: s,
206
206
  loginPath: d,
207
207
  login: (c) => {
208
- t.value = c.access_token, ut(c);
208
+ t.value = c.access_token, pt(c);
209
209
  },
210
210
  logout: () => {
211
- t.value = null, ct();
211
+ t.value = null, mt();
212
212
  },
213
213
  setBaseUrl: (c) => {
214
214
  p.value = c;
215
215
  },
216
216
  setAppId: (c) => {
217
- l.value = c;
217
+ n.value = c;
218
218
  },
219
219
  setClientId: (c) => {
220
220
  s.value = c;
@@ -223,19 +223,19 @@ const ge = Pe("menu", () => {
223
223
  d.value = c;
224
224
  }
225
225
  };
226
- }), qt = {
226
+ }), Xt = {
227
227
  key: 1,
228
228
  class: "menu-item__char"
229
- }, Ht = {
229
+ }, Jt = {
230
230
  key: 1,
231
231
  class: "menu-item__char"
232
- }, Yt = /* @__PURE__ */ ce({
232
+ }, Zt = /* @__PURE__ */ le({
233
233
  __name: "SidebarMenuItem",
234
234
  props: {
235
235
  menu: {}
236
236
  },
237
237
  setup(t) {
238
- const a = t, p = /* @__PURE__ */ new Set([
238
+ const o = t, p = /* @__PURE__ */ new Set([
239
239
  "arrow-up",
240
240
  "arrow-down",
241
241
  "arrow-left",
@@ -337,7 +337,7 @@ const ge = Pe("menu", () => {
337
337
  "sun",
338
338
  "theme",
339
339
  "skin"
340
- ]), l = {
340
+ ]), n = {
341
341
  "el-icon-s-platform": "system",
342
342
  "el-icon-platform": "system",
343
343
  "el-icon-s-data": "database",
@@ -393,9 +393,9 @@ const ge = Pe("menu", () => {
393
393
  "el-icon-cloudy": "cloud"
394
394
  }, s = (m) => {
395
395
  if (!m || m === "") return "";
396
- if (l[m]) return l[m];
396
+ if (n[m]) return n[m];
397
397
  if (m.startsWith("tineco-icon-")) {
398
- const y = m.replace("tineco-icon-", "");
398
+ const b = m.replace("tineco-icon-", "");
399
399
  return {
400
400
  home: "home",
401
401
  dashboard: "dashboard",
@@ -409,7 +409,7 @@ const ge = Pe("menu", () => {
409
409
  chart: "chart",
410
410
  report: "report",
411
411
  analytics: "analytics"
412
- }[y] || y;
412
+ }[b] || b;
413
413
  }
414
414
  return {
415
415
  dashboard: "dashboard",
@@ -429,60 +429,60 @@ const ge = Pe("menu", () => {
429
429
  list: "list",
430
430
  grid: "grid"
431
431
  }[m] || m;
432
- }, d = (m) => m ? m.charAt(0) : "", i = (m) => p.has(m), h = w(() => a.menu.menuId || a.menu.menuCode || a.menu.menuUrl || ""), _ = w(() => a.menu.children && a.menu.children.length > 0);
432
+ }, d = (m) => m ? m.charAt(0) : "", r = (m) => p.has(m), v = w(() => o.menu.menuId || o.menu.menuCode || o.menu.menuUrl || ""), _ = w(() => o.menu.children && o.menu.children.length > 0);
433
433
  return (m, f) => {
434
- const y = mt("SidebarMenuItem", !0);
435
- return _.value ? (o(), A(n(We), {
434
+ const b = $e("SidebarMenuItem", !0);
435
+ return _.value ? (a(), D(l(Ge), {
436
436
  key: 0,
437
- index: h.value
437
+ index: v.value
438
438
  }, {
439
- icon: S(() => [
440
- i(s(t.menu.icon)) ? (o(), A(n(U), {
439
+ icon: C(() => [
440
+ r(s(t.menu.icon)) ? (a(), D(l(E), {
441
441
  key: 0,
442
442
  name: s(t.menu.icon),
443
443
  size: 16
444
- }, null, 8, ["name"])) : (o(), u("span", qt, x(d(t.menu.menuName)), 1))
444
+ }, null, 8, ["name"])) : (a(), u("span", Xt, x(d(t.menu.menuName)), 1))
445
445
  ]),
446
- title: S(() => [
447
- _e(x(t.menu.menuName), 1)
446
+ title: C(() => [
447
+ ne(x(t.menu.menuName), 1)
448
448
  ]),
449
- default: S(() => [
450
- (o(!0), u(j, null, Z(t.menu.children, (c) => (o(), A(y, {
449
+ default: C(() => [
450
+ (a(!0), u(q, null, Z(t.menu.children, (c) => (a(), D(b, {
451
451
  key: c.menuId || c.menuCode || c.menuUrl,
452
452
  menu: c
453
453
  }, null, 8, ["menu"]))), 128))
454
454
  ]),
455
455
  _: 1
456
- }, 8, ["index"])) : (o(), A(n(Ne), {
456
+ }, 8, ["index"])) : (a(), D(l(Te), {
457
457
  key: 1,
458
- index: t.menu.menuUrl || h.value
458
+ index: t.menu.menuUrl || v.value
459
459
  }, {
460
- icon: S(() => [
461
- i(s(t.menu.icon)) ? (o(), A(n(U), {
460
+ icon: C(() => [
461
+ r(s(t.menu.icon)) ? (a(), D(l(E), {
462
462
  key: 0,
463
463
  name: s(t.menu.icon),
464
464
  size: 16
465
- }, null, 8, ["name"])) : (o(), u("span", Ht, x(d(t.menu.menuName)), 1))
465
+ }, null, 8, ["name"])) : (a(), u("span", Jt, x(d(t.menu.menuName)), 1))
466
466
  ]),
467
- default: S(() => [
468
- _e(" " + x(t.menu.menuName), 1)
467
+ default: C(() => [
468
+ ne(" " + x(t.menu.menuName), 1)
469
469
  ]),
470
470
  _: 1
471
471
  }, 8, ["index"]));
472
472
  };
473
473
  }
474
- }), de = (t, a) => {
474
+ }), re = (t, o) => {
475
475
  const p = t.__vccOpts || t;
476
- for (const [l, s] of a)
477
- p[l] = s;
476
+ for (const [n, s] of o)
477
+ p[n] = s;
478
478
  return p;
479
- }, Gt = /* @__PURE__ */ de(Yt, [["__scopeId", "data-v-7297001c"]]), Xt = {
479
+ }, Qt = /* @__PURE__ */ re(Zt, [["__scopeId", "data-v-7297001c"]]), es = {
480
480
  key: 0,
481
481
  class: "sidebar__logo"
482
- }, Jt = ["src"], Zt = {
482
+ }, ts = ["src"], ss = {
483
483
  key: 1,
484
484
  class: "sidebar__user"
485
- }, Qt = { class: "sidebar__user-info" }, es = { class: "sidebar__user-name" }, ts = { class: "sidebar__user-role" }, Ke = "sidebar_opened_menus", je = "sidebar_menu_list_key", ss = /* @__PURE__ */ ce({
485
+ }, os = { class: "sidebar__user-info" }, as = { class: "sidebar__user-name" }, ns = { class: "sidebar__user-role" }, He = "sidebar_opened_menus", Ye = "sidebar_menu_list_key", ls = /* @__PURE__ */ le({
486
486
  __name: "Sidebar",
487
487
  props: {
488
488
  menuList: { default: () => [] },
@@ -491,56 +491,56 @@ const ge = Pe("menu", () => {
491
491
  logoSrc: {}
492
492
  },
493
493
  setup(t) {
494
- const a = t, p = w(() => a.logoSrc || Te("/vite.svg")), l = Ee(), s = ke(), d = ge(), i = ue(), h = ze(), _ = fe(), m = w(() => a.menuList.length > 0 ? a.menuList : d.menuList), f = w(() => _.isCollapsed), y = w(() => l.path), c = (D) => D.menuId || D.menuCode || D.menuUrl || "", W = () => m.value.map(c).join(","), P = T.get(je) || "", B = W(), V = P === B ? T.get(Ke) || [] : [], R = g(V);
495
- $e(R, (D) => {
496
- T.set(Ke, D), T.set(je, W());
494
+ const o = t, p = w(() => o.logoSrc || ze("/vite.svg")), n = Ne(), s = ke(), d = ge(), r = me(), v = Fe(), _ = fe(), m = w(() => o.menuList.length > 0 ? o.menuList : d.menuList), f = w(() => _.isCollapsed), b = w(() => n.path), c = (B) => B.menuId || B.menuCode || B.menuUrl || "", V = () => m.value.map(c).join(","), z = U.get(Ye) || "", F = V(), O = z === F ? U.get(He) || [] : [], R = g(O);
495
+ Le(R, (B) => {
496
+ U.set(He, B), U.set(Ye, V());
497
497
  }, { deep: !0 });
498
- const Y = (D, E, F = []) => {
498
+ const j = (B, N, A = []) => {
499
499
  var J;
500
- for (const K of D) {
501
- if (K.menuUrl && (E === K.menuUrl || E.startsWith(K.menuUrl + "/")))
502
- return [...F, c(K)];
503
- if ((J = K.children) != null && J.length) {
504
- const oe = Y(K.children, E, [...F, c(K)]);
500
+ for (const W of B) {
501
+ if (W.menuUrl && (N === W.menuUrl || N.startsWith(W.menuUrl + "/")))
502
+ return [...A, c(W)];
503
+ if ((J = W.children) != null && J.length) {
504
+ const oe = j(W.children, N, [...A, c(W)]);
505
505
  if (oe) return oe;
506
506
  }
507
507
  }
508
508
  return null;
509
509
  };
510
- $e([() => l.path, m], ([D, E]) => {
511
- if (E.length > 0) {
512
- const F = Y(E, D);
513
- if (F) {
514
- const J = F.slice(0, -1), K = /* @__PURE__ */ new Set([...R.value, ...J]);
515
- R.value = Array.from(K);
510
+ Le([() => n.path, m], ([B, N]) => {
511
+ if (N.length > 0) {
512
+ const A = j(N, B);
513
+ if (A) {
514
+ const J = A.slice(0, -1), W = /* @__PURE__ */ new Set([...R.value, ...J]);
515
+ R.value = Array.from(W);
516
516
  }
517
517
  }
518
- }, { immediate: !0 }), $e(m, (D, E) => {
519
- D !== E && (R.value = [], T.set(Ke, []), T.set(je, W()));
518
+ }, { immediate: !0 }), Le(m, (B, N) => {
519
+ B !== N && (R.value = [], U.set(He, []), U.set(Ye, V()));
520
520
  }, { immediate: !1 });
521
- const Q = w(() => _.isDark ? "#161B21" : "#fff"), X = w(() => _.isDark ? "#D9DCE1" : "#4E5566"), ee = w(() => _.isDark ? "#818CF8" : "#4F46E5"), G = (D) => {
522
- D && D !== l.path && s.push(D);
521
+ const Q = w(() => _.isDark ? "#161B21" : "#fff"), X = w(() => _.isDark ? "#D9DCE1" : "#4E5566"), ee = w(() => _.isDark ? "#818CF8" : "#4F46E5"), G = (B) => {
522
+ B && B !== n.path && s.push(B);
523
523
  }, te = () => {
524
- h.logout(), i.clearUserInfo(), d.clearMenu(), s.push(_.loginPath);
524
+ v.logout(), r.clearUserInfo(), d.clearMenu(), s.push(_.loginPath);
525
525
  };
526
- return (D, E) => (o(), u("div", {
526
+ return (B, N) => (a(), u("div", {
527
527
  class: H(["sidebar", { "sidebar--collapsed": f.value }])
528
528
  }, [
529
- a.showLogo ? (o(), u("div", Xt, [
529
+ o.showLogo ? (a(), u("div", es, [
530
530
  e("img", {
531
531
  src: p.value,
532
532
  alt: "Logo",
533
533
  class: "sidebar__logo-img"
534
- }, null, 8, Jt),
535
- De(e("span", { class: "sidebar__logo-text" }, x(n(_).appName), 513), [
536
- [St, !f.value]
534
+ }, null, 8, ts),
535
+ Be(e("span", { class: "sidebar__logo-text" }, x(l(_).appName), 513), [
536
+ [Et, !f.value]
537
537
  ])
538
- ])) : z("", !0),
539
- k(n(Ze), {
540
- modelValue: y.value,
541
- "onUpdate:modelValue": E[0] || (E[0] = (F) => y.value = F),
538
+ ])) : P("", !0),
539
+ y(l(tt), {
540
+ modelValue: b.value,
541
+ "onUpdate:modelValue": N[0] || (N[0] = (A) => b.value = A),
542
542
  openeds: R.value,
543
- "onUpdate:openeds": E[1] || (E[1] = (F) => R.value = F),
543
+ "onUpdate:openeds": N[1] || (N[1] = (A) => R.value = A),
544
544
  mode: "vertical",
545
545
  collapse: f.value,
546
546
  "collapse-transition": !1,
@@ -550,88 +550,88 @@ const ge = Pe("menu", () => {
550
550
  class: "sidebar__menu",
551
551
  onSelect: G
552
552
  }, {
553
- default: S(() => [
554
- (o(!0), u(j, null, Z(m.value, (F) => (o(), A(Gt, {
555
- key: c(F),
556
- menu: F
553
+ default: C(() => [
554
+ (a(!0), u(q, null, Z(m.value, (A) => (a(), D(Qt, {
555
+ key: c(A),
556
+ menu: A
557
557
  }, null, 8, ["menu"]))), 128))
558
558
  ]),
559
559
  _: 1
560
560
  }, 8, ["modelValue", "openeds", "collapse", "background-color", "text-color", "active-text-color"]),
561
- a.showUser && !f.value ? (o(), u("div", Zt, [
562
- e("div", Qt, [
563
- e("span", es, x(n(i).userName), 1),
564
- e("span", ts, x(n(i).departmentName), 1)
561
+ o.showUser && !f.value ? (a(), u("div", ss, [
562
+ e("div", os, [
563
+ e("span", as, x(l(r).userName), 1),
564
+ e("span", ns, x(l(r).departmentName), 1)
565
565
  ]),
566
- k(n(Ie), {
566
+ y(l(Ee), {
567
567
  type: "text",
568
568
  size: "small",
569
569
  onClick: te
570
570
  }, {
571
- default: S(() => [...E[2] || (E[2] = [
572
- _e("退出", -1)
571
+ default: C(() => [...N[2] || (N[2] = [
572
+ ne("退出", -1)
573
573
  ])]),
574
574
  _: 1
575
575
  })
576
- ])) : z("", !0)
576
+ ])) : P("", !0)
577
577
  ], 2));
578
578
  }
579
- }), lt = /* @__PURE__ */ de(ss, [["__scopeId", "data-v-0322d1ab"]]), os = { class: "header" }, ns = { class: "header__left" }, as = {
579
+ }), ct = /* @__PURE__ */ re(ls, [["__scopeId", "data-v-0322d1ab"]]), rs = { class: "header" }, is = { class: "header__left" }, cs = {
580
580
  key: 0,
581
581
  class: "header__breadcrumb"
582
- }, ls = {
582
+ }, us = {
583
583
  key: 0,
584
584
  class: "breadcrumb-separator"
585
- }, rs = { class: "header__right" }, is = {
585
+ }, ds = { class: "header__right" }, ms = {
586
586
  key: 0,
587
587
  class: "header__search-dropdown"
588
- }, cs = {
588
+ }, ps = {
589
589
  key: 0,
590
590
  class: "header__search-results"
591
- }, us = ["onClick"], ds = {
591
+ }, vs = ["onClick"], hs = {
592
592
  key: 0,
593
593
  class: "header__search-icon"
594
- }, ms = {
594
+ }, _s = {
595
595
  key: 1,
596
596
  class: "header__search-char"
597
- }, ps = { class: "header__search-item-title" }, vs = {
597
+ }, fs = { class: "header__search-item-title" }, gs = {
598
598
  key: 1,
599
599
  class: "header__search-item-parent"
600
- }, hs = {
600
+ }, ys = {
601
601
  key: 1,
602
602
  class: "header__search-empty"
603
- }, _s = ["title"], fs = { class: "header__avatar" }, gs = { class: "header__user-name" }, ys = {
603
+ }, bs = ["title"], ks = { class: "header__avatar" }, ws = { class: "header__user-name" }, xs = {
604
604
  key: 0,
605
605
  class: "header__dropdown"
606
- }, bs = { class: "header__dropdown-header" }, ks = { class: "header__dropdown-avatar" }, ws = { class: "header__dropdown-info" }, xs = { class: "header__dropdown-name" }, Cs = { class: "header__dropdown-role" }, Ls = { class: "header__dropdown-menu" }, $s = { class: "settings-drawer" }, Ms = { class: "settings-section" }, Ss = { class: "settings-layout-options" }, Is = ["onClick"], Es = { class: "layout-option__preview" }, Ns = {
606
+ }, Cs = { class: "header__dropdown-header" }, $s = { class: "header__dropdown-avatar" }, Ls = { class: "header__dropdown-info" }, Ms = { class: "header__dropdown-name" }, Ss = { class: "header__dropdown-role" }, Is = { class: "header__dropdown-menu" }, Es = { class: "settings-drawer" }, Ns = { class: "settings-section" }, Ts = { class: "settings-layout-options" }, Us = ["onClick"], zs = { class: "layout-option__preview" }, Ps = {
607
607
  key: 0,
608
608
  class: "layout-preview-sidebar"
609
- }, Us = {
609
+ }, Fs = {
610
610
  key: 1,
611
611
  class: "layout-preview-top"
612
- }, Ts = {
612
+ }, Ds = {
613
613
  key: 2,
614
614
  class: "layout-preview-mix"
615
- }, Ps = { class: "layout-option__label" }, zs = { class: "settings-section" }, Fs = { class: "settings-color-options" }, Ds = ["title", "onClick"], As = { class: "settings-section" }, Bs = { class: "settings-switch-list" }, Vs = { class: "settings-switch-item" }, Os = { class: "settings-switch-item" }, Rs = { class: "settings-section" }, Ks = /* @__PURE__ */ ce({
615
+ }, As = { class: "layout-option__label" }, Bs = { class: "settings-section" }, Os = { class: "settings-color-options" }, Vs = ["title", "onClick"], Rs = { class: "settings-section" }, Ks = { class: "settings-switch-list" }, js = { class: "settings-switch-item" }, Ws = { class: "settings-switch-item" }, qs = { class: "settings-section" }, Hs = /* @__PURE__ */ le({
616
616
  __name: "Header",
617
617
  setup(t) {
618
- const a = Ee(), p = ke(), l = fe(), s = ue(), d = ze(), i = ge(), h = g(!1), _ = g(!1), m = g(null), f = g(!1), y = g(!1), c = g(""), W = g(null), P = g(!1), B = [
618
+ const o = Ne(), p = ke(), n = fe(), s = me(), d = Fe(), r = ge(), v = g(!1), _ = g(!1), m = g(null), f = g(!1), b = g(!1), c = g(""), V = g(null), z = g(!1), F = [
619
619
  { value: "sidebar", label: "左侧菜单", icon: "sidebar-left" },
620
620
  { value: "top", label: "顶部菜单", icon: "menu" },
621
621
  { value: "mix", label: "混合菜单", icon: "grid" }
622
- ], V = [
622
+ ], O = [
623
623
  { value: "#4F46E5", label: "品牌蓝" },
624
624
  { value: "#0F6FDE", label: "企业蓝" },
625
625
  { value: "#00A870", label: "翡翠绿" },
626
626
  { value: "#D46B08", label: "琥珀橙" },
627
627
  { value: "#1F2329", label: "石墨黑" }
628
- ], R = w(() => a.matched.filter((b) => b.meta && b.meta.title).map((b) => ({
629
- title: b.meta.title,
630
- path: b.path
631
- }))), Y = (N, b = "") => {
628
+ ], R = w(() => o.matched.filter((k) => k.meta && k.meta.title).map((k) => ({
629
+ title: k.meta.title,
630
+ path: k.path
631
+ }))), j = (T, k = "") => {
632
632
  const se = [];
633
- return N.forEach((L) => {
634
- L.children && L.children.length > 0 ? se.push(...Y(L.children, L.menuName)) : se.push({ ...L, parentTitle: b, title: L.menuName, path: L.menuUrl });
633
+ return T.forEach((L) => {
634
+ L.children && L.children.length > 0 ? se.push(...j(L.children, L.menuName)) : se.push({ ...L, parentTitle: k, title: L.menuName, path: L.menuUrl });
635
635
  }), se;
636
636
  }, Q = /* @__PURE__ */ new Set([
637
637
  "arrow-up",
@@ -735,10 +735,10 @@ const ge = Pe("menu", () => {
735
735
  "sun",
736
736
  "theme",
737
737
  "skin"
738
- ]), X = (N) => {
739
- if (!N || N === "") return "";
740
- if (N.startsWith("tineco-icon-")) {
741
- const se = N.replace("tineco-icon-", "");
738
+ ]), X = (T) => {
739
+ if (!T || T === "") return "";
740
+ if (T.startsWith("tineco-icon-")) {
741
+ const se = T.replace("tineco-icon-", "");
742
742
  return {
743
743
  home: "home",
744
744
  dashboard: "dashboard",
@@ -771,153 +771,153 @@ const ge = Pe("menu", () => {
771
771
  app: "app",
772
772
  list: "list",
773
773
  grid: "grid"
774
- }[N] || N;
775
- }, ee = (N) => N ? N.charAt(0) : "", G = (N) => Q.has(N), te = w(() => c.value.trim() ? Y(i.menuList).filter(
776
- (b) => b.title.toLowerCase().includes(c.value.toLowerCase())
777
- ) : []), D = w(() => l.layout), E = () => {
778
- l.toggleCollapse();
779
- }, F = () => {
780
- l.toggleTheme();
774
+ }[T] || T;
775
+ }, ee = (T) => T ? T.charAt(0) : "", G = (T) => Q.has(T), te = w(() => c.value.trim() ? j(r.menuList).filter(
776
+ (k) => k.title.toLowerCase().includes(c.value.toLowerCase())
777
+ ) : []), B = w(() => n.layout), N = () => {
778
+ n.toggleCollapse();
779
+ }, A = () => {
780
+ n.toggleTheme();
781
781
  }, J = () => {
782
782
  _.value = !0;
783
- }, K = (N) => {
784
- l.setLayout(N), _.value = !1;
785
- }, oe = (N) => {
786
- P.value = N;
787
- const b = document.documentElement;
788
- N ? b.classList.add("grey-mode") : b.classList.remove("grey-mode");
789
- }, he = () => {
790
- oe(!P.value), _.value = !1;
783
+ }, W = (T) => {
784
+ n.setLayout(T), _.value = !1;
785
+ }, oe = (T) => {
786
+ z.value = T;
787
+ const k = document.documentElement;
788
+ T ? k.classList.add("grey-mode") : k.classList.remove("grey-mode");
789
+ }, _e = () => {
790
+ oe(!z.value), _.value = !1;
791
791
  }, we = () => {
792
- l.toggleTheme(), _.value = !1;
793
- }, re = () => {
794
- l.resetToServerDefaults(), _.value = !1;
795
- }, me = () => {
792
+ n.toggleTheme(), _.value = !1;
793
+ }, ue = () => {
794
+ n.resetToServerDefaults(), _.value = !1;
795
+ }, pe = () => {
796
796
  document.fullscreenElement ? document.exitFullscreen() : document.documentElement.requestFullscreen();
797
797
  }, ye = () => {
798
798
  f.value = !!document.fullscreenElement;
799
- }, ie = () => {
800
- h.value = !h.value;
801
- }, ne = () => {
802
- h.value = !1;
803
- }, M = () => {
804
- y.value = !1, c.value = "";
805
- }, q = (N) => {
806
- p.push(N), M();
807
- }, pe = (N) => {
808
- l.setPrimaryColor(N), _.value = !1;
809
- }, ve = () => {
810
- ne(), p.push("/profile");
799
+ }, de = () => {
800
+ v.value = !v.value;
811
801
  }, ae = () => {
812
- ne(), p.push("/change-password");
802
+ v.value = !1;
803
+ }, S = () => {
804
+ b.value = !1, c.value = "";
805
+ }, Y = (T) => {
806
+ p.push(T), S();
807
+ }, ve = (T) => {
808
+ n.setPrimaryColor(T), _.value = !1;
809
+ }, he = () => {
810
+ ae(), p.push("/profile");
811
+ }, ie = () => {
812
+ ae(), p.push("/change-password");
813
813
  }, xe = () => {
814
- ne(), d.logout(), s.clearUserInfo(), i.clearMenu(), p.push(l.loginPath);
815
- }, be = (N) => {
816
- m.value && !m.value.contains(N.target) && ne(), W.value && !W.value.contains(N.target) && M();
817
- }, Ce = (N) => {
818
- N.key === "Escape" && (M(), ne());
814
+ ae(), d.logout(), s.clearUserInfo(), r.clearMenu(), p.push(n.loginPath);
815
+ }, be = (T) => {
816
+ m.value && !m.value.contains(T.target) && ae(), V.value && !V.value.contains(T.target) && S();
817
+ }, Ce = (T) => {
818
+ T.key === "Escape" && (S(), ae());
819
819
  };
820
- return qe(() => {
821
- document.addEventListener("click", be), document.addEventListener("fullscreenchange", ye), document.addEventListener("keydown", Ce), l.initTheme(), P.value = document.documentElement.classList.contains("grey-mode");
822
- }), He(() => {
820
+ return Oe(() => {
821
+ document.addEventListener("click", be), document.addEventListener("fullscreenchange", ye), document.addEventListener("keydown", Ce), n.initTheme(), z.value = document.documentElement.classList.contains("grey-mode");
822
+ }), Xe(() => {
823
823
  document.removeEventListener("click", be), document.removeEventListener("fullscreenchange", ye), document.removeEventListener("keydown", Ce);
824
- }), (N, b) => {
824
+ }), (T, k) => {
825
825
  var se;
826
- return o(), u("div", os, [
827
- e("div", ns, [
826
+ return a(), u("div", rs, [
827
+ e("div", is, [
828
828
  e("div", {
829
829
  class: "header__collapse",
830
- onClick: E
830
+ onClick: N
831
831
  }, [
832
- k(n(U), {
833
- name: n(l).isCollapsed ? "menu-unfold" : "menu-fold",
832
+ y(l(E), {
833
+ name: l(n).isCollapsed ? "menu-unfold" : "menu-fold",
834
834
  size: 18
835
835
  }, null, 8, ["name"])
836
836
  ]),
837
- n(l).showBreadcrumb ? (o(), u("div", as, [
838
- (o(!0), u(j, null, Z(R.value, (L, I) => (o(), u("span", {
837
+ l(n).showBreadcrumb ? (a(), u("div", cs, [
838
+ (a(!0), u(q, null, Z(R.value, (L, I) => (a(), u("span", {
839
839
  key: L.path
840
840
  }, [
841
- I > 0 ? (o(), u("span", ls, "/")) : z("", !0),
841
+ I > 0 ? (a(), u("span", us, "/")) : P("", !0),
842
842
  e("span", {
843
843
  class: H({ "is-current": I === R.value.length - 1 })
844
844
  }, x(L.title), 3)
845
845
  ]))), 128))
846
- ])) : z("", !0)
846
+ ])) : P("", !0)
847
847
  ]),
848
- e("div", rs, [
848
+ e("div", ds, [
849
849
  e("div", {
850
850
  class: "header__search",
851
851
  ref_key: "searchRef",
852
- ref: W
852
+ ref: V
853
853
  }, [
854
- k(n(U), {
854
+ y(l(E), {
855
855
  name: "search",
856
856
  size: 14,
857
857
  class: "header__search-icon"
858
858
  }),
859
- De(e("input", {
860
- "onUpdate:modelValue": b[0] || (b[0] = (L) => c.value = L),
859
+ Be(e("input", {
860
+ "onUpdate:modelValue": k[0] || (k[0] = (L) => c.value = L),
861
861
  type: "text",
862
862
  class: "header__search-input",
863
863
  placeholder: "搜索菜单...",
864
- onFocus: b[1] || (b[1] = (L) => y.value = !0)
864
+ onFocus: k[1] || (k[1] = (L) => b.value = !0)
865
865
  }, null, 544), [
866
- [Ye, c.value]
866
+ [Je, c.value]
867
867
  ]),
868
- k(Se, { name: "search-dropdown" }, {
869
- default: S(() => [
870
- y.value && (te.value.length > 0 || c.value) ? (o(), u("div", is, [
871
- te.value.length > 0 ? (o(), u("div", cs, [
872
- (o(!0), u(j, null, Z(te.value, (L) => (o(), u("div", {
868
+ y(Ie, { name: "search-dropdown" }, {
869
+ default: C(() => [
870
+ b.value && (te.value.length > 0 || c.value) ? (a(), u("div", ms, [
871
+ te.value.length > 0 ? (a(), u("div", ps, [
872
+ (a(!0), u(q, null, Z(te.value, (L) => (a(), u("div", {
873
873
  key: L.path,
874
874
  class: "header__search-item",
875
- onClick: (I) => q(L.path)
875
+ onClick: (I) => Y(L.path)
876
876
  }, [
877
- L.title !== "首页" ? (o(), u("span", ds, [
878
- G(X(L.icon)) ? (o(), A(n(U), {
877
+ L.title !== "首页" ? (a(), u("span", hs, [
878
+ G(X(L.icon)) ? (a(), D(l(E), {
879
879
  key: 0,
880
880
  name: X(L.icon),
881
881
  size: 16
882
- }, null, 8, ["name"])) : (o(), u("span", ms, x(ee(L.title)), 1))
883
- ])) : z("", !0),
884
- e("span", ps, x(L.title), 1),
885
- L.parentTitle ? (o(), u("span", vs, x(L.parentTitle), 1)) : z("", !0)
886
- ], 8, us))), 128))
887
- ])) : (o(), u("div", hs, " 未找到匹配的菜单 "))
888
- ])) : z("", !0)
882
+ }, null, 8, ["name"])) : (a(), u("span", _s, x(ee(L.title)), 1))
883
+ ])) : P("", !0),
884
+ e("span", fs, x(L.title), 1),
885
+ L.parentTitle ? (a(), u("span", gs, x(L.parentTitle), 1)) : P("", !0)
886
+ ], 8, vs))), 128))
887
+ ])) : (a(), u("div", ys, " 未找到匹配的菜单 "))
888
+ ])) : P("", !0)
889
889
  ]),
890
890
  _: 1
891
891
  })
892
892
  ], 512),
893
893
  e("div", {
894
894
  class: "header__action",
895
- onClick: me,
895
+ onClick: pe,
896
896
  title: f.value ? "退出全屏" : "全屏"
897
897
  }, [
898
- k(n(U), {
898
+ y(l(E), {
899
899
  name: f.value ? "fullscreen-exit" : "fullscreen",
900
900
  size: 16
901
901
  }, null, 8, ["name"])
902
- ], 8, _s),
903
- n(l).allowUserOverride ? (o(), u("div", {
902
+ ], 8, bs),
903
+ l(n).allowUserOverride ? (a(), u("div", {
904
904
  key: 0,
905
905
  class: "header__action",
906
906
  onClick: J,
907
907
  title: "换肤设置"
908
908
  }, [
909
- k(n(U), {
909
+ y(l(E), {
910
910
  name: "skin",
911
911
  size: 16
912
912
  })
913
- ])) : z("", !0),
913
+ ])) : P("", !0),
914
914
  e("div", {
915
915
  class: "header__action",
916
- onClick: F,
916
+ onClick: A,
917
917
  title: "切换主题"
918
918
  }, [
919
- k(n(U), {
920
- name: n(l).isDark ? "sun" : "moon",
919
+ y(l(E), {
920
+ name: l(n).isDark ? "sun" : "moon",
921
921
  size: 16
922
922
  }, null, 8, ["name"])
923
923
  ]),
@@ -928,15 +928,15 @@ const ge = Pe("menu", () => {
928
928
  }, [
929
929
  e("div", {
930
930
  class: "header__user-trigger",
931
- onClick: Ae(ie, ["stop"])
931
+ onClick: Ve(de, ["stop"])
932
932
  }, [
933
- e("div", fs, [
934
- e("span", null, x(((se = n(s).userName) == null ? void 0 : se.charAt(0)) || "U"), 1)
933
+ e("div", ks, [
934
+ e("span", null, x(((se = l(s).userName) == null ? void 0 : se.charAt(0)) || "U"), 1)
935
935
  ]),
936
- e("span", gs, x(n(s).userName), 1),
936
+ e("span", ws, x(l(s).userName), 1),
937
937
  e("span", {
938
- class: H(["header__user-arrow", { "is-active": h.value }])
939
- }, [...b[3] || (b[3] = [
938
+ class: H(["header__user-arrow", { "is-active": v.value }])
939
+ }, [...k[3] || (k[3] = [
940
940
  e("svg", {
941
941
  viewBox: "0 0 12 12",
942
942
  width: "10",
@@ -951,89 +951,89 @@ const ge = Pe("menu", () => {
951
951
  ], -1)
952
952
  ])], 2)
953
953
  ]),
954
- k(Se, { name: "dropdown" }, {
955
- default: S(() => {
954
+ y(Ie, { name: "dropdown" }, {
955
+ default: C(() => {
956
956
  var L;
957
957
  return [
958
- h.value ? (o(), u("div", ys, [
959
- e("div", bs, [
960
- e("div", ks, [
961
- e("span", null, x(((L = n(s).userName) == null ? void 0 : L.charAt(0)) || "U"), 1)
958
+ v.value ? (a(), u("div", xs, [
959
+ e("div", Cs, [
960
+ e("div", $s, [
961
+ e("span", null, x(((L = l(s).userName) == null ? void 0 : L.charAt(0)) || "U"), 1)
962
962
  ]),
963
- e("div", ws, [
964
- e("div", xs, x(n(s).userName), 1),
965
- e("div", Cs, x(n(s).roleName || n(s).departmentName), 1)
963
+ e("div", Ls, [
964
+ e("div", Ms, x(l(s).userName), 1),
965
+ e("div", Ss, x(l(s).roleName || l(s).departmentName), 1)
966
966
  ])
967
967
  ]),
968
- b[8] || (b[8] = e("div", { class: "header__dropdown-divider" }, null, -1)),
969
- e("div", Ls, [
968
+ k[8] || (k[8] = e("div", { class: "header__dropdown-divider" }, null, -1)),
969
+ e("div", Is, [
970
970
  e("div", {
971
971
  class: "header__dropdown-item",
972
- onClick: ve
972
+ onClick: he
973
973
  }, [
974
- k(n(U), {
974
+ y(l(E), {
975
975
  name: "user",
976
976
  size: 16
977
977
  }),
978
- b[4] || (b[4] = e("span", null, "个人信息", -1))
978
+ k[4] || (k[4] = e("span", null, "个人信息", -1))
979
979
  ]),
980
980
  e("div", {
981
981
  class: "header__dropdown-item",
982
- onClick: ae
982
+ onClick: ie
983
983
  }, [
984
- k(n(U), {
984
+ y(l(E), {
985
985
  name: "lock",
986
986
  size: 16
987
987
  }),
988
- b[5] || (b[5] = e("span", null, "修改密码", -1))
988
+ k[5] || (k[5] = e("span", null, "修改密码", -1))
989
989
  ]),
990
- b[7] || (b[7] = e("div", { class: "header__dropdown-divider" }, null, -1)),
990
+ k[7] || (k[7] = e("div", { class: "header__dropdown-divider" }, null, -1)),
991
991
  e("div", {
992
992
  class: "header__dropdown-item header__dropdown-item--danger",
993
993
  onClick: xe
994
994
  }, [
995
- k(n(U), {
995
+ y(l(E), {
996
996
  name: "logout",
997
997
  size: 16
998
998
  }),
999
- b[6] || (b[6] = e("span", null, "退出登录", -1))
999
+ k[6] || (k[6] = e("span", null, "退出登录", -1))
1000
1000
  ])
1001
1001
  ])
1002
- ])) : z("", !0)
1002
+ ])) : P("", !0)
1003
1003
  ];
1004
1004
  }),
1005
1005
  _: 1
1006
1006
  })
1007
1007
  ], 512)
1008
1008
  ]),
1009
- k(n(Qe), {
1009
+ y(l(st), {
1010
1010
  modelValue: _.value,
1011
- "onUpdate:modelValue": b[2] || (b[2] = (L) => _.value = L),
1011
+ "onUpdate:modelValue": k[2] || (k[2] = (L) => _.value = L),
1012
1012
  title: "换肤设置",
1013
1013
  direction: "rtl",
1014
1014
  size: "320px"
1015
1015
  }, {
1016
- default: S(() => [
1017
- e("div", $s, [
1018
- e("div", Ms, [
1019
- b[12] || (b[12] = e("div", { class: "settings-title" }, "布局模式", -1)),
1020
- e("div", Ss, [
1021
- (o(), u(j, null, Z(B, (L) => e("div", {
1016
+ default: C(() => [
1017
+ e("div", Es, [
1018
+ e("div", Ns, [
1019
+ k[12] || (k[12] = e("div", { class: "settings-title" }, "布局模式", -1)),
1020
+ e("div", Ts, [
1021
+ (a(), u(q, null, Z(F, (L) => e("div", {
1022
1022
  key: L.value,
1023
- class: H(["layout-option", { "is-active": D.value === L.value }]),
1024
- onClick: (I) => K(L.value)
1023
+ class: H(["layout-option", { "is-active": B.value === L.value }]),
1024
+ onClick: (I) => W(L.value)
1025
1025
  }, [
1026
- e("div", Es, [
1027
- L.value === "sidebar" ? (o(), u("div", Ns, [...b[9] || (b[9] = [
1026
+ e("div", zs, [
1027
+ L.value === "sidebar" ? (a(), u("div", Ps, [...k[9] || (k[9] = [
1028
1028
  e("div", { class: "preview-aside" }, null, -1),
1029
1029
  e("div", { class: "preview-main" }, [
1030
1030
  e("div", { class: "preview-header" }),
1031
1031
  e("div", { class: "preview-content" })
1032
1032
  ], -1)
1033
- ])])) : L.value === "top" ? (o(), u("div", Us, [...b[10] || (b[10] = [
1033
+ ])])) : L.value === "top" ? (a(), u("div", Fs, [...k[10] || (k[10] = [
1034
1034
  e("div", { class: "preview-header-full" }, null, -1),
1035
1035
  e("div", { class: "preview-content-full" }, null, -1)
1036
- ])])) : (o(), u("div", Ts, [...b[11] || (b[11] = [
1036
+ ])])) : (a(), u("div", Ds, [...k[11] || (k[11] = [
1037
1037
  e("div", { class: "preview-header-mix" }, [
1038
1038
  e("div", { class: "preview-mix-left" })
1039
1039
  ], -1),
@@ -1043,62 +1043,62 @@ const ge = Pe("menu", () => {
1043
1043
  ], -1)
1044
1044
  ])]))
1045
1045
  ]),
1046
- e("span", Ps, x(L.label), 1)
1047
- ], 10, Is)), 64))
1046
+ e("span", As, x(L.label), 1)
1047
+ ], 10, Us)), 64))
1048
1048
  ])
1049
1049
  ]),
1050
- e("div", zs, [
1051
- b[13] || (b[13] = e("div", { class: "settings-title" }, "主题色", -1)),
1052
- e("div", Fs, [
1053
- (o(), u(j, null, Z(V, (L) => e("div", {
1050
+ e("div", Bs, [
1051
+ k[13] || (k[13] = e("div", { class: "settings-title" }, "主题色", -1)),
1052
+ e("div", Os, [
1053
+ (a(), u(q, null, Z(O, (L) => e("div", {
1054
1054
  key: L.value,
1055
- class: H(["color-option", { "is-active": n(l).primaryColor === L.value }]),
1055
+ class: H(["color-option", { "is-active": l(n).primaryColor === L.value }]),
1056
1056
  style: Ue({ backgroundColor: L.value }),
1057
1057
  title: L.label,
1058
- onClick: (I) => pe(L.value)
1058
+ onClick: (I) => ve(L.value)
1059
1059
  }, [
1060
- n(l).primaryColor === L.value ? (o(), A(n(U), {
1060
+ l(n).primaryColor === L.value ? (a(), D(l(E), {
1061
1061
  key: 0,
1062
1062
  name: "check",
1063
1063
  size: 12,
1064
1064
  color: "#fff"
1065
- })) : z("", !0)
1066
- ], 14, Ds)), 64))
1065
+ })) : P("", !0)
1066
+ ], 14, Vs)), 64))
1067
1067
  ])
1068
1068
  ]),
1069
- e("div", As, [
1070
- b[18] || (b[18] = e("div", { class: "settings-title" }, "功能设置", -1)),
1071
- e("div", Bs, [
1072
- e("div", Vs, [
1073
- b[15] || (b[15] = e("span", null, "灰色模式", -1)),
1069
+ e("div", Rs, [
1070
+ k[18] || (k[18] = e("div", { class: "settings-title" }, "功能设置", -1)),
1071
+ e("div", Ks, [
1072
+ e("div", js, [
1073
+ k[15] || (k[15] = e("span", null, "灰色模式", -1)),
1074
1074
  e("div", {
1075
- class: H(["switch-wrapper", { "is-checked": P.value }]),
1076
- onClick: he
1077
- }, [...b[14] || (b[14] = [
1075
+ class: H(["switch-wrapper", { "is-checked": z.value }]),
1076
+ onClick: _e
1077
+ }, [...k[14] || (k[14] = [
1078
1078
  e("span", { class: "switch-core" }, null, -1)
1079
1079
  ])], 2)
1080
1080
  ]),
1081
- e("div", Os, [
1082
- b[17] || (b[17] = e("span", null, "暗黑模式", -1)),
1081
+ e("div", Ws, [
1082
+ k[17] || (k[17] = e("span", null, "暗黑模式", -1)),
1083
1083
  e("div", {
1084
- class: H(["switch-wrapper", { "is-checked": n(l).isDark }]),
1084
+ class: H(["switch-wrapper", { "is-checked": l(n).isDark }]),
1085
1085
  onClick: we
1086
- }, [...b[16] || (b[16] = [
1086
+ }, [...k[16] || (k[16] = [
1087
1087
  e("span", { class: "switch-core" }, null, -1)
1088
1088
  ])], 2)
1089
1089
  ])
1090
1090
  ])
1091
1091
  ]),
1092
- e("div", Rs, [
1092
+ e("div", qs, [
1093
1093
  e("div", {
1094
1094
  class: "settings-reset",
1095
- onClick: re
1095
+ onClick: ue
1096
1096
  }, [
1097
- k(n(U), {
1097
+ y(l(E), {
1098
1098
  name: "refresh",
1099
1099
  size: 14
1100
1100
  }),
1101
- b[19] || (b[19] = e("span", null, "恢复默认", -1))
1101
+ k[19] || (k[19] = e("span", null, "恢复默认", -1))
1102
1102
  ])
1103
1103
  ])
1104
1104
  ])
@@ -1108,73 +1108,73 @@ const ge = Pe("menu", () => {
1108
1108
  ]);
1109
1109
  };
1110
1110
  }
1111
- }), js = /* @__PURE__ */ de(Ks, [["__scopeId", "data-v-21769fe5"]]), Ws = { class: "top-menu" }, qs = { class: "top-menu__logo" }, Hs = ["src"], Ys = { class: "top-menu__logo-text" }, Gs = { class: "top-menu__menu-content" }, Xs = {
1111
+ }), Ys = /* @__PURE__ */ re(Hs, [["__scopeId", "data-v-21769fe5"]]), Gs = { class: "top-menu" }, Xs = { class: "top-menu__logo" }, Js = ["src"], Zs = { class: "top-menu__logo-text" }, Qs = { class: "top-menu__menu-content" }, eo = {
1112
1112
  key: 0,
1113
1113
  class: "top-menu__menu-icon"
1114
- }, Js = {
1114
+ }, to = {
1115
1115
  key: 1,
1116
1116
  class: "top-menu__menu-char"
1117
- }, Zs = { class: "top-menu__menu-text" }, Qs = { class: "top-menu__menu-content" }, eo = { class: "top-menu__menu-icon" }, to = {
1117
+ }, so = { class: "top-menu__menu-text" }, oo = { class: "top-menu__menu-content" }, ao = { class: "top-menu__menu-icon" }, no = {
1118
1118
  key: 1,
1119
1119
  class: "top-menu__menu-char"
1120
- }, so = { class: "top-menu__menu-text" }, oo = { class: "top-menu__menu-content" }, no = { class: "top-menu__menu-icon" }, ao = {
1120
+ }, lo = { class: "top-menu__menu-text" }, ro = { class: "top-menu__menu-content" }, io = { class: "top-menu__menu-icon" }, co = {
1121
1121
  key: 1,
1122
1122
  class: "top-menu__menu-char"
1123
- }, lo = { class: "top-menu__menu-text" }, ro = { class: "top-menu__menu-content" }, io = { class: "top-menu__menu-icon" }, co = {
1123
+ }, uo = { class: "top-menu__menu-text" }, mo = { class: "top-menu__menu-content" }, po = { class: "top-menu__menu-icon" }, vo = {
1124
1124
  key: 1,
1125
1125
  class: "top-menu__menu-char"
1126
- }, uo = { class: "top-menu__menu-text" }, mo = { class: "top-menu__menu-content" }, po = {
1126
+ }, ho = { class: "top-menu__menu-text" }, _o = { class: "top-menu__menu-content" }, fo = {
1127
1127
  key: 0,
1128
1128
  class: "top-menu__menu-icon"
1129
- }, vo = {
1129
+ }, go = {
1130
1130
  key: 1,
1131
1131
  class: "top-menu__menu-char"
1132
- }, ho = { class: "top-menu__menu-text" }, _o = { class: "top-menu__actions" }, fo = {
1132
+ }, yo = { class: "top-menu__menu-text" }, bo = { class: "top-menu__actions" }, ko = {
1133
1133
  key: 0,
1134
1134
  class: "top-menu__search-dropdown"
1135
- }, go = {
1135
+ }, wo = {
1136
1136
  key: 0,
1137
1137
  class: "top-menu__search-results"
1138
- }, yo = ["onClick"], bo = {
1138
+ }, xo = ["onClick"], Co = {
1139
1139
  key: 0,
1140
1140
  class: "top-menu__search-icon-item"
1141
- }, ko = {
1141
+ }, $o = {
1142
1142
  key: 1,
1143
1143
  class: "top-menu__search-char"
1144
- }, wo = { class: "top-menu__search-item-title" }, xo = {
1144
+ }, Lo = { class: "top-menu__search-item-title" }, Mo = {
1145
1145
  key: 1,
1146
1146
  class: "top-menu__search-item-parent"
1147
- }, Co = {
1147
+ }, So = {
1148
1148
  key: 1,
1149
1149
  class: "top-menu__search-empty"
1150
- }, Lo = ["title"], $o = { class: "top-menu__avatar" }, Mo = { class: "top-menu__user-name" }, So = {
1150
+ }, Io = ["title"], Eo = { class: "top-menu__avatar" }, No = { class: "top-menu__user-name" }, To = {
1151
1151
  key: 0,
1152
1152
  class: "top-menu__dropdown"
1153
- }, Io = { class: "top-menu__dropdown-header" }, Eo = { class: "top-menu__dropdown-avatar" }, No = { class: "top-menu__dropdown-info" }, Uo = { class: "top-menu__dropdown-name" }, To = { class: "top-menu__dropdown-role" }, Po = { class: "top-menu__dropdown-menu" }, zo = { class: "settings-drawer" }, Fo = { class: "settings-section" }, Do = { class: "settings-layout-options" }, Ao = ["onClick"], Bo = { class: "layout-option__preview" }, Vo = {
1153
+ }, Uo = { class: "top-menu__dropdown-header" }, zo = { class: "top-menu__dropdown-avatar" }, Po = { class: "top-menu__dropdown-info" }, Fo = { class: "top-menu__dropdown-name" }, Do = { class: "top-menu__dropdown-role" }, Ao = { class: "top-menu__dropdown-menu" }, Bo = { class: "settings-drawer" }, Oo = { class: "settings-section" }, Vo = { class: "settings-layout-options" }, Ro = ["onClick"], Ko = { class: "layout-option__preview" }, jo = {
1154
1154
  key: 0,
1155
1155
  class: "layout-preview-sidebar"
1156
- }, Oo = {
1156
+ }, Wo = {
1157
1157
  key: 1,
1158
1158
  class: "layout-preview-top"
1159
- }, Ro = {
1159
+ }, qo = {
1160
1160
  key: 2,
1161
1161
  class: "layout-preview-mix"
1162
- }, 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__ */ ce({
1162
+ }, Ho = { class: "layout-option__label" }, Yo = { class: "settings-section" }, Go = { class: "settings-color-options" }, Xo = ["title", "onClick"], Jo = { class: "settings-section" }, Zo = { class: "settings-switch-list" }, Qo = { class: "settings-switch-item" }, ea = { class: "settings-switch-item" }, ta = /* @__PURE__ */ le({
1163
1163
  __name: "TopMenu",
1164
1164
  props: {
1165
1165
  logoSrc: {}
1166
1166
  },
1167
1167
  setup(t) {
1168
- const a = t, p = w(() => a.logoSrc || Te("/vite.svg")), l = Ee(), s = ke(), d = ge(), i = fe(), h = ue(), _ = ze(), m = w(() => l.path), f = (I, C = "") => {
1169
- const le = [];
1170
- return I.forEach((r) => {
1171
- r.children && r.children.length > 0 ? le.push(...f(r.children, r.menuName)) : le.push({ ...r, parentTitle: C, title: r.menuName, path: r.menuUrl });
1172
- }), le;
1173
- }, y = w(() => ee.value.trim() ? f(d.menuList).filter(
1174
- (C) => C.title.toLowerCase().includes(ee.value.toLowerCase())
1175
- ) : []), c = w(() => i.isDark ? "#1d1e1f" : "#fff"), W = w(() => i.isDark ? "#cfd3dc" : "#303133"), P = w(() => "#409eff"), B = g(!1), V = g(null), R = g(!1), Y = g(!1), Q = g(!1), X = g(!1), ee = g(""), G = g(null), te = (I) => {
1176
- I && I !== l.path && s.push(I);
1177
- }, D = /* @__PURE__ */ new Set([
1168
+ const o = t, p = w(() => o.logoSrc || ze("/vite.svg")), n = Ne(), s = ke(), d = ge(), r = fe(), v = me(), _ = Fe(), m = w(() => n.path), f = (I, $ = "") => {
1169
+ const ce = [];
1170
+ return I.forEach((i) => {
1171
+ i.children && i.children.length > 0 ? ce.push(...f(i.children, i.menuName)) : ce.push({ ...i, parentTitle: $, title: i.menuName, path: i.menuUrl });
1172
+ }), ce;
1173
+ }, b = w(() => ee.value.trim() ? f(d.menuList).filter(
1174
+ ($) => $.title.toLowerCase().includes(ee.value.toLowerCase())
1175
+ ) : []), c = w(() => r.isDark ? "#1d1e1f" : "#fff"), V = w(() => r.isDark ? "#cfd3dc" : "#303133"), z = w(() => "#409eff"), F = g(!1), O = g(null), R = g(!1), j = g(!1), Q = g(!1), X = g(!1), ee = g(""), G = g(null), te = (I) => {
1176
+ I && I !== n.path && s.push(I);
1177
+ }, B = /* @__PURE__ */ new Set([
1178
1178
  "arrow-up",
1179
1179
  "arrow-down",
1180
1180
  "arrow-left",
@@ -1276,10 +1276,10 @@ const ge = Pe("menu", () => {
1276
1276
  "sun",
1277
1277
  "theme",
1278
1278
  "skin"
1279
- ]), E = (I) => {
1279
+ ]), N = (I) => {
1280
1280
  if (!I || I === "") return "";
1281
1281
  if (I.startsWith("tineco-icon-")) {
1282
- const le = I.replace("tineco-icon-", "");
1282
+ const ce = I.replace("tineco-icon-", "");
1283
1283
  return {
1284
1284
  home: "home",
1285
1285
  dashboard: "dashboard",
@@ -1293,7 +1293,7 @@ const ge = Pe("menu", () => {
1293
1293
  chart: "chart",
1294
1294
  report: "report",
1295
1295
  analytics: "analytics"
1296
- }[le] || le;
1296
+ }[ce] || ce;
1297
1297
  }
1298
1298
  return {
1299
1299
  dashboard: "dashboard",
@@ -1313,36 +1313,36 @@ const ge = Pe("menu", () => {
1313
1313
  list: "list",
1314
1314
  grid: "grid"
1315
1315
  }[I] || I;
1316
- }, F = (I) => I ? I.charAt(0) : "", J = (I) => D.has(I), K = () => {
1317
- i.toggleTheme(), Y.value = !1;
1316
+ }, A = (I) => I ? I.charAt(0) : "", J = (I) => B.has(I), W = () => {
1317
+ r.toggleTheme(), j.value = !1;
1318
1318
  }, oe = () => {
1319
1319
  document.fullscreenElement ? document.exitFullscreen() : document.documentElement.requestFullscreen();
1320
- }, he = () => {
1320
+ }, _e = () => {
1321
1321
  R.value = !!document.fullscreenElement;
1322
1322
  }, we = () => {
1323
- B.value = !B.value;
1324
- }, re = () => {
1325
- B.value = !1;
1326
- }, me = () => {
1323
+ F.value = !F.value;
1324
+ }, ue = () => {
1325
+ F.value = !1;
1326
+ }, pe = () => {
1327
1327
  X.value = !1, ee.value = "";
1328
1328
  }, ye = (I) => {
1329
- s.push(I), me();
1330
- }, ie = () => {
1331
- Y.value = !0;
1332
- }, ne = (I) => {
1329
+ s.push(I), pe();
1330
+ }, de = () => {
1331
+ j.value = !0;
1332
+ }, ae = (I) => {
1333
1333
  Q.value = I;
1334
- const C = document.documentElement;
1335
- I ? C.classList.add("grey-mode") : C.classList.remove("grey-mode");
1336
- }, M = () => {
1337
- ne(!Q.value), Y.value = !1;
1338
- }, q = () => {
1339
- i.toggleTheme(), Y.value = !1;
1340
- }, pe = [
1334
+ const $ = document.documentElement;
1335
+ I ? $.classList.add("grey-mode") : $.classList.remove("grey-mode");
1336
+ }, S = () => {
1337
+ ae(!Q.value), j.value = !1;
1338
+ }, Y = () => {
1339
+ r.toggleTheme(), j.value = !1;
1340
+ }, ve = [
1341
1341
  { value: "sidebar", label: "左侧菜单", icon: "sidebar-left" },
1342
1342
  { value: "top", label: "顶部菜单", icon: "menu" },
1343
1343
  { value: "mix", label: "混合菜单", icon: "grid" }
1344
- ], ve = w(() => i.layout), ae = (I) => {
1345
- i.setLayout(I), Y.value = !1;
1344
+ ], he = w(() => r.layout), ie = (I) => {
1345
+ r.setLayout(I), j.value = !1;
1346
1346
  }, xe = [
1347
1347
  { value: "#409eff", label: "默认蓝" },
1348
1348
  { value: "#0F6FDE", label: "企业蓝" },
@@ -1350,117 +1350,117 @@ const ge = Pe("menu", () => {
1350
1350
  { value: "#D46B08", label: "琥珀橙" },
1351
1351
  { value: "#1F2329", label: "石墨黑" }
1352
1352
  ], be = (I) => {
1353
- i.setPrimaryColor(I), Y.value = !1;
1353
+ r.setPrimaryColor(I), j.value = !1;
1354
1354
  }, Ce = () => {
1355
- re(), s.push("/profile");
1356
- }, N = () => {
1357
- re(), s.push("/change-password");
1358
- }, b = () => {
1359
- re(), _.logout(), h.clearUserInfo(), d.clearMenu(), s.push(i.loginPath);
1355
+ ue(), s.push("/profile");
1356
+ }, T = () => {
1357
+ ue(), s.push("/change-password");
1358
+ }, k = () => {
1359
+ ue(), _.logout(), v.clearUserInfo(), d.clearMenu(), s.push(r.loginPath);
1360
1360
  }, se = (I) => {
1361
- V.value && !V.value.contains(I.target) && re(), G.value && !G.value.contains(I.target) && me();
1361
+ O.value && !O.value.contains(I.target) && ue(), G.value && !G.value.contains(I.target) && pe();
1362
1362
  }, L = (I) => {
1363
- I.key === "Escape" && (me(), re());
1363
+ I.key === "Escape" && (pe(), ue());
1364
1364
  };
1365
- return qe(() => {
1366
- document.addEventListener("click", se), document.addEventListener("fullscreenchange", he), document.addEventListener("keydown", L), Q.value = document.documentElement.classList.contains("grey-mode");
1367
- }), He(() => {
1368
- document.removeEventListener("click", se), document.removeEventListener("fullscreenchange", he), document.removeEventListener("keydown", L);
1369
- }), (I, C) => {
1370
- var le;
1371
- return o(), u("div", Ws, [
1372
- e("div", qs, [
1365
+ return Oe(() => {
1366
+ document.addEventListener("click", se), document.addEventListener("fullscreenchange", _e), document.addEventListener("keydown", L), Q.value = document.documentElement.classList.contains("grey-mode");
1367
+ }), Xe(() => {
1368
+ document.removeEventListener("click", se), document.removeEventListener("fullscreenchange", _e), document.removeEventListener("keydown", L);
1369
+ }), (I, $) => {
1370
+ var ce;
1371
+ return a(), u("div", Gs, [
1372
+ e("div", Xs, [
1373
1373
  e("img", {
1374
1374
  src: p.value,
1375
1375
  alt: "Logo",
1376
1376
  class: "top-menu__logo-img"
1377
- }, null, 8, Hs),
1378
- e("span", Ys, x(n(i).appName), 1)
1377
+ }, null, 8, Js),
1378
+ e("span", Zs, x(l(r).appName), 1)
1379
1379
  ]),
1380
- k(n(Ze), {
1380
+ y(l(tt), {
1381
1381
  "model-value": m.value,
1382
1382
  mode: "horizontal",
1383
1383
  "background-color": c.value,
1384
- "text-color": W.value,
1385
- "active-text-color": P.value,
1384
+ "text-color": V.value,
1385
+ "active-text-color": z.value,
1386
1386
  class: "top-menu__menu",
1387
1387
  onSelect: te
1388
1388
  }, {
1389
- default: S(() => [
1390
- (o(!0), u(j, null, Z(n(d).menuList, (r) => (o(), u(j, {
1391
- key: r.menuUrl
1389
+ default: C(() => [
1390
+ (a(!0), u(q, null, Z(l(d).menuList, (i) => (a(), u(q, {
1391
+ key: i.menuUrl
1392
1392
  }, [
1393
- r.children && r.children.length > 0 ? (o(), A(n(We), {
1393
+ i.children && i.children.length > 0 ? (a(), D(l(Ge), {
1394
1394
  key: 0,
1395
- index: r.menuUrl
1395
+ index: i.menuUrl
1396
1396
  }, {
1397
- title: S(() => [
1398
- e("span", Gs, [
1399
- r.menuName !== "首页" ? (o(), u("span", Xs, [
1400
- J(E(r.icon)) ? (o(), A(n(U), {
1397
+ title: C(() => [
1398
+ e("span", Qs, [
1399
+ i.menuName !== "首页" ? (a(), u("span", eo, [
1400
+ J(N(i.icon)) ? (a(), D(l(E), {
1401
1401
  key: 0,
1402
- name: E(r.icon),
1402
+ name: N(i.icon),
1403
1403
  size: 16
1404
- }, null, 8, ["name"])) : (o(), u("span", Js, x(F(r.menuName)), 1))
1405
- ])) : z("", !0),
1406
- e("span", Zs, x(r.menuName), 1)
1404
+ }, null, 8, ["name"])) : (a(), u("span", to, x(A(i.menuName)), 1))
1405
+ ])) : P("", !0),
1406
+ e("span", so, x(i.menuName), 1)
1407
1407
  ])
1408
1408
  ]),
1409
- default: S(() => [
1410
- (o(!0), u(j, null, Z(r.children, (v) => (o(), u(j, {
1411
- key: v.menuUrl
1409
+ default: C(() => [
1410
+ (a(!0), u(q, null, Z(i.children, (h) => (a(), u(q, {
1411
+ key: h.menuUrl
1412
1412
  }, [
1413
- v.children && v.children.length > 0 ? (o(), A(n(We), {
1413
+ h.children && h.children.length > 0 ? (a(), D(l(Ge), {
1414
1414
  key: 0,
1415
- index: v.menuUrl
1415
+ index: h.menuUrl
1416
1416
  }, {
1417
- title: S(() => [
1418
- e("span", Qs, [
1419
- e("span", eo, [
1420
- J(E(v.icon)) ? (o(), A(n(U), {
1417
+ title: C(() => [
1418
+ e("span", oo, [
1419
+ e("span", ao, [
1420
+ J(N(h.icon)) ? (a(), D(l(E), {
1421
1421
  key: 0,
1422
- name: E(v.icon),
1422
+ name: N(h.icon),
1423
1423
  size: 16
1424
- }, null, 8, ["name"])) : (o(), u("span", to, x(F(v.menuName)), 1))
1424
+ }, null, 8, ["name"])) : (a(), u("span", no, x(A(h.menuName)), 1))
1425
1425
  ]),
1426
- e("span", so, x(v.menuName), 1)
1426
+ e("span", lo, x(h.menuName), 1)
1427
1427
  ])
1428
1428
  ]),
1429
- default: S(() => [
1430
- (o(!0), u(j, null, Z(v.children, (O) => (o(), A(n(Ne), {
1431
- key: O.menuUrl,
1432
- index: O.menuUrl
1429
+ default: C(() => [
1430
+ (a(!0), u(q, null, Z(h.children, (K) => (a(), D(l(Te), {
1431
+ key: K.menuUrl,
1432
+ index: K.menuUrl
1433
1433
  }, {
1434
- default: S(() => [
1435
- e("span", oo, [
1436
- e("span", no, [
1437
- J(E(O.icon)) ? (o(), A(n(U), {
1434
+ default: C(() => [
1435
+ e("span", ro, [
1436
+ e("span", io, [
1437
+ J(N(K.icon)) ? (a(), D(l(E), {
1438
1438
  key: 0,
1439
- name: E(O.icon),
1439
+ name: N(K.icon),
1440
1440
  size: 16
1441
- }, null, 8, ["name"])) : (o(), u("span", ao, x(F(O.menuName)), 1))
1441
+ }, null, 8, ["name"])) : (a(), u("span", co, x(A(K.menuName)), 1))
1442
1442
  ]),
1443
- e("span", lo, x(O.menuName), 1)
1443
+ e("span", uo, x(K.menuName), 1)
1444
1444
  ])
1445
1445
  ]),
1446
1446
  _: 2
1447
1447
  }, 1032, ["index"]))), 128))
1448
1448
  ]),
1449
1449
  _: 2
1450
- }, 1032, ["index"])) : (o(), A(n(Ne), {
1450
+ }, 1032, ["index"])) : (a(), D(l(Te), {
1451
1451
  key: 1,
1452
- index: v.menuUrl
1452
+ index: h.menuUrl
1453
1453
  }, {
1454
- default: S(() => [
1455
- e("span", ro, [
1456
- e("span", io, [
1457
- J(E(v.icon)) ? (o(), A(n(U), {
1454
+ default: C(() => [
1455
+ e("span", mo, [
1456
+ e("span", po, [
1457
+ J(N(h.icon)) ? (a(), D(l(E), {
1458
1458
  key: 0,
1459
- name: E(v.icon),
1459
+ name: N(h.icon),
1460
1460
  size: 16
1461
- }, null, 8, ["name"])) : (o(), u("span", co, x(F(v.menuName)), 1))
1461
+ }, null, 8, ["name"])) : (a(), u("span", vo, x(A(h.menuName)), 1))
1462
1462
  ]),
1463
- e("span", uo, x(v.menuName), 1)
1463
+ e("span", ho, x(h.menuName), 1)
1464
1464
  ])
1465
1465
  ]),
1466
1466
  _: 2
@@ -1468,20 +1468,20 @@ const ge = Pe("menu", () => {
1468
1468
  ], 64))), 128))
1469
1469
  ]),
1470
1470
  _: 2
1471
- }, 1032, ["index"])) : (o(), A(n(Ne), {
1471
+ }, 1032, ["index"])) : (a(), D(l(Te), {
1472
1472
  key: 1,
1473
- index: r.menuUrl
1473
+ index: i.menuUrl
1474
1474
  }, {
1475
- default: S(() => [
1476
- e("span", mo, [
1477
- r.menuName !== "首页" ? (o(), u("span", po, [
1478
- J(E(r.icon)) ? (o(), A(n(U), {
1475
+ default: C(() => [
1476
+ e("span", _o, [
1477
+ i.menuName !== "首页" ? (a(), u("span", fo, [
1478
+ J(N(i.icon)) ? (a(), D(l(E), {
1479
1479
  key: 0,
1480
- name: E(r.icon),
1480
+ name: N(i.icon),
1481
1481
  size: 16
1482
- }, null, 8, ["name"])) : (o(), u("span", vo, x(F(r.menuName)), 1))
1483
- ])) : z("", !0),
1484
- e("span", ho, x(r.menuName), 1)
1482
+ }, null, 8, ["name"])) : (a(), u("span", go, x(A(i.menuName)), 1))
1483
+ ])) : P("", !0),
1484
+ e("span", yo, x(i.menuName), 1)
1485
1485
  ])
1486
1486
  ]),
1487
1487
  _: 2
@@ -1490,47 +1490,47 @@ const ge = Pe("menu", () => {
1490
1490
  ]),
1491
1491
  _: 1
1492
1492
  }, 8, ["model-value", "background-color", "text-color", "active-text-color"]),
1493
- e("div", _o, [
1493
+ e("div", bo, [
1494
1494
  e("div", {
1495
1495
  class: "top-menu__search",
1496
1496
  ref_key: "searchRef",
1497
1497
  ref: G
1498
1498
  }, [
1499
- k(n(U), {
1499
+ y(l(E), {
1500
1500
  name: "search",
1501
1501
  size: 14,
1502
1502
  class: "top-menu__search-icon"
1503
1503
  }),
1504
- De(e("input", {
1505
- "onUpdate:modelValue": C[0] || (C[0] = (r) => ee.value = r),
1504
+ Be(e("input", {
1505
+ "onUpdate:modelValue": $[0] || ($[0] = (i) => ee.value = i),
1506
1506
  type: "text",
1507
1507
  class: "top-menu__search-input",
1508
1508
  placeholder: "搜索菜单...",
1509
- onFocus: C[1] || (C[1] = (r) => X.value = !0)
1509
+ onFocus: $[1] || ($[1] = (i) => X.value = !0)
1510
1510
  }, null, 544), [
1511
- [Ye, ee.value]
1511
+ [Je, ee.value]
1512
1512
  ]),
1513
- k(Se, { name: "search-dropdown" }, {
1514
- default: S(() => [
1515
- X.value && (y.value.length > 0 || ee.value) ? (o(), u("div", fo, [
1516
- y.value.length > 0 ? (o(), u("div", go, [
1517
- (o(!0), u(j, null, Z(y.value, (r) => (o(), u("div", {
1518
- key: r.path,
1513
+ y(Ie, { name: "search-dropdown" }, {
1514
+ default: C(() => [
1515
+ X.value && (b.value.length > 0 || ee.value) ? (a(), u("div", ko, [
1516
+ b.value.length > 0 ? (a(), u("div", wo, [
1517
+ (a(!0), u(q, null, Z(b.value, (i) => (a(), u("div", {
1518
+ key: i.path,
1519
1519
  class: "top-menu__search-item",
1520
- onClick: (v) => ye(r.path)
1520
+ onClick: (h) => ye(i.path)
1521
1521
  }, [
1522
- r.title !== "首页" ? (o(), u("span", bo, [
1523
- J(E(r.icon)) ? (o(), A(n(U), {
1522
+ i.title !== "首页" ? (a(), u("span", Co, [
1523
+ J(N(i.icon)) ? (a(), D(l(E), {
1524
1524
  key: 0,
1525
- name: E(r.icon),
1525
+ name: N(i.icon),
1526
1526
  size: 16
1527
- }, null, 8, ["name"])) : (o(), u("span", ko, x(F(r.title)), 1))
1528
- ])) : z("", !0),
1529
- e("span", wo, x(r.title), 1),
1530
- r.parentTitle ? (o(), u("span", xo, x(r.parentTitle), 1)) : z("", !0)
1531
- ], 8, yo))), 128))
1532
- ])) : (o(), u("div", Co, " 未找到匹配的菜单 "))
1533
- ])) : z("", !0)
1527
+ }, null, 8, ["name"])) : (a(), u("span", $o, x(A(i.title)), 1))
1528
+ ])) : P("", !0),
1529
+ e("span", Lo, x(i.title), 1),
1530
+ i.parentTitle ? (a(), u("span", Mo, x(i.parentTitle), 1)) : P("", !0)
1531
+ ], 8, xo))), 128))
1532
+ ])) : (a(), u("div", So, " 未找到匹配的菜单 "))
1533
+ ])) : P("", !0)
1534
1534
  ]),
1535
1535
  _: 1
1536
1536
  })
@@ -1540,47 +1540,47 @@ const ge = Pe("menu", () => {
1540
1540
  onClick: oe,
1541
1541
  title: R.value ? "退出全屏" : "全屏"
1542
1542
  }, [
1543
- k(n(U), {
1543
+ y(l(E), {
1544
1544
  name: R.value ? "fullscreen-exit" : "fullscreen",
1545
1545
  size: 16
1546
1546
  }, null, 8, ["name"])
1547
- ], 8, Lo),
1547
+ ], 8, Io),
1548
1548
  e("div", {
1549
1549
  class: "top-menu__action",
1550
- onClick: ie,
1550
+ onClick: de,
1551
1551
  title: "换肤设置"
1552
1552
  }, [
1553
- k(n(U), {
1553
+ y(l(E), {
1554
1554
  name: "skin",
1555
1555
  size: 16
1556
1556
  })
1557
1557
  ]),
1558
1558
  e("div", {
1559
1559
  class: "top-menu__action",
1560
- onClick: K,
1560
+ onClick: W,
1561
1561
  title: "切换主题"
1562
1562
  }, [
1563
- k(n(U), {
1564
- name: n(i).isDark ? "sun" : "moon",
1563
+ y(l(E), {
1564
+ name: l(r).isDark ? "sun" : "moon",
1565
1565
  size: 16
1566
1566
  }, null, 8, ["name"])
1567
1567
  ]),
1568
1568
  e("div", {
1569
1569
  class: "top-menu__user",
1570
1570
  ref_key: "dropdownRef",
1571
- ref: V
1571
+ ref: O
1572
1572
  }, [
1573
1573
  e("div", {
1574
1574
  class: "top-menu__user-trigger",
1575
- onClick: Ae(we, ["stop"])
1575
+ onClick: Ve(we, ["stop"])
1576
1576
  }, [
1577
- e("div", $o, [
1578
- e("span", null, x(((le = n(h).userName) == null ? void 0 : le.charAt(0)) || "U"), 1)
1577
+ e("div", Eo, [
1578
+ e("span", null, x(((ce = l(v).userName) == null ? void 0 : ce.charAt(0)) || "U"), 1)
1579
1579
  ]),
1580
- e("span", Mo, x(n(h).userName), 1),
1580
+ e("span", No, x(l(v).userName), 1),
1581
1581
  e("span", {
1582
- class: H(["top-menu__user-arrow", { "is-active": B.value }])
1583
- }, [...C[3] || (C[3] = [
1582
+ class: H(["top-menu__user-arrow", { "is-active": F.value }])
1583
+ }, [...$[3] || ($[3] = [
1584
1584
  e("svg", {
1585
1585
  viewBox: "0 0 12 12",
1586
1586
  width: "10",
@@ -1595,89 +1595,89 @@ const ge = Pe("menu", () => {
1595
1595
  ], -1)
1596
1596
  ])], 2)
1597
1597
  ]),
1598
- k(Se, { name: "dropdown" }, {
1599
- default: S(() => {
1600
- var r;
1598
+ y(Ie, { name: "dropdown" }, {
1599
+ default: C(() => {
1600
+ var i;
1601
1601
  return [
1602
- B.value ? (o(), u("div", So, [
1603
- e("div", Io, [
1604
- e("div", Eo, [
1605
- e("span", null, x(((r = n(h).userName) == null ? void 0 : r.charAt(0)) || "U"), 1)
1602
+ F.value ? (a(), u("div", To, [
1603
+ e("div", Uo, [
1604
+ e("div", zo, [
1605
+ e("span", null, x(((i = l(v).userName) == null ? void 0 : i.charAt(0)) || "U"), 1)
1606
1606
  ]),
1607
- e("div", No, [
1608
- e("div", Uo, x(n(h).userName), 1),
1609
- e("div", To, x(n(h).departmentName), 1)
1607
+ e("div", Po, [
1608
+ e("div", Fo, x(l(v).userName), 1),
1609
+ e("div", Do, x(l(v).departmentName), 1)
1610
1610
  ])
1611
1611
  ]),
1612
- C[8] || (C[8] = e("div", { class: "top-menu__dropdown-divider" }, null, -1)),
1613
- e("div", Po, [
1612
+ $[8] || ($[8] = e("div", { class: "top-menu__dropdown-divider" }, null, -1)),
1613
+ e("div", Ao, [
1614
1614
  e("div", {
1615
1615
  class: "top-menu__dropdown-item",
1616
1616
  onClick: Ce
1617
1617
  }, [
1618
- k(n(U), {
1618
+ y(l(E), {
1619
1619
  name: "user",
1620
1620
  size: 16
1621
1621
  }),
1622
- C[4] || (C[4] = e("span", null, "个人信息", -1))
1622
+ $[4] || ($[4] = e("span", null, "个人信息", -1))
1623
1623
  ]),
1624
1624
  e("div", {
1625
1625
  class: "top-menu__dropdown-item",
1626
- onClick: N
1626
+ onClick: T
1627
1627
  }, [
1628
- k(n(U), {
1628
+ y(l(E), {
1629
1629
  name: "lock",
1630
1630
  size: 16
1631
1631
  }),
1632
- C[5] || (C[5] = e("span", null, "修改密码", -1))
1632
+ $[5] || ($[5] = e("span", null, "修改密码", -1))
1633
1633
  ]),
1634
- C[7] || (C[7] = e("div", { class: "top-menu__dropdown-divider" }, null, -1)),
1634
+ $[7] || ($[7] = e("div", { class: "top-menu__dropdown-divider" }, null, -1)),
1635
1635
  e("div", {
1636
1636
  class: "top-menu__dropdown-item top-menu__dropdown-item--danger",
1637
- onClick: b
1637
+ onClick: k
1638
1638
  }, [
1639
- k(n(U), {
1639
+ y(l(E), {
1640
1640
  name: "logout",
1641
1641
  size: 16
1642
1642
  }),
1643
- C[6] || (C[6] = e("span", null, "退出登录", -1))
1643
+ $[6] || ($[6] = e("span", null, "退出登录", -1))
1644
1644
  ])
1645
1645
  ])
1646
- ])) : z("", !0)
1646
+ ])) : P("", !0)
1647
1647
  ];
1648
1648
  }),
1649
1649
  _: 1
1650
1650
  })
1651
1651
  ], 512)
1652
1652
  ]),
1653
- k(n(Qe), {
1654
- modelValue: Y.value,
1655
- "onUpdate:modelValue": C[2] || (C[2] = (r) => Y.value = r),
1653
+ y(l(st), {
1654
+ modelValue: j.value,
1655
+ "onUpdate:modelValue": $[2] || ($[2] = (i) => j.value = i),
1656
1656
  title: "换肤设置",
1657
1657
  direction: "rtl",
1658
1658
  size: "320px"
1659
1659
  }, {
1660
- default: S(() => [
1661
- e("div", zo, [
1662
- e("div", Fo, [
1663
- C[12] || (C[12] = e("div", { class: "settings-title" }, "布局模式", -1)),
1664
- e("div", Do, [
1665
- (o(), u(j, null, Z(pe, (r) => e("div", {
1666
- key: r.value,
1667
- class: H(["layout-option", { "is-active": ve.value === r.value }]),
1668
- onClick: (v) => ae(r.value)
1660
+ default: C(() => [
1661
+ e("div", Bo, [
1662
+ e("div", Oo, [
1663
+ $[12] || ($[12] = e("div", { class: "settings-title" }, "布局模式", -1)),
1664
+ e("div", Vo, [
1665
+ (a(), u(q, null, Z(ve, (i) => e("div", {
1666
+ key: i.value,
1667
+ class: H(["layout-option", { "is-active": he.value === i.value }]),
1668
+ onClick: (h) => ie(i.value)
1669
1669
  }, [
1670
- e("div", Bo, [
1671
- r.value === "sidebar" ? (o(), u("div", Vo, [...C[9] || (C[9] = [
1670
+ e("div", Ko, [
1671
+ i.value === "sidebar" ? (a(), u("div", jo, [...$[9] || ($[9] = [
1672
1672
  e("div", { class: "preview-aside" }, null, -1),
1673
1673
  e("div", { class: "preview-main" }, [
1674
1674
  e("div", { class: "preview-header" }),
1675
1675
  e("div", { class: "preview-content" })
1676
1676
  ], -1)
1677
- ])])) : r.value === "top" ? (o(), u("div", Oo, [...C[10] || (C[10] = [
1677
+ ])])) : i.value === "top" ? (a(), u("div", Wo, [...$[10] || ($[10] = [
1678
1678
  e("div", { class: "preview-header-full" }, null, -1),
1679
1679
  e("div", { class: "preview-content-full" }, null, -1)
1680
- ])])) : (o(), u("div", Ro, [...C[11] || (C[11] = [
1680
+ ])])) : (a(), u("div", qo, [...$[11] || ($[11] = [
1681
1681
  e("div", { class: "preview-header-mix" }, [
1682
1682
  e("div", { class: "preview-mix-left" })
1683
1683
  ], -1),
@@ -1687,47 +1687,47 @@ const ge = Pe("menu", () => {
1687
1687
  ], -1)
1688
1688
  ])]))
1689
1689
  ]),
1690
- e("span", Ko, x(r.label), 1)
1691
- ], 10, Ao)), 64))
1690
+ e("span", Ho, x(i.label), 1)
1691
+ ], 10, Ro)), 64))
1692
1692
  ])
1693
1693
  ]),
1694
- e("div", jo, [
1695
- C[13] || (C[13] = e("div", { class: "settings-title" }, "主题色", -1)),
1696
- e("div", Wo, [
1697
- (o(), u(j, null, Z(xe, (r) => e("div", {
1698
- key: r.value,
1699
- class: H(["color-option", { "is-active": n(i).primaryColor === r.value }]),
1700
- style: Ue({ backgroundColor: r.value }),
1701
- title: r.label,
1702
- onClick: (v) => be(r.value)
1694
+ e("div", Yo, [
1695
+ $[13] || ($[13] = e("div", { class: "settings-title" }, "主题色", -1)),
1696
+ e("div", Go, [
1697
+ (a(), u(q, null, Z(xe, (i) => e("div", {
1698
+ key: i.value,
1699
+ class: H(["color-option", { "is-active": l(r).primaryColor === i.value }]),
1700
+ style: Ue({ backgroundColor: i.value }),
1701
+ title: i.label,
1702
+ onClick: (h) => be(i.value)
1703
1703
  }, [
1704
- n(i).primaryColor === r.value ? (o(), A(n(U), {
1704
+ l(r).primaryColor === i.value ? (a(), D(l(E), {
1705
1705
  key: 0,
1706
1706
  name: "check",
1707
1707
  size: 12,
1708
1708
  color: "#fff"
1709
- })) : z("", !0)
1710
- ], 14, qo)), 64))
1709
+ })) : P("", !0)
1710
+ ], 14, Xo)), 64))
1711
1711
  ])
1712
1712
  ]),
1713
- e("div", Ho, [
1714
- C[18] || (C[18] = e("div", { class: "settings-title" }, "功能设置", -1)),
1715
- e("div", Yo, [
1716
- e("div", Go, [
1717
- C[15] || (C[15] = e("span", null, "灰色模式", -1)),
1713
+ e("div", Jo, [
1714
+ $[18] || ($[18] = e("div", { class: "settings-title" }, "功能设置", -1)),
1715
+ e("div", Zo, [
1716
+ e("div", Qo, [
1717
+ $[15] || ($[15] = e("span", null, "灰色模式", -1)),
1718
1718
  e("div", {
1719
1719
  class: H(["switch-wrapper", { "is-checked": Q.value }]),
1720
- onClick: M
1721
- }, [...C[14] || (C[14] = [
1720
+ onClick: S
1721
+ }, [...$[14] || ($[14] = [
1722
1722
  e("span", { class: "switch-core" }, null, -1)
1723
1723
  ])], 2)
1724
1724
  ]),
1725
- e("div", Xo, [
1726
- C[17] || (C[17] = e("span", null, "暗黑模式", -1)),
1725
+ e("div", ea, [
1726
+ $[17] || ($[17] = e("span", null, "暗黑模式", -1)),
1727
1727
  e("div", {
1728
- class: H(["switch-wrapper", { "is-checked": n(i).isDark }]),
1729
- onClick: q
1730
- }, [...C[16] || (C[16] = [
1728
+ class: H(["switch-wrapper", { "is-checked": l(r).isDark }]),
1729
+ onClick: Y
1730
+ }, [...$[16] || ($[16] = [
1731
1731
  e("span", { class: "switch-core" }, null, -1)
1732
1732
  ])], 2)
1733
1733
  ])
@@ -1740,74 +1740,74 @@ const ge = Pe("menu", () => {
1740
1740
  ]);
1741
1741
  };
1742
1742
  }
1743
- }), Zo = /* @__PURE__ */ de(Jo, [["__scopeId", "data-v-711d5b8d"]]), Qo = { class: "mix-top-menu" }, en = { class: "mix-top-menu__logo" }, tn = ["src"], sn = { class: "mix-top-menu__logo-text" }, on = { class: "mix-top-menu__menu-content" }, nn = {
1743
+ }), sa = /* @__PURE__ */ re(ta, [["__scopeId", "data-v-711d5b8d"]]), oa = { class: "mix-top-menu" }, aa = { class: "mix-top-menu__logo" }, na = ["src"], la = { class: "mix-top-menu__logo-text" }, ra = { class: "mix-top-menu__menu-content" }, ia = {
1744
1744
  key: 0,
1745
1745
  class: "mix-top-menu__menu-icon"
1746
- }, an = {
1746
+ }, ca = {
1747
1747
  key: 1,
1748
1748
  class: "mix-top-menu__menu-char"
1749
- }, ln = { class: "mix-top-menu__menu-text" }, rn = { class: "mix-top-menu__actions" }, cn = {
1749
+ }, ua = { class: "mix-top-menu__menu-text" }, da = { class: "mix-top-menu__actions" }, ma = {
1750
1750
  key: 0,
1751
1751
  class: "mix-top-menu__search-dropdown"
1752
- }, un = {
1752
+ }, pa = {
1753
1753
  key: 0,
1754
1754
  class: "mix-top-menu__search-results"
1755
- }, dn = ["onClick"], mn = {
1755
+ }, va = ["onClick"], ha = {
1756
1756
  key: 0,
1757
1757
  class: "mix-top-menu__search-icon-item"
1758
- }, pn = {
1758
+ }, _a = {
1759
1759
  key: 1,
1760
1760
  class: "mix-top-menu__search-char"
1761
- }, vn = { class: "mix-top-menu__search-item-title" }, hn = {
1761
+ }, fa = { class: "mix-top-menu__search-item-title" }, ga = {
1762
1762
  key: 1,
1763
1763
  class: "mix-top-menu__search-item-parent"
1764
- }, _n = {
1764
+ }, ya = {
1765
1765
  key: 1,
1766
1766
  class: "mix-top-menu__search-empty"
1767
- }, fn = ["title"], gn = { class: "mix-top-menu__avatar" }, yn = { class: "mix-top-menu__user-name" }, bn = {
1767
+ }, ba = ["title"], ka = { class: "mix-top-menu__avatar" }, wa = { class: "mix-top-menu__user-name" }, xa = {
1768
1768
  key: 0,
1769
1769
  class: "mix-top-menu__dropdown"
1770
- }, kn = { class: "mix-top-menu__dropdown-header" }, wn = { class: "mix-top-menu__dropdown-avatar" }, xn = { class: "mix-top-menu__dropdown-info" }, Cn = { class: "mix-top-menu__dropdown-name" }, Ln = { class: "mix-top-menu__dropdown-role" }, $n = { class: "mix-top-menu__dropdown-menu" }, Mn = { class: "settings-drawer" }, Sn = { class: "settings-section" }, In = { class: "settings-layout-options" }, En = ["onClick"], Nn = { class: "layout-option__preview" }, Un = {
1770
+ }, Ca = { class: "mix-top-menu__dropdown-header" }, $a = { class: "mix-top-menu__dropdown-avatar" }, La = { class: "mix-top-menu__dropdown-info" }, Ma = { class: "mix-top-menu__dropdown-name" }, Sa = { class: "mix-top-menu__dropdown-role" }, Ia = { class: "mix-top-menu__dropdown-menu" }, Ea = { class: "settings-drawer" }, Na = { class: "settings-section" }, Ta = { class: "settings-layout-options" }, Ua = ["onClick"], za = { class: "layout-option__preview" }, Pa = {
1771
1771
  key: 0,
1772
1772
  class: "layout-preview-sidebar"
1773
- }, Tn = {
1773
+ }, Fa = {
1774
1774
  key: 1,
1775
1775
  class: "layout-preview-top"
1776
- }, Pn = {
1776
+ }, Da = {
1777
1777
  key: 2,
1778
1778
  class: "layout-preview-mix"
1779
- }, zn = { class: "layout-option__label" }, Fn = { class: "settings-section" }, Dn = { class: "settings-color-options" }, An = ["title", "onClick"], Bn = { class: "settings-section" }, Vn = { class: "settings-switch-list" }, On = { class: "settings-switch-item" }, Rn = { class: "settings-switch-item" }, Kn = /* @__PURE__ */ ce({
1779
+ }, Aa = { class: "layout-option__label" }, Ba = { class: "settings-section" }, Oa = { class: "settings-color-options" }, Va = ["title", "onClick"], Ra = { class: "settings-section" }, Ka = { class: "settings-switch-list" }, ja = { class: "settings-switch-item" }, Wa = { class: "settings-switch-item" }, qa = /* @__PURE__ */ le({
1780
1780
  __name: "MixTopMenu",
1781
1781
  props: {
1782
1782
  logoSrc: {}
1783
1783
  },
1784
1784
  setup(t) {
1785
- const a = t, p = w(() => a.logoSrc || Te("/vite.svg")), l = Ee(), s = ke(), d = ge(), i = fe(), h = ue(), _ = ze(), m = g(""), f = (r, v = "") => {
1786
- const O = [];
1787
- return r.forEach(($) => {
1788
- $.children && $.children.length > 0 ? O.push(...f($.children, $.menuName)) : O.push({ ...$, parentTitle: v, title: $.menuName, path: $.menuUrl });
1789
- }), O;
1790
- }, y = w(() => E.value.trim() ? f(d.menuList).filter(
1791
- (v) => v.title.toLowerCase().includes(E.value.toLowerCase())
1785
+ const o = t, p = w(() => o.logoSrc || ze("/vite.svg")), n = Ne(), s = ke(), d = ge(), r = fe(), v = me(), _ = Fe(), m = g(""), f = (i, h = "") => {
1786
+ const K = [];
1787
+ return i.forEach((M) => {
1788
+ M.children && M.children.length > 0 ? K.push(...f(M.children, M.menuName)) : K.push({ ...M, parentTitle: h, title: M.menuName, path: M.menuUrl });
1789
+ }), K;
1790
+ }, b = w(() => N.value.trim() ? f(d.menuList).filter(
1791
+ (h) => h.title.toLowerCase().includes(N.value.toLowerCase())
1792
1792
  ) : []), c = w(() => {
1793
- const r = d.menuList.find((v) => v.menuUrl === m.value);
1794
- return (r == null ? void 0 : r.children) || [];
1795
- }), W = w(() => d.menuList.find((r) => !!(l.path === r.menuUrl || r.children && r.children.some((v) => l.path.startsWith(v.menuUrl) || l.path === v.menuUrl)))), P = () => {
1796
- W.value ? m.value = W.value.menuUrl : d.menuList.length > 0 && (m.value = d.menuList[0].menuUrl);
1797
- }, B = (r) => {
1798
- m.value = r;
1799
- const v = d.menuList.find((O) => O.menuUrl === r);
1800
- if (v)
1801
- if (v.children && v.children.length > 0) {
1802
- const O = v.children[0].menuUrl;
1803
- l.path !== O && s.push(O);
1793
+ const i = d.menuList.find((h) => h.menuUrl === m.value);
1794
+ return (i == null ? void 0 : i.children) || [];
1795
+ }), V = w(() => d.menuList.find((i) => !!(n.path === i.menuUrl || i.children && i.children.some((h) => n.path.startsWith(h.menuUrl) || n.path === h.menuUrl)))), z = () => {
1796
+ V.value ? m.value = V.value.menuUrl : d.menuList.length > 0 && (m.value = d.menuList[0].menuUrl);
1797
+ }, F = (i) => {
1798
+ m.value = i;
1799
+ const h = d.menuList.find((K) => K.menuUrl === i);
1800
+ if (h)
1801
+ if (h.children && h.children.length > 0) {
1802
+ const K = h.children[0].menuUrl;
1803
+ n.path !== K && s.push(K);
1804
1804
  } else
1805
- l.path !== r && s.push(r);
1806
- }, V = w(() => i.isDark ? "#1d1e1f" : "#fff"), R = w(() => i.isDark ? "#cfd3dc" : "#303133"), Y = w(() => "#409eff"), Q = g(!1), X = g(null), ee = g(!1), G = g(!1), te = g(!1), D = g(!1), E = g(""), F = g(null);
1807
- $e(() => l.path, () => {
1808
- P(), i.setMixSubMenus(c.value);
1809
- }), $e(() => d.menuList, (r) => {
1810
- r && r.length > 0 && (P(), i.setMixSubMenus(c.value));
1805
+ n.path !== i && s.push(i);
1806
+ }, O = w(() => r.isDark ? "#1d1e1f" : "#fff"), R = w(() => r.isDark ? "#cfd3dc" : "#303133"), j = w(() => "#409eff"), Q = g(!1), X = g(null), ee = g(!1), G = g(!1), te = g(!1), B = g(!1), N = g(""), A = g(null);
1807
+ Le(() => n.path, () => {
1808
+ z(), r.setMixSubMenus(c.value);
1809
+ }), Le(() => d.menuList, (i) => {
1810
+ i && i.length > 0 && (z(), r.setMixSubMenus(c.value));
1811
1811
  }, { immediate: !0 });
1812
1812
  const J = /* @__PURE__ */ new Set([
1813
1813
  "arrow-up",
@@ -1911,10 +1911,10 @@ const ge = Pe("menu", () => {
1911
1911
  "sun",
1912
1912
  "theme",
1913
1913
  "skin"
1914
- ]), K = (r) => {
1915
- if (!r || r === "") return "";
1916
- if (r.startsWith("tineco-icon-")) {
1917
- const O = r.replace("tineco-icon-", "");
1914
+ ]), W = (i) => {
1915
+ if (!i || i === "") return "";
1916
+ if (i.startsWith("tineco-icon-")) {
1917
+ const K = i.replace("tineco-icon-", "");
1918
1918
  return {
1919
1919
  home: "home",
1920
1920
  dashboard: "dashboard",
@@ -1928,7 +1928,7 @@ const ge = Pe("menu", () => {
1928
1928
  chart: "chart",
1929
1929
  report: "report",
1930
1930
  analytics: "analytics"
1931
- }[O] || O;
1931
+ }[K] || K;
1932
1932
  }
1933
1933
  return {
1934
1934
  dashboard: "dashboard",
@@ -1947,95 +1947,95 @@ const ge = Pe("menu", () => {
1947
1947
  app: "app",
1948
1948
  list: "list",
1949
1949
  grid: "grid"
1950
- }[r] || r;
1951
- }, oe = (r) => r ? r.charAt(0) : "", he = (r) => J.has(r), we = () => {
1952
- i.toggleTheme(), G.value = !1;
1953
- }, re = () => {
1950
+ }[i] || i;
1951
+ }, oe = (i) => i ? i.charAt(0) : "", _e = (i) => J.has(i), we = () => {
1952
+ r.toggleTheme(), G.value = !1;
1953
+ }, ue = () => {
1954
1954
  document.fullscreenElement ? document.exitFullscreen() : document.documentElement.requestFullscreen();
1955
- }, me = () => {
1955
+ }, pe = () => {
1956
1956
  ee.value = !!document.fullscreenElement;
1957
1957
  }, ye = () => {
1958
1958
  Q.value = !Q.value;
1959
- }, ie = () => {
1959
+ }, de = () => {
1960
1960
  Q.value = !1;
1961
- }, ne = () => {
1962
- D.value = !1, E.value = "";
1963
- }, M = (r) => {
1964
- s.push(r), ne();
1965
- }, q = () => {
1966
- G.value = !0;
1967
- }, pe = (r) => {
1968
- te.value = r;
1969
- const v = document.documentElement;
1970
- r ? v.classList.add("grey-mode") : v.classList.remove("grey-mode");
1971
- }, ve = () => {
1972
- pe(!te.value), G.value = !1;
1973
1961
  }, ae = () => {
1974
- i.toggleTheme(), G.value = !1;
1962
+ B.value = !1, N.value = "";
1963
+ }, S = (i) => {
1964
+ s.push(i), ae();
1965
+ }, Y = () => {
1966
+ G.value = !0;
1967
+ }, ve = (i) => {
1968
+ te.value = i;
1969
+ const h = document.documentElement;
1970
+ i ? h.classList.add("grey-mode") : h.classList.remove("grey-mode");
1971
+ }, he = () => {
1972
+ ve(!te.value), G.value = !1;
1973
+ }, ie = () => {
1974
+ r.toggleTheme(), G.value = !1;
1975
1975
  }, xe = [
1976
1976
  { value: "sidebar", label: "左侧菜单", icon: "sidebar-left" },
1977
1977
  { value: "top", label: "顶部菜单", icon: "menu" },
1978
1978
  { value: "mix", label: "混合菜单", icon: "grid" }
1979
- ], be = w(() => i.layout), Ce = (r) => {
1980
- i.setLayout(r), G.value = !1;
1981
- }, N = [
1979
+ ], be = w(() => r.layout), Ce = (i) => {
1980
+ r.setLayout(i), G.value = !1;
1981
+ }, T = [
1982
1982
  { value: "#409eff", label: "默认蓝" },
1983
1983
  { value: "#0F6FDE", label: "企业蓝" },
1984
1984
  { value: "#00A870", label: "翡翠绿" },
1985
1985
  { value: "#D46B08", label: "琥珀橙" },
1986
1986
  { value: "#1F2329", label: "石墨黑" }
1987
- ], b = (r) => {
1988
- i.setPrimaryColor(r), G.value = !1;
1987
+ ], k = (i) => {
1988
+ r.setPrimaryColor(i), G.value = !1;
1989
1989
  }, se = () => {
1990
- ie(), s.push("/profile");
1990
+ de(), s.push("/profile");
1991
1991
  }, L = () => {
1992
- ie(), s.push("/change-password");
1992
+ de(), s.push("/change-password");
1993
1993
  }, I = () => {
1994
- ie(), _.logout(), h.clearUserInfo(), d.clearMenu(), s.push(i.loginPath);
1995
- }, C = (r) => {
1996
- X.value && !X.value.contains(r.target) && ie(), F.value && !F.value.contains(r.target) && ne();
1997
- }, le = (r) => {
1998
- r.key === "Escape" && (ne(), ie());
1994
+ de(), _.logout(), v.clearUserInfo(), d.clearMenu(), s.push(r.loginPath);
1995
+ }, $ = (i) => {
1996
+ X.value && !X.value.contains(i.target) && de(), A.value && !A.value.contains(i.target) && ae();
1997
+ }, ce = (i) => {
1998
+ i.key === "Escape" && (ae(), de());
1999
1999
  };
2000
- return qe(() => {
2001
- document.addEventListener("click", C), document.addEventListener("fullscreenchange", me), document.addEventListener("keydown", le), te.value = document.documentElement.classList.contains("grey-mode"), P();
2002
- }), He(() => {
2003
- document.removeEventListener("click", C), document.removeEventListener("fullscreenchange", me), document.removeEventListener("keydown", le);
2004
- }), (r, v) => {
2005
- var O;
2006
- return o(), u("div", Qo, [
2007
- e("div", en, [
2000
+ return Oe(() => {
2001
+ document.addEventListener("click", $), document.addEventListener("fullscreenchange", pe), document.addEventListener("keydown", ce), te.value = document.documentElement.classList.contains("grey-mode"), z();
2002
+ }), Xe(() => {
2003
+ document.removeEventListener("click", $), document.removeEventListener("fullscreenchange", pe), document.removeEventListener("keydown", ce);
2004
+ }), (i, h) => {
2005
+ var K;
2006
+ return a(), u("div", oa, [
2007
+ e("div", aa, [
2008
2008
  e("img", {
2009
2009
  src: p.value,
2010
2010
  alt: "Logo",
2011
2011
  class: "mix-top-menu__logo-img"
2012
- }, null, 8, tn),
2013
- e("span", sn, x(n(i).appName), 1)
2012
+ }, null, 8, na),
2013
+ e("span", la, x(l(r).appName), 1)
2014
2014
  ]),
2015
- k(n(Ze), {
2015
+ y(l(tt), {
2016
2016
  "model-value": m.value,
2017
2017
  mode: "horizontal",
2018
- "background-color": V.value,
2018
+ "background-color": O.value,
2019
2019
  "text-color": R.value,
2020
- "active-text-color": Y.value,
2020
+ "active-text-color": j.value,
2021
2021
  class: "mix-top-menu__menu",
2022
- onSelect: B
2022
+ onSelect: F
2023
2023
  }, {
2024
- default: S(() => [
2025
- (o(!0), u(j, null, Z(n(d).menuList, ($) => (o(), A(n(Ne), {
2026
- key: $.menuUrl,
2027
- index: $.menuUrl
2024
+ default: C(() => [
2025
+ (a(!0), u(q, null, Z(l(d).menuList, (M) => (a(), D(l(Te), {
2026
+ key: M.menuUrl,
2027
+ index: M.menuUrl
2028
2028
  }, {
2029
- default: S(() => [
2030
- e("span", on, [
2031
- $.menuName !== "首页" ? (o(), u("span", nn, [
2032
- he(K($.icon)) ? (o(), A(n(U), {
2029
+ default: C(() => [
2030
+ e("span", ra, [
2031
+ M.menuName !== "首页" ? (a(), u("span", ia, [
2032
+ _e(W(M.icon)) ? (a(), D(l(E), {
2033
2033
  key: 0,
2034
- name: K($.icon),
2034
+ name: W(M.icon),
2035
2035
  size: 16
2036
- }, null, 8, ["name"])) : (o(), u("span", an, x(oe($.menuName)), 1))
2037
- ])) : z("", !0),
2038
- e("span", ln, x($.menuName), 1)
2036
+ }, null, 8, ["name"])) : (a(), u("span", ca, x(oe(M.menuName)), 1))
2037
+ ])) : P("", !0),
2038
+ e("span", ua, x(M.menuName), 1)
2039
2039
  ])
2040
2040
  ]),
2041
2041
  _: 2
@@ -2043,67 +2043,67 @@ const ge = Pe("menu", () => {
2043
2043
  ]),
2044
2044
  _: 1
2045
2045
  }, 8, ["model-value", "background-color", "text-color", "active-text-color"]),
2046
- e("div", rn, [
2046
+ e("div", da, [
2047
2047
  e("div", {
2048
2048
  class: "mix-top-menu__search",
2049
2049
  ref_key: "searchRef",
2050
- ref: F
2050
+ ref: A
2051
2051
  }, [
2052
- k(n(U), {
2052
+ y(l(E), {
2053
2053
  name: "search",
2054
2054
  size: 14,
2055
2055
  class: "mix-top-menu__search-icon"
2056
2056
  }),
2057
- De(e("input", {
2058
- "onUpdate:modelValue": v[0] || (v[0] = ($) => E.value = $),
2057
+ Be(e("input", {
2058
+ "onUpdate:modelValue": h[0] || (h[0] = (M) => N.value = M),
2059
2059
  type: "text",
2060
2060
  class: "mix-top-menu__search-input",
2061
2061
  placeholder: "搜索菜单...",
2062
- onFocus: v[1] || (v[1] = ($) => D.value = !0)
2062
+ onFocus: h[1] || (h[1] = (M) => B.value = !0)
2063
2063
  }, null, 544), [
2064
- [Ye, E.value]
2064
+ [Je, N.value]
2065
2065
  ]),
2066
- k(Se, { name: "search-dropdown" }, {
2067
- default: S(() => [
2068
- D.value && (y.value.length > 0 || E.value) ? (o(), u("div", cn, [
2069
- y.value.length > 0 ? (o(), u("div", un, [
2070
- (o(!0), u(j, null, Z(y.value, ($) => (o(), u("div", {
2071
- key: $.path,
2066
+ y(Ie, { name: "search-dropdown" }, {
2067
+ default: C(() => [
2068
+ B.value && (b.value.length > 0 || N.value) ? (a(), u("div", ma, [
2069
+ b.value.length > 0 ? (a(), u("div", pa, [
2070
+ (a(!0), u(q, null, Z(b.value, (M) => (a(), u("div", {
2071
+ key: M.path,
2072
2072
  class: "mix-top-menu__search-item",
2073
- onClick: (tt) => M($.path)
2073
+ onClick: (at) => S(M.path)
2074
2074
  }, [
2075
- $.title !== "首页" ? (o(), u("span", mn, [
2076
- he(K($.icon)) ? (o(), A(n(U), {
2075
+ M.title !== "首页" ? (a(), u("span", ha, [
2076
+ _e(W(M.icon)) ? (a(), D(l(E), {
2077
2077
  key: 0,
2078
- name: K($.icon),
2078
+ name: W(M.icon),
2079
2079
  size: 16
2080
- }, null, 8, ["name"])) : (o(), u("span", pn, x(oe($.title)), 1))
2081
- ])) : z("", !0),
2082
- e("span", vn, x($.title), 1),
2083
- $.parentTitle ? (o(), u("span", hn, x($.parentTitle), 1)) : z("", !0)
2084
- ], 8, dn))), 128))
2085
- ])) : (o(), u("div", _n, " 未找到匹配的菜单 "))
2086
- ])) : z("", !0)
2080
+ }, null, 8, ["name"])) : (a(), u("span", _a, x(oe(M.title)), 1))
2081
+ ])) : P("", !0),
2082
+ e("span", fa, x(M.title), 1),
2083
+ M.parentTitle ? (a(), u("span", ga, x(M.parentTitle), 1)) : P("", !0)
2084
+ ], 8, va))), 128))
2085
+ ])) : (a(), u("div", ya, " 未找到匹配的菜单 "))
2086
+ ])) : P("", !0)
2087
2087
  ]),
2088
2088
  _: 1
2089
2089
  })
2090
2090
  ], 512),
2091
2091
  e("div", {
2092
2092
  class: "mix-top-menu__action",
2093
- onClick: re,
2093
+ onClick: ue,
2094
2094
  title: ee.value ? "退出全屏" : "全屏"
2095
2095
  }, [
2096
- k(n(U), {
2096
+ y(l(E), {
2097
2097
  name: ee.value ? "fullscreen-exit" : "fullscreen",
2098
2098
  size: 16
2099
2099
  }, null, 8, ["name"])
2100
- ], 8, fn),
2100
+ ], 8, ba),
2101
2101
  e("div", {
2102
2102
  class: "mix-top-menu__action",
2103
- onClick: q,
2103
+ onClick: Y,
2104
2104
  title: "换肤设置"
2105
2105
  }, [
2106
- k(n(U), {
2106
+ y(l(E), {
2107
2107
  name: "skin",
2108
2108
  size: 16
2109
2109
  })
@@ -2113,8 +2113,8 @@ const ge = Pe("menu", () => {
2113
2113
  onClick: we,
2114
2114
  title: "切换主题"
2115
2115
  }, [
2116
- k(n(U), {
2117
- name: n(i).isDark ? "sun" : "moon",
2116
+ y(l(E), {
2117
+ name: l(r).isDark ? "sun" : "moon",
2118
2118
  size: 16
2119
2119
  }, null, 8, ["name"])
2120
2120
  ]),
@@ -2125,15 +2125,15 @@ const ge = Pe("menu", () => {
2125
2125
  }, [
2126
2126
  e("div", {
2127
2127
  class: "mix-top-menu__user-trigger",
2128
- onClick: Ae(ye, ["stop"])
2128
+ onClick: Ve(ye, ["stop"])
2129
2129
  }, [
2130
- e("div", gn, [
2131
- e("span", null, x(((O = n(h).userName) == null ? void 0 : O.charAt(0)) || "U"), 1)
2130
+ e("div", ka, [
2131
+ e("span", null, x(((K = l(v).userName) == null ? void 0 : K.charAt(0)) || "U"), 1)
2132
2132
  ]),
2133
- e("span", yn, x(n(h).userName), 1),
2133
+ e("span", wa, x(l(v).userName), 1),
2134
2134
  e("span", {
2135
2135
  class: H(["mix-top-menu__user-arrow", { "is-active": Q.value }])
2136
- }, [...v[3] || (v[3] = [
2136
+ }, [...h[3] || (h[3] = [
2137
2137
  e("svg", {
2138
2138
  viewBox: "0 0 12 12",
2139
2139
  width: "10",
@@ -2148,89 +2148,89 @@ const ge = Pe("menu", () => {
2148
2148
  ], -1)
2149
2149
  ])], 2)
2150
2150
  ]),
2151
- k(Se, { name: "dropdown" }, {
2152
- default: S(() => {
2153
- var $;
2151
+ y(Ie, { name: "dropdown" }, {
2152
+ default: C(() => {
2153
+ var M;
2154
2154
  return [
2155
- Q.value ? (o(), u("div", bn, [
2156
- e("div", kn, [
2157
- e("div", wn, [
2158
- e("span", null, x((($ = n(h).userName) == null ? void 0 : $.charAt(0)) || "U"), 1)
2155
+ Q.value ? (a(), u("div", xa, [
2156
+ e("div", Ca, [
2157
+ e("div", $a, [
2158
+ e("span", null, x(((M = l(v).userName) == null ? void 0 : M.charAt(0)) || "U"), 1)
2159
2159
  ]),
2160
- e("div", xn, [
2161
- e("div", Cn, x(n(h).userName), 1),
2162
- e("div", Ln, x(n(h).departmentName), 1)
2160
+ e("div", La, [
2161
+ e("div", Ma, x(l(v).userName), 1),
2162
+ e("div", Sa, x(l(v).departmentName), 1)
2163
2163
  ])
2164
2164
  ]),
2165
- v[8] || (v[8] = e("div", { class: "mix-top-menu__dropdown-divider" }, null, -1)),
2166
- e("div", $n, [
2165
+ h[8] || (h[8] = e("div", { class: "mix-top-menu__dropdown-divider" }, null, -1)),
2166
+ e("div", Ia, [
2167
2167
  e("div", {
2168
2168
  class: "mix-top-menu__dropdown-item",
2169
2169
  onClick: se
2170
2170
  }, [
2171
- k(n(U), {
2171
+ y(l(E), {
2172
2172
  name: "user",
2173
2173
  size: 16
2174
2174
  }),
2175
- v[4] || (v[4] = e("span", null, "个人信息", -1))
2175
+ h[4] || (h[4] = e("span", null, "个人信息", -1))
2176
2176
  ]),
2177
2177
  e("div", {
2178
2178
  class: "mix-top-menu__dropdown-item",
2179
2179
  onClick: L
2180
2180
  }, [
2181
- k(n(U), {
2181
+ y(l(E), {
2182
2182
  name: "lock",
2183
2183
  size: 16
2184
2184
  }),
2185
- v[5] || (v[5] = e("span", null, "修改密码", -1))
2185
+ h[5] || (h[5] = e("span", null, "修改密码", -1))
2186
2186
  ]),
2187
- v[7] || (v[7] = e("div", { class: "mix-top-menu__dropdown-divider" }, null, -1)),
2187
+ h[7] || (h[7] = e("div", { class: "mix-top-menu__dropdown-divider" }, null, -1)),
2188
2188
  e("div", {
2189
2189
  class: "mix-top-menu__dropdown-item mix-top-menu__dropdown-item--danger",
2190
2190
  onClick: I
2191
2191
  }, [
2192
- k(n(U), {
2192
+ y(l(E), {
2193
2193
  name: "logout",
2194
2194
  size: 16
2195
2195
  }),
2196
- v[6] || (v[6] = e("span", null, "退出登录", -1))
2196
+ h[6] || (h[6] = e("span", null, "退出登录", -1))
2197
2197
  ])
2198
2198
  ])
2199
- ])) : z("", !0)
2199
+ ])) : P("", !0)
2200
2200
  ];
2201
2201
  }),
2202
2202
  _: 1
2203
2203
  })
2204
2204
  ], 512)
2205
2205
  ]),
2206
- k(n(Qe), {
2206
+ y(l(st), {
2207
2207
  modelValue: G.value,
2208
- "onUpdate:modelValue": v[2] || (v[2] = ($) => G.value = $),
2208
+ "onUpdate:modelValue": h[2] || (h[2] = (M) => G.value = M),
2209
2209
  title: "换肤设置",
2210
2210
  direction: "rtl",
2211
2211
  size: "320px"
2212
2212
  }, {
2213
- default: S(() => [
2214
- e("div", Mn, [
2215
- e("div", Sn, [
2216
- v[12] || (v[12] = e("div", { class: "settings-title" }, "布局模式", -1)),
2217
- e("div", In, [
2218
- (o(), u(j, null, Z(xe, ($) => e("div", {
2219
- key: $.value,
2220
- class: H(["layout-option", { "is-active": be.value === $.value }]),
2221
- onClick: (tt) => Ce($.value)
2213
+ default: C(() => [
2214
+ e("div", Ea, [
2215
+ e("div", Na, [
2216
+ h[12] || (h[12] = e("div", { class: "settings-title" }, "布局模式", -1)),
2217
+ e("div", Ta, [
2218
+ (a(), u(q, null, Z(xe, (M) => e("div", {
2219
+ key: M.value,
2220
+ class: H(["layout-option", { "is-active": be.value === M.value }]),
2221
+ onClick: (at) => Ce(M.value)
2222
2222
  }, [
2223
- e("div", Nn, [
2224
- $.value === "sidebar" ? (o(), u("div", Un, [...v[9] || (v[9] = [
2223
+ e("div", za, [
2224
+ M.value === "sidebar" ? (a(), u("div", Pa, [...h[9] || (h[9] = [
2225
2225
  e("div", { class: "preview-aside" }, null, -1),
2226
2226
  e("div", { class: "preview-main" }, [
2227
2227
  e("div", { class: "preview-header" }),
2228
2228
  e("div", { class: "preview-content" })
2229
2229
  ], -1)
2230
- ])])) : $.value === "top" ? (o(), u("div", Tn, [...v[10] || (v[10] = [
2230
+ ])])) : M.value === "top" ? (a(), u("div", Fa, [...h[10] || (h[10] = [
2231
2231
  e("div", { class: "preview-header-full" }, null, -1),
2232
2232
  e("div", { class: "preview-content-full" }, null, -1)
2233
- ])])) : (o(), u("div", Pn, [...v[11] || (v[11] = [
2233
+ ])])) : (a(), u("div", Da, [...h[11] || (h[11] = [
2234
2234
  e("div", { class: "preview-header-mix" }, [
2235
2235
  e("div", { class: "preview-mix-left" })
2236
2236
  ], -1),
@@ -2240,47 +2240,47 @@ const ge = Pe("menu", () => {
2240
2240
  ], -1)
2241
2241
  ])]))
2242
2242
  ]),
2243
- e("span", zn, x($.label), 1)
2244
- ], 10, En)), 64))
2243
+ e("span", Aa, x(M.label), 1)
2244
+ ], 10, Ua)), 64))
2245
2245
  ])
2246
2246
  ]),
2247
- e("div", Fn, [
2248
- v[13] || (v[13] = e("div", { class: "settings-title" }, "主题色", -1)),
2249
- e("div", Dn, [
2250
- (o(), u(j, null, Z(N, ($) => e("div", {
2251
- key: $.value,
2252
- class: H(["color-option", { "is-active": n(i).primaryColor === $.value }]),
2253
- style: Ue({ backgroundColor: $.value }),
2254
- title: $.label,
2255
- onClick: (tt) => b($.value)
2247
+ e("div", Ba, [
2248
+ h[13] || (h[13] = e("div", { class: "settings-title" }, "主题色", -1)),
2249
+ e("div", Oa, [
2250
+ (a(), u(q, null, Z(T, (M) => e("div", {
2251
+ key: M.value,
2252
+ class: H(["color-option", { "is-active": l(r).primaryColor === M.value }]),
2253
+ style: Ue({ backgroundColor: M.value }),
2254
+ title: M.label,
2255
+ onClick: (at) => k(M.value)
2256
2256
  }, [
2257
- n(i).primaryColor === $.value ? (o(), A(n(U), {
2257
+ l(r).primaryColor === M.value ? (a(), D(l(E), {
2258
2258
  key: 0,
2259
2259
  name: "check",
2260
2260
  size: 12,
2261
2261
  color: "#fff"
2262
- })) : z("", !0)
2263
- ], 14, An)), 64))
2262
+ })) : P("", !0)
2263
+ ], 14, Va)), 64))
2264
2264
  ])
2265
2265
  ]),
2266
- e("div", Bn, [
2267
- v[18] || (v[18] = e("div", { class: "settings-title" }, "功能设置", -1)),
2268
- e("div", Vn, [
2269
- e("div", On, [
2270
- v[15] || (v[15] = e("span", null, "灰色模式", -1)),
2266
+ e("div", Ra, [
2267
+ h[18] || (h[18] = e("div", { class: "settings-title" }, "功能设置", -1)),
2268
+ e("div", Ka, [
2269
+ e("div", ja, [
2270
+ h[15] || (h[15] = e("span", null, "灰色模式", -1)),
2271
2271
  e("div", {
2272
2272
  class: H(["switch-wrapper", { "is-checked": te.value }]),
2273
- onClick: ve
2274
- }, [...v[14] || (v[14] = [
2273
+ onClick: he
2274
+ }, [...h[14] || (h[14] = [
2275
2275
  e("span", { class: "switch-core" }, null, -1)
2276
2276
  ])], 2)
2277
2277
  ]),
2278
- e("div", Rn, [
2279
- v[17] || (v[17] = e("span", null, "暗黑模式", -1)),
2278
+ e("div", Wa, [
2279
+ h[17] || (h[17] = e("span", null, "暗黑模式", -1)),
2280
2280
  e("div", {
2281
- class: H(["switch-wrapper", { "is-checked": n(i).isDark }]),
2282
- onClick: ae
2283
- }, [...v[16] || (v[16] = [
2281
+ class: H(["switch-wrapper", { "is-checked": l(r).isDark }]),
2282
+ onClick: ie
2283
+ }, [...h[16] || (h[16] = [
2284
2284
  e("span", { class: "switch-core" }, null, -1)
2285
2285
  ])], 2)
2286
2286
  ])
@@ -2293,130 +2293,130 @@ const ge = Pe("menu", () => {
2293
2293
  ]);
2294
2294
  };
2295
2295
  }
2296
- }), jn = /* @__PURE__ */ de(Kn, [["__scopeId", "data-v-ec17777f"]]), Wn = {
2296
+ }), Ha = /* @__PURE__ */ re(qa, [["__scopeId", "data-v-ec17777f"]]), Ya = {
2297
2297
  key: 0,
2298
2298
  class: "layout layout--sidebar"
2299
- }, qn = { class: "layout__main" }, Hn = { class: "layout__header" }, Yn = { class: "layout__content" }, Gn = {
2299
+ }, Ga = { class: "layout__main" }, Xa = { class: "layout__header" }, Ja = { class: "layout__content" }, Za = {
2300
2300
  key: 1,
2301
2301
  class: "layout layout--top"
2302
- }, Xn = { class: "layout__top-menu" }, Jn = { class: "layout__main" }, Zn = { class: "layout__content" }, Qn = {
2302
+ }, Qa = { class: "layout__top-menu" }, en = { class: "layout__main" }, tn = { class: "layout__content" }, sn = {
2303
2303
  key: 2,
2304
2304
  class: "layout layout--mix"
2305
- }, ea = { class: "layout__mix-top-menu" }, ta = { class: "layout__mix-body" }, sa = { class: "layout__content" }, oa = /* @__PURE__ */ ce({
2305
+ }, on = { class: "layout__mix-top-menu" }, an = { class: "layout__mix-body" }, nn = { class: "layout__content" }, ln = /* @__PURE__ */ le({
2306
2306
  __name: "index",
2307
2307
  props: {
2308
2308
  logoSrc: {}
2309
2309
  },
2310
2310
  setup(t) {
2311
- const a = t, p = w(() => a.logoSrc || Te("/vite.svg")), l = fe(), s = ge(), d = w(
2312
- () => l.isCollapsed ? "64px" : "210px"
2313
- ), i = w(() => l.layout), h = w(() => i.value === "mix"), _ = w(() => i.value === "sidebar" ? s.menuList : i.value === "mix" ? l.mixSubMenus : []), m = w(() => h.value ? _.value.length > 0 : !1);
2314
- return (f, y) => {
2315
- const c = mt("router-view");
2316
- return o(), u(j, null, [
2317
- i.value === "sidebar" ? (o(), u("div", Wn, [
2311
+ const o = t, p = w(() => o.logoSrc || ze("/vite.svg")), n = fe(), s = ge(), d = w(
2312
+ () => n.isCollapsed ? "64px" : "210px"
2313
+ ), r = w(() => n.layout), v = w(() => r.value === "mix"), _ = w(() => r.value === "sidebar" ? s.menuList : r.value === "mix" ? n.mixSubMenus : []), m = w(() => v.value ? _.value.length > 0 : !1);
2314
+ return (f, b) => {
2315
+ const c = $e("router-view");
2316
+ return a(), u(q, null, [
2317
+ r.value === "sidebar" ? (a(), u("div", Ya, [
2318
2318
  e("aside", {
2319
- class: H(["layout__aside", { "layout__aside--collapsed": n(l).isCollapsed }]),
2319
+ class: H(["layout__aside", { "layout__aside--collapsed": l(n).isCollapsed }]),
2320
2320
  style: Ue({ width: d.value })
2321
2321
  }, [
2322
- k(lt, {
2322
+ y(ct, {
2323
2323
  "menu-list": _.value,
2324
2324
  "show-logo": !0,
2325
2325
  "show-user": !0,
2326
2326
  "logo-src": p.value
2327
2327
  }, null, 8, ["menu-list", "logo-src"])
2328
2328
  ], 6),
2329
- e("div", qn, [
2330
- e("header", Hn, [
2331
- k(js)
2329
+ e("div", Ga, [
2330
+ e("header", Xa, [
2331
+ y(Ys)
2332
2332
  ]),
2333
- e("main", Yn, [
2334
- k(c)
2333
+ e("main", Ja, [
2334
+ y(c)
2335
2335
  ])
2336
2336
  ])
2337
- ])) : z("", !0),
2338
- i.value === "top" ? (o(), u("div", Gn, [
2339
- e("div", Xn, [
2340
- k(Zo, { "logo-src": p.value }, null, 8, ["logo-src"])
2337
+ ])) : P("", !0),
2338
+ r.value === "top" ? (a(), u("div", Za, [
2339
+ e("div", Qa, [
2340
+ y(sa, { "logo-src": p.value }, null, 8, ["logo-src"])
2341
2341
  ]),
2342
- e("div", Jn, [
2343
- e("main", Zn, [
2344
- k(c)
2342
+ e("div", en, [
2343
+ e("main", tn, [
2344
+ y(c)
2345
2345
  ])
2346
2346
  ])
2347
- ])) : z("", !0),
2348
- i.value === "mix" ? (o(), u("div", Qn, [
2349
- e("div", ea, [
2350
- k(jn, { "logo-src": p.value }, null, 8, ["logo-src"])
2347
+ ])) : P("", !0),
2348
+ r.value === "mix" ? (a(), u("div", sn, [
2349
+ e("div", on, [
2350
+ y(Ha, { "logo-src": p.value }, null, 8, ["logo-src"])
2351
2351
  ]),
2352
- e("div", ta, [
2353
- m.value ? (o(), u("aside", {
2352
+ e("div", an, [
2353
+ m.value ? (a(), u("aside", {
2354
2354
  key: 0,
2355
- class: H(["layout__aside", { "layout__aside--collapsed": n(l).isCollapsed }]),
2355
+ class: H(["layout__aside", { "layout__aside--collapsed": l(n).isCollapsed }]),
2356
2356
  style: Ue({ width: d.value })
2357
2357
  }, [
2358
- k(lt, {
2358
+ y(ct, {
2359
2359
  "menu-list": _.value,
2360
2360
  "show-logo": !1,
2361
2361
  "show-user": !1
2362
2362
  }, null, 8, ["menu-list"])
2363
- ], 6)) : z("", !0),
2364
- e("main", sa, [
2365
- k(c)
2363
+ ], 6)) : P("", !0),
2364
+ e("main", nn, [
2365
+ y(c)
2366
2366
  ])
2367
2367
  ])
2368
- ])) : z("", !0)
2368
+ ])) : P("", !0)
2369
2369
  ], 64);
2370
2370
  };
2371
2371
  }
2372
- }), vt = /* @__PURE__ */ de(oa, [["__scopeId", "data-v-5cf17579"]]), na = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2372
+ }), _t = /* @__PURE__ */ re(ln, [["__scopeId", "data-v-a1c7e6e2"]]), rn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2373
2373
  __proto__: null,
2374
- default: vt
2375
- }, Symbol.toStringTag, { value: "Module" })), aa = { class: "tabs-wrapper" }, la = { class: "tab-label" }, ra = ["onClick"], ia = /* @__PURE__ */ ce({
2374
+ default: _t
2375
+ }, Symbol.toStringTag, { value: "Module" })), cn = { class: "tabs-wrapper" }, un = { class: "tab-label" }, dn = ["onClick"], mn = /* @__PURE__ */ le({
2376
2376
  __name: "Tabs",
2377
2377
  setup(t) {
2378
- const a = Ee(), p = ke(), l = w(() => {
2379
- const h = [];
2380
- return a.matched.forEach((_) => {
2378
+ const o = Ne(), p = ke(), n = w(() => {
2379
+ const v = [];
2380
+ return o.matched.forEach((_) => {
2381
2381
  var m;
2382
- (m = _.meta) != null && m.affix && h.push({
2382
+ (m = _.meta) != null && m.affix && v.push({
2383
2383
  name: _.name,
2384
2384
  title: _.meta.title,
2385
2385
  path: _.path,
2386
2386
  affix: !0
2387
2387
  });
2388
- }), h;
2389
- }), s = w(() => a.path), d = (h) => {
2390
- p.push(h);
2391
- }, i = (h) => {
2392
- const _ = l.value.find((m) => m.path === h);
2393
- if (!(_ != null && _.affix) && h === s.value) {
2394
- const m = l.value.findIndex((y) => y.path === h), f = l.value[m - 1] || l.value[m + 1];
2388
+ }), v;
2389
+ }), s = w(() => o.path), d = (v) => {
2390
+ p.push(v);
2391
+ }, r = (v) => {
2392
+ const _ = n.value.find((m) => m.path === v);
2393
+ if (!(_ != null && _.affix) && v === s.value) {
2394
+ const m = n.value.findIndex((b) => b.path === v), f = n.value[m - 1] || n.value[m + 1];
2395
2395
  f && p.push(f.path);
2396
2396
  }
2397
2397
  };
2398
- return (h, _) => (o(), u("div", aa, [
2399
- k(n(Nt), {
2398
+ return (v, _) => (a(), u("div", cn, [
2399
+ y(l(Pt), {
2400
2400
  modelValue: s.value,
2401
2401
  "onUpdate:modelValue": _[0] || (_[0] = (m) => s.value = m),
2402
2402
  type: "card",
2403
2403
  onTabClick: d
2404
2404
  }, {
2405
- default: S(() => [
2406
- (o(!0), u(j, null, Z(l.value, (m) => (o(), A(n(Ut), {
2405
+ default: C(() => [
2406
+ (a(!0), u(q, null, Z(n.value, (m) => (a(), D(l(Ft), {
2407
2407
  key: m.path,
2408
2408
  name: m.path,
2409
2409
  label: m.title,
2410
2410
  closable: !m.affix
2411
2411
  }, {
2412
- label: S(() => [
2413
- e("span", la, [
2414
- _e(x(m.title) + " ", 1),
2415
- m.affix ? z("", !0) : (o(), u("span", {
2412
+ label: C(() => [
2413
+ e("span", un, [
2414
+ ne(x(m.title) + " ", 1),
2415
+ m.affix ? P("", !0) : (a(), u("span", {
2416
2416
  key: 0,
2417
2417
  class: "tab-close",
2418
- onClick: Ae((f) => i(m.path), ["stop"])
2419
- }, " ✕ ", 8, ra))
2418
+ onClick: Ve((f) => r(m.path), ["stop"])
2419
+ }, " ✕ ", 8, dn))
2420
2420
  ])
2421
2421
  ]),
2422
2422
  _: 2
@@ -2426,19 +2426,153 @@ const ge = Pe("menu", () => {
2426
2426
  }, 8, ["modelValue"])
2427
2427
  ]));
2428
2428
  }
2429
- }), Ja = /* @__PURE__ */ de(ia, [["__scopeId", "data-v-0a4ca30d"]]), ca = {}, ua = { class: "footer" };
2430
- function da(t, a) {
2431
- return o(), u("div", ua, [...a[0] || (a[0] = [
2429
+ }), ll = /* @__PURE__ */ re(mn, [["__scopeId", "data-v-0a4ca30d"]]), pn = {}, vn = { class: "footer" };
2430
+ function hn(t, o) {
2431
+ return a(), u("div", vn, [...o[0] || (o[0] = [
2432
2432
  e("span", null, "Copyright © 2024 Xto Demo. All Rights Reserved.", -1)
2433
2433
  ])]);
2434
2434
  }
2435
- const Za = /* @__PURE__ */ de(ca, [["render", da], ["__scopeId", "data-v-ac63e349"]]), ma = { class: "login-page" }, pa = { class: "login-form-section" }, va = { class: "form-container" }, ha = { class: "input-wrapper" }, _a = { class: "input-wrapper" }, fa = { class: "form-options" }, ga = { key: 0 }, ya = { key: 1 }, ba = /* @__PURE__ */ ce({
2435
+ const rl = /* @__PURE__ */ re(pn, [["render", hn], ["__scopeId", "data-v-ac63e349"]]), _n = /* @__PURE__ */ le({
2436
+ name: "FilterBar",
2437
+ __name: "FilterBar",
2438
+ props: {
2439
+ model: {},
2440
+ collapsible: { type: Boolean, default: !0 },
2441
+ collapsedCount: { default: 3 },
2442
+ defaultCollapsed: { type: Boolean, default: !0 },
2443
+ searchText: { default: "查询" },
2444
+ resetText: { default: "重置" },
2445
+ searchLoading: { type: Boolean, default: !1 }
2446
+ },
2447
+ emits: ["search", "reset"],
2448
+ setup(t, { expose: o, emit: p }) {
2449
+ const n = t, s = p, d = g(null), r = g(n.defaultCollapsed), v = g(0), _ = () => {
2450
+ var F;
2451
+ const V = (F = d.value) == null ? void 0 : F.$el;
2452
+ if (!V) return;
2453
+ const z = V.querySelectorAll(":scope > .x-form-item:not(.filter-bar__ops)");
2454
+ v.value = z.length, z.forEach((O, R) => {
2455
+ O.style.display = r.value && R >= n.collapsedCount ? "none" : "";
2456
+ });
2457
+ }, m = w(() => n.collapsible && v.value > n.collapsedCount), f = () => {
2458
+ r.value = !r.value;
2459
+ };
2460
+ Le(r, () => Re(_)), Oe(() => Re(_)), Nt(() => Re(_));
2461
+ const b = () => s("search"), c = () => s("reset");
2462
+ return o({
2463
+ /** 展开筛选项 */
2464
+ expand: () => {
2465
+ r.value = !1;
2466
+ },
2467
+ /** 收起筛选项 */
2468
+ collapse: () => {
2469
+ r.value = !0;
2470
+ }
2471
+ }), (V, z) => {
2472
+ const F = $e("x-button"), O = $e("x-form-item"), R = $e("x-form"), j = $e("x-card");
2473
+ return a(), D(j, { class: "filter-bar" }, {
2474
+ default: C(() => [
2475
+ y(R, {
2476
+ ref_key: "formRef",
2477
+ ref: d,
2478
+ model: t.model,
2479
+ layout: "inline",
2480
+ onSubmit: b,
2481
+ onReset: c
2482
+ }, {
2483
+ default: C(() => [
2484
+ De(V.$slots, "default", {}, void 0, !0),
2485
+ y(O, { class: "filter-bar__ops" }, {
2486
+ default: C(() => [
2487
+ y(F, {
2488
+ type: "primary",
2489
+ size: "small",
2490
+ "html-type": "submit",
2491
+ loading: t.searchLoading
2492
+ }, {
2493
+ default: C(() => [
2494
+ ne(x(t.searchText), 1)
2495
+ ]),
2496
+ _: 1
2497
+ }, 8, ["loading"]),
2498
+ y(F, {
2499
+ size: "small",
2500
+ "html-type": "reset"
2501
+ }, {
2502
+ default: C(() => [
2503
+ ne(x(t.resetText), 1)
2504
+ ]),
2505
+ _: 1
2506
+ }),
2507
+ m.value ? (a(), D(F, {
2508
+ key: 0,
2509
+ type: "text",
2510
+ size: "small",
2511
+ class: "filter-bar__toggle",
2512
+ onClick: f
2513
+ }, {
2514
+ default: C(() => [
2515
+ ne(x(r.value ? "展开" : "收起") + " ", 1),
2516
+ y(l(E), {
2517
+ name: "caret-down",
2518
+ size: 12,
2519
+ class: H(["filter-bar__caret", { "is-open": !r.value }])
2520
+ }, null, 8, ["class"])
2521
+ ]),
2522
+ _: 1
2523
+ })) : P("", !0)
2524
+ ]),
2525
+ _: 1
2526
+ })
2527
+ ]),
2528
+ _: 3
2529
+ }, 8, ["model"])
2530
+ ]),
2531
+ _: 3
2532
+ });
2533
+ };
2534
+ }
2535
+ }), il = /* @__PURE__ */ re(_n, [["__scopeId", "data-v-55873b2a"]]), fn = { class: "table-card__header" }, gn = { class: "table-card__title" }, yn = { class: "table-card__actions" }, bn = /* @__PURE__ */ le({
2536
+ name: "TableCard",
2537
+ __name: "TableCard",
2538
+ props: {
2539
+ title: {}
2540
+ },
2541
+ setup(t) {
2542
+ return (o, p) => {
2543
+ const n = $e("x-card");
2544
+ return a(), D(n, { class: "table-card-frame" }, Tt({
2545
+ default: C(() => [
2546
+ De(o.$slots, "default", {}, void 0, !0)
2547
+ ]),
2548
+ _: 2
2549
+ }, [
2550
+ t.title || o.$slots.header || o.$slots.actions ? {
2551
+ name: "header",
2552
+ fn: C(() => [
2553
+ e("div", fn, [
2554
+ e("div", gn, [
2555
+ De(o.$slots, "header", {}, () => [
2556
+ ne(x(t.title), 1)
2557
+ ], !0)
2558
+ ]),
2559
+ e("div", yn, [
2560
+ De(o.$slots, "actions", {}, void 0, !0)
2561
+ ])
2562
+ ])
2563
+ ]),
2564
+ key: "0"
2565
+ } : void 0
2566
+ ]), 1024);
2567
+ };
2568
+ }
2569
+ }), cl = /* @__PURE__ */ re(bn, [["__scopeId", "data-v-8c608e1f"]]), kn = { class: "login-page" }, wn = { class: "login-form-section" }, xn = { class: "form-container" }, Cn = { class: "input-wrapper" }, $n = { class: "input-wrapper" }, Ln = { class: "form-options" }, Mn = { key: 0 }, Sn = { key: 1 }, In = /* @__PURE__ */ le({
2436
2570
  __name: "index",
2437
2571
  setup(t) {
2438
- const a = ke(), p = Ee(), l = g(!1), s = g(!1), d = Ge({
2572
+ const o = ke(), p = Ne(), n = g(!1), s = g(!1), d = Ze({
2439
2573
  uid: "",
2440
2574
  password: ""
2441
- }), i = {
2575
+ }), r = {
2442
2576
  uid: [
2443
2577
  { required: !0, message: "请输入用户名", trigger: "blur" }
2444
2578
  ],
@@ -2446,55 +2580,55 @@ const Za = /* @__PURE__ */ de(ca, [["render", da], ["__scopeId", "data-v-ac63e34
2446
2580
  { required: !0, message: "请输入密码", trigger: "blur" },
2447
2581
  { min: 6, message: "密码长度至少6位", trigger: "blur" }
2448
2582
  ]
2449
- }, h = g(), _ = async () => {
2583
+ }, v = g(), _ = async () => {
2450
2584
  var m;
2451
2585
  try {
2452
- await ((m = h.value) == null ? void 0 : m.validate()), l.value = !0;
2453
- const f = await yt({
2454
- appId: Me(),
2455
- clientId: dt(),
2586
+ await ((m = v.value) == null ? void 0 : m.validate()), n.value = !0;
2587
+ const f = await kt({
2588
+ appId: Se(),
2589
+ clientId: vt(),
2456
2590
  uid: d.uid,
2457
2591
  password: d.password,
2458
2592
  code: !0
2459
2593
  });
2460
- ut(f), Tt.success("登录成功");
2461
- const y = p.query.redirect;
2462
- y ? a.push(y) : a.push({ name: "Dashboard" });
2594
+ pt(f), Dt.success("登录成功");
2595
+ const b = p.query.redirect;
2596
+ b ? o.push(b) : o.push({ name: "Dashboard" });
2463
2597
  } catch (f) {
2464
2598
  console.error("登录失败:", f);
2465
2599
  } finally {
2466
- l.value = !1;
2600
+ n.value = !1;
2467
2601
  }
2468
2602
  };
2469
- return (m, f) => (o(), u("div", ma, [
2470
- f[10] || (f[10] = Fe('<div class="login-brand" data-v-20b19b53><div class="brand-content" data-v-20b19b53><div class="brand-logo" data-v-20b19b53><div class="logo-icon" data-v-20b19b53><svg viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg" data-v-20b19b53><rect width="48" height="48" rx="12" fill="currentColor" data-v-20b19b53></rect><path d="M14 24L20 30L34 16" stroke="white" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" data-v-20b19b53></path></svg></div><span class="logo-text" data-v-20b19b53>XTO</span></div><div class="brand-slogan" data-v-20b19b53><h1 data-v-20b19b53>企业级后台管理解决方案</h1><p data-v-20b19b53>开箱即用的中后台前端/设计解决方案</p></div><div class="brand-features" data-v-20b19b53><div class="feature-item" data-v-20b19b53><div class="feature-icon" data-v-20b19b53><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" data-v-20b19b53><path d="M13 2L3 14h9l-1 8 10-12h-9l1-8z" data-v-20b19b53></path></svg></div><div class="feature-text" data-v-20b19b53><h4 data-v-20b19b53>高性能</h4><p data-v-20b19b53>极致的渲染性能与响应速度</p></div></div><div class="feature-item" data-v-20b19b53><div class="feature-icon" data-v-20b19b53><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" data-v-20b19b53><rect x="3" y="3" width="18" height="18" rx="2" data-v-20b19b53></rect><path d="M9 9h6M9 12h6M9 15h4" data-v-20b19b53></path></svg></div><div class="feature-text" data-v-20b19b53><h4 data-v-20b19b53>丰富组件</h4><p data-v-20b19b53>60+ 高质量业务组件</p></div></div><div class="feature-item" data-v-20b19b53><div class="feature-icon" data-v-20b19b53><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" data-v-20b19b53><circle cx="12" cy="12" r="10" data-v-20b19b53></circle><path d="M12 6v6l4 2" data-v-20b19b53></path></svg></div><div class="feature-text" data-v-20b19b53><h4 data-v-20b19b53>持续更新</h4><p data-v-20b19b53>活跃的社区与快速迭代</p></div></div></div><div class="brand-decoration" data-v-20b19b53><div class="decoration-line" data-v-20b19b53></div><div class="decoration-dots" data-v-20b19b53><span data-v-20b19b53></span><span data-v-20b19b53></span><span data-v-20b19b53></span></div></div></div><div class="brand-bg" data-v-20b19b53><div class="bg-grid" data-v-20b19b53></div></div></div>', 1)),
2471
- e("div", pa, [
2472
- e("div", va, [
2603
+ return (m, f) => (a(), u("div", kn, [
2604
+ f[10] || (f[10] = Ae('<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)),
2605
+ e("div", wn, [
2606
+ e("div", xn, [
2473
2607
  f[7] || (f[7] = e("div", { class: "form-header" }, [
2474
2608
  e("h2", null, "欢迎登录"),
2475
2609
  e("p", null, "请输入您的账户信息")
2476
2610
  ], -1)),
2477
- k(n(Pt), {
2611
+ y(l(At), {
2478
2612
  ref_key: "formRef",
2479
- ref: h,
2613
+ ref: v,
2480
2614
  model: d,
2481
- rules: i,
2615
+ rules: r,
2482
2616
  class: "login-form",
2483
2617
  "label-width": "0"
2484
2618
  }, {
2485
- default: S(() => [
2486
- k(n(Be), { prop: "uid" }, {
2487
- default: S(() => [
2488
- e("div", ha, [
2619
+ default: C(() => [
2620
+ y(l(Ke), { prop: "uid" }, {
2621
+ default: C(() => [
2622
+ e("div", Cn, [
2489
2623
  f[3] || (f[3] = e("label", { class: "input-label" }, "用户名", -1)),
2490
- k(n(at), {
2624
+ y(l(it), {
2491
2625
  modelValue: d.uid,
2492
- "onUpdate:modelValue": f[0] || (f[0] = (y) => d.uid = y),
2626
+ "onUpdate:modelValue": f[0] || (f[0] = (b) => d.uid = b),
2493
2627
  placeholder: "请输入用户名",
2494
2628
  size: "large"
2495
2629
  }, {
2496
- prefix: S(() => [
2497
- k(n(U), {
2630
+ prefix: C(() => [
2631
+ y(l(E), {
2498
2632
  name: "user",
2499
2633
  size: 18
2500
2634
  })
@@ -2505,21 +2639,21 @@ const Za = /* @__PURE__ */ de(ca, [["render", da], ["__scopeId", "data-v-ac63e34
2505
2639
  ]),
2506
2640
  _: 1
2507
2641
  }),
2508
- k(n(Be), { prop: "password" }, {
2509
- default: S(() => [
2510
- e("div", _a, [
2642
+ y(l(Ke), { prop: "password" }, {
2643
+ default: C(() => [
2644
+ e("div", $n, [
2511
2645
  f[4] || (f[4] = e("label", { class: "input-label" }, "密码", -1)),
2512
- k(n(at), {
2646
+ y(l(it), {
2513
2647
  modelValue: d.password,
2514
- "onUpdate:modelValue": f[1] || (f[1] = (y) => d.password = y),
2648
+ "onUpdate:modelValue": f[1] || (f[1] = (b) => d.password = b),
2515
2649
  type: "password",
2516
2650
  placeholder: "请输入密码",
2517
2651
  size: "large",
2518
2652
  "show-password": "",
2519
- onKeyup: It(_, ["enter"])
2653
+ onKeyup: Ut(_, ["enter"])
2520
2654
  }, {
2521
- prefix: S(() => [
2522
- k(n(U), {
2655
+ prefix: C(() => [
2656
+ y(l(E), {
2523
2657
  name: "lock",
2524
2658
  size: 18
2525
2659
  })
@@ -2530,13 +2664,13 @@ const Za = /* @__PURE__ */ de(ca, [["render", da], ["__scopeId", "data-v-ac63e34
2530
2664
  ]),
2531
2665
  _: 1
2532
2666
  }),
2533
- e("div", fa, [
2534
- k(n(zt), {
2667
+ e("div", Ln, [
2668
+ y(l(Bt), {
2535
2669
  modelValue: s.value,
2536
- "onUpdate:modelValue": f[2] || (f[2] = (y) => s.value = y)
2670
+ "onUpdate:modelValue": f[2] || (f[2] = (b) => s.value = b)
2537
2671
  }, {
2538
- default: S(() => [...f[5] || (f[5] = [
2539
- _e("记住我", -1)
2672
+ default: C(() => [...f[5] || (f[5] = [
2673
+ ne("记住我", -1)
2540
2674
  ])]),
2541
2675
  _: 1
2542
2676
  }, 8, ["modelValue"]),
@@ -2545,17 +2679,17 @@ const Za = /* @__PURE__ */ de(ca, [["render", da], ["__scopeId", "data-v-ac63e34
2545
2679
  class: "forgot-link"
2546
2680
  }, "忘记密码?", -1))
2547
2681
  ]),
2548
- k(n(Be), null, {
2549
- default: S(() => [
2550
- k(n(Ie), {
2682
+ y(l(Ke), null, {
2683
+ default: C(() => [
2684
+ y(l(Ee), {
2551
2685
  type: "primary",
2552
2686
  size: "large",
2553
- loading: l.value,
2687
+ loading: n.value,
2554
2688
  class: "login-btn",
2555
2689
  onClick: _
2556
2690
  }, {
2557
- default: S(() => [
2558
- l.value ? (o(), u("span", ya, "登录中...")) : (o(), u("span", ga, "登 录"))
2691
+ default: C(() => [
2692
+ n.value ? (a(), u("span", Sn, "登录中...")) : (a(), u("span", Mn, "登 录"))
2559
2693
  ]),
2560
2694
  _: 1
2561
2695
  }, 8, ["loading"])
@@ -2565,7 +2699,7 @@ const Za = /* @__PURE__ */ de(ca, [["render", da], ["__scopeId", "data-v-ac63e34
2565
2699
  ]),
2566
2700
  _: 1
2567
2701
  }, 8, ["model"]),
2568
- f[8] || (f[8] = Fe('<div class="form-footer" data-v-20b19b53><p data-v-20b19b53>其他登录方式</p><div class="social-login" data-v-20b19b53><button class="social-btn" title="企业微信" data-v-20b19b53><svg viewBox="0 0 24 24" fill="currentColor" data-v-20b19b53><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1 17.93c-3.95-.49-7-3.85-7-7.93 0-.62.08-1.21.21-1.79L9 15v1c0 1.1.9 2 2 2v1.93zm6.9-2.54c-.26-.81-1-1.39-1.9-1.39h-1v-3c0-.55-.45-1-1-1H8v-2h2c.55 0 1-.45 1-1V7h2c1.1 0 2-.9 2-2v-.41c2.93 1.19 5 4.06 5 7.41 0 2.08-.8 3.97-2.1 5.39z" data-v-20b19b53></path></svg></button><button class="social-btn" title="钉钉" data-v-20b19b53><svg viewBox="0 0 24 24" fill="currentColor" data-v-20b19b53><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm4.64 6.8c-.15 1.58-.8 5.42-1.13 7.19-.14.75-.42 1-.68 1.03-.58.05-1.02-.38-1.58-.75-.88-.58-1.38-.94-2.23-1.5-.99-.65-.35-1.01.22-1.59.15-.15 2.71-2.48 2.76-2.69a.2.2 0 00-.05-.18c-.06-.05-.14-.03-.21-.02-.09.02-1.49.95-4.22 2.79-.4.27-.76.41-1.08.4-.36-.01-1.04-.2-1.55-.37-.63-.2-1.12-.31-1.08-.66.02-.18.27-.36.74-.55 2.92-1.27 4.86-2.11 5.83-2.51 2.78-1.16 3.35-1.36 3.73-1.36.08 0 .27.02.39.12.1.08.13.19.14.27-.01.06.01.24 0 .38z" data-v-20b19b53></path></svg></button><button class="social-btn" title="飞书" data-v-20b19b53><svg viewBox="0 0 24 24" fill="currentColor" data-v-20b19b53><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-6h2v6zm0-8h-2V7h2v2z" data-v-20b19b53></path></svg></button></div></div>', 1))
2702
+ f[8] || (f[8] = Ae('<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))
2569
2703
  ]),
2570
2704
  f[9] || (f[9] = e("div", { class: "copyright" }, [
2571
2705
  e("p", null, "© 2024 XTO Team. All rights reserved.")
@@ -2573,31 +2707,31 @@ const Za = /* @__PURE__ */ de(ca, [["render", da], ["__scopeId", "data-v-ac63e34
2573
2707
  ])
2574
2708
  ]));
2575
2709
  }
2576
- }), ka = /* @__PURE__ */ de(ba, [["__scopeId", "data-v-20b19b53"]]), wa = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2710
+ }), En = /* @__PURE__ */ re(In, [["__scopeId", "data-v-20b19b53"]]), Nn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2577
2711
  __proto__: null,
2578
- default: ka
2579
- }, Symbol.toStringTag, { value: "Module" })), xa = { class: "error-page" }, Ca = { class: "error-container" }, La = { class: "error-content" }, $a = { class: "error-actions" }, Ma = /* @__PURE__ */ ce({
2712
+ default: En
2713
+ }, Symbol.toStringTag, { value: "Module" })), Tn = { class: "error-page" }, Un = { class: "error-container" }, zn = { class: "error-content" }, Pn = { class: "error-actions" }, Fn = /* @__PURE__ */ le({
2580
2714
  __name: "404",
2581
2715
  setup(t) {
2582
- const a = ke(), p = () => {
2583
- a.push("/");
2716
+ const o = ke(), p = () => {
2717
+ o.push("/");
2584
2718
  };
2585
- return (l, s) => (o(), u("div", xa, [
2586
- e("div", Ca, [
2719
+ return (n, s) => (a(), u("div", Tn, [
2720
+ e("div", Un, [
2587
2721
  s[7] || (s[7] = e("div", { class: "error-bg" }, [
2588
2722
  e("div", { class: "bg-circle circle-1" }),
2589
2723
  e("div", { class: "bg-circle circle-2" }),
2590
2724
  e("div", { class: "bg-circle circle-3" })
2591
2725
  ], -1)),
2592
- e("div", La, [
2593
- s[5] || (s[5] = Fe('<div class="error-code" data-v-c36cc0ad><span class="code-digit" data-v-c36cc0ad>4</span><span class="code-zero" data-v-c36cc0ad><span class="zero-inner" data-v-c36cc0ad>0</span></span><span class="code-digit" data-v-c36cc0ad>4</span></div><div class="error-illustration" data-v-c36cc0ad><svg viewBox="0 0 200 120" fill="none" xmlns="http://www.w3.org/2000/svg" data-v-c36cc0ad><rect x="40" y="20" width="120" height="80" rx="8" fill="var(--xto-fill-color, #F2F3F5)" stroke="var(--xto-border-color, #D9DCE1)" stroke-width="2" data-v-c36cc0ad></rect><rect x="50" y="30" width="100" height="60" rx="4" fill="var(--xto-bg-color, #FFFFFF)" data-v-c36cc0ad></rect><line x1="60" y1="45" x2="140" y2="45" stroke="var(--xto-border-color-light, #E5E6EB)" stroke-width="2" data-v-c36cc0ad></line><line x1="60" y1="55" x2="120" y2="55" stroke="var(--xto-border-color-light, #E5E6EB)" stroke-width="2" data-v-c36cc0ad></line><line x1="60" y1="65" x2="100" y2="65" stroke="var(--xto-border-color-light, #E5E6EB)" stroke-width="2" data-v-c36cc0ad></line><text x="100" y="75" text-anchor="middle" fill="var(--xto-color-primary, #4F46E5)" font-size="24" font-weight="600" data-v-c36cc0ad>?</text><circle cx="150" cy="35" r="12" stroke="var(--xto-color-primary, #4F46E5)" stroke-width="2" fill="none" data-v-c36cc0ad></circle><line x1="158" y1="43" x2="168" y2="53" stroke="var(--xto-color-primary, #4F46E5)" stroke-width="2" stroke-linecap="round" data-v-c36cc0ad></line></svg></div><h1 class="error-title" data-v-c36cc0ad>页面不存在</h1><p class="error-desc" data-v-c36cc0ad>抱歉,您访问的页面不存在或已被删除</p>', 4)),
2594
- e("div", $a, [
2595
- k(n(Ie), {
2726
+ e("div", zn, [
2727
+ s[5] || (s[5] = Ae('<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)),
2728
+ e("div", Pn, [
2729
+ y(l(Ee), {
2596
2730
  type: "primary",
2597
2731
  size: "large",
2598
2732
  onClick: p
2599
2733
  }, {
2600
- icon: S(() => [...s[1] || (s[1] = [
2734
+ icon: C(() => [...s[1] || (s[1] = [
2601
2735
  e("svg", {
2602
2736
  viewBox: "0 0 24 24",
2603
2737
  fill: "none",
@@ -2608,16 +2742,16 @@ const Za = /* @__PURE__ */ de(ca, [["render", da], ["__scopeId", "data-v-ac63e34
2608
2742
  e("polyline", { points: "9,22 9,12 15,12 15,22" })
2609
2743
  ], -1)
2610
2744
  ])]),
2611
- default: S(() => [
2612
- s[2] || (s[2] = _e(" 返回首页 ", -1))
2745
+ default: C(() => [
2746
+ s[2] || (s[2] = ne(" 返回首页 ", -1))
2613
2747
  ]),
2614
2748
  _: 1
2615
2749
  }),
2616
- k(n(Ie), {
2750
+ y(l(Ee), {
2617
2751
  size: "large",
2618
- onClick: s[0] || (s[0] = (d) => n(a).go(-1))
2752
+ onClick: s[0] || (s[0] = (d) => l(o).go(-1))
2619
2753
  }, {
2620
- icon: S(() => [...s[3] || (s[3] = [
2754
+ icon: C(() => [...s[3] || (s[3] = [
2621
2755
  e("svg", {
2622
2756
  viewBox: "0 0 24 24",
2623
2757
  fill: "none",
@@ -2627,8 +2761,8 @@ const Za = /* @__PURE__ */ de(ca, [["render", da], ["__scopeId", "data-v-ac63e34
2627
2761
  e("path", { d: "M19 12H5M12 19l-7-7 7-7" })
2628
2762
  ], -1)
2629
2763
  ])]),
2630
- default: S(() => [
2631
- s[4] || (s[4] = _e(" 返回上一页 ", -1))
2764
+ default: C(() => [
2765
+ s[4] || (s[4] = ne(" 返回上一页 ", -1))
2632
2766
  ]),
2633
2767
  _: 1
2634
2768
  })
@@ -2645,31 +2779,31 @@ const Za = /* @__PURE__ */ de(ca, [["render", da], ["__scopeId", "data-v-ac63e34
2645
2779
  ])
2646
2780
  ]));
2647
2781
  }
2648
- }), Sa = /* @__PURE__ */ de(Ma, [["__scopeId", "data-v-c36cc0ad"]]), ht = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2782
+ }), Dn = /* @__PURE__ */ re(Fn, [["__scopeId", "data-v-c36cc0ad"]]), ft = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2649
2783
  __proto__: null,
2650
- default: Sa
2651
- }, Symbol.toStringTag, { value: "Module" })), Ia = { class: "error-page" }, Ea = { class: "error-container" }, Na = { class: "error-content" }, Ua = { class: "error-actions" }, Ta = /* @__PURE__ */ ce({
2784
+ default: Dn
2785
+ }, Symbol.toStringTag, { value: "Module" })), An = { class: "error-page" }, Bn = { class: "error-container" }, On = { class: "error-content" }, Vn = { class: "error-actions" }, Rn = /* @__PURE__ */ le({
2652
2786
  __name: "403",
2653
2787
  setup(t) {
2654
- const a = ke(), p = () => {
2655
- a.push("/");
2788
+ const o = ke(), p = () => {
2789
+ o.push("/");
2656
2790
  };
2657
- return (l, s) => (o(), u("div", Ia, [
2658
- e("div", Ea, [
2791
+ return (n, s) => (a(), u("div", An, [
2792
+ e("div", Bn, [
2659
2793
  s[7] || (s[7] = e("div", { class: "error-bg" }, [
2660
2794
  e("div", { class: "bg-circle circle-1" }),
2661
2795
  e("div", { class: "bg-circle circle-2" }),
2662
2796
  e("div", { class: "bg-circle circle-3" })
2663
2797
  ], -1)),
2664
- e("div", Na, [
2665
- s[5] || (s[5] = Fe('<div class="error-code" data-v-e6e1f7ac><span class="code-digit" data-v-e6e1f7ac>4</span><span class="code-zero warning" data-v-e6e1f7ac><span class="zero-inner" data-v-e6e1f7ac>0</span></span><span class="code-digit" data-v-e6e1f7ac>3</span></div><div class="error-illustration" data-v-e6e1f7ac><svg viewBox="0 0 200 120" fill="none" xmlns="http://www.w3.org/2000/svg" data-v-e6e1f7ac><path d="M100 15 L150 35 L150 70 C150 95 100 110 100 110 C100 110 50 95 50 70 L50 35 Z" fill="var(--xto-color-warning-light-9, #FFF3E8)" stroke="var(--xto-color-warning, #FF7D00)" stroke-width="2" data-v-e6e1f7ac></path><rect x="85" y="55" width="30" height="25" rx="4" fill="var(--xto-color-warning, #FF7D00)" data-v-e6e1f7ac></rect><path d="M92 55 V48 A8 8 0 0 1 108 48 V55" fill="none" stroke="var(--xto-color-warning, #FF7D00)" stroke-width="3" data-v-e6e1f7ac></path><circle cx="100" cy="67" r="6" fill="none" stroke="#fff" stroke-width="2" data-v-e6e1f7ac></circle><line x1="96" y1="63" x2="104" y2="71" stroke="#fff" stroke-width="2" data-v-e6e1f7ac></line></svg></div><h1 class="error-title" data-v-e6e1f7ac>无访问权限</h1><p class="error-desc" data-v-e6e1f7ac>抱歉,您没有权限访问此页面,请联系管理员获取权限</p>', 4)),
2666
- e("div", Ua, [
2667
- k(n(Ie), {
2798
+ e("div", On, [
2799
+ s[5] || (s[5] = Ae('<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)),
2800
+ e("div", Vn, [
2801
+ y(l(Ee), {
2668
2802
  type: "primary",
2669
2803
  size: "large",
2670
2804
  onClick: p
2671
2805
  }, {
2672
- icon: S(() => [...s[1] || (s[1] = [
2806
+ icon: C(() => [...s[1] || (s[1] = [
2673
2807
  e("svg", {
2674
2808
  viewBox: "0 0 24 24",
2675
2809
  fill: "none",
@@ -2680,16 +2814,16 @@ const Za = /* @__PURE__ */ de(ca, [["render", da], ["__scopeId", "data-v-ac63e34
2680
2814
  e("polyline", { points: "9,22 9,12 15,12 15,22" })
2681
2815
  ], -1)
2682
2816
  ])]),
2683
- default: S(() => [
2684
- s[2] || (s[2] = _e(" 返回首页 ", -1))
2817
+ default: C(() => [
2818
+ s[2] || (s[2] = ne(" 返回首页 ", -1))
2685
2819
  ]),
2686
2820
  _: 1
2687
2821
  }),
2688
- k(n(Ie), {
2822
+ y(l(Ee), {
2689
2823
  size: "large",
2690
- onClick: s[0] || (s[0] = (d) => n(a).go(-1))
2824
+ onClick: s[0] || (s[0] = (d) => l(o).go(-1))
2691
2825
  }, {
2692
- icon: S(() => [...s[3] || (s[3] = [
2826
+ icon: C(() => [...s[3] || (s[3] = [
2693
2827
  e("svg", {
2694
2828
  viewBox: "0 0 24 24",
2695
2829
  fill: "none",
@@ -2699,8 +2833,8 @@ const Za = /* @__PURE__ */ de(ca, [["render", da], ["__scopeId", "data-v-ac63e34
2699
2833
  e("path", { d: "M19 12H5M12 19l-7-7 7-7" })
2700
2834
  ], -1)
2701
2835
  ])]),
2702
- default: S(() => [
2703
- s[4] || (s[4] = _e(" 返回上一页 ", -1))
2836
+ default: C(() => [
2837
+ s[4] || (s[4] = ne(" 返回上一页 ", -1))
2704
2838
  ]),
2705
2839
  _: 1
2706
2840
  })
@@ -2717,15 +2851,15 @@ const Za = /* @__PURE__ */ de(ca, [["render", da], ["__scopeId", "data-v-ac63e34
2717
2851
  ])
2718
2852
  ]));
2719
2853
  }
2720
- }), Qa = /* @__PURE__ */ de(Ta, [["__scopeId", "data-v-e6e1f7ac"]]);
2721
- function el() {
2722
- const t = fe(), a = ue(), p = ze(), l = w(() => a.userName || ""), s = w(() => a.userInfo), d = w(() => t.appName), i = w(() => p.isLoggedIn), h = w(() => t.isDark), _ = w(() => t.theme), m = w(() => t.isCollapsed), f = w(() => t.layout);
2854
+ }), ul = /* @__PURE__ */ re(Rn, [["__scopeId", "data-v-e6e1f7ac"]]);
2855
+ function dl() {
2856
+ const t = fe(), o = me(), p = Fe(), n = w(() => o.userName || ""), s = w(() => o.userInfo), d = w(() => t.appName), r = w(() => p.isLoggedIn), v = w(() => t.isDark), _ = w(() => t.theme), m = w(() => t.isCollapsed), f = w(() => t.layout);
2723
2857
  return {
2724
- userName: l,
2858
+ userName: n,
2725
2859
  userInfo: s,
2726
2860
  appName: d,
2727
- isLoggedIn: i,
2728
- isDark: h,
2861
+ isLoggedIn: r,
2862
+ isDark: v,
2729
2863
  theme: _,
2730
2864
  isCollapsed: m,
2731
2865
  layout: f,
@@ -2737,124 +2871,124 @@ function el() {
2737
2871
  }
2738
2872
  };
2739
2873
  }
2740
- function tl() {
2741
- const t = ue();
2874
+ function ml() {
2875
+ const t = me();
2742
2876
  return {
2743
2877
  isLoggedIn: w(() => t.isLoggedIn)
2744
2878
  };
2745
2879
  }
2746
- function sl(t, a = {}) {
2747
- const { rules: p, onSubmit: l } = a, s = g(), d = Ge({ ...t }), i = g(!1), h = g(!1), _ = g(!1), m = () => {
2748
- c(), _.value = !1, h.value = !0;
2749
- }, f = (P) => {
2750
- Object.assign(d, P), _.value = !0, h.value = !0;
2751
- }, y = () => {
2752
- h.value = !1, c();
2880
+ function pl(t, o = {}) {
2881
+ const { rules: p, onSubmit: n } = o, s = g(), d = Ze({ ...t }), r = g(!1), v = g(!1), _ = g(!1), m = () => {
2882
+ c(), _.value = !1, v.value = !0;
2883
+ }, f = (z) => {
2884
+ Object.assign(d, z), _.value = !0, v.value = !0;
2885
+ }, b = () => {
2886
+ v.value = !1, c();
2753
2887
  }, c = () => {
2754
- var P;
2755
- Object.keys(t).forEach((B) => {
2756
- d[B] = t[B];
2757
- }), (P = s.value) == null || P.resetFields();
2888
+ var z;
2889
+ Object.keys(t).forEach((F) => {
2890
+ d[F] = t[F];
2891
+ }), (z = s.value) == null || z.resetFields();
2758
2892
  };
2759
2893
  return {
2760
2894
  formRef: s,
2761
2895
  formData: d,
2762
2896
  rules: p,
2763
- loading: i,
2764
- visible: h,
2897
+ loading: r,
2898
+ visible: v,
2765
2899
  isEdit: _,
2766
2900
  openAdd: m,
2767
2901
  openEdit: f,
2768
- close: y,
2902
+ close: b,
2769
2903
  resetForm: c,
2770
2904
  handleSubmit: async () => {
2771
- var P;
2905
+ var z;
2772
2906
  try {
2773
- await ((P = s.value) == null ? void 0 : P.validate()), i.value = !0, await (l == null ? void 0 : l(d)), y();
2774
- } catch (B) {
2775
- console.error(B);
2907
+ await ((z = s.value) == null ? void 0 : z.validate()), r.value = !0, await (n == null ? void 0 : n(d)), b();
2908
+ } catch (F) {
2909
+ console.error(F);
2776
2910
  } finally {
2777
- i.value = !1;
2911
+ r.value = !1;
2778
2912
  }
2779
2913
  }
2780
2914
  };
2781
2915
  }
2782
- function ol(t) {
2783
- const { fetchData: a, defaultPageSize: p = 10 } = t, l = g(!1), s = g([]), d = g(0), i = g(1), h = g(p), _ = Ge({}), m = async () => {
2784
- l.value = !0;
2916
+ function vl(t) {
2917
+ const { fetchData: o, defaultPageSize: p = 10 } = t, n = g(!1), s = g([]), d = g(0), r = g(1), v = g(p), _ = Ze({}), m = async () => {
2918
+ n.value = !0;
2785
2919
  try {
2786
- const V = {
2920
+ const O = {
2787
2921
  ..._,
2788
- page: i.value,
2789
- pageSize: h.value
2790
- }, R = await a(V);
2922
+ page: r.value,
2923
+ pageSize: v.value
2924
+ }, R = await o(O);
2791
2925
  s.value = R.list, d.value = R.total;
2792
- } catch (V) {
2793
- console.error(V);
2926
+ } catch (O) {
2927
+ console.error(O);
2794
2928
  } finally {
2795
- l.value = !1;
2929
+ n.value = !1;
2796
2930
  }
2797
2931
  }, f = () => {
2798
- i.value = 1, m();
2799
- }, y = () => {
2800
- Object.keys(_).forEach((V) => {
2801
- _[V] = void 0;
2802
- }), i.value = 1, m();
2803
- }, c = (V) => {
2804
- i.value = V, m();
2805
- }, W = (V) => {
2806
- h.value = V, i.value = 1, m();
2807
- }, P = () => {
2932
+ r.value = 1, m();
2933
+ }, b = () => {
2934
+ Object.keys(_).forEach((O) => {
2935
+ _[O] = void 0;
2936
+ }), r.value = 1, m();
2937
+ }, c = (O) => {
2938
+ r.value = O, m();
2939
+ }, V = (O) => {
2940
+ v.value = O, r.value = 1, m();
2941
+ }, z = () => {
2808
2942
  m();
2809
- }, B = w(() => ({
2810
- current: i.value,
2811
- pageSize: h.value,
2943
+ }, F = w(() => ({
2944
+ current: r.value,
2945
+ pageSize: v.value,
2812
2946
  total: d.value
2813
2947
  }));
2814
2948
  return {
2815
- loading: l,
2949
+ loading: n,
2816
2950
  data: s,
2817
2951
  total: d,
2818
- currentPage: i,
2819
- pageSize: h,
2952
+ currentPage: r,
2953
+ pageSize: v,
2820
2954
  searchParams: _,
2821
- pagination: B,
2955
+ pagination: F,
2822
2956
  getData: m,
2823
2957
  handleSearch: f,
2824
- handleReset: y,
2958
+ handleReset: b,
2825
2959
  handlePageChange: c,
2826
- handleSizeChange: W,
2827
- refresh: P
2960
+ handleSizeChange: V,
2961
+ refresh: z
2828
2962
  };
2829
2963
  }
2830
- const et = Pe("locale", () => {
2831
- const t = T.get("locale") || "zh-CN", a = Ft(t), p = g(t), l = Dt(), { t: s, messages: d, setLocale: i, mergeMessages: h } = At(), _ = w(() => {
2832
- const c = l.find((W) => W.code === p.value);
2964
+ const ot = Pe("locale", () => {
2965
+ const t = U.get("locale") || "zh-CN", o = Ot(t), p = g(t), n = Vt(), { t: s, messages: d, setLocale: r, mergeMessages: v } = Rt(), _ = w(() => {
2966
+ const c = n.find((V) => V.code === p.value);
2833
2967
  return (c == null ? void 0 : c.name) || p.value;
2834
2968
  });
2835
2969
  return {
2836
2970
  locale: p,
2837
2971
  localeName: _,
2838
- locales: l,
2972
+ locales: n,
2839
2973
  messages: d,
2840
2974
  t: s,
2841
2975
  changeLocale: (c) => {
2842
- p.value = c, i(c), T.set("locale", c), a.setLocale(c);
2976
+ p.value = c, r(c), U.set("locale", c), o.setLocale(c);
2843
2977
  },
2844
2978
  addMessages: (c) => {
2845
- h(c);
2979
+ v(c);
2846
2980
  },
2847
2981
  initLocale: () => {
2848
- i(t);
2982
+ r(t);
2849
2983
  },
2850
- provider: a
2984
+ provider: o
2851
2985
  };
2852
- }), Pa = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2986
+ }), Kn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2853
2987
  __proto__: null,
2854
- useLocaleStore: et
2988
+ useLocaleStore: ot
2855
2989
  }, Symbol.toStringTag, { value: "Module" }));
2856
- function nl() {
2857
- const t = et();
2990
+ function hl() {
2991
+ const t = ot();
2858
2992
  return {
2859
2993
  /** 当前语言代码 */
2860
2994
  locale: t.locale,
@@ -2872,39 +3006,39 @@ function nl() {
2872
3006
  addMessages: t.addMessages
2873
3007
  };
2874
3008
  }
2875
- function al() {
2876
- return et().t;
3009
+ function _l() {
3010
+ return ot().t;
2877
3011
  }
2878
- function ll(t) {
2879
- const a = ue(), p = ge();
2880
- return a.isLoggedIn ? p.hasPermission(t) : !1;
3012
+ function fl(t) {
3013
+ const o = me(), p = ge();
3014
+ return o.isLoggedIn ? p.hasPermission(t) : !1;
2881
3015
  }
2882
- function rl(t) {
2883
- return ue().isLoggedIn;
3016
+ function gl(t) {
3017
+ return me().isLoggedIn;
2884
3018
  }
2885
- function il() {
3019
+ function yl() {
2886
3020
  return !0;
2887
3021
  }
2888
- const _t = [
3022
+ const gt = [
2889
3023
  {
2890
3024
  path: "/login",
2891
3025
  name: "Login",
2892
- component: () => Promise.resolve().then(() => wa),
3026
+ component: () => Promise.resolve().then(() => Nn),
2893
3027
  meta: {
2894
3028
  title: "登录",
2895
3029
  hidden: !0
2896
3030
  }
2897
3031
  }
2898
- ], ft = {
3032
+ ], yt = {
2899
3033
  path: "/",
2900
3034
  name: "Layout",
2901
- component: () => Promise.resolve().then(() => na),
3035
+ component: () => Promise.resolve().then(() => rn),
2902
3036
  redirect: "/dashboard",
2903
3037
  children: [
2904
3038
  {
2905
3039
  path: "/dashboard",
2906
3040
  name: "Dashboard",
2907
- component: () => import("./index-xhdpvVQC.js"),
3041
+ component: () => import("./index-C-W7EWSS.js"),
2908
3042
  meta: {
2909
3043
  title: "仪表盘",
2910
3044
  icon: "dashboard",
@@ -2915,7 +3049,7 @@ const _t = [
2915
3049
  {
2916
3050
  path: "/system/user",
2917
3051
  name: "SystemUser",
2918
- component: () => import("./index-DG5BwN0D.js"),
3052
+ component: () => import("./index-CV3iQw1M.js"),
2919
3053
  meta: {
2920
3054
  title: "用户管理",
2921
3055
  icon: "user",
@@ -2925,7 +3059,7 @@ const _t = [
2925
3059
  {
2926
3060
  path: "/system/role",
2927
3061
  name: "SystemRole",
2928
- component: () => import("./index-C0VbPQUq.js"),
3062
+ component: () => import("./index-xq_VqjfX.js"),
2929
3063
  meta: {
2930
3064
  title: "角色管理",
2931
3065
  icon: "role",
@@ -2935,7 +3069,7 @@ const _t = [
2935
3069
  {
2936
3070
  path: "/system/menu",
2937
3071
  name: "SystemMenu",
2938
- component: () => import("./index-i4mPNvy-.js"),
3072
+ component: () => import("./index-D1VBH1Gz.js"),
2939
3073
  meta: {
2940
3074
  title: "菜单管理",
2941
3075
  icon: "menu",
@@ -2946,18 +3080,18 @@ const _t = [
2946
3080
  {
2947
3081
  path: "/:pathMatch(.*)*",
2948
3082
  name: "CatchAll",
2949
- component: () => Promise.resolve().then(() => ht),
3083
+ component: () => Promise.resolve().then(() => ft),
2950
3084
  meta: {
2951
3085
  title: "404",
2952
3086
  hidden: !0
2953
3087
  }
2954
3088
  }
2955
3089
  ]
2956
- }, cl = [
3090
+ }, bl = [
2957
3091
  {
2958
3092
  path: "/dashboard",
2959
3093
  name: "Dashboard",
2960
- component: () => import("./index-xhdpvVQC.js"),
3094
+ component: () => import("./index-C-W7EWSS.js"),
2961
3095
  meta: {
2962
3096
  title: "仪表盘",
2963
3097
  icon: "dashboard",
@@ -2977,7 +3111,7 @@ const _t = [
2977
3111
  {
2978
3112
  path: "user",
2979
3113
  name: "SystemUser",
2980
- component: () => import("./index-DG5BwN0D.js"),
3114
+ component: () => import("./index-CV3iQw1M.js"),
2981
3115
  meta: {
2982
3116
  title: "用户管理",
2983
3117
  icon: "user",
@@ -2987,7 +3121,7 @@ const _t = [
2987
3121
  {
2988
3122
  path: "role",
2989
3123
  name: "SystemRole",
2990
- component: () => import("./index-C0VbPQUq.js"),
3124
+ component: () => import("./index-xq_VqjfX.js"),
2991
3125
  meta: {
2992
3126
  title: "角色管理",
2993
3127
  icon: "role",
@@ -2997,7 +3131,7 @@ const _t = [
2997
3131
  {
2998
3132
  path: "menu",
2999
3133
  name: "SystemMenu",
3000
- component: () => import("./index-i4mPNvy-.js"),
3134
+ component: () => import("./index-D1VBH1Gz.js"),
3001
3135
  meta: {
3002
3136
  title: "菜单管理",
3003
3137
  icon: "menu",
@@ -3006,7 +3140,7 @@ const _t = [
3006
3140
  }
3007
3141
  ]
3008
3142
  }
3009
- ], za = [
3143
+ ], jn = [
3010
3144
  {
3011
3145
  menuCode: "dashboard",
3012
3146
  menuName: "仪表盘",
@@ -3054,20 +3188,20 @@ const _t = [
3054
3188
  }
3055
3189
  ]
3056
3190
  }
3057
- ], gt = Xe({
3058
- history: Je(),
3059
- routes: [..._t, ft],
3191
+ ], bt = Qe({
3192
+ history: et(),
3193
+ routes: [...gt, yt],
3060
3194
  scrollBehavior: () => ({ left: 0, top: 0 })
3061
- }), Fa = ["/login"];
3062
- gt.beforeEach(async (t, a, p) => {
3063
- const l = fe();
3064
- if (l.initTheme(), it())
3195
+ }), Wn = ["/login"];
3196
+ bt.beforeEach(async (t, o, p) => {
3197
+ const n = fe();
3198
+ if (n.initTheme(), dt())
3065
3199
  if (t.path === "/login")
3066
3200
  p({ path: "/" });
3067
3201
  else {
3068
- const s = ue();
3202
+ const s = me();
3069
3203
  s.isLoggedIn || (s.setUserInfo({
3070
- appId: Me(),
3204
+ appId: Se(),
3071
3205
  userId: "1",
3072
3206
  userName: "管理员",
3073
3207
  departmentName: "技术部",
@@ -3075,23 +3209,23 @@ gt.beforeEach(async (t, a, p) => {
3075
3209
  mobilePhone: "13800138000",
3076
3210
  positionName: "管理员",
3077
3211
  avatar: ""
3078
- }), ge().setMenuList(za)), t.name && t.meta.keepAlive && l.addCachedView(t.name), p();
3212
+ }), ge().setMenuList(jn)), t.name && t.meta.keepAlive && n.addCachedView(t.name), p();
3079
3213
  }
3080
3214
  else
3081
- Fa.includes(t.path) ? p() : p("/login");
3215
+ Wn.includes(t.path) ? p() : p("/login");
3082
3216
  });
3083
- function ul() {
3084
- const t = Xe({
3085
- history: Je(),
3086
- routes: [..._t, ft]
3217
+ function kl() {
3218
+ const t = Qe({
3219
+ history: et(),
3220
+ routes: [...gt, yt]
3087
3221
  });
3088
- gt.matcher = t.matcher;
3222
+ bt.matcher = t.matcher;
3089
3223
  }
3090
- function dl(t, a = {}) {
3091
- const p = a.indexPath || "/dashboard", l = a.logoSrc, s = {
3224
+ function wl(t, o = {}) {
3225
+ const p = o.indexPath || "/dashboard", n = o.logoSrc, s = {
3092
3226
  path: "/:pathMatch(.*)*",
3093
3227
  name: "CatchAll",
3094
- component: () => Promise.resolve().then(() => ht),
3228
+ component: () => Promise.resolve().then(() => ft),
3095
3229
  meta: {
3096
3230
  title: "404"
3097
3231
  }
@@ -3099,84 +3233,84 @@ function dl(t, a = {}) {
3099
3233
  return {
3100
3234
  path: "/",
3101
3235
  name: "Layout",
3102
- component: ce({
3236
+ component: le({
3103
3237
  name: "LayoutWrapper",
3104
3238
  render() {
3105
- return Et(vt, { logoSrc: l || Te("/vite.svg") });
3239
+ return zt(_t, { logoSrc: n || ze("/vite.svg") });
3106
3240
  }
3107
3241
  }),
3108
3242
  redirect: p,
3109
3243
  children: [...t, s]
3110
3244
  };
3111
3245
  }
3112
- function ml(t, a = {}) {
3113
- const p = a.base || bt();
3114
- return Xe({
3115
- history: Je(p),
3246
+ function xl(t, o = {}) {
3247
+ const p = o.base || wt();
3248
+ return Qe({
3249
+ history: et(p),
3116
3250
  routes: t,
3117
3251
  scrollBehavior: () => ({ left: 0, top: 0 })
3118
3252
  });
3119
3253
  }
3120
- const Da = ["login", "404", "403", "/login", "/404", "/403"];
3121
- function Aa(t, a) {
3122
- if (a.includes(t)) return !0;
3254
+ const qn = ["login", "404", "403", "/login", "/404", "/403"];
3255
+ function Hn(t, o) {
3256
+ if (o.includes(t)) return !0;
3123
3257
  const p = t.startsWith("/") ? t.slice(1) : t;
3124
- return a.includes(p);
3258
+ return o.includes(p);
3125
3259
  }
3126
- function pl(t, a = {}) {
3127
- const p = a.whiteList || Da;
3128
- t.beforeEach(async (l, s, d) => {
3129
- const i = fe(), h = ue(), _ = ge(), m = i.loginPath || a.loginPath || "/login";
3130
- if (i.initTheme(), rt())
3131
- if (l.path === m || l.name === "Login")
3260
+ function Cl(t, o = {}) {
3261
+ const p = o.whiteList || qn;
3262
+ t.beforeEach(async (n, s, d) => {
3263
+ const r = fe(), v = me(), _ = ge(), m = r.loginPath || o.loginPath || "/login";
3264
+ if (r.initTheme(), ut())
3265
+ if (n.path === m || n.name === "Login")
3132
3266
  d({ name: "Dashboard" });
3133
- else if (h.isLoggedIn) {
3267
+ else if (v.isLoggedIn) {
3134
3268
  if (!_.hasMenu)
3135
3269
  try {
3136
- const y = a.fetchMenu ? await a.fetchMenu() : await ot(a.appId);
3137
- _.setMenuList(y);
3138
- } catch (y) {
3139
- console.warn("补拉菜单失败:", y);
3270
+ const b = o.fetchMenu ? await o.fetchMenu() : await lt(o.appId);
3271
+ _.setMenuList(b);
3272
+ } catch (b) {
3273
+ console.warn("补拉菜单失败:", b);
3140
3274
  }
3141
- l.name && l.meta.keepAlive && i.addCachedView(l.name), d();
3275
+ n.name && n.meta.keepAlive && r.addCachedView(n.name), d();
3142
3276
  } else
3143
3277
  try {
3144
- if (a.fetchUserInfo) {
3145
- const y = await a.fetchUserInfo();
3146
- h.setUserInfo(y);
3278
+ if (o.fetchUserInfo) {
3279
+ const b = await o.fetchUserInfo();
3280
+ v.setUserInfo(b);
3147
3281
  } else {
3148
- const y = await kt();
3149
- h.setUserInfo(y);
3282
+ const b = await xt();
3283
+ v.setUserInfo(b);
3150
3284
  }
3151
- if (a.fetchMenu) {
3152
- const y = await a.fetchMenu();
3153
- _.setMenuList(y);
3285
+ if (o.fetchMenu) {
3286
+ const b = await o.fetchMenu();
3287
+ _.setMenuList(b);
3154
3288
  } else {
3155
- const y = await ot(a.appId);
3156
- _.setMenuList(y);
3289
+ const b = await lt(o.appId);
3290
+ _.setMenuList(b);
3157
3291
  }
3158
- a.onLoginSuccess && a.onLoginSuccess(), l.name && l.meta.keepAlive && i.addCachedView(l.name), d({ ...l, replace: !0 });
3159
- } catch (y) {
3160
- console.error("获取用户信息失败:", y), h.clearUserInfo(), _.clearMenu(), ct(), d({ name: "Login", query: { redirect: l.fullPath } });
3292
+ o.onLoginSuccess && o.onLoginSuccess(), n.name && n.meta.keepAlive && r.addCachedView(n.name), d({ ...n, replace: !0 });
3293
+ } catch (b) {
3294
+ console.error("获取用户信息失败:", b), v.clearUserInfo(), _.clearMenu(), mt(), d({ name: "Login", query: { redirect: n.fullPath } });
3161
3295
  }
3162
3296
  else
3163
- Aa(l.path, p) || l.name === "Login" || l.name === "NotFound" || l.name === "Forbidden" ? d() : d({ name: "Login", query: { redirect: l.fullPath } });
3297
+ Hn(n.path, p) || n.name === "Login" || n.name === "NotFound" || n.name === "Forbidden" ? d() : d({ name: "Login", query: { redirect: n.fullPath } });
3164
3298
  }), t.afterEach(() => {
3165
3299
  });
3166
3300
  }
3167
- var Ba = /* @__PURE__ */ ((t) => (t[t.ENABLED = 1] = "ENABLED", t[t.DISABLED = 0] = "DISABLED", t))(Ba || {}), Va = /* @__PURE__ */ ((t) => (t[t.UNKNOWN = 0] = "UNKNOWN", t[t.MALE = 1] = "MALE", t[t.FEMALE = 2] = "FEMALE", t))(Va || {}), Oa = /* @__PURE__ */ ((t) => (t[t.DIRECTORY = 0] = "DIRECTORY", t[t.MENU = 1] = "MENU", t[t.BUTTON = 2] = "BUTTON", t))(Oa || {});
3168
- const vl = {
3301
+ var Yn = /* @__PURE__ */ ((t) => (t[t.ENABLED = 1] = "ENABLED", t[t.DISABLED = 0] = "DISABLED", t))(Yn || {}), Gn = /* @__PURE__ */ ((t) => (t[t.UNKNOWN = 0] = "UNKNOWN", t[t.MALE = 1] = "MALE", t[t.FEMALE = 2] = "FEMALE", t))(Gn || {}), Xn = /* @__PURE__ */ ((t) => (t[t.DIRECTORY = 0] = "DIRECTORY", t[t.MENU = 1] = "MENU", t[t.BUTTON = 2] = "BUTTON", t))(Xn || {});
3302
+ const $l = {
3169
3303
  1: "启用",
3170
3304
  0: "禁用"
3171
- }, hl = {
3305
+ }, Ll = {
3172
3306
  0: "未知",
3173
3307
  1: "男",
3174
3308
  2: "女"
3175
- }, _l = {
3309
+ }, Ml = {
3176
3310
  0: "目录",
3177
3311
  1: "菜单",
3178
3312
  2: "按钮"
3179
- }, fl = [
3313
+ }, Sl = [
3180
3314
  {
3181
3315
  label: "启用",
3182
3316
  value: 1
@@ -3187,7 +3321,7 @@ const vl = {
3187
3321
  value: 0
3188
3322
  /* DISABLED */
3189
3323
  }
3190
- ], gl = [
3324
+ ], Il = [
3191
3325
  {
3192
3326
  label: "未知",
3193
3327
  value: 0
@@ -3203,7 +3337,7 @@ const vl = {
3203
3337
  value: 2
3204
3338
  /* FEMALE */
3205
3339
  }
3206
- ], yl = [
3340
+ ], El = [
3207
3341
  {
3208
3342
  label: "目录",
3209
3343
  value: 0
@@ -3219,49 +3353,49 @@ const vl = {
3219
3353
  value: 2
3220
3354
  /* BUTTON */
3221
3355
  }
3222
- ], bl = {
3223
- mounted(t, a) {
3224
- var i, h;
3225
- const p = ue(), l = ge();
3356
+ ], Nl = {
3357
+ mounted(t, o) {
3358
+ var r, v;
3359
+ const p = me(), n = ge();
3226
3360
  if (!p.isLoggedIn) {
3227
- (i = t.parentNode) == null || i.removeChild(t);
3361
+ (r = t.parentNode) == null || r.removeChild(t);
3228
3362
  return;
3229
3363
  }
3230
- const s = a.value, d = Array.isArray(s) ? s : [s];
3231
- l.hasPermission(d) || (h = t.parentNode) == null || h.removeChild(t);
3364
+ const s = o.value, d = Array.isArray(s) ? s : [s];
3365
+ n.hasPermission(d) || (v = t.parentNode) == null || v.removeChild(t);
3232
3366
  }
3233
3367
  };
3234
- async function kl(t) {
3235
- await wt(t.basePath);
3236
- const a = nt();
3237
- a && xt(a), Ct({
3368
+ async function Tl(t) {
3369
+ await Ct(t.basePath);
3370
+ const o = rt();
3371
+ o && $t(o), Lt({
3238
3372
  appId: t.appId,
3239
3373
  clientId: t.clientId,
3240
- apiBaseUrl: a || t.apiBaseUrl,
3374
+ apiBaseUrl: o || t.apiBaseUrl,
3241
3375
  basePath: t.basePath
3242
- }), t.basePath && Lt(t.basePath);
3243
- const p = typeof window < "u" && window.location.pathname.includes("/h5/"), l = t.appId || Me();
3244
- if (l && !p)
3376
+ }), t.basePath && Mt(t.basePath);
3377
+ const p = typeof window < "u" && window.location.pathname.includes("/h5/"), n = t.appId || Se();
3378
+ if (n && !p)
3245
3379
  try {
3246
3380
  const s = await Promise.race([
3247
- $t(l),
3381
+ St(n),
3248
3382
  new Promise((d) => setTimeout(() => d(null), 2e3))
3249
3383
  ]);
3250
- s && typeof s == "object" && Mt(s);
3384
+ s && typeof s == "object" && It(s);
3251
3385
  } catch (s) {
3252
3386
  console.warn("加载应用界面配置失败,使用内置默认", s);
3253
3387
  }
3254
- return Promise.resolve().then(() => Ot).then(({ useAppStore: s }) => {
3388
+ return Promise.resolve().then(() => Wt).then(({ useAppStore: s }) => {
3255
3389
  const d = s();
3256
3390
  t.appName && d.setAppName(t.appName), t.indexPath && d.setIndexPath(t.indexPath), t.loginPath && d.setLoginPath(t.loginPath);
3257
- }), t.locale && Promise.resolve().then(() => Pa).then(({ useLocaleStore: s }) => {
3391
+ }), t.locale && Promise.resolve().then(() => Kn).then(({ useLocaleStore: s }) => {
3258
3392
  s().changeLocale(t.locale);
3259
3393
  }), {
3260
3394
  config: {
3261
3395
  appName: t.appName || "XTO App",
3262
- appId: Me(),
3263
- clientId: dt(),
3264
- apiBaseUrl: nt(),
3396
+ appId: Se(),
3397
+ clientId: vt(),
3398
+ apiBaseUrl: rt(),
3265
3399
  basePath: t.basePath || "/",
3266
3400
  indexPath: t.indexPath || "/dashboard",
3267
3401
  loginPath: t.loginPath || "/login",
@@ -3270,47 +3404,49 @@ async function kl(t) {
3270
3404
  };
3271
3405
  }
3272
3406
  export {
3273
- fe as A,
3274
- tl as B,
3275
- ze as C,
3276
- sl as D,
3277
- nl as E,
3278
- Za as F,
3279
- Va as G,
3280
- js as H,
3281
- et as I,
3282
- ge as J,
3283
- ol as K,
3284
- vt as L,
3285
- Oa as M,
3286
- ue as N,
3287
- Ba as S,
3288
- Ja as T,
3289
- de as _,
3290
- fl as a,
3291
- yl as b,
3292
- Qa as c,
3293
- gl as d,
3294
- hl as e,
3295
- _l as f,
3296
- Sa as g,
3297
- lt as h,
3298
- ka as i,
3299
- vl as j,
3300
- dl as k,
3301
- ml as l,
3302
- al as m,
3303
- kl as n,
3304
- cl as o,
3305
- ll as p,
3306
- rl as q,
3307
- il as r,
3308
- ft as s,
3309
- za as t,
3310
- bl as u,
3311
- ul as v,
3312
- gt as w,
3313
- pl as x,
3314
- _t as y,
3315
- el as z
3407
+ gt as A,
3408
+ dl as B,
3409
+ fe as C,
3410
+ ml as D,
3411
+ Fe as E,
3412
+ il as F,
3413
+ Gn as G,
3414
+ Ys as H,
3415
+ pl as I,
3416
+ hl as J,
3417
+ ot as K,
3418
+ _t as L,
3419
+ Xn as M,
3420
+ ge as N,
3421
+ vl as O,
3422
+ me as P,
3423
+ Yn as S,
3424
+ cl as T,
3425
+ re as _,
3426
+ Sl as a,
3427
+ El as b,
3428
+ rl as c,
3429
+ ul as d,
3430
+ Il as e,
3431
+ Ll as f,
3432
+ Ml as g,
3433
+ Dn as h,
3434
+ En as i,
3435
+ ct as j,
3436
+ $l as k,
3437
+ ll as l,
3438
+ wl as m,
3439
+ xl as n,
3440
+ _l as o,
3441
+ Tl as p,
3442
+ bl as q,
3443
+ fl as r,
3444
+ gl as s,
3445
+ yl as t,
3446
+ yt as u,
3447
+ jn as v,
3448
+ Nl as w,
3449
+ kl as x,
3450
+ bt as y,
3451
+ Cl as z
3316
3452
  };