xto-fronted 0.4.83 → 0.4.84

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 (85) hide show
  1. package/dist/App.vue.d.ts +2 -0
  2. package/dist/api/auth.d.ts +8 -0
  3. package/dist/api/system.d.ts +16 -0
  4. package/dist/api/user.d.ts +13 -0
  5. package/dist/components/Layout/Footer.vue.d.ts +2 -0
  6. package/dist/components/Layout/Header.vue.d.ts +5 -0
  7. package/dist/components/Layout/MixTopMenu.vue.d.ts +5 -0
  8. package/dist/components/Layout/Sidebar.vue.d.ts +11 -0
  9. package/dist/components/Layout/SidebarMenuItem.vue.d.ts +5 -0
  10. package/dist/components/Layout/Tabs.vue.d.ts +2 -0
  11. package/dist/components/Layout/TopMenu.vue.d.ts +5 -0
  12. package/dist/components/Layout/index.vue.d.ts +2 -0
  13. package/dist/composables/useApp.d.ts +29 -0
  14. package/dist/composables/useAuth.d.ts +6 -0
  15. package/dist/composables/useForm.d.ts +20 -0
  16. package/dist/composables/useTable.d.ts +29 -0
  17. package/dist/directives/permission.d.ts +4 -0
  18. package/dist/enums/index.d.ts +32 -0
  19. package/dist/index-BZaqYObA.js +479 -0
  20. package/dist/index-CbwOysFI.js +641 -0
  21. package/dist/index-Jynxhhda.js +189 -0
  22. package/dist/index-XgzSS-fV.js +515 -0
  23. package/dist/index-_iZKFlCa.js +4178 -0
  24. package/dist/index.d.ts +54 -0
  25. package/dist/index.es.js +91 -0
  26. package/dist/index.umd.js +8 -0
  27. package/dist/main.d.ts +0 -0
  28. package/dist/router/dynamicRoutes.d.ts +30 -0
  29. package/dist/router/guards.d.ts +17 -0
  30. package/dist/router/index.d.ts +6 -0
  31. package/dist/router/layoutRoute.d.ts +18 -0
  32. package/dist/router/staticRoutes.d.ts +2 -0
  33. package/dist/stores/app.d.ts +93 -0
  34. package/dist/stores/auth.d.ts +41 -0
  35. package/dist/stores/index.d.ts +9 -0
  36. package/dist/stores/menu.d.ts +77 -0
  37. package/dist/stores/user.d.ts +92 -0
  38. package/dist/style.css +1 -0
  39. package/dist/utils/auth.d.ts +27 -0
  40. package/dist/utils/config.d.ts +30 -0
  41. package/dist/utils/permission.d.ts +18 -0
  42. package/dist/utils/request.d.ts +24 -0
  43. package/dist/utils/storage.d.ts +24 -0
  44. package/dist/views/dashboard/index.vue.d.ts +2 -0
  45. package/dist/views/error/403.vue.d.ts +2 -0
  46. package/dist/views/error/404.vue.d.ts +2 -0
  47. package/dist/views/login/index.vue.d.ts +4 -0
  48. package/dist/views/system/menu/index.vue.d.ts +4 -0
  49. package/dist/views/system/role/index.vue.d.ts +4 -0
  50. package/dist/views/system/user/index.vue.d.ts +4 -0
  51. package/package.json +1 -1
  52. package/dist/assets/404-CrBiLyvr.js +0 -1
  53. package/dist/assets/404-Cw_4ZCL6.css +0 -1
  54. package/dist/assets/_plugin-vue_export-helper-DlAUqK2U.js +0 -1
  55. package/dist/assets/index-B58q1gWi.js +0 -1
  56. package/dist/assets/index-BRR97dc6.js +0 -1
  57. package/dist/assets/index-BlRslYYI.css +0 -1
  58. package/dist/assets/index-BudArKxR.css +0 -1
  59. package/dist/assets/index-BvJMwvx-.js +0 -1
  60. package/dist/assets/index-CFhWBbxk.css +0 -1
  61. package/dist/assets/index-CfMs36V8.js +0 -1
  62. package/dist/assets/index-CfpZmcpk.css +0 -1
  63. package/dist/assets/index-ChwM56sh.js +0 -2
  64. package/dist/assets/index-Cmf2-p8P.js +0 -1
  65. package/dist/assets/index-DkkuYBgT.css +0 -1
  66. package/dist/assets/index-DmrM_IuD.js +0 -1
  67. package/dist/assets/index-WcdktCzT.js +0 -1
  68. package/dist/assets/index-t-2Y0KhA.css +0 -1
  69. package/dist/assets/index-vfvEFrCH.css +0 -1
  70. package/dist/assets/vendor-CUVPinTg.js +0 -13
  71. package/dist/assets/vue-vendor-D8SAgT8u.js +0 -29
  72. package/dist/assets/xto-base-BD3OH0V6.js +0 -1
  73. package/dist/assets/xto-base-CojW9IFO.css +0 -1
  74. package/dist/assets/xto-business--V1F5Gwb.css +0 -1
  75. package/dist/assets/xto-core-Boim7B0B.js +0 -1
  76. package/dist/assets/xto-data-YheCZfV4.css +0 -1
  77. package/dist/assets/xto-data-_xzIYqb-.js +0 -1
  78. package/dist/assets/xto-feedback-C-ESp-Y1.css +0 -1
  79. package/dist/assets/xto-feedback-XZPSQcJN.js +0 -1
  80. package/dist/assets/xto-form-CpcozvK5.css +0 -1
  81. package/dist/assets/xto-form-X369Lz91.js +0 -1
  82. package/dist/assets/xto-layout-D1stVnJI.css +0 -1
  83. package/dist/assets/xto-navigation-BRzSCpAw.css +0 -1
  84. package/dist/assets/xto-navigation-CDWfzPP5.js +0 -1
  85. package/dist/index.html +0 -28
