jmash-core 0.1.16 → 0.1.18

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.
Files changed (35) hide show
  1. package/dist/{401-KAeiuNjv.mjs → 401-D6Q94FzV.mjs} +1 -1
  2. package/dist/{404-acqFGqEv.mjs → 404-DhAbpKMM.mjs} +1 -1
  3. package/dist/{BarChart-wJtn8Ow_.mjs → BarChart-CRekzHxP.mjs} +1 -1
  4. package/dist/{index-BhlOqpSI.mjs → index-1lsWqWL5.mjs} +3 -3
  5. package/dist/{index-Crx8EUrV.mjs → index-BrR5K1DU.mjs} +2459 -2413
  6. package/dist/{index-CMJKWgJS.mjs → index-CnulSJWc.mjs} +12 -12
  7. package/dist/{index-D1KMMIxN.mjs → index-DP79aUrH.mjs} +15 -15
  8. package/dist/index-DgZeveji.mjs +2164 -0
  9. package/dist/index-xCPCjZu8.mjs +463 -0
  10. package/dist/index.mjs +54 -52
  11. package/dist/index.vue_vue_type_script_setup_true_lang-Dj7pKP1u.mjs +130 -0
  12. package/dist/{profile-DrNc9zRG.mjs → profile-rd1rLI2V.mjs} +17 -17
  13. package/dist/{runAs-Bnicmqn-.mjs → runAs-DaaarFVR.mjs} +1 -1
  14. package/dist/{runAs.vue_vue_type_script_setup_true_lang-DCtZwltr.mjs → runAs.vue_vue_type_script_setup_true_lang-C-1uRJoS.mjs} +138 -138
  15. package/dist/style.css +1 -1
  16. package/dist/{types-LJiNV7Za.mjs → types-hlyKOzFS.mjs} +10 -10
  17. package/dist/{updatePwd-C5bezsVR.mjs → updatePwd-CYG_P7Xc.mjs} +1 -1
  18. package/dist/{updatePwd.vue_vue_type_script_setup_true_lang-B7WfsD0M.mjs → updatePwd.vue_vue_type_script_setup_true_lang-B1eIL13s.mjs} +12 -12
  19. package/dts/src/api/auth/index.d.ts +2 -1
  20. package/dts/src/api/auth/types.d.ts +12 -0
  21. package/dts/src/api/change/index.d.ts +13 -0
  22. package/dts/src/api/change/types.d.ts +26 -0
  23. package/dts/src/components/ForgetPwd/index.vue.d.ts +6 -0
  24. package/dts/src/components/GraphicValidate/index.vue.d.ts +8 -0
  25. package/dts/src/components/GraphicVerification/index.vue.d.ts +8 -0
  26. package/dts/src/components/JmashMultiImageUpload/index.vue.d.ts +1 -1
  27. package/dts/src/components/NameValidate/index.vue.d.ts +63 -0
  28. package/dts/src/index.d.ts +2 -2
  29. package/dts/src/lang/package/zh-cn.d.ts +38 -1
  30. package/dts/src/layout/components/NavBar/components/ChangePhoneEmail.vue.d.ts +6 -0
  31. package/dts/src/layout/components/NavBar/components/ChangeWechatBind.vue.d.ts +10 -0
  32. package/dts/src/layout/components/NavBar/components/QrCode.vue.d.ts +18 -0
  33. package/package.json +1 -1
  34. package/dist/index-Cag9NoGd.mjs +0 -1633
  35. package/dist/index-hX78lDCk.mjs +0 -244
