jmash-core 0.0.96 → 0.0.98

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 (196) hide show
  1. package/dist/401-DZyE7zkE.mjs +100 -0
  2. package/dist/404-D-pecrPK.mjs +37 -0
  3. package/dist/BarChart-Bl3C1G8l.mjs +199 -0
  4. package/dist/FunnelChart-Ci14WUay.mjs +107 -0
  5. package/dist/PieChart-C60V9Kgc.mjs +4 -0
  6. package/dist/PieChart.vue_vue_type_script_setup_true_lang-D1-1NDvg.mjs +89 -0
  7. package/dist/RadarChart-BBq1VxXC.mjs +4 -0
  8. package/dist/RadarChart.vue_vue_type_script_setup_true_lang-BNLujpKR.mjs +108 -0
  9. package/dist/favicon.ico +0 -0
  10. package/dist/index-B3bBQvl1.mjs +43717 -0
  11. package/dist/index-B5cWr2iD.mjs +19568 -0
  12. package/dist/index-C9yqXmWd.mjs +267 -0
  13. package/dist/index-DjJlcy7Y.mjs +367 -0
  14. package/dist/index-RyuepZJh.mjs +1627 -0
  15. package/dist/index-uykKwY2Z.mjs +12 -0
  16. package/dist/index.mjs +59 -0
  17. package/dist/picture-CBRsHLZl.mjs +22 -0
  18. package/dist/profile-CD5r8fxF.mjs +267 -0
  19. package/dist/runAs-BZmCojrF.mjs +4 -0
  20. package/dist/runAs.vue_vue_type_script_setup_true_lang-CPGfXN02.mjs +2496 -0
  21. package/dist/style.css +1 -0
  22. package/dist/types-XiPq65WD.mjs +204 -0
  23. package/dist/updatePwd-Cn-v1tVG.mjs +4 -0
  24. package/dist/updatePwd.vue_vue_type_script_setup_true_lang-BU1ew_Pw.mjs +146 -0
  25. package/dts/src/App.vue.d.ts +2 -0
  26. package/dts/src/api/auth/index.d.ts +66 -0
  27. package/dts/src/api/auth/types.d.ts +201 -0
  28. package/dts/src/api/file/index.d.ts +33 -0
  29. package/dts/src/api/file/types.d.ts +14 -0
  30. package/dts/src/api/index.d.ts +38 -0
  31. package/dts/src/api/sys/index.d.ts +16 -0
  32. package/dts/src/api/sys/types.d.ts +35 -0
  33. package/dts/src/api/types.d.ts +85 -0
  34. package/dts/src/assets/components/icon-a-fixed.vue.d.ts +2 -0
  35. package/dts/src/assets/components/icon-a-list.vue.d.ts +2 -0
  36. package/dts/src/assets/components/icon-anquanrizhi.vue.d.ts +2 -0
  37. package/dts/src/assets/components/icon-api.vue.d.ts +2 -0
  38. package/dts/src/assets/components/icon-bumenguanli.vue.d.ts +2 -0
  39. package/dts/src/assets/components/icon-caozuoguanliyuan.vue.d.ts +2 -0
  40. package/dts/src/assets/components/icon-captcha.vue.d.ts +2 -0
  41. package/dts/src/assets/components/icon-cascader.vue.d.ts +2 -0
  42. package/dts/src/assets/components/icon-client.vue.d.ts +2 -0
  43. package/dts/src/assets/components/icon-close-all.vue.d.ts +2 -0
  44. package/dts/src/assets/components/icon-close-eye.vue.d.ts +2 -0
  45. package/dts/src/assets/components/icon-close-left.vue.d.ts +2 -0
  46. package/dts/src/assets/components/icon-close-other.vue.d.ts +2 -0
  47. package/dts/src/assets/components/icon-close-right.vue.d.ts +2 -0
  48. package/dts/src/assets/components/icon-close.vue.d.ts +2 -0
  49. package/dts/src/assets/components/icon-dept.vue.d.ts +2 -0
  50. package/dts/src/assets/components/icon-dict.vue.d.ts +2 -0
  51. package/dts/src/assets/components/icon-document.vue.d.ts +2 -0
  52. package/dts/src/assets/components/icon-download.vue.d.ts +2 -0
  53. package/dts/src/assets/components/icon-drag.vue.d.ts +2 -0
  54. package/dts/src/assets/components/icon-edit.vue.d.ts +2 -0
  55. package/dts/src/assets/components/icon-email.vue.d.ts +2 -0
  56. package/dts/src/assets/components/icon-exit-fullscreen.vue.d.ts +2 -0
  57. package/dts/src/assets/components/icon-eye-open.vue.d.ts +2 -0
  58. package/dts/src/assets/components/icon-fullscreen-exit.vue.d.ts +2 -0
  59. package/dts/src/assets/components/icon-fullscreen.vue.d.ts +2 -0
  60. package/dts/src/assets/components/icon-gangweiguanli.vue.d.ts +2 -0
  61. package/dts/src/assets/components/icon-github.vue.d.ts +2 -0
  62. package/dts/src/assets/components/icon-homepage.vue.d.ts +2 -0
  63. package/dts/src/assets/components/icon-icon.vue.d.ts +2 -0
  64. package/dts/src/assets/components/icon-indent-decrease.vue.d.ts +2 -0
  65. package/dts/src/assets/components/icon-ip.vue.d.ts +2 -0
  66. package/dts/src/assets/components/icon-jiemianxijietubiao-26.vue.d.ts +2 -0
  67. package/dts/src/assets/components/icon-language.vue.d.ts +2 -0
  68. package/dts/src/assets/components/icon-link.vue.d.ts +2 -0
  69. package/dts/src/assets/components/icon-lock.vue.d.ts +2 -0
  70. package/dts/src/assets/components/icon-log.vue.d.ts +2 -0
  71. package/dts/src/assets/components/icon-menu.vue.d.ts +2 -0
  72. package/dts/src/assets/components/icon-message.vue.d.ts +2 -0
  73. package/dts/src/assets/components/icon-mokuaiguanli.vue.d.ts +2 -0
  74. package/dts/src/assets/components/icon-money.vue.d.ts +2 -0
  75. package/dts/src/assets/components/icon-monitor.vue.d.ts +2 -0
  76. package/dts/src/assets/components/icon-moon.vue.d.ts +2 -0
  77. package/dts/src/assets/components/icon-order.vue.d.ts +2 -0
  78. package/dts/src/assets/components/icon-password.vue.d.ts +2 -0
  79. package/dts/src/assets/components/icon-peoples.vue.d.ts +2 -0
  80. package/dts/src/assets/components/icon-phone.vue.d.ts +2 -0
  81. package/dts/src/assets/components/icon-project.vue.d.ts +2 -0
  82. package/dts/src/assets/components/icon-publish.vue.d.ts +2 -0
  83. package/dts/src/assets/components/icon-quanxianguanli.vue.d.ts +2 -0
  84. package/dts/src/assets/components/icon-redis.vue.d.ts +2 -0
  85. package/dts/src/assets/components/icon-refresh.vue.d.ts +2 -0
  86. package/dts/src/assets/components/icon-role.vue.d.ts +2 -0
  87. package/dts/src/assets/components/icon-security.vue.d.ts +2 -0
  88. package/dts/src/assets/components/icon-setting.vue.d.ts +2 -0
  89. package/dts/src/assets/components/icon-shoujihao.vue.d.ts +2 -0
  90. package/dts/src/assets/components/icon-shrink.vue.d.ts +2 -0
  91. package/dts/src/assets/components/icon-size.vue.d.ts +2 -0
  92. package/dts/src/assets/components/icon-sunny.vue.d.ts +2 -0
  93. package/dts/src/assets/components/icon-system.vue.d.ts +2 -0
  94. package/dts/src/assets/components/icon-table.vue.d.ts +2 -0
  95. package/dts/src/assets/components/icon-team.vue.d.ts +2 -0
  96. package/dts/src/assets/components/icon-todolist.vue.d.ts +2 -0
  97. package/dts/src/assets/components/icon-tree.vue.d.ts +2 -0
  98. package/dts/src/assets/components/icon-user.vue.d.ts +2 -0
  99. package/dts/src/assets/components/icon-visit.vue.d.ts +2 -0
  100. package/dts/src/assets/components/icon-xingming.vue.d.ts +2 -0
  101. package/dts/src/assets/components/icon-yonghuguanli.vue.d.ts +2 -0
  102. package/dts/src/assets/components/icon-youxiang.vue.d.ts +2 -0
  103. package/dts/src/assets/components/index.d.ts +69 -0
  104. package/dts/src/assets/index.d.ts +2 -0
  105. package/dts/src/components/AppLink/index.vue.d.ts +19 -0
  106. package/dts/src/components/Breadcrumb/index.vue.d.ts +2 -0
  107. package/dts/src/components/DictRadio/index.vue.d.ts +32 -0
  108. package/dts/src/components/DictSelect/index.vue.d.ts +50 -0
  109. package/dts/src/components/Dictionary/index.vue.d.ts +47 -0
  110. package/dts/src/components/GithubCorner/index.vue.d.ts +2 -0
  111. package/dts/src/components/Hamburger/index.vue.d.ts +18 -0
  112. package/dts/src/components/IconSelect/index.vue.d.ts +20 -0
  113. package/dts/src/components/IconSelect/requireIcons.d.ts +3 -0
  114. package/dts/src/components/JmashColumnSelect/index.vue.d.ts +17 -0
  115. package/dts/src/components/JmashEnumSelect/index.vue.d.ts +23 -0
  116. package/dts/src/components/JmashPagination/index.vue.d.ts +32 -0
  117. package/dts/src/components/JmashTable/index.vue.d.ts +46 -0
  118. package/dts/src/components/JmashUploadFile/index.vue.d.ts +7 -0
  119. package/dts/src/components/JmashUploadImage/index.vue.d.ts +37 -0
  120. package/dts/src/components/LangSelect/index.vue.d.ts +2 -0
  121. package/dts/src/components/Pagination/index.vue.d.ts +88 -0
  122. package/dts/src/components/RightPanel/index.vue.d.ts +21 -0
  123. package/dts/src/components/SizeSelect/index.vue.d.ts +2 -0
  124. package/dts/src/components/SvgIcon/index.vue.d.ts +43 -0
  125. package/dts/src/components/Table/index.vue.d.ts +64 -0
  126. package/dts/src/components/Upload/MultiUpload.vue.d.ts +65 -0
  127. package/dts/src/components/Upload/SingleUpload.vue.d.ts +18 -0
  128. package/dts/src/components/Upload/importUpload.vue.d.ts +31 -0
  129. package/dts/src/components/Upload/index.vue.d.ts +18 -0
  130. package/dts/src/components/index.d.ts +0 -0
  131. package/dts/src/directive/index.d.ts +5 -0
  132. package/dts/src/directive/permission/index.d.ts +9 -0
  133. package/dts/src/enums/DeviceEnum.d.ts +13 -0
  134. package/dts/src/enums/LayoutEnum.d.ts +17 -0
  135. package/dts/src/enums/MenuTypeEnum.d.ts +21 -0
  136. package/dts/src/enums/SidebarStatusEnum.d.ts +13 -0
  137. package/dts/src/enums/ThemeEnum.d.ts +17 -0
  138. package/dts/src/hooks/table.d.ts +43 -0
  139. package/dts/src/hooks/useList.d.ts +1 -0
  140. package/dts/src/index.d.ts +39 -0
  141. package/dts/src/lang/index.d.ts +2 -0
  142. package/dts/src/lang/package/en.d.ts +147 -0
  143. package/dts/src/lang/package/zh-cn.d.ts +151 -0
  144. package/dts/src/layout/components/AppMain/index.vue.d.ts +2 -0
  145. package/dts/src/layout/components/NavBar/components/NavbarLeft.vue.d.ts +2 -0
  146. package/dts/src/layout/components/NavBar/components/NavbarRight.vue.d.ts +2 -0
  147. package/dts/src/layout/components/NavBar/index.vue.d.ts +2 -0
  148. package/dts/src/layout/components/Settings/components/LayoutSelect.vue.d.ts +10 -0
  149. package/dts/src/layout/components/Settings/components/ThemeColorPicker.vue.d.ts +10 -0
  150. package/dts/src/layout/components/Settings/index.vue.d.ts +2 -0
  151. package/dts/src/layout/components/Sidebar/components/SidebarLogo.vue.d.ts +12 -0
  152. package/dts/src/layout/components/Sidebar/components/SidebarMenu.vue.d.ts +50 -0
  153. package/dts/src/layout/components/Sidebar/components/SidebarMenuItem.vue.d.ts +42 -0
  154. package/dts/src/layout/components/Sidebar/components/SidebarMenuItemTitle.vue.d.ts +32 -0
  155. package/dts/src/layout/components/Sidebar/components/SidebarMixTopMenu.vue.d.ts +2 -0
  156. package/dts/src/layout/components/Sidebar/index.vue.d.ts +2 -0
  157. package/dts/src/layout/components/TagsView/index.vue.d.ts +2 -0
  158. package/dts/src/layout/index.vue.d.ts +2 -0
  159. package/dts/src/main.d.ts +1 -0
  160. package/dts/src/permission.d.ts +1 -0
  161. package/dts/src/router/index.d.ts +22 -0
  162. package/dts/src/settings.d.ts +28 -0
  163. package/dts/src/stores/index.d.ts +7 -0
  164. package/dts/src/stores/modules/app.d.ts +2 -0
  165. package/dts/src/stores/modules/permission.d.ts +2 -0
  166. package/dts/src/stores/modules/settings.d.ts +1 -0
  167. package/dts/src/stores/modules/tagsView.d.ts +85 -0
  168. package/dts/src/stores/modules/user.d.ts +2 -0
  169. package/dts/src/types/index.d.ts +74 -0
  170. package/dts/src/utils/color.d.ts +69 -0
  171. package/dts/src/utils/common.d.ts +6 -0
  172. package/dts/src/utils/file_hash_util.d.ts +28 -0
  173. package/dts/src/utils/fileajax.d.ts +9 -0
  174. package/dts/src/utils/grpc.d.ts +3 -0
  175. package/dts/src/utils/i18n.d.ts +4 -0
  176. package/dts/src/utils/index.d.ts +33 -0
  177. package/dts/src/utils/netsecret.d.ts +1 -0
  178. package/dts/src/utils/nprogress.d.ts +4 -0
  179. package/dts/src/utils/request.d.ts +4 -0
  180. package/dts/src/utils/route.d.ts +6 -0
  181. package/dts/src/utils/scroll-to.d.ts +6 -0
  182. package/dts/src/utils/sm3.d.ts +10 -0
  183. package/dts/src/views/dashboard/components/BarChart.vue.d.ts +45 -0
  184. package/dts/src/views/dashboard/components/FunnelChart.vue.d.ts +45 -0
  185. package/dts/src/views/dashboard/components/PieChart.vue.d.ts +45 -0
  186. package/dts/src/views/dashboard/components/RadarChart.vue.d.ts +45 -0
  187. package/dts/src/views/dashboard/index.vue.d.ts +2 -0
  188. package/dts/src/views/error-page/401.vue.d.ts +2 -0
  189. package/dts/src/views/error-page/404.vue.d.ts +2 -0
  190. package/dts/src/views/login/components/types.vue.d.ts +2 -0
  191. package/dts/src/views/login/index.vue.d.ts +2 -0
  192. package/dts/src/views/my/profile.vue.d.ts +2 -0
  193. package/dts/src/views/my/runAs.vue.d.ts +6 -0
  194. package/dts/src/views/my/updatePwd.vue.d.ts +18 -0
  195. package/dts/src/views/redirect/index.vue.d.ts +2 -0
  196. package/package.json +1 -1
