mamba-layout 0.37.0 → 0.38.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.css +1 -1
- package/dist/index.js +450 -446
- package/dist/layout.css +1 -1
- package/dist/layout.global.js +5 -5
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { getCurrentInstance as at, readonly as ot, ref as U, computed as C, unref as h, onActivated as st, onMounted as De, onUnmounted as Ne, watch as ye, defineComponent as N, openBlock as r, createElementBlock as v, normalizeClass as H, resolveComponent as
|
|
2
|
-
import { Fold as
|
|
1
|
+
import { getCurrentInstance as at, readonly as ot, ref as U, computed as C, unref as h, onActivated as st, onMounted as De, onUnmounted as Ne, watch as ye, defineComponent as N, openBlock as r, createElementBlock as v, normalizeClass as H, resolveComponent as E, Fragment as O, createBlock as k, resolveDynamicComponent as be, mergeProps as Be, withCtx as S, createCommentVNode as x, createElementVNode as p, toDisplayString as D, renderList as Q, withDirectives as rt, vShow as lt, createVNode as _, renderSlot as j, watchEffect as Re, Transition as Ie } from "vue";
|
|
2
|
+
import { Fold as Ue, ArrowDown as Ae, Moon as it, Sunny as ct, Expand as ut, User as dt, ArrowLeft as pt, ArrowRight as he, Clock as mt } from "@element-plus/icons-vue";
|
|
3
3
|
import { useRouter as Ke } from "vue-router";
|
|
4
|
-
import { createI18n as
|
|
4
|
+
import { createI18n as ht } from "vue-i18n";
|
|
5
5
|
function ge() {
|
|
6
6
|
const a = at();
|
|
7
7
|
return a ? a.appContext.config.globalProperties.$route : null;
|
|
8
8
|
}
|
|
9
|
-
const
|
|
9
|
+
const gt = 3600 * 24 * 7, _e = "UTC", Je = "timezone", ft = [
|
|
10
10
|
"UTC",
|
|
11
11
|
"Asia/Shanghai",
|
|
12
12
|
"Asia/Hong_Kong",
|
|
@@ -22,7 +22,7 @@ const ft = 3600 * 24 * 7, _e = "UTC", Je = "timezone", vt = [
|
|
|
22
22
|
} catch {
|
|
23
23
|
return;
|
|
24
24
|
}
|
|
25
|
-
},
|
|
25
|
+
}, V = {
|
|
26
26
|
get(a, e = null) {
|
|
27
27
|
const t = pe(), n = t == null ? void 0 : t.getItem(a.toUpperCase());
|
|
28
28
|
if (!n) return e;
|
|
@@ -36,7 +36,7 @@ const ft = 3600 * 24 * 7, _e = "UTC", Je = "timezone", vt = [
|
|
|
36
36
|
}
|
|
37
37
|
return e;
|
|
38
38
|
},
|
|
39
|
-
set(a, e, t =
|
|
39
|
+
set(a, e, t = gt) {
|
|
40
40
|
const n = pe(), s = {
|
|
41
41
|
value: e,
|
|
42
42
|
expire: t === null ? null : Date.now() + t * 1e3
|
|
@@ -47,8 +47,8 @@ const ft = 3600 * 24 * 7, _e = "UTC", Je = "timezone", vt = [
|
|
|
47
47
|
var a;
|
|
48
48
|
(a = pe()) == null || a.clear();
|
|
49
49
|
}
|
|
50
|
-
},
|
|
51
|
-
if (!
|
|
50
|
+
}, vt = (a) => typeof a == "object" && a !== null, xe = (a) => {
|
|
51
|
+
if (!vt(a) || Object.prototype.toString.call(a) !== "[object Object]") return !1;
|
|
52
52
|
const e = Object.getPrototypeOf(a);
|
|
53
53
|
return e === null || e === Object.prototype;
|
|
54
54
|
};
|
|
@@ -65,50 +65,50 @@ function Oe(a, e) {
|
|
|
65
65
|
}
|
|
66
66
|
function Fe() {
|
|
67
67
|
const a = typeof navigator > "u" ? "en-US" : navigator.language;
|
|
68
|
-
return String(
|
|
68
|
+
return String(V.get("locale", a)).includes("zh") ? "zh-CN" : "en-US";
|
|
69
69
|
}
|
|
70
70
|
const Ee = (a, e, t) => {
|
|
71
71
|
var n;
|
|
72
72
|
return ((n = e == null ? void 0 : e[t]) == null ? void 0 : n[a]) || "";
|
|
73
|
-
},
|
|
73
|
+
}, te = (a, e, t = "") => {
|
|
74
74
|
const n = a;
|
|
75
75
|
return Ee(e, n, Fe()) || t || Ee(e, n, "en-US");
|
|
76
|
-
},
|
|
76
|
+
}, ie = (a = "") => a.replace(/【.*】/, ""), He = (a, e, t) => {
|
|
77
77
|
var n, s, o, l, c;
|
|
78
|
-
for (const
|
|
79
|
-
const m = ((n =
|
|
80
|
-
if (((s =
|
|
81
|
-
return ((o =
|
|
82
|
-
if ((l =
|
|
78
|
+
for (const d of e) {
|
|
79
|
+
const m = ((n = d.path) == null ? void 0 : n.replace(/\/:(\w+)/g, "/([^/]+)")) || "", i = new RegExp(`^${m}$`);
|
|
80
|
+
if (((s = d.path) == null ? void 0 : s.toLowerCase()) === a || i.test(a))
|
|
81
|
+
return ((o = d.meta) == null ? void 0 : o.visible) === "0" && (t == null ? void 0 : t.path) || "";
|
|
82
|
+
if ((l = d.children) != null && l.length) {
|
|
83
83
|
const g = He(
|
|
84
84
|
a,
|
|
85
|
-
|
|
86
|
-
((c =
|
|
85
|
+
d.children,
|
|
86
|
+
((c = d.meta) == null ? void 0 : c.visible) === "1" ? d : t
|
|
87
87
|
);
|
|
88
88
|
if (g) return g;
|
|
89
89
|
}
|
|
90
90
|
}
|
|
91
91
|
return "";
|
|
92
|
-
},
|
|
92
|
+
}, yt = (a, e) => {
|
|
93
93
|
const t = a.resolve(e);
|
|
94
94
|
if (!(t != null && t.name)) return !1;
|
|
95
95
|
const n = String(t.name).split("-").filter((o) => !!o && o !== "index"), s = t.path.split("-").join("/").split("/").filter(Boolean);
|
|
96
96
|
return n.length === s.length && n.every((o, l) => o === s[l]);
|
|
97
|
-
},
|
|
97
|
+
}, ne = (a) => typeof a == "string" && Qe(a) ? a : "", Qe = (a) => {
|
|
98
98
|
try {
|
|
99
99
|
return new Intl.DateTimeFormat("en-US", { timeZone: a }).format(/* @__PURE__ */ new Date()), !0;
|
|
100
100
|
} catch {
|
|
101
101
|
return !1;
|
|
102
102
|
}
|
|
103
|
-
}, ze = () =>
|
|
104
|
-
|
|
105
|
-
),
|
|
106
|
-
function
|
|
107
|
-
const e =
|
|
108
|
-
e && (Ce.value = e,
|
|
103
|
+
}, ze = () => ne(Intl.DateTimeFormat().resolvedOptions().timeZone) || _e, Ce = U(
|
|
104
|
+
ne(V.get(Je)) || ze()
|
|
105
|
+
), bt = () => ot(Ce);
|
|
106
|
+
function At(a) {
|
|
107
|
+
const e = ne(a);
|
|
108
|
+
e && (Ce.value = e, V.set(Je, e, null));
|
|
109
109
|
}
|
|
110
|
-
const
|
|
111
|
-
const e =
|
|
110
|
+
const _t = (a) => {
|
|
111
|
+
const e = ne(a) || _e, t = Le.get(e);
|
|
112
112
|
if (t) return t;
|
|
113
113
|
const n = new Intl.DateTimeFormat("en-US", {
|
|
114
114
|
timeZone: e,
|
|
@@ -121,8 +121,8 @@ const Ct = (a) => {
|
|
|
121
121
|
hourCycle: "h23"
|
|
122
122
|
});
|
|
123
123
|
return Le.set(e, n), n;
|
|
124
|
-
},
|
|
125
|
-
const t =
|
|
124
|
+
}, Ct = (a, e) => _t(e).formatToParts(a).reduce((n, s) => (s.type !== "literal" && (n[s.type] = Number(s.value)), n), {}), St = (a, e = /* @__PURE__ */ new Date()) => {
|
|
125
|
+
const t = ne(a) || _e, n = Ct(e, t), s = Date.UTC(
|
|
126
126
|
n.year || 0,
|
|
127
127
|
(n.month || 1) - 1,
|
|
128
128
|
n.day || 1,
|
|
@@ -133,13 +133,13 @@ const Ct = (a) => {
|
|
|
133
133
|
);
|
|
134
134
|
return Math.round((s - e.getTime()) / 6e4);
|
|
135
135
|
}, Ze = (a, e = /* @__PURE__ */ new Date()) => {
|
|
136
|
-
const t =
|
|
136
|
+
const t = St(a, e), n = t >= 0 ? "+" : "-", s = Math.abs(t), o = Math.floor(s / 60), l = s % 60;
|
|
137
137
|
return `UTC${n}${String(o).padStart(2, "0")}:${String(
|
|
138
138
|
l
|
|
139
139
|
).padStart(2, "0")}`;
|
|
140
|
-
}, Pt = (a, e = /* @__PURE__ */ new Date()) => `${a} (${Ze(a, e)})`,
|
|
140
|
+
}, Pt = (a, e = /* @__PURE__ */ new Date()) => `${a} (${Ze(a, e)})`, wt = (a = /* @__PURE__ */ new Date()) => {
|
|
141
141
|
const e = new Set(
|
|
142
|
-
[ze(), ...
|
|
142
|
+
[ze(), ...ft, Ce.value].filter(
|
|
143
143
|
Qe
|
|
144
144
|
)
|
|
145
145
|
);
|
|
@@ -151,69 +151,69 @@ const Ct = (a) => {
|
|
|
151
151
|
offset: n
|
|
152
152
|
};
|
|
153
153
|
});
|
|
154
|
-
},
|
|
154
|
+
}, ee = U("light");
|
|
155
155
|
function je() {
|
|
156
156
|
const a = "theme", e = "(prefers-color-scheme: dark)", t = U(!1);
|
|
157
157
|
let n = !1;
|
|
158
158
|
const s = (f) => f === "dark" || f === "light" ? f : null, o = () => typeof window > "u" || typeof window.matchMedia != "function" ? "light" : window.matchMedia(e).matches ? "dark" : "light", l = (f) => {
|
|
159
|
-
const A = s(
|
|
159
|
+
const A = s(V.get(a, null));
|
|
160
160
|
return A ? (t.value = !0, A) : f || o();
|
|
161
161
|
}, c = (f) => {
|
|
162
162
|
typeof document > "u" || document.documentElement.classList.toggle("dark", f === "dark");
|
|
163
|
-
},
|
|
163
|
+
}, d = (f) => {
|
|
164
164
|
const A = l(f);
|
|
165
|
-
return
|
|
165
|
+
return ee.value = A, c(A), n = !0, A;
|
|
166
166
|
}, m = (f, A) => {
|
|
167
|
-
|
|
167
|
+
ee.value = f, c(f), (A == null ? void 0 : A.persist) !== !1 && (V.set(a, f, null), t.value = !0);
|
|
168
168
|
}, i = () => {
|
|
169
|
-
m(
|
|
169
|
+
m(ee.value === "dark" ? "light" : "dark");
|
|
170
170
|
}, y = (f) => {
|
|
171
171
|
if (!n) {
|
|
172
|
-
|
|
172
|
+
d(f);
|
|
173
173
|
return;
|
|
174
174
|
}
|
|
175
175
|
!t.value && f && m(f, { persist: !1 });
|
|
176
|
-
}, g = C(() =>
|
|
176
|
+
}, g = C(() => ee.value === "dark");
|
|
177
177
|
return {
|
|
178
|
-
theme:
|
|
178
|
+
theme: ee,
|
|
179
179
|
isDark: g,
|
|
180
|
-
initTheme:
|
|
180
|
+
initTheme: d,
|
|
181
181
|
setTheme: m,
|
|
182
182
|
toggleTheme: i,
|
|
183
183
|
syncThemeFromSetting: y
|
|
184
184
|
};
|
|
185
185
|
}
|
|
186
|
-
const
|
|
186
|
+
const Tt = () => typeof location > "u" ? "" : location.href, qe = (a) => (a == null ? void 0 : a.loginPath) || `/login?redirect=${encodeURIComponent(Tt())}`, ce = (a) => {
|
|
187
187
|
typeof location > "u" || (location.href = qe(a));
|
|
188
|
-
},
|
|
188
|
+
}, kt = (a) => (a == null ? void 0 : a.userCenterPath) || "/usercenter/home", It = (a) => {
|
|
189
189
|
var o;
|
|
190
190
|
const e = a.themeColor, t = {};
|
|
191
191
|
if (e)
|
|
192
192
|
for (const l in e) {
|
|
193
193
|
if (!e[l]) continue;
|
|
194
194
|
const c = "--layout-" + l.replace(/([A-Z])/g, "-$1").toLocaleLowerCase();
|
|
195
|
-
t[c] = e[l], l == "colorPrimary" &&
|
|
195
|
+
t[c] = e[l], l == "colorPrimary" && Lt(e[l]);
|
|
196
196
|
}
|
|
197
197
|
let n = document.getElementById("layout-style");
|
|
198
198
|
n && ((o = n.parentNode) == null || o.removeChild(n)), n = document.createElement("style"), n.id = "layout-style", document.head.appendChild(n);
|
|
199
199
|
const s = Object.keys(t).map((l) => l + ":" + t[l]).join(";");
|
|
200
200
|
n.innerHTML = `html:root{${s}}`;
|
|
201
201
|
};
|
|
202
|
-
function
|
|
202
|
+
function Lt(a) {
|
|
203
203
|
var s;
|
|
204
204
|
let e = document.getElementById("primary-style");
|
|
205
205
|
if (a == "theme-default" && e) {
|
|
206
206
|
(s = e.parentNode) == null || s.removeChild(e);
|
|
207
207
|
return;
|
|
208
208
|
}
|
|
209
|
-
const t =
|
|
209
|
+
const t = xt(a);
|
|
210
210
|
e || (e = document.createElement("style"), e.id = "primary-style", document.head.appendChild(e));
|
|
211
211
|
const n = Object.keys(t).map((o) => o + ":" + t[o]).join(";");
|
|
212
212
|
e.innerHTML = `html:root{${n}}`;
|
|
213
213
|
}
|
|
214
|
-
function
|
|
215
|
-
var
|
|
216
|
-
const e = ((
|
|
214
|
+
function xt(a) {
|
|
215
|
+
var d;
|
|
216
|
+
const e = ((d = a.match(/\d+/g)) == null ? void 0 : d.map(Number)) || [], [t, n, s] = e, o = `rgb(${t}, ${n}, ${s})`, l = (m) => {
|
|
217
217
|
const i = m / 100, y = Math.min(255, t + (255 - t) * i), g = Math.min(255, n + (255 - n) * i), f = Math.min(255, s + (255 - s) * i);
|
|
218
218
|
return `rgb(${y.toFixed(1)}, ${g.toFixed(1)}, ${f.toFixed(1)})`;
|
|
219
219
|
}, c = (m) => {
|
|
@@ -238,66 +238,66 @@ const fe = U({
|
|
|
238
238
|
tabs: "tab",
|
|
239
239
|
pageType: "common"
|
|
240
240
|
});
|
|
241
|
-
function
|
|
241
|
+
function K() {
|
|
242
242
|
return fe;
|
|
243
243
|
}
|
|
244
|
-
const
|
|
245
|
-
const e =
|
|
244
|
+
const Et = (a) => {
|
|
245
|
+
const e = K(), t = a && h(a) || {};
|
|
246
246
|
if (!(e != null && e.value)) return t;
|
|
247
247
|
fe.value = Oe(e.value, t);
|
|
248
248
|
const { syncThemeFromSetting: n } = je();
|
|
249
|
-
n(),
|
|
250
|
-
},
|
|
249
|
+
n(), It(fe.value);
|
|
250
|
+
}, Mt = 1024, Dt = U(), ve = U([]), oe = U(), me = U(""), se = U(""), Nt = U(""), re = K(), Ye = U(!0), We = U(!1), Bt = U(), Rt = () => {
|
|
251
251
|
const a = () => {
|
|
252
252
|
var o;
|
|
253
|
-
return ((o =
|
|
253
|
+
return ((o = re.value.menus) == null ? void 0 : o.filter((l) => {
|
|
254
254
|
var c;
|
|
255
|
-
return ((c = l.meta) == null ? void 0 : c.appId) ==
|
|
255
|
+
return ((c = l.meta) == null ? void 0 : c.appId) == se.value;
|
|
256
256
|
})) || [];
|
|
257
|
-
}, e = (o, l, c = 0,
|
|
258
|
-
var A,
|
|
257
|
+
}, e = (o, l, c = 0, d) => {
|
|
258
|
+
var A, w, I, J;
|
|
259
259
|
const m = ge();
|
|
260
260
|
if (!m) return;
|
|
261
|
-
const i =
|
|
261
|
+
const i = d ? [...d] : [], y = [], g = [];
|
|
262
262
|
for (const L in o) {
|
|
263
263
|
[...i], o[L];
|
|
264
|
-
const
|
|
265
|
-
|
|
264
|
+
const R = ((A = m.meta) == null ? void 0 : A.parent) || m.path, z = ((w = o[L].path) == null ? void 0 : w.replace(/\/:(\w+)/g, "/([^/]+)")) || "", q = new RegExp(`^${z}$`);
|
|
265
|
+
R == o[L].path ? y.push({ index: L, item: o[L] }) : q.test(R) && g.push({ index: L, item: o[L] });
|
|
266
266
|
}
|
|
267
267
|
const f = y.length > 0 ? y : g;
|
|
268
268
|
if (f.length > 0) {
|
|
269
|
-
const L = f[0],
|
|
270
|
-
|
|
269
|
+
const L = f[0], R = [...i];
|
|
270
|
+
R[c] = L.item, oe.value = {
|
|
271
271
|
...L.item,
|
|
272
|
-
paths:
|
|
273
|
-
},
|
|
272
|
+
paths: R.slice(0, c + 1)
|
|
273
|
+
}, se.value = ((I = L.item.meta) == null ? void 0 : I.appId) || "", Dt.value = l;
|
|
274
274
|
}
|
|
275
275
|
for (const L in o)
|
|
276
|
-
if (o[L].children && ((
|
|
277
|
-
const
|
|
278
|
-
|
|
276
|
+
if (o[L].children && ((J = o[L].children) != null && J.length)) {
|
|
277
|
+
const R = o[L].children || [], z = [...i];
|
|
278
|
+
z[c] = o[L], e(R, o[L], c + 1, z);
|
|
279
279
|
}
|
|
280
|
-
|
|
280
|
+
Nt.value = m.meta.parentPath || He(
|
|
281
281
|
m.path.toLowerCase(),
|
|
282
|
-
|
|
282
|
+
re.value.menus || []
|
|
283
283
|
) || m.path;
|
|
284
284
|
}, t = () => {
|
|
285
|
-
var
|
|
286
|
-
e(
|
|
285
|
+
var d, m, i, y, g, f, A, w, I, J;
|
|
286
|
+
e(re.value.menus || []), se.value || (se.value = ((i = (m = (d = re.value.menus) == null ? void 0 : d.find(
|
|
287
287
|
(L) => {
|
|
288
|
-
var
|
|
289
|
-
return (
|
|
288
|
+
var R;
|
|
289
|
+
return (R = L.path) == null ? void 0 : R.startsWith(me.value);
|
|
290
290
|
}
|
|
291
291
|
)) == null ? void 0 : m.meta) == null ? void 0 : i.appId) || "");
|
|
292
|
-
const o = ((y =
|
|
293
|
-
|
|
294
|
-
), c = ((A =
|
|
292
|
+
const o = ((y = oe.value) == null ? void 0 : y.paths) || [], l = ie(
|
|
293
|
+
te(((f = (g = oe.value) == null ? void 0 : g.meta) == null ? void 0 : f.translations) || {}, "name")
|
|
294
|
+
), c = ((A = oe.value) == null ? void 0 : A.path) == ((w = o[1]) == null ? void 0 : w.path) ? "" : ie(te(((J = (I = o[1]) == null ? void 0 : I.meta) == null ? void 0 : J.translations) || {}, "name"));
|
|
295
295
|
document.title = l + (c ? ` - ${c}` : "");
|
|
296
296
|
}, n = () => {
|
|
297
297
|
const o = ge();
|
|
298
298
|
me.value = "/" + (o.path.split("/").filter(Boolean).shift() || ""), t(), ve.value = a();
|
|
299
299
|
}, s = () => {
|
|
300
|
-
const o = window.innerWidth <
|
|
300
|
+
const o = window.innerWidth < Mt;
|
|
301
301
|
We.value = o, Ye.value = !o;
|
|
302
302
|
};
|
|
303
303
|
s(), n(), st(() => {
|
|
@@ -311,7 +311,7 @@ const Mt = (a) => {
|
|
|
311
311
|
() => void (ve.value = a())
|
|
312
312
|
);
|
|
313
313
|
};
|
|
314
|
-
function
|
|
314
|
+
function ae() {
|
|
315
315
|
return {
|
|
316
316
|
initLayoutState: Rt,
|
|
317
317
|
menus: ve,
|
|
@@ -322,22 +322,22 @@ function te() {
|
|
|
322
322
|
sideOpen: Ye,
|
|
323
323
|
isMobile: We,
|
|
324
324
|
// currentEndParentRoute,
|
|
325
|
-
leftScrollRef:
|
|
325
|
+
leftScrollRef: Bt
|
|
326
326
|
};
|
|
327
327
|
}
|
|
328
|
-
const
|
|
328
|
+
const Ut = { class: "menu-item-icon" }, Kt = ["innerHTML"], Jt = /* @__PURE__ */ N({
|
|
329
329
|
__name: "MenuItemIcon",
|
|
330
330
|
props: {
|
|
331
331
|
icon: { default: "metisicon-yingyong" }
|
|
332
332
|
},
|
|
333
333
|
setup(a) {
|
|
334
|
-
const e = a, t = C(() => e.icon || "metisicon-yingyong"), n = /^\s*<svg[\s>]/i, s = /\son[a-z]+\s*=\s*("[^"]*"|'[^']*'|[^\s>]+)/gi, o = /<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi, l = /\s(?:href|xlink:href)\s*=\s*("\s*javascript:[^"]*"|'\s*javascript:[^']*')/gi, c = (i) => !!i && n.test(i),
|
|
335
|
-
return (i, y) => (r(), v("div",
|
|
334
|
+
const e = a, t = C(() => e.icon || "metisicon-yingyong"), n = /^\s*<svg[\s>]/i, s = /\son[a-z]+\s*=\s*("[^"]*"|'[^']*'|[^\s>]+)/gi, o = /<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi, l = /\s(?:href|xlink:href)\s*=\s*("\s*javascript:[^"]*"|'\s*javascript:[^']*')/gi, c = (i) => !!i && n.test(i), d = (i) => !i || !c(i) ? "" : i.replace(o, "").replace(s, "").replace(l, ""), m = C(() => d(t.value));
|
|
335
|
+
return (i, y) => (r(), v("div", Ut, [
|
|
336
336
|
c(t.value) ? (r(), v("span", {
|
|
337
337
|
key: 0,
|
|
338
338
|
class: "menu-item-icon__svg",
|
|
339
339
|
innerHTML: m.value
|
|
340
|
-
}, null, 8,
|
|
340
|
+
}, null, 8, Kt)) : (r(), v("i", {
|
|
341
341
|
key: 1,
|
|
342
342
|
class: H(t.value)
|
|
343
343
|
}, null, 2))
|
|
@@ -348,7 +348,7 @@ const Kt = { class: "menu-item-icon" }, Jt = ["innerHTML"], Ot = /* @__PURE__ */
|
|
|
348
348
|
for (const [n, s] of e)
|
|
349
349
|
t[n] = s;
|
|
350
350
|
return t;
|
|
351
|
-
}, Xe = /* @__PURE__ */ B(
|
|
351
|
+
}, Xe = /* @__PURE__ */ B(Jt, [["__scopeId", "data-v-ed060390"]]), Ot = { key: 0 }, Ft = /* @__PURE__ */ N({
|
|
352
352
|
__name: "AsideSubMenuItem",
|
|
353
353
|
props: {
|
|
354
354
|
menu: {
|
|
@@ -369,10 +369,10 @@ const Kt = { class: "menu-item-icon" }, Jt = ["innerHTML"], Ot = /* @__PURE__ */
|
|
|
369
369
|
return ((g = y.meta) == null ? void 0 : g.visible) != "0";
|
|
370
370
|
});
|
|
371
371
|
}
|
|
372
|
-
), n =
|
|
372
|
+
), n = K(), s = C(() => n.value.defaultParentActive || ""), o = C(() => n.value.currentTabPath || ""), l = Ke(), c = C(() => {
|
|
373
373
|
var i;
|
|
374
|
-
return e.level == 1 && !
|
|
375
|
-
}),
|
|
374
|
+
return e.level == 1 && !yt(l, e.menu.path || "") ? "div" : /^http/.test(e.menu.path || "") || !((i = e.menu.path) != null && i.startsWith(o.value)) ? "a" : "router-link";
|
|
375
|
+
}), d = C(() => {
|
|
376
376
|
var i;
|
|
377
377
|
return /^http/.test(e.menu.path || "") || !((i = e.menu.path) != null && i.startsWith(o.value)) ? {
|
|
378
378
|
href: e.menu.path || ""
|
|
@@ -387,20 +387,19 @@ const Kt = { class: "menu-item-icon" }, Jt = ["innerHTML"], Ot = /* @__PURE__ */
|
|
|
387
387
|
);
|
|
388
388
|
return (i, y) => {
|
|
389
389
|
var f, A;
|
|
390
|
-
const g =
|
|
391
|
-
return r(), v(
|
|
390
|
+
const g = E("AsideSubMenuItem", !0);
|
|
391
|
+
return r(), v(O, null, [
|
|
392
392
|
(r(), k(be(c.value), Be({
|
|
393
393
|
class: ["pt-1 pb-1 pl-3 pr-3 flex items-center gap-2 rounded-md", [
|
|
394
394
|
e.menu.path == s.value ? "bg-[var(--ui-sidebar-active-bg,var(--el-fill-color))] text-[var(--ui-sidebar-active-fg)] font-medium" : "text-[var(--ui-sidebar-foreground)]",
|
|
395
395
|
(f = t.value) != null && f.length ? " h-7" : " h-9.5 cursor-pointer hover:bg-[var(--ui-sidebar-hover-bg)]"
|
|
396
396
|
]],
|
|
397
397
|
style: { paddingLeft: "calc(var(--spacing) * 3)" }
|
|
398
|
-
},
|
|
398
|
+
}, d.value), {
|
|
399
399
|
default: S(() => {
|
|
400
|
-
var
|
|
400
|
+
var w, I, J, L;
|
|
401
401
|
return [
|
|
402
|
-
|
|
403
|
-
(P = t.value) != null && P.length ? x("", !0) : (r(), k(Xe, {
|
|
402
|
+
(w = t.value) != null && w.length ? x("", !0) : (r(), k(Xe, {
|
|
404
403
|
key: 0,
|
|
405
404
|
icon: m.value,
|
|
406
405
|
class: H(["text-md", [
|
|
@@ -409,14 +408,14 @@ const Kt = { class: "menu-item-icon" }, Jt = ["innerHTML"], Ot = /* @__PURE__ */
|
|
|
409
408
|
}, null, 8, ["icon", "class"])),
|
|
410
409
|
p("div", {
|
|
411
410
|
class: H(["truncate", (I = t.value) != null && I.length ? "text-xs text-gray-400" : ""])
|
|
412
|
-
},
|
|
411
|
+
}, D(h(ie)(h(te)(((L = (J = e.menu) == null ? void 0 : J.meta) == null ? void 0 : L.translations) || {}, "name"))), 3)
|
|
413
412
|
];
|
|
414
413
|
}),
|
|
415
414
|
_: 1
|
|
416
415
|
}, 16, ["class"])),
|
|
417
|
-
(A = t.value) != null && A.length ? (r(), v("div",
|
|
418
|
-
(r(!0), v(
|
|
419
|
-
menu:
|
|
416
|
+
(A = t.value) != null && A.length ? (r(), v("div", Ot, [
|
|
417
|
+
(r(!0), v(O, null, Q(t.value, (w, I) => (r(), k(g, {
|
|
418
|
+
menu: w,
|
|
420
419
|
key: I,
|
|
421
420
|
level: e.level + 1
|
|
422
421
|
}, null, 8, ["menu", "level"]))), 128))
|
|
@@ -424,7 +423,7 @@ const Kt = { class: "menu-item-icon" }, Jt = ["innerHTML"], Ot = /* @__PURE__ */
|
|
|
424
423
|
], 64);
|
|
425
424
|
};
|
|
426
425
|
}
|
|
427
|
-
}),
|
|
426
|
+
}), Ht = { class: "h-full" }, Qt = {
|
|
428
427
|
key: 0,
|
|
429
428
|
class: ""
|
|
430
429
|
}, Ge = /* @__PURE__ */ N({
|
|
@@ -439,30 +438,30 @@ const Kt = { class: "menu-item-icon" }, Jt = ["innerHTML"], Ot = /* @__PURE__ */
|
|
|
439
438
|
const e = a;
|
|
440
439
|
return (t, n) => {
|
|
441
440
|
var s;
|
|
442
|
-
return
|
|
443
|
-
(s = e.menus) != null && s.length ? (r(), v("div",
|
|
444
|
-
(r(!0), v(
|
|
441
|
+
return rt((r(), v("div", Ht, [
|
|
442
|
+
(s = e.menus) != null && s.length ? (r(), v("div", Qt, [
|
|
443
|
+
(r(!0), v(O, null, Q(e.menus.filter((o) => {
|
|
445
444
|
var l;
|
|
446
445
|
return ((l = o.meta) == null ? void 0 : l.visible) != "0";
|
|
447
|
-
}), (o, l) => (r(), k(
|
|
446
|
+
}), (o, l) => (r(), k(Ft, {
|
|
448
447
|
key: l,
|
|
449
448
|
menu: o
|
|
450
449
|
}, null, 8, ["menu"]))), 128))
|
|
451
450
|
])) : x("", !0)
|
|
452
451
|
], 512)), [
|
|
453
|
-
[
|
|
452
|
+
[lt, e.menus.length]
|
|
454
453
|
]);
|
|
455
454
|
};
|
|
456
455
|
}
|
|
457
|
-
}),
|
|
456
|
+
}), zt = {
|
|
458
457
|
key: 0,
|
|
459
458
|
class: "aside-bar__mobile-head flex justify-between items-center pt-4 pb-4 px-4"
|
|
460
|
-
},
|
|
459
|
+
}, Zt = { class: "p-3" }, jt = /* @__PURE__ */ N({
|
|
461
460
|
__name: "AsideBar",
|
|
462
461
|
setup(a) {
|
|
463
|
-
const { menus: e, isMobile: t, sideOpen: n } =
|
|
462
|
+
const { menus: e, isMobile: t, sideOpen: n } = ae(), s = () => void (n.value = !n.value);
|
|
464
463
|
return (o, l) => {
|
|
465
|
-
const c =
|
|
464
|
+
const c = E("el-icon"), d = E("el-scrollbar");
|
|
466
465
|
return h(e).length && !o.$route.meta.hideSidebar ? (r(), v("div", {
|
|
467
466
|
key: 0,
|
|
468
467
|
class: H(["aside-bar flex flex-col h-full min-h-0 w-64 min-width-50", [
|
|
@@ -470,34 +469,34 @@ const Kt = { class: "menu-item-icon" }, Jt = ["innerHTML"], Ot = /* @__PURE__ */
|
|
|
470
469
|
h(n) ? "translate-x-[0px]" : "translate-x-[-100%]"
|
|
471
470
|
]])
|
|
472
471
|
}, [
|
|
473
|
-
h(t) ? (r(), v("div",
|
|
472
|
+
h(t) ? (r(), v("div", zt, [
|
|
474
473
|
p("div", {
|
|
475
474
|
class: "aside-bar__close text-lg cursor-pointer p-2 leading-4",
|
|
476
475
|
onClick: s
|
|
477
476
|
}, [
|
|
478
477
|
_(c, null, {
|
|
479
478
|
default: S(() => [
|
|
480
|
-
_(h(
|
|
479
|
+
_(h(Ue))
|
|
481
480
|
]),
|
|
482
481
|
_: 1
|
|
483
482
|
})
|
|
484
483
|
])
|
|
485
484
|
])) : x("", !0),
|
|
486
|
-
_(
|
|
485
|
+
_(d, { ref: "leftScrollRef" }, {
|
|
487
486
|
default: S(() => [
|
|
488
|
-
p("div",
|
|
487
|
+
p("div", Zt, [
|
|
489
488
|
_(Ge, { menus: h(e) }, null, 8, ["menus"])
|
|
490
489
|
])
|
|
491
490
|
]),
|
|
492
491
|
_: 1
|
|
493
492
|
}, 512),
|
|
494
|
-
|
|
493
|
+
j(o.$slots, "sidebar-foot", {}, void 0, !0)
|
|
495
494
|
], 2)) : x("", !0);
|
|
496
495
|
};
|
|
497
496
|
}
|
|
498
|
-
}),
|
|
497
|
+
}), qt = /* @__PURE__ */ B(jt, [["__scopeId", "data-v-ff960d0f"]]);
|
|
499
498
|
function Ve() {
|
|
500
|
-
const a =
|
|
499
|
+
const a = K(), e = C(() => a.value.appList || []);
|
|
501
500
|
return {
|
|
502
501
|
appList: e,
|
|
503
502
|
getAppPath: (s) => (s == null ? void 0 : s.path) || "",
|
|
@@ -510,24 +509,24 @@ function Ve() {
|
|
|
510
509
|
const $e = (a, e) => a.reduce(
|
|
511
510
|
(t, n) => t || (n.appId === e ? n : $e(n.children || [], e)),
|
|
512
511
|
void 0
|
|
513
|
-
),
|
|
512
|
+
), Yt = {
|
|
514
513
|
key: 0,
|
|
515
514
|
class: "app-select"
|
|
516
|
-
},
|
|
515
|
+
}, Wt = ["href"], Xt = {
|
|
517
516
|
key: 0,
|
|
518
517
|
class: "app-select__dropdown"
|
|
519
|
-
},
|
|
518
|
+
}, Gt = ["href"], Vt = { class: "app-select__dropdown-icon text-xl" }, $t = { class: "app-select__dropdown-desc" }, en = /* @__PURE__ */ N({
|
|
520
519
|
__name: "AppSelect",
|
|
521
520
|
setup(a) {
|
|
522
|
-
const e =
|
|
521
|
+
const e = K(), t = C(() => e.value.currentAppId || ""), { appList: n, getAppPath: s } = Ve(), o = (l) => {
|
|
523
522
|
var c;
|
|
524
|
-
return t.value === l.appId || !!((c = l.children) != null && c.some((
|
|
523
|
+
return t.value === l.appId || !!((c = l.children) != null && c.some((d) => d.appId === t.value));
|
|
525
524
|
};
|
|
526
525
|
return (l, c) => {
|
|
527
526
|
var m;
|
|
528
|
-
const
|
|
529
|
-
return (m = h(n)) != null && m.length ? (r(), v("div",
|
|
530
|
-
(r(!0), v(
|
|
527
|
+
const d = E("el-icon");
|
|
528
|
+
return (m = h(n)) != null && m.length ? (r(), v("div", Yt, [
|
|
529
|
+
(r(!0), v(O, null, Q(h(n), (i) => {
|
|
531
530
|
var y, g;
|
|
532
531
|
return r(), v("div", {
|
|
533
532
|
key: i.appId,
|
|
@@ -539,39 +538,39 @@ const $e = (a, e) => a.reduce(
|
|
|
539
538
|
}]),
|
|
540
539
|
href: h(s)(i) || void 0
|
|
541
540
|
}, [
|
|
542
|
-
p("span", null,
|
|
543
|
-
(y = i.children) != null && y.length ? (r(), k(
|
|
541
|
+
p("span", null, D(i.name), 1),
|
|
542
|
+
(y = i.children) != null && y.length ? (r(), k(d, { key: 0 }, {
|
|
544
543
|
default: S(() => [
|
|
545
544
|
_(h(Ae))
|
|
546
545
|
]),
|
|
547
546
|
_: 1
|
|
548
547
|
})) : x("", !0)
|
|
549
|
-
], 10,
|
|
550
|
-
(g = i.children) != null && g.length ? (r(), v("div",
|
|
551
|
-
(r(!0), v(
|
|
548
|
+
], 10, Wt),
|
|
549
|
+
(g = i.children) != null && g.length ? (r(), v("div", Xt, [
|
|
550
|
+
(r(!0), v(O, null, Q(i.children, (f) => (r(), v("a", {
|
|
552
551
|
key: f.appId,
|
|
553
552
|
class: H(["app-select__dropdown-item", {
|
|
554
553
|
"app-select__dropdown-item--active": o(f)
|
|
555
554
|
}]),
|
|
556
555
|
href: h(s)(f) || void 0
|
|
557
556
|
}, [
|
|
558
|
-
p("span",
|
|
557
|
+
p("span", Vt, [
|
|
559
558
|
p("i", {
|
|
560
559
|
class: H(f.icon || "metisicon-moxingku")
|
|
561
560
|
}, null, 2)
|
|
562
561
|
]),
|
|
563
562
|
p("div", null, [
|
|
564
|
-
p("div", null,
|
|
565
|
-
p("div",
|
|
563
|
+
p("div", null, D(f.name), 1),
|
|
564
|
+
p("div", $t, D(f.desc), 1)
|
|
566
565
|
])
|
|
567
|
-
], 10,
|
|
566
|
+
], 10, Gt))), 128))
|
|
568
567
|
])) : x("", !0)
|
|
569
568
|
]);
|
|
570
569
|
}), 128))
|
|
571
570
|
])) : x("", !0);
|
|
572
571
|
};
|
|
573
572
|
}
|
|
574
|
-
}),
|
|
573
|
+
}), tn = /* @__PURE__ */ B(en, [["__scopeId", "data-v-ee0588ee"]]), nn = /* @__PURE__ */ N({
|
|
575
574
|
__name: "NavIconBtn",
|
|
576
575
|
props: {
|
|
577
576
|
tag: { default: "button" },
|
|
@@ -584,24 +583,24 @@ const $e = (a, e) => a.reduce(
|
|
|
584
583
|
class: H(["nav-icon-btn", { "nav-icon-btn--icon-only": a.iconOnly }])
|
|
585
584
|
}, {
|
|
586
585
|
default: S(() => [
|
|
587
|
-
|
|
586
|
+
j(e.$slots, "default", {}, void 0, !0)
|
|
588
587
|
]),
|
|
589
588
|
_: 3
|
|
590
589
|
}, 8, ["type", "class"]));
|
|
591
590
|
}
|
|
592
|
-
}),
|
|
591
|
+
}), $ = /* @__PURE__ */ B(nn, [["__scopeId", "data-v-824bbddc"]]), an = /* @__PURE__ */ N({
|
|
593
592
|
__name: "ThemeToggle",
|
|
594
593
|
setup(a) {
|
|
595
|
-
const e =
|
|
596
|
-
return
|
|
594
|
+
const e = K(), { theme: t, isDark: n, toggleTheme: s } = je();
|
|
595
|
+
return Re(() => {
|
|
597
596
|
e.value.theme = t.value;
|
|
598
597
|
}), (o, l) => {
|
|
599
|
-
const c =
|
|
600
|
-
return r(), k(
|
|
598
|
+
const c = E("el-icon");
|
|
599
|
+
return r(), k($, { onClick: h(s) }, {
|
|
601
600
|
default: S(() => [
|
|
602
601
|
_(c, null, {
|
|
603
602
|
default: S(() => [
|
|
604
|
-
h(n) ? (r(), k(h(
|
|
603
|
+
h(n) ? (r(), k(h(ct), { key: 1 })) : (r(), k(h(it), { key: 0 }))
|
|
605
604
|
]),
|
|
606
605
|
_: 1
|
|
607
606
|
})
|
|
@@ -610,7 +609,7 @@ const $e = (a, e) => a.reduce(
|
|
|
610
609
|
}, 8, ["onClick"]);
|
|
611
610
|
};
|
|
612
611
|
}
|
|
613
|
-
}), et = /* @__PURE__ */ B(
|
|
612
|
+
}), et = /* @__PURE__ */ B(an, [["__scopeId", "data-v-e6ea60b7"]]), on = {
|
|
614
613
|
label: {
|
|
615
614
|
clickToChangeImage: "Click to change image"
|
|
616
615
|
},
|
|
@@ -618,7 +617,7 @@ const $e = (a, e) => a.reduce(
|
|
|
618
617
|
uploadIng: "Uploading...",
|
|
619
618
|
agreementTip1: "Terms of Service and Privacy Policy"
|
|
620
619
|
}
|
|
621
|
-
},
|
|
620
|
+
}, sn = {
|
|
622
621
|
label: {
|
|
623
622
|
agreement: "I agree to",
|
|
624
623
|
and: "and",
|
|
@@ -823,7 +822,7 @@ const $e = (a, e) => a.reduce(
|
|
|
823
822
|
loginHeroTitle: "Enterprise AI Platform for Model Services & Compute",
|
|
824
823
|
loginHeroDesc: "Unified API access to multi-model routing, compute orchestration, and AI service operations, built for enterprise."
|
|
825
824
|
}
|
|
826
|
-
},
|
|
825
|
+
}, rn = {
|
|
827
826
|
btn: {
|
|
828
827
|
agree: "Agree",
|
|
829
828
|
disagree: "Disagree",
|
|
@@ -861,7 +860,7 @@ const $e = (a, e) => a.reduce(
|
|
|
861
860
|
},
|
|
862
861
|
pleaseSelect: "Please select {0}",
|
|
863
862
|
seeMore: "See More"
|
|
864
|
-
},
|
|
863
|
+
}, ln = {
|
|
865
864
|
notFound: {
|
|
866
865
|
title: "Coming Soon!",
|
|
867
866
|
description: "This page is under development. Please refresh the page or click the button below to return to the homepage.",
|
|
@@ -896,7 +895,7 @@ const $e = (a, e) => a.reduce(
|
|
|
896
895
|
folder: "folder",
|
|
897
896
|
file: "file"
|
|
898
897
|
}
|
|
899
|
-
},
|
|
898
|
+
}, cn = {
|
|
900
899
|
label: {
|
|
901
900
|
languageModel: "Language Model"
|
|
902
901
|
},
|
|
@@ -1045,7 +1044,7 @@ const $e = (a, e) => a.reduce(
|
|
|
1045
1044
|
CNY: "Chinese Yuan",
|
|
1046
1045
|
USD: "US Dollar"
|
|
1047
1046
|
}
|
|
1048
|
-
},
|
|
1047
|
+
}, un = {
|
|
1049
1048
|
label: {},
|
|
1050
1049
|
btn: {
|
|
1051
1050
|
search: "Search",
|
|
@@ -1054,7 +1053,7 @@ const $e = (a, e) => a.reduce(
|
|
|
1054
1053
|
expand: "Expand"
|
|
1055
1054
|
},
|
|
1056
1055
|
msg: {}
|
|
1057
|
-
},
|
|
1056
|
+
}, dn = {
|
|
1058
1057
|
label: {
|
|
1059
1058
|
otherConfig: "Other Settings"
|
|
1060
1059
|
},
|
|
@@ -1069,7 +1068,7 @@ const $e = (a, e) => a.reduce(
|
|
|
1069
1068
|
StaticPrefixInput: {
|
|
1070
1069
|
notEmpty: "Cannot be empty"
|
|
1071
1070
|
}
|
|
1072
|
-
},
|
|
1071
|
+
}, pn = {
|
|
1073
1072
|
label: {},
|
|
1074
1073
|
btn: {},
|
|
1075
1074
|
msg: {
|
|
@@ -1085,17 +1084,17 @@ const $e = (a, e) => a.reduce(
|
|
|
1085
1084
|
charError: "Passwords must contain letters, numbers, and special symbols",
|
|
1086
1085
|
charTypeError: "The password must contain at least three types: uppercase letters, lowercase letters, numbers, and special symbols"
|
|
1087
1086
|
}
|
|
1088
|
-
},
|
|
1087
|
+
}, mn = {
|
|
1089
1088
|
name: "English",
|
|
1090
|
-
common:
|
|
1091
|
-
account:
|
|
1092
|
-
admin:
|
|
1093
|
-
components:
|
|
1094
|
-
constant:
|
|
1095
|
-
filterBox:
|
|
1096
|
-
password:
|
|
1097
|
-
instanceForm:
|
|
1098
|
-
},
|
|
1089
|
+
common: rn,
|
|
1090
|
+
account: on,
|
|
1091
|
+
admin: sn,
|
|
1092
|
+
components: ln,
|
|
1093
|
+
constant: cn,
|
|
1094
|
+
filterBox: un,
|
|
1095
|
+
password: pn,
|
|
1096
|
+
instanceForm: dn
|
|
1097
|
+
}, hn = {
|
|
1099
1098
|
label: {
|
|
1100
1099
|
clickToChangeImage: "点击更换图像"
|
|
1101
1100
|
},
|
|
@@ -1103,7 +1102,7 @@ const $e = (a, e) => a.reduce(
|
|
|
1103
1102
|
uploadIng: "上传中...",
|
|
1104
1103
|
agreementTip1: "服务协议及隐私保护"
|
|
1105
1104
|
}
|
|
1106
|
-
},
|
|
1105
|
+
}, gn = {
|
|
1107
1106
|
label: {
|
|
1108
1107
|
agreement: "我已同意",
|
|
1109
1108
|
and: "和",
|
|
@@ -1306,7 +1305,7 @@ const $e = (a, e) => a.reduce(
|
|
|
1306
1305
|
loginHeroTitle: "泛 AI 聚合与分发服务",
|
|
1307
1306
|
loginHeroDesc: "通过 API 调度,实现模型调用、AI 应用构建、数据与工具服务的在线分发与使用。"
|
|
1308
1307
|
}
|
|
1309
|
-
},
|
|
1308
|
+
}, fn = {
|
|
1310
1309
|
btn: {
|
|
1311
1310
|
agree: "同意",
|
|
1312
1311
|
disagree: "不同意",
|
|
@@ -1344,7 +1343,7 @@ const $e = (a, e) => a.reduce(
|
|
|
1344
1343
|
},
|
|
1345
1344
|
pleaseSelect: "请选择{0}",
|
|
1346
1345
|
seeMore: "查看更多"
|
|
1347
|
-
},
|
|
1346
|
+
}, vn = {
|
|
1348
1347
|
notFound: {
|
|
1349
1348
|
title: "开发中,敬请期待!",
|
|
1350
1349
|
description: "页面开发中,请刷新页面,或者点击下面的按钮返回主页.",
|
|
@@ -1379,7 +1378,7 @@ const $e = (a, e) => a.reduce(
|
|
|
1379
1378
|
folder: "文件夹",
|
|
1380
1379
|
file: "文件"
|
|
1381
1380
|
}
|
|
1382
|
-
},
|
|
1381
|
+
}, yn = {
|
|
1383
1382
|
label: {
|
|
1384
1383
|
languageModel: "语言模型"
|
|
1385
1384
|
},
|
|
@@ -1528,7 +1527,7 @@ const $e = (a, e) => a.reduce(
|
|
|
1528
1527
|
CNY: "人民币",
|
|
1529
1528
|
USD: "美元"
|
|
1530
1529
|
}
|
|
1531
|
-
},
|
|
1530
|
+
}, bn = {
|
|
1532
1531
|
label: {},
|
|
1533
1532
|
btn: {
|
|
1534
1533
|
search: "搜索",
|
|
@@ -1537,7 +1536,7 @@ const $e = (a, e) => a.reduce(
|
|
|
1537
1536
|
expand: "展开"
|
|
1538
1537
|
},
|
|
1539
1538
|
msg: {}
|
|
1540
|
-
},
|
|
1539
|
+
}, An = {
|
|
1541
1540
|
label: {
|
|
1542
1541
|
otherConfig: "其他配置"
|
|
1543
1542
|
},
|
|
@@ -1552,7 +1551,7 @@ const $e = (a, e) => a.reduce(
|
|
|
1552
1551
|
StaticPrefixInput: {
|
|
1553
1552
|
notEmpty: "不能为空"
|
|
1554
1553
|
}
|
|
1555
|
-
},
|
|
1554
|
+
}, _n = {
|
|
1556
1555
|
label: {},
|
|
1557
1556
|
btn: {},
|
|
1558
1557
|
msg: {
|
|
@@ -1568,51 +1567,51 @@ const $e = (a, e) => a.reduce(
|
|
|
1568
1567
|
charError: "密码必须包含字母、数字、特殊符号",
|
|
1569
1568
|
charTypeError: "密码必须包含至少以下三种(大写字母、小写字母、数字、特殊符号)"
|
|
1570
1569
|
}
|
|
1571
|
-
},
|
|
1570
|
+
}, Cn = {
|
|
1572
1571
|
name: "中文简体",
|
|
1573
|
-
common:
|
|
1574
|
-
account:
|
|
1575
|
-
admin:
|
|
1576
|
-
components:
|
|
1577
|
-
constant:
|
|
1578
|
-
filterBox:
|
|
1579
|
-
password:
|
|
1580
|
-
instanceForm:
|
|
1581
|
-
},
|
|
1582
|
-
"en-US":
|
|
1583
|
-
"zh-CN":
|
|
1584
|
-
},
|
|
1572
|
+
common: fn,
|
|
1573
|
+
account: hn,
|
|
1574
|
+
admin: gn,
|
|
1575
|
+
components: vn,
|
|
1576
|
+
constant: yn,
|
|
1577
|
+
filterBox: bn,
|
|
1578
|
+
password: _n,
|
|
1579
|
+
instanceForm: An
|
|
1580
|
+
}, le = {
|
|
1581
|
+
"en-US": mn,
|
|
1582
|
+
"zh-CN": Cn
|
|
1583
|
+
}, ue = ht({
|
|
1585
1584
|
locale: Fe(),
|
|
1586
1585
|
fallbackLocale: "en-US",
|
|
1587
|
-
messages:
|
|
1586
|
+
messages: le,
|
|
1588
1587
|
legacy: !1
|
|
1589
|
-
}),
|
|
1588
|
+
}), Sn = {
|
|
1590
1589
|
key: 0,
|
|
1591
1590
|
class: "language-select__current"
|
|
1592
|
-
}, Pn = { class: "language-select__panel" },
|
|
1591
|
+
}, Pn = { class: "language-select__panel" }, wn = ["onClick"], Tn = /* @__PURE__ */ N({
|
|
1593
1592
|
__name: "LanguageSelect",
|
|
1594
1593
|
props: {
|
|
1595
1594
|
showLabel: { type: Boolean, default: !1 }
|
|
1596
1595
|
},
|
|
1597
1596
|
setup(a) {
|
|
1598
|
-
const { locale: e } =
|
|
1599
|
-
() =>
|
|
1600
|
-
), n = Object.keys(
|
|
1601
|
-
label:
|
|
1597
|
+
const { locale: e } = ue.global, t = C(
|
|
1598
|
+
() => le[e.value].name
|
|
1599
|
+
), n = Object.keys(le).map((o) => ({
|
|
1600
|
+
label: le[o].name,
|
|
1602
1601
|
value: o
|
|
1603
1602
|
})), s = (o) => {
|
|
1604
|
-
|
|
1603
|
+
V.set("locale", o), location.reload();
|
|
1605
1604
|
};
|
|
1606
1605
|
return (o, l) => {
|
|
1607
|
-
const c =
|
|
1608
|
-
return r(), k(
|
|
1606
|
+
const c = E("el-icon"), d = E("el-popover");
|
|
1607
|
+
return r(), k(d, {
|
|
1609
1608
|
placement: "bottom",
|
|
1610
1609
|
width: 180,
|
|
1611
1610
|
trigger: "hover",
|
|
1612
1611
|
"popper-class": "top-language-popover"
|
|
1613
1612
|
}, {
|
|
1614
1613
|
reference: S(() => [
|
|
1615
|
-
_(
|
|
1614
|
+
_($, {
|
|
1616
1615
|
"langselect-toggle": "",
|
|
1617
1616
|
tag: "div",
|
|
1618
1617
|
class: "language-select",
|
|
@@ -1621,7 +1620,7 @@ const $e = (a, e) => a.reduce(
|
|
|
1621
1620
|
"aria-label": t.value
|
|
1622
1621
|
}, {
|
|
1623
1622
|
default: S(() => [
|
|
1624
|
-
|
|
1623
|
+
j(o.$slots, "prefix", {}, void 0, !0),
|
|
1625
1624
|
_(c, null, {
|
|
1626
1625
|
default: S(() => [...l[0] || (l[0] = [
|
|
1627
1626
|
p("svg", {
|
|
@@ -1649,7 +1648,7 @@ const $e = (a, e) => a.reduce(
|
|
|
1649
1648
|
])]),
|
|
1650
1649
|
_: 1
|
|
1651
1650
|
}),
|
|
1652
|
-
a.showLabel ? (r(), v("span",
|
|
1651
|
+
a.showLabel ? (r(), v("span", Sn, D(t.value), 1)) : x("", !0),
|
|
1653
1652
|
a.showLabel ? (r(), k(c, {
|
|
1654
1653
|
key: 1,
|
|
1655
1654
|
class: "language-select__caret"
|
|
@@ -1665,45 +1664,45 @@ const $e = (a, e) => a.reduce(
|
|
|
1665
1664
|
]),
|
|
1666
1665
|
default: S(() => [
|
|
1667
1666
|
p("div", Pn, [
|
|
1668
|
-
(r(!0), v(
|
|
1667
|
+
(r(!0), v(O, null, Q(h(n), (m) => (r(), v("div", {
|
|
1669
1668
|
key: m.value,
|
|
1670
1669
|
class: H(["language-select__option", { "language-select__option--active": m.value === h(e) }]),
|
|
1671
1670
|
onClick: (i) => s(m.value)
|
|
1672
|
-
},
|
|
1671
|
+
}, D(m.label), 11, wn))), 128))
|
|
1673
1672
|
])
|
|
1674
1673
|
]),
|
|
1675
1674
|
_: 3
|
|
1676
1675
|
});
|
|
1677
1676
|
};
|
|
1678
1677
|
}
|
|
1679
|
-
}), tt = /* @__PURE__ */ B(
|
|
1678
|
+
}), tt = /* @__PURE__ */ B(Tn, [["__scopeId", "data-v-48306ad1"]]), kn = { class: "mobile-user-popover" }, In = ["href"], Ln = /* @__PURE__ */ N({
|
|
1680
1679
|
__name: "AsideUserMobilePopover",
|
|
1681
1680
|
setup(a) {
|
|
1682
|
-
const { t: e } =
|
|
1681
|
+
const { t: e } = ue.global, t = K(), n = C(() => kt(t.value)), s = () => {
|
|
1683
1682
|
var o, l;
|
|
1684
1683
|
Promise.resolve((l = (o = t.value).onLogout) == null ? void 0 : l.call(o)).finally(() => {
|
|
1685
|
-
t.value.onLogout ||
|
|
1684
|
+
t.value.onLogout || ce(t.value);
|
|
1686
1685
|
});
|
|
1687
1686
|
};
|
|
1688
1687
|
return (o, l) => {
|
|
1689
|
-
const c =
|
|
1688
|
+
const c = E("el-popover");
|
|
1690
1689
|
return r(), k(c, {
|
|
1691
1690
|
width: 220,
|
|
1692
1691
|
trigger: "click",
|
|
1693
1692
|
"popper-class": "top-userinfo-popover"
|
|
1694
1693
|
}, {
|
|
1695
1694
|
reference: S(() => [
|
|
1696
|
-
|
|
1695
|
+
j(o.$slots, "reference", {}, void 0, !0)
|
|
1697
1696
|
]),
|
|
1698
1697
|
default: S(() => [
|
|
1699
|
-
p("div",
|
|
1698
|
+
p("div", kn, [
|
|
1700
1699
|
p("a", {
|
|
1701
1700
|
href: n.value,
|
|
1702
1701
|
class: "mobile-user-popover__item"
|
|
1703
1702
|
}, [
|
|
1704
1703
|
l[0] || (l[0] = p("i", { class: "metisicon-yonghu1" }, null, -1)),
|
|
1705
|
-
p("span", null,
|
|
1706
|
-
], 8,
|
|
1704
|
+
p("span", null, D(h(e)("admin.label.profile")), 1)
|
|
1705
|
+
], 8, In),
|
|
1707
1706
|
_(tt),
|
|
1708
1707
|
l[2] || (l[2] = p("div", { class: "mobile-user-popover__divider" }, null, -1)),
|
|
1709
1708
|
p("div", {
|
|
@@ -1711,7 +1710,7 @@ const $e = (a, e) => a.reduce(
|
|
|
1711
1710
|
onClick: s
|
|
1712
1711
|
}, [
|
|
1713
1712
|
l[1] || (l[1] = p("i", { class: "metisicon-exit-full" }, null, -1)),
|
|
1714
|
-
p("span", null,
|
|
1713
|
+
p("span", null, D(h(e)("common.btn.logout")), 1)
|
|
1715
1714
|
])
|
|
1716
1715
|
])
|
|
1717
1716
|
]),
|
|
@@ -1719,23 +1718,23 @@ const $e = (a, e) => a.reduce(
|
|
|
1719
1718
|
});
|
|
1720
1719
|
};
|
|
1721
1720
|
}
|
|
1722
|
-
}), nt = /* @__PURE__ */ B(
|
|
1721
|
+
}), nt = /* @__PURE__ */ B(Ln, [["__scopeId", "data-v-87e082b1"]]), xn = { class: "header-right-mobile" }, En = /* @__PURE__ */ N({
|
|
1723
1722
|
__name: "HeaderRightMobile",
|
|
1724
1723
|
setup(a) {
|
|
1725
|
-
const e =
|
|
1724
|
+
const e = K(), t = C(
|
|
1726
1725
|
() => {
|
|
1727
1726
|
var s, o;
|
|
1728
1727
|
return !!((s = e.value.user) != null && s.id || (o = e.value.user) != null && o.userId);
|
|
1729
1728
|
}
|
|
1730
1729
|
), n = () => {
|
|
1731
1730
|
var s, o;
|
|
1732
|
-
(o = (s = e.value).onLogin) != null && o.call(s) ||
|
|
1731
|
+
(o = (s = e.value).onLogin) != null && o.call(s) || ce(e.value);
|
|
1733
1732
|
};
|
|
1734
|
-
return (s, o) => (r(), v("div",
|
|
1733
|
+
return (s, o) => (r(), v("div", xn, [
|
|
1735
1734
|
_(et),
|
|
1736
1735
|
t.value ? (r(), k(nt, { key: 0 }, {
|
|
1737
1736
|
reference: S(() => [
|
|
1738
|
-
_(
|
|
1737
|
+
_($, { class: "header-right-mobile__action" }, {
|
|
1739
1738
|
default: S(() => [...o[0] || (o[0] = [
|
|
1740
1739
|
p("i", { class: "metisicon-yonghu1" }, null, -1)
|
|
1741
1740
|
])]),
|
|
@@ -1743,7 +1742,7 @@ const $e = (a, e) => a.reduce(
|
|
|
1743
1742
|
})
|
|
1744
1743
|
]),
|
|
1745
1744
|
_: 1
|
|
1746
|
-
})) : (r(), k(
|
|
1745
|
+
})) : (r(), k($, {
|
|
1747
1746
|
key: 1,
|
|
1748
1747
|
class: "header-right-mobile__action",
|
|
1749
1748
|
onClick: n
|
|
@@ -1755,14 +1754,14 @@ const $e = (a, e) => a.reduce(
|
|
|
1755
1754
|
}))
|
|
1756
1755
|
]));
|
|
1757
1756
|
}
|
|
1758
|
-
}),
|
|
1757
|
+
}), Mn = /* @__PURE__ */ B(En, [["__scopeId", "data-v-48792b0a"]]), Dn = ["aria-label", "aria-expanded"], Nn = { class: "mobile-menu-toggle__icon" }, Bn = /* @__PURE__ */ N({
|
|
1759
1758
|
__name: "MobileMenuToggle",
|
|
1760
1759
|
setup(a) {
|
|
1761
|
-
const { sideOpen: e } =
|
|
1760
|
+
const { sideOpen: e } = ae(), t = () => {
|
|
1762
1761
|
e.value = !e.value;
|
|
1763
1762
|
};
|
|
1764
1763
|
return (n, s) => {
|
|
1765
|
-
const o =
|
|
1764
|
+
const o = E("el-icon");
|
|
1766
1765
|
return r(), v("button", {
|
|
1767
1766
|
type: "button",
|
|
1768
1767
|
class: "mobile-menu-toggle",
|
|
@@ -1770,21 +1769,21 @@ const $e = (a, e) => a.reduce(
|
|
|
1770
1769
|
"aria-expanded": h(e),
|
|
1771
1770
|
onClick: t
|
|
1772
1771
|
}, [
|
|
1773
|
-
p("div",
|
|
1772
|
+
p("div", Nn, [
|
|
1774
1773
|
_(o, null, {
|
|
1775
1774
|
default: S(() => [
|
|
1776
|
-
_(h(
|
|
1775
|
+
_(h(ut))
|
|
1777
1776
|
]),
|
|
1778
1777
|
_: 1
|
|
1779
1778
|
})
|
|
1780
1779
|
])
|
|
1781
|
-
], 8,
|
|
1780
|
+
], 8, Dn);
|
|
1782
1781
|
};
|
|
1783
1782
|
}
|
|
1784
|
-
}), Rn = /* @__PURE__ */ B(
|
|
1783
|
+
}), Rn = /* @__PURE__ */ B(Bn, [["__scopeId", "data-v-b1a4f38a"]]), Un = {
|
|
1785
1784
|
key: 0,
|
|
1786
1785
|
class: "user-avatar__fallback"
|
|
1787
|
-
},
|
|
1786
|
+
}, Kn = /* @__PURE__ */ N({
|
|
1788
1787
|
__name: "UserAvatar",
|
|
1789
1788
|
props: {
|
|
1790
1789
|
src: { default: "" },
|
|
@@ -1795,7 +1794,7 @@ const $e = (a, e) => a.reduce(
|
|
|
1795
1794
|
() => n.value.charAt(0).toUpperCase() || "U"
|
|
1796
1795
|
), o = C(() => n.value || "User avatar"), l = C(() => e.src.trim()), c = C(
|
|
1797
1796
|
() => !l.value || t.value
|
|
1798
|
-
),
|
|
1797
|
+
), d = C(
|
|
1799
1798
|
() => c.value && !!n.value
|
|
1800
1799
|
), m = C(
|
|
1801
1800
|
() => c.value && !n.value
|
|
@@ -1812,8 +1811,8 @@ const $e = (a, e) => a.reduce(
|
|
|
1812
1811
|
t.value = !0;
|
|
1813
1812
|
};
|
|
1814
1813
|
return (g, f) => {
|
|
1815
|
-
const A =
|
|
1816
|
-
return r(), k(
|
|
1814
|
+
const A = E("el-icon"), w = E("el-avatar");
|
|
1815
|
+
return r(), k(w, Be(g.$attrs, {
|
|
1817
1816
|
src: i.value,
|
|
1818
1817
|
"data-src": i.value,
|
|
1819
1818
|
alt: o.value,
|
|
@@ -1821,13 +1820,13 @@ const $e = (a, e) => a.reduce(
|
|
|
1821
1820
|
onError: y
|
|
1822
1821
|
}), {
|
|
1823
1822
|
default: S(() => [
|
|
1824
|
-
|
|
1823
|
+
d.value ? (r(), v("span", Un, D(s.value), 1)) : m.value ? (r(), k(A, {
|
|
1825
1824
|
key: 1,
|
|
1826
1825
|
class: "user-avatar__icon",
|
|
1827
1826
|
"aria-hidden": "true"
|
|
1828
1827
|
}, {
|
|
1829
1828
|
default: S(() => [
|
|
1830
|
-
_(h(
|
|
1829
|
+
_(h(dt))
|
|
1831
1830
|
]),
|
|
1832
1831
|
_: 1
|
|
1833
1832
|
})) : x("", !0)
|
|
@@ -1836,17 +1835,17 @@ const $e = (a, e) => a.reduce(
|
|
|
1836
1835
|
}, 16, ["src", "data-src", "alt", "class"]);
|
|
1837
1836
|
};
|
|
1838
1837
|
}
|
|
1839
|
-
}), Me = /* @__PURE__ */ B(
|
|
1838
|
+
}), Me = /* @__PURE__ */ B(Kn, [["__scopeId", "data-v-50be58a7"]]), Jn = {
|
|
1840
1839
|
key: 0,
|
|
1841
1840
|
class: "layout-breadcrumb text-xs",
|
|
1842
1841
|
"aria-label": "Breadcrumb"
|
|
1843
|
-
},
|
|
1842
|
+
}, On = ["aria-label", "title"], Fn = {
|
|
1844
1843
|
key: 1,
|
|
1845
1844
|
class: "flex min-w-0 items-center gap-1"
|
|
1846
|
-
},
|
|
1845
|
+
}, Hn = ["href"], Qn = ["onClick"], zn = {
|
|
1847
1846
|
key: 3,
|
|
1848
1847
|
class: "layout-breadcrumb__current"
|
|
1849
|
-
},
|
|
1848
|
+
}, Zn = /* @__PURE__ */ N({
|
|
1850
1849
|
__name: "LayoutBreadcrumb",
|
|
1851
1850
|
props: {
|
|
1852
1851
|
items: { default: void 0 },
|
|
@@ -1859,85 +1858,85 @@ const $e = (a, e) => a.reduce(
|
|
|
1859
1858
|
backLabel: { default: "返回" }
|
|
1860
1859
|
},
|
|
1861
1860
|
setup(a) {
|
|
1862
|
-
const e = a, t = ge(), n = Ke(), s =
|
|
1863
|
-
var Se,
|
|
1861
|
+
const e = a, t = ge(), n = Ke(), s = K(), o = C(() => {
|
|
1862
|
+
var Se, Pe, we, Te, ke;
|
|
1864
1863
|
if ((Se = e.items) != null && Se.length)
|
|
1865
|
-
return e.items.filter((
|
|
1866
|
-
const
|
|
1867
|
-
((
|
|
1868
|
-
),
|
|
1869
|
-
let F =
|
|
1864
|
+
return e.items.filter((G) => G.title);
|
|
1865
|
+
const u = A(t.path), b = A(
|
|
1866
|
+
((Pe = t.meta) == null ? void 0 : Pe.parent) || ((we = t.meta) == null ? void 0 : we.parentPath) || t.path
|
|
1867
|
+
), P = l(), T = (Te = s.value.currentEndRoute) == null ? void 0 : Te.paths, M = c(T || []);
|
|
1868
|
+
let F = M.length ? M : y(P, b);
|
|
1870
1869
|
const de = A(
|
|
1871
1870
|
e.parentPath || ((ke = t.meta) == null ? void 0 : ke.parentPath) || ""
|
|
1872
1871
|
);
|
|
1873
|
-
if (!F.length && de && (F = y(
|
|
1874
|
-
const
|
|
1875
|
-
F =
|
|
1872
|
+
if (!F.length && de && (F = y(P, de)), !F.length) {
|
|
1873
|
+
const G = de || g(u, P);
|
|
1874
|
+
F = G ? y(P, G) : [];
|
|
1876
1875
|
}
|
|
1877
|
-
const
|
|
1878
|
-
return e.showCurrent &&
|
|
1879
|
-
title:
|
|
1880
|
-
path:
|
|
1876
|
+
const W = F.map(d).filter((G) => G.title), Z = W[W.length - 1], X = i();
|
|
1877
|
+
return e.showCurrent && X && w(Z == null ? void 0 : Z.path) !== w(u) ? W.push({
|
|
1878
|
+
title: X,
|
|
1879
|
+
path: u,
|
|
1881
1880
|
disabled: !0
|
|
1882
|
-
}) :
|
|
1883
|
-
title:
|
|
1884
|
-
path:
|
|
1881
|
+
}) : X && Z && w(Z.path) === w(u) && (Z.title = X, Z.disabled = !0), !W.length && X && W.push({
|
|
1882
|
+
title: X,
|
|
1883
|
+
path: u,
|
|
1885
1884
|
disabled: !0
|
|
1886
|
-
}),
|
|
1885
|
+
}), W;
|
|
1887
1886
|
}), l = () => {
|
|
1888
|
-
const
|
|
1889
|
-
return (s.value.menus || []).forEach((
|
|
1890
|
-
var
|
|
1891
|
-
const T =
|
|
1892
|
-
!T || b.has(T) || (b.add(T),
|
|
1893
|
-
}),
|
|
1894
|
-
}, c = (
|
|
1895
|
-
var
|
|
1896
|
-
return b && ((
|
|
1897
|
-
}),
|
|
1887
|
+
const u = [], b = /* @__PURE__ */ new Set();
|
|
1888
|
+
return (s.value.menus || []).forEach((P) => {
|
|
1889
|
+
var M;
|
|
1890
|
+
const T = P.path || P.name || JSON.stringify(((M = P.meta) == null ? void 0 : M.translations) || {});
|
|
1891
|
+
!T || b.has(T) || (b.add(T), u.push(P));
|
|
1892
|
+
}), u;
|
|
1893
|
+
}, c = (u) => u.filter((b) => {
|
|
1894
|
+
var P;
|
|
1895
|
+
return b && ((P = b.meta) == null ? void 0 : P.visible) !== "0";
|
|
1896
|
+
}), d = (u) => {
|
|
1898
1897
|
var b;
|
|
1899
1898
|
return {
|
|
1900
|
-
title: m(
|
|
1901
|
-
path:
|
|
1902
|
-
disabled: ((b =
|
|
1903
|
-
children:
|
|
1899
|
+
title: m(u),
|
|
1900
|
+
path: u.path,
|
|
1901
|
+
disabled: ((b = u.meta) == null ? void 0 : b.visible) === "0",
|
|
1902
|
+
children: u.children
|
|
1904
1903
|
};
|
|
1905
|
-
}, m = (
|
|
1906
|
-
var
|
|
1907
|
-
return ((
|
|
1904
|
+
}, m = (u) => {
|
|
1905
|
+
var P;
|
|
1906
|
+
return ((P = u == null ? void 0 : u.meta) != null && P.translations ? ie(te(u.meta.translations, "name", u.name)) : "") || (u == null ? void 0 : u.title) || (u == null ? void 0 : u.name) || "";
|
|
1908
1907
|
}, i = () => {
|
|
1909
|
-
var
|
|
1910
|
-
return e.currentTitle ? e.currentTitle : typeof ((
|
|
1911
|
-
}, y = (
|
|
1908
|
+
var u;
|
|
1909
|
+
return e.currentTitle ? e.currentTitle : typeof ((u = t.meta) == null ? void 0 : u.title) == "string" ? t.meta.title : String(t.params.id || t.params.tenantId || "");
|
|
1910
|
+
}, y = (u, b, P = []) => {
|
|
1912
1911
|
if (!b) return [];
|
|
1913
|
-
for (const T of
|
|
1914
|
-
const
|
|
1912
|
+
for (const T of u) {
|
|
1913
|
+
const M = [...P, T];
|
|
1915
1914
|
if (f(T.path, b))
|
|
1916
|
-
return c(
|
|
1917
|
-
const F = y(T.children || [], b,
|
|
1915
|
+
return c(M);
|
|
1916
|
+
const F = y(T.children || [], b, M);
|
|
1918
1917
|
if (F.length) return F;
|
|
1919
1918
|
}
|
|
1920
1919
|
return [];
|
|
1921
|
-
}, g = (
|
|
1922
|
-
const
|
|
1923
|
-
for (let T =
|
|
1924
|
-
const
|
|
1925
|
-
if (y(b,
|
|
1920
|
+
}, g = (u, b) => {
|
|
1921
|
+
const P = u.split("/").filter(Boolean);
|
|
1922
|
+
for (let T = P.length - 1; T > 0; T -= 1) {
|
|
1923
|
+
const M = `/${P.slice(0, T).join("/")}`;
|
|
1924
|
+
if (y(b, M).length) return M;
|
|
1926
1925
|
}
|
|
1927
1926
|
return "";
|
|
1928
|
-
}, f = (
|
|
1929
|
-
const
|
|
1930
|
-
if (!
|
|
1931
|
-
if (
|
|
1932
|
-
const
|
|
1933
|
-
return new RegExp(`^${
|
|
1934
|
-
}, A = (
|
|
1927
|
+
}, f = (u = "", b = "") => {
|
|
1928
|
+
const P = w(u), T = w(b);
|
|
1929
|
+
if (!P || !T) return !1;
|
|
1930
|
+
if (P === T) return !0;
|
|
1931
|
+
const M = P.replace(/\/:(\w+)/g, "/([^/]+)");
|
|
1932
|
+
return new RegExp(`^${M}$`, "i").test(T);
|
|
1933
|
+
}, A = (u = "") => u ? u.split("?")[0].split("#")[0] : "", w = (u = "") => (A(u).replace(/\/+$/, "") || "/").toLowerCase(), I = (u) => /^https?:\/\//.test(u.path || ""), J = (u) => {
|
|
1935
1934
|
var b;
|
|
1936
|
-
return !!((b =
|
|
1937
|
-
}, L = (
|
|
1938
|
-
const b =
|
|
1935
|
+
return !!((b = u.children) != null && b.some((P) => !P.disabled));
|
|
1936
|
+
}, L = (u, b) => u.disabled || b === o.value.length - 1 || !u.path ? !1 : I(u) || !J(u), R = (u) => {
|
|
1937
|
+
const b = u.to || Y(u);
|
|
1939
1938
|
b && n.push(b);
|
|
1940
|
-
},
|
|
1939
|
+
}, z = () => {
|
|
1941
1940
|
var b;
|
|
1942
1941
|
if (e.backTo) {
|
|
1943
1942
|
n.push(e.backTo);
|
|
@@ -1947,51 +1946,51 @@ const $e = (a, e) => a.reduce(
|
|
|
1947
1946
|
n.back();
|
|
1948
1947
|
return;
|
|
1949
1948
|
}
|
|
1950
|
-
const
|
|
1951
|
-
|
|
1952
|
-
},
|
|
1953
|
-
var
|
|
1954
|
-
const
|
|
1955
|
-
if (
|
|
1956
|
-
return
|
|
1949
|
+
const u = q();
|
|
1950
|
+
u && n.push(u);
|
|
1951
|
+
}, q = () => {
|
|
1952
|
+
var P, T;
|
|
1953
|
+
const u = e.parentPath || ((P = t.meta) == null ? void 0 : P.parentPath) || ((T = t.meta) == null ? void 0 : T.parent) || "";
|
|
1954
|
+
if (u)
|
|
1955
|
+
return Y({ path: u });
|
|
1957
1956
|
const b = o.value[o.value.length - 2];
|
|
1958
1957
|
if (b != null && b.to) return b.to;
|
|
1959
1958
|
if (b != null && b.path && !I(b))
|
|
1960
|
-
return
|
|
1961
|
-
},
|
|
1962
|
-
if (!
|
|
1963
|
-
const b = e.preserveQueryKeys.reduce((
|
|
1964
|
-
const
|
|
1965
|
-
return typeof
|
|
1959
|
+
return Y(b);
|
|
1960
|
+
}, Y = (u) => {
|
|
1961
|
+
if (!u.path) return;
|
|
1962
|
+
const b = e.preserveQueryKeys.reduce((P, T) => {
|
|
1963
|
+
const M = t.query[T];
|
|
1964
|
+
return typeof M == "string" && (P[T] = M), Array.isArray(M) && (P[T] = M.filter(
|
|
1966
1965
|
(F) => typeof F == "string"
|
|
1967
|
-
)),
|
|
1966
|
+
)), P;
|
|
1968
1967
|
}, {});
|
|
1969
|
-
return Object.keys(b).length ? { path:
|
|
1968
|
+
return Object.keys(b).length ? { path: u.path, query: b } : { path: u.path };
|
|
1970
1969
|
};
|
|
1971
|
-
return (
|
|
1972
|
-
const
|
|
1973
|
-
return e.showBack || o.value.length ? (r(), v("nav",
|
|
1970
|
+
return (u, b) => {
|
|
1971
|
+
const P = E("el-icon");
|
|
1972
|
+
return e.showBack || o.value.length ? (r(), v("nav", Jn, [
|
|
1974
1973
|
e.showBack ? (r(), v("button", {
|
|
1975
1974
|
key: 0,
|
|
1976
1975
|
class: "layout-breadcrumb__back",
|
|
1977
1976
|
type: "button",
|
|
1978
1977
|
"aria-label": e.backLabel,
|
|
1979
1978
|
title: e.backLabel,
|
|
1980
|
-
onClick:
|
|
1979
|
+
onClick: z
|
|
1981
1980
|
}, [
|
|
1982
|
-
_(
|
|
1981
|
+
_(P, null, {
|
|
1983
1982
|
default: S(() => [
|
|
1984
|
-
_(h(
|
|
1983
|
+
_(h(pt))
|
|
1985
1984
|
]),
|
|
1986
1985
|
_: 1
|
|
1987
1986
|
})
|
|
1988
|
-
], 8,
|
|
1989
|
-
o.value.length ? (r(), v("ol",
|
|
1990
|
-
(r(!0), v(
|
|
1991
|
-
key: `${T.path || T.title}-${
|
|
1987
|
+
], 8, On)) : x("", !0),
|
|
1988
|
+
o.value.length ? (r(), v("ol", Fn, [
|
|
1989
|
+
(r(!0), v(O, null, Q(o.value, (T, M) => (r(), v("li", {
|
|
1990
|
+
key: `${T.path || T.title}-${M}`,
|
|
1992
1991
|
class: "flex min-w-0 items-center gap-1"
|
|
1993
1992
|
}, [
|
|
1994
|
-
|
|
1993
|
+
M > 0 ? (r(), k(P, {
|
|
1995
1994
|
key: 0,
|
|
1996
1995
|
class: "layout-breadcrumb__separator"
|
|
1997
1996
|
}, {
|
|
@@ -2000,45 +1999,45 @@ const $e = (a, e) => a.reduce(
|
|
|
2000
1999
|
]),
|
|
2001
2000
|
_: 1
|
|
2002
2001
|
})) : x("", !0),
|
|
2003
|
-
I(T) && L(T,
|
|
2002
|
+
I(T) && L(T, M) ? (r(), v("a", {
|
|
2004
2003
|
key: 1,
|
|
2005
2004
|
class: "layout-breadcrumb__link",
|
|
2006
2005
|
href: T.path
|
|
2007
|
-
},
|
|
2006
|
+
}, D(T.title), 9, Hn)) : L(T, M) ? (r(), v("button", {
|
|
2008
2007
|
key: 2,
|
|
2009
2008
|
class: "layout-breadcrumb__link",
|
|
2010
2009
|
type: "button",
|
|
2011
|
-
onClick: (F) =>
|
|
2012
|
-
},
|
|
2010
|
+
onClick: (F) => R(T)
|
|
2011
|
+
}, D(T.title), 9, Qn)) : (r(), v("span", zn, D(T.title), 1))
|
|
2013
2012
|
]))), 128))
|
|
2014
2013
|
])) : x("", !0)
|
|
2015
2014
|
])) : x("", !0);
|
|
2016
2015
|
};
|
|
2017
2016
|
}
|
|
2018
|
-
}),
|
|
2017
|
+
}), za = /* @__PURE__ */ B(Zn, [["__scopeId", "data-v-13819970"]]), jn = {
|
|
2019
2018
|
key: 0,
|
|
2020
2019
|
class: "timezone-select__current"
|
|
2021
|
-
},
|
|
2020
|
+
}, qn = { class: "timezone-select__panel" }, Yn = ["onClick"], Wn = { class: "timezone-select__name" }, Xn = { class: "timezone-select__offset" }, Gn = /* @__PURE__ */ N({
|
|
2022
2021
|
__name: "TimezoneSelect",
|
|
2023
2022
|
props: {
|
|
2024
2023
|
showLabel: { type: Boolean, default: !1 }
|
|
2025
2024
|
},
|
|
2026
2025
|
setup(a) {
|
|
2027
|
-
const e =
|
|
2028
|
-
|
|
2026
|
+
const e = bt(), t = U(!1), n = C(() => e.value), s = C(() => wt()), o = C(() => Pt(n.value)), l = (c) => {
|
|
2027
|
+
At(c), t.value = !1;
|
|
2029
2028
|
};
|
|
2030
|
-
return (c,
|
|
2031
|
-
const m =
|
|
2029
|
+
return (c, d) => {
|
|
2030
|
+
const m = E("el-icon"), i = E("el-popover");
|
|
2032
2031
|
return r(), k(i, {
|
|
2033
2032
|
visible: t.value,
|
|
2034
|
-
"onUpdate:visible":
|
|
2033
|
+
"onUpdate:visible": d[0] || (d[0] = (y) => t.value = y),
|
|
2035
2034
|
placement: "bottom",
|
|
2036
2035
|
width: 280,
|
|
2037
2036
|
trigger: "hover",
|
|
2038
2037
|
"popper-class": "top-timezone-popover"
|
|
2039
2038
|
}, {
|
|
2040
2039
|
reference: S(() => [
|
|
2041
|
-
_(
|
|
2040
|
+
_($, {
|
|
2042
2041
|
tag: "div",
|
|
2043
2042
|
class: "timezone-select",
|
|
2044
2043
|
"icon-only": !a.showLabel,
|
|
@@ -2048,11 +2047,11 @@ const $e = (a, e) => a.reduce(
|
|
|
2048
2047
|
default: S(() => [
|
|
2049
2048
|
_(m, null, {
|
|
2050
2049
|
default: S(() => [
|
|
2051
|
-
_(h(
|
|
2050
|
+
_(h(mt))
|
|
2052
2051
|
]),
|
|
2053
2052
|
_: 1
|
|
2054
2053
|
}),
|
|
2055
|
-
a.showLabel ? (r(), v("span",
|
|
2054
|
+
a.showLabel ? (r(), v("span", jn, D(n.value), 1)) : x("", !0),
|
|
2056
2055
|
a.showLabel ? (r(), k(m, {
|
|
2057
2056
|
key: 1,
|
|
2058
2057
|
class: "timezone-select__caret"
|
|
@@ -2067,8 +2066,8 @@ const $e = (a, e) => a.reduce(
|
|
|
2067
2066
|
}, 8, ["icon-only", "title", "aria-label"])
|
|
2068
2067
|
]),
|
|
2069
2068
|
default: S(() => [
|
|
2070
|
-
p("div",
|
|
2071
|
-
(r(!0), v(
|
|
2069
|
+
p("div", qn, [
|
|
2070
|
+
(r(!0), v(O, null, Q(s.value, (y) => (r(), v("button", {
|
|
2072
2071
|
key: y.value,
|
|
2073
2072
|
type: "button",
|
|
2074
2073
|
class: H(["timezone-select__option", {
|
|
@@ -2076,40 +2075,40 @@ const $e = (a, e) => a.reduce(
|
|
|
2076
2075
|
}]),
|
|
2077
2076
|
onClick: (g) => l(y.value)
|
|
2078
2077
|
}, [
|
|
2079
|
-
p("span",
|
|
2080
|
-
p("span",
|
|
2081
|
-
], 10,
|
|
2078
|
+
p("span", Wn, D(y.value), 1),
|
|
2079
|
+
p("span", Xn, D(y.offset), 1)
|
|
2080
|
+
], 10, Yn))), 128))
|
|
2082
2081
|
])
|
|
2083
2082
|
]),
|
|
2084
2083
|
_: 1
|
|
2085
2084
|
}, 8, ["visible"]);
|
|
2086
2085
|
};
|
|
2087
2086
|
}
|
|
2088
|
-
}),
|
|
2087
|
+
}), Za = /* @__PURE__ */ B(Gn, [["__scopeId", "data-v-e62f5f2d"]]), Vn = { class: "user-info__panel" }, $n = { class: "user-info__profile" }, ea = { class: "user-info__profile-main" }, ta = ["title"], na = ["title"], aa = { class: "user-info__meta" }, oa = { class: "user-info__meta-label" }, sa = ["title"], ra = ["href"], la = /* @__PURE__ */ N({
|
|
2089
2088
|
__name: "UserInfo",
|
|
2090
2089
|
setup(a) {
|
|
2091
|
-
const { t: e } =
|
|
2090
|
+
const { t: e } = ue.global, t = K(), n = C(() => t.value.user || {}), s = C(() => t.value.accountMenu || []), o = C(
|
|
2092
2091
|
() => {
|
|
2093
|
-
var
|
|
2094
|
-
return ((
|
|
2092
|
+
var d, m, i, y;
|
|
2093
|
+
return ((d = n.value) == null ? void 0 : d.name) || ((m = n.value) == null ? void 0 : m.username) || ((i = n.value) == null ? void 0 : i.email) || ((y = n.value) == null ? void 0 : y.userId) || "User";
|
|
2095
2094
|
}
|
|
2096
2095
|
), l = C(
|
|
2097
2096
|
() => {
|
|
2098
|
-
var
|
|
2097
|
+
var d, m, i;
|
|
2099
2098
|
return [
|
|
2100
|
-
{ label: e("admin.label.userName"), value: (
|
|
2099
|
+
{ label: e("admin.label.userName"), value: (d = n.value) == null ? void 0 : d.username },
|
|
2101
2100
|
{ label: e("admin.label.email"), value: (m = n.value) == null ? void 0 : m.email },
|
|
2102
2101
|
{ label: e("admin.label.userId"), value: (i = n.value) == null ? void 0 : i.userId }
|
|
2103
2102
|
].filter((y) => !!y.value);
|
|
2104
2103
|
}
|
|
2105
2104
|
), c = () => {
|
|
2106
|
-
var
|
|
2107
|
-
Promise.resolve((m = (
|
|
2108
|
-
t.value.onLogout ||
|
|
2105
|
+
var d, m;
|
|
2106
|
+
Promise.resolve((m = (d = t.value).onLogout) == null ? void 0 : m.call(d)).finally(() => {
|
|
2107
|
+
t.value.onLogout || ce(t.value);
|
|
2109
2108
|
});
|
|
2110
2109
|
};
|
|
2111
|
-
return (
|
|
2112
|
-
const i =
|
|
2110
|
+
return (d, m) => {
|
|
2111
|
+
const i = E("el-popover");
|
|
2113
2112
|
return r(), k(i, {
|
|
2114
2113
|
width: 280,
|
|
2115
2114
|
trigger: "hover",
|
|
@@ -2125,40 +2124,40 @@ const $e = (a, e) => a.reduce(
|
|
|
2125
2124
|
default: S(() => {
|
|
2126
2125
|
var y;
|
|
2127
2126
|
return [
|
|
2128
|
-
p("div",
|
|
2129
|
-
p("div",
|
|
2127
|
+
p("div", Vn, [
|
|
2128
|
+
p("div", $n, [
|
|
2130
2129
|
_(h(Me), {
|
|
2131
2130
|
class: "user-info__profile-avatar",
|
|
2132
2131
|
src: n.value.avatar,
|
|
2133
2132
|
name: o.value
|
|
2134
2133
|
}, null, 8, ["src", "name"]),
|
|
2135
|
-
p("div",
|
|
2134
|
+
p("div", ea, [
|
|
2136
2135
|
p("div", {
|
|
2137
2136
|
class: "user-info__display-name",
|
|
2138
2137
|
title: o.value
|
|
2139
|
-
},
|
|
2138
|
+
}, D(o.value), 9, ta),
|
|
2140
2139
|
(y = n.value) != null && y.username ? (r(), v("div", {
|
|
2141
2140
|
key: 0,
|
|
2142
2141
|
class: "user-info__username",
|
|
2143
2142
|
title: n.value.username
|
|
2144
|
-
}, " @" +
|
|
2143
|
+
}, " @" + D(n.value.username), 9, na)) : x("", !0)
|
|
2145
2144
|
])
|
|
2146
2145
|
]),
|
|
2147
|
-
p("div",
|
|
2148
|
-
(r(!0), v(
|
|
2146
|
+
p("div", aa, [
|
|
2147
|
+
(r(!0), v(O, null, Q(l.value, (g) => (r(), v("div", {
|
|
2149
2148
|
key: g.label,
|
|
2150
2149
|
class: "user-info__meta-row"
|
|
2151
2150
|
}, [
|
|
2152
|
-
p("span",
|
|
2151
|
+
p("span", oa, D(g.label), 1),
|
|
2153
2152
|
p("span", {
|
|
2154
2153
|
class: "user-info__meta-value",
|
|
2155
2154
|
title: g.value
|
|
2156
|
-
},
|
|
2155
|
+
}, D(g.value), 9, sa)
|
|
2157
2156
|
]))), 128))
|
|
2158
2157
|
]),
|
|
2159
2158
|
m[1] || (m[1] = p("div", { class: "user-info__divider" }, null, -1)),
|
|
2160
|
-
(r(!0), v(
|
|
2161
|
-
var A,
|
|
2159
|
+
(r(!0), v(O, null, Q(s.value, (g, f) => {
|
|
2160
|
+
var A, w;
|
|
2162
2161
|
return r(), v("a", {
|
|
2163
2162
|
key: f,
|
|
2164
2163
|
href: g.path,
|
|
@@ -2167,8 +2166,8 @@ const $e = (a, e) => a.reduce(
|
|
|
2167
2166
|
_(Xe, {
|
|
2168
2167
|
icon: g.icon || ((A = g.meta) == null ? void 0 : A.icon)
|
|
2169
2168
|
}, null, 8, ["icon"]),
|
|
2170
|
-
p("span", null,
|
|
2171
|
-
], 8,
|
|
2169
|
+
p("span", null, D(h(te)(((w = g.meta) == null ? void 0 : w.translations) || {}, "name", g.name)), 1)
|
|
2170
|
+
], 8, ra);
|
|
2172
2171
|
}), 128)),
|
|
2173
2172
|
m[2] || (m[2] = p("div", { class: "user-info__divider" }, null, -1)),
|
|
2174
2173
|
p("div", {
|
|
@@ -2176,7 +2175,7 @@ const $e = (a, e) => a.reduce(
|
|
|
2176
2175
|
onClick: c
|
|
2177
2176
|
}, [
|
|
2178
2177
|
m[0] || (m[0] = p("i", { class: "metisicon-exit-full" }, null, -1)),
|
|
2179
|
-
p("span", null,
|
|
2178
|
+
p("span", null, D(h(e)("common.btn.logout")), 1)
|
|
2180
2179
|
])
|
|
2181
2180
|
])
|
|
2182
2181
|
];
|
|
@@ -2185,23 +2184,23 @@ const $e = (a, e) => a.reduce(
|
|
|
2185
2184
|
});
|
|
2186
2185
|
};
|
|
2187
2186
|
}
|
|
2188
|
-
}),
|
|
2187
|
+
}), ia = /* @__PURE__ */ B(la, [["__scopeId", "data-v-ac052463"]]), ca = { class: "header-right" }, ua = ["href"], da = /* @__PURE__ */ N({
|
|
2189
2188
|
__name: "SHeaderRight",
|
|
2190
2189
|
setup(a) {
|
|
2191
|
-
const { t: e } =
|
|
2190
|
+
const { t: e } = ue.global, t = K(), n = C(() => t.value.hideDoc ?? !1), s = C(() => qe(t.value)), o = C(() => t.value.user), l = C(() => {
|
|
2192
2191
|
var m, i;
|
|
2193
2192
|
return !!((m = o.value) != null && m.id || (i = o.value) != null && i.userId);
|
|
2194
2193
|
}), c = (m) => {
|
|
2195
2194
|
t.value.onLogin && (m.preventDefault(), t.value.onLogin());
|
|
2196
|
-
},
|
|
2195
|
+
}, d = C(() => t.value.docsPath || "");
|
|
2197
2196
|
return (m, i) => {
|
|
2198
|
-
const y =
|
|
2199
|
-
return r(), v("div",
|
|
2200
|
-
!n.value &&
|
|
2197
|
+
const y = E("el-icon");
|
|
2198
|
+
return r(), v("div", ca, [
|
|
2199
|
+
!n.value && d.value ? (r(), k($, {
|
|
2201
2200
|
key: 0,
|
|
2202
2201
|
tag: "a",
|
|
2203
2202
|
class: "whitespace-nowrap",
|
|
2204
|
-
href:
|
|
2203
|
+
href: d.value,
|
|
2205
2204
|
target: "_blank"
|
|
2206
2205
|
}, {
|
|
2207
2206
|
default: S(() => [
|
|
@@ -2232,92 +2231,92 @@ const $e = (a, e) => a.reduce(
|
|
|
2232
2231
|
}, 8, ["href"])) : x("", !0),
|
|
2233
2232
|
_(tt),
|
|
2234
2233
|
_(et),
|
|
2235
|
-
l.value ? (r(), k(
|
|
2234
|
+
l.value ? (r(), k(ia, { key: 1 })) : (r(), v("a", {
|
|
2236
2235
|
key: 2,
|
|
2237
2236
|
class: "header-right__login",
|
|
2238
2237
|
href: s.value,
|
|
2239
2238
|
onClick: c
|
|
2240
|
-
},
|
|
2239
|
+
}, D(h(e)("common.btn.login")), 9, ua))
|
|
2241
2240
|
]);
|
|
2242
2241
|
};
|
|
2243
2242
|
}
|
|
2244
|
-
}),
|
|
2243
|
+
}), pa = /* @__PURE__ */ B(da, [["__scopeId", "data-v-3c5e16a6"]]), ma = {
|
|
2245
2244
|
"header-bar": "",
|
|
2246
2245
|
class: "header-bar sticky top-0 z-200"
|
|
2247
|
-
},
|
|
2246
|
+
}, ha = { class: "header-bar__left" }, ga = { class: "header-bar__logo-wrap" }, fa = {
|
|
2248
2247
|
href: "/",
|
|
2249
2248
|
target: "_self",
|
|
2250
2249
|
rel: "noopener",
|
|
2251
2250
|
class: "header-bar__logo-link"
|
|
2252
|
-
},
|
|
2251
|
+
}, va = {
|
|
2253
2252
|
key: 1,
|
|
2254
2253
|
class: "header-bar__divider"
|
|
2255
|
-
},
|
|
2254
|
+
}, ya = { class: "header-bar__right" }, ba = /* @__PURE__ */ N({
|
|
2256
2255
|
__name: "HeaderBar",
|
|
2257
2256
|
setup(a) {
|
|
2258
|
-
const e =
|
|
2257
|
+
const e = K(), { isMobile: t } = ae(), n = C(
|
|
2259
2258
|
() => {
|
|
2260
2259
|
var s, o;
|
|
2261
2260
|
return !!((s = e.value.user) != null && s.id || (o = e.value.user) != null && o.userId);
|
|
2262
2261
|
}
|
|
2263
2262
|
);
|
|
2264
2263
|
return (s, o) => {
|
|
2265
|
-
const l =
|
|
2266
|
-
return r(), v("div",
|
|
2267
|
-
p("div",
|
|
2264
|
+
const l = E("el-image");
|
|
2265
|
+
return r(), v("div", ma, [
|
|
2266
|
+
p("div", ha, [
|
|
2268
2267
|
h(t) ? (r(), k(Rn, { key: 0 })) : x("", !0),
|
|
2269
|
-
p("div",
|
|
2270
|
-
p("a",
|
|
2268
|
+
p("div", ga, [
|
|
2269
|
+
p("a", fa, [
|
|
2271
2270
|
_(l, {
|
|
2272
2271
|
src: h(e).logo,
|
|
2273
2272
|
class: "h-7"
|
|
2274
2273
|
}, null, 8, ["src"])
|
|
2275
2274
|
])
|
|
2276
2275
|
]),
|
|
2277
|
-
n.value && !h(t) ? (r(), v("div",
|
|
2278
|
-
n.value && !h(t) ? (r(), k(
|
|
2276
|
+
n.value && !h(t) ? (r(), v("div", va)) : x("", !0),
|
|
2277
|
+
n.value && !h(t) ? (r(), k(tn, { key: 2 })) : x("", !0)
|
|
2279
2278
|
]),
|
|
2280
|
-
p("div",
|
|
2281
|
-
|
|
2282
|
-
h(t) ? x("", !0) : (r(), k(
|
|
2283
|
-
h(t) ? (r(), k(
|
|
2279
|
+
p("div", ya, [
|
|
2280
|
+
j(s.$slots, "default", {}, void 0, !0),
|
|
2281
|
+
h(t) ? x("", !0) : (r(), k(pa, { key: 0 })),
|
|
2282
|
+
h(t) ? (r(), k(Mn, { key: 1 })) : x("", !0)
|
|
2284
2283
|
])
|
|
2285
2284
|
]);
|
|
2286
2285
|
};
|
|
2287
2286
|
}
|
|
2288
|
-
}),
|
|
2287
|
+
}), Aa = /* @__PURE__ */ B(ba, [["__scopeId", "data-v-0ce1ab70"]]), _a = {
|
|
2289
2288
|
key: 0,
|
|
2290
2289
|
class: "min-w-0 flex-1"
|
|
2291
|
-
},
|
|
2290
|
+
}, Ca = /* @__PURE__ */ N({
|
|
2292
2291
|
__name: "AppSelectMobile",
|
|
2293
2292
|
setup(a) {
|
|
2294
|
-
const e =
|
|
2295
|
-
const
|
|
2296
|
-
return
|
|
2297
|
-
}), c = (
|
|
2298
|
-
|
|
2293
|
+
const e = K(), t = C(() => e.value.currentAppId || ""), { appList: n, getAppPath: s, findAppById: o } = Ve(), l = C(() => {
|
|
2294
|
+
const d = o(t.value);
|
|
2295
|
+
return d ? s(d) : "";
|
|
2296
|
+
}), c = (d) => {
|
|
2297
|
+
d && (location.href = d);
|
|
2299
2298
|
};
|
|
2300
|
-
return (
|
|
2299
|
+
return (d, m) => {
|
|
2301
2300
|
var f;
|
|
2302
|
-
const i =
|
|
2303
|
-
return (f = h(n)) != null && f.length ? (r(), v("div",
|
|
2301
|
+
const i = E("el-option"), y = E("el-option-group"), g = E("el-select");
|
|
2302
|
+
return (f = h(n)) != null && f.length ? (r(), v("div", _a, [
|
|
2304
2303
|
_(g, {
|
|
2305
2304
|
"model-value": l.value,
|
|
2306
2305
|
class: "w-full",
|
|
2307
2306
|
onChange: c
|
|
2308
2307
|
}, {
|
|
2309
2308
|
default: S(() => [
|
|
2310
|
-
(r(!0), v(
|
|
2311
|
-
var
|
|
2312
|
-
return r(), v(
|
|
2309
|
+
(r(!0), v(O, null, Q(h(n), (A) => {
|
|
2310
|
+
var w;
|
|
2311
|
+
return r(), v(O, {
|
|
2313
2312
|
key: A.appId
|
|
2314
2313
|
}, [
|
|
2315
|
-
(
|
|
2314
|
+
(w = A.children) != null && w.length ? (r(), k(y, {
|
|
2316
2315
|
key: 0,
|
|
2317
2316
|
label: A.name
|
|
2318
2317
|
}, {
|
|
2319
2318
|
default: S(() => [
|
|
2320
|
-
(r(!0), v(
|
|
2319
|
+
(r(!0), v(O, null, Q(A.children, (I) => (r(), k(i, {
|
|
2321
2320
|
key: I.appId,
|
|
2322
2321
|
label: I.name,
|
|
2323
2322
|
value: h(s)(I),
|
|
@@ -2338,24 +2337,24 @@ const $e = (a, e) => a.reduce(
|
|
|
2338
2337
|
])) : x("", !0);
|
|
2339
2338
|
};
|
|
2340
2339
|
}
|
|
2341
|
-
}),
|
|
2340
|
+
}), Sa = { class: "aside-user-mobile" }, Pa = { class: "flex-1" }, wa = { class: "absolute right-4 top-1/2 -translate-y-1/2" }, Ta = { class: "absolute right-4 top-1/2 -translate-y-1/2" }, ka = /* @__PURE__ */ N({
|
|
2342
2341
|
__name: "AsideUserMobile",
|
|
2343
2342
|
setup(a) {
|
|
2344
|
-
const e =
|
|
2343
|
+
const e = K(), t = C(() => e.value.user || {}), n = C(() => !!(t.value.id || t.value.userId)), s = C(() => t.value.name || t.value.username), o = () => {
|
|
2345
2344
|
var l, c;
|
|
2346
|
-
(c = (l = e.value).onLogin) != null && c.call(l) ||
|
|
2345
|
+
(c = (l = e.value).onLogin) != null && c.call(l) || ce(e.value);
|
|
2347
2346
|
};
|
|
2348
2347
|
return (l, c) => {
|
|
2349
|
-
const
|
|
2348
|
+
const d = E("el-icon");
|
|
2350
2349
|
return n.value ? (r(), k(nt, { key: 0 }, {
|
|
2351
2350
|
reference: S(() => [
|
|
2352
|
-
p("div",
|
|
2351
|
+
p("div", Sa, [
|
|
2353
2352
|
c[0] || (c[0] = p("div", { class: "aside-user-mobile__icon text-lg" }, [
|
|
2354
2353
|
p("i", { class: "metisicon-yonghu1" })
|
|
2355
2354
|
], -1)),
|
|
2356
|
-
p("div", Pa,
|
|
2357
|
-
p("div",
|
|
2358
|
-
_(
|
|
2355
|
+
p("div", Pa, D(s.value), 1),
|
|
2356
|
+
p("div", wa, [
|
|
2357
|
+
_(d, null, {
|
|
2359
2358
|
default: S(() => [
|
|
2360
2359
|
_(h(he))
|
|
2361
2360
|
]),
|
|
@@ -2374,8 +2373,8 @@ const $e = (a, e) => a.reduce(
|
|
|
2374
2373
|
p("i", { class: "metisicon-yonghu1" })
|
|
2375
2374
|
], -1)),
|
|
2376
2375
|
c[2] || (c[2] = p("div", { class: "flex-1" }, "登录/注册", -1)),
|
|
2377
|
-
p("div",
|
|
2378
|
-
_(
|
|
2376
|
+
p("div", Ta, [
|
|
2377
|
+
_(d, null, {
|
|
2379
2378
|
default: S(() => [
|
|
2380
2379
|
_(h(he))
|
|
2381
2380
|
]),
|
|
@@ -2385,17 +2384,17 @@ const $e = (a, e) => a.reduce(
|
|
|
2385
2384
|
]));
|
|
2386
2385
|
};
|
|
2387
2386
|
}
|
|
2388
|
-
}),
|
|
2387
|
+
}), Ia = /* @__PURE__ */ B(ka, [["__scopeId", "data-v-c56964a5"]]), La = { class: "aside-bar-mobile__head flex items-center gap-3" }, xa = { class: "p-3" }, Ea = /* @__PURE__ */ N({
|
|
2389
2388
|
__name: "AsideBarMobile",
|
|
2390
2389
|
setup(a) {
|
|
2391
|
-
const { menus: e, sideOpen: t } =
|
|
2390
|
+
const { menus: e, sideOpen: t } = ae(), n = () => void (t.value = !1);
|
|
2392
2391
|
return (s, o) => {
|
|
2393
|
-
const l =
|
|
2392
|
+
const l = E("el-icon"), c = E("el-scrollbar");
|
|
2394
2393
|
return h(e).length && !s.$route.meta.hideSidebar ? (r(), v("div", {
|
|
2395
2394
|
key: 0,
|
|
2396
2395
|
class: H(["aside-bar-mobile fixed inset-y-0 left-0 z-200 flex min-h-0 flex-col transition-transform", [h(t) ? "translate-x-[0px]" : "translate-x-[-100%]"]])
|
|
2397
2396
|
}, [
|
|
2398
|
-
p("div",
|
|
2397
|
+
p("div", La, [
|
|
2399
2398
|
p("button", {
|
|
2400
2399
|
type: "button",
|
|
2401
2400
|
class: "aside-bar-mobile__close",
|
|
@@ -2404,62 +2403,67 @@ const $e = (a, e) => a.reduce(
|
|
|
2404
2403
|
}, [
|
|
2405
2404
|
_(l, null, {
|
|
2406
2405
|
default: S(() => [
|
|
2407
|
-
_(h(
|
|
2406
|
+
_(h(Ue))
|
|
2408
2407
|
]),
|
|
2409
2408
|
_: 1
|
|
2410
2409
|
})
|
|
2411
2410
|
]),
|
|
2412
|
-
_(
|
|
2411
|
+
_(Ca)
|
|
2413
2412
|
]),
|
|
2414
2413
|
_(c, { ref: "leftScrollRef" }, {
|
|
2415
2414
|
default: S(() => [
|
|
2416
|
-
p("div",
|
|
2415
|
+
p("div", xa, [
|
|
2417
2416
|
_(Ge, { menus: h(e) }, null, 8, ["menus"])
|
|
2418
2417
|
])
|
|
2419
2418
|
]),
|
|
2420
2419
|
_: 1
|
|
2421
2420
|
}, 512),
|
|
2422
|
-
|
|
2423
|
-
_(
|
|
2421
|
+
j(s.$slots, "sidebar-foot", {}, void 0, !0),
|
|
2422
|
+
_(Ia)
|
|
2424
2423
|
], 2)) : x("", !0);
|
|
2425
2424
|
};
|
|
2426
2425
|
}
|
|
2427
|
-
}), Da = /* @__PURE__ */ B(Ma, [["__scopeId", "data-v-05675378"]]), Na = "data:image/png;base64,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", Ba = { class: "layout-shell w-full flex flex-col" }, Ua = { class: "layout-shell__body flex flex-1 min-h-0 overflow-hidden" }, Ra = { class: "layout-shell__main flex flex-col flex-1 min-h-0 min-w-0 h-full" }, Ka = { class: "layout-shell__content flex-1 w-full min-h-0 flex flex-col overflow-hidden" }, Ja = /* @__PURE__ */ N({
|
|
2426
|
+
}), Ma = /* @__PURE__ */ B(Ea, [["__scopeId", "data-v-05675378"]]), Da = "data:image/png;base64,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", Na = { class: "layout-shell w-full flex flex-col" }, Ba = { class: "layout-shell__body flex flex-1 min-h-0 overflow-hidden" }, Ra = { class: "layout-shell__main flex flex-col flex-1 min-h-0 min-w-0 h-full" }, Ua = { class: "layout-shell__content flex-1 w-full min-h-0 flex flex-col overflow-hidden" }, Ka = /* @__PURE__ */ N({
|
|
2428
2427
|
__name: "BaseLayout",
|
|
2429
2428
|
props: {
|
|
2430
2429
|
setting: {}
|
|
2431
2430
|
},
|
|
2432
2431
|
setup(a) {
|
|
2433
2432
|
const e = a, t = C(() => {
|
|
2434
|
-
var g, f, A,
|
|
2433
|
+
var g, f, A, w, I, J, L, R, z, q, Y, u;
|
|
2435
2434
|
return {
|
|
2436
2435
|
...e.setting || {},
|
|
2437
|
-
logo: ((g = e.setting) == null ? void 0 : g.logo) ||
|
|
2436
|
+
logo: ((g = e.setting) == null ? void 0 : g.logo) || Da,
|
|
2438
2437
|
menus: ((f = e.setting) == null ? void 0 : f.menus) || [],
|
|
2439
2438
|
accountMenu: ((A = e.setting) == null ? void 0 : A.accountMenu) || [],
|
|
2440
|
-
user: ((
|
|
2439
|
+
user: ((w = e.setting) == null ? void 0 : w.user) ?? null,
|
|
2441
2440
|
appList: ((I = e.setting) == null ? void 0 : I.appList) || [],
|
|
2442
|
-
onLogin: (
|
|
2443
|
-
onLogout: (L = e.setting) == null ? void 0 : L.onLogout
|
|
2441
|
+
onLogin: (J = e.setting) == null ? void 0 : J.onLogin,
|
|
2442
|
+
onLogout: (L = e.setting) == null ? void 0 : L.onLogout,
|
|
2443
|
+
currentEndRoute: (R = e.setting) == null ? void 0 : R.currentEndRoute,
|
|
2444
|
+
currentEndParentRoute: (z = e.setting) == null ? void 0 : z.currentEndParentRoute,
|
|
2445
|
+
currentAppId: (q = e.setting) == null ? void 0 : q.currentAppId,
|
|
2446
|
+
defaultParentActive: (Y = e.setting) == null ? void 0 : Y.defaultParentActive,
|
|
2447
|
+
currentTabPath: (u = e.setting) == null ? void 0 : u.currentTabPath
|
|
2444
2448
|
};
|
|
2445
2449
|
});
|
|
2446
|
-
|
|
2447
|
-
const { isMobile: n, sideOpen: s, initLayoutState: o } =
|
|
2450
|
+
Re(() => void Et(t.value));
|
|
2451
|
+
const { isMobile: n, sideOpen: s, initLayoutState: o } = ae();
|
|
2448
2452
|
o();
|
|
2449
2453
|
let l = "", c = !1;
|
|
2450
|
-
const
|
|
2454
|
+
const d = () => void (s.value = !1), m = (g) => {
|
|
2451
2455
|
const f = g.matched[1];
|
|
2452
2456
|
if (!f) return g.path;
|
|
2453
2457
|
const A = i(f, g);
|
|
2454
2458
|
return [f.path, A].filter(Boolean).join("|");
|
|
2455
2459
|
}, i = (g, f) => Array.from(
|
|
2456
2460
|
g.path.matchAll(/:(\w+)/g),
|
|
2457
|
-
([,
|
|
2458
|
-
).map((
|
|
2459
|
-
const I = f.params[
|
|
2460
|
-
return `${
|
|
2461
|
+
([, w]) => w
|
|
2462
|
+
).map((w) => {
|
|
2463
|
+
const I = f.params[w];
|
|
2464
|
+
return `${w}:${Array.isArray(I) ? I.join(",") : I || ""}`;
|
|
2461
2465
|
}).join("|"), y = (g) => {
|
|
2462
|
-
g.key === "Escape" && n.value && s.value &&
|
|
2466
|
+
g.key === "Escape" && n.value && s.value && d();
|
|
2463
2467
|
};
|
|
2464
2468
|
return ye(
|
|
2465
2469
|
() => n.value && s.value,
|
|
@@ -2478,20 +2482,20 @@ const $e = (a, e) => a.reduce(
|
|
|
2478
2482
|
}), Ne(() => {
|
|
2479
2483
|
window.removeEventListener("keydown", y), typeof document < "u" && c && (document.body.style.overflow = l);
|
|
2480
2484
|
}), (g, f) => {
|
|
2481
|
-
const A =
|
|
2482
|
-
return r(), v("div",
|
|
2483
|
-
_(
|
|
2485
|
+
const A = E("router-view");
|
|
2486
|
+
return r(), v("div", Na, [
|
|
2487
|
+
_(Aa, null, {
|
|
2484
2488
|
default: S(() => [
|
|
2485
|
-
|
|
2489
|
+
j(g.$slots, "header-right", {}, void 0, !0)
|
|
2486
2490
|
]),
|
|
2487
2491
|
_: 3
|
|
2488
2492
|
}),
|
|
2489
|
-
p("div",
|
|
2490
|
-
h(n) ? (r(), k(
|
|
2493
|
+
p("div", Ba, [
|
|
2494
|
+
h(n) ? (r(), k(Ma, { key: 1 })) : (r(), k(qt, { key: 0 })),
|
|
2491
2495
|
p("main", Ra, [
|
|
2492
|
-
p("div",
|
|
2496
|
+
p("div", Ua, [
|
|
2493
2497
|
_(A, null, {
|
|
2494
|
-
default: S(({ Component:
|
|
2498
|
+
default: S(({ Component: w, route: I }) => [
|
|
2495
2499
|
_(Ie, {
|
|
2496
2500
|
name: String(I.meta.transition || "layout-page"),
|
|
2497
2501
|
mode: "out-in"
|
|
@@ -2501,7 +2505,7 @@ const $e = (a, e) => a.reduce(
|
|
|
2501
2505
|
key: m(I),
|
|
2502
2506
|
class: "layout-page-view"
|
|
2503
2507
|
}, [
|
|
2504
|
-
(r(), k(be(
|
|
2508
|
+
(r(), k(be(w)))
|
|
2505
2509
|
]))
|
|
2506
2510
|
]),
|
|
2507
2511
|
_: 2
|
|
@@ -2517,7 +2521,7 @@ const $e = (a, e) => a.reduce(
|
|
|
2517
2521
|
h(n) && h(s) ? (r(), v("div", {
|
|
2518
2522
|
key: 0,
|
|
2519
2523
|
class: "layout-shell__overlay",
|
|
2520
|
-
onClick:
|
|
2524
|
+
onClick: d
|
|
2521
2525
|
})) : x("", !0)
|
|
2522
2526
|
]),
|
|
2523
2527
|
_: 1
|
|
@@ -2525,18 +2529,18 @@ const $e = (a, e) => a.reduce(
|
|
|
2525
2529
|
]);
|
|
2526
2530
|
};
|
|
2527
2531
|
}
|
|
2528
|
-
}),
|
|
2532
|
+
}), ja = /* @__PURE__ */ B(Ka, [["__scopeId", "data-v-30c088a0"]]);
|
|
2529
2533
|
export {
|
|
2530
|
-
|
|
2534
|
+
ja as BaseLayout,
|
|
2531
2535
|
tt as LanguageSelect,
|
|
2532
|
-
|
|
2536
|
+
za as LayoutBreadcrumb,
|
|
2533
2537
|
et as ThemeToggle,
|
|
2534
|
-
|
|
2538
|
+
Za as TimezoneSelect,
|
|
2535
2539
|
Me as UserAvatar,
|
|
2536
|
-
|
|
2537
|
-
|
|
2538
|
-
|
|
2540
|
+
ia as UserInfo,
|
|
2541
|
+
ue as i18n,
|
|
2542
|
+
le as messages,
|
|
2539
2543
|
Ve as useApp,
|
|
2540
|
-
|
|
2544
|
+
K as useSetting,
|
|
2541
2545
|
je as useTheme
|
|
2542
2546
|
};
|