@@ -0,0 +1,2164 @@
1
+ import { u as ne, _ as de, E as Ge, a as ue, s as Re, v as Ye, b as Je, c as Ze, d as et, e as X, S as tt, f as Te, g as le, D as ge, h as nt, i as ot, j as at, k as pe, l as Ne, r as qe, m as _e, T as ye, n as lt, o as it, p as rt, q as ve, t as st } from "./index-BrR5K1DU.mjs";
2
+ import { defineComponent as B, ref as I, resolveComponent as w, createBlock as V, openBlock as m, withCtx as p, createElementVNode as k, createVNode as d, createElementBlock as S, Fragment as J, renderList as me, unref as i, createTextVNode as R, toDisplayString as M, useModel as Ae, mergeModels as xe, reactive as ct, resolveDirective as ut, withDirectives as Be, computed as z, createCommentVNode as P, isRef as ae, watch as re, onBeforeMount as dt, TransitionGroup as mt, withModifiers as fe, normalizeClass as G, Transition as Oe, KeepAlive as ft, resolveDynamicComponent as Ee, getCurrentInstance as pt, nextTick as De, onMounted as ze, normalizeStyle as vt, vShow as _t, normalizeProps as ht, guardReactiveProps as gt, renderSlot as bt, watchEffect as Ct } from "vue";
3
+ import { useRoute as he, useRouter as Me } from "vue-router";
4
+ import { _ as wt } from "./updatePwd.vue_vue_type_script_setup_true_lang-B1eIL13s.mjs";
5
+ import { useI18n as Pe } from "vue-i18n";
6
+ import { ElMessage as Fe } from "element-plus";
7
+ import { _ as ke, a as Se } from "./index.vue_vue_type_script_setup_true_lang-Dj7pKP1u.mjs";
8
+ import { _ as yt, E as Vt } from "./runAs.vue_vue_type_script_setup_true_lang-C-1uRJoS.mjs";
9
+ import { storeToRefs as xt } from "pinia";
10
+ const kt = /* @__PURE__ */ B({
11
+ __name: "index",
12
+ setup(l) {
13
+ const e = ne(), t = I([
14
+ { label: "默认", value: "default" },
15
+ { label: "大型", value: "large" },
16
+ { label: "小型", value: "small" }
17
+ ]);
18
+ function o(s) {
19
+ e.changeSize(s), Ge.success("切换布局大小成功");
20
+ }
21
+ return (s, n) => {
22
+ const a = de, r = w("el-dropdown-item"), u = w("el-dropdown-menu"), v = w("el-dropdown");
23
+ return m(), V(v, {
24
+ trigger: "click",
25
+ onCommand: o
26
+ }, {
27
+ dropdown: p(() => [
28
+ d(u, null, {
29
+ default: p(() => [
30
+ (m(!0), S(J, null, me(i(t), (_) => (m(), V(r, {
31
+ key: _.value,
32
+ disabled: i(e).size == _.value,
33
+ command: _.value
34
+ }, {
35
+ default: p(() => [
36
+ R(M(_.label), 1)
37
+ ]),
38
+ _: 2
39
+ }, 1032, ["disabled", "command"]))), 128))
40
+ ]),
41
+ _: 1
42
+ })
43
+ ]),
44
+ default: p(() => [
45
+ k("div", null, [
46
+ d(a, { "icon-class": "size" })
47
+ ])
48
+ ]),
49
+ _: 1
50
+ });
51
+ };
52
+ }
53
+ });
54
+ class St {
55
+ // 更换手机号邮箱
56
+ phoneEmail(e) {
57
+ return e.tenant = ue().user.tenant, Re({
58
+ url: "/v1/rbac/change/phone_email",
59
+ method: "post",
60
+ data: e
61
+ });
62
+ }
63
+ // 更换微信用户绑定
64
+ /**
65
+ * 绑定微信账号
66
+ * @param {WechatBindReq} data - 微信绑定请求参数
67
+ * @returns {AxiosPromise<boolean>} 返回绑定操作的结果Promise,成功时为true
68
+ */
69
+ wechatBind(e) {
70
+ return e.tenant = ue().user.tenant, e.authorizerAppid = Ye.APP_WECHAT_APPID, Re({
71
+ url: "/v1/rbac/change/wechat_bind",
72
+ method: "post",
73
+ data: e
74
+ });
75
+ }
76
+ }
77
+ const We = new St(), $t = { class: "dialog-footer" }, Tt = /* @__PURE__ */ B({
78
+ __name: "ChangePhoneEmail",
79
+ props: {
80
+ modelValue: { type: Boolean },
81
+ modelModifiers: {}
82
+ },
83
+ emits: ["update:modelValue"],
84
+ setup(l) {
85
+ var _, c;
86
+ const e = ue(), { t } = Pe(), o = Ae(l, "modelValue");
87
+ function s() {
88
+ o.value && (o.value = !1);
89
+ }
90
+ const n = I(), a = I({
91
+ newName: "",
92
+ newValidCode: "",
93
+ oldName: ((_ = e.user) == null ? void 0 : _.mobilePhoneIns) ?? ((c = e.user) == null ? void 0 : c.emailIns),
94
+ oldValidCode: "",
95
+ requestId: Math.random() * 10 + ""
96
+ }), r = (f, h, g) => {
97
+ h ? !Je(h) && !Ze(h) ? g(new Error(t("change.nameError"))) : g() : g(new Error(t(`change.${f.field}Required`)));
98
+ }, u = I({
99
+ oldName: [
100
+ {
101
+ required: !0,
102
+ message: t("change.oldNameRequired"),
103
+ trigger: "blur"
104
+ }
105
+ ],
106
+ oldCaptchaCode: [
107
+ {
108
+ required: !0,
109
+ message: t("change.oldCaptchaCodeRequired"),
110
+ trigger: "blur"
111
+ }
112
+ ],
113
+ newCaptchaCode: [
114
+ {
115
+ required: !0,
116
+ message: t("change.oldCaptchaCodeRequired"),
117
+ trigger: "blur"
118
+ }
119
+ ],
120
+ oldValidCode: [
121
+ {
122
+ required: !0,
123
+ message: t("change.oldValidCodeRequired"),
124
+ trigger: "blur"
125
+ }
126
+ ],
127
+ newName: [
128
+ {
129
+ required: !0,
130
+ validator: r,
131
+ trigger: "blur"
132
+ }
133
+ ],
134
+ newValidCode: [
135
+ {
136
+ required: !0,
137
+ message: t("change.newValidCodeRequired"),
138
+ trigger: "blur"
139
+ }
140
+ ]
141
+ });
142
+ function v() {
143
+ var f;
144
+ (f = n.value) == null || f.validate((h) => {
145
+ if (!h) return;
146
+ const g = {
147
+ requestId: a.value.requestId,
148
+ oldValidCode: a.value.oldValidCode,
149
+ newName: a.value.newName,
150
+ newValidCode: a.value.newValidCode
151
+ };
152
+ We.phoneEmail(g).then(($) => {
153
+ $.status === 200 && (s(), Fe.success(t("change.nameSuccess")), e.getUserInfo());
154
+ });
155
+ });
156
+ }
157
+ return (f, h) => {
158
+ const g = w("el-input"), $ = w("el-form-item"), x = w("el-col"), T = w("el-row"), q = w("el-form"), C = w("el-button"), N = w("el-dialog");
159
+ return m(), V(N, {
160
+ modelValue: o.value,
161
+ "onUpdate:modelValue": h[8] || (h[8] = (A) => o.value = A),
162
+ onClose: s
163
+ }, {
164
+ footer: p(() => [
165
+ k("div", $t, [
166
+ d(C, { onClick: s }, {
167
+ default: p(() => [
168
+ R(M(f.$t("common.cancel")), 1)
169
+ ]),
170
+ _: 1
171
+ }),
172
+ d(C, {
173
+ type: "primary",
174
+ onClick: v
175
+ }, {
176
+ default: p(() => [
177
+ R(M(f.$t("common.confirm")), 1)
178
+ ]),
179
+ _: 1
180
+ })
181
+ ])
182
+ ]),
183
+ default: p(() => [
184
+ d(q, {
185
+ ref_key: "formRef",
186
+ ref: n,
187
+ model: a.value,
188
+ rules: u.value,
189
+ size: "large"
190
+ }, {
191
+ default: p(() => [
192
+ d(T, null, {
193
+ default: p(() => [
194
+ d(x, { span: 24 }, {
195
+ default: p(() => [
196
+ d($, { prop: "oldName" }, {
197
+ default: p(() => [
198
+ d(g, {
199
+ modelValue: a.value.oldName,
200
+ "onUpdate:modelValue": h[0] || (h[0] = (A) => a.value.oldName = A),
201
+ readonly: ""
202
+ }, null, 8, ["modelValue"])
203
+ ]),
204
+ _: 1
205
+ })
206
+ ]),
207
+ _: 1
208
+ }),
209
+ d(x, { span: 24 }, {
210
+ default: p(() => [
211
+ d($, { prop: "oldCaptchaCode" }, {
212
+ default: p(() => [
213
+ d(ke, {
214
+ "captcha-id": a.value.oldCaptchaId,
215
+ "onUpdate:captchaId": h[1] || (h[1] = (A) => a.value.oldCaptchaId = A),
216
+ "captcha-code": a.value.oldCaptchaCode,
217
+ "onUpdate:captchaCode": h[2] || (h[2] = (A) => a.value.oldCaptchaCode = A),
218
+ placeholder: f.$t("change.oldCaptchaCode")
219
+ }, null, 8, ["captcha-id", "captcha-code", "placeholder"])
220
+ ]),
221
+ _: 1
222
+ })
223
+ ]),
224
+ _: 1
225
+ }),
226
+ d(x, { span: 24 }, {
227
+ default: p(() => [
228
+ d($, { prop: "oldValidCode" }, {
229
+ default: p(() => {
230
+ var A, L;
231
+ return [
232
+ d(Se, {
233
+ name: ((A = i(e).user) == null ? void 0 : A.mobilePhone) ?? ((L = i(e).user) == null ? void 0 : L.email),
234
+ "validate-field": ["oldName", "oldCaptchaCode"],
235
+ "captcha-id": a.value.oldCaptchaId,
236
+ "captcha-code": a.value.oldCaptchaCode,
237
+ "form-ref": n.value,
238
+ placeholder: f.$t("change.oldValidCode"),
239
+ modelValue: a.value.oldValidCode,
240
+ "onUpdate:modelValue": h[3] || (h[3] = (E) => a.value.oldValidCode = E)
241
+ }, null, 8, ["name", "captcha-id", "captcha-code", "form-ref", "placeholder", "modelValue"])
242
+ ];
243
+ }),
244
+ _: 1
245
+ })
246
+ ]),
247
+ _: 1
248
+ }),
249
+ d(x, { span: 24 }, {
250
+ default: p(() => [
251
+ d($, { prop: "newName" }, {
252
+ default: p(() => [
253
+ d(g, {
254
+ modelValue: a.value.newName,
255
+ "onUpdate:modelValue": h[4] || (h[4] = (A) => a.value.newName = A),
256
+ placeholder: f.$t("change.newName"),
257
+ "show-word-limit": "",
258
+ clearable: ""
259
+ }, null, 8, ["modelValue", "placeholder"])
260
+ ]),
261
+ _: 1
262
+ })
263
+ ]),
264
+ _: 1
265
+ }),
266
+ d(x, { span: 24 }, {
267
+ default: p(() => [
268
+ d($, { prop: "newCaptchaCode" }, {
269
+ default: p(() => [
270
+ d(ke, {
271
+ "captcha-id": a.value.newCaptchaId,
272
+ "onUpdate:captchaId": h[5] || (h[5] = (A) => a.value.newCaptchaId = A),
273
+ "captcha-code": a.value.newCaptchaCode,
274
+ "onUpdate:captchaCode": h[6] || (h[6] = (A) => a.value.newCaptchaCode = A),
275
+ placeholder: f.$t("change.newCaptchaCode")
276
+ }, null, 8, ["captcha-id", "captcha-code", "placeholder"])
277
+ ]),
278
+ _: 1
279
+ })
280
+ ]),
281
+ _: 1
282
+ }),
283
+ d(x, { span: 24 }, {
284
+ default: p(() => [
285
+ d($, { prop: "newValidCode" }, {
286
+ default: p(() => [
287
+ d(Se, {
288
+ name: a.value.newName,
289
+ "validate-field": ["newName", "newCaptchaCode"],
290
+ "captcha-id": a.value.newCaptchaId,
291
+ "captcha-code": a.value.newCaptchaCode,
292
+ "form-ref": n.value,
293
+ placeholder: f.$t("change.newValidCode"),
294
+ modelValue: a.value.newValidCode,
295
+ "onUpdate:modelValue": h[7] || (h[7] = (A) => a.value.newValidCode = A)
296
+ }, null, 8, ["name", "captcha-id", "captcha-code", "form-ref", "placeholder", "modelValue"])
297
+ ]),
298
+ _: 1
299
+ })
300
+ ]),
301
+ _: 1
302
+ })
303
+ ]),
304
+ _: 1
305
+ })
306
+ ]),
307
+ _: 1
308
+ }, 8, ["model", "rules"])
309
+ ]),
310
+ _: 1
311
+ }, 8, ["modelValue"]);
312
+ };
313
+ }
314
+ }), At = { class: "dialog-footer" }, Et = /* @__PURE__ */ B({
315
+ __name: "ChangeWechatBind",
316
+ props: {
317
+ modelValue: { type: Boolean },
318
+ modelModifiers: {}
319
+ },
320
+ emits: /* @__PURE__ */ xe(["next"], ["update:modelValue"]),
321
+ setup(l, { emit: e }) {
322
+ const { t } = Pe(), o = ue(), s = Ae(l, "modelValue");
323
+ function n() {
324
+ s.value && (s.value = !1);
325
+ }
326
+ const a = I(), r = I({
327
+ validCode: ""
328
+ }), u = ct({
329
+ captchaCode: [
330
+ {
331
+ required: !0,
332
+ message: t("change.oldCaptchaCodeRequired"),
333
+ trigger: "blur"
334
+ }
335
+ ],
336
+ validCode: [
337
+ {
338
+ required: !0,
339
+ message: t("change.validCodeRequired"),
340
+ trigger: "blur"
341
+ }
342
+ ]
343
+ }), v = e;
344
+ function _() {
345
+ var c;
346
+ (c = a.value) == null || c.validate((f) => {
347
+ f && v("next", r.value.validCode);
348
+ });
349
+ }
350
+ return (c, f) => {
351
+ const h = w("el-input"), g = w("el-form-item"), $ = w("el-col"), x = w("el-row"), T = w("el-form"), q = w("el-button"), C = w("el-dialog");
352
+ return m(), V(C, {
353
+ modelValue: s.value,
354
+ "onUpdate:modelValue": f[3] || (f[3] = (N) => s.value = N),
355
+ onClose: n
356
+ }, {
357
+ footer: p(() => [
358
+ k("div", At, [
359
+ d(q, { onClick: n }, {
360
+ default: p(() => [
361
+ R(M(c.$t("common.cancel")), 1)
362
+ ]),
363
+ _: 1
364
+ }),
365
+ d(q, {
366
+ type: "primary",
367
+ onClick: _
368
+ }, {
369
+ default: p(() => [
370
+ R(M(c.$t("common.next")), 1)
371
+ ]),
372
+ _: 1
373
+ })
374
+ ])
375
+ ]),
376
+ default: p(() => [
377
+ d(T, {
378
+ ref_key: "formRef",
379
+ ref: a,
380
+ model: r.value,
381
+ rules: i(u),
382
+ size: "large"
383
+ }, {
384
+ default: p(() => [
385
+ d(x, null, {
386
+ default: p(() => [
387
+ d($, { span: 24 }, {
388
+ default: p(() => [
389
+ d(g, null, {
390
+ default: p(() => {
391
+ var N, A;
392
+ return [
393
+ d(h, {
394
+ value: ((N = i(o).user) == null ? void 0 : N.mobilePhoneIns) ?? ((A = i(o).user) == null ? void 0 : A.emailIns),
395
+ placeholder: c.$t("change.name"),
396
+ readonly: ""
397
+ }, null, 8, ["value", "placeholder"])
398
+ ];
399
+ }),
400
+ _: 1
401
+ })
402
+ ]),
403
+ _: 1
404
+ }),
405
+ d($, { span: 24 }, {
406
+ default: p(() => [
407
+ d(g, { prop: "captchaCode" }, {
408
+ default: p(() => [
409
+ d(ke, {
410
+ "captcha-id": r.value.captchaId,
411
+ "onUpdate:captchaId": f[0] || (f[0] = (N) => r.value.captchaId = N),
412
+ "captcha-code": r.value.captchaCode,
413
+ "onUpdate:captchaCode": f[1] || (f[1] = (N) => r.value.captchaCode = N),
414
+ placeholder: c.$t("change.oldCaptchaCode")
415
+ }, null, 8, ["captcha-id", "captcha-code", "placeholder"])
416
+ ]),
417
+ _: 1
418
+ })
419
+ ]),
420
+ _: 1
421
+ }),
422
+ d($, { span: 24 }, {
423
+ default: p(() => [
424
+ d(g, { prop: "validCode" }, {
425
+ default: p(() => {
426
+ var N, A;
427
+ return [
428
+ d(Se, {
429
+ name: ((N = i(o).user) == null ? void 0 : N.mobilePhone) ?? ((A = i(o).user) == null ? void 0 : A.email),
430
+ "validate-field": ["name", "captchaCode"],
431
+ "captcha-id": r.value.captchaId,
432
+ "captcha-code": r.value.captchaCode,
433
+ "form-ref": a.value,
434
+ placeholder: c.$t("change.validCode"),
435
+ modelValue: r.value.validCode,
436
+ "onUpdate:modelValue": f[2] || (f[2] = (L) => r.value.validCode = L)
437
+ }, null, 8, ["name", "captcha-id", "captcha-code", "form-ref", "placeholder", "modelValue"])
438
+ ];
439
+ }),
440
+ _: 1
441
+ })
442
+ ]),
443
+ _: 1
444
+ })
445
+ ]),
446
+ _: 1
447
+ })
448
+ ]),
449
+ _: 1
450
+ }, 8, ["model", "rules"])
451
+ ]),
452
+ _: 1
453
+ }, 8, ["modelValue"]);
454
+ };
455
+ }
456
+ }), Mt = { class: "flex justify-center items-center" }, Pt = ["src"], Lt = { class: "dialog-footer" }, It = /* @__PURE__ */ B({
457
+ __name: "QrCode",
458
+ props: /* @__PURE__ */ xe({
459
+ validCode: {
460
+ type: String,
461
+ required: !0
462
+ }
463
+ }, {
464
+ modelValue: { type: Boolean },
465
+ modelModifiers: {}
466
+ }),
467
+ emits: /* @__PURE__ */ xe(["last"], ["update:modelValue"]),
468
+ setup(l, { emit: e }) {
469
+ const t = ue(), { t: o } = Pe(), s = Ae(l, "modelValue");
470
+ function n() {
471
+ s.value && (s.value = !1);
472
+ }
473
+ const r = I({
474
+ validCode: l.validCode
475
+ }), u = I(!0), v = I({});
476
+ function _() {
477
+ et().then(({ data: g }) => {
478
+ v.value = g, u.value = !1, r.value.ticket = g.ticket, r.value.requestId = Math.random() * 10 + "";
479
+ });
480
+ }
481
+ _();
482
+ const c = e;
483
+ function f() {
484
+ n(), c("last");
485
+ }
486
+ function h() {
487
+ We.wechatBind(r.value).then((g) => {
488
+ g.status === 200 ? (n(), Fe.success(o("change.wechatBindSuccess")), t.getUserInfo()) : f();
489
+ });
490
+ }
491
+ return (g, $) => {
492
+ const x = w("el-button"), T = w("el-dialog"), q = ut("loading");
493
+ return m(), V(T, {
494
+ modelValue: s.value,
495
+ "onUpdate:modelValue": $[0] || ($[0] = (C) => s.value = C),
496
+ onClose: n
497
+ }, {
498
+ footer: p(() => [
499
+ k("div", Lt, [
500
+ d(x, {
501
+ type: "primary",
502
+ onClick: f
503
+ }, {
504
+ default: p(() => [
505
+ R(M(g.$t("common.last")), 1)
506
+ ]),
507
+ _: 1
508
+ }),
509
+ d(x, {
510
+ type: "primary",
511
+ onClick: h
512
+ }, {
513
+ default: p(() => [
514
+ R(M(g.$t("common.confirm")), 1)
515
+ ]),
516
+ _: 1
517
+ })
518
+ ])
519
+ ]),
520
+ default: p(() => [
521
+ Be((m(), S("div", Mt, [
522
+ k("img", {
523
+ style: { width: "320px", height: "320px" },
524
+ src: v.value.qrcodeUrl,
525
+ alt: "二维码"
526
+ }, null, 8, Pt)
527
+ ])), [
528
+ [q, u.value]
529
+ ])
530
+ ]),
531
+ _: 1
532
+ }, 8, ["modelValue"]);
533
+ };
534
+ }
535
+ }), Rt = /* @__PURE__ */ X(It, [["__scopeId", "data-v-4f1f1fd3"]]), Nt = { class: "flex" }, qt = { class: "flex-center h100% p10px" }, Dt = ["src"], Ut = { key: 0 }, Bt = /* @__PURE__ */ B({
536
+ __name: "NavbarRight",
537
+ setup(l) {
538
+ const e = new tt(), t = ne(), o = Te(), s = ue(), n = le();
539
+ he();
540
+ const a = Me(), r = z(() => t.device === ge.MOBILE), u = I(!1), v = I(!1), { isFullscreen: _, toggle: c } = nt(), f = z(
541
+ () => ot.imageUrl(s.user.avatar, 48, 48)
542
+ ), h = (L) => {
543
+ L.target.src = "https://gh.sooyie.cn/v1/file/path/wxapp/images/user/avatar.png";
544
+ };
545
+ function g() {
546
+ v.value = !0;
547
+ }
548
+ function $() {
549
+ Vt.confirm("确定注销并退出系统吗?", "提示", {
550
+ confirmButtonText: "确定",
551
+ cancelButtonText: "取消",
552
+ type: "warning",
553
+ lockScroll: !1
554
+ }).then(() => {
555
+ s.logout().then(() => {
556
+ o.delAllViews();
557
+ }).then(() => {
558
+ a.push("/login");
559
+ });
560
+ });
561
+ }
562
+ const x = I(!1), T = I(!1), q = I(""), C = I(!1);
563
+ function N(L) {
564
+ q.value = L, T.value = !1, C.value = !0;
565
+ }
566
+ function A(L) {
567
+ u.value = L;
568
+ }
569
+ return (L, E) => {
570
+ const ie = de, H = kt, O = w("el-tooltip"), Q = at, oe = w("router-link"), j = w("el-dropdown-item"), Ce = w("el-dropdown-menu"), we = w("el-dropdown");
571
+ return m(), S("div", Nt, [
572
+ i(r) ? P("", !0) : (m(), S(J, { key: 0 }, [
573
+ k("div", {
574
+ class: "setting-item",
575
+ onClick: E[0] || (E[0] = //@ts-ignore
576
+ (...F) => i(c) && i(c)(...F))
577
+ }, [
578
+ d(ie, {
579
+ "icon-class": i(_) ? "fullscreen-exit" : "fullscreen"
580
+ }, null, 8, ["icon-class"])
581
+ ]),
582
+ d(O, {
583
+ content: L.$t("sizeSelect.tooltip"),
584
+ effect: "dark",
585
+ placement: "bottom"
586
+ }, {
587
+ default: p(() => [
588
+ d(H, { class: "setting-item" })
589
+ ]),
590
+ _: 1
591
+ }, 8, ["content"]),
592
+ d(Q, { class: "setting-item" })
593
+ ], 64)),
594
+ d(we, {
595
+ class: "setting-item",
596
+ trigger: "click"
597
+ }, {
598
+ dropdown: p(() => [
599
+ d(Ce, null, {
600
+ default: p(() => [
601
+ d(j, null, {
602
+ default: p(() => [
603
+ d(oe, { to: "/" }, {
604
+ default: p(() => [
605
+ R(M(L.$t("navbar.Dashboard")), 1)
606
+ ]),
607
+ _: 1
608
+ })
609
+ ]),
610
+ _: 1
611
+ }),
612
+ d(j, null, {
613
+ default: p(() => [
614
+ d(oe, { to: "/my/profile" }, {
615
+ default: p(() => [
616
+ R(M(L.$t("navbar.profile")), 1)
617
+ ]),
618
+ _: 1
619
+ })
620
+ ]),
621
+ _: 1
622
+ }),
623
+ d(j, {
624
+ onClick: E[1] || (E[1] = (F) => u.value = !0)
625
+ }, {
626
+ default: p(() => [
627
+ R(M(L.$t("navbar.changePwd")), 1)
628
+ ]),
629
+ _: 1
630
+ }),
631
+ d(j, {
632
+ onClick: E[2] || (E[2] = (F) => x.value = !0)
633
+ }, {
634
+ default: p(() => [
635
+ R(M(L.$t("navbar.changePhoneEmail")), 1)
636
+ ]),
637
+ _: 1
638
+ }),
639
+ d(j, {
640
+ onClick: E[3] || (E[3] = (F) => T.value = !0)
641
+ }, {
642
+ default: p(() => [
643
+ R(M(L.$t("navbar.changeWechatBind")), 1)
644
+ ]),
645
+ _: 1
646
+ }),
647
+ i(e).hasRole("tester") || i(e).userInfo().runAs ? (m(), S("div", Ut, [
648
+ d(j, { onClick: g }, {
649
+ default: p(() => [
650
+ R(M(L.$t("navbar.runAs")), 1)
651
+ ]),
652
+ _: 1
653
+ })
654
+ ])) : P("", !0),
655
+ d(j, {
656
+ divided: "",
657
+ onClick: $
658
+ }, {
659
+ default: p(() => [
660
+ R(M(L.$t("navbar.logout")), 1)
661
+ ]),
662
+ _: 1
663
+ })
664
+ ]),
665
+ _: 1
666
+ })
667
+ ]),
668
+ default: p(() => [
669
+ k("div", qt, [
670
+ k("img", {
671
+ src: i(f),
672
+ class: "rounded-full mr-10px w24px w24px",
673
+ onError: h
674
+ }, null, 40, Dt),
675
+ k("span", null, M(i(s).user.nickName), 1)
676
+ ])
677
+ ]),
678
+ _: 1
679
+ }),
680
+ i(pe).showSettings ? (m(), S("div", {
681
+ key: 1,
682
+ class: "setting-item",
683
+ onClick: E[4] || (E[4] = (F) => i(n).settingsVisible = !0)
684
+ }, [
685
+ d(ie, { "icon-class": "setting" })
686
+ ])) : P("", !0),
687
+ i(u) ? (m(), V(wt, {
688
+ key: 2,
689
+ "pwd-visible": i(u),
690
+ onDialogActionChange: A
691
+ }, null, 8, ["pwd-visible"])) : P("", !0),
692
+ i(v) ? (m(), V(yt, {
693
+ key: 3,
694
+ modelValue: i(v),
695
+ "onUpdate:modelValue": E[5] || (E[5] = (F) => ae(v) ? v.value = F : null)
696
+ }, null, 8, ["modelValue"])) : P("", !0),
697
+ i(x) ? (m(), V(Tt, {
698
+ key: 4,
699
+ width: "400",
700
+ modelValue: i(x),
701
+ "onUpdate:modelValue": E[6] || (E[6] = (F) => ae(x) ? x.value = F : null),
702
+ title: L.$t("navbar.changePhoneEmail")
703
+ }, null, 8, ["modelValue", "title"])) : P("", !0),
704
+ i(T) ? (m(), V(Et, {
705
+ key: 5,
706
+ width: "400",
707
+ modelValue: i(T),
708
+ "onUpdate:modelValue": E[7] || (E[7] = (F) => ae(T) ? T.value = F : null),
709
+ title: L.$t("navbar.changeWechatBind"),
710
+ onNext: N
711
+ }, null, 8, ["modelValue", "title"])) : P("", !0),
712
+ i(C) ? (m(), V(Rt, {
713
+ key: 6,
714
+ width: "400",
715
+ modelValue: i(C),
716
+ "onUpdate:modelValue": E[8] || (E[8] = (F) => ae(C) ? C.value = F : null),
717
+ "valid-code": i(q),
718
+ title: L.$t("change.pleaseScanCode"),
719
+ onLast: E[9] || (E[9] = (F) => T.value = !0)
720
+ }, null, 8, ["modelValue", "valid-code", "title"])) : P("", !0)
721
+ ]);
722
+ };
723
+ }
724
+ }), He = /* @__PURE__ */ X(Bt, [["__scopeId", "data-v-5a598d72"]]);
725
+ function Ot(l) {
726
+ for (var e = [], t = 0; t < l.length; ) {
727
+ var o = l[t];
728
+ if (o === "*" || o === "+" || o === "?") {
729
+ e.push({ type: "MODIFIER", index: t, value: l[t++] });
730
+ continue;
731
+ }
732
+ if (o === "\\") {
733
+ e.push({ type: "ESCAPED_CHAR", index: t++, value: l[t++] });
734
+ continue;
735
+ }
736
+ if (o === "{") {
737
+ e.push({ type: "OPEN", index: t, value: l[t++] });
738
+ continue;
739
+ }
740
+ if (o === "}") {
741
+ e.push({ type: "CLOSE", index: t, value: l[t++] });
742
+ continue;
743
+ }
744
+ if (o === ":") {
745
+ for (var s = "", n = t + 1; n < l.length; ) {
746
+ var a = l.charCodeAt(n);
747
+ if (
748
+ // `0-9`
749
+ a >= 48 && a <= 57 || // `A-Z`
750
+ a >= 65 && a <= 90 || // `a-z`
751
+ a >= 97 && a <= 122 || // `_`
752
+ a === 95
753
+ ) {
754
+ s += l[n++];
755
+ continue;
756
+ }
757
+ break;
758
+ }
759
+ if (!s)
760
+ throw new TypeError("Missing parameter name at ".concat(t));
761
+ e.push({ type: "NAME", index: t, value: s }), t = n;
762
+ continue;
763
+ }
764
+ if (o === "(") {
765
+ var r = 1, u = "", n = t + 1;
766
+ if (l[n] === "?")
767
+ throw new TypeError('Pattern cannot start with "?" at '.concat(n));
768
+ for (; n < l.length; ) {
769
+ if (l[n] === "\\") {
770
+ u += l[n++] + l[n++];
771
+ continue;
772
+ }
773
+ if (l[n] === ")") {
774
+ if (r--, r === 0) {
775
+ n++;
776
+ break;
777
+ }
778
+ } else if (l[n] === "(" && (r++, l[n + 1] !== "?"))
779
+ throw new TypeError("Capturing groups are not allowed at ".concat(n));
780
+ u += l[n++];
781
+ }
782
+ if (r)
783
+ throw new TypeError("Unbalanced pattern at ".concat(t));
784
+ if (!u)
785
+ throw new TypeError("Missing pattern at ".concat(t));
786
+ e.push({ type: "PATTERN", index: t, value: u }), t = n;
787
+ continue;
788
+ }
789
+ e.push({ type: "CHAR", index: t, value: l[t++] });
790
+ }
791
+ return e.push({ type: "END", index: t, value: "" }), e;
792
+ }
793
+ function zt(l, e) {
794
+ e === void 0 && (e = {});
795
+ for (var t = Ot(l), o = e.prefixes, s = o === void 0 ? "./" : o, n = e.delimiter, a = n === void 0 ? "/#?" : n, r = [], u = 0, v = 0, _ = "", c = function(H) {
796
+ if (v < t.length && t[v].type === H)
797
+ return t[v++].value;
798
+ }, f = function(H) {
799
+ var O = c(H);
800
+ if (O !== void 0)
801
+ return O;
802
+ var Q = t[v], oe = Q.type, j = Q.index;
803
+ throw new TypeError("Unexpected ".concat(oe, " at ").concat(j, ", expected ").concat(H));
804
+ }, h = function() {
805
+ for (var H = "", O; O = c("CHAR") || c("ESCAPED_CHAR"); )
806
+ H += O;
807
+ return H;
808
+ }, g = function(H) {
809
+ for (var O = 0, Q = a; O < Q.length; O++) {
810
+ var oe = Q[O];
811
+ if (H.indexOf(oe) > -1)
812
+ return !0;
813
+ }
814
+ return !1;
815
+ }, $ = function(H) {
816
+ var O = r[r.length - 1], Q = H || (O && typeof O == "string" ? O : "");
817
+ if (O && !Q)
818
+ throw new TypeError('Must have text between two parameters, missing text after "'.concat(O.name, '"'));
819
+ return !Q || g(Q) ? "[^".concat(Ve(a), "]+?") : "(?:(?!".concat(Ve(Q), ")[^").concat(Ve(a), "])+?");
820
+ }; v < t.length; ) {
821
+ var x = c("CHAR"), T = c("NAME"), q = c("PATTERN");
822
+ if (T || q) {
823
+ var C = x || "";
824
+ s.indexOf(C) === -1 && (_ += C, C = ""), _ && (r.push(_), _ = ""), r.push({
825
+ name: T || u++,
826
+ prefix: C,
827
+ suffix: "",
828
+ pattern: q || $(C),
829
+ modifier: c("MODIFIER") || ""
830
+ });
831
+ continue;
832
+ }
833
+ var N = x || c("ESCAPED_CHAR");
834
+ if (N) {
835
+ _ += N;
836
+ continue;
837
+ }
838
+ _ && (r.push(_), _ = "");
839
+ var A = c("OPEN");
840
+ if (A) {
841
+ var C = h(), L = c("NAME") || "", E = c("PATTERN") || "", ie = h();
842
+ f("CLOSE"), r.push({
843
+ name: L || (E ? u++ : ""),
844
+ pattern: L && !E ? $(C) : E,
845
+ prefix: C,
846
+ suffix: ie,
847
+ modifier: c("MODIFIER") || ""
848
+ });
849
+ continue;
850
+ }
851
+ f("END");
852
+ }
853
+ return r;
854
+ }
855
+ function Ft(l, e) {
856
+ return Wt(zt(l, e), e);
857
+ }
858
+ function Wt(l, e) {
859
+ e === void 0 && (e = {});
860
+ var t = Ht(e), o = e.encode, s = o === void 0 ? function(u) {
861
+ return u;
862
+ } : o, n = e.validate, a = n === void 0 ? !0 : n, r = l.map(function(u) {
863
+ if (typeof u == "object")
864
+ return new RegExp("^(?:".concat(u.pattern, ")$"), t);
865
+ });
866
+ return function(u) {
867
+ for (var v = "", _ = 0; _ < l.length; _++) {
868
+ var c = l[_];
869
+ if (typeof c == "string") {
870
+ v += c;
871
+ continue;
872
+ }
873
+ var f = u ? u[c.name] : void 0, h = c.modifier === "?" || c.modifier === "*", g = c.modifier === "*" || c.modifier === "+";
874
+ if (Array.isArray(f)) {
875
+ if (!g)
876
+ throw new TypeError('Expected "'.concat(c.name, '" to not repeat, but got an array'));
877
+ if (f.length === 0) {
878
+ if (h)
879
+ continue;
880
+ throw new TypeError('Expected "'.concat(c.name, '" to not be empty'));
881
+ }
882
+ for (var $ = 0; $ < f.length; $++) {
883
+ var x = s(f[$], c);
884
+ if (a && !r[_].test(x))
885
+ throw new TypeError('Expected all "'.concat(c.name, '" to match "').concat(c.pattern, '", but got "').concat(x, '"'));
886
+ v += c.prefix + x + c.suffix;
887
+ }
888
+ continue;
889
+ }
890
+ if (typeof f == "string" || typeof f == "number") {
891
+ var x = s(String(f), c);
892
+ if (a && !r[_].test(x))
893
+ throw new TypeError('Expected "'.concat(c.name, '" to match "').concat(c.pattern, '", but got "').concat(x, '"'));
894
+ v += c.prefix + x + c.suffix;
895
+ continue;
896
+ }
897
+ if (!h) {
898
+ var T = g ? "an array" : "a string";
899
+ throw new TypeError('Expected "'.concat(c.name, '" to be ').concat(T));
900
+ }
901
+ }
902
+ return v;
903
+ };
904
+ }
905
+ function Ve(l) {
906
+ return l.replace(/([.+*?=^!:${}()[\]|/\\])/g, "\\$1");
907
+ }
908
+ function Ht(l) {
909
+ return l && l.sensitive ? "" : "i";
910
+ }
911
+ function $e(l) {
912
+ var e, t;
913
+ return be((e = l.name) == null ? void 0 : e.toString(), (t = l.meta) == null ? void 0 : t.title);
914
+ }
915
+ function Kt(l) {
916
+ return be(l.name, l.title);
917
+ }
918
+ function be(l, e) {
919
+ let t = l && l != "" ? l : e;
920
+ return Ne.global.te("route." + t) ? Ne.global.t("route." + t) : e || l;
921
+ }
922
+ const Qt = {
923
+ key: 0,
924
+ class: "color-gray-400"
925
+ }, Xt = ["onClick"], jt = /* @__PURE__ */ B({
926
+ __name: "index",
927
+ setup(l) {
928
+ const e = he(), t = (r) => {
929
+ const { params: u } = e;
930
+ return Ft(r)(u);
931
+ }, o = I([]);
932
+ function s() {
933
+ let r = e.matched.filter(
934
+ (v) => v.meta && v.meta.title
935
+ );
936
+ const u = r[0];
937
+ n(u) || (r = [
938
+ { path: "/dashboard", meta: { title: "Dashboard" } }
939
+ ].concat(r)), o.value = r.filter((v) => v.meta && v.meta.title && v.meta.breadcrumb !== !1);
940
+ }
941
+ function n(r) {
942
+ const u = r && r.name;
943
+ return u ? u.toString().trim().toLocaleLowerCase() === "Dashboard".toLocaleLowerCase() : !1;
944
+ }
945
+ function a(r) {
946
+ const { redirect: u, path: v } = r;
947
+ if (u) {
948
+ qe.value.push(u).catch((_) => {
949
+ console.warn(_);
950
+ });
951
+ return;
952
+ }
953
+ qe.value.push(t(v)).catch((_) => {
954
+ console.warn(_);
955
+ });
956
+ }
957
+ return re(
958
+ () => e.path,
959
+ (r) => {
960
+ r.startsWith("/redirect/") || s();
961
+ }
962
+ ), dt(() => {
963
+ s();
964
+ }), (r, u) => {
965
+ const v = w("el-breadcrumb-item"), _ = w("el-breadcrumb");
966
+ return m(), V(_, { class: "flex-y-center" }, {
967
+ default: p(() => [
968
+ d(mt, { "enter-active-class": "animate__animated animate__fadeInRight" }, {
969
+ default: p(() => [
970
+ (m(!0), S(J, null, me(i(o), (c, f) => (m(), V(v, {
971
+ key: c.path
972
+ }, {
973
+ default: p(() => [
974
+ c.redirect === "noredirect" || f === i(o).length - 1 ? (m(), S("span", Qt, M(i($e)(c)), 1)) : (m(), S("a", {
975
+ key: 1,
976
+ onClick: fe((h) => a(c), ["prevent"])
977
+ }, M(i($e)(c)), 9, Xt))
978
+ ]),
979
+ _: 2
980
+ }, 1024))), 128))
981
+ ]),
982
+ _: 1
983
+ })
984
+ ]),
985
+ _: 1
986
+ });
987
+ };
988
+ }
989
+ }), Gt = /* @__PURE__ */ X(jt, [["__scopeId", "data-v-6109c28e"]]), Yt = /* @__PURE__ */ B({
990
+ __name: "index",
991
+ props: {
992
+ isActive: {
993
+ required: !0,
994
+ type: Boolean,
995
+ default: !1
996
+ }
997
+ },
998
+ emits: ["toggleClick"],
999
+ setup(l, { emit: e }) {
1000
+ const t = e;
1001
+ function o() {
1002
+ t("toggleClick");
1003
+ }
1004
+ return (s, n) => {
1005
+ const a = de;
1006
+ return m(), S("div", {
1007
+ class: "px-[15px] flex items-center justify-center color-[var(--el-text-color-regular)]",
1008
+ onClick: o
1009
+ }, [
1010
+ d(a, {
1011
+ class: G(["hamburger", { "is-active": l.isActive }]),
1012
+ "icon-class": "indent-decrease"
1013
+ }, null, 8, ["class"])
1014
+ ]);
1015
+ };
1016
+ }
1017
+ }), Ke = /* @__PURE__ */ X(Yt, [["__scopeId", "data-v-42e37629"]]), Jt = { class: "flex" }, Zt = /* @__PURE__ */ B({
1018
+ __name: "NavbarLeft",
1019
+ setup(l) {
1020
+ const e = ne();
1021
+ function t() {
1022
+ e.toggleSidebar();
1023
+ }
1024
+ return (o, s) => {
1025
+ const n = Ke, a = Gt;
1026
+ return m(), S("div", Jt, [
1027
+ d(n, {
1028
+ "is-active": i(e).sidebar.opened,
1029
+ onToggleClick: t
1030
+ }, null, 8, ["is-active"]),
1031
+ d(a)
1032
+ ]);
1033
+ };
1034
+ }
1035
+ }), en = {}, tn = { class: "navbar-container" };
1036
+ function nn(l, e) {
1037
+ const t = Zt, o = He;
1038
+ return m(), S("div", tn, [
1039
+ d(t),
1040
+ d(o)
1041
+ ]);
1042
+ }
1043
+ const on = /* @__PURE__ */ X(en, [["render", nn], ["__scopeId", "data-v-b1624593"]]);
1044
+ var te = /* @__PURE__ */ ((l) => (l.LEFT = "left", l.TOP = "top", l.MIX = "mix", l))(te || {});
1045
+ const an = { class: "flex flex-wrap justify-around w-full h-12" }, ln = /* @__PURE__ */ B({
1046
+ __name: "LayoutSelect",
1047
+ props: {
1048
+ modelValue: String
1049
+ },
1050
+ emits: ["update:modelValue"],
1051
+ setup(l, { emit: e }) {
1052
+ const t = e;
1053
+ function o(s) {
1054
+ t("update:modelValue", s);
1055
+ }
1056
+ return (s, n) => {
1057
+ const a = w("el-tooltip");
1058
+ return m(), S("div", an, [
1059
+ d(a, {
1060
+ content: "左侧模式",
1061
+ placement: "bottom"
1062
+ }, {
1063
+ default: p(() => [
1064
+ k("div", {
1065
+ class: G(["layout-item left", { "is-active": l.modelValue === i(te).LEFT }]),
1066
+ onClick: n[0] || (n[0] = (r) => o(i(te).LEFT))
1067
+ }, n[3] || (n[3] = [
1068
+ k("div", null, null, -1),
1069
+ k("div", null, null, -1)
1070
+ ]), 2)
1071
+ ]),
1072
+ _: 1
1073
+ }),
1074
+ d(a, {
1075
+ content: "顶部模式",
1076
+ placement: "bottom"
1077
+ }, {
1078
+ default: p(() => [
1079
+ k("div", {
1080
+ class: G(["layout-item top", { "is-active": l.modelValue === i(te).TOP }]),
1081
+ onClick: n[1] || (n[1] = (r) => o(i(te).TOP))
1082
+ }, n[4] || (n[4] = [
1083
+ k("div", null, null, -1),
1084
+ k("div", null, null, -1)
1085
+ ]), 2)
1086
+ ]),
1087
+ _: 1
1088
+ }),
1089
+ d(a, {
1090
+ content: "混合模式",
1091
+ placement: "bottom"
1092
+ }, {
1093
+ default: p(() => [
1094
+ k("div", {
1095
+ class: G(["layout-item mix", { "is-active": l.modelValue === i(te).MIX }]),
1096
+ onClick: n[2] || (n[2] = (r) => o(i(te).MIX))
1097
+ }, n[5] || (n[5] = [
1098
+ k("div", null, null, -1),
1099
+ k("div", null, null, -1)
1100
+ ]), 2)
1101
+ ]),
1102
+ _: 1
1103
+ })
1104
+ ]);
1105
+ };
1106
+ }
1107
+ }), rn = /* @__PURE__ */ X(ln, [["__scopeId", "data-v-2bdf1403"]]), sn = /* @__PURE__ */ B({
1108
+ __name: "ThemeColorPicker",
1109
+ props: {
1110
+ modelValue: String
1111
+ },
1112
+ emits: ["update:modelValue"],
1113
+ setup(l, { emit: e }) {
1114
+ const t = l, o = e, s = [
1115
+ "#409EFF",
1116
+ "#ff4500",
1117
+ "#ff8c00",
1118
+ "#90ee90",
1119
+ "#00ced1",
1120
+ "#1e90ff",
1121
+ "#c71585",
1122
+ "rgba(255, 69, 0, 0.68)",
1123
+ "rgb(255, 120, 0)",
1124
+ "hsva(120, 40, 94)"
1125
+ ], n = I(t.modelValue);
1126
+ return re(n, (a) => {
1127
+ o("update:modelValue", a);
1128
+ }), (a, r) => {
1129
+ const u = w("el-color-picker");
1130
+ return m(), V(u, {
1131
+ modelValue: i(n),
1132
+ "onUpdate:modelValue": r[0] || (r[0] = (v) => ae(n) ? n.value = v : null),
1133
+ predefine: s,
1134
+ "popper-class": "theme-picker-dropdown"
1135
+ }, null, 8, ["modelValue"]);
1136
+ };
1137
+ }
1138
+ }), cn = /* @__PURE__ */ X(sn, [["__scopeId", "data-v-92c1fd79"]]), un = { class: "flex-center" }, dn = { class: "settings-option" }, mn = { class: "text-xs" }, fn = { class: "settings-option" }, pn = { class: "text-xs" }, vn = { class: "settings-option" }, _n = { class: "text-xs" }, hn = { class: "settings-option" }, gn = { class: "text-xs" }, bn = { class: "settings-option" }, Cn = { class: "text-xs" }, wn = /* @__PURE__ */ B({
1139
+ __name: "index",
1140
+ setup(l) {
1141
+ const e = he(), t = ne(), o = le(), s = _e(), n = z({
1142
+ get() {
1143
+ return o.settingsVisible;
1144
+ },
1145
+ set() {
1146
+ o.settingsVisible = !1;
1147
+ }
1148
+ });
1149
+ function a(f) {
1150
+ o.changeThemeColor(f);
1151
+ }
1152
+ const r = I(o.theme === ye.DARK), u = (f) => {
1153
+ r.value = f, o.changeTheme(r.value ? ye.DARK : ye.LIGHT);
1154
+ };
1155
+ function v(f) {
1156
+ o.changeLayout(f), f === te.MIX ? e.name && _(e.name) : f === te.TOP && t.openSideBar();
1157
+ }
1158
+ function _(f) {
1159
+ const h = c(s.routes, f);
1160
+ t.activeTopMenu !== h.path && t.activeTopMenu(h.path);
1161
+ }
1162
+ function c(f, h) {
1163
+ let g = {};
1164
+ function $(T, q) {
1165
+ if (g[T.name] = q, T.children)
1166
+ for (let C = 0; C < T.children.length; C++)
1167
+ $(T.children[C], T);
1168
+ }
1169
+ for (let T = 0; T < f.length; T++)
1170
+ $(f[T], null);
1171
+ let x = g[h];
1172
+ for (; x; ) {
1173
+ if (!g[x.name])
1174
+ return x;
1175
+ x = g[x.name];
1176
+ }
1177
+ return null;
1178
+ }
1179
+ return (f, h) => {
1180
+ const g = w("el-divider"), $ = w("el-switch"), x = cn, T = rn, q = w("el-drawer");
1181
+ return m(), V(q, {
1182
+ modelValue: i(n),
1183
+ "onUpdate:modelValue": h[7] || (h[7] = (C) => ae(n) ? n.value = C : null),
1184
+ size: "300",
1185
+ title: f.$t("settings.project")
1186
+ }, {
1187
+ default: p(() => [
1188
+ d(g, null, {
1189
+ default: p(() => [
1190
+ R(M(f.$t("settings.theme")), 1)
1191
+ ]),
1192
+ _: 1
1193
+ }),
1194
+ k("div", un, [
1195
+ d($, {
1196
+ modelValue: i(r),
1197
+ "onUpdate:modelValue": h[0] || (h[0] = (C) => ae(r) ? r.value = C : null),
1198
+ "active-icon": i(it),
1199
+ "inactive-icon": i(lt),
1200
+ onChange: u
1201
+ }, null, 8, ["modelValue", "active-icon", "inactive-icon"])
1202
+ ]),
1203
+ d(g, null, {
1204
+ default: p(() => [
1205
+ R(M(f.$t("settings.interface")), 1)
1206
+ ]),
1207
+ _: 1
1208
+ }),
1209
+ k("div", dn, [
1210
+ k("span", mn, M(f.$t("settings.themeColor")), 1),
1211
+ d(x, {
1212
+ modelValue: i(o).themeColor,
1213
+ "onUpdate:modelValue": [
1214
+ h[1] || (h[1] = (C) => i(o).themeColor = C),
1215
+ a
1216
+ ]
1217
+ }, null, 8, ["modelValue"])
1218
+ ]),
1219
+ k("div", fn, [
1220
+ k("span", pn, M(f.$t("settings.tagsView")), 1),
1221
+ d($, {
1222
+ modelValue: i(o).tagsView,
1223
+ "onUpdate:modelValue": h[2] || (h[2] = (C) => i(o).tagsView = C)
1224
+ }, null, 8, ["modelValue"])
1225
+ ]),
1226
+ k("div", vn, [
1227
+ k("span", _n, M(f.$t("settings.fixedHeader")), 1),
1228
+ d($, {
1229
+ modelValue: i(o).fixedHeader,
1230
+ "onUpdate:modelValue": h[3] || (h[3] = (C) => i(o).fixedHeader = C)
1231
+ }, null, 8, ["modelValue"])
1232
+ ]),
1233
+ k("div", hn, [
1234
+ k("span", gn, M(f.$t("settings.sidebarLogo")), 1),
1235
+ d($, {
1236
+ modelValue: i(o).sidebarLogo,
1237
+ "onUpdate:modelValue": h[4] || (h[4] = (C) => i(o).sidebarLogo = C)
1238
+ }, null, 8, ["modelValue"])
1239
+ ]),
1240
+ k("div", bn, [
1241
+ k("span", Cn, M(f.$t("settings.watermark")), 1),
1242
+ d($, {
1243
+ modelValue: i(o).watermarkEnabled,
1244
+ "onUpdate:modelValue": h[5] || (h[5] = (C) => i(o).watermarkEnabled = C)
1245
+ }, null, 8, ["modelValue"])
1246
+ ]),
1247
+ d(g, null, {
1248
+ default: p(() => [
1249
+ R(M(f.$t("settings.navigation")), 1)
1250
+ ]),
1251
+ _: 1
1252
+ }),
1253
+ d(T, {
1254
+ modelValue: i(o).layout,
1255
+ "onUpdate:modelValue": [
1256
+ h[6] || (h[6] = (C) => i(o).layout = C),
1257
+ v
1258
+ ]
1259
+ }, null, 8, ["modelValue"])
1260
+ ]),
1261
+ _: 1
1262
+ }, 8, ["modelValue", "title"]);
1263
+ };
1264
+ }
1265
+ }), yn = /* @__PURE__ */ X(wn, [["__scopeId", "data-v-70f5bf10"]]), Vn = { class: "app-main" }, xn = /* @__PURE__ */ B({
1266
+ __name: "index",
1267
+ setup(l) {
1268
+ const e = z(() => Te().cachedViews);
1269
+ return (t, o) => {
1270
+ const s = w("router-view");
1271
+ return m(), S("section", Vn, [
1272
+ d(s, null, {
1273
+ default: p(({ Component: n, route: a }) => [
1274
+ d(Oe, {
1275
+ "enter-active-class": "animate__animated animate__fadeIn",
1276
+ mode: "out-in"
1277
+ }, {
1278
+ default: p(() => [
1279
+ (m(), V(ft, {
1280
+ include: i(e),
1281
+ max: 9
1282
+ }, [
1283
+ (m(), V(Ee(n), {
1284
+ key: a.path
1285
+ }))
1286
+ ], 1032, ["include"]))
1287
+ ]),
1288
+ _: 2
1289
+ }, 1024)
1290
+ ]),
1291
+ _: 1
1292
+ })
1293
+ ]);
1294
+ };
1295
+ }
1296
+ }), kn = /* @__PURE__ */ X(xn, [["__scopeId", "data-v-f32946ce"]]), Sn = {
1297
+ viewBox: "0 0 1024 1024",
1298
+ width: "1.2em",
1299
+ height: "1.2em"
1300
+ };
1301
+ function $n(l, e) {
1302
+ return m(), S("svg", Sn, e[0] || (e[0] = [
1303
+ k("path", {
1304
+ fill: "currentColor",
1305
+ d: "M764.288 214.592L512 466.88L259.712 214.592a31.936 31.936 0 0 0-45.12 45.12L466.752 512L214.528 764.224a31.936 31.936 0 1 0 45.12 45.184L512 557.184l252.288 252.288a31.936 31.936 0 0 0 45.12-45.12L557.12 512.064l252.288-252.352a31.936 31.936 0 1 0-45.12-45.184z"
1306
+ }, null, -1)
1307
+ ]));
1308
+ }
1309
+ const Tn = { name: "ep-close", render: $n };
1310
+ function ee(l) {
1311
+ if (typeof l != "string")
1312
+ throw new TypeError("Path must be a string. Received " + JSON.stringify(l));
1313
+ }
1314
+ function Ue(l, e) {
1315
+ for (var t = "", o = 0, s = -1, n = 0, a, r = 0; r <= l.length; ++r) {
1316
+ if (r < l.length)
1317
+ a = l.charCodeAt(r);
1318
+ else {
1319
+ if (a === 47)
1320
+ break;
1321
+ a = 47;
1322
+ }
1323
+ if (a === 47) {
1324
+ if (!(s === r - 1 || n === 1)) if (s !== r - 1 && n === 2) {
1325
+ if (t.length < 2 || o !== 2 || t.charCodeAt(t.length - 1) !== 46 || t.charCodeAt(t.length - 2) !== 46) {
1326
+ if (t.length > 2) {
1327
+ var u = t.lastIndexOf("/");
1328
+ if (u !== t.length - 1) {
1329
+ u === -1 ? (t = "", o = 0) : (t = t.slice(0, u), o = t.length - 1 - t.lastIndexOf("/")), s = r, n = 0;
1330
+ continue;
1331
+ }
1332
+ } else if (t.length === 2 || t.length === 1) {
1333
+ t = "", o = 0, s = r, n = 0;
1334
+ continue;
1335
+ }
1336
+ }
1337
+ e && (t.length > 0 ? t += "/.." : t = "..", o = 2);
1338
+ } else
1339
+ t.length > 0 ? t += "/" + l.slice(s + 1, r) : t = l.slice(s + 1, r), o = r - s - 1;
1340
+ s = r, n = 0;
1341
+ } else a === 46 && n !== -1 ? ++n : n = -1;
1342
+ }
1343
+ return t;
1344
+ }
1345
+ function An(l, e) {
1346
+ var t = e.dir || e.root, o = e.base || (e.name || "") + (e.ext || "");
1347
+ return t ? t === e.root ? t + o : t + l + o : o;
1348
+ }
1349
+ var se = {
1350
+ // path.resolve([from ...], to)
1351
+ resolve: function() {
1352
+ for (var e = "", t = !1, o, s = arguments.length - 1; s >= -1 && !t; s--) {
1353
+ var n;
1354
+ s >= 0 ? n = arguments[s] : (o === void 0 && (o = process.cwd()), n = o), ee(n), n.length !== 0 && (e = n + "/" + e, t = n.charCodeAt(0) === 47);
1355
+ }
1356
+ return e = Ue(e, !t), t ? e.length > 0 ? "/" + e : "/" : e.length > 0 ? e : ".";
1357
+ },
1358
+ normalize: function(e) {
1359
+ if (ee(e), e.length === 0) return ".";
1360
+ var t = e.charCodeAt(0) === 47, o = e.charCodeAt(e.length - 1) === 47;
1361
+ return e = Ue(e, !t), e.length === 0 && !t && (e = "."), e.length > 0 && o && (e += "/"), t ? "/" + e : e;
1362
+ },
1363
+ isAbsolute: function(e) {
1364
+ return ee(e), e.length > 0 && e.charCodeAt(0) === 47;
1365
+ },
1366
+ join: function() {
1367
+ if (arguments.length === 0)
1368
+ return ".";
1369
+ for (var e, t = 0; t < arguments.length; ++t) {
1370
+ var o = arguments[t];
1371
+ ee(o), o.length > 0 && (e === void 0 ? e = o : e += "/" + o);
1372
+ }
1373
+ return e === void 0 ? "." : se.normalize(e);
1374
+ },
1375
+ relative: function(e, t) {
1376
+ if (ee(e), ee(t), e === t || (e = se.resolve(e), t = se.resolve(t), e === t)) return "";
1377
+ for (var o = 1; o < e.length && e.charCodeAt(o) === 47; ++o)
1378
+ ;
1379
+ for (var s = e.length, n = s - o, a = 1; a < t.length && t.charCodeAt(a) === 47; ++a)
1380
+ ;
1381
+ for (var r = t.length, u = r - a, v = n < u ? n : u, _ = -1, c = 0; c <= v; ++c) {
1382
+ if (c === v) {
1383
+ if (u > v) {
1384
+ if (t.charCodeAt(a + c) === 47)
1385
+ return t.slice(a + c + 1);
1386
+ if (c === 0)
1387
+ return t.slice(a + c);
1388
+ } else n > v && (e.charCodeAt(o + c) === 47 ? _ = c : c === 0 && (_ = 0));
1389
+ break;
1390
+ }
1391
+ var f = e.charCodeAt(o + c), h = t.charCodeAt(a + c);
1392
+ if (f !== h)
1393
+ break;
1394
+ f === 47 && (_ = c);
1395
+ }
1396
+ var g = "";
1397
+ for (c = o + _ + 1; c <= s; ++c)
1398
+ (c === s || e.charCodeAt(c) === 47) && (g.length === 0 ? g += ".." : g += "/..");
1399
+ return g.length > 0 ? g + t.slice(a + _) : (a += _, t.charCodeAt(a) === 47 && ++a, t.slice(a));
1400
+ },
1401
+ _makeLong: function(e) {
1402
+ return e;
1403
+ },
1404
+ dirname: function(e) {
1405
+ if (ee(e), e.length === 0) return ".";
1406
+ for (var t = e.charCodeAt(0), o = t === 47, s = -1, n = !0, a = e.length - 1; a >= 1; --a)
1407
+ if (t = e.charCodeAt(a), t === 47) {
1408
+ if (!n) {
1409
+ s = a;
1410
+ break;
1411
+ }
1412
+ } else
1413
+ n = !1;
1414
+ return s === -1 ? o ? "/" : "." : o && s === 1 ? "//" : e.slice(0, s);
1415
+ },
1416
+ basename: function(e, t) {
1417
+ if (t !== void 0 && typeof t != "string") throw new TypeError('"ext" argument must be a string');
1418
+ ee(e);
1419
+ var o = 0, s = -1, n = !0, a;
1420
+ if (t !== void 0 && t.length > 0 && t.length <= e.length) {
1421
+ if (t.length === e.length && t === e) return "";
1422
+ var r = t.length - 1, u = -1;
1423
+ for (a = e.length - 1; a >= 0; --a) {
1424
+ var v = e.charCodeAt(a);
1425
+ if (v === 47) {
1426
+ if (!n) {
1427
+ o = a + 1;
1428
+ break;
1429
+ }
1430
+ } else
1431
+ u === -1 && (n = !1, u = a + 1), r >= 0 && (v === t.charCodeAt(r) ? --r === -1 && (s = a) : (r = -1, s = u));
1432
+ }
1433
+ return o === s ? s = u : s === -1 && (s = e.length), e.slice(o, s);
1434
+ } else {
1435
+ for (a = e.length - 1; a >= 0; --a)
1436
+ if (e.charCodeAt(a) === 47) {
1437
+ if (!n) {
1438
+ o = a + 1;
1439
+ break;
1440
+ }
1441
+ } else s === -1 && (n = !1, s = a + 1);
1442
+ return s === -1 ? "" : e.slice(o, s);
1443
+ }
1444
+ },
1445
+ extname: function(e) {
1446
+ ee(e);
1447
+ for (var t = -1, o = 0, s = -1, n = !0, a = 0, r = e.length - 1; r >= 0; --r) {
1448
+ var u = e.charCodeAt(r);
1449
+ if (u === 47) {
1450
+ if (!n) {
1451
+ o = r + 1;
1452
+ break;
1453
+ }
1454
+ continue;
1455
+ }
1456
+ s === -1 && (n = !1, s = r + 1), u === 46 ? t === -1 ? t = r : a !== 1 && (a = 1) : t !== -1 && (a = -1);
1457
+ }
1458
+ return t === -1 || s === -1 || // We saw a non-dot character immediately before the dot
1459
+ a === 0 || // The (right-most) trimmed path component is exactly '..'
1460
+ a === 1 && t === s - 1 && t === o + 1 ? "" : e.slice(t, s);
1461
+ },
1462
+ format: function(e) {
1463
+ if (e === null || typeof e != "object")
1464
+ throw new TypeError('The "pathObject" argument must be of type Object. Received type ' + typeof e);
1465
+ return An("/", e);
1466
+ },
1467
+ parse: function(e) {
1468
+ ee(e);
1469
+ var t = { root: "", dir: "", base: "", ext: "", name: "" };
1470
+ if (e.length === 0) return t;
1471
+ var o = e.charCodeAt(0), s = o === 47, n;
1472
+ s ? (t.root = "/", n = 1) : n = 0;
1473
+ for (var a = -1, r = 0, u = -1, v = !0, _ = e.length - 1, c = 0; _ >= n; --_) {
1474
+ if (o = e.charCodeAt(_), o === 47) {
1475
+ if (!v) {
1476
+ r = _ + 1;
1477
+ break;
1478
+ }
1479
+ continue;
1480
+ }
1481
+ u === -1 && (v = !1, u = _ + 1), o === 46 ? a === -1 ? a = _ : c !== 1 && (c = 1) : a !== -1 && (c = -1);
1482
+ }
1483
+ return a === -1 || u === -1 || // We saw a non-dot character immediately before the dot
1484
+ c === 0 || // The (right-most) trimmed path component is exactly '..'
1485
+ c === 1 && a === u - 1 && a === r + 1 ? u !== -1 && (r === 0 && s ? t.base = t.name = e.slice(1, u) : t.base = t.name = e.slice(r, u)) : (r === 0 && s ? (t.name = e.slice(1, a), t.base = e.slice(1, u)) : (t.name = e.slice(r, a), t.base = e.slice(r, u)), t.ext = e.slice(a, u)), r > 0 ? t.dir = e.slice(0, r - 1) : s && (t.dir = "/"), t;
1486
+ },
1487
+ sep: "/",
1488
+ delimiter: ":",
1489
+ win32: null,
1490
+ posix: null
1491
+ };
1492
+ se.posix = se;
1493
+ var Qe = se;
1494
+ const Xe = /* @__PURE__ */ rt(Qe), En = { class: "tags-container" }, Mn = /* @__PURE__ */ B({
1495
+ __name: "index",
1496
+ setup(l) {
1497
+ const { proxy: e } = pt(), t = Me(), o = he(), s = _e(), n = Te(), a = ne(), { visitedViews: r } = xt(n), u = le(), v = z(() => u.layout), _ = I({
1498
+ path: "",
1499
+ query: "",
1500
+ fullPath: "",
1501
+ name: "",
1502
+ title: "",
1503
+ affix: !1,
1504
+ keepAlive: !1
1505
+ }), c = I([]), f = I(0), h = I(0);
1506
+ re(
1507
+ o,
1508
+ () => {
1509
+ T(), q();
1510
+ },
1511
+ {
1512
+ immediate: !0
1513
+ //初始化立即执行
1514
+ }
1515
+ );
1516
+ const g = I(!1);
1517
+ re(g, (y) => {
1518
+ y ? document.body.addEventListener("click", j) : document.body.removeEventListener("click", j);
1519
+ });
1520
+ function $(y, b = "/") {
1521
+ let K = [];
1522
+ return y.forEach((W) => {
1523
+ var D, U, Z, Le;
1524
+ const Y = Qe.resolve(b, W.path);
1525
+ if ((D = W.meta) != null && D.affix && K.push({
1526
+ path: Y,
1527
+ fullPath: Y,
1528
+ name: String(W.name),
1529
+ title: ((U = W.meta) == null ? void 0 : U.title) || "no-name",
1530
+ affix: (Z = W.meta) == null ? void 0 : Z.affix,
1531
+ keepAlive: (Le = W.meta) == null ? void 0 : Le.keepAlive
1532
+ }), W.children) {
1533
+ const Ie = $(W.children, b + W.path);
1534
+ Ie.length >= 1 && (K = [...K, ...Ie]);
1535
+ }
1536
+ }), K;
1537
+ }
1538
+ function x() {
1539
+ const y = $(s.routes);
1540
+ c.value = y;
1541
+ for (const b of y)
1542
+ b.name && n.addVisitedView(b);
1543
+ }
1544
+ function T() {
1545
+ var y, b;
1546
+ o.meta.title && n.addView({
1547
+ name: o.name,
1548
+ title: o.meta.title,
1549
+ path: o.path,
1550
+ fullPath: o.fullPath,
1551
+ affix: (y = o.meta) == null ? void 0 : y.affix,
1552
+ keepAlive: (b = o.meta) == null ? void 0 : b.keepAlive,
1553
+ query: o.query
1554
+ });
1555
+ }
1556
+ function q() {
1557
+ De(() => {
1558
+ var y, b;
1559
+ for (const K of r.value)
1560
+ K.path === o.path && K.fullPath !== o.fullPath && n.updateVisitedView({
1561
+ name: o.name,
1562
+ title: o.meta.title || "",
1563
+ path: o.path,
1564
+ fullPath: o.fullPath,
1565
+ affix: (y = o.meta) == null ? void 0 : y.affix,
1566
+ keepAlive: (b = o.meta) == null ? void 0 : b.keepAlive,
1567
+ query: o.query
1568
+ });
1569
+ });
1570
+ }
1571
+ function C(y) {
1572
+ return y == null ? void 0 : y.affix;
1573
+ }
1574
+ function N() {
1575
+ return n.visitedViews.length <= 1 ? !1 : _.value.path === "/dashboard" || _.value.fullPath === n.visitedViews[1].fullPath;
1576
+ }
1577
+ function A() {
1578
+ return n.visitedViews.length <= 1 ? !1 : _.value.fullPath === n.visitedViews[n.visitedViews.length - 1].fullPath;
1579
+ }
1580
+ function L(y) {
1581
+ n.delCachedView(y);
1582
+ const { fullPath: b } = y;
1583
+ De(() => {
1584
+ t.replace({ path: "/redirect" + b });
1585
+ });
1586
+ }
1587
+ function E(y) {
1588
+ n.delView(y).then((b) => {
1589
+ n.isActive(y) && n.toLastView(b.visitedViews, y);
1590
+ });
1591
+ }
1592
+ function ie() {
1593
+ n.delLeftViews(_.value).then((y) => {
1594
+ y.visitedViews.find((b) => b.path === o.path) || n.toLastView(y.visitedViews);
1595
+ });
1596
+ }
1597
+ function H() {
1598
+ n.delRightViews(_.value).then((y) => {
1599
+ y.visitedViews.find((b) => b.path === o.path) || n.toLastView(y.visitedViews);
1600
+ });
1601
+ }
1602
+ function O() {
1603
+ t.push(_.value), n.delOtherViews(_.value).then(() => {
1604
+ q();
1605
+ });
1606
+ }
1607
+ function Q(y) {
1608
+ n.delAllViews().then((b) => {
1609
+ n.toLastView(b.visitedViews, y);
1610
+ });
1611
+ }
1612
+ function oe(y, b) {
1613
+ const W = e == null ? void 0 : e.$el.getBoundingClientRect().left, D = (e == null ? void 0 : e.$el.offsetWidth) - 105, U = b.clientX - W + 15;
1614
+ U > D ? f.value = D : f.value = U, v.value === "mix" ? h.value = b.clientY - 50 : h.value = b.clientY, g.value = !0, _.value = y;
1615
+ }
1616
+ function j() {
1617
+ g.value = !1;
1618
+ }
1619
+ function Ce() {
1620
+ j();
1621
+ }
1622
+ function we(y, b) {
1623
+ let K = {};
1624
+ function W(D, U) {
1625
+ if (K[D.name] = U, D.children)
1626
+ for (let Z = 0; Z < D.children.length; Z++)
1627
+ W(D.children[Z], D);
1628
+ }
1629
+ for (let D = 0; D < y.length; D++)
1630
+ W(y[D], null);
1631
+ let Y = K[b];
1632
+ for (; Y; ) {
1633
+ if (!K[Y.name])
1634
+ return Y;
1635
+ Y = K[Y.name];
1636
+ }
1637
+ return null;
1638
+ }
1639
+ const F = (y) => {
1640
+ if (v.value !== "mix") return;
1641
+ const b = we(s.routes, y);
1642
+ a.activeTopMenu !== b.path && a.activeTopMenu(b.path);
1643
+ };
1644
+ return re(
1645
+ () => o.name,
1646
+ (y) => {
1647
+ y && F(y);
1648
+ },
1649
+ {
1650
+ deep: !0
1651
+ }
1652
+ ), ze(() => {
1653
+ x();
1654
+ }), (y, b) => {
1655
+ const K = Tn, W = w("router-link"), Y = w("el-scrollbar"), D = de;
1656
+ return m(), S("div", En, [
1657
+ d(Y, {
1658
+ class: "scroll-container",
1659
+ vertical: !1,
1660
+ onWheel: fe(Ce, ["prevent"])
1661
+ }, {
1662
+ default: p(() => [
1663
+ (m(!0), S(J, null, me(i(r), (U) => (m(), V(W, {
1664
+ ref_for: !0,
1665
+ ref: "tagRef",
1666
+ key: U.fullPath,
1667
+ class: G("tags-item " + (i(n).isActive(U) ? "active" : "")),
1668
+ to: { path: U.path, query: U.query },
1669
+ onMouseup: fe((Z) => C(U) ? "" : E(U), ["middle"]),
1670
+ onContextmenu: fe((Z) => oe(U, Z), ["prevent"])
1671
+ }, {
1672
+ default: p(() => [
1673
+ R(M(i(Kt)(U)) + " ", 1),
1674
+ C(U) ? P("", !0) : (m(), V(K, {
1675
+ key: 0,
1676
+ class: "close-icon",
1677
+ size: "12px",
1678
+ onClick: fe((Z) => E(U), ["prevent", "stop"])
1679
+ }, null, 8, ["onClick"]))
1680
+ ]),
1681
+ _: 2
1682
+ }, 1032, ["class", "to", "onMouseup", "onContextmenu"]))), 128))
1683
+ ]),
1684
+ _: 1
1685
+ }),
1686
+ Be(k("ul", {
1687
+ class: "contextmenu",
1688
+ style: vt({ left: i(f) + "px", top: i(h) + "px" })
1689
+ }, [
1690
+ k("li", {
1691
+ onClick: b[0] || (b[0] = (U) => L(i(_)))
1692
+ }, [
1693
+ d(D, { "icon-class": "refresh" }),
1694
+ b[3] || (b[3] = R(" 刷新 "))
1695
+ ]),
1696
+ C(i(_)) ? P("", !0) : (m(), S("li", {
1697
+ key: 0,
1698
+ onClick: b[1] || (b[1] = (U) => E(i(_)))
1699
+ }, [
1700
+ d(D, { "icon-class": "close" }),
1701
+ b[4] || (b[4] = R(" 关闭 "))
1702
+ ])),
1703
+ k("li", { onClick: O }, [
1704
+ d(D, { "icon-class": "close_other" }),
1705
+ b[5] || (b[5] = R(" 关闭其它 "))
1706
+ ]),
1707
+ N() ? P("", !0) : (m(), S("li", {
1708
+ key: 1,
1709
+ onClick: ie
1710
+ }, [
1711
+ d(D, { "icon-class": "close_left" }),
1712
+ b[6] || (b[6] = R(" 关闭左侧 "))
1713
+ ])),
1714
+ A() ? P("", !0) : (m(), S("li", {
1715
+ key: 2,
1716
+ onClick: H
1717
+ }, [
1718
+ d(D, { "icon-class": "close_right" }),
1719
+ b[7] || (b[7] = R(" 关闭右侧 "))
1720
+ ])),
1721
+ k("li", {
1722
+ onClick: b[2] || (b[2] = (U) => Q(i(_)))
1723
+ }, [
1724
+ d(D, { "icon-class": "close_all" }),
1725
+ b[8] || (b[8] = R(" 关闭所有 "))
1726
+ ])
1727
+ ], 4), [
1728
+ [_t, i(g)]
1729
+ ])
1730
+ ]);
1731
+ };
1732
+ }
1733
+ }), Pn = /* @__PURE__ */ X(Mn, [["__scopeId", "data-v-77bfe9a5"]]), Ln = /* @__PURE__ */ B({
1734
+ name: "AppLink",
1735
+ inheritAttrs: !1,
1736
+ __name: "index",
1737
+ props: {
1738
+ to: {
1739
+ type: String,
1740
+ required: !0
1741
+ }
1742
+ },
1743
+ setup(l) {
1744
+ const e = l, t = z(() => ve(e.to)), o = z(() => t.value ? "a" : "router-link"), s = (n) => t.value ? { href: n, target: "_blank", rel: "noopener noreferrer" } : { to: n };
1745
+ return (n, a) => (m(), V(Ee(i(o)), ht(gt(s(l.to))), {
1746
+ default: p(() => [
1747
+ bt(n.$slots, "default")
1748
+ ]),
1749
+ _: 3
1750
+ }, 16));
1751
+ }
1752
+ }), In = {
1753
+ key: 3,
1754
+ class: "ml-1"
1755
+ }, Rn = /* @__PURE__ */ B({
1756
+ __name: "SidebarMenuItemTitle",
1757
+ props: {
1758
+ icon: {
1759
+ type: String,
1760
+ default: ""
1761
+ },
1762
+ name: {
1763
+ type: String,
1764
+ default: ""
1765
+ },
1766
+ title: {
1767
+ type: String,
1768
+ default: ""
1769
+ }
1770
+ },
1771
+ setup(l) {
1772
+ return (e, t) => {
1773
+ const o = w("el-icon"), s = de;
1774
+ return m(), S(J, null, [
1775
+ l.icon && l.icon.startsWith("el-icon") ? (m(), V(o, {
1776
+ key: 0,
1777
+ class: "sub-el-icon"
1778
+ }, {
1779
+ default: p(() => [
1780
+ (m(), V(Ee(l.icon.replace("el-icon-", ""))))
1781
+ ]),
1782
+ _: 1
1783
+ })) : l.icon ? (m(), V(s, {
1784
+ key: 1,
1785
+ "icon-class": l.icon
1786
+ }, null, 8, ["icon-class"])) : (m(), V(s, {
1787
+ key: 2,
1788
+ "icon-class": "menu"
1789
+ })),
1790
+ l.title ? (m(), S("span", In, M(i(be)(l.name, l.title)), 1)) : P("", !0)
1791
+ ], 64);
1792
+ };
1793
+ }
1794
+ }), Nn = /* @__PURE__ */ X(Rn, [["__scopeId", "data-v-992a058f"]]), qn = { key: 0 }, Dn = /* @__PURE__ */ B({
1795
+ name: "SidebarMenuItem",
1796
+ inheritAttrs: !1,
1797
+ __name: "SidebarMenuItem",
1798
+ props: {
1799
+ /**
1800
+ * 路由(eg:user)
1801
+ */
1802
+ item: {
1803
+ type: Object,
1804
+ required: !0
1805
+ },
1806
+ /**
1807
+ * 父层级完整路由路径(eg:/system)
1808
+ */
1809
+ basePath: {
1810
+ type: String,
1811
+ required: !0
1812
+ },
1813
+ isNest: {
1814
+ type: Boolean,
1815
+ default: !1
1816
+ }
1817
+ },
1818
+ setup(l) {
1819
+ const e = l, t = I();
1820
+ function o(n = [], a) {
1821
+ const r = n.filter((u) => {
1822
+ var v;
1823
+ return (v = u.meta) != null && v.hidden ? !1 : (u.meta.hidden = !1, t.value = u, !0);
1824
+ });
1825
+ return r.length === 1 ? !0 : r.length === 0 ? (t.value = { ...a, path: "", noShowingChildren: !0 }, !0) : !1;
1826
+ }
1827
+ function s(n) {
1828
+ return ve(n) ? n : ve(e.basePath) ? e.basePath : Xe.resolve(e.basePath, n);
1829
+ }
1830
+ return (n, a) => {
1831
+ var f;
1832
+ const r = Nn, u = w("el-menu-item"), v = Ln, _ = w("SidebarMenuItem", !0), c = w("el-sub-menu");
1833
+ return !l.item.meta || !l.item.meta.hidden ? (m(), S("div", qn, [
1834
+ o(l.item.children, l.item) && (!i(t).children || i(t).noShowingChildren) && !((f = l.item.meta) != null && f.alwaysShow) ? (m(), S(J, { key: 0 }, [
1835
+ i(t).meta ? (m(), V(v, {
1836
+ key: 0,
1837
+ to: s(i(t).path)
1838
+ }, {
1839
+ default: p(() => [
1840
+ d(u, {
1841
+ index: s(i(t).path),
1842
+ class: G({ "submenu-title-noDropdown": !l.isNest })
1843
+ }, {
1844
+ default: p(() => [
1845
+ d(r, {
1846
+ icon: i(t).meta.icon || l.item.meta && l.item.meta.icon,
1847
+ title: i(t).meta.title,
1848
+ name: i(t).name
1849
+ }, null, 8, ["icon", "title", "name"])
1850
+ ]),
1851
+ _: 1
1852
+ }, 8, ["index", "class"])
1853
+ ]),
1854
+ _: 1
1855
+ }, 8, ["to"])) : P("", !0)
1856
+ ], 64)) : (m(), V(c, {
1857
+ key: 1,
1858
+ index: s(l.item.path),
1859
+ teleported: ""
1860
+ }, {
1861
+ title: p(() => [
1862
+ l.item.meta ? (m(), V(r, {
1863
+ key: 0,
1864
+ icon: l.item.meta && l.item.meta.icon,
1865
+ title: l.item.meta.title,
1866
+ name: l.item.name
1867
+ }, null, 8, ["icon", "title", "name"])) : P("", !0)
1868
+ ]),
1869
+ default: p(() => [
1870
+ (m(!0), S(J, null, me(l.item.children, (h) => (m(), V(_, {
1871
+ key: h.path,
1872
+ "is-nest": !0,
1873
+ item: h,
1874
+ "base-path": s(h.path)
1875
+ }, null, 8, ["item", "base-path"]))), 128))
1876
+ ]),
1877
+ _: 1
1878
+ }, 8, ["index"]))
1879
+ ])) : P("", !0);
1880
+ };
1881
+ }
1882
+ }), Un = "_dark_1sua6_13", ce = {
1883
+ "sidebar-width": "210px",
1884
+ "navbar-height": "50px",
1885
+ "menu-background": "var(--menu-background)",
1886
+ "menu-text": "var(--menu-text)",
1887
+ "menu-active-text": "var(--menu-active-text)",
1888
+ "menu-hover": "var(--menu-hover)",
1889
+ dark: Un
1890
+ }, je = /* @__PURE__ */ B({
1891
+ __name: "SidebarMenu",
1892
+ props: {
1893
+ menuList: {
1894
+ required: !0,
1895
+ default: () => [],
1896
+ type: Array
1897
+ },
1898
+ basePath: {
1899
+ type: String,
1900
+ required: !0
1901
+ }
1902
+ },
1903
+ setup(l) {
1904
+ const e = le(), t = ne(), o = he(), s = z(() => e.layout), n = l;
1905
+ function a(r) {
1906
+ return ve(r) ? r : ve(n.basePath) ? n.basePath : Xe.resolve(n.basePath, r);
1907
+ }
1908
+ return (r, u) => {
1909
+ const v = Dn, _ = w("el-menu");
1910
+ return m(), V(_, {
1911
+ "default-active": i(o).path,
1912
+ collapse: !i(t).sidebar.opened,
1913
+ "background-color": i(ce)["menu-background"],
1914
+ "text-color": i(ce)["menu-text"],
1915
+ "active-text-color": i(ce)["menu-active-text"],
1916
+ "unique-opened": !1,
1917
+ "collapse-transition": !1,
1918
+ mode: i(s) === "top" ? "horizontal" : "vertical"
1919
+ }, {
1920
+ default: p(() => [
1921
+ (m(!0), S(J, null, me(l.menuList, (c) => (m(), V(v, {
1922
+ key: c.path,
1923
+ item: c,
1924
+ "base-path": a(c.path),
1925
+ "is-collapse": !i(t).sidebar.opened
1926
+ }, null, 8, ["item", "base-path", "is-collapse"]))), 128))
1927
+ ]),
1928
+ _: 1
1929
+ }, 8, ["default-active", "collapse", "background-color", "text-color", "active-text-color", "mode"]);
1930
+ };
1931
+ }
1932
+ }), Bn = { key: 1 }, On = {
1933
+ key: 0,
1934
+ class: "ml-1"
1935
+ }, zn = /* @__PURE__ */ B({
1936
+ __name: "SidebarMixTopMenu",
1937
+ setup(l) {
1938
+ const e = ne(), t = _e(), o = Me(), s = z(() => e.activeTopMenuPath), n = I([]), a = (u) => {
1939
+ e.activeTopMenu(u), t.setMixLeftMenus(u);
1940
+ const v = t.mixLeftMenus;
1941
+ r(v);
1942
+ }, r = (u) => {
1943
+ if (u.length === 0) return;
1944
+ const [v] = u;
1945
+ v.children && v.children.length > 0 ? r(v.children) : v.name && o.push({
1946
+ name: v.name
1947
+ });
1948
+ };
1949
+ return ze(() => {
1950
+ n.value = t.routes.filter(
1951
+ (u) => !u.meta || !u.meta.hidden
1952
+ );
1953
+ }), (u, v) => {
1954
+ const _ = de, c = w("el-menu-item"), f = w("el-menu"), h = w("el-scrollbar");
1955
+ return m(), V(h, null, {
1956
+ default: p(() => [
1957
+ d(f, {
1958
+ mode: "horizontal",
1959
+ "default-active": i(s),
1960
+ "background-color": i(ce)["menu-background"],
1961
+ "text-color": i(ce)["menu-text"],
1962
+ "active-text-color": i(ce)["menu-active-text"],
1963
+ onSelect: a
1964
+ }, {
1965
+ default: p(() => [
1966
+ (m(!0), S(J, null, me(i(n), (g) => (m(), V(c, {
1967
+ key: g.path,
1968
+ index: g.path
1969
+ }, {
1970
+ title: p(() => [
1971
+ g.meta && g.meta.icon ? (m(), V(_, {
1972
+ key: 0,
1973
+ "icon-class": g.meta.icon
1974
+ }, null, 8, ["icon-class"])) : P("", !0),
1975
+ g.path === "/" ? (m(), S("span", Bn, M(i(be)("Dashboard", "首页")), 1)) : (m(), S(J, { key: 2 }, [
1976
+ g.meta && g.meta.title ? (m(), S("span", On, M(i($e)(g)), 1)) : P("", !0)
1977
+ ], 64))
1978
+ ]),
1979
+ _: 2
1980
+ }, 1032, ["index"]))), 128))
1981
+ ]),
1982
+ _: 1
1983
+ }, 8, ["default-active", "background-color", "text-color", "active-text-color"])
1984
+ ]),
1985
+ _: 1
1986
+ });
1987
+ };
1988
+ }
1989
+ }), Fn = { class: "logo-container" }, Wn = ["src"], Hn = ["src"], Kn = { class: "logo-title" }, Qn = /* @__PURE__ */ B({
1990
+ __name: "SidebarLogo",
1991
+ props: {
1992
+ collapse: {
1993
+ type: Boolean,
1994
+ required: !0
1995
+ }
1996
+ },
1997
+ setup(l) {
1998
+ const e = le(), t = pe.logo;
1999
+ return (o, s) => {
2000
+ const n = w("router-link");
2001
+ return m(), S("div", Fn, [
2002
+ d(Oe, { "enter-active-class": "animate__animated animate__fadeInLeft" }, {
2003
+ default: p(() => [
2004
+ l.collapse ? (m(), V(n, {
2005
+ key: 0,
2006
+ class: "wh-full flex-center",
2007
+ to: "/"
2008
+ }, {
2009
+ default: p(() => [
2010
+ i(e).sidebarLogo ? (m(), S("img", {
2011
+ key: 0,
2012
+ src: i(t),
2013
+ class: "logo-image"
2014
+ }, null, 8, Wn)) : P("", !0)
2015
+ ]),
2016
+ _: 1
2017
+ })) : (m(), V(n, {
2018
+ key: 1,
2019
+ class: "wh-full flex-center",
2020
+ to: "/"
2021
+ }, {
2022
+ default: p(() => [
2023
+ i(e).sidebarLogo ? (m(), S("img", {
2024
+ key: 0,
2025
+ src: i(t),
2026
+ class: "logo-image"
2027
+ }, null, 8, Hn)) : P("", !0),
2028
+ k("span", Kn, M(i(pe).title), 1)
2029
+ ]),
2030
+ _: 1
2031
+ }))
2032
+ ]),
2033
+ _: 1
2034
+ })
2035
+ ]);
2036
+ };
2037
+ }
2038
+ }), Xn = /* @__PURE__ */ X(Qn, [["__scopeId", "data-v-210c85a9"]]), jn = {
2039
+ key: 0,
2040
+ class: "flex w-full"
2041
+ }, Gn = /* @__PURE__ */ B({
2042
+ __name: "index",
2043
+ setup(l) {
2044
+ const e = ne(), t = le(), o = _e(), s = z(() => t.sidebarLogo), n = z(() => t.layout);
2045
+ return (a, r) => {
2046
+ const u = Xn, v = zn, _ = He, c = je, f = w("el-scrollbar");
2047
+ return m(), S("div", {
2048
+ class: G({ "has-logo": i(s) })
2049
+ }, [
2050
+ i(n) == "mix" ? (m(), S("div", jn, [
2051
+ i(s) ? (m(), V(u, {
2052
+ key: 0,
2053
+ collapse: !i(e).sidebar.opened
2054
+ }, null, 8, ["collapse"])) : P("", !0),
2055
+ d(v, { class: "flex-1" }),
2056
+ d(_)
2057
+ ])) : (m(), S(J, { key: 1 }, [
2058
+ i(s) ? (m(), V(u, {
2059
+ key: 0,
2060
+ collapse: !i(e).sidebar.opened
2061
+ }, null, 8, ["collapse"])) : P("", !0),
2062
+ d(f, null, {
2063
+ default: p(() => [
2064
+ d(c, {
2065
+ "menu-list": i(o).routes,
2066
+ "base-path": ""
2067
+ }, null, 8, ["menu-list"])
2068
+ ]),
2069
+ _: 1
2070
+ }),
2071
+ i(n) === "top" ? (m(), V(_, { key: 1 })) : P("", !0)
2072
+ ], 64))
2073
+ ], 2);
2074
+ };
2075
+ }
2076
+ }), Yn = /* @__PURE__ */ X(Gn, [["__scopeId", "data-v-a6d3f8e9"]]), Jn = {
2077
+ key: 1,
2078
+ class: "mix-container"
2079
+ }, Zn = { class: "mix-container__left" }, eo = { class: "sidebar-toggle" }, to = 992, no = /* @__PURE__ */ B({
2080
+ __name: "index",
2081
+ setup(l) {
2082
+ const e = ne(), t = le(), o = _e(), s = z(() => t.fixedHeader), n = z(() => t.tagsView), a = z(() => t.layout), r = z(() => e.activeTopMenuPath), u = z(() => o.mixLeftMenus);
2083
+ re(
2084
+ () => r.value,
2085
+ (h) => {
2086
+ o.setMixLeftMenus(h);
2087
+ },
2088
+ {
2089
+ deep: !0,
2090
+ immediate: !0
2091
+ }
2092
+ );
2093
+ const v = z(() => ({
2094
+ hideSidebar: !e.sidebar.opened,
2095
+ openSidebar: e.sidebar.opened,
2096
+ mobile: e.device === ge.MOBILE,
2097
+ "layout-left": a.value === "left",
2098
+ "layout-top": a.value === "top",
2099
+ "layout-mix": a.value === "mix"
2100
+ })), _ = st().width;
2101
+ Ct(() => {
2102
+ _.value < to ? (e.toggleDevice(ge.MOBILE), e.closeSideBar()) : (e.toggleDevice(ge.DESKTOP), _.value >= 1200 ? e.openSideBar() : e.closeSideBar());
2103
+ });
2104
+ function c() {
2105
+ e.closeSideBar();
2106
+ }
2107
+ function f() {
2108
+ e.toggleSidebar();
2109
+ }
2110
+ return (h, g) => {
2111
+ const $ = Yn, x = je, T = Ke, q = Pn, C = kn, N = yn, A = on;
2112
+ return m(), S("div", {
2113
+ class: G(["wh-full", i(v)])
2114
+ }, [
2115
+ i(v).mobile && i(v).openSidebar ? (m(), S("div", {
2116
+ key: 0,
2117
+ class: "wh-full fixed-lt z-999 bg-black bg-opacity-30",
2118
+ onClick: c
2119
+ })) : P("", !0),
2120
+ d($, { class: "sidebar-container" }),
2121
+ i(a) === "mix" ? (m(), S("div", Jn, [
2122
+ k("div", Zn, [
2123
+ d(x, {
2124
+ "menu-list": i(u),
2125
+ "base-path": i(r)
2126
+ }, null, 8, ["menu-list", "base-path"]),
2127
+ k("div", eo, [
2128
+ d(T, {
2129
+ "is-active": i(e).sidebar.opened,
2130
+ onToggleClick: f
2131
+ }, null, 8, ["is-active"])
2132
+ ])
2133
+ ]),
2134
+ k("div", {
2135
+ class: G([{ hasTagsView: i(n) }, "main-container"])
2136
+ }, [
2137
+ k("div", {
2138
+ class: G({ "fixed-header": i(s) })
2139
+ }, [
2140
+ i(n) ? (m(), V(q, { key: 0 })) : P("", !0)
2141
+ ], 2),
2142
+ d(C),
2143
+ i(pe).showSettings ? (m(), V(N, { key: 0 })) : P("", !0)
2144
+ ], 2)
2145
+ ])) : (m(), S("div", {
2146
+ key: 2,
2147
+ class: G([{ hasTagsView: i(n) }, "main-container"])
2148
+ }, [
2149
+ k("div", {
2150
+ class: G({ "fixed-header": i(s) })
2151
+ }, [
2152
+ i(a) === "left" ? (m(), V(A, { key: 0 })) : P("", !0),
2153
+ i(n) ? (m(), V(q, { key: 1 })) : P("", !0)
2154
+ ], 2),
2155
+ d(C),
2156
+ i(pe).showSettings ? (m(), V(N, { key: 0 })) : P("", !0)
2157
+ ], 2))
2158
+ ], 2);
2159
+ };
2160
+ }
2161
+ }), fo = /* @__PURE__ */ X(no, [["__scopeId", "data-v-71891bc2"]]);
2162
+ export {
2163
+ fo as default
2164
+ };