@@ -0,0 +1,1627 @@
1
+ import { u as Q, E as Ue, S as ae, a as He, b as be, c as qe, d as te, D as me, e as We, f as Ke, g as ce, _ as Xe, h as F, i as Se, r as Ce, j as de, T as he, m as je, s as Ge, k as Ye, l as ue, n as Je } from "./index-B5cWr2iD.mjs";
2
+ import { defineComponent as I, ref as z, resolveComponent as V, openBlock as u, createBlock as k, withCtx as g, createVNode as _, createElementBlock as x, Fragment as K, renderList as le, unref as l, createTextVNode as B, toDisplayString as P, createElementVNode as w, computed as R, createCommentVNode as T, isRef as _e, watch as ne, onBeforeMount as Qe, TransitionGroup as Ze, withModifiers as re, normalizeClass as q, pushScopeId as et, popScopeId as tt, Transition as Te, KeepAlive as nt, resolveDynamicComponent as xe, getCurrentInstance as ot, nextTick as $e, onMounted as Ae, withDirectives as it, normalizeStyle as at, vShow as lt, normalizeProps as st, guardReactiveProps as rt, renderSlot as ct, watchEffect as ut } from "vue";
3
+ import { useRoute as fe, useRouter as ye } from "vue-router";
4
+ import { _ as dt } from "./updatePwd.vue_vue_type_script_setup_true_lang-BU1ew_Pw.mjs";
5
+ import { _ as ft, E as mt } from "./runAs.vue_vue_type_script_setup_true_lang-CPGfXN02.mjs";
6
+ import { storeToRefs as _t } from "pinia";
7
+ const pt = /* @__PURE__ */ I({
8
+ __name: "index",
9
+ setup(i) {
10
+ const e = Q(), t = z([
11
+ { label: "默认", value: "default" },
12
+ { label: "大型", value: "large" },
13
+ { label: "小型", value: "small" }
14
+ ]);
15
+ function n(s) {
16
+ e.changeSize(s), Ue.success("切换布局大小成功");
17
+ }
18
+ return (s, o) => {
19
+ const a = ae, r = V("el-dropdown-item"), c = V("el-dropdown-menu"), d = V("el-dropdown");
20
+ return u(), k(d, {
21
+ trigger: "click",
22
+ onCommand: n
23
+ }, {
24
+ dropdown: g(() => [
25
+ _(c, null, {
26
+ default: g(() => [
27
+ (u(!0), x(K, null, le(l(t), (m) => (u(), k(r, {
28
+ key: m.value,
29
+ disabled: l(e).size == m.value,
30
+ command: m.value
31
+ }, {
32
+ default: g(() => [
33
+ B(P(m.label), 1)
34
+ ]),
35
+ _: 2
36
+ }, 1032, ["disabled", "command"]))), 128))
37
+ ]),
38
+ _: 1
39
+ })
40
+ ]),
41
+ default: g(() => [
42
+ w("div", null, [
43
+ _(a, { "icon-class": "size" })
44
+ ])
45
+ ]),
46
+ _: 1
47
+ });
48
+ };
49
+ }
50
+ }), vt = { class: "flex" }, ht = { class: "flex-center h100% p10px" }, gt = ["src"], bt = { key: 0 }, xt = /* @__PURE__ */ I({
51
+ __name: "NavbarRight",
52
+ setup(i) {
53
+ const e = new He(), t = Q(), n = be(), s = qe(), o = te();
54
+ fe();
55
+ const a = ye(), r = R(() => t.device === me.MOBILE), c = z(!1), d = z(!1), { isFullscreen: m, toggle: f } = We(), p = R(() => Ke.imageUrl(s.user.avatar, 48, 48));
56
+ function h() {
57
+ d.value = !0;
58
+ }
59
+ function y() {
60
+ mt.confirm("确定注销并退出系统吗?", "提示", {
61
+ confirmButtonText: "确定",
62
+ cancelButtonText: "取消",
63
+ type: "warning",
64
+ lockScroll: !1
65
+ }).then(() => {
66
+ s.logout().then(() => {
67
+ n.delAllViews();
68
+ }).then(() => {
69
+ a.push("/login");
70
+ });
71
+ });
72
+ }
73
+ function A(S) {
74
+ c.value = S;
75
+ }
76
+ return (S, $) => {
77
+ const N = ae, C = pt, U = V("el-tooltip"), Z = Xe, H = V("router-link"), O = V("el-dropdown-item"), G = V("el-dropdown-menu"), ee = V("el-dropdown");
78
+ return u(), x("div", vt, [
79
+ l(r) ? T("", !0) : (u(), x(K, { key: 0 }, [
80
+ w("div", {
81
+ class: "setting-item",
82
+ onClick: $[0] || ($[0] = //@ts-ignore
83
+ (...Y) => l(f) && l(f)(...Y))
84
+ }, [
85
+ _(N, {
86
+ "icon-class": l(m) ? "fullscreen-exit" : "fullscreen"
87
+ }, null, 8, ["icon-class"])
88
+ ]),
89
+ _(U, {
90
+ content: S.$t("sizeSelect.tooltip"),
91
+ effect: "dark",
92
+ placement: "bottom"
93
+ }, {
94
+ default: g(() => [
95
+ _(C, { class: "setting-item" })
96
+ ]),
97
+ _: 1
98
+ }, 8, ["content"]),
99
+ _(Z, { class: "setting-item" })
100
+ ], 64)),
101
+ _(ee, {
102
+ class: "setting-item",
103
+ trigger: "click"
104
+ }, {
105
+ dropdown: g(() => [
106
+ _(G, null, {
107
+ default: g(() => [
108
+ _(O, null, {
109
+ default: g(() => [
110
+ _(H, { to: "/" }, {
111
+ default: g(() => [
112
+ B(P(S.$t("navbar.Dashboard")), 1)
113
+ ]),
114
+ _: 1
115
+ })
116
+ ]),
117
+ _: 1
118
+ }),
119
+ _(O, null, {
120
+ default: g(() => [
121
+ _(H, { to: "/my/profile" }, {
122
+ default: g(() => [
123
+ B(P(S.$t("navbar.profile")), 1)
124
+ ]),
125
+ _: 1
126
+ })
127
+ ]),
128
+ _: 1
129
+ }),
130
+ _(O, {
131
+ onClick: $[1] || ($[1] = (Y) => c.value = !0)
132
+ }, {
133
+ default: g(() => [
134
+ B(P(S.$t("navbar.changePwd")), 1)
135
+ ]),
136
+ _: 1
137
+ }),
138
+ l(e).hasRole("tester") || l(e).userInfo().runAs ? (u(), x("div", bt, [
139
+ _(O, { onClick: h }, {
140
+ default: g(() => [
141
+ B(P(S.$t("navbar.runAs")), 1)
142
+ ]),
143
+ _: 1
144
+ })
145
+ ])) : T("", !0),
146
+ _(O, {
147
+ divided: "",
148
+ onClick: y
149
+ }, {
150
+ default: g(() => [
151
+ B(P(S.$t("navbar.logout")), 1)
152
+ ]),
153
+ _: 1
154
+ })
155
+ ]),
156
+ _: 1
157
+ })
158
+ ]),
159
+ default: g(() => [
160
+ w("div", ht, [
161
+ w("img", {
162
+ src: l(p),
163
+ class: "rounded-full mr-10px w24px w24px"
164
+ }, null, 8, gt),
165
+ w("span", null, P(l(s).user.nickName), 1)
166
+ ])
167
+ ]),
168
+ _: 1
169
+ }),
170
+ l(ce).showSettings ? (u(), x("div", {
171
+ key: 1,
172
+ class: "setting-item",
173
+ onClick: $[2] || ($[2] = (Y) => l(o).settingsVisible = !0)
174
+ }, [
175
+ _(N, { "icon-class": "setting" })
176
+ ])) : T("", !0),
177
+ l(c) ? (u(), k(dt, {
178
+ key: 2,
179
+ "pwd-visible": l(c),
180
+ onDialogActionChange: A
181
+ }, null, 8, ["pwd-visible"])) : T("", !0),
182
+ l(d) ? (u(), k(ft, {
183
+ key: 3,
184
+ modelValue: l(d),
185
+ "onUpdate:modelValue": $[3] || ($[3] = (Y) => _e(d) ? d.value = Y : null)
186
+ }, null, 8, ["modelValue"])) : T("", !0)
187
+ ]);
188
+ };
189
+ }
190
+ }), Me = /* @__PURE__ */ F(xt, [["__scopeId", "data-v-659c01cf"]]);
191
+ function yt(i) {
192
+ for (var e = [], t = 0; t < i.length; ) {
193
+ var n = i[t];
194
+ if (n === "*" || n === "+" || n === "?") {
195
+ e.push({ type: "MODIFIER", index: t, value: i[t++] });
196
+ continue;
197
+ }
198
+ if (n === "\\") {
199
+ e.push({ type: "ESCAPED_CHAR", index: t++, value: i[t++] });
200
+ continue;
201
+ }
202
+ if (n === "{") {
203
+ e.push({ type: "OPEN", index: t, value: i[t++] });
204
+ continue;
205
+ }
206
+ if (n === "}") {
207
+ e.push({ type: "CLOSE", index: t, value: i[t++] });
208
+ continue;
209
+ }
210
+ if (n === ":") {
211
+ for (var s = "", o = t + 1; o < i.length; ) {
212
+ var a = i.charCodeAt(o);
213
+ if (
214
+ // `0-9`
215
+ a >= 48 && a <= 57 || // `A-Z`
216
+ a >= 65 && a <= 90 || // `a-z`
217
+ a >= 97 && a <= 122 || // `_`
218
+ a === 95
219
+ ) {
220
+ s += i[o++];
221
+ continue;
222
+ }
223
+ break;
224
+ }
225
+ if (!s)
226
+ throw new TypeError("Missing parameter name at ".concat(t));
227
+ e.push({ type: "NAME", index: t, value: s }), t = o;
228
+ continue;
229
+ }
230
+ if (n === "(") {
231
+ var r = 1, c = "", o = t + 1;
232
+ if (i[o] === "?")
233
+ throw new TypeError('Pattern cannot start with "?" at '.concat(o));
234
+ for (; o < i.length; ) {
235
+ if (i[o] === "\\") {
236
+ c += i[o++] + i[o++];
237
+ continue;
238
+ }
239
+ if (i[o] === ")") {
240
+ if (r--, r === 0) {
241
+ o++;
242
+ break;
243
+ }
244
+ } else if (i[o] === "(" && (r++, i[o + 1] !== "?"))
245
+ throw new TypeError("Capturing groups are not allowed at ".concat(o));
246
+ c += i[o++];
247
+ }
248
+ if (r)
249
+ throw new TypeError("Unbalanced pattern at ".concat(t));
250
+ if (!c)
251
+ throw new TypeError("Missing pattern at ".concat(t));
252
+ e.push({ type: "PATTERN", index: t, value: c }), t = o;
253
+ continue;
254
+ }
255
+ e.push({ type: "CHAR", index: t, value: i[t++] });
256
+ }
257
+ return e.push({ type: "END", index: t, value: "" }), e;
258
+ }
259
+ function wt(i, e) {
260
+ e === void 0 && (e = {});
261
+ for (var t = yt(i), n = e.prefixes, s = n === void 0 ? "./" : n, o = "[^".concat(Ct(e.delimiter || "/#?"), "]+?"), a = [], r = 0, c = 0, d = "", m = function(H) {
262
+ if (c < t.length && t[c].type === H)
263
+ return t[c++].value;
264
+ }, f = function(H) {
265
+ var O = m(H);
266
+ if (O !== void 0)
267
+ return O;
268
+ var G = t[c], ee = G.type, Y = G.index;
269
+ throw new TypeError("Unexpected ".concat(ee, " at ").concat(Y, ", expected ").concat(H));
270
+ }, p = function() {
271
+ for (var H = "", O; O = m("CHAR") || m("ESCAPED_CHAR"); )
272
+ H += O;
273
+ return H;
274
+ }; c < t.length; ) {
275
+ var h = m("CHAR"), y = m("NAME"), A = m("PATTERN");
276
+ if (y || A) {
277
+ var S = h || "";
278
+ s.indexOf(S) === -1 && (d += S, S = ""), d && (a.push(d), d = ""), a.push({
279
+ name: y || r++,
280
+ prefix: S,
281
+ suffix: "",
282
+ pattern: A || o,
283
+ modifier: m("MODIFIER") || ""
284
+ });
285
+ continue;
286
+ }
287
+ var $ = h || m("ESCAPED_CHAR");
288
+ if ($) {
289
+ d += $;
290
+ continue;
291
+ }
292
+ d && (a.push(d), d = "");
293
+ var N = m("OPEN");
294
+ if (N) {
295
+ var S = p(), C = m("NAME") || "", U = m("PATTERN") || "", Z = p();
296
+ f("CLOSE"), a.push({
297
+ name: C || (U ? r++ : ""),
298
+ pattern: C && !U ? o : U,
299
+ prefix: S,
300
+ suffix: Z,
301
+ modifier: m("MODIFIER") || ""
302
+ });
303
+ continue;
304
+ }
305
+ f("END");
306
+ }
307
+ return a;
308
+ }
309
+ function kt(i, e) {
310
+ return St(wt(i, e), e);
311
+ }
312
+ function St(i, e) {
313
+ e === void 0 && (e = {});
314
+ var t = $t(e), n = e.encode, s = n === void 0 ? function(c) {
315
+ return c;
316
+ } : n, o = e.validate, a = o === void 0 ? !0 : o, r = i.map(function(c) {
317
+ if (typeof c == "object")
318
+ return new RegExp("^(?:".concat(c.pattern, ")$"), t);
319
+ });
320
+ return function(c) {
321
+ for (var d = "", m = 0; m < i.length; m++) {
322
+ var f = i[m];
323
+ if (typeof f == "string") {
324
+ d += f;
325
+ continue;
326
+ }
327
+ var p = c ? c[f.name] : void 0, h = f.modifier === "?" || f.modifier === "*", y = f.modifier === "*" || f.modifier === "+";
328
+ if (Array.isArray(p)) {
329
+ if (!y)
330
+ throw new TypeError('Expected "'.concat(f.name, '" to not repeat, but got an array'));
331
+ if (p.length === 0) {
332
+ if (h)
333
+ continue;
334
+ throw new TypeError('Expected "'.concat(f.name, '" to not be empty'));
335
+ }
336
+ for (var A = 0; A < p.length; A++) {
337
+ var S = s(p[A], f);
338
+ if (a && !r[m].test(S))
339
+ throw new TypeError('Expected all "'.concat(f.name, '" to match "').concat(f.pattern, '", but got "').concat(S, '"'));
340
+ d += f.prefix + S + f.suffix;
341
+ }
342
+ continue;
343
+ }
344
+ if (typeof p == "string" || typeof p == "number") {
345
+ var S = s(String(p), f);
346
+ if (a && !r[m].test(S))
347
+ throw new TypeError('Expected "'.concat(f.name, '" to match "').concat(f.pattern, '", but got "').concat(S, '"'));
348
+ d += f.prefix + S + f.suffix;
349
+ continue;
350
+ }
351
+ if (!h) {
352
+ var $ = y ? "an array" : "a string";
353
+ throw new TypeError('Expected "'.concat(f.name, '" to be ').concat($));
354
+ }
355
+ }
356
+ return d;
357
+ };
358
+ }
359
+ function Ct(i) {
360
+ return i.replace(/([.+*?=^!:${}()[\]|/\\])/g, "\\$1");
361
+ }
362
+ function $t(i) {
363
+ return i && i.sensitive ? "" : "i";
364
+ }
365
+ function ge(i) {
366
+ var e, t;
367
+ return pe((e = i.name) == null ? void 0 : e.toString(), (t = i.meta) == null ? void 0 : t.title);
368
+ }
369
+ function Vt(i) {
370
+ return pe(i.name, i.title);
371
+ }
372
+ function pe(i, e) {
373
+ let t = i && i != "" ? i : e;
374
+ return Se.global.te("route." + t) ? Se.global.t("route." + t) : e || i;
375
+ }
376
+ const Tt = {
377
+ key: 0,
378
+ class: "color-gray-400"
379
+ }, At = ["onClick"], Mt = /* @__PURE__ */ I({
380
+ __name: "index",
381
+ setup(i) {
382
+ const e = fe(), t = (r) => {
383
+ const { params: c } = e;
384
+ return kt(r)(c);
385
+ }, n = z([]);
386
+ function s() {
387
+ let r = e.matched.filter(
388
+ (d) => d.meta && d.meta.title
389
+ );
390
+ const c = r[0];
391
+ o(c) || (r = [
392
+ { path: "/dashboard", meta: { title: "Dashboard" } }
393
+ ].concat(r)), n.value = r.filter((d) => d.meta && d.meta.title && d.meta.breadcrumb !== !1);
394
+ }
395
+ function o(r) {
396
+ const c = r && r.name;
397
+ return c ? c.toString().trim().toLocaleLowerCase() === "Dashboard".toLocaleLowerCase() : !1;
398
+ }
399
+ function a(r) {
400
+ const { redirect: c, path: d } = r;
401
+ if (c) {
402
+ Ce.value.push(c).catch((m) => {
403
+ console.warn(m);
404
+ });
405
+ return;
406
+ }
407
+ Ce.value.push(t(d)).catch((m) => {
408
+ console.warn(m);
409
+ });
410
+ }
411
+ return ne(
412
+ () => e.path,
413
+ (r) => {
414
+ r.startsWith("/redirect/") || s();
415
+ }
416
+ ), Qe(() => {
417
+ s();
418
+ }), (r, c) => {
419
+ const d = V("el-breadcrumb-item"), m = V("el-breadcrumb");
420
+ return u(), k(m, { class: "flex-y-center" }, {
421
+ default: g(() => [
422
+ _(Ze, { "enter-active-class": "animate__animated animate__fadeInRight" }, {
423
+ default: g(() => [
424
+ (u(!0), x(K, null, le(l(n), (f, p) => (u(), k(d, {
425
+ key: f.path
426
+ }, {
427
+ default: g(() => [
428
+ f.redirect === "noredirect" || p === l(n).length - 1 ? (u(), x("span", Tt, P(l(ge)(f)), 1)) : (u(), x("a", {
429
+ key: 1,
430
+ onClick: re((h) => a(f), ["prevent"])
431
+ }, P(l(ge)(f)), 9, At))
432
+ ]),
433
+ _: 2
434
+ }, 1024))), 128))
435
+ ]),
436
+ _: 1
437
+ })
438
+ ]),
439
+ _: 1
440
+ });
441
+ };
442
+ }
443
+ }), Pt = /* @__PURE__ */ F(Mt, [["__scopeId", "data-v-2ad27a3f"]]), Et = /* @__PURE__ */ I({
444
+ __name: "index",
445
+ props: {
446
+ isActive: {
447
+ required: !0,
448
+ type: Boolean,
449
+ default: !1
450
+ }
451
+ },
452
+ emits: ["toggleClick"],
453
+ setup(i, { emit: e }) {
454
+ const t = e;
455
+ function n() {
456
+ t("toggleClick");
457
+ }
458
+ return (s, o) => {
459
+ const a = ae;
460
+ return u(), x("div", {
461
+ class: "px-[15px] flex items-center justify-center color-[var(--el-text-color-regular)]",
462
+ onClick: n
463
+ }, [
464
+ _(a, {
465
+ class: q(["hamburger", { "is-active": i.isActive }]),
466
+ "icon-class": "indent-decrease"
467
+ }, null, 8, ["class"])
468
+ ]);
469
+ };
470
+ }
471
+ }), Pe = /* @__PURE__ */ F(Et, [["__scopeId", "data-v-dc46f6f8"]]), Lt = { class: "flex" }, It = /* @__PURE__ */ I({
472
+ __name: "NavbarLeft",
473
+ setup(i) {
474
+ const e = Q();
475
+ function t() {
476
+ e.toggleSidebar();
477
+ }
478
+ return (n, s) => {
479
+ const o = Pe, a = Pt;
480
+ return u(), x("div", Lt, [
481
+ _(o, {
482
+ "is-active": l(e).sidebar.opened,
483
+ onToggleClick: t
484
+ }, null, 8, ["is-active"]),
485
+ _(a)
486
+ ]);
487
+ };
488
+ }
489
+ }), Rt = {}, Dt = { class: "navbar-container" };
490
+ function Bt(i, e) {
491
+ const t = It, n = Me;
492
+ return u(), x("div", Dt, [
493
+ _(t),
494
+ _(n)
495
+ ]);
496
+ }
497
+ const Nt = /* @__PURE__ */ F(Rt, [["render", Bt], ["__scopeId", "data-v-706e4188"]]);
498
+ var J = /* @__PURE__ */ ((i) => (i.LEFT = "left", i.TOP = "top", i.MIX = "mix", i))(J || {});
499
+ const se = (i) => (et("data-v-d50a3d59"), i = i(), tt(), i), Ot = { class: "flex flex-wrap justify-around w-full h-12" }, zt = /* @__PURE__ */ se(() => /* @__PURE__ */ w("div", null, null, -1)), Ft = /* @__PURE__ */ se(() => /* @__PURE__ */ w("div", null, null, -1)), Ut = [
500
+ zt,
501
+ Ft
502
+ ], Ht = /* @__PURE__ */ se(() => /* @__PURE__ */ w("div", null, null, -1)), qt = /* @__PURE__ */ se(() => /* @__PURE__ */ w("div", null, null, -1)), Wt = [
503
+ Ht,
504
+ qt
505
+ ], Kt = /* @__PURE__ */ se(() => /* @__PURE__ */ w("div", null, null, -1)), Xt = /* @__PURE__ */ se(() => /* @__PURE__ */ w("div", null, null, -1)), jt = [
506
+ Kt,
507
+ Xt
508
+ ], Gt = /* @__PURE__ */ I({
509
+ __name: "LayoutSelect",
510
+ props: {
511
+ modelValue: String
512
+ },
513
+ emits: ["update:modelValue"],
514
+ setup(i, { emit: e }) {
515
+ const t = e;
516
+ function n(s) {
517
+ t("update:modelValue", s);
518
+ }
519
+ return (s, o) => {
520
+ const a = V("el-tooltip");
521
+ return u(), x("div", Ot, [
522
+ _(a, {
523
+ content: "左侧模式",
524
+ placement: "bottom"
525
+ }, {
526
+ default: g(() => [
527
+ w("div", {
528
+ class: q(["layout-item left", { "is-active": i.modelValue === l(J).LEFT }]),
529
+ onClick: o[0] || (o[0] = (r) => n(l(J).LEFT))
530
+ }, Ut, 2)
531
+ ]),
532
+ _: 1
533
+ }),
534
+ _(a, {
535
+ content: "顶部模式",
536
+ placement: "bottom"
537
+ }, {
538
+ default: g(() => [
539
+ w("div", {
540
+ class: q(["layout-item top", { "is-active": i.modelValue === l(J).TOP }]),
541
+ onClick: o[1] || (o[1] = (r) => n(l(J).TOP))
542
+ }, Wt, 2)
543
+ ]),
544
+ _: 1
545
+ }),
546
+ _(a, {
547
+ content: "混合模式",
548
+ placement: "bottom"
549
+ }, {
550
+ default: g(() => [
551
+ w("div", {
552
+ class: q(["layout-item mix", { "is-active": i.modelValue === l(J).MIX }]),
553
+ onClick: o[2] || (o[2] = (r) => n(l(J).MIX))
554
+ }, jt, 2)
555
+ ]),
556
+ _: 1
557
+ })
558
+ ]);
559
+ };
560
+ }
561
+ }), Yt = /* @__PURE__ */ F(Gt, [["__scopeId", "data-v-d50a3d59"]]), Jt = /* @__PURE__ */ I({
562
+ __name: "ThemeColorPicker",
563
+ props: {
564
+ modelValue: String
565
+ },
566
+ emits: ["update:modelValue"],
567
+ setup(i, { emit: e }) {
568
+ const t = i, n = e, s = [
569
+ "#409EFF",
570
+ "#ff4500",
571
+ "#ff8c00",
572
+ "#90ee90",
573
+ "#00ced1",
574
+ "#1e90ff",
575
+ "#c71585",
576
+ "rgba(255, 69, 0, 0.68)",
577
+ "rgb(255, 120, 0)",
578
+ "hsva(120, 40, 94)"
579
+ ], o = z(t.modelValue);
580
+ return ne(o, (a) => {
581
+ n("update:modelValue", a);
582
+ }), (a, r) => {
583
+ const c = V("el-color-picker");
584
+ return u(), k(c, {
585
+ modelValue: l(o),
586
+ "onUpdate:modelValue": r[0] || (r[0] = (d) => _e(o) ? o.value = d : null),
587
+ predefine: s,
588
+ "popper-class": "theme-picker-dropdown"
589
+ }, null, 8, ["modelValue"]);
590
+ };
591
+ }
592
+ }), Qt = /* @__PURE__ */ F(Jt, [["__scopeId", "data-v-ba641afc"]]), Zt = { class: "flex-center" }, en = { class: "settings-option" }, tn = { class: "text-xs" }, nn = { class: "settings-option" }, on = { class: "text-xs" }, an = { class: "settings-option" }, ln = { class: "text-xs" }, sn = { class: "settings-option" }, rn = { class: "text-xs" }, cn = { class: "settings-option" }, un = { class: "text-xs" }, dn = /* @__PURE__ */ I({
593
+ __name: "index",
594
+ setup(i) {
595
+ const e = fe(), t = Q(), n = te(), s = de(), o = R({
596
+ get() {
597
+ return n.settingsVisible;
598
+ },
599
+ set() {
600
+ n.settingsVisible = !1;
601
+ }
602
+ });
603
+ function a(p) {
604
+ n.changeThemeColor(p);
605
+ }
606
+ const r = z(n.theme === he.DARK), c = (p) => {
607
+ r.value = p, n.changeTheme(r.value ? he.DARK : he.LIGHT);
608
+ };
609
+ function d(p) {
610
+ n.changeLayout(p), p === J.MIX ? e.name && m(e.name) : p === J.TOP && t.openSideBar();
611
+ }
612
+ function m(p) {
613
+ const h = f(s.routes, p);
614
+ t.activeTopMenu !== h.path && t.activeTopMenu(h.path);
615
+ }
616
+ function f(p, h) {
617
+ let y = {};
618
+ function A($, N) {
619
+ if (y[$.name] = N, $.children)
620
+ for (let C = 0; C < $.children.length; C++)
621
+ A($.children[C], $);
622
+ }
623
+ for (let $ = 0; $ < p.length; $++)
624
+ A(p[$], null);
625
+ let S = y[h];
626
+ for (; S; ) {
627
+ if (!y[S.name])
628
+ return S;
629
+ S = y[S.name];
630
+ }
631
+ return null;
632
+ }
633
+ return (p, h) => {
634
+ const y = V("el-divider"), A = V("el-switch"), S = Qt, $ = Yt, N = V("el-drawer");
635
+ return u(), k(N, {
636
+ modelValue: l(o),
637
+ "onUpdate:modelValue": h[7] || (h[7] = (C) => _e(o) ? o.value = C : null),
638
+ size: "300",
639
+ title: p.$t("settings.project")
640
+ }, {
641
+ default: g(() => [
642
+ _(y, null, {
643
+ default: g(() => [
644
+ B(P(p.$t("settings.theme")), 1)
645
+ ]),
646
+ _: 1
647
+ }),
648
+ w("div", Zt, [
649
+ _(A, {
650
+ modelValue: l(r),
651
+ "onUpdate:modelValue": h[0] || (h[0] = (C) => _e(r) ? r.value = C : null),
652
+ "active-icon": l(je),
653
+ "inactive-icon": l(Ge),
654
+ onChange: c
655
+ }, null, 8, ["modelValue", "active-icon", "inactive-icon"])
656
+ ]),
657
+ _(y, null, {
658
+ default: g(() => [
659
+ B(P(p.$t("settings.interface")), 1)
660
+ ]),
661
+ _: 1
662
+ }),
663
+ w("div", en, [
664
+ w("span", tn, P(p.$t("settings.themeColor")), 1),
665
+ _(S, {
666
+ modelValue: l(n).themeColor,
667
+ "onUpdate:modelValue": [
668
+ h[1] || (h[1] = (C) => l(n).themeColor = C),
669
+ a
670
+ ]
671
+ }, null, 8, ["modelValue"])
672
+ ]),
673
+ w("div", nn, [
674
+ w("span", on, P(p.$t("settings.tagsView")), 1),
675
+ _(A, {
676
+ modelValue: l(n).tagsView,
677
+ "onUpdate:modelValue": h[2] || (h[2] = (C) => l(n).tagsView = C)
678
+ }, null, 8, ["modelValue"])
679
+ ]),
680
+ w("div", an, [
681
+ w("span", ln, P(p.$t("settings.fixedHeader")), 1),
682
+ _(A, {
683
+ modelValue: l(n).fixedHeader,
684
+ "onUpdate:modelValue": h[3] || (h[3] = (C) => l(n).fixedHeader = C)
685
+ }, null, 8, ["modelValue"])
686
+ ]),
687
+ w("div", sn, [
688
+ w("span", rn, P(p.$t("settings.sidebarLogo")), 1),
689
+ _(A, {
690
+ modelValue: l(n).sidebarLogo,
691
+ "onUpdate:modelValue": h[4] || (h[4] = (C) => l(n).sidebarLogo = C)
692
+ }, null, 8, ["modelValue"])
693
+ ]),
694
+ w("div", cn, [
695
+ w("span", un, P(p.$t("settings.watermark")), 1),
696
+ _(A, {
697
+ modelValue: l(n).watermarkEnabled,
698
+ "onUpdate:modelValue": h[5] || (h[5] = (C) => l(n).watermarkEnabled = C)
699
+ }, null, 8, ["modelValue"])
700
+ ]),
701
+ _(y, null, {
702
+ default: g(() => [
703
+ B(P(p.$t("settings.navigation")), 1)
704
+ ]),
705
+ _: 1
706
+ }),
707
+ _($, {
708
+ modelValue: l(n).layout,
709
+ "onUpdate:modelValue": [
710
+ h[6] || (h[6] = (C) => l(n).layout = C),
711
+ d
712
+ ]
713
+ }, null, 8, ["modelValue"])
714
+ ]),
715
+ _: 1
716
+ }, 8, ["modelValue", "title"]);
717
+ };
718
+ }
719
+ }), fn = /* @__PURE__ */ F(dn, [["__scopeId", "data-v-f632744c"]]), mn = { class: "app-main" }, _n = /* @__PURE__ */ I({
720
+ __name: "index",
721
+ setup(i) {
722
+ const e = R(() => be().cachedViews);
723
+ return (t, n) => {
724
+ const s = V("router-view");
725
+ return u(), x("section", mn, [
726
+ _(s, null, {
727
+ default: g(({ Component: o, route: a }) => [
728
+ _(Te, {
729
+ "enter-active-class": "animate__animated animate__fadeIn",
730
+ mode: "out-in"
731
+ }, {
732
+ default: g(() => [
733
+ (u(), k(nt, { include: l(e) }, [
734
+ (u(), k(xe(o), {
735
+ key: a.path
736
+ }))
737
+ ], 1032, ["include"]))
738
+ ]),
739
+ _: 2
740
+ }, 1024)
741
+ ]),
742
+ _: 1
743
+ })
744
+ ]);
745
+ };
746
+ }
747
+ }), pn = /* @__PURE__ */ F(_n, [["__scopeId", "data-v-abf7ec23"]]), vn = {
748
+ viewBox: "0 0 1024 1024",
749
+ width: "1.2em",
750
+ height: "1.2em"
751
+ }, hn = /* @__PURE__ */ w("path", {
752
+ fill: "currentColor",
753
+ 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"
754
+ }, null, -1), gn = [
755
+ hn
756
+ ];
757
+ function bn(i, e) {
758
+ return u(), x("svg", vn, [...gn]);
759
+ }
760
+ const xn = { name: "ep-close", render: bn };
761
+ function j(i) {
762
+ if (typeof i != "string")
763
+ throw new TypeError("Path must be a string. Received " + JSON.stringify(i));
764
+ }
765
+ function Ve(i, e) {
766
+ for (var t = "", n = 0, s = -1, o = 0, a, r = 0; r <= i.length; ++r) {
767
+ if (r < i.length)
768
+ a = i.charCodeAt(r);
769
+ else {
770
+ if (a === 47)
771
+ break;
772
+ a = 47;
773
+ }
774
+ if (a === 47) {
775
+ if (!(s === r - 1 || o === 1)) if (s !== r - 1 && o === 2) {
776
+ if (t.length < 2 || n !== 2 || t.charCodeAt(t.length - 1) !== 46 || t.charCodeAt(t.length - 2) !== 46) {
777
+ if (t.length > 2) {
778
+ var c = t.lastIndexOf("/");
779
+ if (c !== t.length - 1) {
780
+ c === -1 ? (t = "", n = 0) : (t = t.slice(0, c), n = t.length - 1 - t.lastIndexOf("/")), s = r, o = 0;
781
+ continue;
782
+ }
783
+ } else if (t.length === 2 || t.length === 1) {
784
+ t = "", n = 0, s = r, o = 0;
785
+ continue;
786
+ }
787
+ }
788
+ e && (t.length > 0 ? t += "/.." : t = "..", n = 2);
789
+ } else
790
+ t.length > 0 ? t += "/" + i.slice(s + 1, r) : t = i.slice(s + 1, r), n = r - s - 1;
791
+ s = r, o = 0;
792
+ } else a === 46 && o !== -1 ? ++o : o = -1;
793
+ }
794
+ return t;
795
+ }
796
+ function yn(i, e) {
797
+ var t = e.dir || e.root, n = e.base || (e.name || "") + (e.ext || "");
798
+ return t ? t === e.root ? t + n : t + i + n : n;
799
+ }
800
+ var oe = {
801
+ // path.resolve([from ...], to)
802
+ resolve: function() {
803
+ for (var e = "", t = !1, n, s = arguments.length - 1; s >= -1 && !t; s--) {
804
+ var o;
805
+ s >= 0 ? o = arguments[s] : (n === void 0 && (n = process.cwd()), o = n), j(o), o.length !== 0 && (e = o + "/" + e, t = o.charCodeAt(0) === 47);
806
+ }
807
+ return e = Ve(e, !t), t ? e.length > 0 ? "/" + e : "/" : e.length > 0 ? e : ".";
808
+ },
809
+ normalize: function(e) {
810
+ if (j(e), e.length === 0) return ".";
811
+ var t = e.charCodeAt(0) === 47, n = e.charCodeAt(e.length - 1) === 47;
812
+ return e = Ve(e, !t), e.length === 0 && !t && (e = "."), e.length > 0 && n && (e += "/"), t ? "/" + e : e;
813
+ },
814
+ isAbsolute: function(e) {
815
+ return j(e), e.length > 0 && e.charCodeAt(0) === 47;
816
+ },
817
+ join: function() {
818
+ if (arguments.length === 0)
819
+ return ".";
820
+ for (var e, t = 0; t < arguments.length; ++t) {
821
+ var n = arguments[t];
822
+ j(n), n.length > 0 && (e === void 0 ? e = n : e += "/" + n);
823
+ }
824
+ return e === void 0 ? "." : oe.normalize(e);
825
+ },
826
+ relative: function(e, t) {
827
+ if (j(e), j(t), e === t || (e = oe.resolve(e), t = oe.resolve(t), e === t)) return "";
828
+ for (var n = 1; n < e.length && e.charCodeAt(n) === 47; ++n)
829
+ ;
830
+ for (var s = e.length, o = s - n, a = 1; a < t.length && t.charCodeAt(a) === 47; ++a)
831
+ ;
832
+ for (var r = t.length, c = r - a, d = o < c ? o : c, m = -1, f = 0; f <= d; ++f) {
833
+ if (f === d) {
834
+ if (c > d) {
835
+ if (t.charCodeAt(a + f) === 47)
836
+ return t.slice(a + f + 1);
837
+ if (f === 0)
838
+ return t.slice(a + f);
839
+ } else o > d && (e.charCodeAt(n + f) === 47 ? m = f : f === 0 && (m = 0));
840
+ break;
841
+ }
842
+ var p = e.charCodeAt(n + f), h = t.charCodeAt(a + f);
843
+ if (p !== h)
844
+ break;
845
+ p === 47 && (m = f);
846
+ }
847
+ var y = "";
848
+ for (f = n + m + 1; f <= s; ++f)
849
+ (f === s || e.charCodeAt(f) === 47) && (y.length === 0 ? y += ".." : y += "/..");
850
+ return y.length > 0 ? y + t.slice(a + m) : (a += m, t.charCodeAt(a) === 47 && ++a, t.slice(a));
851
+ },
852
+ _makeLong: function(e) {
853
+ return e;
854
+ },
855
+ dirname: function(e) {
856
+ if (j(e), e.length === 0) return ".";
857
+ for (var t = e.charCodeAt(0), n = t === 47, s = -1, o = !0, a = e.length - 1; a >= 1; --a)
858
+ if (t = e.charCodeAt(a), t === 47) {
859
+ if (!o) {
860
+ s = a;
861
+ break;
862
+ }
863
+ } else
864
+ o = !1;
865
+ return s === -1 ? n ? "/" : "." : n && s === 1 ? "//" : e.slice(0, s);
866
+ },
867
+ basename: function(e, t) {
868
+ if (t !== void 0 && typeof t != "string") throw new TypeError('"ext" argument must be a string');
869
+ j(e);
870
+ var n = 0, s = -1, o = !0, a;
871
+ if (t !== void 0 && t.length > 0 && t.length <= e.length) {
872
+ if (t.length === e.length && t === e) return "";
873
+ var r = t.length - 1, c = -1;
874
+ for (a = e.length - 1; a >= 0; --a) {
875
+ var d = e.charCodeAt(a);
876
+ if (d === 47) {
877
+ if (!o) {
878
+ n = a + 1;
879
+ break;
880
+ }
881
+ } else
882
+ c === -1 && (o = !1, c = a + 1), r >= 0 && (d === t.charCodeAt(r) ? --r === -1 && (s = a) : (r = -1, s = c));
883
+ }
884
+ return n === s ? s = c : s === -1 && (s = e.length), e.slice(n, s);
885
+ } else {
886
+ for (a = e.length - 1; a >= 0; --a)
887
+ if (e.charCodeAt(a) === 47) {
888
+ if (!o) {
889
+ n = a + 1;
890
+ break;
891
+ }
892
+ } else s === -1 && (o = !1, s = a + 1);
893
+ return s === -1 ? "" : e.slice(n, s);
894
+ }
895
+ },
896
+ extname: function(e) {
897
+ j(e);
898
+ for (var t = -1, n = 0, s = -1, o = !0, a = 0, r = e.length - 1; r >= 0; --r) {
899
+ var c = e.charCodeAt(r);
900
+ if (c === 47) {
901
+ if (!o) {
902
+ n = r + 1;
903
+ break;
904
+ }
905
+ continue;
906
+ }
907
+ s === -1 && (o = !1, s = r + 1), c === 46 ? t === -1 ? t = r : a !== 1 && (a = 1) : t !== -1 && (a = -1);
908
+ }
909
+ return t === -1 || s === -1 || // We saw a non-dot character immediately before the dot
910
+ a === 0 || // The (right-most) trimmed path component is exactly '..'
911
+ a === 1 && t === s - 1 && t === n + 1 ? "" : e.slice(t, s);
912
+ },
913
+ format: function(e) {
914
+ if (e === null || typeof e != "object")
915
+ throw new TypeError('The "pathObject" argument must be of type Object. Received type ' + typeof e);
916
+ return yn("/", e);
917
+ },
918
+ parse: function(e) {
919
+ j(e);
920
+ var t = { root: "", dir: "", base: "", ext: "", name: "" };
921
+ if (e.length === 0) return t;
922
+ var n = e.charCodeAt(0), s = n === 47, o;
923
+ s ? (t.root = "/", o = 1) : o = 0;
924
+ for (var a = -1, r = 0, c = -1, d = !0, m = e.length - 1, f = 0; m >= o; --m) {
925
+ if (n = e.charCodeAt(m), n === 47) {
926
+ if (!d) {
927
+ r = m + 1;
928
+ break;
929
+ }
930
+ continue;
931
+ }
932
+ c === -1 && (d = !1, c = m + 1), n === 46 ? a === -1 ? a = m : f !== 1 && (f = 1) : a !== -1 && (f = -1);
933
+ }
934
+ return a === -1 || c === -1 || // We saw a non-dot character immediately before the dot
935
+ f === 0 || // The (right-most) trimmed path component is exactly '..'
936
+ f === 1 && a === c - 1 && a === r + 1 ? c !== -1 && (r === 0 && s ? t.base = t.name = e.slice(1, c) : t.base = t.name = e.slice(r, c)) : (r === 0 && s ? (t.name = e.slice(1, a), t.base = e.slice(1, c)) : (t.name = e.slice(r, a), t.base = e.slice(r, c)), t.ext = e.slice(a, c)), r > 0 ? t.dir = e.slice(0, r - 1) : s && (t.dir = "/"), t;
937
+ },
938
+ sep: "/",
939
+ delimiter: ":",
940
+ win32: null,
941
+ posix: null
942
+ };
943
+ oe.posix = oe;
944
+ var Ee = oe;
945
+ const Le = /* @__PURE__ */ Ye(Ee), wn = { class: "tags-container" }, kn = /* @__PURE__ */ I({
946
+ __name: "index",
947
+ setup(i) {
948
+ const { proxy: e } = ot(), t = ye(), n = fe(), s = de(), o = be(), a = Q(), { visitedViews: r } = _t(o), c = te(), d = R(() => c.layout), m = z({
949
+ path: "",
950
+ fullPath: "",
951
+ name: "",
952
+ title: "",
953
+ affix: !1,
954
+ keepAlive: !1
955
+ }), f = z([]), p = z(0), h = z(0);
956
+ ne(
957
+ n,
958
+ () => {
959
+ $(), N();
960
+ },
961
+ {
962
+ immediate: !0
963
+ //初始化立即执行
964
+ }
965
+ );
966
+ const y = z(!1);
967
+ ne(y, (v) => {
968
+ v ? document.body.addEventListener("click", ve) : document.body.removeEventListener("click", ve);
969
+ });
970
+ function A(v, b = "/") {
971
+ let L = [];
972
+ return v.forEach((D) => {
973
+ var M, E, X, we;
974
+ const W = Ee.resolve(b, D.path);
975
+ if ((M = D.meta) != null && M.affix && L.push({
976
+ path: W,
977
+ fullPath: W,
978
+ name: String(D.name),
979
+ title: ((E = D.meta) == null ? void 0 : E.title) || "no-name",
980
+ affix: (X = D.meta) == null ? void 0 : X.affix,
981
+ keepAlive: (we = D.meta) == null ? void 0 : we.keepAlive
982
+ }), D.children) {
983
+ const ke = A(D.children, b + D.path);
984
+ ke.length >= 1 && (L = [...L, ...ke]);
985
+ }
986
+ }), L;
987
+ }
988
+ function S() {
989
+ const v = A(s.routes);
990
+ f.value = v;
991
+ for (const b of v)
992
+ b.name && o.addVisitedView(b);
993
+ }
994
+ function $() {
995
+ var v, b;
996
+ n.meta.title && o.addView({
997
+ name: n.name,
998
+ title: n.meta.title,
999
+ path: n.path,
1000
+ fullPath: n.fullPath,
1001
+ affix: (v = n.meta) == null ? void 0 : v.affix,
1002
+ keepAlive: (b = n.meta) == null ? void 0 : b.keepAlive
1003
+ });
1004
+ }
1005
+ function N() {
1006
+ $e(() => {
1007
+ var v, b;
1008
+ for (const L of r.value)
1009
+ L.path === n.path && L.fullPath !== n.fullPath && o.updateVisitedView({
1010
+ name: n.name,
1011
+ title: n.meta.title || "",
1012
+ path: n.path,
1013
+ fullPath: n.fullPath,
1014
+ affix: (v = n.meta) == null ? void 0 : v.affix,
1015
+ keepAlive: (b = n.meta) == null ? void 0 : b.keepAlive
1016
+ });
1017
+ });
1018
+ }
1019
+ function C(v) {
1020
+ return v.path === n.path;
1021
+ }
1022
+ function U(v) {
1023
+ return v == null ? void 0 : v.affix;
1024
+ }
1025
+ function Z() {
1026
+ try {
1027
+ return m.value.path === "/dashboard" || m.value.fullPath === o.visitedViews[1].fullPath;
1028
+ } catch {
1029
+ return !1;
1030
+ }
1031
+ }
1032
+ function H() {
1033
+ try {
1034
+ return m.value.fullPath === o.visitedViews[o.visitedViews.length - 1].fullPath;
1035
+ } catch {
1036
+ return !1;
1037
+ }
1038
+ }
1039
+ function O(v) {
1040
+ o.delCachedView(v);
1041
+ const { fullPath: b } = v;
1042
+ $e(() => {
1043
+ t.replace({ path: "/redirect" + b });
1044
+ });
1045
+ }
1046
+ function G(v, b) {
1047
+ const L = v.slice(-1)[0];
1048
+ L && L.fullPath ? t.push(L.fullPath) : (b == null ? void 0 : b.name) === "Dashboard" ? t.replace({ path: "/redirect" + b.fullPath }) : t.push("/");
1049
+ }
1050
+ function ee(v) {
1051
+ o.delView(v).then((b) => {
1052
+ C(v) && G(b.visitedViews, v);
1053
+ });
1054
+ }
1055
+ function Y() {
1056
+ o.delLeftViews(m.value).then((v) => {
1057
+ v.visitedViews.find((b) => b.path === n.path) || G(v.visitedViews);
1058
+ });
1059
+ }
1060
+ function Re() {
1061
+ o.delRightViews(m.value).then((v) => {
1062
+ v.visitedViews.find((b) => b.path === n.path) || G(v.visitedViews);
1063
+ });
1064
+ }
1065
+ function De() {
1066
+ t.push(m.value), o.delOtherViews(m.value).then(() => {
1067
+ N();
1068
+ });
1069
+ }
1070
+ function Be(v) {
1071
+ o.delAllViews().then((b) => {
1072
+ G(b.visitedViews, v);
1073
+ });
1074
+ }
1075
+ function Ne(v, b) {
1076
+ const D = e == null ? void 0 : e.$el.getBoundingClientRect().left, M = (e == null ? void 0 : e.$el.offsetWidth) - 105, E = b.clientX - D + 15;
1077
+ E > M ? p.value = M : p.value = E, d.value === "mix" ? h.value = b.clientY - 50 : h.value = b.clientY, y.value = !0, m.value = v;
1078
+ }
1079
+ function ve() {
1080
+ y.value = !1;
1081
+ }
1082
+ function Oe() {
1083
+ ve();
1084
+ }
1085
+ function ze(v, b) {
1086
+ let L = {};
1087
+ function D(M, E) {
1088
+ if (L[M.name] = E, M.children)
1089
+ for (let X = 0; X < M.children.length; X++)
1090
+ D(M.children[X], M);
1091
+ }
1092
+ for (let M = 0; M < v.length; M++)
1093
+ D(v[M], null);
1094
+ let W = L[b];
1095
+ for (; W; ) {
1096
+ if (!L[W.name])
1097
+ return W;
1098
+ W = L[W.name];
1099
+ }
1100
+ return null;
1101
+ }
1102
+ const Fe = (v) => {
1103
+ if (d.value !== "mix") return;
1104
+ const b = ze(s.routes, v);
1105
+ a.activeTopMenu !== b.path && a.activeTopMenu(b.path);
1106
+ };
1107
+ return ne(
1108
+ () => n.name,
1109
+ (v) => {
1110
+ v && Fe(v);
1111
+ },
1112
+ {
1113
+ deep: !0
1114
+ }
1115
+ ), Ae(() => {
1116
+ S();
1117
+ }), (v, b) => {
1118
+ const L = xn, D = V("router-link"), W = V("el-scrollbar"), M = ae;
1119
+ return u(), x("div", wn, [
1120
+ _(W, {
1121
+ class: "scroll-container",
1122
+ vertical: !1,
1123
+ onWheel: re(Oe, ["prevent"])
1124
+ }, {
1125
+ default: g(() => [
1126
+ (u(!0), x(K, null, le(l(r), (E) => (u(), k(D, {
1127
+ ref_for: !0,
1128
+ ref: "tagRef",
1129
+ key: E.fullPath,
1130
+ class: q("tags-item " + (C(E) ? "active" : "")),
1131
+ to: { path: E.path, query: E.query },
1132
+ onMouseup: re((X) => U(E) ? "" : ee(E), ["middle"]),
1133
+ onContextmenu: re((X) => Ne(E, X), ["prevent"])
1134
+ }, {
1135
+ default: g(() => [
1136
+ B(P(l(Vt)(E)) + " ", 1),
1137
+ U(E) ? T("", !0) : (u(), k(L, {
1138
+ key: 0,
1139
+ class: "close-icon",
1140
+ size: "12px",
1141
+ onClick: re((X) => ee(E), ["prevent", "stop"])
1142
+ }, null, 8, ["onClick"]))
1143
+ ]),
1144
+ _: 2
1145
+ }, 1032, ["class", "to", "onMouseup", "onContextmenu"]))), 128))
1146
+ ]),
1147
+ _: 1
1148
+ }),
1149
+ it(w("ul", {
1150
+ class: "contextmenu",
1151
+ style: at({ left: l(p) + "px", top: l(h) + "px" })
1152
+ }, [
1153
+ w("li", {
1154
+ onClick: b[0] || (b[0] = (E) => O(l(m)))
1155
+ }, [
1156
+ _(M, { "icon-class": "refresh" }),
1157
+ B(" 刷新 ")
1158
+ ]),
1159
+ U(l(m)) ? T("", !0) : (u(), x("li", {
1160
+ key: 0,
1161
+ onClick: b[1] || (b[1] = (E) => ee(l(m)))
1162
+ }, [
1163
+ _(M, { "icon-class": "close" }),
1164
+ B(" 关闭 ")
1165
+ ])),
1166
+ w("li", { onClick: De }, [
1167
+ _(M, { "icon-class": "close_other" }),
1168
+ B(" 关闭其它 ")
1169
+ ]),
1170
+ Z() ? T("", !0) : (u(), x("li", {
1171
+ key: 1,
1172
+ onClick: Y
1173
+ }, [
1174
+ _(M, { "icon-class": "close_left" }),
1175
+ B(" 关闭左侧 ")
1176
+ ])),
1177
+ H() ? T("", !0) : (u(), x("li", {
1178
+ key: 2,
1179
+ onClick: Re
1180
+ }, [
1181
+ _(M, { "icon-class": "close_right" }),
1182
+ B(" 关闭右侧 ")
1183
+ ])),
1184
+ w("li", {
1185
+ onClick: b[2] || (b[2] = (E) => Be(l(m)))
1186
+ }, [
1187
+ _(M, { "icon-class": "close_all" }),
1188
+ B(" 关闭所有 ")
1189
+ ])
1190
+ ], 4), [
1191
+ [lt, l(y)]
1192
+ ])
1193
+ ]);
1194
+ };
1195
+ }
1196
+ }), Sn = /* @__PURE__ */ F(kn, [["__scopeId", "data-v-d6445de5"]]), Cn = /* @__PURE__ */ I({
1197
+ name: "AppLink",
1198
+ inheritAttrs: !1,
1199
+ __name: "index",
1200
+ props: {
1201
+ to: {
1202
+ type: String,
1203
+ required: !0
1204
+ }
1205
+ },
1206
+ setup(i) {
1207
+ const e = i, t = R(() => ue(e.to)), n = R(() => t.value ? "a" : "router-link"), s = (o) => t.value ? { href: o, target: "_blank", rel: "noopener noreferrer" } : { to: o };
1208
+ return (o, a) => (u(), k(xe(l(n)), st(rt(s(i.to))), {
1209
+ default: g(() => [
1210
+ ct(o.$slots, "default")
1211
+ ]),
1212
+ _: 3
1213
+ }, 16));
1214
+ }
1215
+ }), $n = {
1216
+ key: 3,
1217
+ class: "ml-1"
1218
+ }, Vn = /* @__PURE__ */ I({
1219
+ __name: "SidebarMenuItemTitle",
1220
+ props: {
1221
+ icon: {
1222
+ type: String,
1223
+ default: ""
1224
+ },
1225
+ name: {
1226
+ type: String,
1227
+ default: ""
1228
+ },
1229
+ title: {
1230
+ type: String,
1231
+ default: ""
1232
+ }
1233
+ },
1234
+ setup(i) {
1235
+ return (e, t) => {
1236
+ const n = V("el-icon"), s = ae;
1237
+ return u(), x(K, null, [
1238
+ i.icon && i.icon.startsWith("el-icon") ? (u(), k(n, {
1239
+ key: 0,
1240
+ class: "sub-el-icon"
1241
+ }, {
1242
+ default: g(() => [
1243
+ (u(), k(xe(i.icon.replace("el-icon-", ""))))
1244
+ ]),
1245
+ _: 1
1246
+ })) : i.icon ? (u(), k(s, {
1247
+ key: 1,
1248
+ "icon-class": i.icon
1249
+ }, null, 8, ["icon-class"])) : (u(), k(s, {
1250
+ key: 2,
1251
+ "icon-class": "menu"
1252
+ })),
1253
+ i.title ? (u(), x("span", $n, P(l(pe)(i.name, i.title)), 1)) : T("", !0)
1254
+ ], 64);
1255
+ };
1256
+ }
1257
+ }), Tn = /* @__PURE__ */ F(Vn, [["__scopeId", "data-v-e70291db"]]), An = { key: 0 }, Mn = /* @__PURE__ */ I({
1258
+ name: "SidebarMenuItem",
1259
+ inheritAttrs: !1,
1260
+ __name: "SidebarMenuItem",
1261
+ props: {
1262
+ /**
1263
+ * 路由(eg:user)
1264
+ */
1265
+ item: {
1266
+ type: Object,
1267
+ required: !0
1268
+ },
1269
+ /**
1270
+ * 父层级完整路由路径(eg:/system)
1271
+ */
1272
+ basePath: {
1273
+ type: String,
1274
+ required: !0
1275
+ },
1276
+ isNest: {
1277
+ type: Boolean,
1278
+ default: !1
1279
+ }
1280
+ },
1281
+ setup(i) {
1282
+ const e = i, t = z();
1283
+ function n(o = [], a) {
1284
+ const r = o.filter((c) => {
1285
+ var d;
1286
+ return (d = c.meta) != null && d.hidden ? !1 : (c.meta.hidden = !1, t.value = c, !0);
1287
+ });
1288
+ return r.length === 1 ? !0 : r.length === 0 ? (t.value = { ...a, path: "", noShowingChildren: !0 }, !0) : !1;
1289
+ }
1290
+ function s(o) {
1291
+ return ue(o) ? o : ue(e.basePath) ? e.basePath : Le.resolve(e.basePath, o);
1292
+ }
1293
+ return (o, a) => {
1294
+ var p;
1295
+ const r = Tn, c = V("el-menu-item"), d = Cn, m = V("SidebarMenuItem", !0), f = V("el-sub-menu");
1296
+ return !i.item.meta || !i.item.meta.hidden ? (u(), x("div", An, [
1297
+ n(i.item.children, i.item) && (!l(t).children || l(t).noShowingChildren) && !((p = i.item.meta) != null && p.alwaysShow) ? (u(), x(K, { key: 0 }, [
1298
+ l(t).meta ? (u(), k(d, {
1299
+ key: 0,
1300
+ to: s(l(t).path)
1301
+ }, {
1302
+ default: g(() => [
1303
+ _(c, {
1304
+ index: s(l(t).path),
1305
+ class: q({ "submenu-title-noDropdown": !i.isNest })
1306
+ }, {
1307
+ default: g(() => [
1308
+ _(r, {
1309
+ icon: l(t).meta.icon || i.item.meta && i.item.meta.icon,
1310
+ title: l(t).meta.title,
1311
+ name: l(t).name
1312
+ }, null, 8, ["icon", "title", "name"])
1313
+ ]),
1314
+ _: 1
1315
+ }, 8, ["index", "class"])
1316
+ ]),
1317
+ _: 1
1318
+ }, 8, ["to"])) : T("", !0)
1319
+ ], 64)) : (u(), k(f, {
1320
+ key: 1,
1321
+ index: s(i.item.path),
1322
+ teleported: ""
1323
+ }, {
1324
+ title: g(() => [
1325
+ i.item.meta ? (u(), k(r, {
1326
+ key: 0,
1327
+ icon: i.item.meta && i.item.meta.icon,
1328
+ title: i.item.meta.title,
1329
+ name: i.item.name
1330
+ }, null, 8, ["icon", "title", "name"])) : T("", !0)
1331
+ ]),
1332
+ default: g(() => [
1333
+ (u(!0), x(K, null, le(i.item.children, (h) => (u(), k(m, {
1334
+ key: h.path,
1335
+ "is-nest": !0,
1336
+ item: h,
1337
+ "base-path": s(h.path)
1338
+ }, null, 8, ["item", "base-path"]))), 128))
1339
+ ]),
1340
+ _: 1
1341
+ }, 8, ["index"]))
1342
+ ])) : T("", !0);
1343
+ };
1344
+ }
1345
+ }), Pn = "_dark_168i3_12", ie = {
1346
+ "sidebar-width": "210px",
1347
+ "navbar-height": "50px",
1348
+ "menu-background": "var(--menu-background)",
1349
+ "menu-text": "var(--menu-text)",
1350
+ "menu-active-text": "var(--menu-active-text)",
1351
+ "menu-hover": "var(--menu-hover)",
1352
+ dark: Pn
1353
+ }, Ie = /* @__PURE__ */ I({
1354
+ __name: "SidebarMenu",
1355
+ props: {
1356
+ menuList: {
1357
+ required: !0,
1358
+ default: () => [],
1359
+ type: Array
1360
+ },
1361
+ basePath: {
1362
+ type: String,
1363
+ required: !0
1364
+ }
1365
+ },
1366
+ setup(i) {
1367
+ const e = te(), t = Q(), n = fe(), s = R(() => e.layout), o = i;
1368
+ function a(r) {
1369
+ return ue(r) ? r : ue(o.basePath) ? o.basePath : Le.resolve(o.basePath, r);
1370
+ }
1371
+ return (r, c) => {
1372
+ const d = Mn, m = V("el-menu");
1373
+ return u(), k(m, {
1374
+ "default-active": l(n).path,
1375
+ collapse: !l(t).sidebar.opened,
1376
+ "background-color": l(ie)["menu-background"],
1377
+ "text-color": l(ie)["menu-text"],
1378
+ "active-text-color": l(ie)["menu-active-text"],
1379
+ "unique-opened": !1,
1380
+ "collapse-transition": !1,
1381
+ mode: l(s) === "top" ? "horizontal" : "vertical"
1382
+ }, {
1383
+ default: g(() => [
1384
+ (u(!0), x(K, null, le(i.menuList, (f) => (u(), k(d, {
1385
+ key: f.path,
1386
+ item: f,
1387
+ "base-path": a(f.path),
1388
+ "is-collapse": !l(t).sidebar.opened
1389
+ }, null, 8, ["item", "base-path", "is-collapse"]))), 128))
1390
+ ]),
1391
+ _: 1
1392
+ }, 8, ["default-active", "collapse", "background-color", "text-color", "active-text-color", "mode"]);
1393
+ };
1394
+ }
1395
+ }), En = { key: 1 }, Ln = {
1396
+ key: 0,
1397
+ class: "ml-1"
1398
+ }, In = /* @__PURE__ */ I({
1399
+ __name: "SidebarMixTopMenu",
1400
+ setup(i) {
1401
+ const e = Q(), t = de(), n = ye(), s = R(() => e.activeTopMenuPath), o = z([]), a = (c) => {
1402
+ e.activeTopMenu(c), t.setMixLeftMenus(c);
1403
+ const d = t.mixLeftMenus;
1404
+ r(d);
1405
+ }, r = (c) => {
1406
+ if (c.length === 0) return;
1407
+ const [d] = c;
1408
+ d.children && d.children.length > 0 ? r(d.children) : d.name && n.push({
1409
+ name: d.name
1410
+ });
1411
+ };
1412
+ return Ae(() => {
1413
+ o.value = t.routes.filter(
1414
+ (c) => !c.meta || !c.meta.hidden
1415
+ );
1416
+ }), (c, d) => {
1417
+ const m = ae, f = V("el-menu-item"), p = V("el-menu"), h = V("el-scrollbar");
1418
+ return u(), k(h, null, {
1419
+ default: g(() => [
1420
+ _(p, {
1421
+ mode: "horizontal",
1422
+ "default-active": l(s),
1423
+ "background-color": l(ie)["menu-background"],
1424
+ "text-color": l(ie)["menu-text"],
1425
+ "active-text-color": l(ie)["menu-active-text"],
1426
+ onSelect: a
1427
+ }, {
1428
+ default: g(() => [
1429
+ (u(!0), x(K, null, le(l(o), (y) => (u(), k(f, {
1430
+ key: y.path,
1431
+ index: y.path
1432
+ }, {
1433
+ title: g(() => [
1434
+ y.meta && y.meta.icon ? (u(), k(m, {
1435
+ key: 0,
1436
+ "icon-class": y.meta.icon
1437
+ }, null, 8, ["icon-class"])) : T("", !0),
1438
+ y.path === "/" ? (u(), x("span", En, P(l(pe)("Dashboard", "首页")), 1)) : (u(), x(K, { key: 2 }, [
1439
+ y.meta && y.meta.title ? (u(), x("span", Ln, P(l(ge)(y)), 1)) : T("", !0)
1440
+ ], 64))
1441
+ ]),
1442
+ _: 2
1443
+ }, 1032, ["index"]))), 128))
1444
+ ]),
1445
+ _: 1
1446
+ }, 8, ["default-active", "background-color", "text-color", "active-text-color"])
1447
+ ]),
1448
+ _: 1
1449
+ });
1450
+ };
1451
+ }
1452
+ }), Rn = { class: "logo-container" }, Dn = ["src"], Bn = ["src"], Nn = { class: "logo-title" }, On = /* @__PURE__ */ I({
1453
+ __name: "SidebarLogo",
1454
+ props: {
1455
+ collapse: {
1456
+ type: Boolean,
1457
+ required: !0
1458
+ }
1459
+ },
1460
+ setup(i) {
1461
+ const e = te(), t = ce.logo;
1462
+ return (n, s) => {
1463
+ const o = V("router-link");
1464
+ return u(), x("div", Rn, [
1465
+ _(Te, { "enter-active-class": "animate__animated animate__fadeInLeft" }, {
1466
+ default: g(() => [
1467
+ i.collapse ? (u(), k(o, {
1468
+ key: 0,
1469
+ class: "wh-full flex-center",
1470
+ to: "/"
1471
+ }, {
1472
+ default: g(() => [
1473
+ l(e).sidebarLogo ? (u(), x("img", {
1474
+ key: 0,
1475
+ src: l(t),
1476
+ class: "logo-image"
1477
+ }, null, 8, Dn)) : T("", !0)
1478
+ ]),
1479
+ _: 1
1480
+ })) : (u(), k(o, {
1481
+ key: 1,
1482
+ class: "wh-full flex-center",
1483
+ to: "/"
1484
+ }, {
1485
+ default: g(() => [
1486
+ l(e).sidebarLogo ? (u(), x("img", {
1487
+ key: 0,
1488
+ src: l(t),
1489
+ class: "logo-image"
1490
+ }, null, 8, Bn)) : T("", !0),
1491
+ w("span", Nn, P(l(ce).title), 1)
1492
+ ]),
1493
+ _: 1
1494
+ }))
1495
+ ]),
1496
+ _: 1
1497
+ })
1498
+ ]);
1499
+ };
1500
+ }
1501
+ }), zn = /* @__PURE__ */ F(On, [["__scopeId", "data-v-c6f65ed6"]]), Fn = {
1502
+ key: 0,
1503
+ class: "flex w-full"
1504
+ }, Un = /* @__PURE__ */ I({
1505
+ __name: "index",
1506
+ setup(i) {
1507
+ const e = Q(), t = te(), n = de(), s = R(() => t.sidebarLogo), o = R(() => t.layout);
1508
+ return (a, r) => {
1509
+ const c = zn, d = In, m = Me, f = Ie, p = V("el-scrollbar");
1510
+ return u(), x("div", {
1511
+ class: q({ "has-logo": l(s) })
1512
+ }, [
1513
+ l(o) == "mix" ? (u(), x("div", Fn, [
1514
+ l(s) ? (u(), k(c, {
1515
+ key: 0,
1516
+ collapse: !l(e).sidebar.opened
1517
+ }, null, 8, ["collapse"])) : T("", !0),
1518
+ _(d, { class: "flex-1" }),
1519
+ _(m)
1520
+ ])) : (u(), x(K, { key: 1 }, [
1521
+ l(s) ? (u(), k(c, {
1522
+ key: 0,
1523
+ collapse: !l(e).sidebar.opened
1524
+ }, null, 8, ["collapse"])) : T("", !0),
1525
+ _(p, null, {
1526
+ default: g(() => [
1527
+ _(f, {
1528
+ "menu-list": l(n).routes,
1529
+ "base-path": ""
1530
+ }, null, 8, ["menu-list"])
1531
+ ]),
1532
+ _: 1
1533
+ }),
1534
+ l(o) === "top" ? (u(), k(m, { key: 1 })) : T("", !0)
1535
+ ], 64))
1536
+ ], 2);
1537
+ };
1538
+ }
1539
+ }), Hn = /* @__PURE__ */ F(Un, [["__scopeId", "data-v-64d75c6a"]]), qn = {
1540
+ key: 1,
1541
+ class: "mix-container"
1542
+ }, Wn = { class: "mix-container__left" }, Kn = { class: "sidebar-toggle" }, Xn = 992, jn = /* @__PURE__ */ I({
1543
+ __name: "index",
1544
+ setup(i) {
1545
+ const e = Q(), t = te(), n = de(), s = R(() => t.fixedHeader), o = R(() => t.tagsView), a = R(() => t.layout), r = R(() => e.activeTopMenuPath), c = R(() => n.mixLeftMenus);
1546
+ ne(
1547
+ () => r.value,
1548
+ (h) => {
1549
+ n.setMixLeftMenus(h);
1550
+ },
1551
+ {
1552
+ deep: !0,
1553
+ immediate: !0
1554
+ }
1555
+ );
1556
+ const d = R(() => ({
1557
+ hideSidebar: !e.sidebar.opened,
1558
+ openSidebar: e.sidebar.opened,
1559
+ mobile: e.device === me.MOBILE,
1560
+ "layout-left": a.value === "left",
1561
+ "layout-top": a.value === "top",
1562
+ "layout-mix": a.value === "mix"
1563
+ })), m = Je().width;
1564
+ ut(() => {
1565
+ m.value < Xn ? (e.toggleDevice(me.MOBILE), e.closeSideBar()) : (e.toggleDevice(me.DESKTOP), m.value >= 1200 ? e.openSideBar() : e.closeSideBar());
1566
+ });
1567
+ function f() {
1568
+ e.closeSideBar();
1569
+ }
1570
+ function p() {
1571
+ e.toggleSidebar();
1572
+ }
1573
+ return (h, y) => {
1574
+ const A = Hn, S = Ie, $ = Pe, N = Sn, C = pn, U = fn, Z = Nt;
1575
+ return u(), x("div", {
1576
+ class: q(["wh-full", l(d)])
1577
+ }, [
1578
+ l(d).mobile && l(d).openSidebar ? (u(), x("div", {
1579
+ key: 0,
1580
+ class: "wh-full fixed-lt z-999 bg-black bg-opacity-30",
1581
+ onClick: f
1582
+ })) : T("", !0),
1583
+ _(A, { class: "sidebar-container" }),
1584
+ l(a) === "mix" ? (u(), x("div", qn, [
1585
+ w("div", Wn, [
1586
+ _(S, {
1587
+ "menu-list": l(c),
1588
+ "base-path": l(r)
1589
+ }, null, 8, ["menu-list", "base-path"]),
1590
+ w("div", Kn, [
1591
+ _($, {
1592
+ "is-active": l(e).sidebar.opened,
1593
+ onToggleClick: p
1594
+ }, null, 8, ["is-active"])
1595
+ ])
1596
+ ]),
1597
+ w("div", {
1598
+ class: q([{ hasTagsView: l(o) }, "main-container"])
1599
+ }, [
1600
+ w("div", {
1601
+ class: q({ "fixed-header": l(s) })
1602
+ }, [
1603
+ l(o) ? (u(), k(N, { key: 0 })) : T("", !0)
1604
+ ], 2),
1605
+ _(C),
1606
+ l(ce).showSettings ? (u(), k(U, { key: 0 })) : T("", !0)
1607
+ ], 2)
1608
+ ])) : (u(), x("div", {
1609
+ key: 2,
1610
+ class: q([{ hasTagsView: l(o) }, "main-container"])
1611
+ }, [
1612
+ w("div", {
1613
+ class: q({ "fixed-header": l(s) })
1614
+ }, [
1615
+ l(a) === "left" ? (u(), k(Z, { key: 0 })) : T("", !0),
1616
+ l(o) ? (u(), k(N, { key: 1 })) : T("", !0)
1617
+ ], 2),
1618
+ _(C),
1619
+ l(ce).showSettings ? (u(), k(U, { key: 0 })) : T("", !0)
1620
+ ], 2))
1621
+ ], 2);
1622
+ };
1623
+ }
1624
+ }), to = /* @__PURE__ */ F(jn, [["__scopeId", "data-v-12059947"]]);
1625
+ export {
1626
+ to as default
1627
+ };