@@ -0,0 +1,54 @@
1
+ export interface XtoConfig {
2
+ appName?: string;
3
+ appId?: string;
4
+ clientId?: string;
5
+ apiBaseUrl?: string;
6
+ indexPath?: string;
7
+ loginPath?: string;
8
+ }
9
+ /**
10
+ * 初始化 XTO 应用
11
+ * 在项目入口文件中调用此函数设置应用配置
12
+ * @param config 应用配置
13
+ */
14
+ export declare function createXtoApp(config: Partial<XtoConfig>): {
15
+ config: {
16
+ appName: string;
17
+ appId: string;
18
+ clientId: string;
19
+ apiBaseUrl: string;
20
+ indexPath: string;
21
+ loginPath: string;
22
+ };
23
+ };
24
+ export { default as Layout } from './components/Layout/index.vue';
25
+ export { default as Header } from './components/Layout/Header.vue';
26
+ export { default as Sidebar } from './components/Layout/Sidebar.vue';
27
+ export { default as Tabs } from './components/Layout/Tabs.vue';
28
+ export { default as Footer } from './components/Layout/Footer.vue';
29
+ export { default as Login } from './views/login/index.vue';
30
+ export { default as NotFound } from './views/error/404.vue';
31
+ export { default as Forbidden } from './views/error/403.vue';
32
+ export * from './composables/useApp';
33
+ export * from './composables/useAuth';
34
+ export * from './composables/useForm';
35
+ export * from './composables/useTable';
36
+ export * from './utils/auth';
37
+ export * from './utils/permission';
38
+ export * from './utils/request';
39
+ export * from './utils/storage';
40
+ export * from './utils/config';
41
+ export * from './stores/app';
42
+ export * from './stores/auth';
43
+ export * from './stores/menu';
44
+ export * from './stores/user';
45
+ export { default as router, resetRouter } from './router';
46
+ export * from './router/staticRoutes';
47
+ export * from './router/dynamicRoutes';
48
+ export { createLayoutRoute, createRouter } from './router/layoutRoute';
49
+ export { setupRouterGuards } from './router/guards';
50
+ export * from './api/auth';
51
+ export * from './api/system';
52
+ export * from './api/user';
53
+ export * from './enums';
54
+ export { default as permissionDirective } from './directives/permission';
@@ -0,0 +1,91 @@
1
+ import { F as s, c as t, G as o, d as r, e as u, H as n, L as i, i as p, M as l, b as d, f as T, g, h as R, S as c, a as k, j as h, T as f, k as S, l as U, m, n as y, o as M, p as A, q as x, r as b, s as D, t as L, u as C, v as F, w as G, x as I, y as E, z as O, A as v, B as w, C as P, D as j, E as q, I as B, J as H, K as N, N as X, O as z, P as J, Q as K, R as Q, U as V, V as W, W as Y, X as Z, Y as $, Z as _, $ as ee, a0 as ae, a1 as se, a2 as te, a3 as oe, a4 as re, a5 as ue, a6 as ne, a7 as ie, a8 as pe, a9 as le, aa as de, ab as Te, ac as ge, ad as Re, ae as ce, af as ke, ag as he, ah as fe, ai as Se, aj as Ue, ak as me, al as ye, am as Me, an as Ae, ao as xe, ap as be, aq as De, ar as Le, as as Ce, at as Fe, au as Ge, av as Ie, aw as Ee, ax as Oe, ay as ve } from "./index-_iZKFlCa.js";
2
+ export {
3
+ s as Footer,
4
+ t as Forbidden,
5
+ o as Gender,
6
+ r as GenderOptions,
7
+ u as GenderText,
8
+ n as Header,
9
+ i as Layout,
10
+ p as Login,
11
+ l as MenuType,
12
+ d as MenuTypeOptions,
13
+ T as MenuTypeText,
14
+ g as NotFound,
15
+ R as Sidebar,
16
+ c as Status,
17
+ k as StatusOptions,
18
+ h as StatusText,
19
+ f as Tabs,
20
+ S as appConfig,
21
+ U as batchDeleteUsers,
22
+ m as clearToken,
23
+ y as createLayoutRoute,
24
+ M as createMenu,
25
+ A as createRole,
26
+ x as createRouter,
27
+ b as createUser,
28
+ D as createXtoApp,
29
+ L as defaultDynamicRoutes,
30
+ C as deleteMenu,
31
+ F as deleteRole,
32
+ G as deleteUser,
33
+ I as getApiBaseUrl,
34
+ E as getAppId,
35
+ O as getClientId,
36
+ v as getCode,
37
+ w as getMenuList,
38
+ P as getMenuTree,
39
+ j as getRefreshTime,
40
+ q as getRefreshToken,
41
+ B as getRoleDetail,
42
+ H as getRoleList,
43
+ N as getToken,
44
+ X as getTokenExpire,
45
+ z as getTokenType,
46
+ J as getUserDetail,
47
+ K as getUserInfo,
48
+ Q as getUserList,
49
+ V as hasPermission,
50
+ W as hasRole,
51
+ Y as hasToken,
52
+ Z as http,
53
+ $ as initAppConfig,
54
+ _ as isAdmin,
55
+ ee as isTokenExpired,
56
+ ae as layoutRoute,
57
+ se as local,
58
+ te as localStorageUtil,
59
+ oe as login,
60
+ re as logout,
61
+ ue as mockMenuData,
62
+ ne as permissionDirective,
63
+ ie as refreshToken,
64
+ pe as resetPassword,
65
+ le as resetRouter,
66
+ de as router,
67
+ Te as session,
68
+ ge as sessionStorageUtil,
69
+ Re as setCode,
70
+ ce as setRefreshTime,
71
+ ke as setRefreshToken,
72
+ he as setToken,
73
+ fe as setTokenExpire,
74
+ Se as setTokenInfo,
75
+ Ue as setTokenType,
76
+ me as setupRouterGuards,
77
+ ye as staticRoutes,
78
+ Me as updateMenu,
79
+ Ae as updateRole,
80
+ xe as updateRoleStatus,
81
+ be as updateUser,
82
+ De as updateUserStatus,
83
+ Le as useApp,
84
+ Ce as useAppStore,
85
+ Fe as useAuth,
86
+ Ge as useAuthStore,
87
+ Ie as useForm,
88
+ Ee as useMenuStore,
89
+ Oe as useTable,
90
+ ve as useUserStore
91
+ };
@@ -0,0 +1,8 @@
1
+ (function($,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("pinia"),require("vue-router"),require("@xto/navigation"),require("@xto/base"),require("@xto/feedback"),require("@xto/form"),require("axios"),require("@xto/data")):typeof define=="function"&&define.amd?define(["exports","vue","pinia","vue-router","@xto/navigation","@xto/base","@xto/feedback","@xto/form","axios","@xto/data"],e):($=typeof globalThis<"u"?globalThis:$||self,e($.XtoFronted={},$.Vue,$.Pinia,$.VueRouter,$.navigation,$.base,$.feedback,$.form,$.axios,$.data))})(this,function($,e,Pe,ce,_e,A,oe,F,Kt,we){"use strict";const qe=e.ref(""),je=e.ref(""),He=e.ref("");function ut(s){s.appId&&(qe.value=s.appId),s.clientId&&(je.value=s.clientId),s.apiBaseUrl&&(He.value=s.apiBaseUrl)}function Ae(){if(qe.value)return qe.value;try{return""}catch{return""}}function Xe(){if(je.value)return je.value;try{return""}catch{return""}}function ht(){if(He.value)return He.value;try{return""}catch{return""}}const Wt={appId:qe,clientId:je,apiBaseUrl:He},Ue="xto_",gt=s=>({get(u){const E=s.getItem(Ue+u);if(!E)return null;try{return JSON.parse(E)}catch{return E}},set(u,E){if(E==null){s.removeItem(Ue+u);return}const m=typeof E=="string"?E:JSON.stringify(E);s.setItem(Ue+u,m)},remove(u){s.removeItem(Ue+u)},clear(){Object.keys(s).forEach(E=>{E.startsWith(Ue)&&s.removeItem(E)})}}),ze=gt(window.localStorage),Oe=gt(window.sessionStorage),G={get:ze.get,set:ze.set,remove:ze.remove,clear:ze.clear},Xt={get:Oe.get,set:Oe.set,remove:Oe.remove,clear:Oe.clear},Ce=Pe.defineStore("app",()=>{const s=e.ref(G.get("appName")||"XTO App"),u=e.ref(G.get("indexPath")||"/dashboard"),E=e.ref(G.get("isDark")||!1),m=e.ref(G.get("theme")||"light"),f=e.ref(G.get("layout")||"sidebar"),C=e.ref(G.get("isCollapsed")||!1),V=e.ref(G.get("showTabs")??!0),g=e.ref(G.get("showFooter")??!0),x=e.ref(G.get("showBreadcrumb")??!0),k=e.ref(G.get("primaryColor")||"#409eff"),y=e.ref([]),M=e.ref([]),S=e.computed(()=>E.value?"dark":"light"),U=q=>{s.value=q,G.set("appName",q)},Y=q=>{u.value=q,G.set("indexPath",q)},T=()=>{E.value=!E.value,m.value=E.value?"dark":"light",B()},D=q=>{m.value=q,E.value=q==="dark",B()},B=()=>{const q=document.documentElement;E.value?q.classList.add("dark"):q.classList.remove("dark"),G.set("isDark",E.value),G.set("theme",m.value)},w=()=>{C.value=!C.value,G.set("isCollapsed",C.value)},z=q=>{f.value=q,G.set("layout",q)},K=()=>{V.value=!V.value,G.set("showTabs",V.value)},R=()=>{g.value=!g.value,G.set("showFooter",g.value)},i=()=>{x.value=!x.value,G.set("showBreadcrumb",x.value)},_=q=>{k.value=q,document.documentElement.style.setProperty("--color-primary",q),G.set("primaryColor",q)},H=q=>{y.value.includes(q)||y.value.push(q)},J=q=>{const ne=y.value.indexOf(q);ne>-1&&y.value.splice(ne,1)},L=()=>{y.value=[]},ee=q=>{M.value=q},Z=()=>{B(),k.value!=="#409eff"&&document.documentElement.style.setProperty("--color-primary",k.value)};return e.watch(E,B),{appName:s,indexPath:u,isDark:E,theme:m,layout:f,isCollapsed:C,showTabs:V,showFooter:g,showBreadcrumb:x,primaryColor:k,cachedViews:y,mixSubMenus:M,themeClass:S,setAppName:U,setIndexPath:Y,toggleTheme:T,toggleCollapse:w,setTheme:D,setLayout:z,toggleTabs:K,toggleFooter:R,toggleBreadcrumb:i,setPrimaryColor:_,addCachedView:H,removeCachedView:J,clearCachedViews:L,setMixSubMenus:ee,initTheme:Z}}),Ye="menu_list",Yt={menuCode:"home",menuName:"首页",menuUrl:"/dashboard",icon:"home",closable:!1,isDefault:!1,isOut:!1},De=Pe.defineStore("menu",()=>{const s=e.ref(G.get(Ye)||[]),u=e.computed(()=>s.value.length>0);return{menuList:s,hasMenu:u,setMenuList:f=>{s.value=[Yt,...f],G.set(Ye,s.value)},clearMenu:()=>{s.value=[],G.remove(Ye)}}}),Je="/vite.svg",Ze="user_info",ke=Pe.defineStore("user",()=>{const s=e.ref(G.get(Ze)),u=e.computed(()=>!!s.value),E=e.computed(()=>{var M;return((M=s.value)==null?void 0:M.userId)||""}),m=e.computed(()=>{var M;return((M=s.value)==null?void 0:M.userName)||""}),f=e.computed(()=>{var M;return((M=s.value)==null?void 0:M.departmentName)||""}),C=e.computed(()=>{var M;return((M=s.value)==null?void 0:M.email)||""}),V=e.computed(()=>{var M;return((M=s.value)==null?void 0:M.mobilePhone)||""}),g=e.computed(()=>{var M;return((M=s.value)==null?void 0:M.positionName)||""}),x=e.computed(()=>{var M;return((M=s.value)==null?void 0:M.avatar)||""});return{userInfo:s,isLoggedIn:u,userId:E,userName:m,departmentName:f,email:C,mobilePhone:V,positionName:g,avatar:x,setUserInfo:M=>{s.value=M,G.set(Ze,M)},clearUserInfo:()=>{s.value=null,G.remove(Ze)}}}),Qe="token",ve="token_type",et="refresh_token",tt="expires_time",nt="refresh_time",ot="code",Fe=()=>G.get(Qe),_t=s=>{G.set(Qe,s)},Nt=()=>G.get(ve),Et=s=>{G.set(ve,s)},Jt=()=>G.get(et),Vt=s=>{G.set(et,s)},kt=()=>G.get(tt),yt=s=>{G.set(tt,s)},Zt=()=>G.get(nt),wt=s=>{G.set(nt,s)},Qt=()=>G.get(ot),xt=s=>{G.set(ot,s)},lt=s=>{_t(s.access_token),Et(s.token_type||"Bearer"),Vt(s.refresh_token),yt(s.expires_time),wt(s.refresh_time),s.code&&xt(s.code)},Me=()=>{G.remove(Qe),G.remove(ve),G.remove(et),G.remove(tt),G.remove(nt),G.remove(ot)},Bt=()=>{const s=kt();return s?Date.now()>s:!0},st=()=>!!Fe()&&!Bt(),Le=Pe.defineStore("auth",()=>{const s=e.ref(Fe()),u=e.computed(()=>st()),E=e.ref(""),m=e.ref(""),f=e.ref(""),C=e.ref("/login");return{token:s,isLoggedIn:u,baseUrl:E,appId:m,clientId:f,loginPath:C,login:S=>{s.value=S.access_token,lt(S)},logout:()=>{s.value=null,Me()},setBaseUrl:S=>{E.value=S},setAppId:S=>{m.value=S},setClientId:S=>{f.value=S},setLoginPath:S=>{C.value=S}}}),vt={class:"menu-item__content"},en={class:"menu-item__icon"},tn={key:1,class:"menu-item__char"},nn={class:"menu-item__text"},on={class:"menu-item__content"},ln={key:0,class:"menu-item__icon"},sn={key:1,class:"menu-item__char"},rn={class:"menu-item__text"},an=e.defineComponent({__name:"SidebarMenuItem",props:{menu:{}},setup(s){const u=s,E=new Set(["arrow-up","arrow-down","arrow-left","arrow-right","caret-down","caret-right","plus","minus","close","check","edit","delete","copy","download","upload","refresh","search","filter","more","setting","share","loading","info","success","warning","error","question","user","user-add","user-group","logout","login","file","folder","folder-open","document","image","video","music","camera","mail","phone","chat","bell","message","eye","eye-off","calendar","clock","history","timer","location","map","globe","star","heart","thumb-up","link","external-link","lock","unlock","key","home","menu","menu-fold","menu-unfold","sidebar-fold","sidebar-expand","sidebar-left","dashboard","chart","chart-pie","chart-line","report","analytics","system","permission","role","user-manage","log","notification","app","list","grid","fullscreen","fullscreen-exit","zoom-in","zoom-out","print","bookmark","tag","code","terminal","database","server","cloud","gift","moon","sun","theme","skin"]),m=g=>{if(!g||g==="")return"";if(g.startsWith("tineco-icon-")){const k=g.replace("tineco-icon-","");return{home:"home",dashboard:"dashboard",system:"system",user:"user",role:"role",menu:"list",setting:"setting",file:"file",folder:"folder",chart:"chart",report:"report",analytics:"analytics"}[k]||k}return{dashboard:"dashboard",system:"system",user:"user",role:"role",menu:"list",setting:"setting",home:"home",chart:"chart",report:"report",analytics:"analytics",permission:"permission",log:"log",notification:"notification",app:"app",list:"list",grid:"grid"}[g]||g},f=g=>g?g.charAt(0):"",C=g=>E.has(g),V=e.computed(()=>u.menu.children&&u.menu.children.length>0);return(g,x)=>{const k=e.resolveComponent("SidebarMenuItem",!0);return V.value?(e.openBlock(),e.createBlock(e.unref(_e.SubMenu),{key:0,index:s.menu.menuUrl},{title:e.withCtx(()=>[e.createElementVNode("span",vt,[e.createElementVNode("span",en,[C(m(s.menu.icon))?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:m(s.menu.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",tn,e.toDisplayString(f(s.menu.menuName)),1))]),e.createElementVNode("span",nn,e.toDisplayString(s.menu.menuName),1)])]),default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.menu.children,y=>(e.openBlock(),e.createBlock(k,{key:y.menuUrl,menu:y},null,8,["menu"]))),128))]),_:1},8,["index"])):(e.openBlock(),e.createBlock(e.unref(_e.MenuItem),{key:1,index:s.menu.menuUrl},{default:e.withCtx(()=>[e.createElementVNode("span",on,[s.menu.menuName!=="首页"?(e.openBlock(),e.createElementBlock("span",ln,[C(m(s.menu.icon))?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:m(s.menu.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",sn,e.toDisplayString(f(s.menu.menuName)),1))])):e.createCommentVNode("",!0),e.createElementVNode("span",rn,e.toDisplayString(s.menu.menuName),1)])]),_:1},8,["index"]))}}}),fe=(s,u)=>{const E=s.__vccOpts||s;for(const[m,f]of u)E[m]=f;return E},cn=fe(an,[["__scopeId","data-v-d160ae6a"]]),dn={key:0,class:"sidebar__logo"},mn={key:1,class:"sidebar__user"},pn={class:"sidebar__user-info"},fn={class:"sidebar__user-name"},un={class:"sidebar__user-role"},Ct="sidebar_opened_menus",rt=fe(e.defineComponent({__name:"Sidebar",props:{menuList:{default:()=>[]},showLogo:{type:Boolean,default:!0},showUser:{type:Boolean,default:!0}},setup(s){const u=s,E=ce.useRoute(),m=ce.useRouter(),f=De(),C=ke(),V=Le(),g=Ce(),x=e.computed(()=>u.menuList.length>0?u.menuList:f.menuList),k=e.computed(()=>g.isCollapsed),y=e.computed(()=>E.path),M=e.ref(G.get(Ct)||[]);e.watch(M,w=>{G.set(Ct,w)},{deep:!0});const S=(w,z,K=[])=>{var R;for(const i of w){if(z===i.menuUrl||z.startsWith(i.menuUrl+"/"))return[...K,i.menuUrl];if((R=i.children)!=null&&R.length){const _=S(i.children,z,[...K,i.menuUrl]);if(_)return _}}return null};e.watch([()=>E.path,x],([w,z])=>{if(z.length>0){const K=S(z,w);K?M.value=K.slice(0,-1):M.value=[]}},{immediate:!0});const U=e.computed(()=>g.isDark?"#1d1e1f":"#fff"),Y=e.computed(()=>g.isDark?"#cfd3dc":"#303133"),T=e.computed(()=>"#409eff"),D=w=>{w&&w!==E.path&&m.push(w)},B=()=>{V.logout(),C.clearUserInfo(),f.clearMenu(),m.push("/login")};return(w,z)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["sidebar",{"sidebar--collapsed":k.value}])},[u.showLogo?(e.openBlock(),e.createElementBlock("div",dn,[z[2]||(z[2]=e.createElementVNode("img",{src:Je,alt:"Logo",class:"sidebar__logo-img"},null,-1)),e.withDirectives(e.createElementVNode("span",{class:"sidebar__logo-text"},e.toDisplayString(e.unref(g).appName),513),[[e.vShow,!k.value]])])):e.createCommentVNode("",!0),e.createVNode(e.unref(_e.Menu),{modelValue:y.value,"onUpdate:modelValue":z[0]||(z[0]=K=>y.value=K),openeds:M.value,"onUpdate:openeds":z[1]||(z[1]=K=>M.value=K),mode:"vertical",collapse:k.value,"collapse-transition":!1,"background-color":U.value,"text-color":Y.value,"active-text-color":T.value,class:"sidebar__menu",onSelect:D},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(x.value,K=>(e.openBlock(),e.createBlock(cn,{key:K.menuUrl,menu:K},null,8,["menu"]))),128))]),_:1},8,["modelValue","openeds","collapse","background-color","text-color","active-text-color"]),u.showUser&&!k.value?(e.openBlock(),e.createElementBlock("div",mn,[e.createElementVNode("div",pn,[e.createElementVNode("span",fn,e.toDisplayString(e.unref(C).userName),1),e.createElementVNode("span",un,e.toDisplayString(e.unref(C).departmentName),1)]),e.createVNode(e.unref(A.Button),{type:"text",size:"small",onClick:B},{default:e.withCtx(()=>[...z[3]||(z[3]=[e.createTextVNode("退出",-1)])]),_:1})])):e.createCommentVNode("",!0)],2))}}),[["__scopeId","data-v-3c79a9c4"]]),hn={class:"header"},gn={class:"header__left"},_n={key:0,class:"header__breadcrumb"},Nn={key:0,class:"breadcrumb-separator"},En={class:"header__right"},Vn={key:0,class:"header__search-dropdown"},kn={key:0,class:"header__search-results"},yn=["onClick"],wn={key:0,class:"header__search-icon"},xn={key:1,class:"header__search-char"},Bn={class:"header__search-item-title"},Cn={key:1,class:"header__search-item-parent"},bn={key:1,class:"header__search-empty"},$n=["title"],Sn={class:"header__avatar"},In={class:"header__user-name"},Dn={key:0,class:"header__dropdown"},Mn={class:"header__dropdown-header"},Ln={class:"header__dropdown-avatar"},Tn={class:"header__dropdown-info"},An={class:"header__dropdown-name"},Un={class:"header__dropdown-role"},zn={class:"header__dropdown-menu"},On={class:"settings-drawer"},Fn={class:"settings-section"},Rn={class:"settings-layout-options"},Pn=["onClick"],qn={class:"layout-option__preview"},jn={key:0,class:"layout-preview-sidebar"},Hn={key:1,class:"layout-preview-top"},Gn={key:2,class:"layout-preview-mix"},Kn={class:"layout-option__label"},Wn={class:"settings-section"},Xn={class:"settings-color-options"},Yn=["title","onClick"],Jn={class:"settings-section"},Zn={class:"settings-switch-list"},Qn={class:"settings-switch-item"},vn={class:"settings-switch-item"},bt=fe(e.defineComponent({__name:"Header",setup(s){const u=ce.useRoute(),E=ce.useRouter(),m=Ce(),f=ke(),C=Le(),V=De(),g=e.ref(!1),x=e.ref(!1),k=e.ref(null),y=e.ref(!1),M=e.ref(!1),S=e.ref(""),U=e.ref(null),Y=e.ref(!1),T=[{value:"sidebar",label:"左侧菜单",icon:"sidebar-left"},{value:"top",label:"顶部菜单",icon:"menu"},{value:"mix",label:"混合菜单",icon:"grid"}],D=[{value:"#409eff",label:"默认蓝"},{value:"#1890ff",label:"科技蓝"},{value:"#52c41a",label:"极光绿"},{value:"#faad14",label:"日落橙"},{value:"#f5222d",label:"薄暮红"},{value:"#722ed1",label:"酱紫"}],B=e.computed(()=>u.matched.filter(O=>O.meta&&O.meta.title).map(O=>({title:O.meta.title,path:O.path}))),w=(W,O="")=>{const n=[];return W.forEach(t=>{t.children&&t.children.length>0?n.push(...w(t.children,t.menuName)):n.push({...t,parentTitle:O,title:t.menuName,path:t.menuUrl})}),n},z=new Set(["arrow-up","arrow-down","arrow-left","arrow-right","caret-down","caret-right","plus","minus","close","check","edit","delete","copy","download","upload","refresh","search","filter","more","setting","share","loading","info","success","warning","error","question","user","user-add","user-group","logout","login","file","folder","folder-open","document","image","video","music","camera","mail","phone","chat","bell","message","eye","eye-off","calendar","clock","history","timer","location","map","globe","star","heart","thumb-up","link","external-link","lock","unlock","key","home","menu","menu-fold","menu-unfold","sidebar-fold","sidebar-expand","sidebar-left","dashboard","chart","chart-pie","chart-line","report","analytics","system","permission","role","user-manage","log","notification","app","list","grid","fullscreen","fullscreen-exit","zoom-in","zoom-out","print","bookmark","tag","code","terminal","database","server","cloud","gift","moon","sun","theme","skin"]),K=W=>{if(!W||W==="")return"";if(W.startsWith("tineco-icon-")){const n=W.replace("tineco-icon-","");return{home:"home",dashboard:"dashboard",system:"system",user:"user",role:"role",menu:"list",setting:"setting",file:"file",folder:"folder",chart:"chart",report:"report",analytics:"analytics"}[n]||n}return{dashboard:"dashboard",system:"system",user:"user",role:"role",menu:"list",setting:"setting",home:"home",chart:"chart",report:"report",analytics:"analytics",permission:"permission",log:"log",notification:"notification",app:"app",list:"list",grid:"grid"}[W]||W},R=W=>W?W.charAt(0):"",i=W=>z.has(W),_=e.computed(()=>S.value.trim()?w(V.menuList).filter(O=>O.title.toLowerCase().includes(S.value.toLowerCase())):[]),H=e.computed(()=>m.layout),J=()=>{m.toggleCollapse()},L=()=>{m.toggleTheme()},ee=()=>{x.value=!0},Z=W=>{m.setLayout(W),x.value=!1},q=W=>{Y.value=W;const O=document.documentElement;W?O.classList.add("grey-mode"):O.classList.remove("grey-mode")},ne=()=>{q(!Y.value),x.value=!1},se=()=>{m.toggleTheme(),x.value=!1},Ee=()=>{document.fullscreenElement?document.exitFullscreen():document.documentElement.requestFullscreen()},re=()=>{y.value=!!document.fullscreenElement},ue=()=>{g.value=!g.value},he=()=>{g.value=!1},me=()=>{M.value=!1,S.value=""},be=W=>{E.push(W),me()},Ve=W=>{m.setPrimaryColor(W),x.value=!1},$e=()=>{he(),E.push("/profile")},I=()=>{he(),E.push("/change-password")},Se=()=>{he(),C.logout(),f.clearUserInfo(),V.clearMenu(),E.push("/login")},Ie=W=>{k.value&&!k.value.contains(W.target)&&he(),U.value&&!U.value.contains(W.target)&&me()},xe=W=>{W.key==="Escape"&&(me(),he())};return e.onMounted(()=>{document.addEventListener("click",Ie),document.addEventListener("fullscreenchange",re),document.addEventListener("keydown",xe),m.initTheme(),Y.value=document.documentElement.classList.contains("grey-mode")}),e.onUnmounted(()=>{document.removeEventListener("click",Ie),document.removeEventListener("fullscreenchange",re),document.removeEventListener("keydown",xe)}),(W,O)=>{var n;return e.openBlock(),e.createElementBlock("div",hn,[e.createElementVNode("div",gn,[e.createElementVNode("div",{class:"header__collapse",onClick:J},[e.createVNode(e.unref(A.Icon),{name:e.unref(m).isCollapsed?"menu-unfold":"menu-fold",size:18},null,8,["name"])]),e.unref(m).showBreadcrumb?(e.openBlock(),e.createElementBlock("div",_n,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(B.value,(t,l)=>(e.openBlock(),e.createElementBlock("span",{key:t.path},[l>0?(e.openBlock(),e.createElementBlock("span",Nn,"/")):e.createCommentVNode("",!0),e.createElementVNode("span",{class:e.normalizeClass({"is-current":l===B.value.length-1})},e.toDisplayString(t.title),3)]))),128))])):e.createCommentVNode("",!0)]),e.createElementVNode("div",En,[e.createElementVNode("div",{class:"header__search",ref_key:"searchRef",ref:U},[e.createVNode(e.unref(A.Icon),{name:"search",size:14,class:"header__search-icon"}),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":O[0]||(O[0]=t=>S.value=t),type:"text",class:"header__search-input",placeholder:"搜索菜单...",onFocus:O[1]||(O[1]=t=>M.value=!0)},null,544),[[e.vModelText,S.value]]),e.createVNode(e.Transition,{name:"search-dropdown"},{default:e.withCtx(()=>[M.value&&(_.value.length>0||S.value)?(e.openBlock(),e.createElementBlock("div",Vn,[_.value.length>0?(e.openBlock(),e.createElementBlock("div",kn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(_.value,t=>(e.openBlock(),e.createElementBlock("div",{key:t.path,class:"header__search-item",onClick:l=>be(t.path)},[t.title!=="首页"?(e.openBlock(),e.createElementBlock("span",wn,[i(K(t.icon))?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:K(t.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",xn,e.toDisplayString(R(t.title)),1))])):e.createCommentVNode("",!0),e.createElementVNode("span",Bn,e.toDisplayString(t.title),1),t.parentTitle?(e.openBlock(),e.createElementBlock("span",Cn,e.toDisplayString(t.parentTitle),1)):e.createCommentVNode("",!0)],8,yn))),128))])):(e.openBlock(),e.createElementBlock("div",bn," 未找到匹配的菜单 "))])):e.createCommentVNode("",!0)]),_:1})],512),e.createElementVNode("div",{class:"header__action",onClick:Ee,title:y.value?"退出全屏":"全屏"},[e.createVNode(e.unref(A.Icon),{name:y.value?"fullscreen-exit":"fullscreen",size:16},null,8,["name"])],8,$n),e.createElementVNode("div",{class:"header__action",onClick:ee,title:"换肤设置"},[e.createVNode(e.unref(A.Icon),{name:"skin",size:16})]),e.createElementVNode("div",{class:"header__action",onClick:L,title:"切换主题"},[e.createVNode(e.unref(A.Icon),{name:e.unref(m).isDark?"sun":"moon",size:16},null,8,["name"])]),e.createElementVNode("div",{class:"header__user",ref_key:"dropdownRef",ref:k},[e.createElementVNode("div",{class:"header__user-trigger",onClick:e.withModifiers(ue,["stop"])},[e.createElementVNode("div",Sn,[e.createElementVNode("span",null,e.toDisplayString(((n=e.unref(f).userName)==null?void 0:n.charAt(0))||"U"),1)]),e.createElementVNode("span",In,e.toDisplayString(e.unref(f).userName),1),e.createElementVNode("span",{class:e.normalizeClass(["header__user-arrow",{"is-active":g.value}])},"▼",2)]),e.createVNode(e.Transition,{name:"dropdown"},{default:e.withCtx(()=>{var t;return[g.value?(e.openBlock(),e.createElementBlock("div",Dn,[e.createElementVNode("div",Mn,[e.createElementVNode("div",Ln,[e.createElementVNode("span",null,e.toDisplayString(((t=e.unref(f).userName)==null?void 0:t.charAt(0))||"U"),1)]),e.createElementVNode("div",Tn,[e.createElementVNode("div",An,e.toDisplayString(e.unref(f).userName),1),e.createElementVNode("div",Un,e.toDisplayString(e.unref(f).departmentName),1)])]),O[7]||(O[7]=e.createElementVNode("div",{class:"header__dropdown-divider"},null,-1)),e.createElementVNode("div",zn,[e.createElementVNode("div",{class:"header__dropdown-item",onClick:$e},[e.createVNode(e.unref(A.Icon),{name:"user",size:16}),O[3]||(O[3]=e.createElementVNode("span",null,"个人信息",-1))]),e.createElementVNode("div",{class:"header__dropdown-item",onClick:I},[e.createVNode(e.unref(A.Icon),{name:"lock",size:16}),O[4]||(O[4]=e.createElementVNode("span",null,"修改密码",-1))]),O[6]||(O[6]=e.createElementVNode("div",{class:"header__dropdown-divider"},null,-1)),e.createElementVNode("div",{class:"header__dropdown-item header__dropdown-item--danger",onClick:Se},[e.createVNode(e.unref(A.Icon),{name:"logout",size:16}),O[5]||(O[5]=e.createElementVNode("span",null,"退出登录",-1))])])])):e.createCommentVNode("",!0)]}),_:1})],512)]),e.createVNode(e.unref(oe.Drawer),{modelValue:x.value,"onUpdate:modelValue":O[2]||(O[2]=t=>x.value=t),title:"换肤设置",direction:"rtl",size:"320px"},{default:e.withCtx(()=>[e.createElementVNode("div",On,[e.createElementVNode("div",Fn,[O[11]||(O[11]=e.createElementVNode("div",{class:"settings-title"},"布局模式",-1)),e.createElementVNode("div",Rn,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(T,t=>e.createElementVNode("div",{key:t.value,class:e.normalizeClass(["layout-option",{"is-active":H.value===t.value}]),onClick:l=>Z(t.value)},[e.createElementVNode("div",qn,[t.value==="sidebar"?(e.openBlock(),e.createElementBlock("div",jn,[...O[8]||(O[8]=[e.createElementVNode("div",{class:"preview-aside"},null,-1),e.createElementVNode("div",{class:"preview-main"},[e.createElementVNode("div",{class:"preview-header"}),e.createElementVNode("div",{class:"preview-content"})],-1)])])):t.value==="top"?(e.openBlock(),e.createElementBlock("div",Hn,[...O[9]||(O[9]=[e.createElementVNode("div",{class:"preview-header-full"},null,-1),e.createElementVNode("div",{class:"preview-content-full"},null,-1)])])):(e.openBlock(),e.createElementBlock("div",Gn,[...O[10]||(O[10]=[e.createElementVNode("div",{class:"preview-header-mix"},[e.createElementVNode("div",{class:"preview-mix-left"})],-1),e.createElementVNode("div",{class:"preview-mix-body"},[e.createElementVNode("div",{class:"preview-mix-aside"}),e.createElementVNode("div",{class:"preview-mix-content"})],-1)])]))]),e.createElementVNode("span",Kn,e.toDisplayString(t.label),1)],10,Pn)),64))])]),e.createElementVNode("div",Wn,[O[12]||(O[12]=e.createElementVNode("div",{class:"settings-title"},"主题色",-1)),e.createElementVNode("div",Xn,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(D,t=>e.createElementVNode("div",{key:t.value,class:e.normalizeClass(["color-option",{"is-active":e.unref(m).primaryColor===t.value}]),style:e.normalizeStyle({backgroundColor:t.value}),title:t.label,onClick:l=>Ve(t.value)},[e.unref(m).primaryColor===t.value?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:"check",size:12,color:"#fff"})):e.createCommentVNode("",!0)],14,Yn)),64))])]),e.createElementVNode("div",Jn,[O[17]||(O[17]=e.createElementVNode("div",{class:"settings-title"},"功能设置",-1)),e.createElementVNode("div",Zn,[e.createElementVNode("div",Qn,[O[14]||(O[14]=e.createElementVNode("span",null,"灰色模式",-1)),e.createElementVNode("div",{class:e.normalizeClass(["switch-wrapper",{"is-checked":Y.value}]),onClick:ne},[...O[13]||(O[13]=[e.createElementVNode("span",{class:"switch-core"},null,-1)])],2)]),e.createElementVNode("div",vn,[O[16]||(O[16]=e.createElementVNode("span",null,"暗黑模式",-1)),e.createElementVNode("div",{class:e.normalizeClass(["switch-wrapper",{"is-checked":e.unref(m).isDark}]),onClick:se},[...O[15]||(O[15]=[e.createElementVNode("span",{class:"switch-core"},null,-1)])],2)])])])])]),_:1},8,["modelValue"])])}}}),[["__scopeId","data-v-89179947"]]),eo={class:"top-menu"},to={class:"top-menu__logo"},no={class:"top-menu__logo-text"},oo={class:"top-menu__menu-content"},lo={key:0,class:"top-menu__menu-icon"},so={key:1,class:"top-menu__menu-char"},ro={class:"top-menu__menu-text"},ao={class:"top-menu__menu-content"},io={class:"top-menu__menu-icon"},co={key:1,class:"top-menu__menu-char"},mo={class:"top-menu__menu-text"},po={class:"top-menu__menu-content"},fo={class:"top-menu__menu-icon"},uo={key:1,class:"top-menu__menu-char"},ho={class:"top-menu__menu-text"},go={class:"top-menu__menu-content"},_o={class:"top-menu__menu-icon"},No={key:1,class:"top-menu__menu-char"},Eo={class:"top-menu__menu-text"},Vo={class:"top-menu__menu-content"},ko={key:0,class:"top-menu__menu-icon"},yo={key:1,class:"top-menu__menu-char"},wo={class:"top-menu__menu-text"},xo={class:"top-menu__actions"},Bo={key:0,class:"top-menu__search-dropdown"},Co={key:0,class:"top-menu__search-results"},bo=["onClick"],$o={key:0,class:"top-menu__search-icon-item"},So={key:1,class:"top-menu__search-char"},Io={class:"top-menu__search-item-title"},Do={key:1,class:"top-menu__search-item-parent"},Mo={key:1,class:"top-menu__search-empty"},Lo=["title"],To={class:"top-menu__avatar"},Ao={class:"top-menu__user-name"},Uo={key:0,class:"top-menu__dropdown"},zo={class:"top-menu__dropdown-header"},Oo={class:"top-menu__dropdown-avatar"},Fo={class:"top-menu__dropdown-info"},Ro={class:"top-menu__dropdown-name"},Po={class:"top-menu__dropdown-role"},qo={class:"top-menu__dropdown-menu"},jo={class:"settings-drawer"},Ho={class:"settings-section"},Go={class:"settings-layout-options"},Ko=["onClick"],Wo={class:"layout-option__preview"},Xo={key:0,class:"layout-preview-sidebar"},Yo={key:1,class:"layout-preview-top"},Jo={key:2,class:"layout-preview-mix"},Zo={class:"layout-option__label"},Qo={class:"settings-section"},vo={class:"settings-color-options"},el=["title","onClick"],tl={class:"settings-section"},nl={class:"settings-switch-list"},ol={class:"settings-switch-item"},ll={class:"settings-switch-item"},sl=fe(e.defineComponent({__name:"TopMenu",setup(s){const u=ce.useRoute(),E=ce.useRouter(),m=De(),f=Ce(),C=ke(),V=Le(),g=e.computed(()=>u.path),x=(t,l="")=>{const d=[];return t.forEach(o=>{o.children&&o.children.length>0?d.push(...x(o.children,o.menuName)):d.push({...o,parentTitle:l,title:o.menuName,path:o.menuUrl})}),d},k=e.computed(()=>z.value.trim()?x(m.menuList).filter(l=>l.title.toLowerCase().includes(z.value.toLowerCase())):[]),y=e.computed(()=>f.isDark?"#1d1e1f":"#fff"),M=e.computed(()=>f.isDark?"#cfd3dc":"#303133"),S=e.computed(()=>"#409eff"),U=e.ref(!1),Y=e.ref(null),T=e.ref(!1),D=e.ref(!1),B=e.ref(!1),w=e.ref(!1),z=e.ref(""),K=e.ref(null),R=t=>{t&&t!==u.path&&E.push(t)},i=new Set(["arrow-up","arrow-down","arrow-left","arrow-right","caret-down","caret-right","plus","minus","close","check","edit","delete","copy","download","upload","refresh","search","filter","more","setting","share","loading","info","success","warning","error","question","user","user-add","user-group","logout","login","file","folder","folder-open","document","image","video","music","camera","mail","phone","chat","bell","message","eye","eye-off","calendar","clock","history","timer","location","map","globe","star","heart","thumb-up","link","external-link","lock","unlock","key","home","menu","menu-fold","menu-unfold","sidebar-fold","sidebar-expand","sidebar-left","dashboard","chart","chart-pie","chart-line","report","analytics","system","permission","role","user-manage","log","notification","app","list","grid","fullscreen","fullscreen-exit","zoom-in","zoom-out","print","bookmark","tag","code","terminal","database","server","cloud","gift","moon","sun","theme","skin"]),_=t=>{if(!t||t==="")return"";if(t.startsWith("tineco-icon-")){const d=t.replace("tineco-icon-","");return{home:"home",dashboard:"dashboard",system:"system",user:"user",role:"role",menu:"list",setting:"setting",file:"file",folder:"folder",chart:"chart",report:"report",analytics:"analytics"}[d]||d}return{dashboard:"dashboard",system:"system",user:"user",role:"role",menu:"list",setting:"setting",home:"home",chart:"chart",report:"report",analytics:"analytics",permission:"permission",log:"log",notification:"notification",app:"app",list:"list",grid:"grid"}[t]||t},H=t=>t?t.charAt(0):"",J=t=>i.has(t),L=()=>{f.toggleTheme(),D.value=!1},ee=()=>{document.fullscreenElement?document.exitFullscreen():document.documentElement.requestFullscreen()},Z=()=>{T.value=!!document.fullscreenElement},q=()=>{U.value=!U.value},ne=()=>{U.value=!1},se=()=>{w.value=!1,z.value=""},Ee=t=>{E.push(t),se()},re=()=>{D.value=!0},ue=t=>{B.value=t;const l=document.documentElement;t?l.classList.add("grey-mode"):l.classList.remove("grey-mode")},he=()=>{ue(!B.value),D.value=!1},me=()=>{f.toggleTheme(),D.value=!1},be=[{value:"sidebar",label:"左侧菜单",icon:"sidebar-left"},{value:"top",label:"顶部菜单",icon:"menu"},{value:"mix",label:"混合菜单",icon:"grid"}],Ve=e.computed(()=>f.layout),$e=t=>{f.setLayout(t),D.value=!1},I=[{value:"#409eff",label:"默认蓝"},{value:"#1890ff",label:"科技蓝"},{value:"#52c41a",label:"极光绿"},{value:"#faad14",label:"日落橙"},{value:"#f5222d",label:"薄暮红"},{value:"#722ed1",label:"酱紫"}],Se=t=>{f.setPrimaryColor(t),D.value=!1},Ie=()=>{ne(),E.push("/profile")},xe=()=>{ne(),E.push("/change-password")},W=()=>{ne(),V.logout(),C.clearUserInfo(),m.clearMenu(),E.push("/login")},O=t=>{Y.value&&!Y.value.contains(t.target)&&ne(),K.value&&!K.value.contains(t.target)&&se()},n=t=>{t.key==="Escape"&&(se(),ne())};return e.onMounted(()=>{document.addEventListener("click",O),document.addEventListener("fullscreenchange",Z),document.addEventListener("keydown",n),B.value=document.documentElement.classList.contains("grey-mode")}),e.onUnmounted(()=>{document.removeEventListener("click",O),document.removeEventListener("fullscreenchange",Z),document.removeEventListener("keydown",n)}),(t,l)=>{var d;return e.openBlock(),e.createElementBlock("div",eo,[e.createElementVNode("div",to,[l[3]||(l[3]=e.createElementVNode("img",{src:Je,alt:"Logo",class:"top-menu__logo-img"},null,-1)),e.createElementVNode("span",no,e.toDisplayString(e.unref(f).appName),1)]),e.createVNode(e.unref(_e.Menu),{"model-value":g.value,mode:"horizontal","background-color":y.value,"text-color":M.value,"active-text-color":S.value,class:"top-menu__menu",onSelect:R},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(m).menuList,o=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:o.menuUrl},[o.children&&o.children.length>0?(e.openBlock(),e.createBlock(e.unref(_e.SubMenu),{key:0,index:o.menuUrl},{title:e.withCtx(()=>[e.createElementVNode("span",oo,[o.menuName!=="首页"?(e.openBlock(),e.createElementBlock("span",lo,[J(_(o.icon))?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:_(o.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",so,e.toDisplayString(H(o.menuName)),1))])):e.createCommentVNode("",!0),e.createElementVNode("span",ro,e.toDisplayString(o.menuName),1)])]),default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.children,r=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:r.menuUrl},[r.children&&r.children.length>0?(e.openBlock(),e.createBlock(e.unref(_e.SubMenu),{key:0,index:r.menuUrl},{title:e.withCtx(()=>[e.createElementVNode("span",ao,[e.createElementVNode("span",io,[J(_(r.icon))?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:_(r.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",co,e.toDisplayString(H(r.menuName)),1))]),e.createElementVNode("span",mo,e.toDisplayString(r.menuName),1)])]),default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.children,p=>(e.openBlock(),e.createBlock(e.unref(_e.MenuItem),{key:p.menuUrl,index:p.menuUrl},{default:e.withCtx(()=>[e.createElementVNode("span",po,[e.createElementVNode("span",fo,[J(_(p.icon))?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:_(p.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",uo,e.toDisplayString(H(p.menuName)),1))]),e.createElementVNode("span",ho,e.toDisplayString(p.menuName),1)])]),_:2},1032,["index"]))),128))]),_:2},1032,["index"])):(e.openBlock(),e.createBlock(e.unref(_e.MenuItem),{key:1,index:r.menuUrl},{default:e.withCtx(()=>[e.createElementVNode("span",go,[e.createElementVNode("span",_o,[J(_(r.icon))?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:_(r.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",No,e.toDisplayString(H(r.menuName)),1))]),e.createElementVNode("span",Eo,e.toDisplayString(r.menuName),1)])]),_:2},1032,["index"]))],64))),128))]),_:2},1032,["index"])):(e.openBlock(),e.createBlock(e.unref(_e.MenuItem),{key:1,index:o.menuUrl},{default:e.withCtx(()=>[e.createElementVNode("span",Vo,[o.menuName!=="首页"?(e.openBlock(),e.createElementBlock("span",ko,[J(_(o.icon))?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:_(o.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",yo,e.toDisplayString(H(o.menuName)),1))])):e.createCommentVNode("",!0),e.createElementVNode("span",wo,e.toDisplayString(o.menuName),1)])]),_:2},1032,["index"]))],64))),128))]),_:1},8,["model-value","background-color","text-color","active-text-color"]),e.createElementVNode("div",xo,[e.createElementVNode("div",{class:"top-menu__search",ref_key:"searchRef",ref:K},[e.createVNode(e.unref(A.Icon),{name:"search",size:14,class:"top-menu__search-icon"}),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":l[0]||(l[0]=o=>z.value=o),type:"text",class:"top-menu__search-input",placeholder:"搜索菜单...",onFocus:l[1]||(l[1]=o=>w.value=!0)},null,544),[[e.vModelText,z.value]]),e.createVNode(e.Transition,{name:"search-dropdown"},{default:e.withCtx(()=>[w.value&&(k.value.length>0||z.value)?(e.openBlock(),e.createElementBlock("div",Bo,[k.value.length>0?(e.openBlock(),e.createElementBlock("div",Co,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k.value,o=>(e.openBlock(),e.createElementBlock("div",{key:o.path,class:"top-menu__search-item",onClick:r=>Ee(o.path)},[o.title!=="首页"?(e.openBlock(),e.createElementBlock("span",$o,[J(_(o.icon))?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:_(o.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",So,e.toDisplayString(H(o.title)),1))])):e.createCommentVNode("",!0),e.createElementVNode("span",Io,e.toDisplayString(o.title),1),o.parentTitle?(e.openBlock(),e.createElementBlock("span",Do,e.toDisplayString(o.parentTitle),1)):e.createCommentVNode("",!0)],8,bo))),128))])):(e.openBlock(),e.createElementBlock("div",Mo," 未找到匹配的菜单 "))])):e.createCommentVNode("",!0)]),_:1})],512),e.createElementVNode("div",{class:"top-menu__action",onClick:ee,title:T.value?"退出全屏":"全屏"},[e.createVNode(e.unref(A.Icon),{name:T.value?"fullscreen-exit":"fullscreen",size:16},null,8,["name"])],8,Lo),e.createElementVNode("div",{class:"top-menu__action",onClick:re,title:"换肤设置"},[e.createVNode(e.unref(A.Icon),{name:"skin",size:16})]),e.createElementVNode("div",{class:"top-menu__action",onClick:L,title:"切换主题"},[e.createVNode(e.unref(A.Icon),{name:e.unref(f).isDark?"sun":"moon",size:16},null,8,["name"])]),e.createElementVNode("div",{class:"top-menu__user",ref_key:"dropdownRef",ref:Y},[e.createElementVNode("div",{class:"top-menu__user-trigger",onClick:e.withModifiers(q,["stop"])},[e.createElementVNode("div",To,[e.createElementVNode("span",null,e.toDisplayString(((d=e.unref(C).userName)==null?void 0:d.charAt(0))||"U"),1)]),e.createElementVNode("span",Ao,e.toDisplayString(e.unref(C).userName),1),e.createElementVNode("span",{class:e.normalizeClass(["top-menu__user-arrow",{"is-active":U.value}])},"▼",2)]),e.createVNode(e.Transition,{name:"dropdown"},{default:e.withCtx(()=>{var o;return[U.value?(e.openBlock(),e.createElementBlock("div",Uo,[e.createElementVNode("div",zo,[e.createElementVNode("div",Oo,[e.createElementVNode("span",null,e.toDisplayString(((o=e.unref(C).userName)==null?void 0:o.charAt(0))||"U"),1)]),e.createElementVNode("div",Fo,[e.createElementVNode("div",Ro,e.toDisplayString(e.unref(C).userName),1),e.createElementVNode("div",Po,e.toDisplayString(e.unref(C).departmentName),1)])]),l[8]||(l[8]=e.createElementVNode("div",{class:"top-menu__dropdown-divider"},null,-1)),e.createElementVNode("div",qo,[e.createElementVNode("div",{class:"top-menu__dropdown-item",onClick:Ie},[e.createVNode(e.unref(A.Icon),{name:"user",size:16}),l[4]||(l[4]=e.createElementVNode("span",null,"个人信息",-1))]),e.createElementVNode("div",{class:"top-menu__dropdown-item",onClick:xe},[e.createVNode(e.unref(A.Icon),{name:"lock",size:16}),l[5]||(l[5]=e.createElementVNode("span",null,"修改密码",-1))]),l[7]||(l[7]=e.createElementVNode("div",{class:"top-menu__dropdown-divider"},null,-1)),e.createElementVNode("div",{class:"top-menu__dropdown-item top-menu__dropdown-item--danger",onClick:W},[e.createVNode(e.unref(A.Icon),{name:"logout",size:16}),l[6]||(l[6]=e.createElementVNode("span",null,"退出登录",-1))])])])):e.createCommentVNode("",!0)]}),_:1})],512)]),e.createVNode(e.unref(oe.Drawer),{modelValue:D.value,"onUpdate:modelValue":l[2]||(l[2]=o=>D.value=o),title:"换肤设置",direction:"rtl",size:"320px"},{default:e.withCtx(()=>[e.createElementVNode("div",jo,[e.createElementVNode("div",Ho,[l[12]||(l[12]=e.createElementVNode("div",{class:"settings-title"},"布局模式",-1)),e.createElementVNode("div",Go,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(be,o=>e.createElementVNode("div",{key:o.value,class:e.normalizeClass(["layout-option",{"is-active":Ve.value===o.value}]),onClick:r=>$e(o.value)},[e.createElementVNode("div",Wo,[o.value==="sidebar"?(e.openBlock(),e.createElementBlock("div",Xo,[...l[9]||(l[9]=[e.createElementVNode("div",{class:"preview-aside"},null,-1),e.createElementVNode("div",{class:"preview-main"},[e.createElementVNode("div",{class:"preview-header"}),e.createElementVNode("div",{class:"preview-content"})],-1)])])):o.value==="top"?(e.openBlock(),e.createElementBlock("div",Yo,[...l[10]||(l[10]=[e.createElementVNode("div",{class:"preview-header-full"},null,-1),e.createElementVNode("div",{class:"preview-content-full"},null,-1)])])):(e.openBlock(),e.createElementBlock("div",Jo,[...l[11]||(l[11]=[e.createElementVNode("div",{class:"preview-header-mix"},[e.createElementVNode("div",{class:"preview-mix-left"})],-1),e.createElementVNode("div",{class:"preview-mix-body"},[e.createElementVNode("div",{class:"preview-mix-aside"}),e.createElementVNode("div",{class:"preview-mix-content"})],-1)])]))]),e.createElementVNode("span",Zo,e.toDisplayString(o.label),1)],10,Ko)),64))])]),e.createElementVNode("div",Qo,[l[13]||(l[13]=e.createElementVNode("div",{class:"settings-title"},"主题色",-1)),e.createElementVNode("div",vo,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(I,o=>e.createElementVNode("div",{key:o.value,class:e.normalizeClass(["color-option",{"is-active":e.unref(f).primaryColor===o.value}]),style:e.normalizeStyle({backgroundColor:o.value}),title:o.label,onClick:r=>Se(o.value)},[e.unref(f).primaryColor===o.value?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:"check",size:12,color:"#fff"})):e.createCommentVNode("",!0)],14,el)),64))])]),e.createElementVNode("div",tl,[l[18]||(l[18]=e.createElementVNode("div",{class:"settings-title"},"功能设置",-1)),e.createElementVNode("div",nl,[e.createElementVNode("div",ol,[l[15]||(l[15]=e.createElementVNode("span",null,"灰色模式",-1)),e.createElementVNode("div",{class:e.normalizeClass(["switch-wrapper",{"is-checked":B.value}]),onClick:he},[...l[14]||(l[14]=[e.createElementVNode("span",{class:"switch-core"},null,-1)])],2)]),e.createElementVNode("div",ll,[l[17]||(l[17]=e.createElementVNode("span",null,"暗黑模式",-1)),e.createElementVNode("div",{class:e.normalizeClass(["switch-wrapper",{"is-checked":e.unref(f).isDark}]),onClick:me},[...l[16]||(l[16]=[e.createElementVNode("span",{class:"switch-core"},null,-1)])],2)])])])])]),_:1},8,["modelValue"])])}}}),[["__scopeId","data-v-5b8c9d39"]]),rl={class:"mix-top-menu"},al={class:"mix-top-menu__logo"},il={class:"mix-top-menu__logo-text"},cl={class:"mix-top-menu__menu-content"},dl={key:0,class:"mix-top-menu__menu-icon"},ml={key:1,class:"mix-top-menu__menu-char"},pl={class:"mix-top-menu__menu-text"},fl={class:"mix-top-menu__actions"},ul={key:0,class:"mix-top-menu__search-dropdown"},hl={key:0,class:"mix-top-menu__search-results"},gl=["onClick"],_l={key:0,class:"mix-top-menu__search-icon-item"},Nl={key:1,class:"mix-top-menu__search-char"},El={class:"mix-top-menu__search-item-title"},Vl={key:1,class:"mix-top-menu__search-item-parent"},kl={key:1,class:"mix-top-menu__search-empty"},yl=["title"],wl={class:"mix-top-menu__avatar"},xl={class:"mix-top-menu__user-name"},Bl={key:0,class:"mix-top-menu__dropdown"},Cl={class:"mix-top-menu__dropdown-header"},bl={class:"mix-top-menu__dropdown-avatar"},$l={class:"mix-top-menu__dropdown-info"},Sl={class:"mix-top-menu__dropdown-name"},Il={class:"mix-top-menu__dropdown-role"},Dl={class:"mix-top-menu__dropdown-menu"},Ml={class:"settings-drawer"},Ll={class:"settings-section"},Tl={class:"settings-layout-options"},Al=["onClick"],Ul={class:"layout-option__preview"},zl={key:0,class:"layout-preview-sidebar"},Ol={key:1,class:"layout-preview-top"},Fl={key:2,class:"layout-preview-mix"},Rl={class:"layout-option__label"},Pl={class:"settings-section"},ql={class:"settings-color-options"},jl=["title","onClick"],Hl={class:"settings-section"},Gl={class:"settings-switch-list"},Kl={class:"settings-switch-item"},Wl={class:"settings-switch-item"},Xl=fe(e.defineComponent({__name:"MixTopMenu",setup(s){const u=ce.useRoute(),E=ce.useRouter(),m=De(),f=Ce(),C=ke(),V=Le(),g=e.ref(""),x=(o,r="")=>{const p=[];return o.forEach(a=>{a.children&&a.children.length>0?p.push(...x(a.children,a.menuName)):p.push({...a,parentTitle:r,title:a.menuName,path:a.menuUrl})}),p},k=e.computed(()=>_.value.trim()?x(m.menuList).filter(r=>r.title.toLowerCase().includes(_.value.toLowerCase())):[]),y=e.computed(()=>{const o=m.menuList.find(r=>r.menuUrl===g.value);return(o==null?void 0:o.children)||[]}),M=e.computed(()=>m.menuList.find(o=>!!(u.path===o.menuUrl||o.children&&o.children.some(r=>u.path.startsWith(r.menuUrl)||u.path===r.menuUrl)))),S=()=>{M.value?g.value=M.value.menuUrl:m.menuList.length>0&&(g.value=m.menuList[0].menuUrl)},U=o=>{g.value=o;const r=m.menuList.find(p=>p.menuUrl===o);if(r)if(r.children&&r.children.length>0){const p=r.children[0].menuUrl;u.path!==p&&E.push(p)}else u.path!==o&&E.push(o)},Y=e.computed(()=>f.isDark?"#1d1e1f":"#fff"),T=e.computed(()=>f.isDark?"#cfd3dc":"#303133"),D=e.computed(()=>"#409eff"),B=e.ref(!1),w=e.ref(null),z=e.ref(!1),K=e.ref(!1),R=e.ref(!1),i=e.ref(!1),_=e.ref(""),H=e.ref(null);e.watch(()=>u.path,()=>{S(),f.setMixSubMenus(y.value)}),e.watch(()=>m.menuList,o=>{o&&o.length>0&&(S(),f.setMixSubMenus(y.value))},{immediate:!0});const J=new Set(["arrow-up","arrow-down","arrow-left","arrow-right","caret-down","caret-right","plus","minus","close","check","edit","delete","copy","download","upload","refresh","search","filter","more","setting","share","loading","info","success","warning","error","question","user","user-add","user-group","logout","login","file","folder","folder-open","document","image","video","music","camera","mail","phone","chat","bell","message","eye","eye-off","calendar","clock","history","timer","location","map","globe","star","heart","thumb-up","link","external-link","lock","unlock","key","home","menu","menu-fold","menu-unfold","sidebar-fold","sidebar-expand","sidebar-left","dashboard","chart","chart-pie","chart-line","report","analytics","system","permission","role","user-manage","log","notification","app","list","grid","fullscreen","fullscreen-exit","zoom-in","zoom-out","print","bookmark","tag","code","terminal","database","server","cloud","gift","moon","sun","theme","skin"]),L=o=>{if(!o||o==="")return"";if(o.startsWith("tineco-icon-")){const p=o.replace("tineco-icon-","");return{home:"home",dashboard:"dashboard",system:"system",user:"user",role:"role",menu:"list",setting:"setting",file:"file",folder:"folder",chart:"chart",report:"report",analytics:"analytics"}[p]||p}return{dashboard:"dashboard",system:"system",user:"user",role:"role",menu:"list",setting:"setting",home:"home",chart:"chart",report:"report",analytics:"analytics",permission:"permission",log:"log",notification:"notification",app:"app",list:"list",grid:"grid"}[o]||o},ee=o=>o?o.charAt(0):"",Z=o=>J.has(o),q=()=>{f.toggleTheme(),K.value=!1},ne=()=>{document.fullscreenElement?document.exitFullscreen():document.documentElement.requestFullscreen()},se=()=>{z.value=!!document.fullscreenElement},Ee=()=>{B.value=!B.value},re=()=>{B.value=!1},ue=()=>{i.value=!1,_.value=""},he=o=>{E.push(o),ue()},me=()=>{K.value=!0},be=o=>{R.value=o;const r=document.documentElement;o?r.classList.add("grey-mode"):r.classList.remove("grey-mode")},Ve=()=>{be(!R.value),K.value=!1},$e=()=>{f.toggleTheme(),K.value=!1},I=[{value:"sidebar",label:"左侧菜单",icon:"sidebar-left"},{value:"top",label:"顶部菜单",icon:"menu"},{value:"mix",label:"混合菜单",icon:"grid"}],Se=e.computed(()=>f.layout),Ie=o=>{f.setLayout(o),K.value=!1},xe=[{value:"#409eff",label:"默认蓝"},{value:"#1890ff",label:"科技蓝"},{value:"#52c41a",label:"极光绿"},{value:"#faad14",label:"日落橙"},{value:"#f5222d",label:"薄暮红"},{value:"#722ed1",label:"酱紫"}],W=o=>{f.setPrimaryColor(o),K.value=!1},O=()=>{re(),E.push("/profile")},n=()=>{re(),E.push("/change-password")},t=()=>{re(),V.logout(),C.clearUserInfo(),m.clearMenu(),E.push("/login")},l=o=>{w.value&&!w.value.contains(o.target)&&re(),H.value&&!H.value.contains(o.target)&&ue()},d=o=>{o.key==="Escape"&&(ue(),re())};return e.onMounted(()=>{document.addEventListener("click",l),document.addEventListener("fullscreenchange",se),document.addEventListener("keydown",d),R.value=document.documentElement.classList.contains("grey-mode"),S()}),e.onUnmounted(()=>{document.removeEventListener("click",l),document.removeEventListener("fullscreenchange",se),document.removeEventListener("keydown",d)}),(o,r)=>{var p;return e.openBlock(),e.createElementBlock("div",rl,[e.createElementVNode("div",al,[r[3]||(r[3]=e.createElementVNode("img",{src:Je,alt:"Logo",class:"mix-top-menu__logo-img"},null,-1)),e.createElementVNode("span",il,e.toDisplayString(e.unref(f).appName),1)]),e.createVNode(e.unref(_e.Menu),{"model-value":g.value,mode:"horizontal","background-color":Y.value,"text-color":T.value,"active-text-color":D.value,class:"mix-top-menu__menu",onSelect:U},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(m).menuList,a=>(e.openBlock(),e.createBlock(e.unref(_e.MenuItem),{key:a.menuUrl,index:a.menuUrl},{default:e.withCtx(()=>[e.createElementVNode("span",cl,[a.menuName!=="首页"?(e.openBlock(),e.createElementBlock("span",dl,[Z(L(a.icon))?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:L(a.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",ml,e.toDisplayString(ee(a.menuName)),1))])):e.createCommentVNode("",!0),e.createElementVNode("span",pl,e.toDisplayString(a.menuName),1)])]),_:2},1032,["index"]))),128))]),_:1},8,["model-value","background-color","text-color","active-text-color"]),e.createElementVNode("div",fl,[e.createElementVNode("div",{class:"mix-top-menu__search",ref_key:"searchRef",ref:H},[e.createVNode(e.unref(A.Icon),{name:"search",size:14,class:"mix-top-menu__search-icon"}),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":r[0]||(r[0]=a=>_.value=a),type:"text",class:"mix-top-menu__search-input",placeholder:"搜索菜单...",onFocus:r[1]||(r[1]=a=>i.value=!0)},null,544),[[e.vModelText,_.value]]),e.createVNode(e.Transition,{name:"search-dropdown"},{default:e.withCtx(()=>[i.value&&(k.value.length>0||_.value)?(e.openBlock(),e.createElementBlock("div",ul,[k.value.length>0?(e.openBlock(),e.createElementBlock("div",hl,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k.value,a=>(e.openBlock(),e.createElementBlock("div",{key:a.path,class:"mix-top-menu__search-item",onClick:c=>he(a.path)},[a.title!=="首页"?(e.openBlock(),e.createElementBlock("span",_l,[Z(L(a.icon))?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:L(a.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",Nl,e.toDisplayString(ee(a.title)),1))])):e.createCommentVNode("",!0),e.createElementVNode("span",El,e.toDisplayString(a.title),1),a.parentTitle?(e.openBlock(),e.createElementBlock("span",Vl,e.toDisplayString(a.parentTitle),1)):e.createCommentVNode("",!0)],8,gl))),128))])):(e.openBlock(),e.createElementBlock("div",kl," 未找到匹配的菜单 "))])):e.createCommentVNode("",!0)]),_:1})],512),e.createElementVNode("div",{class:"mix-top-menu__action",onClick:ne,title:z.value?"退出全屏":"全屏"},[e.createVNode(e.unref(A.Icon),{name:z.value?"fullscreen-exit":"fullscreen",size:16},null,8,["name"])],8,yl),e.createElementVNode("div",{class:"mix-top-menu__action",onClick:me,title:"换肤设置"},[e.createVNode(e.unref(A.Icon),{name:"skin",size:16})]),e.createElementVNode("div",{class:"mix-top-menu__action",onClick:q,title:"切换主题"},[e.createVNode(e.unref(A.Icon),{name:e.unref(f).isDark?"sun":"moon",size:16},null,8,["name"])]),e.createElementVNode("div",{class:"mix-top-menu__user",ref_key:"dropdownRef",ref:w},[e.createElementVNode("div",{class:"mix-top-menu__user-trigger",onClick:e.withModifiers(Ee,["stop"])},[e.createElementVNode("div",wl,[e.createElementVNode("span",null,e.toDisplayString(((p=e.unref(C).userName)==null?void 0:p.charAt(0))||"U"),1)]),e.createElementVNode("span",xl,e.toDisplayString(e.unref(C).userName),1),e.createElementVNode("span",{class:e.normalizeClass(["mix-top-menu__user-arrow",{"is-active":B.value}])},"▼",2)]),e.createVNode(e.Transition,{name:"dropdown"},{default:e.withCtx(()=>{var a;return[B.value?(e.openBlock(),e.createElementBlock("div",Bl,[e.createElementVNode("div",Cl,[e.createElementVNode("div",bl,[e.createElementVNode("span",null,e.toDisplayString(((a=e.unref(C).userName)==null?void 0:a.charAt(0))||"U"),1)]),e.createElementVNode("div",$l,[e.createElementVNode("div",Sl,e.toDisplayString(e.unref(C).userName),1),e.createElementVNode("div",Il,e.toDisplayString(e.unref(C).departmentName),1)])]),r[8]||(r[8]=e.createElementVNode("div",{class:"mix-top-menu__dropdown-divider"},null,-1)),e.createElementVNode("div",Dl,[e.createElementVNode("div",{class:"mix-top-menu__dropdown-item",onClick:O},[e.createVNode(e.unref(A.Icon),{name:"user",size:16}),r[4]||(r[4]=e.createElementVNode("span",null,"个人信息",-1))]),e.createElementVNode("div",{class:"mix-top-menu__dropdown-item",onClick:n},[e.createVNode(e.unref(A.Icon),{name:"lock",size:16}),r[5]||(r[5]=e.createElementVNode("span",null,"修改密码",-1))]),r[7]||(r[7]=e.createElementVNode("div",{class:"mix-top-menu__dropdown-divider"},null,-1)),e.createElementVNode("div",{class:"mix-top-menu__dropdown-item mix-top-menu__dropdown-item--danger",onClick:t},[e.createVNode(e.unref(A.Icon),{name:"logout",size:16}),r[6]||(r[6]=e.createElementVNode("span",null,"退出登录",-1))])])])):e.createCommentVNode("",!0)]}),_:1})],512)]),e.createVNode(e.unref(oe.Drawer),{modelValue:K.value,"onUpdate:modelValue":r[2]||(r[2]=a=>K.value=a),title:"换肤设置",direction:"rtl",size:"320px"},{default:e.withCtx(()=>[e.createElementVNode("div",Ml,[e.createElementVNode("div",Ll,[r[12]||(r[12]=e.createElementVNode("div",{class:"settings-title"},"布局模式",-1)),e.createElementVNode("div",Tl,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(I,a=>e.createElementVNode("div",{key:a.value,class:e.normalizeClass(["layout-option",{"is-active":Se.value===a.value}]),onClick:c=>Ie(a.value)},[e.createElementVNode("div",Ul,[a.value==="sidebar"?(e.openBlock(),e.createElementBlock("div",zl,[...r[9]||(r[9]=[e.createElementVNode("div",{class:"preview-aside"},null,-1),e.createElementVNode("div",{class:"preview-main"},[e.createElementVNode("div",{class:"preview-header"}),e.createElementVNode("div",{class:"preview-content"})],-1)])])):a.value==="top"?(e.openBlock(),e.createElementBlock("div",Ol,[...r[10]||(r[10]=[e.createElementVNode("div",{class:"preview-header-full"},null,-1),e.createElementVNode("div",{class:"preview-content-full"},null,-1)])])):(e.openBlock(),e.createElementBlock("div",Fl,[...r[11]||(r[11]=[e.createElementVNode("div",{class:"preview-header-mix"},[e.createElementVNode("div",{class:"preview-mix-left"})],-1),e.createElementVNode("div",{class:"preview-mix-body"},[e.createElementVNode("div",{class:"preview-mix-aside"}),e.createElementVNode("div",{class:"preview-mix-content"})],-1)])]))]),e.createElementVNode("span",Rl,e.toDisplayString(a.label),1)],10,Al)),64))])]),e.createElementVNode("div",Pl,[r[13]||(r[13]=e.createElementVNode("div",{class:"settings-title"},"主题色",-1)),e.createElementVNode("div",ql,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(xe,a=>e.createElementVNode("div",{key:a.value,class:e.normalizeClass(["color-option",{"is-active":e.unref(f).primaryColor===a.value}]),style:e.normalizeStyle({backgroundColor:a.value}),title:a.label,onClick:c=>W(a.value)},[e.unref(f).primaryColor===a.value?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:"check",size:12,color:"#fff"})):e.createCommentVNode("",!0)],14,jl)),64))])]),e.createElementVNode("div",Hl,[r[18]||(r[18]=e.createElementVNode("div",{class:"settings-title"},"功能设置",-1)),e.createElementVNode("div",Gl,[e.createElementVNode("div",Kl,[r[15]||(r[15]=e.createElementVNode("span",null,"灰色模式",-1)),e.createElementVNode("div",{class:e.normalizeClass(["switch-wrapper",{"is-checked":R.value}]),onClick:Ve},[...r[14]||(r[14]=[e.createElementVNode("span",{class:"switch-core"},null,-1)])],2)]),e.createElementVNode("div",Wl,[r[17]||(r[17]=e.createElementVNode("span",null,"暗黑模式",-1)),e.createElementVNode("div",{class:e.normalizeClass(["switch-wrapper",{"is-checked":e.unref(f).isDark}]),onClick:$e},[...r[16]||(r[16]=[e.createElementVNode("span",{class:"switch-core"},null,-1)])],2)])])])])]),_:1},8,["modelValue"])])}}}),[["__scopeId","data-v-25806305"]]),Yl={key:0,class:"layout layout--sidebar"},Jl={class:"layout__main"},Zl={class:"layout__header"},Ql={class:"layout__content"},vl={key:1,class:"layout layout--top"},es={class:"layout__top-menu"},ts={class:"layout__main"},ns={class:"layout__content"},os={key:2,class:"layout layout--mix"},ls={class:"layout__mix-top-menu"},ss={class:"layout__mix-body"},rs={class:"layout__content"},at=fe(e.defineComponent({__name:"index",setup(s){const u=Ce(),E=De(),m=e.computed(()=>u.isCollapsed?"64px":"210px"),f=e.computed(()=>u.layout),C=e.computed(()=>f.value==="mix"),V=e.computed(()=>f.value==="sidebar"?E.menuList:f.value==="mix"?u.mixSubMenus:[]),g=e.computed(()=>C.value?V.value.length>0:!1);return(x,k)=>{const y=e.resolveComponent("router-view");return e.openBlock(),e.createElementBlock(e.Fragment,null,[f.value==="sidebar"?(e.openBlock(),e.createElementBlock("div",Yl,[e.createElementVNode("aside",{class:"layout__aside",style:e.normalizeStyle({width:m.value})},[e.createVNode(rt,{"menu-list":V.value,"show-logo":!0,"show-user":!0},null,8,["menu-list"])],4),e.createElementVNode("div",Jl,[e.createElementVNode("header",Zl,[e.createVNode(bt)]),e.createElementVNode("main",Ql,[e.createVNode(y)])])])):e.createCommentVNode("",!0),f.value==="top"?(e.openBlock(),e.createElementBlock("div",vl,[e.createElementVNode("div",es,[e.createVNode(sl)]),e.createElementVNode("div",ts,[e.createElementVNode("main",ns,[e.createVNode(y)])])])):e.createCommentVNode("",!0),f.value==="mix"?(e.openBlock(),e.createElementBlock("div",os,[e.createElementVNode("div",ls,[e.createVNode(Xl)]),e.createElementVNode("div",ss,[g.value?(e.openBlock(),e.createElementBlock("aside",{key:0,class:"layout__aside",style:e.normalizeStyle({width:m.value})},[e.createVNode(rt,{"menu-list":V.value,"show-logo":!1,"show-user":!1},null,8,["menu-list"])],4)):e.createCommentVNode("",!0),e.createElementVNode("main",rs,[e.createVNode(y)])])])):e.createCommentVNode("",!0)],64)}}}),[["__scopeId","data-v-fb6a0b14"]]),as=Object.freeze(Object.defineProperty({__proto__:null,default:at},Symbol.toStringTag,{value:"Module"})),is={class:"tabs-wrapper"},cs={class:"tab-label"},ds=["onClick"],ms=fe(e.defineComponent({__name:"Tabs",setup(s){const u=ce.useRoute(),E=ce.useRouter(),m=e.computed(()=>{const g=[];return u.matched.forEach(x=>{var k;(k=x.meta)!=null&&k.affix&&g.push({name:x.name,title:x.meta.title,path:x.path,affix:!0})}),g}),f=e.computed(()=>u.path),C=g=>{E.push(g)},V=g=>{const x=m.value.find(k=>k.path===g);if(!(x!=null&&x.affix)&&g===f.value){const k=m.value.findIndex(M=>M.path===g),y=m.value[k-1]||m.value[k+1];y&&E.push(y.path)}};return(g,x)=>(e.openBlock(),e.createElementBlock("div",is,[e.createVNode(e.unref(_e.Tabs),{modelValue:f.value,"onUpdate:modelValue":x[0]||(x[0]=k=>f.value=k),type:"card",onTabClick:C},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,k=>(e.openBlock(),e.createBlock(e.unref(_e.TabPane),{key:k.path,name:k.path,label:k.title,closable:!k.affix},{label:e.withCtx(()=>[e.createElementVNode("span",cs,[e.createTextVNode(e.toDisplayString(k.title)+" ",1),k.affix?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",{key:0,class:"tab-close",onClick:e.withModifiers(y=>V(k.path),["stop"])}," ✕ ",8,ds))])]),_:2},1032,["name","label","closable"]))),128))]),_:1},8,["modelValue"])]))}}),[["__scopeId","data-v-9156d8cd"]]),ps={},fs={class:"footer"};function us(s,u){return e.openBlock(),e.createElementBlock("div",fs,[...u[0]||(u[0]=[e.createElementVNode("span",null,"Copyright © 2024 Xto Demo. All Rights Reserved.",-1)])])}const hs=fe(ps,[["render",us],["__scopeId","data-v-4852826a"]]);var gs=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function _s(s){return s&&s.__esModule&&Object.prototype.hasOwnProperty.call(s,"default")?s.default:s}var Ge={exports:{}},$t={exports:{}},St={exports:{}};(function(s){(function(u){var E,m=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,f=Math.ceil,C=Math.floor,V="[BigNumber Error] ",g=V+"Number primitive has more than 15 significant digits: ",x=1e14,k=14,y=9007199254740991,M=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],S=1e7,U=1e9;function Y(i){var _,H,J,L=I.prototype={constructor:I,toString:null,valueOf:null},ee=new I(1),Z=20,q=4,ne=-7,se=21,Ee=-1e7,re=1e7,ue=!1,he=1,me=0,be={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:" ",suffix:""},Ve="0123456789abcdefghijklmnopqrstuvwxyz",$e=!0;function I(n,t){var l,d,o,r,p,a,c,N,h=this;if(!(h instanceof I))return new I(n,t);if(t==null){if(n&&n._isBigNumber===!0){h.s=n.s,!n.c||n.e>re?h.c=h.e=null:n.e<Ee?h.c=[h.e=0]:(h.e=n.e,h.c=n.c.slice());return}if((a=typeof n=="number")&&n*0==0){if(h.s=1/n<0?(n=-n,-1):1,n===~~n){for(r=0,p=n;p>=10;p/=10,r++);r>re?h.c=h.e=null:(h.e=r,h.c=[n]);return}N=String(n)}else{if(!m.test(N=String(n)))return J(h,N,a);h.s=N.charCodeAt(0)==45?(N=N.slice(1),-1):1}(r=N.indexOf("."))>-1&&(N=N.replace(".","")),(p=N.search(/e/i))>0?(r<0&&(r=p),r+=+N.slice(p+1),N=N.substring(0,p)):r<0&&(r=N.length)}else{if(w(t,2,Ve.length,"Base"),t==10&&$e)return h=new I(n),W(h,Z+h.e+1,q);if(N=String(n),a=typeof n=="number"){if(n*0!=0)return J(h,N,a,t);if(h.s=1/n<0?(N=N.slice(1),-1):1,I.DEBUG&&N.replace(/^0\.0*|\./,"").length>15)throw Error(g+n)}else h.s=N.charCodeAt(0)===45?(N=N.slice(1),-1):1;for(l=Ve.slice(0,t),r=p=0,c=N.length;p<c;p++)if(l.indexOf(d=N.charAt(p))<0){if(d=="."){if(p>r){r=c;continue}}else if(!o&&(N==N.toUpperCase()&&(N=N.toLowerCase())||N==N.toLowerCase()&&(N=N.toUpperCase()))){o=!0,p=-1,r=0;continue}return J(h,String(n),a,t)}a=!1,N=H(N,t,10,h.s),(r=N.indexOf("."))>-1?N=N.replace(".",""):r=N.length}for(p=0;N.charCodeAt(p)===48;p++);for(c=N.length;N.charCodeAt(--c)===48;);if(N=N.slice(p,++c)){if(c-=p,a&&I.DEBUG&&c>15&&(n>y||n!==C(n)))throw Error(g+h.s*n);if((r=r-p-1)>re)h.c=h.e=null;else if(r<Ee)h.c=[h.e=0];else{if(h.e=r,h.c=[],p=(r+1)%k,r<0&&(p+=k),p<c){for(p&&h.c.push(+N.slice(0,p)),c-=k;p<c;)h.c.push(+N.slice(p,p+=k));p=k-(N=N.slice(p)).length}else p-=c;for(;p--;N+="0");h.c.push(+N)}}else h.c=[h.e=0]}I.clone=Y,I.ROUND_UP=0,I.ROUND_DOWN=1,I.ROUND_CEIL=2,I.ROUND_FLOOR=3,I.ROUND_HALF_UP=4,I.ROUND_HALF_DOWN=5,I.ROUND_HALF_EVEN=6,I.ROUND_HALF_CEIL=7,I.ROUND_HALF_FLOOR=8,I.EUCLID=9,I.config=I.set=function(n){var t,l;if(n!=null)if(typeof n=="object"){if(n.hasOwnProperty(t="DECIMAL_PLACES")&&(l=n[t],w(l,0,U,t),Z=l),n.hasOwnProperty(t="ROUNDING_MODE")&&(l=n[t],w(l,0,8,t),q=l),n.hasOwnProperty(t="EXPONENTIAL_AT")&&(l=n[t],l&&l.pop?(w(l[0],-U,0,t),w(l[1],0,U,t),ne=l[0],se=l[1]):(w(l,-U,U,t),ne=-(se=l<0?-l:l))),n.hasOwnProperty(t="RANGE"))if(l=n[t],l&&l.pop)w(l[0],-U,-1,t),w(l[1],1,U,t),Ee=l[0],re=l[1];else if(w(l,-U,U,t),l)Ee=-(re=l<0?-l:l);else throw Error(V+t+" cannot be zero: "+l);if(n.hasOwnProperty(t="CRYPTO"))if(l=n[t],l===!!l)if(l)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))ue=l;else throw ue=!l,Error(V+"crypto unavailable");else ue=l;else throw Error(V+t+" not true or false: "+l);if(n.hasOwnProperty(t="MODULO_MODE")&&(l=n[t],w(l,0,9,t),he=l),n.hasOwnProperty(t="POW_PRECISION")&&(l=n[t],w(l,0,U,t),me=l),n.hasOwnProperty(t="FORMAT"))if(l=n[t],typeof l=="object")be=l;else throw Error(V+t+" not an object: "+l);if(n.hasOwnProperty(t="ALPHABET"))if(l=n[t],typeof l=="string"&&!/^.?$|[+\-.\s]|(.).*\1/.test(l))$e=l.slice(0,10)=="0123456789",Ve=l;else throw Error(V+t+" invalid: "+l)}else throw Error(V+"Object expected: "+n);return{DECIMAL_PLACES:Z,ROUNDING_MODE:q,EXPONENTIAL_AT:[ne,se],RANGE:[Ee,re],CRYPTO:ue,MODULO_MODE:he,POW_PRECISION:me,FORMAT:be,ALPHABET:Ve}},I.isBigNumber=function(n){if(!n||n._isBigNumber!==!0)return!1;if(!I.DEBUG)return!0;var t,l,d=n.c,o=n.e,r=n.s;e:if({}.toString.call(d)=="[object Array]"){if((r===1||r===-1)&&o>=-U&&o<=U&&o===C(o)){if(d[0]===0){if(o===0&&d.length===1)return!0;break e}if(t=(o+1)%k,t<1&&(t+=k),String(d[0]).length==t){for(t=0;t<d.length;t++)if(l=d[t],l<0||l>=x||l!==C(l))break e;if(l!==0)return!0}}}else if(d===null&&o===null&&(r===null||r===1||r===-1))return!0;throw Error(V+"Invalid BigNumber: "+n)},I.maximum=I.max=function(){return Ie(arguments,-1)},I.minimum=I.min=function(){return Ie(arguments,1)},I.random=function(){var n=9007199254740992,t=Math.random()*n&2097151?function(){return C(Math.random()*n)}:function(){return(Math.random()*1073741824|0)*8388608+(Math.random()*8388608|0)};return function(l){var d,o,r,p,a,c=0,N=[],h=new I(ee);if(l==null?l=Z:w(l,0,U),p=f(l/k),ue)if(crypto.getRandomValues){for(d=crypto.getRandomValues(new Uint32Array(p*=2));c<p;)a=d[c]*131072+(d[c+1]>>>11),a>=9e15?(o=crypto.getRandomValues(new Uint32Array(2)),d[c]=o[0],d[c+1]=o[1]):(N.push(a%1e14),c+=2);c=p/2}else if(crypto.randomBytes){for(d=crypto.randomBytes(p*=7);c<p;)a=(d[c]&31)*281474976710656+d[c+1]*1099511627776+d[c+2]*4294967296+d[c+3]*16777216+(d[c+4]<<16)+(d[c+5]<<8)+d[c+6],a>=9e15?crypto.randomBytes(7).copy(d,c):(N.push(a%1e14),c+=7);c=p/7}else throw ue=!1,Error(V+"crypto unavailable");if(!ue)for(;c<p;)a=t(),a<9e15&&(N[c++]=a%1e14);for(p=N[--c],l%=k,p&&l&&(a=M[k-l],N[c]=C(p/a)*a);N[c]===0;N.pop(),c--);if(c<0)N=[r=0];else{for(r=-1;N[0]===0;N.splice(0,1),r-=k);for(c=1,a=N[0];a>=10;a/=10,c++);c<k&&(r-=k-c)}return h.e=r,h.c=N,h}}(),I.sum=function(){for(var n=1,t=arguments,l=new I(t[0]);n<t.length;)l=l.plus(t[n++]);return l},H=function(){var n="0123456789";function t(l,d,o,r){for(var p,a=[0],c,N=0,h=l.length;N<h;){for(c=a.length;c--;a[c]*=d);for(a[0]+=r.indexOf(l.charAt(N++)),p=0;p<a.length;p++)a[p]>o-1&&(a[p+1]==null&&(a[p+1]=0),a[p+1]+=a[p]/o|0,a[p]%=o)}return a.reverse()}return function(l,d,o,r,p){var a,c,N,h,b,P,j,v,ae=l.indexOf("."),de=Z,Q=q;for(ae>=0&&(h=me,me=0,l=l.replace(".",""),v=new I(d),P=v.pow(l.length-ae),me=h,v.c=t(R(D(P.c),P.e,"0"),10,o,n),v.e=v.c.length),j=t(l,d,o,p?(a=Ve,n):(a=n,Ve)),N=h=j.length;j[--h]==0;j.pop());if(!j[0])return a.charAt(0);if(ae<0?--N:(P.c=j,P.e=N,P.s=r,P=_(P,v,de,Q,o),j=P.c,b=P.r,N=P.e),c=N+de+1,ae=j[c],h=o/2,b=b||c<0||j[c+1]!=null,b=Q<4?(ae!=null||b)&&(Q==0||Q==(P.s<0?3:2)):ae>h||ae==h&&(Q==4||b||Q==6&&j[c-1]&1||Q==(P.s<0?8:7)),c<1||!j[0])l=b?R(a.charAt(1),-de,a.charAt(0)):a.charAt(0);else{if(j.length=c,b)for(--o;++j[--c]>o;)j[c]=0,c||(++N,j=[1].concat(j));for(h=j.length;!j[--h];);for(ae=0,l="";ae<=h;l+=a.charAt(j[ae++]));l=R(l,N,a.charAt(0))}return l}}(),_=function(){function n(d,o,r){var p,a,c,N,h=0,b=d.length,P=o%S,j=o/S|0;for(d=d.slice();b--;)c=d[b]%S,N=d[b]/S|0,p=j*c+N*P,a=P*c+p%S*S+h,h=(a/r|0)+(p/S|0)+j*N,d[b]=a%r;return h&&(d=[h].concat(d)),d}function t(d,o,r,p){var a,c;if(r!=p)c=r>p?1:-1;else for(a=c=0;a<r;a++)if(d[a]!=o[a]){c=d[a]>o[a]?1:-1;break}return c}function l(d,o,r,p){for(var a=0;r--;)d[r]-=a,a=d[r]<o[r]?1:0,d[r]=a*p+d[r]-o[r];for(;!d[0]&&d.length>1;d.splice(0,1));}return function(d,o,r,p,a){var c,N,h,b,P,j,v,ae,de,Q,te,pe,We,pt,ft,Be,Re,ye=d.s==o.s?1:-1,ge=d.c,ie=o.c;if(!ge||!ge[0]||!ie||!ie[0])return new I(!d.s||!o.s||(ge?ie&&ge[0]==ie[0]:!ie)?NaN:ge&&ge[0]==0||!ie?ye*0:ye/0);for(ae=new I(ye),de=ae.c=[],N=d.e-o.e,ye=r+N+1,a||(a=x,N=T(d.e/k)-T(o.e/k),ye=ye/k|0),h=0;ie[h]==(ge[h]||0);h++);if(ie[h]>(ge[h]||0)&&N--,ye<0)de.push(1),b=!0;else{for(pt=ge.length,Be=ie.length,h=0,ye+=2,P=C(a/(ie[0]+1)),P>1&&(ie=n(ie,P,a),ge=n(ge,P,a),Be=ie.length,pt=ge.length),We=Be,Q=ge.slice(0,Be),te=Q.length;te<Be;Q[te++]=0);Re=ie.slice(),Re=[0].concat(Re),ft=ie[0],ie[1]>=a/2&&ft++;do{if(P=0,c=t(ie,Q,Be,te),c<0){if(pe=Q[0],Be!=te&&(pe=pe*a+(Q[1]||0)),P=C(pe/ft),P>1)for(P>=a&&(P=a-1),j=n(ie,P,a),v=j.length,te=Q.length;t(j,Q,v,te)==1;)P--,l(j,Be<v?Re:ie,v,a),v=j.length,c=1;else P==0&&(c=P=1),j=ie.slice(),v=j.length;if(v<te&&(j=[0].concat(j)),l(Q,j,te,a),te=Q.length,c==-1)for(;t(ie,Q,Be,te)<1;)P++,l(Q,Be<te?Re:ie,te,a),te=Q.length}else c===0&&(P++,Q=[0]);de[h++]=P,Q[0]?Q[te++]=ge[We]||0:(Q=[ge[We]],te=1)}while((We++<pt||Q[0]!=null)&&ye--);b=Q[0]!=null,de[0]||de.splice(0,1)}if(a==x){for(h=1,ye=de[0];ye>=10;ye/=10,h++);W(ae,r+(ae.e=h+N*k-1)+1,p,b)}else ae.e=N,ae.r=+b;return ae}}();function Se(n,t,l,d){var o,r,p,a,c;if(l==null?l=q:w(l,0,8),!n.c)return n.toString();if(o=n.c[0],p=n.e,t==null)c=D(n.c),c=d==1||d==2&&(p<=ne||p>=se)?K(c,p):R(c,p,"0");else if(n=W(new I(n),t,l),r=n.e,c=D(n.c),a=c.length,d==1||d==2&&(t<=r||r<=ne)){for(;a<t;c+="0",a++);c=K(c,r)}else if(t-=p+(d===2&&r>p),c=R(c,r,"0"),r+1>a){if(--t>0)for(c+=".";t--;c+="0");}else if(t+=r-a,t>0)for(r+1==a&&(c+=".");t--;c+="0");return n.s<0&&o?"-"+c:c}function Ie(n,t){for(var l,d,o=1,r=new I(n[0]);o<n.length;o++)d=new I(n[o]),(!d.s||(l=B(r,d))===t||l===0&&r.s===t)&&(r=d);return r}function xe(n,t,l){for(var d=1,o=t.length;!t[--o];t.pop());for(o=t[0];o>=10;o/=10,d++);return(l=d+l*k-1)>re?n.c=n.e=null:l<Ee?n.c=[n.e=0]:(n.e=l,n.c=t),n}J=function(){var n=/^(-?)0([xbo])(?=\w[\w.]*$)/i,t=/^([^.]+)\.$/,l=/^\.([^.]+)$/,d=/^-?(Infinity|NaN)$/,o=/^\s*\+(?=[\w.])|^\s+|\s+$/g;return function(r,p,a,c){var N,h=a?p:p.replace(o,"");if(d.test(h))r.s=isNaN(h)?null:h<0?-1:1;else{if(!a&&(h=h.replace(n,function(b,P,j){return N=(j=j.toLowerCase())=="x"?16:j=="b"?2:8,!c||c==N?P:b}),c&&(N=c,h=h.replace(t,"$1").replace(l,"0.$1")),p!=h))return new I(h,N);if(I.DEBUG)throw Error(V+"Not a"+(c?" base "+c:"")+" number: "+p);r.s=null}r.c=r.e=null}}();function W(n,t,l,d){var o,r,p,a,c,N,h,b=n.c,P=M;if(b){e:{for(o=1,a=b[0];a>=10;a/=10,o++);if(r=t-o,r<0)r+=k,p=t,c=b[N=0],h=C(c/P[o-p-1]%10);else if(N=f((r+1)/k),N>=b.length)if(d){for(;b.length<=N;b.push(0));c=h=0,o=1,r%=k,p=r-k+1}else break e;else{for(c=a=b[N],o=1;a>=10;a/=10,o++);r%=k,p=r-k+o,h=p<0?0:C(c/P[o-p-1]%10)}if(d=d||t<0||b[N+1]!=null||(p<0?c:c%P[o-p-1]),d=l<4?(h||d)&&(l==0||l==(n.s<0?3:2)):h>5||h==5&&(l==4||d||l==6&&(r>0?p>0?c/P[o-p]:0:b[N-1])%10&1||l==(n.s<0?8:7)),t<1||!b[0])return b.length=0,d?(t-=n.e+1,b[0]=P[(k-t%k)%k],n.e=-t||0):b[0]=n.e=0,n;if(r==0?(b.length=N,a=1,N--):(b.length=N+1,a=P[k-r],b[N]=p>0?C(c/P[o-p]%P[p])*a:0),d)for(;;)if(N==0){for(r=1,p=b[0];p>=10;p/=10,r++);for(p=b[0]+=a,a=1;p>=10;p/=10,a++);r!=a&&(n.e++,b[0]==x&&(b[0]=1));break}else{if(b[N]+=a,b[N]!=x)break;b[N--]=0,a=1}for(r=b.length;b[--r]===0;b.pop());}n.e>re?n.c=n.e=null:n.e<Ee&&(n.c=[n.e=0])}return n}function O(n){var t,l=n.e;return l===null?n.toString():(t=D(n.c),t=l<=ne||l>=se?K(t,l):R(t,l,"0"),n.s<0?"-"+t:t)}return L.absoluteValue=L.abs=function(){var n=new I(this);return n.s<0&&(n.s=1),n},L.comparedTo=function(n,t){return B(this,new I(n,t))},L.decimalPlaces=L.dp=function(n,t){var l,d,o,r=this;if(n!=null)return w(n,0,U),t==null?t=q:w(t,0,8),W(new I(r),n+r.e+1,t);if(!(l=r.c))return null;if(d=((o=l.length-1)-T(this.e/k))*k,o=l[o])for(;o%10==0;o/=10,d--);return d<0&&(d=0),d},L.dividedBy=L.div=function(n,t){return _(this,new I(n,t),Z,q)},L.dividedToIntegerBy=L.idiv=function(n,t){return _(this,new I(n,t),0,1)},L.exponentiatedBy=L.pow=function(n,t){var l,d,o,r,p,a,c,N,h,b=this;if(n=new I(n),n.c&&!n.isInteger())throw Error(V+"Exponent not an integer: "+O(n));if(t!=null&&(t=new I(t)),a=n.e>14,!b.c||!b.c[0]||b.c[0]==1&&!b.e&&b.c.length==1||!n.c||!n.c[0])return h=new I(Math.pow(+O(b),a?n.s*(2-z(n)):+O(n))),t?h.mod(t):h;if(c=n.s<0,t){if(t.c?!t.c[0]:!t.s)return new I(NaN);d=!c&&b.isInteger()&&t.isInteger(),d&&(b=b.mod(t))}else{if(n.e>9&&(b.e>0||b.e<-1||(b.e==0?b.c[0]>1||a&&b.c[1]>=24e7:b.c[0]<8e13||a&&b.c[0]<=9999975e7)))return r=b.s<0&&z(n)?-0:0,b.e>-1&&(r=1/r),new I(c?1/r:r);me&&(r=f(me/k+2))}for(a?(l=new I(.5),c&&(n.s=1),N=z(n)):(o=Math.abs(+O(n)),N=o%2),h=new I(ee);;){if(N){if(h=h.times(b),!h.c)break;r?h.c.length>r&&(h.c.length=r):d&&(h=h.mod(t))}if(o){if(o=C(o/2),o===0)break;N=o%2}else if(n=n.times(l),W(n,n.e+1,1),n.e>14)N=z(n);else{if(o=+O(n),o===0)break;N=o%2}b=b.times(b),r?b.c&&b.c.length>r&&(b.c.length=r):d&&(b=b.mod(t))}return d?h:(c&&(h=ee.div(h)),t?h.mod(t):r?W(h,me,q,p):h)},L.integerValue=function(n){var t=new I(this);return n==null?n=q:w(n,0,8),W(t,t.e+1,n)},L.isEqualTo=L.eq=function(n,t){return B(this,new I(n,t))===0},L.isFinite=function(){return!!this.c},L.isGreaterThan=L.gt=function(n,t){return B(this,new I(n,t))>0},L.isGreaterThanOrEqualTo=L.gte=function(n,t){return(t=B(this,new I(n,t)))===1||t===0},L.isInteger=function(){return!!this.c&&T(this.e/k)>this.c.length-2},L.isLessThan=L.lt=function(n,t){return B(this,new I(n,t))<0},L.isLessThanOrEqualTo=L.lte=function(n,t){return(t=B(this,new I(n,t)))===-1||t===0},L.isNaN=function(){return!this.s},L.isNegative=function(){return this.s<0},L.isPositive=function(){return this.s>0},L.isZero=function(){return!!this.c&&this.c[0]==0},L.minus=function(n,t){var l,d,o,r,p=this,a=p.s;if(n=new I(n,t),t=n.s,!a||!t)return new I(NaN);if(a!=t)return n.s=-t,p.plus(n);var c=p.e/k,N=n.e/k,h=p.c,b=n.c;if(!c||!N){if(!h||!b)return h?(n.s=-t,n):new I(b?p:NaN);if(!h[0]||!b[0])return b[0]?(n.s=-t,n):new I(h[0]?p:q==3?-0:0)}if(c=T(c),N=T(N),h=h.slice(),a=c-N){for((r=a<0)?(a=-a,o=h):(N=c,o=b),o.reverse(),t=a;t--;o.push(0));o.reverse()}else for(d=(r=(a=h.length)<(t=b.length))?a:t,a=t=0;t<d;t++)if(h[t]!=b[t]){r=h[t]<b[t];break}if(r&&(o=h,h=b,b=o,n.s=-n.s),t=(d=b.length)-(l=h.length),t>0)for(;t--;h[l++]=0);for(t=x-1;d>a;){if(h[--d]<b[d]){for(l=d;l&&!h[--l];h[l]=t);--h[l],h[d]+=x}h[d]-=b[d]}for(;h[0]==0;h.splice(0,1),--N);return h[0]?xe(n,h,N):(n.s=q==3?-1:1,n.c=[n.e=0],n)},L.modulo=L.mod=function(n,t){var l,d,o=this;return n=new I(n,t),!o.c||!n.s||n.c&&!n.c[0]?new I(NaN):!n.c||o.c&&!o.c[0]?new I(o):(he==9?(d=n.s,n.s=1,l=_(o,n,0,3),n.s=d,l.s*=d):l=_(o,n,0,he),n=o.minus(l.times(n)),!n.c[0]&&he==1&&(n.s=o.s),n)},L.multipliedBy=L.times=function(n,t){var l,d,o,r,p,a,c,N,h,b,P,j,v,ae,de,Q=this,te=Q.c,pe=(n=new I(n,t)).c;if(!te||!pe||!te[0]||!pe[0])return!Q.s||!n.s||te&&!te[0]&&!pe||pe&&!pe[0]&&!te?n.c=n.e=n.s=null:(n.s*=Q.s,!te||!pe?n.c=n.e=null:(n.c=[0],n.e=0)),n;for(d=T(Q.e/k)+T(n.e/k),n.s*=Q.s,c=te.length,b=pe.length,c<b&&(v=te,te=pe,pe=v,o=c,c=b,b=o),o=c+b,v=[];o--;v.push(0));for(ae=x,de=S,o=b;--o>=0;){for(l=0,P=pe[o]%de,j=pe[o]/de|0,p=c,r=o+p;r>o;)N=te[--p]%de,h=te[p]/de|0,a=j*N+h*P,N=P*N+a%de*de+v[r]+l,l=(N/ae|0)+(a/de|0)+j*h,v[r--]=N%ae;v[r]=l}return l?++d:v.splice(0,1),xe(n,v,d)},L.negated=function(){var n=new I(this);return n.s=-n.s||null,n},L.plus=function(n,t){var l,d=this,o=d.s;if(n=new I(n,t),t=n.s,!o||!t)return new I(NaN);if(o!=t)return n.s=-t,d.minus(n);var r=d.e/k,p=n.e/k,a=d.c,c=n.c;if(!r||!p){if(!a||!c)return new I(o/0);if(!a[0]||!c[0])return c[0]?n:new I(a[0]?d:o*0)}if(r=T(r),p=T(p),a=a.slice(),o=r-p){for(o>0?(p=r,l=c):(o=-o,l=a),l.reverse();o--;l.push(0));l.reverse()}for(o=a.length,t=c.length,o-t<0&&(l=c,c=a,a=l,t=o),o=0;t;)o=(a[--t]=a[t]+c[t]+o)/x|0,a[t]=x===a[t]?0:a[t]%x;return o&&(a=[o].concat(a),++p),xe(n,a,p)},L.precision=L.sd=function(n,t){var l,d,o,r=this;if(n!=null&&n!==!!n)return w(n,1,U),t==null?t=q:w(t,0,8),W(new I(r),n,t);if(!(l=r.c))return null;if(o=l.length-1,d=o*k+1,o=l[o]){for(;o%10==0;o/=10,d--);for(o=l[0];o>=10;o/=10,d++);}return n&&r.e+1>d&&(d=r.e+1),d},L.shiftedBy=function(n){return w(n,-y,y),this.times("1e"+n)},L.squareRoot=L.sqrt=function(){var n,t,l,d,o,r=this,p=r.c,a=r.s,c=r.e,N=Z+4,h=new I("0.5");if(a!==1||!p||!p[0])return new I(!a||a<0&&(!p||p[0])?NaN:p?r:1/0);if(a=Math.sqrt(+O(r)),a==0||a==1/0?(t=D(p),(t.length+c)%2==0&&(t+="0"),a=Math.sqrt(+t),c=T((c+1)/2)-(c<0||c%2),a==1/0?t="5e"+c:(t=a.toExponential(),t=t.slice(0,t.indexOf("e")+1)+c),l=new I(t)):l=new I(a+""),l.c[0]){for(c=l.e,a=c+N,a<3&&(a=0);;)if(o=l,l=h.times(o.plus(_(r,o,N,1))),D(o.c).slice(0,a)===(t=D(l.c)).slice(0,a))if(l.e<c&&--a,t=t.slice(a-3,a+1),t=="9999"||!d&&t=="4999"){if(!d&&(W(o,o.e+Z+2,0),o.times(o).eq(r))){l=o;break}N+=4,a+=4,d=1}else{(!+t||!+t.slice(1)&&t.charAt(0)=="5")&&(W(l,l.e+Z+2,1),n=!l.times(l).eq(r));break}}return W(l,l.e+Z+1,q,n)},L.toExponential=function(n,t){return n!=null&&(w(n,0,U),n++),Se(this,n,t,1)},L.toFixed=function(n,t){return n!=null&&(w(n,0,U),n=n+this.e+1),Se(this,n,t)},L.toFormat=function(n,t,l){var d,o=this;if(l==null)n!=null&&t&&typeof t=="object"?(l=t,t=null):n&&typeof n=="object"?(l=n,n=t=null):l=be;else if(typeof l!="object")throw Error(V+"Argument not an object: "+l);if(d=o.toFixed(n,t),o.c){var r,p=d.split("."),a=+l.groupSize,c=+l.secondaryGroupSize,N=l.groupSeparator||"",h=p[0],b=p[1],P=o.s<0,j=P?h.slice(1):h,v=j.length;if(c&&(r=a,a=c,c=r,v-=r),a>0&&v>0){for(r=v%a||a,h=j.substr(0,r);r<v;r+=a)h+=N+j.substr(r,a);c>0&&(h+=N+j.slice(r)),P&&(h="-"+h)}d=b?h+(l.decimalSeparator||"")+((c=+l.fractionGroupSize)?b.replace(new RegExp("\\d{"+c+"}\\B","g"),"$&"+(l.fractionGroupSeparator||"")):b):h}return(l.prefix||"")+d+(l.suffix||"")},L.toFraction=function(n){var t,l,d,o,r,p,a,c,N,h,b,P,j=this,v=j.c;if(n!=null&&(a=new I(n),!a.isInteger()&&(a.c||a.s!==1)||a.lt(ee)))throw Error(V+"Argument "+(a.isInteger()?"out of range: ":"not an integer: ")+O(a));if(!v)return new I(j);for(t=new I(ee),N=l=new I(ee),d=c=new I(ee),P=D(v),r=t.e=P.length-j.e-1,t.c[0]=M[(p=r%k)<0?k+p:p],n=!n||a.comparedTo(t)>0?r>0?t:N:a,p=re,re=1/0,a=new I(P),c.c[0]=0;h=_(a,t,0,1),o=l.plus(h.times(d)),o.comparedTo(n)!=1;)l=d,d=o,N=c.plus(h.times(o=N)),c=o,t=a.minus(h.times(o=t)),a=o;return o=_(n.minus(l),d,0,1),c=c.plus(o.times(N)),l=l.plus(o.times(d)),c.s=N.s=j.s,r=r*2,b=_(N,d,r,q).minus(j).abs().comparedTo(_(c,l,r,q).minus(j).abs())<1?[N,d]:[c,l],re=p,b},L.toNumber=function(){return+O(this)},L.toPrecision=function(n,t){return n!=null&&w(n,1,U),Se(this,n,t,2)},L.toString=function(n){var t,l=this,d=l.s,o=l.e;return o===null?d?(t="Infinity",d<0&&(t="-"+t)):t="NaN":(n==null?t=o<=ne||o>=se?K(D(l.c),o):R(D(l.c),o,"0"):n===10&&$e?(l=W(new I(l),Z+o+1,q),t=R(D(l.c),l.e,"0")):(w(n,2,Ve.length,"Base"),t=H(R(D(l.c),o,"0"),10,n,d,!0)),d<0&&l.c[0]&&(t="-"+t)),t},L.valueOf=L.toJSON=function(){return O(this)},L._isBigNumber=!0,i!=null&&I.set(i),I}function T(i){var _=i|0;return i>0||i===_?_:_-1}function D(i){for(var _,H,J=1,L=i.length,ee=i[0]+"";J<L;){for(_=i[J++]+"",H=k-_.length;H--;_="0"+_);ee+=_}for(L=ee.length;ee.charCodeAt(--L)===48;);return ee.slice(0,L+1||1)}function B(i,_){var H,J,L=i.c,ee=_.c,Z=i.s,q=_.s,ne=i.e,se=_.e;if(!Z||!q)return null;if(H=L&&!L[0],J=ee&&!ee[0],H||J)return H?J?0:-q:Z;if(Z!=q)return Z;if(H=Z<0,J=ne==se,!L||!ee)return J?0:!L^H?1:-1;if(!J)return ne>se^H?1:-1;for(q=(ne=L.length)<(se=ee.length)?ne:se,Z=0;Z<q;Z++)if(L[Z]!=ee[Z])return L[Z]>ee[Z]^H?1:-1;return ne==se?0:ne>se^H?1:-1}function w(i,_,H,J){if(i<_||i>H||i!==C(i))throw Error(V+(J||"Argument")+(typeof i=="number"?i<_||i>H?" out of range: ":" not an integer: ":" not a primitive number: ")+String(i))}function z(i){var _=i.c.length-1;return T(i.e/k)==_&&i.c[_]%2!=0}function K(i,_){return(i.length>1?i.charAt(0)+"."+i.slice(1):i)+(_<0?"e":"e+")+_}function R(i,_,H){var J,L;if(_<0){for(L=H+".";++_;L+=H);i=L+i}else if(J=i.length,++_>J){for(L=H,_-=J;--_;L+=H);i+=L}else _<J&&(i=i.slice(0,_)+"."+i.slice(_));return i}E=Y(),E.default=E.BigNumber=E,s.exports?s.exports=E:(u||(u=typeof self<"u"&&self?self:window),u.BigNumber=E)})(gs)})(St);var It=St.exports;(function(s){var u=It,E=s.exports;(function(){var m=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,f,C,V={"\b":"\\b"," ":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},g;function x(y){return m.lastIndex=0,m.test(y)?'"'+y.replace(m,function(M){var S=V[M];return typeof S=="string"?S:"\\u"+("0000"+M.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+y+'"'}function k(y,M){var S,U,Y,T,D=f,B,w=M[y],z=w!=null&&(w instanceof u||u.isBigNumber(w));switch(w&&typeof w=="object"&&typeof w.toJSON=="function"&&(w=w.toJSON(y)),typeof g=="function"&&(w=g.call(M,y,w)),typeof w){case"string":return z?w:x(w);case"number":return isFinite(w)?String(w):"null";case"boolean":case"null":case"bigint":return String(w);case"object":if(!w)return"null";if(f+=C,B=[],Object.prototype.toString.apply(w)==="[object Array]"){for(T=w.length,S=0;S<T;S+=1)B[S]=k(S,w)||"null";return Y=B.length===0?"[]":f?`[
2
+ `+f+B.join(`,
3
+ `+f)+`
4
+ `+D+"]":"["+B.join(",")+"]",f=D,Y}if(g&&typeof g=="object")for(T=g.length,S=0;S<T;S+=1)typeof g[S]=="string"&&(U=g[S],Y=k(U,w),Y&&B.push(x(U)+(f?": ":":")+Y));else Object.keys(w).forEach(function(K){var R=k(K,w);R&&B.push(x(K)+(f?": ":":")+R)});return Y=B.length===0?"{}":f?`{
5
+ `+f+B.join(`,
6
+ `+f)+`
7
+ `+D+"}":"{"+B.join(",")+"}",f=D,Y}}typeof E.stringify!="function"&&(E.stringify=function(y,M,S){var U;if(f="",C="",typeof S=="number")for(U=0;U<S;U+=1)C+=" ";else typeof S=="string"&&(C=S);if(g=M,M&&typeof M!="function"&&(typeof M!="object"||typeof M.length!="number"))throw new Error("JSON.stringify");return k("",{"":y})})})()})($t);var Ns=$t.exports,Ke=null;const Es=/(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])/,Vs=/(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)/;var ks=function(s){var u={strict:!1,storeAsString:!1,alwaysParseAsBig:!1,useNativeBigInt:!1,protoAction:"error",constructorAction:"error"};if(s!=null){if(s.strict===!0&&(u.strict=!0),s.storeAsString===!0&&(u.storeAsString=!0),u.alwaysParseAsBig=s.alwaysParseAsBig===!0?s.alwaysParseAsBig:!1,u.useNativeBigInt=s.useNativeBigInt===!0?s.useNativeBigInt:!1,typeof s.constructorAction<"u")if(s.constructorAction==="error"||s.constructorAction==="ignore"||s.constructorAction==="preserve")u.constructorAction=s.constructorAction;else throw new Error(`Incorrect value for constructorAction option, must be "error", "ignore" or undefined but passed ${s.constructorAction}`);if(typeof s.protoAction<"u")if(s.protoAction==="error"||s.protoAction==="ignore"||s.protoAction==="preserve")u.protoAction=s.protoAction;else throw new Error(`Incorrect value for protoAction option, must be "error", "ignore" or undefined but passed ${s.protoAction}`)}var E,m,f={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:`
8
+ `,r:"\r",t:" "},C,V=function(T){throw{name:"SyntaxError",message:T,at:E,text:C}},g=function(T){return T&&T!==m&&V("Expected '"+T+"' instead of '"+m+"'"),m=C.charAt(E),E+=1,m},x=function(){var T,D="";for(m==="-"&&(D="-",g("-"));m>="0"&&m<="9";)D+=m,g();if(m===".")for(D+=".";g()&&m>="0"&&m<="9";)D+=m;if(m==="e"||m==="E")for(D+=m,g(),(m==="-"||m==="+")&&(D+=m,g());m>="0"&&m<="9";)D+=m,g();if(T=+D,!isFinite(T))V("Bad number");else return Ke==null&&(Ke=It),D.length>15?u.storeAsString?D:u.useNativeBigInt?BigInt(D):new Ke(D):u.alwaysParseAsBig?u.useNativeBigInt?BigInt(T):new Ke(T):T},k=function(){var T,D,B="",w;if(m==='"')for(var z=E;g();){if(m==='"')return E-1>z&&(B+=C.substring(z,E-1)),g(),B;if(m==="\\"){if(E-1>z&&(B+=C.substring(z,E-1)),g(),m==="u"){for(w=0,D=0;D<4&&(T=parseInt(g(),16),!!isFinite(T));D+=1)w=w*16+T;B+=String.fromCharCode(w)}else if(typeof f[m]=="string")B+=f[m];else break;z=E}}V("Bad string")},y=function(){for(;m&&m<=" ";)g()},M=function(){switch(m){case"t":return g("t"),g("r"),g("u"),g("e"),!0;case"f":return g("f"),g("a"),g("l"),g("s"),g("e"),!1;case"n":return g("n"),g("u"),g("l"),g("l"),null}V("Unexpected '"+m+"'")},S,U=function(){var T=[];if(m==="["){if(g("["),y(),m==="]")return g("]"),T;for(;m;){if(T.push(S()),y(),m==="]")return g("]"),T;g(","),y()}}V("Bad array")},Y=function(){var T,D=Object.create(null);if(m==="{"){if(g("{"),y(),m==="}")return g("}"),D;for(;m;){if(T=k(),y(),g(":"),u.strict===!0&&Object.hasOwnProperty.call(D,T)&&V('Duplicate key "'+T+'"'),Es.test(T)===!0?u.protoAction==="error"?V("Object contains forbidden prototype property"):u.protoAction==="ignore"?S():D[T]=S():Vs.test(T)===!0?u.constructorAction==="error"?V("Object contains forbidden constructor property"):u.constructorAction==="ignore"?S():D[T]=S():D[T]=S(),y(),m==="}")return g("}"),D;g(","),y()}}V("Bad object")};return S=function(){switch(y(),m){case"{":return Y();case"[":return U();case'"':return k();case"-":return x();default:return m>="0"&&m<="9"?x():M()}},function(T,D){var B;return C=T+"",E=0,m=" ",B=S(),y(),m&&V("Syntax error"),typeof D=="function"?function w(z,K){var R,i=z[K];return i&&typeof i=="object"&&Object.keys(i).forEach(function(_){R=w(i,_),R!==void 0?i[_]=R:delete i[_]}),D.call(z,K,i)}({"":B},""):B}},ys=ks,Dt=Ns.stringify,Mt=ys;Ge.exports=function(s){return{parse:Mt(s),stringify:Dt}},Ge.exports.parse=Mt(),Ge.exports.stringify=Dt;var ws=Ge.exports;const xs=_s(ws)({storeAsString:!0}),Te=(()=>{const s=Kt.create({baseURL:void 0,timeout:3e4,headers:{"Content-Type":"application/json"},transformResponse:[u=>{if(typeof u=="string")try{return xs.parse(u)}catch{return u}return u}]});return s.interceptors.request.use(u=>{const E=Fe(),m=Nt()||"Bearer";return E&&(u.headers.Authorization=`${m} ${E}`),u},u=>Promise.reject(u)),s.interceptors.response.use(u=>{const{data:E}=u;return E.code===200||E.code===0?E.data:E.code===9121?(oe.Message.error("登录已过期,请重新登录"),Me(),window.location.href="/login",Promise.reject(new Error(E.message||"EXPIRED OR INVALID TOKEN"))):(oe.Message.error(E.message||"请求失败"),Promise.reject(new Error(E.message||"请求失败")))},u=>{var m;const{response:E}=u;if(E){const{data:f}=E;if((f==null?void 0:f.code)===9121)return oe.Message.error("登录已过期,请重新登录"),Me(),window.location.href="/login",Promise.reject(u);switch(E.status){case 401:oe.Message.error("登录已过期,请重新登录"),Me(),window.location.href="/login";break;case 403:oe.Message.error("没有权限访问");break;case 404:oe.Message.error("请求资源不存在");break;case 500:oe.Message.error("服务器错误");break;default:oe.Message.error(((m=E.data)==null?void 0:m.message)||"请求失败")}}else oe.Message.error("网络连接失败");return Promise.reject(u)}),s})(),le={get(s,u){return Te.get(s,u)},post(s,u,E){return Te.post(s,u,E)},put(s,u,E){return Te.put(s,u,E)},patch(s,u,E){return Te.patch(s,u,E)},delete(s,u){return Te.delete(s,u)},download(s,u){return Te.get(s,{...u,responseType:"blob"})}};function Lt(s){return le.post("/user/v1.0/login/by-domain",s)}function Bs(){return le.put("/user/v1.0/user/logout")}function Tt(){return le.get("/user/v1.0/user/get-me")}function Cs(s){return le.post("/user/v1.0/refresh",{refreshToken:s})}const bs={class:"login-page"},$s={class:"login-form-section"},Ss={class:"form-container"},Is={class:"input-wrapper"},Ds={class:"input-wrapper"},Ms={class:"form-options"},Ls={key:0},Ts={key:1},At=fe(e.defineComponent({__name:"index",setup(s){const u=ce.useRouter(),E=ce.useRoute(),m=e.ref(!1),f=e.ref(!1),C=e.reactive({uid:"",password:""}),V={uid:[{required:!0,message:"请输入用户名",trigger:"blur"}],password:[{required:!0,message:"请输入密码",trigger:"blur"},{min:6,message:"密码长度至少6位",trigger:"blur"}]},g=e.ref(),x=async()=>{var k;try{await((k=g.value)==null?void 0:k.validate()),m.value=!0;const y=await Lt({appId:Ae(),clientId:Xe(),uid:C.uid,password:C.password,code:!0});lt(y),oe.Message.success("登录成功");const M=E.query.redirect||"/";u.push(M)}catch(y){console.error("登录失败:",y)}finally{m.value=!1}};return(k,y)=>(e.openBlock(),e.createElementBlock("div",bs,[y[10]||(y[10]=e.createStaticVNode('<div class="login-brand" data-v-102cb5d3><div class="brand-content" data-v-102cb5d3><div class="brand-logo" data-v-102cb5d3><div class="logo-icon" data-v-102cb5d3><svg viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg" data-v-102cb5d3><rect width="48" height="48" rx="12" fill="currentColor" data-v-102cb5d3></rect><path d="M14 24L20 30L34 16" stroke="white" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" data-v-102cb5d3></path></svg></div><span class="logo-text" data-v-102cb5d3>XTO</span></div><div class="brand-slogan" data-v-102cb5d3><h1 data-v-102cb5d3>企业级后台管理解决方案</h1><p data-v-102cb5d3>开箱即用的中后台前端/设计解决方案</p></div><div class="brand-features" data-v-102cb5d3><div class="feature-item" data-v-102cb5d3><div class="feature-icon" data-v-102cb5d3><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" data-v-102cb5d3><path d="M13 2L3 14h9l-1 8 10-12h-9l1-8z" data-v-102cb5d3></path></svg></div><div class="feature-text" data-v-102cb5d3><h4 data-v-102cb5d3>高性能</h4><p data-v-102cb5d3>极致的渲染性能与响应速度</p></div></div><div class="feature-item" data-v-102cb5d3><div class="feature-icon" data-v-102cb5d3><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" data-v-102cb5d3><rect x="3" y="3" width="18" height="18" rx="2" data-v-102cb5d3></rect><path d="M9 9h6M9 12h6M9 15h4" data-v-102cb5d3></path></svg></div><div class="feature-text" data-v-102cb5d3><h4 data-v-102cb5d3>丰富组件</h4><p data-v-102cb5d3>60+ 高质量业务组件</p></div></div><div class="feature-item" data-v-102cb5d3><div class="feature-icon" data-v-102cb5d3><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" data-v-102cb5d3><circle cx="12" cy="12" r="10" data-v-102cb5d3></circle><path d="M12 6v6l4 2" data-v-102cb5d3></path></svg></div><div class="feature-text" data-v-102cb5d3><h4 data-v-102cb5d3>持续更新</h4><p data-v-102cb5d3>活跃的社区与快速迭代</p></div></div></div><div class="brand-decoration" data-v-102cb5d3><div class="decoration-line" data-v-102cb5d3></div><div class="decoration-dots" data-v-102cb5d3><span data-v-102cb5d3></span><span data-v-102cb5d3></span><span data-v-102cb5d3></span></div></div></div><div class="brand-bg" data-v-102cb5d3><div class="bg-grid" data-v-102cb5d3></div><div class="bg-glow" data-v-102cb5d3></div><div class="bg-pattern" data-v-102cb5d3></div></div></div>',1)),e.createElementVNode("div",$s,[e.createElementVNode("div",Ss,[y[7]||(y[7]=e.createElementVNode("div",{class:"form-header"},[e.createElementVNode("h2",null,"欢迎登录"),e.createElementVNode("p",null,"请输入您的账户信息")],-1)),e.createVNode(e.unref(F.Form),{ref_key:"formRef",ref:g,model:C,rules:V,class:"login-form","label-width":"0"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.FormItem),{prop:"uid"},{default:e.withCtx(()=>[e.createElementVNode("div",Is,[y[3]||(y[3]=e.createElementVNode("label",{class:"input-label"},"用户名",-1)),e.createVNode(e.unref(F.Input),{modelValue:C.uid,"onUpdate:modelValue":y[0]||(y[0]=M=>C.uid=M),placeholder:"请输入用户名",size:"large"},{prefix:e.withCtx(()=>[e.createVNode(e.unref(A.Icon),{name:"user",size:18})]),_:1},8,["modelValue"])])]),_:1}),e.createVNode(e.unref(F.FormItem),{prop:"password"},{default:e.withCtx(()=>[e.createElementVNode("div",Ds,[y[4]||(y[4]=e.createElementVNode("label",{class:"input-label"},"密码",-1)),e.createVNode(e.unref(F.Input),{modelValue:C.password,"onUpdate:modelValue":y[1]||(y[1]=M=>C.password=M),type:"password",placeholder:"请输入密码",size:"large","show-password":"",onKeyup:e.withKeys(x,["enter"])},{prefix:e.withCtx(()=>[e.createVNode(e.unref(A.Icon),{name:"lock",size:18})]),_:1},8,["modelValue"])])]),_:1}),e.createElementVNode("div",Ms,[e.createVNode(e.unref(F.Checkbox),{modelValue:f.value,"onUpdate:modelValue":y[2]||(y[2]=M=>f.value=M)},{default:e.withCtx(()=>[...y[5]||(y[5]=[e.createTextVNode("记住我",-1)])]),_:1},8,["modelValue"]),y[6]||(y[6]=e.createElementVNode("a",{href:"#",class:"forgot-link"},"忘记密码?",-1))]),e.createVNode(e.unref(F.FormItem),null,{default:e.withCtx(()=>[e.createVNode(e.unref(A.Button),{type:"primary",size:"large",loading:m.value,class:"login-btn",onClick:x},{default:e.withCtx(()=>[m.value?(e.openBlock(),e.createElementBlock("span",Ts,"登录中...")):(e.openBlock(),e.createElementBlock("span",Ls,"登 录"))]),_:1},8,["loading"])]),_:1})]),_:1},8,["model"]),y[8]||(y[8]=e.createStaticVNode('<div class="form-footer" data-v-102cb5d3><p data-v-102cb5d3>其他登录方式</p><div class="social-login" data-v-102cb5d3><button class="social-btn" title="企业微信" data-v-102cb5d3><svg viewBox="0 0 24 24" fill="currentColor" data-v-102cb5d3><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1 17.93c-3.95-.49-7-3.85-7-7.93 0-.62.08-1.21.21-1.79L9 15v1c0 1.1.9 2 2 2v1.93zm6.9-2.54c-.26-.81-1-1.39-1.9-1.39h-1v-3c0-.55-.45-1-1-1H8v-2h2c.55 0 1-.45 1-1V7h2c1.1 0 2-.9 2-2v-.41c2.93 1.19 5 4.06 5 7.41 0 2.08-.8 3.97-2.1 5.39z" data-v-102cb5d3></path></svg></button><button class="social-btn" title="钉钉" data-v-102cb5d3><svg viewBox="0 0 24 24" fill="currentColor" data-v-102cb5d3><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm4.64 6.8c-.15 1.58-.8 5.42-1.13 7.19-.14.75-.42 1-.68 1.03-.58.05-1.02-.38-1.58-.75-.88-.58-1.38-.94-2.23-1.5-.99-.65-.35-1.01.22-1.59.15-.15 2.71-2.48 2.76-2.69a.2.2 0 00-.05-.18c-.06-.05-.14-.03-.21-.02-.09.02-1.49.95-4.22 2.79-.4.27-.76.41-1.08.4-.36-.01-1.04-.2-1.55-.37-.63-.2-1.12-.31-1.08-.66.02-.18.27-.36.74-.55 2.92-1.27 4.86-2.11 5.83-2.51 2.78-1.16 3.35-1.36 3.73-1.36.08 0 .27.02.39.12.1.08.13.19.14.27-.01.06.01.24 0 .38z" data-v-102cb5d3></path></svg></button><button class="social-btn" title="飞书" data-v-102cb5d3><svg viewBox="0 0 24 24" fill="currentColor" data-v-102cb5d3><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-6h2v6zm0-8h-2V7h2v2z" data-v-102cb5d3></path></svg></button></div></div>',1))]),y[9]||(y[9]=e.createElementVNode("div",{class:"copyright"},[e.createElementVNode("p",null,"© 2024 XTO Team. All rights reserved.")],-1))])]))}}),[["__scopeId","data-v-102cb5d3"]]),As=Object.freeze(Object.defineProperty({__proto__:null,default:At},Symbol.toStringTag,{value:"Module"})),Us={class:"error-page"},zs={class:"error-container"},Os={class:"error-content"},Fs={class:"error-actions"},Ut=fe(e.defineComponent({__name:"404",setup(s){const u=ce.useRouter(),E=()=>{u.push("/")};return(m,f)=>(e.openBlock(),e.createElementBlock("div",Us,[e.createElementVNode("div",zs,[f[7]||(f[7]=e.createElementVNode("div",{class:"error-bg"},[e.createElementVNode("div",{class:"bg-circle circle-1"}),e.createElementVNode("div",{class:"bg-circle circle-2"}),e.createElementVNode("div",{class:"bg-circle circle-3"})],-1)),e.createElementVNode("div",Os,[f[5]||(f[5]=e.createStaticVNode('<div class="error-code" data-v-1b083153><span class="code-digit" data-v-1b083153>4</span><span class="code-zero" data-v-1b083153><span class="zero-inner" data-v-1b083153>0</span></span><span class="code-digit" data-v-1b083153>4</span></div><div class="error-illustration" data-v-1b083153><svg viewBox="0 0 200 120" fill="none" xmlns="http://www.w3.org/2000/svg" data-v-1b083153><rect x="40" y="20" width="120" height="80" rx="8" fill="var(--color-fill)" stroke="var(--color-border)" stroke-width="2" data-v-1b083153></rect><rect x="50" y="30" width="100" height="60" rx="4" fill="var(--bg-color)" data-v-1b083153></rect><line x1="60" y1="45" x2="140" y2="45" stroke="var(--color-border-light)" stroke-width="2" data-v-1b083153></line><line x1="60" y1="55" x2="120" y2="55" stroke="var(--color-border-light)" stroke-width="2" data-v-1b083153></line><line x1="60" y1="65" x2="100" y2="65" stroke="var(--color-border-light)" stroke-width="2" data-v-1b083153></line><text x="100" y="75" text-anchor="middle" fill="var(--color-primary)" font-size="24" font-weight="600" data-v-1b083153>?</text><circle cx="150" cy="35" r="12" stroke="var(--color-primary)" stroke-width="2" fill="none" data-v-1b083153></circle><line x1="158" y1="43" x2="168" y2="53" stroke="var(--color-primary)" stroke-width="2" stroke-linecap="round" data-v-1b083153></line></svg></div><h1 class="error-title" data-v-1b083153>页面不存在</h1><p class="error-desc" data-v-1b083153>抱歉,您访问的页面不存在或已被删除</p>',4)),e.createElementVNode("div",Fs,[e.createVNode(e.unref(A.Button),{type:"primary",size:"large",onClick:E},{icon:e.withCtx(()=>[...f[1]||(f[1]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("path",{d:"M3 9l9-7 9 7v11a2 2 0 01-2 2H5a2 2 0 01-2-2V9z"}),e.createElementVNode("polyline",{points:"9,22 9,12 15,12 15,22"})],-1)])]),default:e.withCtx(()=>[f[2]||(f[2]=e.createTextVNode(" 返回首页 ",-1))]),_:1}),e.createVNode(e.unref(A.Button),{size:"large",onClick:f[0]||(f[0]=C=>e.unref(u).go(-1))},{icon:e.withCtx(()=>[...f[3]||(f[3]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("path",{d:"M19 12H5M12 19l-7-7 7-7"})],-1)])]),default:e.withCtx(()=>[f[4]||(f[4]=e.createTextVNode(" 返回上一页 ",-1))]),_:1})]),f[6]||(f[6]=e.createElementVNode("div",{class:"error-tip"},[e.createElementVNode("p",null,"您可以尝试:"),e.createElementVNode("ul",null,[e.createElementVNode("li",null,"检查您输入的网址是否正确"),e.createElementVNode("li",null,"返回首页重新浏览"),e.createElementVNode("li",null,"联系管理员反馈问题")])],-1))])])]))}}),[["__scopeId","data-v-1b083153"]]),zt=Object.freeze(Object.defineProperty({__proto__:null,default:Ut},Symbol.toStringTag,{value:"Module"})),Rs={class:"error-page"},Ps={class:"error-container"},qs={class:"error-content"},js={class:"error-actions"},Hs=fe(e.defineComponent({__name:"403",setup(s){const u=ce.useRouter(),E=()=>{u.push("/")};return(m,f)=>(e.openBlock(),e.createElementBlock("div",Rs,[e.createElementVNode("div",Ps,[f[7]||(f[7]=e.createElementVNode("div",{class:"error-bg"},[e.createElementVNode("div",{class:"bg-circle circle-1"}),e.createElementVNode("div",{class:"bg-circle circle-2"}),e.createElementVNode("div",{class:"bg-circle circle-3"})],-1)),e.createElementVNode("div",qs,[f[5]||(f[5]=e.createStaticVNode('<div class="error-code" data-v-d167f981><span class="code-digit" data-v-d167f981>4</span><span class="code-zero warning" data-v-d167f981><span class="zero-inner" data-v-d167f981>0</span></span><span class="code-digit" data-v-d167f981>3</span></div><div class="error-illustration" data-v-d167f981><svg viewBox="0 0 200 120" fill="none" xmlns="http://www.w3.org/2000/svg" data-v-d167f981><path d="M100 15 L150 35 L150 70 C150 95 100 110 100 110 C100 110 50 95 50 70 L50 35 Z" fill="var(--color-warning-lighter)" stroke="var(--color-warning)" stroke-width="2" data-v-d167f981></path><rect x="85" y="55" width="30" height="25" rx="4" fill="var(--color-warning)" data-v-d167f981></rect><path d="M92 55 V48 A8 8 0 0 1 108 48 V55" fill="none" stroke="var(--color-warning)" stroke-width="3" data-v-d167f981></path><circle cx="100" cy="67" r="6" fill="none" stroke="#fff" stroke-width="2" data-v-d167f981></circle><line x1="96" y1="63" x2="104" y2="71" stroke="#fff" stroke-width="2" data-v-d167f981></line></svg></div><h1 class="error-title" data-v-d167f981>无访问权限</h1><p class="error-desc" data-v-d167f981>抱歉,您没有权限访问此页面,请联系管理员获取权限</p>',4)),e.createElementVNode("div",js,[e.createVNode(e.unref(A.Button),{type:"primary",size:"large",onClick:E},{icon:e.withCtx(()=>[...f[1]||(f[1]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("path",{d:"M3 9l9-7 9 7v11a2 2 0 01-2 2H5a2 2 0 01-2-2V9z"}),e.createElementVNode("polyline",{points:"9,22 9,12 15,12 15,22"})],-1)])]),default:e.withCtx(()=>[f[2]||(f[2]=e.createTextVNode(" 返回首页 ",-1))]),_:1}),e.createVNode(e.unref(A.Button),{size:"large",onClick:f[0]||(f[0]=C=>e.unref(u).go(-1))},{icon:e.withCtx(()=>[...f[3]||(f[3]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("path",{d:"M19 12H5M12 19l-7-7 7-7"})],-1)])]),default:e.withCtx(()=>[f[4]||(f[4]=e.createTextVNode(" 返回上一页 ",-1))]),_:1})]),f[6]||(f[6]=e.createElementVNode("div",{class:"error-tip"},[e.createElementVNode("p",null,"可能的原因:"),e.createElementVNode("ul",null,[e.createElementVNode("li",null,"您的账号权限不足"),e.createElementVNode("li",null,"该页面需要特定角色才能访问"),e.createElementVNode("li",null,"您的登录状态已过期")])],-1))])])]))}}),[["__scopeId","data-v-d167f981"]]);function Gs(){const s=Ce(),u=ke(),E=Le(),m=e.computed(()=>u.userName||""),f=e.computed(()=>u.userInfo),C=e.computed(()=>s.appName),V=e.computed(()=>E.isLoggedIn),g=e.computed(()=>s.isDark),x=e.computed(()=>s.theme),k=e.computed(()=>s.isCollapsed),y=e.computed(()=>s.layout);return{userName:m,userInfo:f,appName:C,isLoggedIn:V,isDark:g,theme:x,isCollapsed:k,layout:y,toggleTheme:()=>{s.toggleTheme()},toggleCollapse:()=>{s.toggleCollapse()}}}function Ks(){const s=ke();return{isLoggedIn:e.computed(()=>s.isLoggedIn)}}function Ws(s,u={}){const{rules:E,onSubmit:m}=u,f=e.ref(),C=e.reactive({...s}),V=e.ref(!1),g=e.ref(!1),x=e.ref(!1),k=()=>{S(),x.value=!1,g.value=!0},y=Y=>{Object.assign(C,Y),x.value=!0,g.value=!0},M=()=>{g.value=!1,S()},S=()=>{var Y;Object.keys(s).forEach(T=>{C[T]=s[T]}),(Y=f.value)==null||Y.resetFields()};return{formRef:f,formData:C,rules:E,loading:V,visible:g,isEdit:x,openAdd:k,openEdit:y,close:M,resetForm:S,handleSubmit:async()=>{var Y;try{await((Y=f.value)==null?void 0:Y.validate()),V.value=!0,await(m==null?void 0:m(C)),M()}catch(T){console.error(T)}finally{V.value=!1}}}}function Xs(s){const{fetchData:u,defaultPageSize:E=10}=s,m=e.ref(!1),f=e.ref([]),C=e.ref(0),V=e.ref(1),g=e.ref(E),x=e.reactive({}),k=async()=>{m.value=!0;try{const D={...x,page:V.value,pageSize:g.value},B=await u(D);f.value=B.list,C.value=B.total}catch(D){console.error(D)}finally{m.value=!1}},y=()=>{V.value=1,k()},M=()=>{Object.keys(x).forEach(D=>{x[D]=void 0}),V.value=1,k()},S=D=>{V.value=D,k()},U=D=>{g.value=D,V.value=1,k()},Y=()=>{k()},T=e.computed(()=>({current:V.value,pageSize:g.value,total:C.value}));return{loading:m,data:f,total:C,currentPage:V,pageSize:g,searchParams:x,pagination:T,getData:k,handleSearch:y,handleReset:M,handlePageChange:S,handleSizeChange:U,refresh:Y}}function Ys(s){return ke().isLoggedIn}function Js(s){return ke().isLoggedIn}function Zs(){return!0}const it=[{path:"/login",name:"Login",component:()=>Promise.resolve().then(()=>As),meta:{title:"登录",hidden:!0}}],ct={path:"/",name:"Layout",component:()=>Promise.resolve().then(()=>as),redirect:"/dashboard",children:[{path:"/dashboard",name:"Dashboard",component:()=>Promise.resolve().then(()=>qt),meta:{title:"仪表盘",icon:"dashboard",keepAlive:!0,affix:!0}},{path:"/system/user",name:"SystemUser",component:()=>Promise.resolve().then(()=>jt),meta:{title:"用户管理",icon:"user",keepAlive:!0}},{path:"/system/role",name:"SystemRole",component:()=>Promise.resolve().then(()=>Ht),meta:{title:"角色管理",icon:"role",keepAlive:!0}},{path:"/system/menu",name:"SystemMenu",component:()=>Promise.resolve().then(()=>Gt),meta:{title:"菜单管理",icon:"menu",keepAlive:!0}},{path:"/:pathMatch(.*)*",name:"CatchAll",component:()=>Promise.resolve().then(()=>zt),meta:{title:"404",hidden:!0}}]},Qs=[{path:"/dashboard",name:"Dashboard",component:()=>Promise.resolve().then(()=>qt),meta:{title:"仪表盘",icon:"dashboard",keepAlive:!0,affix:!0}},{path:"/system",name:"System",redirect:"/system/user",meta:{title:"系统管理",icon:"setting"},children:[{path:"user",name:"SystemUser",component:()=>Promise.resolve().then(()=>jt),meta:{title:"用户管理",icon:"user",keepAlive:!0}},{path:"role",name:"SystemRole",component:()=>Promise.resolve().then(()=>Ht),meta:{title:"角色管理",icon:"role",keepAlive:!0}},{path:"menu",name:"SystemMenu",component:()=>Promise.resolve().then(()=>Gt),meta:{title:"菜单管理",icon:"menu",keepAlive:!0}}]}],Ot=[{menuCode:"dashboard",menuName:"仪表盘",menuUrl:"/dashboard",icon:"dashboard",closable:!0,isDefault:!0,isOut:!1},{menuCode:"system",menuName:"系统管理",menuUrl:"/system",icon:"setting",closable:!1,isDefault:!1,isOut:!1,children:[{menuCode:"system_user",menuName:"用户管理",menuUrl:"/system/user",icon:"user",closable:!0,isDefault:!1,isOut:!1},{menuCode:"system_role",menuName:"角色管理",menuUrl:"/system/role",icon:"role",closable:!0,isDefault:!1,isOut:!1},{menuCode:"system_menu",menuName:"菜单管理",menuUrl:"/system/menu",icon:"menu",closable:!0,isDefault:!1,isOut:!1}]}],dt=ce.createRouter({history:ce.createWebHistory(),routes:[...it,ct],scrollBehavior:()=>({left:0,top:0})}),vs=["/login"];dt.beforeEach(async(s,u,E)=>{const m=Ce();if(m.initTheme(),st())if(s.path==="/login")E({path:"/"});else{const f=ke();f.isLoggedIn||(f.setUserInfo({appId:Ae(),userId:"1",userName:"管理员",departmentName:"技术部",email:"admin@example.com",mobilePhone:"13800138000",positionName:"管理员",avatar:""}),De().setMenuList(Ot)),s.name&&s.meta.keepAlive&&m.addCachedView(s.name),E()}else vs.includes(s.path)?E():E("/login")});function er(){const s=ce.createRouter({history:ce.createWebHistory(),routes:[...it,ct]});dt.matcher=s.matcher}function tr(s,u={}){const E=u.indexPath||"/dashboard",m={path:"/:pathMatch(.*)*",name:"CatchAll",component:()=>Promise.resolve().then(()=>zt),meta:{title:"404"}};return{path:"/",name:"Layout",component:at,redirect:E,children:[...s,m]}}function nr(s){return ce.createRouter({history:ce.createWebHistory(),routes:s,scrollBehavior:()=>({left:0,top:0})})}function or(s){return le.get("/role/list",{params:s})}function lr(s){return le.get(`/role/${s}`)}function sr(s){return le.post("/role",s)}function rr(s,u){return le.put(`/role/${s}`,u)}function ar(s){return le.delete(`/role/${s}`)}function ir(s,u){return le.patch(`/role/${s}/status`,{status:u})}function cr(){return le.get("/user/v1.0/menu/list")}function Ft(s){const u=s||Ae();return le.get(`/user/v1.0/menu/get-menu?appId=${u}`)}function dr(s){return le.post("/menu",s)}function mr(s,u){return le.put(`/menu/${s}`,u)}function pr(s){return le.delete(`/menu/${s}`)}const fr=["/login","/404","/403"];function ur(s,u={}){const E=u.whiteList||fr,m=u.loginPath||"/login",f=u.homePath||"/";s.beforeEach(async(C,V,g)=>{const x=Ce(),k=ke(),y=De();if(x.initTheme(),Fe())if(C.path===m)g({path:f});else if(k.isLoggedIn)C.name&&C.meta.keepAlive&&x.addCachedView(C.name),g();else try{if(u.fetchUserInfo){const S=await u.fetchUserInfo();k.setUserInfo(S)}else{const S=await Tt();k.setUserInfo(S)}if(u.fetchMenu){const S=await u.fetchMenu();y.setMenuList(S)}else{const S=await Ft(u.appId);y.setMenuList(S)}u.onLoginSuccess&&u.onLoginSuccess(),C.name&&C.meta.keepAlive&&x.addCachedView(C.name),g({...C,replace:!0})}catch(S){console.error("获取用户信息失败:",S),k.clearUserInfo(),y.clearMenu(),Me(),g({path:m,query:{redirect:C.fullPath}})}else E.includes(C.path)?g():g({path:m,query:{redirect:C.fullPath}})}),s.afterEach(()=>{})}function hr(s){return le.get("/user/list",{params:s})}function gr(s){return le.get(`/user/${s}`)}function _r(s){return le.post("/user",s)}function Nr(s,u){return le.put(`/user/${s}`,u)}function Er(s){return le.delete(`/user/${s}`)}function Vr(s){return le.post("/user/batch-delete",{ids:s})}function kr(s,u){return le.patch(`/user/${s}/status`,{status:u})}function yr(s){return le.post(`/user/${s}/reset-password`)}var X=(s=>(s[s.ENABLED=1]="ENABLED",s[s.DISABLED=0]="DISABLED",s))(X||{}),Rt=(s=>(s[s.UNKNOWN=0]="UNKNOWN",s[s.MALE=1]="MALE",s[s.FEMALE=2]="FEMALE",s))(Rt||{}),Ne=(s=>(s[s.DIRECTORY=0]="DIRECTORY",s[s.MENU=1]="MENU",s[s.BUTTON=2]="BUTTON",s))(Ne||{});const wr={1:"启用",0:"禁用"},xr={0:"未知",1:"男",2:"女"},Br={0:"目录",1:"菜单",2:"按钮"},mt=[{label:"启用",value:1},{label:"禁用",value:0}],Cr=[{label:"未知",value:0},{label:"男",value:1},{label:"女",value:2}],Pt=[{label:"目录",value:0},{label:"菜单",value:1},{label:"按钮",value:2}],br={mounted(s,u){var m;ke().isLoggedIn||(m=s.parentNode)==null||m.removeChild(s)}};function $r(s){return ut({appId:s.appId,clientId:s.clientId,apiBaseUrl:s.apiBaseUrl}),{config:{appName:s.appName||"XTO App",appId:Ae(),clientId:Xe(),apiBaseUrl:ht(),indexPath:s.indexPath||"/dashboard",loginPath:s.loginPath||"/login"}}}const Sr={class:"dashboard"},Ir={class:"stats-section"},Dr={class:"stat-content"},Mr={class:"stat-title"},Lr={key:0,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},Tr={key:1,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},Ar={class:"main-section"},Ur={class:"quick-section"},zr={class:"quick-grid"},Or={class:"quick-icon"},Fr={class:"quick-info"},Rr={class:"quick-title"},Pr={class:"quick-desc"},qr={class:"activity-section"},jr={class:"activity-list"},Hr={class:"activity-content"},Gr={class:"activity-main"},Kr={class:"activity-user"},Wr={class:"activity-action"},Xr={class:"activity-time"},Yr={class:"system-section"},Jr={class:"system-grid"},Zr={class:"system-info-list"},Qr={class:"info-label"},vr={class:"info-value"},ea={class:"system-status"},ta={class:"status-item"},na={class:"status-item"},oa={class:"status-item"},qt=Object.freeze(Object.defineProperty({__proto__:null,default:fe(e.defineComponent({__name:"index",setup(s){const u=e.ref([{title:"用户总数",value:1234,icon:"👥",color:"#1677ff",trend:"+12.5%",trendUp:!0},{title:"今日访问",value:567,icon:"👀",color:"#52c41a",trend:"+8.2%",trendUp:!0},{title:"订单数量",value:890,icon:"📦",color:"#faad14",trend:"-3.1%",trendUp:!1},{title:"销售金额",value:123456,icon:"💰",color:"#ff4d4f",trend:"+15.8%",trendUp:!0}]),E=e.ref([{user:"张三",action:"登录系统",time:"2分钟前",type:"success",avatar:"张"},{user:"李四",action:"修改了用户信息",time:"5分钟前",type:"warning",avatar:"李"},{user:"王五",action:"创建了新订单",time:"10分钟前",type:"info",avatar:"王"},{user:"赵六",action:"删除了测试数据",time:"30分钟前",type:"danger",avatar:"赵"},{user:"钱七",action:"更新了系统配置",time:"1小时前",type:"primary",avatar:"钱"}]),m=e.ref([{title:"用户管理",path:"/system/user",icon:"👤",desc:"管理系统用户"},{title:"角色管理",path:"/system/role",icon:"👥",desc:"角色权限配置"},{title:"菜单管理",path:"/system/menu",icon:"📋",desc:"菜单路由管理"},{title:"系统设置",path:"/system",icon:"⚙️",desc:"系统参数配置"}]),f=e.ref([{label:"系统版本",value:"v1.0.0"},{label:"Vue 版本",value:"3.4.21"},{label:"构建工具",value:"Vite 5"},{label:"UI 组件库",value:"XTO UI"}]);return(C,V)=>{const g=e.resolveComponent("router-link");return e.openBlock(),e.createElementBlock("div",Sr,[e.createElementVNode("div",Ir,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value,x=>(e.openBlock(),e.createElementBlock("div",{key:x.title,class:"stat-card"},[e.createElementVNode("div",{class:"stat-icon",style:e.normalizeStyle({background:`linear-gradient(135deg, ${x.color}20 0%, ${x.color}10 100%)`})},[e.createElementVNode("span",null,e.toDisplayString(x.icon),1)],4),e.createElementVNode("div",Dr,[e.createElementVNode("div",Mr,e.toDisplayString(x.title),1),e.createElementVNode("div",{class:"stat-value",style:e.normalizeStyle({color:x.color})},e.toDisplayString(x.value.toLocaleString()),5),e.createElementVNode("div",{class:e.normalizeClass(["stat-trend",{up:x.trendUp,down:!x.trendUp}])},[x.trendUp?(e.openBlock(),e.createElementBlock("svg",Lr,[...V[0]||(V[0]=[e.createElementVNode("path",{d:"M7 17l5-5 5 5M7 7l5 5 5-5"},null,-1)])])):(e.openBlock(),e.createElementBlock("svg",Tr,[...V[1]||(V[1]=[e.createElementVNode("path",{d:"M7 7l5 5 5-5M7 17l5-5 5 5"},null,-1)])])),e.createElementVNode("span",null,e.toDisplayString(x.trend),1)],2)]),e.createElementVNode("div",{class:"stat-decoration",style:e.normalizeStyle({background:`linear-gradient(135deg, ${x.color}08 0%, transparent 100%)`})},null,4)]))),128))]),e.createElementVNode("div",Ar,[e.createElementVNode("div",Ur,[V[3]||(V[3]=e.createElementVNode("div",{class:"section-header"},[e.createElementVNode("h3",null,"快捷入口"),e.createElementVNode("span",{class:"section-badge"},"4 个入口")],-1)),e.createElementVNode("div",zr,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,x=>(e.openBlock(),e.createBlock(g,{key:x.path,to:x.path,class:"quick-card"},{default:e.withCtx(()=>[e.createElementVNode("div",Or,e.toDisplayString(x.icon),1),e.createElementVNode("div",Fr,[e.createElementVNode("div",Rr,e.toDisplayString(x.title),1),e.createElementVNode("div",Pr,e.toDisplayString(x.desc),1)]),V[2]||(V[2]=e.createElementVNode("div",{class:"quick-arrow"},[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("path",{d:"M9 18l6-6-6-6"})])],-1))]),_:2},1032,["to"]))),128))])]),e.createElementVNode("div",qr,[V[4]||(V[4]=e.createElementVNode("div",{class:"section-header"},[e.createElementVNode("h3",null,"最近活动"),e.createElementVNode("a",{href:"#",class:"section-link"},"查看全部")],-1)),e.createElementVNode("div",jr,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(E.value,(x,k)=>(e.openBlock(),e.createElementBlock("div",{key:k,class:"activity-item"},[e.createElementVNode("div",{class:e.normalizeClass(["activity-avatar",x.type])},e.toDisplayString(x.avatar),3),e.createElementVNode("div",Hr,[e.createElementVNode("div",Gr,[e.createElementVNode("span",Kr,e.toDisplayString(x.user),1),e.createElementVNode("span",Wr,e.toDisplayString(x.action),1)]),e.createElementVNode("div",Xr,e.toDisplayString(x.time),1)]),e.createElementVNode("div",{class:e.normalizeClass(["activity-dot",x.type])},null,2)]))),128))])])]),e.createElementVNode("div",Yr,[V[8]||(V[8]=e.createElementVNode("div",{class:"section-header"},[e.createElementVNode("h3",null,"系统信息")],-1)),e.createElementVNode("div",Jr,[e.createElementVNode("div",Zr,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value,x=>(e.openBlock(),e.createElementBlock("div",{key:x.label,class:"info-item"},[e.createElementVNode("span",Qr,e.toDisplayString(x.label),1),e.createElementVNode("span",vr,e.toDisplayString(x.value),1)]))),128))]),e.createElementVNode("div",ea,[e.createElementVNode("div",ta,[V[5]||(V[5]=e.createElementVNode("div",{class:"status-header"},[e.createElementVNode("span",{class:"status-label"},"服务器状态"),e.createElementVNode("span",{class:"status-value"},"75%")],-1)),e.createVNode(e.unref(we.Progress),{percentage:75,status:"success"})]),e.createElementVNode("div",na,[V[6]||(V[6]=e.createElementVNode("div",{class:"status-header"},[e.createElementVNode("span",{class:"status-label"},"内存使用"),e.createElementVNode("span",{class:"status-value"},"45%")],-1)),e.createVNode(e.unref(we.Progress),{percentage:45})]),e.createElementVNode("div",oa,[V[7]||(V[7]=e.createElementVNode("div",{class:"status-header"},[e.createElementVNode("span",{class:"status-label"},"CPU 使用率"),e.createElementVNode("span",{class:"status-value"},"32%")],-1)),e.createVNode(e.unref(we.Progress),{percentage:32})])])])])])}}}),[["__scopeId","data-v-545d4c27"]])},Symbol.toStringTag,{value:"Module"})),la={class:"user-page"},sa={class:"search-section"},ra={class:"table-section"},aa={class:"table-toolbar"},ia={class:"toolbar-left"},ca={class:"toolbar-right"},da={class:"table-count"},ma={class:"table-wrapper"},pa={class:"data-table"},fa={key:0},ua={key:1},ha={class:"col-id"},ga={class:"id-badge"},_a={class:"col-user"},Na={class:"user-info"},Ea={class:"user-avatar"},Va={class:"user-detail"},ka={class:"user-nickname"},ya={class:"user-username"},wa={class:"col-contact"},xa={class:"contact-info"},Ba={class:"contact-email"},Ca={class:"contact-phone"},ba={class:"col-roles"},$a={class:"role-tags"},Sa={class:"col-status"},Ia={class:"status-switch"},Da={class:"col-time"},Ma={class:"time-text"},La={class:"col-actions"},Ta={class:"pagination-wrapper"},Aa={class:"status-field"},Ua={class:"status-label"},jt=Object.freeze(Object.defineProperty({__proto__:null,default:fe(e.defineComponent({__name:"index",setup(s){const u=[{id:1,username:"admin",nickname:"管理员",email:"admin@example.com",phone:"13800138001",status:X.ENABLED,roles:["admin"],createTime:"2024-01-01 10:00:00"},{id:2,username:"zhangsan",nickname:"张三",email:"zhangsan@example.com",phone:"13800138002",status:X.ENABLED,roles:["editor"],createTime:"2024-01-02 10:00:00"},{id:3,username:"lisi",nickname:"李四",email:"lisi@example.com",phone:"13800138003",status:X.DISABLED,roles:["viewer"],createTime:"2024-01-03 10:00:00"},{id:4,username:"wangwu",nickname:"王五",email:"wangwu@example.com",phone:"13800138004",status:X.ENABLED,roles:["editor"],createTime:"2024-01-04 10:00:00"},{id:5,username:"zhaoliu",nickname:"赵六",email:"zhaoliu@example.com",phone:"13800138005",status:X.ENABLED,roles:["viewer"],createTime:"2024-01-05 10:00:00"}],E=e.ref(!1),m=e.ref([]),f=e.ref(0),C=e.ref(1),V=e.ref(10),g=e.reactive({keyword:"",status:void 0}),x=e.ref(!1),k=e.computed(()=>y.id?"编辑用户":"新增用户"),y=e.reactive({id:0,username:"",nickname:"",email:"",phone:"",status:X.ENABLED,roles:[]}),M={username:[{required:!0,message:"请输入用户名",trigger:"blur"}],nickname:[{required:!0,message:"请输入昵称",trigger:"blur"}],email:[{required:!0,message:"请输入邮箱",trigger:"blur"},{type:"email",message:"请输入正确的邮箱格式",trigger:"blur"}]},S=e.ref(),U=()=>{E.value=!0,setTimeout(()=>{let R=[...u];g.keyword&&(R=R.filter(i=>i.username.includes(g.keyword)||i.nickname.includes(g.keyword))),g.status!==void 0&&(R=R.filter(i=>i.status===g.status)),f.value=R.length,m.value=R.slice((C.value-1)*V.value,C.value*V.value),E.value=!1},300)},Y=()=>{C.value=1,U()},T=()=>{g.keyword="",g.status=void 0,C.value=1,U()},D=()=>{Object.assign(y,{id:0,username:"",nickname:"",email:"",phone:"",status:X.ENABLED,roles:[]}),x.value=!0},B=R=>{Object.assign(y,R),x.value=!0},w=R=>{oe.Message.success("删除成功"),U()},z=async()=>{var R;try{await((R=S.value)==null?void 0:R.validate()),oe.Message.success(y.id?"编辑成功":"新增成功"),x.value=!1,U()}catch(i){console.error(i)}},K=R=>{oe.Message.success(`已${R.status===X.ENABLED?"启用":"禁用"}用户 ${R.username}`)};return e.onMounted(()=>{U()}),(R,i)=>(e.openBlock(),e.createElementBlock("div",la,[e.createElementVNode("div",sa,[e.createVNode(e.unref(F.Form),{model:g,inline:"",class:"search-form"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.FormItem),{label:"关键词"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.Input),{modelValue:g.keyword,"onUpdate:modelValue":i[0]||(i[0]=_=>g.keyword=_),placeholder:"用户名/昵称",clearable:"",onKeyup:e.withKeys(Y,["enter"])},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(F.FormItem),{label:"状态"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.Select),{modelValue:g.status,"onUpdate:modelValue":i[1]||(i[1]=_=>g.status=_),options:e.unref(mt),placeholder:"请选择",clearable:""},null,8,["modelValue","options"])]),_:1}),e.createVNode(e.unref(F.FormItem),null,{default:e.withCtx(()=>[e.createVNode(e.unref(A.Space),null,{default:e.withCtx(()=>[e.createVNode(e.unref(A.Button),{type:"primary",onClick:Y},{icon:e.withCtx(()=>[...i[11]||(i[11]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("circle",{cx:"11",cy:"11",r:"8"}),e.createElementVNode("path",{d:"M21 21l-4.35-4.35"})],-1)])]),default:e.withCtx(()=>[i[12]||(i[12]=e.createTextVNode(" 搜索 ",-1))]),_:1}),e.createVNode(e.unref(A.Button),{onClick:T},{icon:e.withCtx(()=>[...i[13]||(i[13]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("path",{d:"M3 12a9 9 0 109-9 9.75 9.75 0 00-6.74 2.74L3 8"}),e.createElementVNode("path",{d:"M3 3v5h5"})],-1)])]),default:e.withCtx(()=>[i[14]||(i[14]=e.createTextVNode(" 重置 ",-1))]),_:1})]),_:1})]),_:1})]),_:1},8,["model"])]),e.createElementVNode("div",ra,[e.createElementVNode("div",aa,[e.createElementVNode("div",ia,[e.createVNode(e.unref(A.Button),{type:"primary",onClick:D},{icon:e.withCtx(()=>[...i[15]||(i[15]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),e.createElementVNode("line",{x1:"5",y1:"12",x2:"19",y2:"12"})],-1)])]),default:e.withCtx(()=>[i[16]||(i[16]=e.createTextVNode(" 新增用户 ",-1))]),_:1})]),e.createElementVNode("div",ca,[e.createElementVNode("span",da,"共 "+e.toDisplayString(f.value)+" 条数据",1)])]),e.createElementVNode("div",ma,[e.createElementVNode("table",pa,[i[23]||(i[23]=e.createElementVNode("thead",null,[e.createElementVNode("tr",null,[e.createElementVNode("th",{class:"col-id"},"ID"),e.createElementVNode("th",{class:"col-user"},"用户信息"),e.createElementVNode("th",{class:"col-contact"},"联系方式"),e.createElementVNode("th",{class:"col-roles"},"角色"),e.createElementVNode("th",{class:"col-status"},"状态"),e.createElementVNode("th",{class:"col-time"},"创建时间"),e.createElementVNode("th",{class:"col-actions"},"操作")])],-1)),e.createElementVNode("tbody",null,[E.value?(e.openBlock(),e.createElementBlock("tr",fa,[...i[17]||(i[17]=[e.createElementVNode("td",{colspan:"7",class:"loading-cell"},[e.createElementVNode("div",{class:"loading-content"},[e.createElementVNode("div",{class:"loading-spinner"}),e.createElementVNode("span",null,"加载中...")])],-1)])])):m.value.length===0?(e.openBlock(),e.createElementBlock("tr",ua,[...i[18]||(i[18]=[e.createElementVNode("td",{colspan:"7",class:"empty-cell"},[e.createElementVNode("div",{class:"empty-content"},[e.createElementVNode("svg",{viewBox:"0 0 64 41",fill:"none"},[e.createElementVNode("g",{transform:"translate(0 1)"},[e.createElementVNode("ellipse",{fill:"#f5f5f5",cx:"32",cy:"33",rx:"32",ry:"7"}),e.createElementVNode("g",{stroke:"var(--color-text-placeholder)","stroke-width":"2"},[e.createElementVNode("path",{d:"M55 12.76L44.854 1.258C44.367.474 43.656 0 42.907 0H21.093c-.749 0-1.46.474-1.947 1.257L9 12.761V22h46v-9.24z"}),e.createElementVNode("path",{d:"M41.613 15.931c0-1.605.994-2.93 2.227-2.931H55v18.137C55 33.26 53.68 35 52.05 35H11.95C10.32 35 9 33.259 9 31.137V13h11.16c1.233 0 2.227 1.323 2.227 2.928v.022c0 1.605 1.005 2.901 2.237 2.901h14.752c1.232 0 2.237-1.308 2.237-2.913v-.007z",fill:"var(--color-fill)"})])])]),e.createElementVNode("span",null,"暂无数据")])],-1)])])):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:2},e.renderList(m.value,_=>(e.openBlock(),e.createElementBlock("tr",{key:_.id,class:"data-row"},[e.createElementVNode("td",ha,[e.createElementVNode("span",ga,e.toDisplayString(_.id),1)]),e.createElementVNode("td",_a,[e.createElementVNode("div",Na,[e.createElementVNode("div",Ea,e.toDisplayString(_.nickname.charAt(0)),1),e.createElementVNode("div",Va,[e.createElementVNode("span",ka,e.toDisplayString(_.nickname),1),e.createElementVNode("span",ya,"@"+e.toDisplayString(_.username),1)])])]),e.createElementVNode("td",wa,[e.createElementVNode("div",xa,[e.createElementVNode("span",Ba,e.toDisplayString(_.email),1),e.createElementVNode("span",Ca,e.toDisplayString(_.phone),1)])]),e.createElementVNode("td",ba,[e.createElementVNode("div",$a,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(_.roles,H=>(e.openBlock(),e.createBlock(e.unref(we.Tag),{key:H,size:"small",type:H==="admin"?"primary":"info"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(H),1)]),_:2},1032,["type"]))),128))])]),e.createElementVNode("td",Sa,[e.createElementVNode("div",Ia,[e.createVNode(e.unref(F.Switch),{"model-value":_.status===e.unref(X).ENABLED,"onUpdate:modelValue":H=>{_.status=H?e.unref(X).ENABLED:e.unref(X).DISABLED,K(_)}},null,8,["model-value","onUpdate:modelValue"]),e.createElementVNode("span",{class:e.normalizeClass(["status-text",{enabled:_.status===e.unref(X).ENABLED}])},e.toDisplayString(_.status===e.unref(X).ENABLED?"已启用":"已禁用"),3)])]),e.createElementVNode("td",Da,[e.createElementVNode("span",Ma,e.toDisplayString(_.createTime),1)]),e.createElementVNode("td",La,[e.createVNode(e.unref(A.Space),{class:"action-buttons"},{default:e.withCtx(()=>[e.createVNode(e.unref(A.Button),{type:"primary",link:"",size:"small",onClick:H=>B(_)},{icon:e.withCtx(()=>[...i[19]||(i[19]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("path",{d:"M11 4H4a2 2 0 00-2 2v14a2 2 0 002 2h14a2 2 0 002-2v-7"}),e.createElementVNode("path",{d:"M18.5 2.5a2.121 2.121 0 013 3L12 15l-4 1 1-4 9.5-9.5z"})],-1)])]),default:e.withCtx(()=>[i[20]||(i[20]=e.createTextVNode(" 编辑 ",-1))]),_:1},8,["onClick"]),e.createVNode(e.unref(oe.Popconfirm),{title:"确定删除该用户吗?",onConfirm:H=>w(_.id)},{default:e.withCtx(()=>[e.createVNode(e.unref(A.Button),{type:"danger",link:"",size:"small"},{icon:e.withCtx(()=>[...i[21]||(i[21]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("polyline",{points:"3,6 5,6 21,6"}),e.createElementVNode("path",{d:"M19 6v14a2 2 0 01-2 2H7a2 2 0 01-2-2V6m3 0V4a2 2 0 012-2h4a2 2 0 012 2v2"}),e.createElementVNode("line",{x1:"10",y1:"11",x2:"10",y2:"17"}),e.createElementVNode("line",{x1:"14",y1:"11",x2:"14",y2:"17"})],-1)])]),default:e.withCtx(()=>[i[22]||(i[22]=e.createTextVNode(" 删除 ",-1))]),_:1})]),_:1},8,["onConfirm"])]),_:2},1024)])]))),128))])])]),e.createElementVNode("div",Ta,[e.createVNode(e.unref(we.Pagination),{"current-page":C.value,"onUpdate:currentPage":i[2]||(i[2]=_=>C.value=_),"page-size":V.value,"onUpdate:pageSize":i[3]||(i[3]=_=>V.value=_),total:f.value,"page-sizes":[10,20,50,100],layout:"total, sizes, prev, pager, next",onCurrentChange:U,onSizeChange:U},null,8,["current-page","page-size","total"])])]),e.createVNode(e.unref(oe.Modal),{modelValue:x.value,"onUpdate:modelValue":i[10]||(i[10]=_=>x.value=_),title:k.value,width:"520px",class:"user-modal"},{footer:e.withCtx(()=>[e.createVNode(e.unref(A.Space),null,{default:e.withCtx(()=>[e.createVNode(e.unref(A.Button),{onClick:i[9]||(i[9]=_=>x.value=!1)},{default:e.withCtx(()=>[...i[24]||(i[24]=[e.createTextVNode("取消",-1)])]),_:1}),e.createVNode(e.unref(A.Button),{type:"primary",onClick:z},{default:e.withCtx(()=>[...i[25]||(i[25]=[e.createTextVNode("确定",-1)])]),_:1})]),_:1})]),default:e.withCtx(()=>[e.createVNode(e.unref(F.Form),{ref_key:"formRef",ref:S,model:y,rules:M,"label-width":"80px",class:"user-form"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.FormItem),{label:"用户名",prop:"username"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.Input),{modelValue:y.username,"onUpdate:modelValue":i[4]||(i[4]=_=>y.username=_),placeholder:"请输入用户名"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(F.FormItem),{label:"昵称",prop:"nickname"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.Input),{modelValue:y.nickname,"onUpdate:modelValue":i[5]||(i[5]=_=>y.nickname=_),placeholder:"请输入昵称"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(F.FormItem),{label:"邮箱",prop:"email"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.Input),{modelValue:y.email,"onUpdate:modelValue":i[6]||(i[6]=_=>y.email=_),placeholder:"请输入邮箱"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(F.FormItem),{label:"手机号",prop:"phone"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.Input),{modelValue:y.phone,"onUpdate:modelValue":i[7]||(i[7]=_=>y.phone=_),placeholder:"请输入手机号"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(F.FormItem),{label:"状态"},{default:e.withCtx(()=>[e.createElementVNode("div",Aa,[e.createVNode(e.unref(F.Switch),{modelValue:y.status,"onUpdate:modelValue":i[8]||(i[8]=_=>y.status=_),"active-value":e.unref(X).ENABLED,"inactive-value":e.unref(X).DISABLED},null,8,["modelValue","active-value","inactive-value"]),e.createElementVNode("span",Ua,e.toDisplayString(y.status===e.unref(X).ENABLED?"启用":"禁用"),1)])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])]))}}),[["__scopeId","data-v-5d3ed390"]])},Symbol.toStringTag,{value:"Module"})),za={class:"role-page"},Oa={class:"search-section"},Fa={class:"table-section"},Ra={class:"table-toolbar"},Pa={class:"toolbar-left"},qa={class:"toolbar-right"},ja={class:"table-count"},Ha={class:"table-wrapper"},Ga={class:"data-table"},Ka={key:0},Wa={key:1},Xa={class:"col-id"},Ya={class:"id-badge"},Ja={class:"col-name"},Za={class:"role-name"},Qa={class:"col-code"},va={class:"col-desc"},ei={class:"desc-text"},ti={class:"col-status"},ni={class:"status-switch"},oi={class:"col-time"},li={class:"time-text"},si={class:"col-actions"},ri={class:"pagination-wrapper"},ai={class:"status-field"},ii={class:"status-label"},Ht=Object.freeze(Object.defineProperty({__proto__:null,default:fe(e.defineComponent({__name:"index",setup(s){const u=[{id:1,name:"超级管理员",code:"admin",description:"拥有所有权限",status:X.ENABLED,permissions:["*"],createTime:"2024-01-01 10:00:00"},{id:2,name:"编辑",code:"editor",description:"内容编辑权限",status:X.ENABLED,permissions:["user:read","user:write"],createTime:"2024-01-02 10:00:00"},{id:3,name:"访客",code:"viewer",description:"只读权限",status:X.ENABLED,permissions:["user:read"],createTime:"2024-01-03 10:00:00"}],E=e.ref(!1),m=e.ref([]),f=e.ref(0),C=e.ref(1),V=e.ref(10),g=e.reactive({keyword:"",status:void 0}),x=e.ref(!1),k=e.computed(()=>y.id?"编辑角色":"新增角色"),y=e.reactive({id:0,name:"",code:"",description:"",status:X.ENABLED,permissions:[]}),M={name:[{required:!0,message:"请输入角色名称",trigger:"blur"}],code:[{required:!0,message:"请输入角色编码",trigger:"blur"}]},S=e.ref(),U=()=>{E.value=!0,setTimeout(()=>{let R=[...u];g.keyword&&(R=R.filter(i=>i.name.includes(g.keyword)||i.code.includes(g.keyword))),g.status!==void 0&&(R=R.filter(i=>i.status===g.status)),f.value=R.length,m.value=R.slice((C.value-1)*V.value,C.value*V.value),E.value=!1},300)},Y=()=>{C.value=1,U()},T=()=>{g.keyword="",g.status=void 0,C.value=1,U()},D=()=>{Object.assign(y,{id:0,name:"",code:"",description:"",status:X.ENABLED,permissions:[]}),x.value=!0},B=R=>{Object.assign(y,R),x.value=!0},w=R=>{oe.Message.success("删除成功"),U()},z=async()=>{var R;try{await((R=S.value)==null?void 0:R.validate()),oe.Message.success(y.id?"编辑成功":"新增成功"),x.value=!1,U()}catch(i){console.error(i)}},K=R=>{oe.Message.success(`已${R.status===X.ENABLED?"启用":"禁用"}角色 ${R.name}`)};return e.onMounted(()=>{U()}),(R,i)=>(e.openBlock(),e.createElementBlock("div",za,[e.createElementVNode("div",Oa,[e.createVNode(e.unref(F.Form),{model:g,inline:"",class:"search-form"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.FormItem),{label:"关键词"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.Input),{modelValue:g.keyword,"onUpdate:modelValue":i[0]||(i[0]=_=>g.keyword=_),placeholder:"角色名称/编码",clearable:"",onKeyup:e.withKeys(Y,["enter"])},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(F.FormItem),{label:"状态"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.Select),{modelValue:g.status,"onUpdate:modelValue":i[1]||(i[1]=_=>g.status=_),options:e.unref(mt),placeholder:"请选择",clearable:""},null,8,["modelValue","options"])]),_:1}),e.createVNode(e.unref(F.FormItem),null,{default:e.withCtx(()=>[e.createVNode(e.unref(A.Space),null,{default:e.withCtx(()=>[e.createVNode(e.unref(A.Button),{type:"primary",onClick:Y},{icon:e.withCtx(()=>[...i[10]||(i[10]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("circle",{cx:"11",cy:"11",r:"8"}),e.createElementVNode("path",{d:"M21 21l-4.35-4.35"})],-1)])]),default:e.withCtx(()=>[i[11]||(i[11]=e.createTextVNode(" 搜索 ",-1))]),_:1}),e.createVNode(e.unref(A.Button),{onClick:T},{icon:e.withCtx(()=>[...i[12]||(i[12]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("path",{d:"M3 12a9 9 0 109-9 9.75 9.75 0 00-6.74 2.74L3 8"}),e.createElementVNode("path",{d:"M3 3v5h5"})],-1)])]),default:e.withCtx(()=>[i[13]||(i[13]=e.createTextVNode(" 重置 ",-1))]),_:1})]),_:1})]),_:1})]),_:1},8,["model"])]),e.createElementVNode("div",Fa,[e.createElementVNode("div",Ra,[e.createElementVNode("div",Pa,[e.createVNode(e.unref(A.Button),{type:"primary",onClick:D},{icon:e.withCtx(()=>[...i[14]||(i[14]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),e.createElementVNode("line",{x1:"5",y1:"12",x2:"19",y2:"12"})],-1)])]),default:e.withCtx(()=>[i[15]||(i[15]=e.createTextVNode(" 新增角色 ",-1))]),_:1})]),e.createElementVNode("div",qa,[e.createElementVNode("span",ja,"共 "+e.toDisplayString(f.value)+" 条数据",1)])]),e.createElementVNode("div",Ha,[e.createElementVNode("table",Ga,[i[22]||(i[22]=e.createElementVNode("thead",null,[e.createElementVNode("tr",null,[e.createElementVNode("th",{class:"col-id"},"ID"),e.createElementVNode("th",{class:"col-name"},"角色名称"),e.createElementVNode("th",{class:"col-code"},"角色编码"),e.createElementVNode("th",{class:"col-desc"},"描述"),e.createElementVNode("th",{class:"col-status"},"状态"),e.createElementVNode("th",{class:"col-time"},"创建时间"),e.createElementVNode("th",{class:"col-actions"},"操作")])],-1)),e.createElementVNode("tbody",null,[E.value?(e.openBlock(),e.createElementBlock("tr",Ka,[...i[16]||(i[16]=[e.createElementVNode("td",{colspan:"7",class:"loading-cell"},[e.createElementVNode("div",{class:"loading-content"},[e.createElementVNode("div",{class:"loading-spinner"}),e.createElementVNode("span",null,"加载中...")])],-1)])])):m.value.length===0?(e.openBlock(),e.createElementBlock("tr",Wa,[...i[17]||(i[17]=[e.createElementVNode("td",{colspan:"7",class:"empty-cell"},[e.createElementVNode("div",{class:"empty-content"},[e.createElementVNode("svg",{viewBox:"0 0 64 41",fill:"none"},[e.createElementVNode("g",{transform:"translate(0 1)"},[e.createElementVNode("ellipse",{fill:"#f5f5f5",cx:"32",cy:"33",rx:"32",ry:"7"}),e.createElementVNode("g",{stroke:"var(--color-text-placeholder)","stroke-width":"2"},[e.createElementVNode("path",{d:"M55 12.76L44.854 1.258C44.367.474 43.656 0 42.907 0H21.093c-.749 0-1.46.474-1.947 1.257L9 12.761V22h46v-9.24z"}),e.createElementVNode("path",{d:"M41.613 15.931c0-1.605.994-2.93 2.227-2.931H55v18.137C55 33.26 53.68 35 52.05 35H11.95C10.32 35 9 33.259 9 31.137V13h11.16c1.233 0 2.227 1.323 2.227 2.928v.022c0 1.605 1.005 2.901 2.237 2.901h14.752c1.232 0 2.237-1.308 2.237-2.913v-.007z",fill:"var(--color-fill)"})])])]),e.createElementVNode("span",null,"暂无数据")])],-1)])])):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:2},e.renderList(m.value,_=>(e.openBlock(),e.createElementBlock("tr",{key:_.id,class:"data-row"},[e.createElementVNode("td",Xa,[e.createElementVNode("span",Ya,e.toDisplayString(_.id),1)]),e.createElementVNode("td",Ja,[e.createElementVNode("span",Za,e.toDisplayString(_.name),1)]),e.createElementVNode("td",Qa,[e.createVNode(e.unref(we.Tag),{type:"primary",size:"small"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(_.code),1)]),_:2},1024)]),e.createElementVNode("td",va,[e.createElementVNode("span",ei,e.toDisplayString(_.description),1)]),e.createElementVNode("td",ti,[e.createElementVNode("div",ni,[e.createVNode(e.unref(F.Switch),{"model-value":_.status===e.unref(X).ENABLED,"onUpdate:modelValue":H=>{_.status=H?e.unref(X).ENABLED:e.unref(X).DISABLED,K(_)}},null,8,["model-value","onUpdate:modelValue"]),e.createElementVNode("span",{class:e.normalizeClass(["status-text",{enabled:_.status===e.unref(X).ENABLED}])},e.toDisplayString(_.status===e.unref(X).ENABLED?"已启用":"已禁用"),3)])]),e.createElementVNode("td",oi,[e.createElementVNode("span",li,e.toDisplayString(_.createTime),1)]),e.createElementVNode("td",si,[e.createVNode(e.unref(A.Space),{class:"action-buttons"},{default:e.withCtx(()=>[e.createVNode(e.unref(A.Button),{type:"primary",link:"",size:"small",onClick:H=>B(_)},{icon:e.withCtx(()=>[...i[18]||(i[18]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("path",{d:"M11 4H4a2 2 0 00-2 2v14a2 2 0 002 2h14a2 2 0 002-2v-7"}),e.createElementVNode("path",{d:"M18.5 2.5a2.121 2.121 0 013 3L12 15l-4 1 1-4 9.5-9.5z"})],-1)])]),default:e.withCtx(()=>[i[19]||(i[19]=e.createTextVNode(" 编辑 ",-1))]),_:1},8,["onClick"]),e.createVNode(e.unref(oe.Popconfirm),{title:"确定删除该角色吗?",onConfirm:H=>w(_.id)},{default:e.withCtx(()=>[e.createVNode(e.unref(A.Button),{type:"danger",link:"",size:"small"},{icon:e.withCtx(()=>[...i[20]||(i[20]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("polyline",{points:"3,6 5,6 21,6"}),e.createElementVNode("path",{d:"M19 6v14a2 2 0 01-2 2H7a2 2 0 01-2-2V6m3 0V4a2 2 0 012-2h4a2 2 0 012 2v2"}),e.createElementVNode("line",{x1:"10",y1:"11",x2:"10",y2:"17"}),e.createElementVNode("line",{x1:"14",y1:"11",x2:"14",y2:"17"})],-1)])]),default:e.withCtx(()=>[i[21]||(i[21]=e.createTextVNode(" 删除 ",-1))]),_:1})]),_:1},8,["onConfirm"])]),_:2},1024)])]))),128))])])]),e.createElementVNode("div",ri,[e.createVNode(e.unref(we.Pagination),{"current-page":C.value,"onUpdate:currentPage":i[2]||(i[2]=_=>C.value=_),"page-size":V.value,"onUpdate:pageSize":i[3]||(i[3]=_=>V.value=_),total:f.value,"page-sizes":[10,20,50,100],layout:"total, sizes, prev, pager, next",onCurrentChange:U,onSizeChange:U},null,8,["current-page","page-size","total"])])]),e.createVNode(e.unref(oe.Modal),{modelValue:x.value,"onUpdate:modelValue":i[9]||(i[9]=_=>x.value=_),title:k.value,width:"520px",class:"role-modal"},{footer:e.withCtx(()=>[e.createVNode(e.unref(A.Space),null,{default:e.withCtx(()=>[e.createVNode(e.unref(A.Button),{onClick:i[8]||(i[8]=_=>x.value=!1)},{default:e.withCtx(()=>[...i[23]||(i[23]=[e.createTextVNode("取消",-1)])]),_:1}),e.createVNode(e.unref(A.Button),{type:"primary",onClick:z},{default:e.withCtx(()=>[...i[24]||(i[24]=[e.createTextVNode("确定",-1)])]),_:1})]),_:1})]),default:e.withCtx(()=>[e.createVNode(e.unref(F.Form),{ref_key:"formRef",ref:S,model:y,rules:M,"label-width":"80px",class:"role-form"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.FormItem),{label:"角色名称",prop:"name"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.Input),{modelValue:y.name,"onUpdate:modelValue":i[4]||(i[4]=_=>y.name=_),placeholder:"请输入角色名称"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(F.FormItem),{label:"角色编码",prop:"code"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.Input),{modelValue:y.code,"onUpdate:modelValue":i[5]||(i[5]=_=>y.code=_),placeholder:"请输入角色编码"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(F.FormItem),{label:"描述"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.Input),{modelValue:y.description,"onUpdate:modelValue":i[6]||(i[6]=_=>y.description=_),placeholder:"请输入描述"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(F.FormItem),{label:"状态"},{default:e.withCtx(()=>[e.createElementVNode("div",ai,[e.createVNode(e.unref(F.Switch),{modelValue:y.status,"onUpdate:modelValue":i[7]||(i[7]=_=>y.status=_),"active-value":e.unref(X).ENABLED,"inactive-value":e.unref(X).DISABLED},null,8,["modelValue","active-value","inactive-value"]),e.createElementVNode("span",ii,e.toDisplayString(y.status===e.unref(X).ENABLED?"启用":"禁用"),1)])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])]))}}),[["__scopeId","data-v-de354764"]])},Symbol.toStringTag,{value:"Module"})),ci={class:"menu-page"},di={class:"table-section"},mi={class:"table-toolbar"},pi={class:"toolbar-left"},fi={class:"toolbar-right"},ui={class:"table-count"},hi={class:"table-wrapper"},gi={class:"data-table"},_i={key:0},Ni={key:1},Ei={class:"data-row tree-row--level-0"},Vi={class:"col-name"},ki={class:"menu-info"},yi={class:"menu-icon-wrapper"},wi=["onClick"],xi={class:"col-icon"},Bi={class:"icon-text"},Ci={class:"col-path"},bi={class:"path-code"},$i={class:"col-type"},Si={class:"col-sort"},Ii={class:"sort-badge"},Di={class:"col-status"},Mi={class:"col-actions"},Li={class:"col-name"},Ti={class:"menu-info"},Ai={class:"menu-icon-wrapper"},Ui=["onClick"],zi={class:"col-icon"},Oi={class:"icon-text"},Fi={class:"col-path"},Ri={class:"path-code"},Pi={class:"col-type"},qi={class:"col-sort"},ji={class:"sort-badge"},Hi={class:"col-status"},Gi={class:"col-actions"},Ki={class:"form-grid"},Wi={class:"status-field"},Xi={class:"status-label"},Yi={class:"status-field"},Ji={class:"status-label"},Zi={class:"status-field"},Qi={class:"status-label"},Gt=Object.freeze(Object.defineProperty({__proto__:null,default:fe(e.defineComponent({__name:"index",setup(s){const u=[{id:1,parentId:null,name:"Dashboard",path:"/dashboard",component:"dashboard/index",redirect:"",icon:"dashboard",title:"仪表盘",type:Ne.MENU,sort:1,status:X.ENABLED,hidden:!1,keepAlive:!0},{id:2,parentId:null,name:"System",path:"/system",component:"",redirect:"/system/user",icon:"setting",title:"系统管理",type:Ne.DIRECTORY,sort:2,status:X.ENABLED,hidden:!1,keepAlive:!1,children:[{id:21,parentId:2,name:"SystemUser",path:"/system/user",component:"system/user/index",redirect:"",icon:"user",title:"用户管理",type:Ne.MENU,sort:1,status:X.ENABLED,hidden:!1,keepAlive:!0},{id:22,parentId:2,name:"SystemRole",path:"/system/role",component:"system/role/index",redirect:"",icon:"role",title:"角色管理",type:Ne.MENU,sort:2,status:X.ENABLED,hidden:!1,keepAlive:!0},{id:23,parentId:2,name:"SystemMenu",path:"/system/menu",component:"system/menu/index",redirect:"",icon:"menu",title:"菜单管理",type:Ne.MENU,sort:3,status:X.ENABLED,hidden:!1,keepAlive:!0}]}],E=e.ref(!1),m=e.ref([]),f=e.ref(!1),C=e.computed(()=>V.id?"编辑菜单":"新增菜单"),V=e.reactive({id:0,parentId:null,name:"",path:"",component:"",redirect:"",icon:"",title:"",type:Ne.MENU,sort:0,status:X.ENABLED,hidden:!1,keepAlive:!0}),g={name:[{required:!0,message:"请输入菜单名称",trigger:"blur"}],path:[{required:!0,message:"请输入路由路径",trigger:"blur"}],title:[{required:!0,message:"请输入菜单标题",trigger:"blur"}]},x=e.ref(),k=()=>{E.value=!0,setTimeout(()=>{m.value=u,E.value=!1},300)},y=(D=null)=>{Object.assign(V,{id:0,parentId:D,name:"",path:"",component:"",redirect:"",icon:"",title:"",type:Ne.MENU,sort:0,status:X.ENABLED,hidden:!1,keepAlive:!0}),f.value=!0},M=D=>{Object.assign(V,D),f.value=!0},S=async()=>{var D;try{await((D=x.value)==null?void 0:D.validate()),oe.Message.success(V.id?"编辑成功":"新增成功"),f.value=!1,k()}catch(B){console.error(B)}},U=D=>({dashboard:"📊",system:"⚙️",user:"👤",role:"👥",menu:"📋",setting:"🔧"})[D||""]||"📄",Y=D=>{switch(D){case Ne.DIRECTORY:return"primary";case Ne.MENU:return"success";default:return"warning"}},T=D=>{switch(D){case Ne.DIRECTORY:return"目录";case Ne.MENU:return"菜单";default:return"按钮"}};return e.onMounted(()=>{k()}),(D,B)=>(e.openBlock(),e.createElementBlock("div",ci,[e.createElementVNode("div",di,[e.createElementVNode("div",mi,[e.createElementVNode("div",pi,[e.createVNode(e.unref(A.Button),{type:"primary",onClick:B[0]||(B[0]=w=>y())},{icon:e.withCtx(()=>[...B[14]||(B[14]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),e.createElementVNode("line",{x1:"5",y1:"12",x2:"19",y2:"12"})],-1)])]),default:e.withCtx(()=>[B[15]||(B[15]=e.createTextVNode(" 新增菜单 ",-1))]),_:1})]),e.createElementVNode("div",fi,[e.createElementVNode("span",ui,"共 "+e.toDisplayString(m.value.length)+" 个菜单",1)])]),e.createElementVNode("div",hi,[e.createElementVNode("table",gi,[B[26]||(B[26]=e.createElementVNode("thead",null,[e.createElementVNode("tr",null,[e.createElementVNode("th",{class:"col-name"},"菜单名称"),e.createElementVNode("th",{class:"col-icon"},"图标"),e.createElementVNode("th",{class:"col-path"},"路由路径"),e.createElementVNode("th",{class:"col-type"},"类型"),e.createElementVNode("th",{class:"col-sort"},"排序"),e.createElementVNode("th",{class:"col-status"},"状态"),e.createElementVNode("th",{class:"col-actions"},"操作")])],-1)),e.createElementVNode("tbody",null,[E.value?(e.openBlock(),e.createElementBlock("tr",_i,[...B[16]||(B[16]=[e.createElementVNode("td",{colspan:"7",class:"loading-cell"},[e.createElementVNode("div",{class:"loading-content"},[e.createElementVNode("div",{class:"loading-spinner"}),e.createElementVNode("span",null,"加载中...")])],-1)])])):m.value.length===0?(e.openBlock(),e.createElementBlock("tr",Ni,[...B[17]||(B[17]=[e.createElementVNode("td",{colspan:"7",class:"empty-cell"},[e.createElementVNode("div",{class:"empty-content"},[e.createElementVNode("svg",{viewBox:"0 0 64 41",fill:"none"},[e.createElementVNode("g",{transform:"translate(0 1)"},[e.createElementVNode("ellipse",{fill:"#f5f5f5",cx:"32",cy:"33",rx:"32",ry:"7"}),e.createElementVNode("g",{stroke:"var(--color-text-placeholder)","stroke-width":"2"},[e.createElementVNode("path",{d:"M55 12.76L44.854 1.258C44.367.474 43.656 0 42.907 0H21.093c-.749 0-1.46.474-1.947 1.257L9 12.761V22h46v-9.24z"}),e.createElementVNode("path",{d:"M41.613 15.931c0-1.605.994-2.93 2.227-2.931H55v18.137C55 33.26 53.68 35 52.05 35H11.95C10.32 35 9 33.259 9 31.137V13h11.16c1.233 0 2.227 1.323 2.227 2.928v.022c0 1.605 1.005 2.901 2.237 2.901h14.752c1.232 0 2.237-1.308 2.237-2.913v-.007z",fill:"var(--color-fill)"})])])]),e.createElementVNode("span",null,"暂无数据")])],-1)])])):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:2},e.renderList(m.value,w=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:w.id},[e.createElementVNode("tr",Ei,[e.createElementVNode("td",Vi,[e.createElementVNode("div",ki,[e.createElementVNode("span",yi,e.toDisplayString(U(w.icon)),1),e.createElementVNode("span",{class:"menu-title",onClick:z=>M(w)},e.toDisplayString(w.title),9,wi)])]),e.createElementVNode("td",xi,[e.createElementVNode("span",Bi,e.toDisplayString(U(w.icon)),1)]),e.createElementVNode("td",Ci,[e.createElementVNode("code",bi,e.toDisplayString(w.path),1)]),e.createElementVNode("td",$i,[e.createVNode(e.unref(we.Tag),{type:Y(w.type),size:"small"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(T(w.type)),1)]),_:2},1032,["type"])]),e.createElementVNode("td",Si,[e.createElementVNode("span",Ii,e.toDisplayString(w.sort),1)]),e.createElementVNode("td",Di,[e.createVNode(e.unref(we.Tag),{type:w.status===e.unref(X).ENABLED?"success":"danger",size:"small"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(w.status===e.unref(X).ENABLED?"启用":"禁用"),1)]),_:2},1032,["type"])]),e.createElementVNode("td",Mi,[e.createVNode(e.unref(A.Space),{class:"action-buttons"},{default:e.withCtx(()=>[e.createVNode(e.unref(A.Button),{type:"primary",link:"",size:"small",onClick:z=>y(w.id)},{icon:e.withCtx(()=>[...B[18]||(B[18]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),e.createElementVNode("line",{x1:"5",y1:"12",x2:"19",y2:"12"})],-1)])]),default:e.withCtx(()=>[B[19]||(B[19]=e.createTextVNode(" 新增 ",-1))]),_:1},8,["onClick"]),e.createVNode(e.unref(A.Button),{type:"primary",link:"",size:"small",onClick:z=>M(w)},{icon:e.withCtx(()=>[...B[20]||(B[20]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("path",{d:"M11 4H4a2 2 0 00-2 2v14a2 2 0 002 2h14a2 2 0 002-2v-7"}),e.createElementVNode("path",{d:"M18.5 2.5a2.121 2.121 0 013 3L12 15l-4 1 1-4 9.5-9.5z"})],-1)])]),default:e.withCtx(()=>[B[21]||(B[21]=e.createTextVNode(" 编辑 ",-1))]),_:1},8,["onClick"])]),_:2},1024)])]),w.children?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(w.children,z=>(e.openBlock(),e.createElementBlock("tr",{key:z.id,class:"data-row tree-row--level-1"},[e.createElementVNode("td",Li,[e.createElementVNode("div",Ti,[B[22]||(B[22]=e.createElementVNode("span",{class:"tree-indent"},null,-1)),B[23]||(B[23]=e.createElementVNode("span",{class:"tree-line"},null,-1)),e.createElementVNode("span",Ai,e.toDisplayString(U(z.icon)),1),e.createElementVNode("span",{class:"menu-title",onClick:K=>M(z)},e.toDisplayString(z.title),9,Ui)])]),e.createElementVNode("td",zi,[e.createElementVNode("span",Oi,e.toDisplayString(U(z.icon)),1)]),e.createElementVNode("td",Fi,[e.createElementVNode("code",Ri,e.toDisplayString(z.path),1)]),e.createElementVNode("td",Pi,[e.createVNode(e.unref(we.Tag),{type:Y(z.type),size:"small"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(T(z.type)),1)]),_:2},1032,["type"])]),e.createElementVNode("td",qi,[e.createElementVNode("span",ji,e.toDisplayString(z.sort),1)]),e.createElementVNode("td",Hi,[e.createVNode(e.unref(we.Tag),{type:z.status===e.unref(X).ENABLED?"success":"danger",size:"small"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(z.status===e.unref(X).ENABLED?"启用":"禁用"),1)]),_:2},1032,["type"])]),e.createElementVNode("td",Gi,[e.createVNode(e.unref(A.Space),{class:"action-buttons"},{default:e.withCtx(()=>[e.createVNode(e.unref(A.Button),{type:"primary",link:"",size:"small",onClick:K=>M(z)},{icon:e.withCtx(()=>[...B[24]||(B[24]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("path",{d:"M11 4H4a2 2 0 00-2 2v14a2 2 0 002 2h14a2 2 0 002-2v-7"}),e.createElementVNode("path",{d:"M18.5 2.5a2.121 2.121 0 013 3L12 15l-4 1 1-4 9.5-9.5z"})],-1)])]),default:e.withCtx(()=>[B[25]||(B[25]=e.createTextVNode(" 编辑 ",-1))]),_:1},8,["onClick"])]),_:2},1024)])]))),128)):e.createCommentVNode("",!0)],64))),128))])])])]),e.createVNode(e.unref(oe.Modal),{modelValue:f.value,"onUpdate:modelValue":B[13]||(B[13]=w=>f.value=w),title:C.value,width:"600px",class:"menu-modal"},{footer:e.withCtx(()=>[e.createVNode(e.unref(A.Space),null,{default:e.withCtx(()=>[e.createVNode(e.unref(A.Button),{onClick:B[12]||(B[12]=w=>f.value=!1)},{default:e.withCtx(()=>[...B[27]||(B[27]=[e.createTextVNode("取消",-1)])]),_:1}),e.createVNode(e.unref(A.Button),{type:"primary",onClick:S},{default:e.withCtx(()=>[...B[28]||(B[28]=[e.createTextVNode("确定",-1)])]),_:1})]),_:1})]),default:e.withCtx(()=>[e.createVNode(e.unref(F.Form),{ref_key:"formRef",ref:x,model:V,rules:g,"label-width":"80px",class:"menu-form"},{default:e.withCtx(()=>[e.createElementVNode("div",Ki,[e.createVNode(e.unref(F.FormItem),{label:"上级菜单",class:"form-item-full"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.Input),{modelValue:V.parentId,"onUpdate:modelValue":B[1]||(B[1]=w=>V.parentId=w),placeholder:"上级菜单ID",disabled:""},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(F.FormItem),{label:"菜单类型"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.Select),{modelValue:V.type,"onUpdate:modelValue":B[2]||(B[2]=w=>V.type=w),options:e.unref(Pt)},null,8,["modelValue","options"])]),_:1}),e.createVNode(e.unref(F.FormItem),{label:"排序"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.InputNumber),{modelValue:V.sort,"onUpdate:modelValue":B[3]||(B[3]=w=>V.sort=w),min:0},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(F.FormItem),{label:"菜单名称",prop:"name"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.Input),{modelValue:V.name,"onUpdate:modelValue":B[4]||(B[4]=w=>V.name=w),placeholder:"请输入菜单名称(路由name)"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(F.FormItem),{label:"菜单标题",prop:"title"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.Input),{modelValue:V.title,"onUpdate:modelValue":B[5]||(B[5]=w=>V.title=w),placeholder:"请输入菜单标题"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(F.FormItem),{label:"路由路径",prop:"path",class:"form-item-full"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.Input),{modelValue:V.path,"onUpdate:modelValue":B[6]||(B[6]=w=>V.path=w),placeholder:"请输入路由路径"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(F.FormItem),{label:"组件路径",class:"form-item-full"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.Input),{modelValue:V.component,"onUpdate:modelValue":B[7]||(B[7]=w=>V.component=w),placeholder:"请输入组件路径"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(F.FormItem),{label:"图标"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.Input),{modelValue:V.icon,"onUpdate:modelValue":B[8]||(B[8]=w=>V.icon=w),placeholder:"请输入图标名称"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(F.FormItem),{label:"状态"},{default:e.withCtx(()=>[e.createElementVNode("div",Wi,[e.createVNode(e.unref(F.Switch),{modelValue:V.status,"onUpdate:modelValue":B[9]||(B[9]=w=>V.status=w),"active-value":e.unref(X).ENABLED,"inactive-value":e.unref(X).DISABLED},null,8,["modelValue","active-value","inactive-value"]),e.createElementVNode("span",Xi,e.toDisplayString(V.status===e.unref(X).ENABLED?"启用":"禁用"),1)])]),_:1}),e.createVNode(e.unref(F.FormItem),{label:"隐藏"},{default:e.withCtx(()=>[e.createElementVNode("div",Yi,[e.createVNode(e.unref(F.Switch),{modelValue:V.hidden,"onUpdate:modelValue":B[10]||(B[10]=w=>V.hidden=w)},null,8,["modelValue"]),e.createElementVNode("span",Ji,e.toDisplayString(V.hidden?"隐藏":"显示"),1)])]),_:1}),e.createVNode(e.unref(F.FormItem),{label:"缓存"},{default:e.withCtx(()=>[e.createElementVNode("div",Zi,[e.createVNode(e.unref(F.Switch),{modelValue:V.keepAlive,"onUpdate:modelValue":B[11]||(B[11]=w=>V.keepAlive=w)},null,8,["modelValue"]),e.createElementVNode("span",Qi,e.toDisplayString(V.keepAlive?"开启":"关闭"),1)])]),_:1})])]),_:1},8,["model"])]),_:1},8,["modelValue","title"])]))}}),[["__scopeId","data-v-e7cc9235"]])},Symbol.toStringTag,{value:"Module"}));$.Footer=hs,$.Forbidden=Hs,$.Gender=Rt,$.GenderOptions=Cr,$.GenderText=xr,$.Header=bt,$.Layout=at,$.Login=At,$.MenuType=Ne,$.MenuTypeOptions=Pt,$.MenuTypeText=Br,$.NotFound=Ut,$.Sidebar=rt,$.Status=X,$.StatusOptions=mt,$.StatusText=wr,$.Tabs=ms,$.appConfig=Wt,$.batchDeleteUsers=Vr,$.clearToken=Me,$.createLayoutRoute=tr,$.createMenu=dr,$.createRole=sr,$.createRouter=nr,$.createUser=_r,$.createXtoApp=$r,$.defaultDynamicRoutes=Qs,$.deleteMenu=pr,$.deleteRole=ar,$.deleteUser=Er,$.getApiBaseUrl=ht,$.getAppId=Ae,$.getClientId=Xe,$.getCode=Qt,$.getMenuList=cr,$.getMenuTree=Ft,$.getRefreshTime=Zt,$.getRefreshToken=Jt,$.getRoleDetail=lr,$.getRoleList=or,$.getToken=Fe,$.getTokenExpire=kt,$.getTokenType=Nt,$.getUserDetail=gr,$.getUserInfo=Tt,$.getUserList=hr,$.hasPermission=Ys,$.hasRole=Js,$.hasToken=st,$.http=le,$.initAppConfig=ut,$.isAdmin=Zs,$.isTokenExpired=Bt,$.layoutRoute=ct,$.local=G,$.localStorageUtil=ze,$.login=Lt,$.logout=Bs,$.mockMenuData=Ot,$.permissionDirective=br,$.refreshToken=Cs,$.resetPassword=yr,$.resetRouter=er,$.router=dt,$.session=Xt,$.sessionStorageUtil=Oe,$.setCode=xt,$.setRefreshTime=wt,$.setRefreshToken=Vt,$.setToken=_t,$.setTokenExpire=yt,$.setTokenInfo=lt,$.setTokenType=Et,$.setupRouterGuards=ur,$.staticRoutes=it,$.updateMenu=mr,$.updateRole=rr,$.updateRoleStatus=ir,$.updateUser=Nr,$.updateUserStatus=kr,$.useApp=Gs,$.useAppStore=Ce,$.useAuth=Ks,$.useAuthStore=Le,$.useForm=Ws,$.useMenuStore=De,$.useTable=Xs,$.useUserStore=ke,Object.defineProperty($,Symbol.toStringTag,{value:"Module"})});
package/dist/main.d.ts ADDED
File without changes