xto-fronted 0.4.93 → 0.4.95

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 (92) hide show
  1. package/dist/assets/404-C9Uh6Uu-.css +1 -0
  2. package/dist/assets/404-zjGLLssH.js +1 -0
  3. package/dist/assets/_plugin-vue_export-helper-DlAUqK2U.js +1 -0
  4. package/dist/assets/index-B5xc4gQB.css +1 -0
  5. package/dist/assets/index-BDgOY6Rp.js +1 -0
  6. package/dist/assets/index-BIoRANs0.js +1 -0
  7. package/dist/assets/index-BRR97dc6.js +1 -0
  8. package/dist/assets/index-Bz0BgZQ1.js +1 -0
  9. package/dist/assets/index-CAdztNsv.css +1 -0
  10. package/dist/assets/index-CCXrcISf.css +1 -0
  11. package/dist/assets/index-CfpZmcpk.css +1 -0
  12. package/dist/assets/index-CwJSA85U.js +1 -0
  13. package/dist/assets/index-CwRA10ac.js +1 -0
  14. package/dist/assets/index-D8NDxq9d.js +1 -0
  15. package/dist/assets/index-DEB6-Iv_.js +2 -0
  16. package/dist/assets/index-DM4Ezclc.css +1 -0
  17. package/dist/assets/index-DYv7nImj.css +1 -0
  18. package/dist/assets/index-t-2Y0KhA.css +1 -0
  19. package/dist/assets/vendor-CUVPinTg.js +13 -0
  20. package/dist/assets/vue-vendor-DeJXJVbN.js +29 -0
  21. package/dist/assets/xto-base-CL2NKZJJ.css +1 -0
  22. package/dist/assets/xto-base-PwLGsxxb.js +1 -0
  23. package/dist/assets/xto-business--V1F5Gwb.css +1 -0
  24. package/dist/assets/xto-core-CtL4zKiV.js +1 -0
  25. package/dist/assets/xto-data-MxZsiJgi.css +1 -0
  26. package/dist/assets/xto-data-bCXQa7fT.js +1 -0
  27. package/dist/assets/xto-feedback-Bxx38c3P.css +1 -0
  28. package/dist/assets/xto-feedback-CPydp0kn.js +1 -0
  29. package/dist/assets/xto-form-Cu6q3VLG.css +1 -0
  30. package/dist/assets/xto-form-bywohdAf.js +1 -0
  31. package/dist/assets/xto-layout-BDD6sSlM.css +1 -0
  32. package/dist/assets/xto-navigation-Bbdpine9.js +1 -0
  33. package/dist/assets/xto-navigation-XfpyMpEo.css +1 -0
  34. package/dist/components/Layout/MixTopMenu.vue.d.ts +6 -1
  35. package/dist/components/Layout/Sidebar.vue.d.ts +2 -0
  36. package/dist/components/Layout/TopMenu.vue.d.ts +6 -1
  37. package/dist/components/Layout/index.vue.d.ts +6 -1
  38. package/dist/{index-D59X6HmM.js → index-3ekBp4iW.js} +2 -2
  39. package/dist/{index-Cp8kqjtv.js → index-58aI1w0v.js} +2 -2
  40. package/dist/{index-me_Uu2lk.js → index-A_B_Ap_A.js} +1560 -1590
  41. package/dist/{index-lJrh5CFc.js → index-B5DLfOYb.js} +23 -23
  42. package/dist/index-BAmYUT0G.js +189 -0
  43. package/dist/{index-B4U8Dy2W.js → index-BK4Mut6H.js} +2 -2
  44. package/dist/index-BRvi9qW-.js +515 -0
  45. package/dist/index-BVGW4DDQ.js +189 -0
  46. package/dist/index-BXg94yA2.js +515 -0
  47. package/dist/index-Bmf0YbVq.js +189 -0
  48. package/dist/index-C2-a5KSQ.js +4233 -0
  49. package/dist/index-CAHSv7LK.js +4285 -0
  50. package/dist/index-CeZ0CSSs.js +641 -0
  51. package/dist/index-Cf8E7FM1.js +4270 -0
  52. package/dist/index-CgyQqbdx.js +189 -0
  53. package/dist/index-ChowNrlU.js +641 -0
  54. package/dist/index-D25KzR0I.js +479 -0
  55. package/dist/index-DCBIjLHy.js +515 -0
  56. package/dist/index-DEYOivza.js +641 -0
  57. package/dist/index-DReodgBw.js +4233 -0
  58. package/dist/index-DjERNRXX.js +515 -0
  59. package/dist/index-LSdsO2Ox.js +479 -0
  60. package/dist/index-UJixTdep.js +479 -0
  61. package/dist/index-gBlRG4kk.js +479 -0
  62. package/dist/index-xWU3J3OH.js +641 -0
  63. package/dist/index.es.js +1 -1
  64. package/dist/index.html +28 -0
  65. package/dist/index.umd.js +8 -8
  66. package/dist/style.css +1 -1
  67. package/package.json +91 -91
  68. package/src/App.vue +48 -48
  69. package/src/assets/styles/_dark.scss +639 -639
  70. package/src/assets/styles/_root.scss +183 -183
  71. package/src/assets/styles/_variables.scss +69 -69
  72. package/src/assets/styles/index.scss +460 -460
  73. package/src/components/Layout/MixTopMenu.vue +8 -1
  74. package/src/components/Layout/Sidebar.vue +200 -198
  75. package/src/components/Layout/SidebarMenuItem.vue +158 -158
  76. package/src/components/Layout/TopMenu.vue +1177 -1170
  77. package/src/components/Layout/index.vue +199 -192
  78. package/src/composables/useI18n.ts +43 -43
  79. package/src/index.ts +100 -100
  80. package/src/router/layoutRoute.ts +59 -59
  81. package/src/stores/index.ts +15 -15
  82. package/src/stores/locale.ts +66 -66
  83. package/src/types/json-bigint.d.ts +18 -18
  84. package/src/types/xto.d.ts +172 -172
  85. package/src/utils/request.ts +184 -184
  86. package/src/views/dashboard/index.vue +545 -545
  87. package/src/views/error/403.vue +251 -251
  88. package/src/views/error/404.vue +253 -253
  89. package/src/views/login/index.vue +586 -586
  90. package/src/views/system/menu/index.vue +690 -690
  91. package/src/views/system/role/index.vue +583 -583
  92. package/src/views/system/user/index.vue +655 -655
package/dist/index.umd.js CHANGED
@@ -1,8 +1,8 @@
1
- (function(b,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/core/locale"),require("@xto/data")):typeof define=="function"&&define.amd?define(["exports","vue","pinia","vue-router","@xto/navigation","@xto/base","@xto/feedback","@xto/form","axios","@xto/core/locale","@xto/data"],e):(b=typeof globalThis<"u"?globalThis:b||self,e(b.XtoFronted={},b.Vue,b.Pinia,b.VueRouter,b.navigation,b.base,b.feedback,b.form,b.axios,b.locale$1,b.data))})(this,function(b,e,Ae,ce,Ne,A,oe,P,Zt,Ye,we){"use strict";const qe=e.ref(""),je=e.ref(""),He=e.ref("");function Nt(l){l.appId&&(qe.value=l.appId),l.clientId&&(je.value=l.clientId),l.apiBaseUrl&&(He.value=l.apiBaseUrl)}function Ue(){if(qe.value)return qe.value;try{return""}catch{return""}}function Je(){if(je.value)return je.value;try{return""}catch{return""}}function _t(){if(He.value)return He.value;try{return""}catch{return""}}const Qt={appId:qe,clientId:je,apiBaseUrl:He},ze="xto_",Et=l=>({get(c){const g=l.getItem(ze+c);if(!g)return null;try{return JSON.parse(g)}catch{return g}},set(c,g){if(g==null){l.removeItem(ze+c);return}const p=typeof g=="string"?g:JSON.stringify(g);l.setItem(ze+c,p)},remove(c){l.removeItem(ze+c)},clear(){Object.keys(l).forEach(g=>{g.startsWith(ze)&&l.removeItem(g)})}}),Oe=Et(window.localStorage),Fe=Et(window.sessionStorage),H={get:Oe.get,set:Oe.set,remove:Oe.remove,clear:Oe.clear},vt={get:Fe.get,set:Fe.set,remove:Fe.remove,clear:Fe.clear},be=Ae.defineStore("app",()=>{const l=e.ref(H.get("appName")||"XTO App"),c=e.ref(H.get("indexPath")||"/dashboard"),g=e.ref(H.get("isDark")||!1),p=e.ref(H.get("theme")||"light"),d=e.ref(H.get("layout")||"sidebar"),B=e.ref(H.get("isCollapsed")||!1),V=e.ref(H.get("showTabs")??!0),h=e.ref(H.get("showFooter")??!0),w=e.ref(H.get("showBreadcrumb")??!0),k=e.ref(H.get("primaryColor")||"#409eff"),y=e.ref([]),L=e.ref([]),$=e.computed(()=>g.value?"dark":"light"),U=q=>{l.value=q,H.set("appName",q)},Y=q=>{c.value=q,H.set("indexPath",q)},T=()=>{g.value=!g.value,p.value=g.value?"dark":"light",C()},M=q=>{p.value=q,g.value=q==="dark",C()},C=()=>{const q=document.documentElement;g.value?q.classList.add("dark"):q.classList.remove("dark"),H.set("isDark",g.value),H.set("theme",p.value)},x=()=>{B.value=!B.value,H.set("isCollapsed",B.value)},z=q=>{d.value=q,H.set("layout",q)},K=()=>{V.value=!V.value,H.set("showTabs",V.value)},O=()=>{h.value=!h.value,H.set("showFooter",h.value)},i=()=>{w.value=!w.value,H.set("showBreadcrumb",w.value)},_=q=>{k.value=q,document.documentElement.style.setProperty("--color-primary",q),H.set("primaryColor",q)},G=q=>{y.value.includes(q)||y.value.push(q)},J=q=>{const ne=y.value.indexOf(q);ne>-1&&y.value.splice(ne,1)},D=()=>{y.value=[]},ee=q=>{L.value=q},Z=()=>{C(),k.value!=="#409eff"&&document.documentElement.style.setProperty("--color-primary",k.value)};return e.watch(g,C),{appName:l,indexPath:c,isDark:g,theme:p,layout:d,isCollapsed:B,showTabs:V,showFooter:h,showBreadcrumb:w,primaryColor:k,cachedViews:y,mixSubMenus:L,themeClass:$,setAppName:U,setIndexPath:Y,toggleTheme:T,toggleCollapse:x,setTheme:M,setLayout:z,toggleTabs:K,toggleFooter:O,toggleBreadcrumb:i,setPrimaryColor:_,addCachedView:G,removeCachedView:J,clearCachedViews:D,setMixSubMenus:ee,initTheme:Z}}),Ze="menu_list",Qe="permission_list",en={menuCode:"home",menuName:"首页",menuUrl:"/dashboard",icon:"home",closable:!1,isDefault:!1,isOut:!1};function Vt(l){return l.filter(c=>c.type!==1).map(c=>({...c,children:c.children?Vt(c.children):void 0}))}function tn(l){const c=[];function g(p){p.forEach(d=>{d.type===1&&d.menuCode&&c.push(d.menuCode),d.children&&g(d.children)})}return g(l),c}const xe=Ae.defineStore("menu",()=>{const l=e.ref(H.get(Ze)||[]),c=e.ref(H.get(Qe)||[]),g=e.computed(()=>l.value.length>0);return{menuList:l,permissions:c,hasMenu:g,setMenuList:V=>{c.value=tn(V),H.set(Qe,c.value);const h=Vt(V);l.value=[en,...h],H.set(Ze,l.value)},clearMenu:()=>{l.value=[],c.value=[],H.remove(Ze),H.remove(Qe)},hasPermission:V=>Array.isArray(V)?V.some(h=>c.value.includes(h)):c.value.includes(V)}}),ve="/vite.svg",et="user_info",ke=Ae.defineStore("user",()=>{const l=e.ref(H.get(et)),c=e.computed(()=>!!l.value),g=e.computed(()=>{var L;return((L=l.value)==null?void 0:L.userId)||""}),p=e.computed(()=>{var L;return((L=l.value)==null?void 0:L.userName)||""}),d=e.computed(()=>{var L;return((L=l.value)==null?void 0:L.departmentName)||""}),B=e.computed(()=>{var L;return((L=l.value)==null?void 0:L.email)||""}),V=e.computed(()=>{var L;return((L=l.value)==null?void 0:L.mobilePhone)||""}),h=e.computed(()=>{var L;return((L=l.value)==null?void 0:L.positionName)||""}),w=e.computed(()=>{var L;return((L=l.value)==null?void 0:L.avatar)||""});return{userInfo:l,isLoggedIn:c,userId:g,userName:p,departmentName:d,email:B,mobilePhone:V,positionName:h,avatar:w,setUserInfo:L=>{l.value=L,H.set(et,L)},clearUserInfo:()=>{l.value=null,H.remove(et)}}}),tt="token",nt="token_type",ot="refresh_token",lt="expires_time",st="refresh_time",rt="code",Pe=()=>H.get(tt),kt=l=>{H.set(tt,l)},yt=()=>H.get(nt),wt=l=>{H.set(nt,l)},nn=()=>H.get(ot),xt=l=>{H.set(ot,l)},Ct=()=>H.get(lt),Bt=l=>{H.set(lt,l)},on=()=>H.get(st),bt=l=>{H.set(st,l)},ln=()=>H.get(rt),St=l=>{H.set(rt,l)},at=l=>{kt(l.access_token),wt(l.token_type||"Bearer"),xt(l.refresh_token),Bt(l.expires_time),bt(l.refresh_time),l.code&&St(l.code)},De=()=>{H.remove(tt),H.remove(nt),H.remove(ot),H.remove(lt),H.remove(st),H.remove(rt)},$t=()=>{const l=Ct();return l?Date.now()>l:!0},it=()=>!!Pe()&&!$t(),Te=Ae.defineStore("auth",()=>{const l=e.ref(Pe()),c=e.computed(()=>it()),g=e.ref(""),p=e.ref(""),d=e.ref(""),B=e.ref("/login");return{token:l,isLoggedIn:c,baseUrl:g,appId:p,clientId:d,loginPath:B,login:$=>{l.value=$.access_token,at($)},logout:()=>{l.value=null,De()},setBaseUrl:$=>{g.value=$},setAppId:$=>{p.value=$},setClientId:$=>{d.value=$},setLoginPath:$=>{B.value=$}}}),sn={class:"menu-item__content"},rn={class:"menu-item__icon"},an={key:1,class:"menu-item__char"},cn={class:"menu-item__text"},dn={class:"menu-item__content"},mn={key:0,class:"menu-item__icon"},pn={key:1,class:"menu-item__char"},fn={class:"menu-item__text"},un=e.defineComponent({__name:"SidebarMenuItem",props:{menu:{}},setup(l){const c=l,g=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"]),p=h=>{if(!h||h==="")return"";if(h.startsWith("tineco-icon-")){const k=h.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"}[h]||h},d=h=>h?h.charAt(0):"",B=h=>g.has(h),V=e.computed(()=>c.menu.children&&c.menu.children.length>0);return(h,w)=>{const k=e.resolveComponent("SidebarMenuItem",!0);return V.value?(e.openBlock(),e.createBlock(e.unref(Ne.SubMenu),{key:0,index:l.menu.menuUrl},{title:e.withCtx(()=>[e.createElementVNode("span",sn,[e.createElementVNode("span",rn,[B(p(l.menu.icon))?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:p(l.menu.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",an,e.toDisplayString(d(l.menu.menuName)),1))]),e.createElementVNode("span",cn,e.toDisplayString(l.menu.menuName),1)])]),default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.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(Ne.MenuItem),{key:1,index:l.menu.menuUrl},{default:e.withCtx(()=>[e.createElementVNode("span",dn,[l.menu.menuName!=="首页"?(e.openBlock(),e.createElementBlock("span",mn,[B(p(l.menu.icon))?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:p(l.menu.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",pn,e.toDisplayString(d(l.menu.menuName)),1))])):e.createCommentVNode("",!0),e.createElementVNode("span",fn,e.toDisplayString(l.menu.menuName),1)])]),_:1},8,["index"]))}}}),fe=(l,c)=>{const g=l.__vccOpts||l;for(const[p,d]of c)g[p]=d;return g},hn=fe(un,[["__scopeId","data-v-d160ae6a"]]),gn={key:0,class:"sidebar__logo"},Nn={key:1,class:"sidebar__user"},_n={class:"sidebar__user-info"},En={class:"sidebar__user-name"},Vn={class:"sidebar__user-role"},It="sidebar_opened_menus",ct=fe(e.defineComponent({__name:"Sidebar",props:{menuList:{default:()=>[]},showLogo:{type:Boolean,default:!0},showUser:{type:Boolean,default:!0}},setup(l){const c=l,g=ce.useRoute(),p=ce.useRouter(),d=xe(),B=ke(),V=Te(),h=be(),w=e.computed(()=>c.menuList.length>0?c.menuList:d.menuList),k=e.computed(()=>h.isCollapsed),y=e.computed(()=>g.path),L=e.ref(H.get(It)||[]);e.watch(L,x=>{H.set(It,x)},{deep:!0});const $=(x,z,K=[])=>{var O;for(const i of x){if(z===i.menuUrl||z.startsWith(i.menuUrl+"/"))return[...K,i.menuUrl];if((O=i.children)!=null&&O.length){const _=$(i.children,z,[...K,i.menuUrl]);if(_)return _}}return null};e.watch([()=>g.path,w],([x,z])=>{if(z.length>0){const K=$(z,x);if(K){const O=K.slice(0,-1),i=new Set([...L.value,...O]);L.value=Array.from(i)}}},{immediate:!0});const U=e.computed(()=>h.isDark?"#1d1e1f":"#fff"),Y=e.computed(()=>h.isDark?"#cfd3dc":"#303133"),T=e.computed(()=>"#409eff"),M=x=>{x&&x!==g.path&&p.push(x)},C=()=>{V.logout(),B.clearUserInfo(),d.clearMenu(),p.push("/login")};return(x,z)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["sidebar",{"sidebar--collapsed":k.value}])},[c.showLogo?(e.openBlock(),e.createElementBlock("div",gn,[z[2]||(z[2]=e.createElementVNode("img",{src:ve,alt:"Logo",class:"sidebar__logo-img"},null,-1)),e.withDirectives(e.createElementVNode("span",{class:"sidebar__logo-text"},e.toDisplayString(e.unref(h).appName),513),[[e.vShow,!k.value]])])):e.createCommentVNode("",!0),e.createVNode(e.unref(Ne.Menu),{modelValue:y.value,"onUpdate:modelValue":z[0]||(z[0]=K=>y.value=K),openeds:L.value,"onUpdate:openeds":z[1]||(z[1]=K=>L.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:M},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(w.value,K=>(e.openBlock(),e.createBlock(hn,{key:K.menuUrl,menu:K},null,8,["menu"]))),128))]),_:1},8,["modelValue","openeds","collapse","background-color","text-color","active-text-color"]),c.showUser&&!k.value?(e.openBlock(),e.createElementBlock("div",Nn,[e.createElementVNode("div",_n,[e.createElementVNode("span",En,e.toDisplayString(e.unref(B).userName),1),e.createElementVNode("span",Vn,e.toDisplayString(e.unref(B).departmentName),1)]),e.createVNode(e.unref(A.Button),{type:"text",size:"small",onClick:C},{default:e.withCtx(()=>[...z[3]||(z[3]=[e.createTextVNode("退出",-1)])]),_:1})])):e.createCommentVNode("",!0)],2))}}),[["__scopeId","data-v-4138a8d5"]]),kn={class:"header"},yn={class:"header__left"},wn={key:0,class:"header__breadcrumb"},xn={key:0,class:"breadcrumb-separator"},Cn={class:"header__right"},Bn={key:0,class:"header__search-dropdown"},bn={key:0,class:"header__search-results"},Sn=["onClick"],$n={key:0,class:"header__search-icon"},In={key:1,class:"header__search-char"},Mn={class:"header__search-item-title"},Ln={key:1,class:"header__search-item-parent"},Dn={key:1,class:"header__search-empty"},Tn=["title"],An={class:"header__avatar"},Un={class:"header__user-name"},zn={key:0,class:"header__dropdown"},On={class:"header__dropdown-header"},Fn={class:"header__dropdown-avatar"},Pn={class:"header__dropdown-info"},Rn={class:"header__dropdown-name"},qn={class:"header__dropdown-role"},jn={class:"header__dropdown-menu"},Hn={class:"settings-drawer"},Gn={class:"settings-section"},Kn={class:"settings-layout-options"},Wn=["onClick"],Xn={class:"layout-option__preview"},Yn={key:0,class:"layout-preview-sidebar"},Jn={key:1,class:"layout-preview-top"},Zn={key:2,class:"layout-preview-mix"},Qn={class:"layout-option__label"},vn={class:"settings-section"},eo={class:"settings-color-options"},to=["title","onClick"],no={class:"settings-section"},oo={class:"settings-switch-list"},lo={class:"settings-switch-item"},so={class:"settings-switch-item"},Mt=fe(e.defineComponent({__name:"Header",setup(l){const c=ce.useRoute(),g=ce.useRouter(),p=be(),d=ke(),B=Te(),V=xe(),h=e.ref(!1),w=e.ref(!1),k=e.ref(null),y=e.ref(!1),L=e.ref(!1),$=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"}],M=[{value:"#409eff",label:"默认蓝"},{value:"#1890ff",label:"科技蓝"},{value:"#52c41a",label:"极光绿"},{value:"#faad14",label:"日落橙"},{value:"#f5222d",label:"薄暮红"},{value:"#722ed1",label:"酱紫"}],C=e.computed(()=>c.matched.filter(F=>F.meta&&F.meta.title).map(F=>({title:F.meta.title,path:F.path}))),x=(W,F="")=>{const n=[];return W.forEach(t=>{t.children&&t.children.length>0?n.push(...x(t.children,t.menuName)):n.push({...t,parentTitle:F,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},O=W=>W?W.charAt(0):"",i=W=>z.has(W),_=e.computed(()=>$.value.trim()?x(V.menuList).filter(F=>F.title.toLowerCase().includes($.value.toLowerCase())):[]),G=e.computed(()=>p.layout),J=()=>{p.toggleCollapse()},D=()=>{p.toggleTheme()},ee=()=>{w.value=!0},Z=W=>{p.setLayout(W),w.value=!1},q=W=>{Y.value=W;const F=document.documentElement;W?F.classList.add("grey-mode"):F.classList.remove("grey-mode")},ne=()=>{q(!Y.value),w.value=!1},se=()=>{p.toggleTheme(),w.value=!1},Ee=()=>{document.fullscreenElement?document.exitFullscreen():document.documentElement.requestFullscreen()},re=()=>{y.value=!!document.fullscreenElement},ue=()=>{h.value=!h.value},he=()=>{h.value=!1},me=()=>{L.value=!1,$.value=""},Se=W=>{g.push(W),me()},Ve=W=>{p.setPrimaryColor(W),w.value=!1},$e=()=>{he(),g.push("/profile")},I=()=>{he(),g.push("/change-password")},Ie=()=>{he(),B.logout(),d.clearUserInfo(),V.clearMenu(),g.push("/login")},Me=W=>{k.value&&!k.value.contains(W.target)&&he(),U.value&&!U.value.contains(W.target)&&me()},Ce=W=>{W.key==="Escape"&&(me(),he())};return e.onMounted(()=>{document.addEventListener("click",Me),document.addEventListener("fullscreenchange",re),document.addEventListener("keydown",Ce),p.initTheme(),Y.value=document.documentElement.classList.contains("grey-mode")}),e.onUnmounted(()=>{document.removeEventListener("click",Me),document.removeEventListener("fullscreenchange",re),document.removeEventListener("keydown",Ce)}),(W,F)=>{var n;return e.openBlock(),e.createElementBlock("div",kn,[e.createElementVNode("div",yn,[e.createElementVNode("div",{class:"header__collapse",onClick:J},[e.createVNode(e.unref(A.Icon),{name:e.unref(p).isCollapsed?"menu-unfold":"menu-fold",size:18},null,8,["name"])]),e.unref(p).showBreadcrumb?(e.openBlock(),e.createElementBlock("div",wn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(C.value,(t,s)=>(e.openBlock(),e.createElementBlock("span",{key:t.path},[s>0?(e.openBlock(),e.createElementBlock("span",xn,"/")):e.createCommentVNode("",!0),e.createElementVNode("span",{class:e.normalizeClass({"is-current":s===C.value.length-1})},e.toDisplayString(t.title),3)]))),128))])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Cn,[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":F[0]||(F[0]=t=>$.value=t),type:"text",class:"header__search-input",placeholder:"搜索菜单...",onFocus:F[1]||(F[1]=t=>L.value=!0)},null,544),[[e.vModelText,$.value]]),e.createVNode(e.Transition,{name:"search-dropdown"},{default:e.withCtx(()=>[L.value&&(_.value.length>0||$.value)?(e.openBlock(),e.createElementBlock("div",Bn,[_.value.length>0?(e.openBlock(),e.createElementBlock("div",bn,[(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:s=>Se(t.path)},[t.title!=="首页"?(e.openBlock(),e.createElementBlock("span",$n,[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",In,e.toDisplayString(O(t.title)),1))])):e.createCommentVNode("",!0),e.createElementVNode("span",Mn,e.toDisplayString(t.title),1),t.parentTitle?(e.openBlock(),e.createElementBlock("span",Ln,e.toDisplayString(t.parentTitle),1)):e.createCommentVNode("",!0)],8,Sn))),128))])):(e.openBlock(),e.createElementBlock("div",Dn," 未找到匹配的菜单 "))])):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,Tn),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:D,title:"切换主题"},[e.createVNode(e.unref(A.Icon),{name:e.unref(p).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",An,[e.createElementVNode("span",null,e.toDisplayString(((n=e.unref(d).userName)==null?void 0:n.charAt(0))||"U"),1)]),e.createElementVNode("span",Un,e.toDisplayString(e.unref(d).userName),1),e.createElementVNode("span",{class:e.normalizeClass(["header__user-arrow",{"is-active":h.value}])},"▼",2)]),e.createVNode(e.Transition,{name:"dropdown"},{default:e.withCtx(()=>{var t;return[h.value?(e.openBlock(),e.createElementBlock("div",zn,[e.createElementVNode("div",On,[e.createElementVNode("div",Fn,[e.createElementVNode("span",null,e.toDisplayString(((t=e.unref(d).userName)==null?void 0:t.charAt(0))||"U"),1)]),e.createElementVNode("div",Pn,[e.createElementVNode("div",Rn,e.toDisplayString(e.unref(d).userName),1),e.createElementVNode("div",qn,e.toDisplayString(e.unref(d).departmentName),1)])]),F[7]||(F[7]=e.createElementVNode("div",{class:"header__dropdown-divider"},null,-1)),e.createElementVNode("div",jn,[e.createElementVNode("div",{class:"header__dropdown-item",onClick:$e},[e.createVNode(e.unref(A.Icon),{name:"user",size:16}),F[3]||(F[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}),F[4]||(F[4]=e.createElementVNode("span",null,"修改密码",-1))]),F[6]||(F[6]=e.createElementVNode("div",{class:"header__dropdown-divider"},null,-1)),e.createElementVNode("div",{class:"header__dropdown-item header__dropdown-item--danger",onClick:Ie},[e.createVNode(e.unref(A.Icon),{name:"logout",size:16}),F[5]||(F[5]=e.createElementVNode("span",null,"退出登录",-1))])])])):e.createCommentVNode("",!0)]}),_:1})],512)]),e.createVNode(e.unref(oe.Drawer),{modelValue:w.value,"onUpdate:modelValue":F[2]||(F[2]=t=>w.value=t),title:"换肤设置",direction:"rtl",size:"320px"},{default:e.withCtx(()=>[e.createElementVNode("div",Hn,[e.createElementVNode("div",Gn,[F[11]||(F[11]=e.createElementVNode("div",{class:"settings-title"},"布局模式",-1)),e.createElementVNode("div",Kn,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(T,t=>e.createElementVNode("div",{key:t.value,class:e.normalizeClass(["layout-option",{"is-active":G.value===t.value}]),onClick:s=>Z(t.value)},[e.createElementVNode("div",Xn,[t.value==="sidebar"?(e.openBlock(),e.createElementBlock("div",Yn,[...F[8]||(F[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",Jn,[...F[9]||(F[9]=[e.createElementVNode("div",{class:"preview-header-full"},null,-1),e.createElementVNode("div",{class:"preview-content-full"},null,-1)])])):(e.openBlock(),e.createElementBlock("div",Zn,[...F[10]||(F[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",Qn,e.toDisplayString(t.label),1)],10,Wn)),64))])]),e.createElementVNode("div",vn,[F[12]||(F[12]=e.createElementVNode("div",{class:"settings-title"},"主题色",-1)),e.createElementVNode("div",eo,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(M,t=>e.createElementVNode("div",{key:t.value,class:e.normalizeClass(["color-option",{"is-active":e.unref(p).primaryColor===t.value}]),style:e.normalizeStyle({backgroundColor:t.value}),title:t.label,onClick:s=>Ve(t.value)},[e.unref(p).primaryColor===t.value?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:"check",size:12,color:"#fff"})):e.createCommentVNode("",!0)],14,to)),64))])]),e.createElementVNode("div",no,[F[17]||(F[17]=e.createElementVNode("div",{class:"settings-title"},"功能设置",-1)),e.createElementVNode("div",oo,[e.createElementVNode("div",lo,[F[14]||(F[14]=e.createElementVNode("span",null,"灰色模式",-1)),e.createElementVNode("div",{class:e.normalizeClass(["switch-wrapper",{"is-checked":Y.value}]),onClick:ne},[...F[13]||(F[13]=[e.createElementVNode("span",{class:"switch-core"},null,-1)])],2)]),e.createElementVNode("div",so,[F[16]||(F[16]=e.createElementVNode("span",null,"暗黑模式",-1)),e.createElementVNode("div",{class:e.normalizeClass(["switch-wrapper",{"is-checked":e.unref(p).isDark}]),onClick:se},[...F[15]||(F[15]=[e.createElementVNode("span",{class:"switch-core"},null,-1)])],2)])])])])]),_:1},8,["modelValue"])])}}}),[["__scopeId","data-v-89179947"]]),ro={class:"top-menu"},ao={class:"top-menu__logo"},io={class:"top-menu__logo-text"},co={class:"top-menu__menu-content"},mo={key:0,class:"top-menu__menu-icon"},po={key:1,class:"top-menu__menu-char"},fo={class:"top-menu__menu-text"},uo={class:"top-menu__menu-content"},ho={class:"top-menu__menu-icon"},go={key:1,class:"top-menu__menu-char"},No={class:"top-menu__menu-text"},_o={class:"top-menu__menu-content"},Eo={class:"top-menu__menu-icon"},Vo={key:1,class:"top-menu__menu-char"},ko={class:"top-menu__menu-text"},yo={class:"top-menu__menu-content"},wo={class:"top-menu__menu-icon"},xo={key:1,class:"top-menu__menu-char"},Co={class:"top-menu__menu-text"},Bo={class:"top-menu__menu-content"},bo={key:0,class:"top-menu__menu-icon"},So={key:1,class:"top-menu__menu-char"},$o={class:"top-menu__menu-text"},Io={class:"top-menu__actions"},Mo={key:0,class:"top-menu__search-dropdown"},Lo={key:0,class:"top-menu__search-results"},Do=["onClick"],To={key:0,class:"top-menu__search-icon-item"},Ao={key:1,class:"top-menu__search-char"},Uo={class:"top-menu__search-item-title"},zo={key:1,class:"top-menu__search-item-parent"},Oo={key:1,class:"top-menu__search-empty"},Fo=["title"],Po={class:"top-menu__avatar"},Ro={class:"top-menu__user-name"},qo={key:0,class:"top-menu__dropdown"},jo={class:"top-menu__dropdown-header"},Ho={class:"top-menu__dropdown-avatar"},Go={class:"top-menu__dropdown-info"},Ko={class:"top-menu__dropdown-name"},Wo={class:"top-menu__dropdown-role"},Xo={class:"top-menu__dropdown-menu"},Yo={class:"settings-drawer"},Jo={class:"settings-section"},Zo={class:"settings-layout-options"},Qo=["onClick"],vo={class:"layout-option__preview"},el={key:0,class:"layout-preview-sidebar"},tl={key:1,class:"layout-preview-top"},nl={key:2,class:"layout-preview-mix"},ol={class:"layout-option__label"},ll={class:"settings-section"},sl={class:"settings-color-options"},rl=["title","onClick"],al={class:"settings-section"},il={class:"settings-switch-list"},cl={class:"settings-switch-item"},dl={class:"settings-switch-item"},ml=fe(e.defineComponent({__name:"TopMenu",setup(l){const c=ce.useRoute(),g=ce.useRouter(),p=xe(),d=be(),B=ke(),V=Te(),h=e.computed(()=>c.path),w=(t,s="")=>{const f=[];return t.forEach(o=>{o.children&&o.children.length>0?f.push(...w(o.children,o.menuName)):f.push({...o,parentTitle:s,title:o.menuName,path:o.menuUrl})}),f},k=e.computed(()=>z.value.trim()?w(p.menuList).filter(s=>s.title.toLowerCase().includes(z.value.toLowerCase())):[]),y=e.computed(()=>d.isDark?"#1d1e1f":"#fff"),L=e.computed(()=>d.isDark?"#cfd3dc":"#303133"),$=e.computed(()=>"#409eff"),U=e.ref(!1),Y=e.ref(null),T=e.ref(!1),M=e.ref(!1),C=e.ref(!1),x=e.ref(!1),z=e.ref(""),K=e.ref(null),O=t=>{t&&t!==c.path&&g.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 f=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"}[f]||f}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},G=t=>t?t.charAt(0):"",J=t=>i.has(t),D=()=>{d.toggleTheme(),M.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=()=>{x.value=!1,z.value=""},Ee=t=>{g.push(t),se()},re=()=>{M.value=!0},ue=t=>{C.value=t;const s=document.documentElement;t?s.classList.add("grey-mode"):s.classList.remove("grey-mode")},he=()=>{ue(!C.value),M.value=!1},me=()=>{d.toggleTheme(),M.value=!1},Se=[{value:"sidebar",label:"左侧菜单",icon:"sidebar-left"},{value:"top",label:"顶部菜单",icon:"menu"},{value:"mix",label:"混合菜单",icon:"grid"}],Ve=e.computed(()=>d.layout),$e=t=>{d.setLayout(t),M.value=!1},I=[{value:"#409eff",label:"默认蓝"},{value:"#1890ff",label:"科技蓝"},{value:"#52c41a",label:"极光绿"},{value:"#faad14",label:"日落橙"},{value:"#f5222d",label:"薄暮红"},{value:"#722ed1",label:"酱紫"}],Ie=t=>{d.setPrimaryColor(t),M.value=!1},Me=()=>{ne(),g.push("/profile")},Ce=()=>{ne(),g.push("/change-password")},W=()=>{ne(),V.logout(),B.clearUserInfo(),p.clearMenu(),g.push("/login")},F=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",F),document.addEventListener("fullscreenchange",Z),document.addEventListener("keydown",n),C.value=document.documentElement.classList.contains("grey-mode")}),e.onUnmounted(()=>{document.removeEventListener("click",F),document.removeEventListener("fullscreenchange",Z),document.removeEventListener("keydown",n)}),(t,s)=>{var f;return e.openBlock(),e.createElementBlock("div",ro,[e.createElementVNode("div",ao,[s[3]||(s[3]=e.createElementVNode("img",{src:ve,alt:"Logo",class:"top-menu__logo-img"},null,-1)),e.createElementVNode("span",io,e.toDisplayString(e.unref(d).appName),1)]),e.createVNode(e.unref(Ne.Menu),{"model-value":h.value,mode:"horizontal","background-color":y.value,"text-color":L.value,"active-text-color":$.value,class:"top-menu__menu",onSelect:O},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(p).menuList,o=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:o.menuUrl},[o.children&&o.children.length>0?(e.openBlock(),e.createBlock(e.unref(Ne.SubMenu),{key:0,index:o.menuUrl},{title:e.withCtx(()=>[e.createElementVNode("span",co,[o.menuName!=="首页"?(e.openBlock(),e.createElementBlock("span",mo,[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",po,e.toDisplayString(G(o.menuName)),1))])):e.createCommentVNode("",!0),e.createElementVNode("span",fo,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(Ne.SubMenu),{key:0,index:r.menuUrl},{title:e.withCtx(()=>[e.createElementVNode("span",uo,[e.createElementVNode("span",ho,[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",go,e.toDisplayString(G(r.menuName)),1))]),e.createElementVNode("span",No,e.toDisplayString(r.menuName),1)])]),default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.children,u=>(e.openBlock(),e.createBlock(e.unref(Ne.MenuItem),{key:u.menuUrl,index:u.menuUrl},{default:e.withCtx(()=>[e.createElementVNode("span",_o,[e.createElementVNode("span",Eo,[J(_(u.icon))?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:_(u.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",Vo,e.toDisplayString(G(u.menuName)),1))]),e.createElementVNode("span",ko,e.toDisplayString(u.menuName),1)])]),_:2},1032,["index"]))),128))]),_:2},1032,["index"])):(e.openBlock(),e.createBlock(e.unref(Ne.MenuItem),{key:1,index:r.menuUrl},{default:e.withCtx(()=>[e.createElementVNode("span",yo,[e.createElementVNode("span",wo,[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",xo,e.toDisplayString(G(r.menuName)),1))]),e.createElementVNode("span",Co,e.toDisplayString(r.menuName),1)])]),_:2},1032,["index"]))],64))),128))]),_:2},1032,["index"])):(e.openBlock(),e.createBlock(e.unref(Ne.MenuItem),{key:1,index:o.menuUrl},{default:e.withCtx(()=>[e.createElementVNode("span",Bo,[o.menuName!=="首页"?(e.openBlock(),e.createElementBlock("span",bo,[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(G(o.menuName)),1))])):e.createCommentVNode("",!0),e.createElementVNode("span",$o,e.toDisplayString(o.menuName),1)])]),_:2},1032,["index"]))],64))),128))]),_:1},8,["model-value","background-color","text-color","active-text-color"]),e.createElementVNode("div",Io,[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":s[0]||(s[0]=o=>z.value=o),type:"text",class:"top-menu__search-input",placeholder:"搜索菜单...",onFocus:s[1]||(s[1]=o=>x.value=!0)},null,544),[[e.vModelText,z.value]]),e.createVNode(e.Transition,{name:"search-dropdown"},{default:e.withCtx(()=>[x.value&&(k.value.length>0||z.value)?(e.openBlock(),e.createElementBlock("div",Mo,[k.value.length>0?(e.openBlock(),e.createElementBlock("div",Lo,[(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",To,[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",Ao,e.toDisplayString(G(o.title)),1))])):e.createCommentVNode("",!0),e.createElementVNode("span",Uo,e.toDisplayString(o.title),1),o.parentTitle?(e.openBlock(),e.createElementBlock("span",zo,e.toDisplayString(o.parentTitle),1)):e.createCommentVNode("",!0)],8,Do))),128))])):(e.openBlock(),e.createElementBlock("div",Oo," 未找到匹配的菜单 "))])):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,Fo),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:D,title:"切换主题"},[e.createVNode(e.unref(A.Icon),{name:e.unref(d).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",Po,[e.createElementVNode("span",null,e.toDisplayString(((f=e.unref(B).userName)==null?void 0:f.charAt(0))||"U"),1)]),e.createElementVNode("span",Ro,e.toDisplayString(e.unref(B).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",qo,[e.createElementVNode("div",jo,[e.createElementVNode("div",Ho,[e.createElementVNode("span",null,e.toDisplayString(((o=e.unref(B).userName)==null?void 0:o.charAt(0))||"U"),1)]),e.createElementVNode("div",Go,[e.createElementVNode("div",Ko,e.toDisplayString(e.unref(B).userName),1),e.createElementVNode("div",Wo,e.toDisplayString(e.unref(B).departmentName),1)])]),s[8]||(s[8]=e.createElementVNode("div",{class:"top-menu__dropdown-divider"},null,-1)),e.createElementVNode("div",Xo,[e.createElementVNode("div",{class:"top-menu__dropdown-item",onClick:Me},[e.createVNode(e.unref(A.Icon),{name:"user",size:16}),s[4]||(s[4]=e.createElementVNode("span",null,"个人信息",-1))]),e.createElementVNode("div",{class:"top-menu__dropdown-item",onClick:Ce},[e.createVNode(e.unref(A.Icon),{name:"lock",size:16}),s[5]||(s[5]=e.createElementVNode("span",null,"修改密码",-1))]),s[7]||(s[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}),s[6]||(s[6]=e.createElementVNode("span",null,"退出登录",-1))])])])):e.createCommentVNode("",!0)]}),_:1})],512)]),e.createVNode(e.unref(oe.Drawer),{modelValue:M.value,"onUpdate:modelValue":s[2]||(s[2]=o=>M.value=o),title:"换肤设置",direction:"rtl",size:"320px"},{default:e.withCtx(()=>[e.createElementVNode("div",Yo,[e.createElementVNode("div",Jo,[s[12]||(s[12]=e.createElementVNode("div",{class:"settings-title"},"布局模式",-1)),e.createElementVNode("div",Zo,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(Se,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",vo,[o.value==="sidebar"?(e.openBlock(),e.createElementBlock("div",el,[...s[9]||(s[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",tl,[...s[10]||(s[10]=[e.createElementVNode("div",{class:"preview-header-full"},null,-1),e.createElementVNode("div",{class:"preview-content-full"},null,-1)])])):(e.openBlock(),e.createElementBlock("div",nl,[...s[11]||(s[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",ol,e.toDisplayString(o.label),1)],10,Qo)),64))])]),e.createElementVNode("div",ll,[s[13]||(s[13]=e.createElementVNode("div",{class:"settings-title"},"主题色",-1)),e.createElementVNode("div",sl,[(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(d).primaryColor===o.value}]),style:e.normalizeStyle({backgroundColor:o.value}),title:o.label,onClick:r=>Ie(o.value)},[e.unref(d).primaryColor===o.value?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:"check",size:12,color:"#fff"})):e.createCommentVNode("",!0)],14,rl)),64))])]),e.createElementVNode("div",al,[s[18]||(s[18]=e.createElementVNode("div",{class:"settings-title"},"功能设置",-1)),e.createElementVNode("div",il,[e.createElementVNode("div",cl,[s[15]||(s[15]=e.createElementVNode("span",null,"灰色模式",-1)),e.createElementVNode("div",{class:e.normalizeClass(["switch-wrapper",{"is-checked":C.value}]),onClick:he},[...s[14]||(s[14]=[e.createElementVNode("span",{class:"switch-core"},null,-1)])],2)]),e.createElementVNode("div",dl,[s[17]||(s[17]=e.createElementVNode("span",null,"暗黑模式",-1)),e.createElementVNode("div",{class:e.normalizeClass(["switch-wrapper",{"is-checked":e.unref(d).isDark}]),onClick:me},[...s[16]||(s[16]=[e.createElementVNode("span",{class:"switch-core"},null,-1)])],2)])])])])]),_:1},8,["modelValue"])])}}}),[["__scopeId","data-v-5c8f8b91"]]),pl={class:"mix-top-menu"},fl={class:"mix-top-menu__logo"},ul={class:"mix-top-menu__logo-text"},hl={class:"mix-top-menu__menu-content"},gl={key:0,class:"mix-top-menu__menu-icon"},Nl={key:1,class:"mix-top-menu__menu-char"},_l={class:"mix-top-menu__menu-text"},El={class:"mix-top-menu__actions"},Vl={key:0,class:"mix-top-menu__search-dropdown"},kl={key:0,class:"mix-top-menu__search-results"},yl=["onClick"],wl={key:0,class:"mix-top-menu__search-icon-item"},xl={key:1,class:"mix-top-menu__search-char"},Cl={class:"mix-top-menu__search-item-title"},Bl={key:1,class:"mix-top-menu__search-item-parent"},bl={key:1,class:"mix-top-menu__search-empty"},Sl=["title"],$l={class:"mix-top-menu__avatar"},Il={class:"mix-top-menu__user-name"},Ml={key:0,class:"mix-top-menu__dropdown"},Ll={class:"mix-top-menu__dropdown-header"},Dl={class:"mix-top-menu__dropdown-avatar"},Tl={class:"mix-top-menu__dropdown-info"},Al={class:"mix-top-menu__dropdown-name"},Ul={class:"mix-top-menu__dropdown-role"},zl={class:"mix-top-menu__dropdown-menu"},Ol={class:"settings-drawer"},Fl={class:"settings-section"},Pl={class:"settings-layout-options"},Rl=["onClick"],ql={class:"layout-option__preview"},jl={key:0,class:"layout-preview-sidebar"},Hl={key:1,class:"layout-preview-top"},Gl={key:2,class:"layout-preview-mix"},Kl={class:"layout-option__label"},Wl={class:"settings-section"},Xl={class:"settings-color-options"},Yl=["title","onClick"],Jl={class:"settings-section"},Zl={class:"settings-switch-list"},Ql={class:"settings-switch-item"},vl={class:"settings-switch-item"},es=fe(e.defineComponent({__name:"MixTopMenu",setup(l){const c=ce.useRoute(),g=ce.useRouter(),p=xe(),d=be(),B=ke(),V=Te(),h=e.ref(""),w=(o,r="")=>{const u=[];return o.forEach(a=>{a.children&&a.children.length>0?u.push(...w(a.children,a.menuName)):u.push({...a,parentTitle:r,title:a.menuName,path:a.menuUrl})}),u},k=e.computed(()=>_.value.trim()?w(p.menuList).filter(r=>r.title.toLowerCase().includes(_.value.toLowerCase())):[]),y=e.computed(()=>{const o=p.menuList.find(r=>r.menuUrl===h.value);return(o==null?void 0:o.children)||[]}),L=e.computed(()=>p.menuList.find(o=>!!(c.path===o.menuUrl||o.children&&o.children.some(r=>c.path.startsWith(r.menuUrl)||c.path===r.menuUrl)))),$=()=>{L.value?h.value=L.value.menuUrl:p.menuList.length>0&&(h.value=p.menuList[0].menuUrl)},U=o=>{h.value=o;const r=p.menuList.find(u=>u.menuUrl===o);if(r)if(r.children&&r.children.length>0){const u=r.children[0].menuUrl;c.path!==u&&g.push(u)}else c.path!==o&&g.push(o)},Y=e.computed(()=>d.isDark?"#1d1e1f":"#fff"),T=e.computed(()=>d.isDark?"#cfd3dc":"#303133"),M=e.computed(()=>"#409eff"),C=e.ref(!1),x=e.ref(null),z=e.ref(!1),K=e.ref(!1),O=e.ref(!1),i=e.ref(!1),_=e.ref(""),G=e.ref(null);e.watch(()=>c.path,()=>{$(),d.setMixSubMenus(y.value)}),e.watch(()=>p.menuList,o=>{o&&o.length>0&&($(),d.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"]),D=o=>{if(!o||o==="")return"";if(o.startsWith("tineco-icon-")){const u=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"}[u]||u}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=()=>{d.toggleTheme(),K.value=!1},ne=()=>{document.fullscreenElement?document.exitFullscreen():document.documentElement.requestFullscreen()},se=()=>{z.value=!!document.fullscreenElement},Ee=()=>{C.value=!C.value},re=()=>{C.value=!1},ue=()=>{i.value=!1,_.value=""},he=o=>{g.push(o),ue()},me=()=>{K.value=!0},Se=o=>{O.value=o;const r=document.documentElement;o?r.classList.add("grey-mode"):r.classList.remove("grey-mode")},Ve=()=>{Se(!O.value),K.value=!1},$e=()=>{d.toggleTheme(),K.value=!1},I=[{value:"sidebar",label:"左侧菜单",icon:"sidebar-left"},{value:"top",label:"顶部菜单",icon:"menu"},{value:"mix",label:"混合菜单",icon:"grid"}],Ie=e.computed(()=>d.layout),Me=o=>{d.setLayout(o),K.value=!1},Ce=[{value:"#409eff",label:"默认蓝"},{value:"#1890ff",label:"科技蓝"},{value:"#52c41a",label:"极光绿"},{value:"#faad14",label:"日落橙"},{value:"#f5222d",label:"薄暮红"},{value:"#722ed1",label:"酱紫"}],W=o=>{d.setPrimaryColor(o),K.value=!1},F=()=>{re(),g.push("/profile")},n=()=>{re(),g.push("/change-password")},t=()=>{re(),V.logout(),B.clearUserInfo(),p.clearMenu(),g.push("/login")},s=o=>{x.value&&!x.value.contains(o.target)&&re(),G.value&&!G.value.contains(o.target)&&ue()},f=o=>{o.key==="Escape"&&(ue(),re())};return e.onMounted(()=>{document.addEventListener("click",s),document.addEventListener("fullscreenchange",se),document.addEventListener("keydown",f),O.value=document.documentElement.classList.contains("grey-mode"),$()}),e.onUnmounted(()=>{document.removeEventListener("click",s),document.removeEventListener("fullscreenchange",se),document.removeEventListener("keydown",f)}),(o,r)=>{var u;return e.openBlock(),e.createElementBlock("div",pl,[e.createElementVNode("div",fl,[r[3]||(r[3]=e.createElementVNode("img",{src:ve,alt:"Logo",class:"mix-top-menu__logo-img"},null,-1)),e.createElementVNode("span",ul,e.toDisplayString(e.unref(d).appName),1)]),e.createVNode(e.unref(Ne.Menu),{"model-value":h.value,mode:"horizontal","background-color":Y.value,"text-color":T.value,"active-text-color":M.value,class:"mix-top-menu__menu",onSelect:U},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(p).menuList,a=>(e.openBlock(),e.createBlock(e.unref(Ne.MenuItem),{key:a.menuUrl,index:a.menuUrl},{default:e.withCtx(()=>[e.createElementVNode("span",hl,[a.menuName!=="首页"?(e.openBlock(),e.createElementBlock("span",gl,[Z(D(a.icon))?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:D(a.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",Nl,e.toDisplayString(ee(a.menuName)),1))])):e.createCommentVNode("",!0),e.createElementVNode("span",_l,e.toDisplayString(a.menuName),1)])]),_:2},1032,["index"]))),128))]),_:1},8,["model-value","background-color","text-color","active-text-color"]),e.createElementVNode("div",El,[e.createElementVNode("div",{class:"mix-top-menu__search",ref_key:"searchRef",ref:G},[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",Vl,[k.value.length>0?(e.openBlock(),e.createElementBlock("div",kl,[(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:m=>he(a.path)},[a.title!=="首页"?(e.openBlock(),e.createElementBlock("span",wl,[Z(D(a.icon))?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:D(a.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",xl,e.toDisplayString(ee(a.title)),1))])):e.createCommentVNode("",!0),e.createElementVNode("span",Cl,e.toDisplayString(a.title),1),a.parentTitle?(e.openBlock(),e.createElementBlock("span",Bl,e.toDisplayString(a.parentTitle),1)):e.createCommentVNode("",!0)],8,yl))),128))])):(e.openBlock(),e.createElementBlock("div",bl," 未找到匹配的菜单 "))])):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,Sl),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(d).isDark?"sun":"moon",size:16},null,8,["name"])]),e.createElementVNode("div",{class:"mix-top-menu__user",ref_key:"dropdownRef",ref:x},[e.createElementVNode("div",{class:"mix-top-menu__user-trigger",onClick:e.withModifiers(Ee,["stop"])},[e.createElementVNode("div",$l,[e.createElementVNode("span",null,e.toDisplayString(((u=e.unref(B).userName)==null?void 0:u.charAt(0))||"U"),1)]),e.createElementVNode("span",Il,e.toDisplayString(e.unref(B).userName),1),e.createElementVNode("span",{class:e.normalizeClass(["mix-top-menu__user-arrow",{"is-active":C.value}])},"▼",2)]),e.createVNode(e.Transition,{name:"dropdown"},{default:e.withCtx(()=>{var a;return[C.value?(e.openBlock(),e.createElementBlock("div",Ml,[e.createElementVNode("div",Ll,[e.createElementVNode("div",Dl,[e.createElementVNode("span",null,e.toDisplayString(((a=e.unref(B).userName)==null?void 0:a.charAt(0))||"U"),1)]),e.createElementVNode("div",Tl,[e.createElementVNode("div",Al,e.toDisplayString(e.unref(B).userName),1),e.createElementVNode("div",Ul,e.toDisplayString(e.unref(B).departmentName),1)])]),r[8]||(r[8]=e.createElementVNode("div",{class:"mix-top-menu__dropdown-divider"},null,-1)),e.createElementVNode("div",zl,[e.createElementVNode("div",{class:"mix-top-menu__dropdown-item",onClick:F},[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",Ol,[e.createElementVNode("div",Fl,[r[12]||(r[12]=e.createElementVNode("div",{class:"settings-title"},"布局模式",-1)),e.createElementVNode("div",Pl,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(I,a=>e.createElementVNode("div",{key:a.value,class:e.normalizeClass(["layout-option",{"is-active":Ie.value===a.value}]),onClick:m=>Me(a.value)},[e.createElementVNode("div",ql,[a.value==="sidebar"?(e.openBlock(),e.createElementBlock("div",jl,[...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",Hl,[...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",Gl,[...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",Kl,e.toDisplayString(a.label),1)],10,Rl)),64))])]),e.createElementVNode("div",Wl,[r[13]||(r[13]=e.createElementVNode("div",{class:"settings-title"},"主题色",-1)),e.createElementVNode("div",Xl,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(Ce,a=>e.createElementVNode("div",{key:a.value,class:e.normalizeClass(["color-option",{"is-active":e.unref(d).primaryColor===a.value}]),style:e.normalizeStyle({backgroundColor:a.value}),title:a.label,onClick:m=>W(a.value)},[e.unref(d).primaryColor===a.value?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:"check",size:12,color:"#fff"})):e.createCommentVNode("",!0)],14,Yl)),64))])]),e.createElementVNode("div",Jl,[r[18]||(r[18]=e.createElementVNode("div",{class:"settings-title"},"功能设置",-1)),e.createElementVNode("div",Zl,[e.createElementVNode("div",Ql,[r[15]||(r[15]=e.createElementVNode("span",null,"灰色模式",-1)),e.createElementVNode("div",{class:e.normalizeClass(["switch-wrapper",{"is-checked":O.value}]),onClick:Ve},[...r[14]||(r[14]=[e.createElementVNode("span",{class:"switch-core"},null,-1)])],2)]),e.createElementVNode("div",vl,[r[17]||(r[17]=e.createElementVNode("span",null,"暗黑模式",-1)),e.createElementVNode("div",{class:e.normalizeClass(["switch-wrapper",{"is-checked":e.unref(d).isDark}]),onClick:$e},[...r[16]||(r[16]=[e.createElementVNode("span",{class:"switch-core"},null,-1)])],2)])])])])]),_:1},8,["modelValue"])])}}}),[["__scopeId","data-v-25806305"]]),ts={key:0,class:"layout layout--sidebar"},ns={class:"layout__main"},os={class:"layout__header"},ls={class:"layout__content"},ss={key:1,class:"layout layout--top"},rs={class:"layout__top-menu"},as={class:"layout__main"},is={class:"layout__content"},cs={key:2,class:"layout layout--mix"},ds={class:"layout__mix-top-menu"},ms={class:"layout__mix-body"},ps={class:"layout__content"},dt=fe(e.defineComponent({__name:"index",setup(l){const c=be(),g=xe(),p=e.computed(()=>c.isCollapsed?"64px":"210px"),d=e.computed(()=>c.layout),B=e.computed(()=>d.value==="mix"),V=e.computed(()=>d.value==="sidebar"?g.menuList:d.value==="mix"?c.mixSubMenus:[]),h=e.computed(()=>B.value?V.value.length>0:!1);return(w,k)=>{const y=e.resolveComponent("router-view");return e.openBlock(),e.createElementBlock(e.Fragment,null,[d.value==="sidebar"?(e.openBlock(),e.createElementBlock("div",ts,[e.createElementVNode("aside",{class:"layout__aside",style:e.normalizeStyle({width:p.value})},[e.createVNode(ct,{"menu-list":V.value,"show-logo":!0,"show-user":!0},null,8,["menu-list"])],4),e.createElementVNode("div",ns,[e.createElementVNode("header",os,[e.createVNode(Mt)]),e.createElementVNode("main",ls,[e.createVNode(y)])])])):e.createCommentVNode("",!0),d.value==="top"?(e.openBlock(),e.createElementBlock("div",ss,[e.createElementVNode("div",rs,[e.createVNode(ml)]),e.createElementVNode("div",as,[e.createElementVNode("main",is,[e.createVNode(y)])])])):e.createCommentVNode("",!0),d.value==="mix"?(e.openBlock(),e.createElementBlock("div",cs,[e.createElementVNode("div",ds,[e.createVNode(es)]),e.createElementVNode("div",ms,[h.value?(e.openBlock(),e.createElementBlock("aside",{key:0,class:"layout__aside",style:e.normalizeStyle({width:p.value})},[e.createVNode(ct,{"menu-list":V.value,"show-logo":!1,"show-user":!1},null,8,["menu-list"])],4)):e.createCommentVNode("",!0),e.createElementVNode("main",ps,[e.createVNode(y)])])])):e.createCommentVNode("",!0)],64)}}}),[["__scopeId","data-v-24c73186"]]),fs=Object.freeze(Object.defineProperty({__proto__:null,default:dt},Symbol.toStringTag,{value:"Module"})),us={class:"tabs-wrapper"},hs={class:"tab-label"},gs=["onClick"],Ns=fe(e.defineComponent({__name:"Tabs",setup(l){const c=ce.useRoute(),g=ce.useRouter(),p=e.computed(()=>{const h=[];return c.matched.forEach(w=>{var k;(k=w.meta)!=null&&k.affix&&h.push({name:w.name,title:w.meta.title,path:w.path,affix:!0})}),h}),d=e.computed(()=>c.path),B=h=>{g.push(h)},V=h=>{const w=p.value.find(k=>k.path===h);if(!(w!=null&&w.affix)&&h===d.value){const k=p.value.findIndex(L=>L.path===h),y=p.value[k-1]||p.value[k+1];y&&g.push(y.path)}};return(h,w)=>(e.openBlock(),e.createElementBlock("div",us,[e.createVNode(e.unref(Ne.Tabs),{modelValue:d.value,"onUpdate:modelValue":w[0]||(w[0]=k=>d.value=k),type:"card",onTabClick:B},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.value,k=>(e.openBlock(),e.createBlock(e.unref(Ne.TabPane),{key:k.path,name:k.path,label:k.title,closable:!k.affix},{label:e.withCtx(()=>[e.createElementVNode("span",hs,[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,gs))])]),_:2},1032,["name","label","closable"]))),128))]),_:1},8,["modelValue"])]))}}),[["__scopeId","data-v-9156d8cd"]]),_s={},Es={class:"footer"};function Vs(l,c){return e.openBlock(),e.createElementBlock("div",Es,[...c[0]||(c[0]=[e.createElementVNode("span",null,"Copyright © 2024 Xto Demo. All Rights Reserved.",-1)])])}const ks=fe(_s,[["render",Vs],["__scopeId","data-v-4852826a"]]);var ys=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function ws(l){return l&&l.__esModule&&Object.prototype.hasOwnProperty.call(l,"default")?l.default:l}var Ge={exports:{}},Lt={exports:{}},Dt={exports:{}};(function(l){(function(c){var g,p=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,d=Math.ceil,B=Math.floor,V="[BigNumber Error] ",h=V+"Number primitive has more than 15 significant digits: ",w=1e14,k=14,y=9007199254740991,L=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],$=1e7,U=1e9;function Y(i){var _,G,J,D=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,Se={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:" ",suffix:""},Ve="0123456789abcdefghijklmnopqrstuvwxyz",$e=!0;function I(n,t){var s,f,o,r,u,a,m,E,N=this;if(!(N instanceof I))return new I(n,t);if(t==null){if(n&&n._isBigNumber===!0){N.s=n.s,!n.c||n.e>re?N.c=N.e=null:n.e<Ee?N.c=[N.e=0]:(N.e=n.e,N.c=n.c.slice());return}if((a=typeof n=="number")&&n*0==0){if(N.s=1/n<0?(n=-n,-1):1,n===~~n){for(r=0,u=n;u>=10;u/=10,r++);r>re?N.c=N.e=null:(N.e=r,N.c=[n]);return}E=String(n)}else{if(!p.test(E=String(n)))return J(N,E,a);N.s=E.charCodeAt(0)==45?(E=E.slice(1),-1):1}(r=E.indexOf("."))>-1&&(E=E.replace(".","")),(u=E.search(/e/i))>0?(r<0&&(r=u),r+=+E.slice(u+1),E=E.substring(0,u)):r<0&&(r=E.length)}else{if(x(t,2,Ve.length,"Base"),t==10&&$e)return N=new I(n),W(N,Z+N.e+1,q);if(E=String(n),a=typeof n=="number"){if(n*0!=0)return J(N,E,a,t);if(N.s=1/n<0?(E=E.slice(1),-1):1,I.DEBUG&&E.replace(/^0\.0*|\./,"").length>15)throw Error(h+n)}else N.s=E.charCodeAt(0)===45?(E=E.slice(1),-1):1;for(s=Ve.slice(0,t),r=u=0,m=E.length;u<m;u++)if(s.indexOf(f=E.charAt(u))<0){if(f=="."){if(u>r){r=m;continue}}else if(!o&&(E==E.toUpperCase()&&(E=E.toLowerCase())||E==E.toLowerCase()&&(E=E.toUpperCase()))){o=!0,u=-1,r=0;continue}return J(N,String(n),a,t)}a=!1,E=G(E,t,10,N.s),(r=E.indexOf("."))>-1?E=E.replace(".",""):r=E.length}for(u=0;E.charCodeAt(u)===48;u++);for(m=E.length;E.charCodeAt(--m)===48;);if(E=E.slice(u,++m)){if(m-=u,a&&I.DEBUG&&m>15&&(n>y||n!==B(n)))throw Error(h+N.s*n);if((r=r-u-1)>re)N.c=N.e=null;else if(r<Ee)N.c=[N.e=0];else{if(N.e=r,N.c=[],u=(r+1)%k,r<0&&(u+=k),u<m){for(u&&N.c.push(+E.slice(0,u)),m-=k;u<m;)N.c.push(+E.slice(u,u+=k));u=k-(E=E.slice(u)).length}else u-=m;for(;u--;E+="0");N.c.push(+E)}}else N.c=[N.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,s;if(n!=null)if(typeof n=="object"){if(n.hasOwnProperty(t="DECIMAL_PLACES")&&(s=n[t],x(s,0,U,t),Z=s),n.hasOwnProperty(t="ROUNDING_MODE")&&(s=n[t],x(s,0,8,t),q=s),n.hasOwnProperty(t="EXPONENTIAL_AT")&&(s=n[t],s&&s.pop?(x(s[0],-U,0,t),x(s[1],0,U,t),ne=s[0],se=s[1]):(x(s,-U,U,t),ne=-(se=s<0?-s:s))),n.hasOwnProperty(t="RANGE"))if(s=n[t],s&&s.pop)x(s[0],-U,-1,t),x(s[1],1,U,t),Ee=s[0],re=s[1];else if(x(s,-U,U,t),s)Ee=-(re=s<0?-s:s);else throw Error(V+t+" cannot be zero: "+s);if(n.hasOwnProperty(t="CRYPTO"))if(s=n[t],s===!!s)if(s)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))ue=s;else throw ue=!s,Error(V+"crypto unavailable");else ue=s;else throw Error(V+t+" not true or false: "+s);if(n.hasOwnProperty(t="MODULO_MODE")&&(s=n[t],x(s,0,9,t),he=s),n.hasOwnProperty(t="POW_PRECISION")&&(s=n[t],x(s,0,U,t),me=s),n.hasOwnProperty(t="FORMAT"))if(s=n[t],typeof s=="object")Se=s;else throw Error(V+t+" not an object: "+s);if(n.hasOwnProperty(t="ALPHABET"))if(s=n[t],typeof s=="string"&&!/^.?$|[+\-.\s]|(.).*\1/.test(s))$e=s.slice(0,10)=="0123456789",Ve=s;else throw Error(V+t+" invalid: "+s)}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:Se,ALPHABET:Ve}},I.isBigNumber=function(n){if(!n||n._isBigNumber!==!0)return!1;if(!I.DEBUG)return!0;var t,s,f=n.c,o=n.e,r=n.s;e:if({}.toString.call(f)=="[object Array]"){if((r===1||r===-1)&&o>=-U&&o<=U&&o===B(o)){if(f[0]===0){if(o===0&&f.length===1)return!0;break e}if(t=(o+1)%k,t<1&&(t+=k),String(f[0]).length==t){for(t=0;t<f.length;t++)if(s=f[t],s<0||s>=w||s!==B(s))break e;if(s!==0)return!0}}}else if(f===null&&o===null&&(r===null||r===1||r===-1))return!0;throw Error(V+"Invalid BigNumber: "+n)},I.maximum=I.max=function(){return Me(arguments,-1)},I.minimum=I.min=function(){return Me(arguments,1)},I.random=function(){var n=9007199254740992,t=Math.random()*n&2097151?function(){return B(Math.random()*n)}:function(){return(Math.random()*1073741824|0)*8388608+(Math.random()*8388608|0)};return function(s){var f,o,r,u,a,m=0,E=[],N=new I(ee);if(s==null?s=Z:x(s,0,U),u=d(s/k),ue)if(crypto.getRandomValues){for(f=crypto.getRandomValues(new Uint32Array(u*=2));m<u;)a=f[m]*131072+(f[m+1]>>>11),a>=9e15?(o=crypto.getRandomValues(new Uint32Array(2)),f[m]=o[0],f[m+1]=o[1]):(E.push(a%1e14),m+=2);m=u/2}else if(crypto.randomBytes){for(f=crypto.randomBytes(u*=7);m<u;)a=(f[m]&31)*281474976710656+f[m+1]*1099511627776+f[m+2]*4294967296+f[m+3]*16777216+(f[m+4]<<16)+(f[m+5]<<8)+f[m+6],a>=9e15?crypto.randomBytes(7).copy(f,m):(E.push(a%1e14),m+=7);m=u/7}else throw ue=!1,Error(V+"crypto unavailable");if(!ue)for(;m<u;)a=t(),a<9e15&&(E[m++]=a%1e14);for(u=E[--m],s%=k,u&&s&&(a=L[k-s],E[m]=B(u/a)*a);E[m]===0;E.pop(),m--);if(m<0)E=[r=0];else{for(r=-1;E[0]===0;E.splice(0,1),r-=k);for(m=1,a=E[0];a>=10;a/=10,m++);m<k&&(r-=k-m)}return N.e=r,N.c=E,N}}(),I.sum=function(){for(var n=1,t=arguments,s=new I(t[0]);n<t.length;)s=s.plus(t[n++]);return s},G=function(){var n="0123456789";function t(s,f,o,r){for(var u,a=[0],m,E=0,N=s.length;E<N;){for(m=a.length;m--;a[m]*=f);for(a[0]+=r.indexOf(s.charAt(E++)),u=0;u<a.length;u++)a[u]>o-1&&(a[u+1]==null&&(a[u+1]=0),a[u+1]+=a[u]/o|0,a[u]%=o)}return a.reverse()}return function(s,f,o,r,u){var a,m,E,N,S,R,j,v,ae=s.indexOf("."),de=Z,Q=q;for(ae>=0&&(N=me,me=0,s=s.replace(".",""),v=new I(f),R=v.pow(s.length-ae),me=N,v.c=t(O(M(R.c),R.e,"0"),10,o,n),v.e=v.c.length),j=t(s,f,o,u?(a=Ve,n):(a=n,Ve)),E=N=j.length;j[--N]==0;j.pop());if(!j[0])return a.charAt(0);if(ae<0?--E:(R.c=j,R.e=E,R.s=r,R=_(R,v,de,Q,o),j=R.c,S=R.r,E=R.e),m=E+de+1,ae=j[m],N=o/2,S=S||m<0||j[m+1]!=null,S=Q<4?(ae!=null||S)&&(Q==0||Q==(R.s<0?3:2)):ae>N||ae==N&&(Q==4||S||Q==6&&j[m-1]&1||Q==(R.s<0?8:7)),m<1||!j[0])s=S?O(a.charAt(1),-de,a.charAt(0)):a.charAt(0);else{if(j.length=m,S)for(--o;++j[--m]>o;)j[m]=0,m||(++E,j=[1].concat(j));for(N=j.length;!j[--N];);for(ae=0,s="";ae<=N;s+=a.charAt(j[ae++]));s=O(s,E,a.charAt(0))}return s}}(),_=function(){function n(f,o,r){var u,a,m,E,N=0,S=f.length,R=o%$,j=o/$|0;for(f=f.slice();S--;)m=f[S]%$,E=f[S]/$|0,u=j*m+E*R,a=R*m+u%$*$+N,N=(a/r|0)+(u/$|0)+j*E,f[S]=a%r;return N&&(f=[N].concat(f)),f}function t(f,o,r,u){var a,m;if(r!=u)m=r>u?1:-1;else for(a=m=0;a<r;a++)if(f[a]!=o[a]){m=f[a]>o[a]?1:-1;break}return m}function s(f,o,r,u){for(var a=0;r--;)f[r]-=a,a=f[r]<o[r]?1:0,f[r]=a*u+f[r]-o[r];for(;!f[0]&&f.length>1;f.splice(0,1));}return function(f,o,r,u,a){var m,E,N,S,R,j,v,ae,de,Q,te,pe,Xe,ht,gt,Be,Re,ye=f.s==o.s?1:-1,ge=f.c,ie=o.c;if(!ge||!ge[0]||!ie||!ie[0])return new I(!f.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=[],E=f.e-o.e,ye=r+E+1,a||(a=w,E=T(f.e/k)-T(o.e/k),ye=ye/k|0),N=0;ie[N]==(ge[N]||0);N++);if(ie[N]>(ge[N]||0)&&E--,ye<0)de.push(1),S=!0;else{for(ht=ge.length,Be=ie.length,N=0,ye+=2,R=B(a/(ie[0]+1)),R>1&&(ie=n(ie,R,a),ge=n(ge,R,a),Be=ie.length,ht=ge.length),Xe=Be,Q=ge.slice(0,Be),te=Q.length;te<Be;Q[te++]=0);Re=ie.slice(),Re=[0].concat(Re),gt=ie[0],ie[1]>=a/2&&gt++;do{if(R=0,m=t(ie,Q,Be,te),m<0){if(pe=Q[0],Be!=te&&(pe=pe*a+(Q[1]||0)),R=B(pe/gt),R>1)for(R>=a&&(R=a-1),j=n(ie,R,a),v=j.length,te=Q.length;t(j,Q,v,te)==1;)R--,s(j,Be<v?Re:ie,v,a),v=j.length,m=1;else R==0&&(m=R=1),j=ie.slice(),v=j.length;if(v<te&&(j=[0].concat(j)),s(Q,j,te,a),te=Q.length,m==-1)for(;t(ie,Q,Be,te)<1;)R++,s(Q,Be<te?Re:ie,te,a),te=Q.length}else m===0&&(R++,Q=[0]);de[N++]=R,Q[0]?Q[te++]=ge[Xe]||0:(Q=[ge[Xe]],te=1)}while((Xe++<ht||Q[0]!=null)&&ye--);S=Q[0]!=null,de[0]||de.splice(0,1)}if(a==w){for(N=1,ye=de[0];ye>=10;ye/=10,N++);W(ae,r+(ae.e=N+E*k-1)+1,u,S)}else ae.e=E,ae.r=+S;return ae}}();function Ie(n,t,s,f){var o,r,u,a,m;if(s==null?s=q:x(s,0,8),!n.c)return n.toString();if(o=n.c[0],u=n.e,t==null)m=M(n.c),m=f==1||f==2&&(u<=ne||u>=se)?K(m,u):O(m,u,"0");else if(n=W(new I(n),t,s),r=n.e,m=M(n.c),a=m.length,f==1||f==2&&(t<=r||r<=ne)){for(;a<t;m+="0",a++);m=K(m,r)}else if(t-=u+(f===2&&r>u),m=O(m,r,"0"),r+1>a){if(--t>0)for(m+=".";t--;m+="0");}else if(t+=r-a,t>0)for(r+1==a&&(m+=".");t--;m+="0");return n.s<0&&o?"-"+m:m}function Me(n,t){for(var s,f,o=1,r=new I(n[0]);o<n.length;o++)f=new I(n[o]),(!f.s||(s=C(r,f))===t||s===0&&r.s===t)&&(r=f);return r}function Ce(n,t,s){for(var f=1,o=t.length;!t[--o];t.pop());for(o=t[0];o>=10;o/=10,f++);return(s=f+s*k-1)>re?n.c=n.e=null:s<Ee?n.c=[n.e=0]:(n.e=s,n.c=t),n}J=function(){var n=/^(-?)0([xbo])(?=\w[\w.]*$)/i,t=/^([^.]+)\.$/,s=/^\.([^.]+)$/,f=/^-?(Infinity|NaN)$/,o=/^\s*\+(?=[\w.])|^\s+|\s+$/g;return function(r,u,a,m){var E,N=a?u:u.replace(o,"");if(f.test(N))r.s=isNaN(N)?null:N<0?-1:1;else{if(!a&&(N=N.replace(n,function(S,R,j){return E=(j=j.toLowerCase())=="x"?16:j=="b"?2:8,!m||m==E?R:S}),m&&(E=m,N=N.replace(t,"$1").replace(s,"0.$1")),u!=N))return new I(N,E);if(I.DEBUG)throw Error(V+"Not a"+(m?" base "+m:"")+" number: "+u);r.s=null}r.c=r.e=null}}();function W(n,t,s,f){var o,r,u,a,m,E,N,S=n.c,R=L;if(S){e:{for(o=1,a=S[0];a>=10;a/=10,o++);if(r=t-o,r<0)r+=k,u=t,m=S[E=0],N=B(m/R[o-u-1]%10);else if(E=d((r+1)/k),E>=S.length)if(f){for(;S.length<=E;S.push(0));m=N=0,o=1,r%=k,u=r-k+1}else break e;else{for(m=a=S[E],o=1;a>=10;a/=10,o++);r%=k,u=r-k+o,N=u<0?0:B(m/R[o-u-1]%10)}if(f=f||t<0||S[E+1]!=null||(u<0?m:m%R[o-u-1]),f=s<4?(N||f)&&(s==0||s==(n.s<0?3:2)):N>5||N==5&&(s==4||f||s==6&&(r>0?u>0?m/R[o-u]:0:S[E-1])%10&1||s==(n.s<0?8:7)),t<1||!S[0])return S.length=0,f?(t-=n.e+1,S[0]=R[(k-t%k)%k],n.e=-t||0):S[0]=n.e=0,n;if(r==0?(S.length=E,a=1,E--):(S.length=E+1,a=R[k-r],S[E]=u>0?B(m/R[o-u]%R[u])*a:0),f)for(;;)if(E==0){for(r=1,u=S[0];u>=10;u/=10,r++);for(u=S[0]+=a,a=1;u>=10;u/=10,a++);r!=a&&(n.e++,S[0]==w&&(S[0]=1));break}else{if(S[E]+=a,S[E]!=w)break;S[E--]=0,a=1}for(r=S.length;S[--r]===0;S.pop());}n.e>re?n.c=n.e=null:n.e<Ee&&(n.c=[n.e=0])}return n}function F(n){var t,s=n.e;return s===null?n.toString():(t=M(n.c),t=s<=ne||s>=se?K(t,s):O(t,s,"0"),n.s<0?"-"+t:t)}return D.absoluteValue=D.abs=function(){var n=new I(this);return n.s<0&&(n.s=1),n},D.comparedTo=function(n,t){return C(this,new I(n,t))},D.decimalPlaces=D.dp=function(n,t){var s,f,o,r=this;if(n!=null)return x(n,0,U),t==null?t=q:x(t,0,8),W(new I(r),n+r.e+1,t);if(!(s=r.c))return null;if(f=((o=s.length-1)-T(this.e/k))*k,o=s[o])for(;o%10==0;o/=10,f--);return f<0&&(f=0),f},D.dividedBy=D.div=function(n,t){return _(this,new I(n,t),Z,q)},D.dividedToIntegerBy=D.idiv=function(n,t){return _(this,new I(n,t),0,1)},D.exponentiatedBy=D.pow=function(n,t){var s,f,o,r,u,a,m,E,N,S=this;if(n=new I(n),n.c&&!n.isInteger())throw Error(V+"Exponent not an integer: "+F(n));if(t!=null&&(t=new I(t)),a=n.e>14,!S.c||!S.c[0]||S.c[0]==1&&!S.e&&S.c.length==1||!n.c||!n.c[0])return N=new I(Math.pow(+F(S),a?n.s*(2-z(n)):+F(n))),t?N.mod(t):N;if(m=n.s<0,t){if(t.c?!t.c[0]:!t.s)return new I(NaN);f=!m&&S.isInteger()&&t.isInteger(),f&&(S=S.mod(t))}else{if(n.e>9&&(S.e>0||S.e<-1||(S.e==0?S.c[0]>1||a&&S.c[1]>=24e7:S.c[0]<8e13||a&&S.c[0]<=9999975e7)))return r=S.s<0&&z(n)?-0:0,S.e>-1&&(r=1/r),new I(m?1/r:r);me&&(r=d(me/k+2))}for(a?(s=new I(.5),m&&(n.s=1),E=z(n)):(o=Math.abs(+F(n)),E=o%2),N=new I(ee);;){if(E){if(N=N.times(S),!N.c)break;r?N.c.length>r&&(N.c.length=r):f&&(N=N.mod(t))}if(o){if(o=B(o/2),o===0)break;E=o%2}else if(n=n.times(s),W(n,n.e+1,1),n.e>14)E=z(n);else{if(o=+F(n),o===0)break;E=o%2}S=S.times(S),r?S.c&&S.c.length>r&&(S.c.length=r):f&&(S=S.mod(t))}return f?N:(m&&(N=ee.div(N)),t?N.mod(t):r?W(N,me,q,u):N)},D.integerValue=function(n){var t=new I(this);return n==null?n=q:x(n,0,8),W(t,t.e+1,n)},D.isEqualTo=D.eq=function(n,t){return C(this,new I(n,t))===0},D.isFinite=function(){return!!this.c},D.isGreaterThan=D.gt=function(n,t){return C(this,new I(n,t))>0},D.isGreaterThanOrEqualTo=D.gte=function(n,t){return(t=C(this,new I(n,t)))===1||t===0},D.isInteger=function(){return!!this.c&&T(this.e/k)>this.c.length-2},D.isLessThan=D.lt=function(n,t){return C(this,new I(n,t))<0},D.isLessThanOrEqualTo=D.lte=function(n,t){return(t=C(this,new I(n,t)))===-1||t===0},D.isNaN=function(){return!this.s},D.isNegative=function(){return this.s<0},D.isPositive=function(){return this.s>0},D.isZero=function(){return!!this.c&&this.c[0]==0},D.minus=function(n,t){var s,f,o,r,u=this,a=u.s;if(n=new I(n,t),t=n.s,!a||!t)return new I(NaN);if(a!=t)return n.s=-t,u.plus(n);var m=u.e/k,E=n.e/k,N=u.c,S=n.c;if(!m||!E){if(!N||!S)return N?(n.s=-t,n):new I(S?u:NaN);if(!N[0]||!S[0])return S[0]?(n.s=-t,n):new I(N[0]?u:q==3?-0:0)}if(m=T(m),E=T(E),N=N.slice(),a=m-E){for((r=a<0)?(a=-a,o=N):(E=m,o=S),o.reverse(),t=a;t--;o.push(0));o.reverse()}else for(f=(r=(a=N.length)<(t=S.length))?a:t,a=t=0;t<f;t++)if(N[t]!=S[t]){r=N[t]<S[t];break}if(r&&(o=N,N=S,S=o,n.s=-n.s),t=(f=S.length)-(s=N.length),t>0)for(;t--;N[s++]=0);for(t=w-1;f>a;){if(N[--f]<S[f]){for(s=f;s&&!N[--s];N[s]=t);--N[s],N[f]+=w}N[f]-=S[f]}for(;N[0]==0;N.splice(0,1),--E);return N[0]?Ce(n,N,E):(n.s=q==3?-1:1,n.c=[n.e=0],n)},D.modulo=D.mod=function(n,t){var s,f,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?(f=n.s,n.s=1,s=_(o,n,0,3),n.s=f,s.s*=f):s=_(o,n,0,he),n=o.minus(s.times(n)),!n.c[0]&&he==1&&(n.s=o.s),n)},D.multipliedBy=D.times=function(n,t){var s,f,o,r,u,a,m,E,N,S,R,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(f=T(Q.e/k)+T(n.e/k),n.s*=Q.s,m=te.length,S=pe.length,m<S&&(v=te,te=pe,pe=v,o=m,m=S,S=o),o=m+S,v=[];o--;v.push(0));for(ae=w,de=$,o=S;--o>=0;){for(s=0,R=pe[o]%de,j=pe[o]/de|0,u=m,r=o+u;r>o;)E=te[--u]%de,N=te[u]/de|0,a=j*E+N*R,E=R*E+a%de*de+v[r]+s,s=(E/ae|0)+(a/de|0)+j*N,v[r--]=E%ae;v[r]=s}return s?++f:v.splice(0,1),Ce(n,v,f)},D.negated=function(){var n=new I(this);return n.s=-n.s||null,n},D.plus=function(n,t){var s,f=this,o=f.s;if(n=new I(n,t),t=n.s,!o||!t)return new I(NaN);if(o!=t)return n.s=-t,f.minus(n);var r=f.e/k,u=n.e/k,a=f.c,m=n.c;if(!r||!u){if(!a||!m)return new I(o/0);if(!a[0]||!m[0])return m[0]?n:new I(a[0]?f:o*0)}if(r=T(r),u=T(u),a=a.slice(),o=r-u){for(o>0?(u=r,s=m):(o=-o,s=a),s.reverse();o--;s.push(0));s.reverse()}for(o=a.length,t=m.length,o-t<0&&(s=m,m=a,a=s,t=o),o=0;t;)o=(a[--t]=a[t]+m[t]+o)/w|0,a[t]=w===a[t]?0:a[t]%w;return o&&(a=[o].concat(a),++u),Ce(n,a,u)},D.precision=D.sd=function(n,t){var s,f,o,r=this;if(n!=null&&n!==!!n)return x(n,1,U),t==null?t=q:x(t,0,8),W(new I(r),n,t);if(!(s=r.c))return null;if(o=s.length-1,f=o*k+1,o=s[o]){for(;o%10==0;o/=10,f--);for(o=s[0];o>=10;o/=10,f++);}return n&&r.e+1>f&&(f=r.e+1),f},D.shiftedBy=function(n){return x(n,-y,y),this.times("1e"+n)},D.squareRoot=D.sqrt=function(){var n,t,s,f,o,r=this,u=r.c,a=r.s,m=r.e,E=Z+4,N=new I("0.5");if(a!==1||!u||!u[0])return new I(!a||a<0&&(!u||u[0])?NaN:u?r:1/0);if(a=Math.sqrt(+F(r)),a==0||a==1/0?(t=M(u),(t.length+m)%2==0&&(t+="0"),a=Math.sqrt(+t),m=T((m+1)/2)-(m<0||m%2),a==1/0?t="5e"+m:(t=a.toExponential(),t=t.slice(0,t.indexOf("e")+1)+m),s=new I(t)):s=new I(a+""),s.c[0]){for(m=s.e,a=m+E,a<3&&(a=0);;)if(o=s,s=N.times(o.plus(_(r,o,E,1))),M(o.c).slice(0,a)===(t=M(s.c)).slice(0,a))if(s.e<m&&--a,t=t.slice(a-3,a+1),t=="9999"||!f&&t=="4999"){if(!f&&(W(o,o.e+Z+2,0),o.times(o).eq(r))){s=o;break}E+=4,a+=4,f=1}else{(!+t||!+t.slice(1)&&t.charAt(0)=="5")&&(W(s,s.e+Z+2,1),n=!s.times(s).eq(r));break}}return W(s,s.e+Z+1,q,n)},D.toExponential=function(n,t){return n!=null&&(x(n,0,U),n++),Ie(this,n,t,1)},D.toFixed=function(n,t){return n!=null&&(x(n,0,U),n=n+this.e+1),Ie(this,n,t)},D.toFormat=function(n,t,s){var f,o=this;if(s==null)n!=null&&t&&typeof t=="object"?(s=t,t=null):n&&typeof n=="object"?(s=n,n=t=null):s=Se;else if(typeof s!="object")throw Error(V+"Argument not an object: "+s);if(f=o.toFixed(n,t),o.c){var r,u=f.split("."),a=+s.groupSize,m=+s.secondaryGroupSize,E=s.groupSeparator||"",N=u[0],S=u[1],R=o.s<0,j=R?N.slice(1):N,v=j.length;if(m&&(r=a,a=m,m=r,v-=r),a>0&&v>0){for(r=v%a||a,N=j.substr(0,r);r<v;r+=a)N+=E+j.substr(r,a);m>0&&(N+=E+j.slice(r)),R&&(N="-"+N)}f=S?N+(s.decimalSeparator||"")+((m=+s.fractionGroupSize)?S.replace(new RegExp("\\d{"+m+"}\\B","g"),"$&"+(s.fractionGroupSeparator||"")):S):N}return(s.prefix||"")+f+(s.suffix||"")},D.toFraction=function(n){var t,s,f,o,r,u,a,m,E,N,S,R,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: ")+F(a));if(!v)return new I(j);for(t=new I(ee),E=s=new I(ee),f=m=new I(ee),R=M(v),r=t.e=R.length-j.e-1,t.c[0]=L[(u=r%k)<0?k+u:u],n=!n||a.comparedTo(t)>0?r>0?t:E:a,u=re,re=1/0,a=new I(R),m.c[0]=0;N=_(a,t,0,1),o=s.plus(N.times(f)),o.comparedTo(n)!=1;)s=f,f=o,E=m.plus(N.times(o=E)),m=o,t=a.minus(N.times(o=t)),a=o;return o=_(n.minus(s),f,0,1),m=m.plus(o.times(E)),s=s.plus(o.times(f)),m.s=E.s=j.s,r=r*2,S=_(E,f,r,q).minus(j).abs().comparedTo(_(m,s,r,q).minus(j).abs())<1?[E,f]:[m,s],re=u,S},D.toNumber=function(){return+F(this)},D.toPrecision=function(n,t){return n!=null&&x(n,1,U),Ie(this,n,t,2)},D.toString=function(n){var t,s=this,f=s.s,o=s.e;return o===null?f?(t="Infinity",f<0&&(t="-"+t)):t="NaN":(n==null?t=o<=ne||o>=se?K(M(s.c),o):O(M(s.c),o,"0"):n===10&&$e?(s=W(new I(s),Z+o+1,q),t=O(M(s.c),s.e,"0")):(x(n,2,Ve.length,"Base"),t=G(O(M(s.c),o,"0"),10,n,f,!0)),f<0&&s.c[0]&&(t="-"+t)),t},D.valueOf=D.toJSON=function(){return F(this)},D._isBigNumber=!0,i!=null&&I.set(i),I}function T(i){var _=i|0;return i>0||i===_?_:_-1}function M(i){for(var _,G,J=1,D=i.length,ee=i[0]+"";J<D;){for(_=i[J++]+"",G=k-_.length;G--;_="0"+_);ee+=_}for(D=ee.length;ee.charCodeAt(--D)===48;);return ee.slice(0,D+1||1)}function C(i,_){var G,J,D=i.c,ee=_.c,Z=i.s,q=_.s,ne=i.e,se=_.e;if(!Z||!q)return null;if(G=D&&!D[0],J=ee&&!ee[0],G||J)return G?J?0:-q:Z;if(Z!=q)return Z;if(G=Z<0,J=ne==se,!D||!ee)return J?0:!D^G?1:-1;if(!J)return ne>se^G?1:-1;for(q=(ne=D.length)<(se=ee.length)?ne:se,Z=0;Z<q;Z++)if(D[Z]!=ee[Z])return D[Z]>ee[Z]^G?1:-1;return ne==se?0:ne>se^G?1:-1}function x(i,_,G,J){if(i<_||i>G||i!==B(i))throw Error(V+(J||"Argument")+(typeof i=="number"?i<_||i>G?" 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 O(i,_,G){var J,D;if(_<0){for(D=G+".";++_;D+=G);i=D+i}else if(J=i.length,++_>J){for(D=G,_-=J;--_;D+=G);i+=D}else _<J&&(i=i.slice(0,_)+"."+i.slice(_));return i}g=Y(),g.default=g.BigNumber=g,l.exports?l.exports=g:(c||(c=typeof self<"u"&&self?self:window),c.BigNumber=g)})(ys)})(Dt);var Tt=Dt.exports;(function(l){var c=Tt,g=l.exports;(function(){var p=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,d,B,V={"\b":"\\b"," ":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},h;function w(y){return p.lastIndex=0,p.test(y)?'"'+y.replace(p,function(L){var $=V[L];return typeof $=="string"?$:"\\u"+("0000"+L.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+y+'"'}function k(y,L){var $,U,Y,T,M=d,C,x=L[y],z=x!=null&&(x instanceof c||c.isBigNumber(x));switch(x&&typeof x=="object"&&typeof x.toJSON=="function"&&(x=x.toJSON(y)),typeof h=="function"&&(x=h.call(L,y,x)),typeof x){case"string":return z?x:w(x);case"number":return isFinite(x)?String(x):"null";case"boolean":case"null":case"bigint":return String(x);case"object":if(!x)return"null";if(d+=B,C=[],Object.prototype.toString.apply(x)==="[object Array]"){for(T=x.length,$=0;$<T;$+=1)C[$]=k($,x)||"null";return Y=C.length===0?"[]":d?`[
2
- `+d+C.join(`,
3
- `+d)+`
4
- `+M+"]":"["+C.join(",")+"]",d=M,Y}if(h&&typeof h=="object")for(T=h.length,$=0;$<T;$+=1)typeof h[$]=="string"&&(U=h[$],Y=k(U,x),Y&&C.push(w(U)+(d?": ":":")+Y));else Object.keys(x).forEach(function(K){var O=k(K,x);O&&C.push(w(K)+(d?": ":":")+O)});return Y=C.length===0?"{}":d?`{
5
- `+d+C.join(`,
6
- `+d)+`
7
- `+M+"}":"{"+C.join(",")+"}",d=M,Y}}typeof g.stringify!="function"&&(g.stringify=function(y,L,$){var U;if(d="",B="",typeof $=="number")for(U=0;U<$;U+=1)B+=" ";else typeof $=="string"&&(B=$);if(h=L,L&&typeof L!="function"&&(typeof L!="object"||typeof L.length!="number"))throw new Error("JSON.stringify");return k("",{"":y})})})()})(Lt);var xs=Lt.exports,Ke=null;const Cs=/(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])/,Bs=/(?: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 bs=function(l){var c={strict:!1,storeAsString:!1,alwaysParseAsBig:!1,useNativeBigInt:!1,protoAction:"error",constructorAction:"error"};if(l!=null){if(l.strict===!0&&(c.strict=!0),l.storeAsString===!0&&(c.storeAsString=!0),c.alwaysParseAsBig=l.alwaysParseAsBig===!0?l.alwaysParseAsBig:!1,c.useNativeBigInt=l.useNativeBigInt===!0?l.useNativeBigInt:!1,typeof l.constructorAction<"u")if(l.constructorAction==="error"||l.constructorAction==="ignore"||l.constructorAction==="preserve")c.constructorAction=l.constructorAction;else throw new Error(`Incorrect value for constructorAction option, must be "error", "ignore" or undefined but passed ${l.constructorAction}`);if(typeof l.protoAction<"u")if(l.protoAction==="error"||l.protoAction==="ignore"||l.protoAction==="preserve")c.protoAction=l.protoAction;else throw new Error(`Incorrect value for protoAction option, must be "error", "ignore" or undefined but passed ${l.protoAction}`)}var g,p,d={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:`
8
- `,r:"\r",t:" "},B,V=function(T){throw{name:"SyntaxError",message:T,at:g,text:B}},h=function(T){return T&&T!==p&&V("Expected '"+T+"' instead of '"+p+"'"),p=B.charAt(g),g+=1,p},w=function(){var T,M="";for(p==="-"&&(M="-",h("-"));p>="0"&&p<="9";)M+=p,h();if(p===".")for(M+=".";h()&&p>="0"&&p<="9";)M+=p;if(p==="e"||p==="E")for(M+=p,h(),(p==="-"||p==="+")&&(M+=p,h());p>="0"&&p<="9";)M+=p,h();if(T=+M,!isFinite(T))V("Bad number");else return Ke==null&&(Ke=Tt),M.length>15?c.storeAsString?M:c.useNativeBigInt?BigInt(M):new Ke(M):c.alwaysParseAsBig?c.useNativeBigInt?BigInt(T):new Ke(T):T},k=function(){var T,M,C="",x;if(p==='"')for(var z=g;h();){if(p==='"')return g-1>z&&(C+=B.substring(z,g-1)),h(),C;if(p==="\\"){if(g-1>z&&(C+=B.substring(z,g-1)),h(),p==="u"){for(x=0,M=0;M<4&&(T=parseInt(h(),16),!!isFinite(T));M+=1)x=x*16+T;C+=String.fromCharCode(x)}else if(typeof d[p]=="string")C+=d[p];else break;z=g}}V("Bad string")},y=function(){for(;p&&p<=" ";)h()},L=function(){switch(p){case"t":return h("t"),h("r"),h("u"),h("e"),!0;case"f":return h("f"),h("a"),h("l"),h("s"),h("e"),!1;case"n":return h("n"),h("u"),h("l"),h("l"),null}V("Unexpected '"+p+"'")},$,U=function(){var T=[];if(p==="["){if(h("["),y(),p==="]")return h("]"),T;for(;p;){if(T.push($()),y(),p==="]")return h("]"),T;h(","),y()}}V("Bad array")},Y=function(){var T,M=Object.create(null);if(p==="{"){if(h("{"),y(),p==="}")return h("}"),M;for(;p;){if(T=k(),y(),h(":"),c.strict===!0&&Object.hasOwnProperty.call(M,T)&&V('Duplicate key "'+T+'"'),Cs.test(T)===!0?c.protoAction==="error"?V("Object contains forbidden prototype property"):c.protoAction==="ignore"?$():M[T]=$():Bs.test(T)===!0?c.constructorAction==="error"?V("Object contains forbidden constructor property"):c.constructorAction==="ignore"?$():M[T]=$():M[T]=$(),y(),p==="}")return h("}"),M;h(","),y()}}V("Bad object")};return $=function(){switch(y(),p){case"{":return Y();case"[":return U();case'"':return k();case"-":return w();default:return p>="0"&&p<="9"?w():L()}},function(T,M){var C;return B=T+"",g=0,p=" ",C=$(),y(),p&&V("Syntax error"),typeof M=="function"?function x(z,K){var O,i=z[K];return i&&typeof i=="object"&&Object.keys(i).forEach(function(_){O=x(i,_),O!==void 0?i[_]=O:delete i[_]}),M.call(z,K,i)}({"":C},""):C}},Ss=bs,At=xs.stringify,Ut=Ss;Ge.exports=function(l){return{parse:Ut(l),stringify:At}},Ge.exports.parse=Ut(),Ge.exports.stringify=At;var $s=Ge.exports;const Is=ws($s)({storeAsString:!0});let zt;function Ms(l){zt=l,Le&&(Le.defaults.baseURL=l)}const Le=(()=>{const l=Zt.create({timeout:3e4,headers:{"Content-Type":"application/json"},transformResponse:[c=>{if(typeof c=="string")try{return Is.parse(c)}catch{return c}return c}]});return l.interceptors.request.use(c=>{const g=zt||void 0;g&&!c.baseURL&&(c.baseURL=g);const p=Pe(),d=yt()||"Bearer";return p&&(c.headers.Authorization=`${d} ${p}`),c},c=>Promise.reject(c)),l.interceptors.response.use(c=>{const{data:g}=c;return g.code===200||g.code===0?g.data:g.code===9121?(oe.Message.error("登录已过期,请重新登录"),De(),window.location.href="/login",Promise.reject(new Error(g.message||"EXPIRED OR INVALID TOKEN"))):(oe.Message.error(g.message||"请求失败"),Promise.reject(new Error(g.message||"请求失败")))},c=>{var p;const{response:g}=c;if(g){const{data:d}=g;if((d==null?void 0:d.code)===9121)return oe.Message.error("登录已过期,请重新登录"),De(),window.location.href="/login",Promise.reject(c);switch(g.status){case 401:oe.Message.error("登录已过期,请重新登录"),De(),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(((p=g.data)==null?void 0:p.message)||"请求失败")}}else oe.Message.error("网络连接失败");return Promise.reject(c)}),l})(),le={get(l,c){return Le.get(l,c)},post(l,c,g){return Le.post(l,c,g)},put(l,c,g){return Le.put(l,c,g)},patch(l,c,g){return Le.patch(l,c,g)},delete(l,c){return Le.delete(l,c)},download(l,c){return Le.get(l,{...c,responseType:"blob"})}};function Ot(l){return le.post("/user/v1.0/login/by-domain",l)}function Ls(){return le.put("/user/v1.0/user/logout")}function Ft(){return le.get("/user/v1.0/user/get-me")}function Ds(l){return le.post("/user/v1.0/refresh",{refreshToken:l})}const Ts={class:"login-page"},As={class:"login-form-section"},Us={class:"form-container"},zs={class:"input-wrapper"},Os={class:"input-wrapper"},Fs={class:"form-options"},Ps={key:0},Rs={key:1},Pt=fe(e.defineComponent({__name:"index",setup(l){const c=ce.useRouter(),g=ce.useRoute(),p=e.ref(!1),d=e.ref(!1),B=e.reactive({uid:"",password:""}),V={uid:[{required:!0,message:"请输入用户名",trigger:"blur"}],password:[{required:!0,message:"请输入密码",trigger:"blur"},{min:6,message:"密码长度至少6位",trigger:"blur"}]},h=e.ref(),w=async()=>{var k;try{await((k=h.value)==null?void 0:k.validate()),p.value=!0;const y=await Ot({appId:Ue(),clientId:Je(),uid:B.uid,password:B.password,code:!0});at(y),oe.Message.success("登录成功");const L=g.query.redirect||"/";c.push(L)}catch(y){console.error("登录失败:",y)}finally{p.value=!1}};return(k,y)=>(e.openBlock(),e.createElementBlock("div",Ts,[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",As,[e.createElementVNode("div",Us,[y[7]||(y[7]=e.createElementVNode("div",{class:"form-header"},[e.createElementVNode("h2",null,"欢迎登录"),e.createElementVNode("p",null,"请输入您的账户信息")],-1)),e.createVNode(e.unref(P.Form),{ref_key:"formRef",ref:h,model:B,rules:V,class:"login-form","label-width":"0"},{default:e.withCtx(()=>[e.createVNode(e.unref(P.FormItem),{prop:"uid"},{default:e.withCtx(()=>[e.createElementVNode("div",zs,[y[3]||(y[3]=e.createElementVNode("label",{class:"input-label"},"用户名",-1)),e.createVNode(e.unref(P.Input),{modelValue:B.uid,"onUpdate:modelValue":y[0]||(y[0]=L=>B.uid=L),placeholder:"请输入用户名",size:"large"},{prefix:e.withCtx(()=>[e.createVNode(e.unref(A.Icon),{name:"user",size:18})]),_:1},8,["modelValue"])])]),_:1}),e.createVNode(e.unref(P.FormItem),{prop:"password"},{default:e.withCtx(()=>[e.createElementVNode("div",Os,[y[4]||(y[4]=e.createElementVNode("label",{class:"input-label"},"密码",-1)),e.createVNode(e.unref(P.Input),{modelValue:B.password,"onUpdate:modelValue":y[1]||(y[1]=L=>B.password=L),type:"password",placeholder:"请输入密码",size:"large","show-password":"",onKeyup:e.withKeys(w,["enter"])},{prefix:e.withCtx(()=>[e.createVNode(e.unref(A.Icon),{name:"lock",size:18})]),_:1},8,["modelValue"])])]),_:1}),e.createElementVNode("div",Fs,[e.createVNode(e.unref(P.Checkbox),{modelValue:d.value,"onUpdate:modelValue":y[2]||(y[2]=L=>d.value=L)},{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(P.FormItem),null,{default:e.withCtx(()=>[e.createVNode(e.unref(A.Button),{type:"primary",size:"large",loading:p.value,class:"login-btn",onClick:w},{default:e.withCtx(()=>[p.value?(e.openBlock(),e.createElementBlock("span",Rs,"登录中...")):(e.openBlock(),e.createElementBlock("span",Ps,"登 录"))]),_: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"]]),qs=Object.freeze(Object.defineProperty({__proto__:null,default:Pt},Symbol.toStringTag,{value:"Module"})),js={class:"error-page"},Hs={class:"error-container"},Gs={class:"error-content"},Ks={class:"error-actions"},Rt=fe(e.defineComponent({__name:"404",setup(l){const c=ce.useRouter(),g=()=>{c.push("/")};return(p,d)=>(e.openBlock(),e.createElementBlock("div",js,[e.createElementVNode("div",Hs,[d[7]||(d[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",Gs,[d[5]||(d[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",Ks,[e.createVNode(e.unref(A.Button),{type:"primary",size:"large",onClick:g},{icon:e.withCtx(()=>[...d[1]||(d[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(()=>[d[2]||(d[2]=e.createTextVNode(" 返回首页 ",-1))]),_:1}),e.createVNode(e.unref(A.Button),{size:"large",onClick:d[0]||(d[0]=B=>e.unref(c).go(-1))},{icon:e.withCtx(()=>[...d[3]||(d[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(()=>[d[4]||(d[4]=e.createTextVNode(" 返回上一页 ",-1))]),_:1})]),d[6]||(d[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"]]),qt=Object.freeze(Object.defineProperty({__proto__:null,default:Rt},Symbol.toStringTag,{value:"Module"})),Ws={class:"error-page"},Xs={class:"error-container"},Ys={class:"error-content"},Js={class:"error-actions"},Zs=fe(e.defineComponent({__name:"403",setup(l){const c=ce.useRouter(),g=()=>{c.push("/")};return(p,d)=>(e.openBlock(),e.createElementBlock("div",Ws,[e.createElementVNode("div",Xs,[d[7]||(d[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",Ys,[d[5]||(d[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:g},{icon:e.withCtx(()=>[...d[1]||(d[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(()=>[d[2]||(d[2]=e.createTextVNode(" 返回首页 ",-1))]),_:1}),e.createVNode(e.unref(A.Button),{size:"large",onClick:d[0]||(d[0]=B=>e.unref(c).go(-1))},{icon:e.withCtx(()=>[...d[3]||(d[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(()=>[d[4]||(d[4]=e.createTextVNode(" 返回上一页 ",-1))]),_:1})]),d[6]||(d[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 Qs(){const l=be(),c=ke(),g=Te(),p=e.computed(()=>c.userName||""),d=e.computed(()=>c.userInfo),B=e.computed(()=>l.appName),V=e.computed(()=>g.isLoggedIn),h=e.computed(()=>l.isDark),w=e.computed(()=>l.theme),k=e.computed(()=>l.isCollapsed),y=e.computed(()=>l.layout);return{userName:p,userInfo:d,appName:B,isLoggedIn:V,isDark:h,theme:w,isCollapsed:k,layout:y,toggleTheme:()=>{l.toggleTheme()},toggleCollapse:()=>{l.toggleCollapse()}}}function vs(){const l=ke();return{isLoggedIn:e.computed(()=>l.isLoggedIn)}}function er(l,c={}){const{rules:g,onSubmit:p}=c,d=e.ref(),B=e.reactive({...l}),V=e.ref(!1),h=e.ref(!1),w=e.ref(!1),k=()=>{$(),w.value=!1,h.value=!0},y=Y=>{Object.assign(B,Y),w.value=!0,h.value=!0},L=()=>{h.value=!1,$()},$=()=>{var Y;Object.keys(l).forEach(T=>{B[T]=l[T]}),(Y=d.value)==null||Y.resetFields()};return{formRef:d,formData:B,rules:g,loading:V,visible:h,isEdit:w,openAdd:k,openEdit:y,close:L,resetForm:$,handleSubmit:async()=>{var Y;try{await((Y=d.value)==null?void 0:Y.validate()),V.value=!0,await(p==null?void 0:p(B)),L()}catch(T){console.error(T)}finally{V.value=!1}}}}function tr(l){const{fetchData:c,defaultPageSize:g=10}=l,p=e.ref(!1),d=e.ref([]),B=e.ref(0),V=e.ref(1),h=e.ref(g),w=e.reactive({}),k=async()=>{p.value=!0;try{const M={...w,page:V.value,pageSize:h.value},C=await c(M);d.value=C.list,B.value=C.total}catch(M){console.error(M)}finally{p.value=!1}},y=()=>{V.value=1,k()},L=()=>{Object.keys(w).forEach(M=>{w[M]=void 0}),V.value=1,k()},$=M=>{V.value=M,k()},U=M=>{h.value=M,V.value=1,k()},Y=()=>{k()},T=e.computed(()=>({current:V.value,pageSize:h.value,total:B.value}));return{loading:p,data:d,total:B,currentPage:V,pageSize:h,searchParams:w,pagination:T,getData:k,handleSearch:y,handleReset:L,handlePageChange:$,handleSizeChange:U,refresh:Y}}const We=Ae.defineStore("locale",()=>{const l=H.get("locale")||"zh-CN",c=Ye.createLocaleProvider(l),g=e.ref(l),p=Ye.getSupportedLocales(),{t:d,messages:B,setLocale:V,mergeMessages:h}=Ye.useLocale(),w=e.computed(()=>{const $=p.find(U=>U.code===g.value);return($==null?void 0:$.name)||g.value});return{locale:g,localeName:w,locales:p,messages:B,t:d,changeLocale:$=>{g.value=$,V($),H.set("locale",$),c.setLocale($)},addMessages:$=>{h($)},initLocale:()=>{V(l)},provider:c}}),nr=Object.freeze(Object.defineProperty({__proto__:null,useLocaleStore:We},Symbol.toStringTag,{value:"Module"}));function or(){const l=We();return{locale:l.locale,localeName:l.localeName,locales:l.locales,t:l.t,messages:l.messages,setLocale:l.changeLocale,addMessages:l.addMessages}}function lr(){return We().t}function sr(l){const c=ke(),g=xe();return c.isLoggedIn?g.hasPermission(l):!1}function rr(l){return ke().isLoggedIn}function ar(){return!0}const mt=[{path:"/login",name:"Login",component:()=>Promise.resolve().then(()=>qs),meta:{title:"登录",hidden:!0}}],pt={path:"/",name:"Layout",component:()=>Promise.resolve().then(()=>fs),redirect:"/dashboard",children:[{path:"/dashboard",name:"Dashboard",component:()=>Promise.resolve().then(()=>Wt),meta:{title:"仪表盘",icon:"dashboard",keepAlive:!0,affix:!0}},{path:"/system/user",name:"SystemUser",component:()=>Promise.resolve().then(()=>Xt),meta:{title:"用户管理",icon:"user",keepAlive:!0}},{path:"/system/role",name:"SystemRole",component:()=>Promise.resolve().then(()=>Yt),meta:{title:"角色管理",icon:"role",keepAlive:!0}},{path:"/system/menu",name:"SystemMenu",component:()=>Promise.resolve().then(()=>Jt),meta:{title:"菜单管理",icon:"menu",keepAlive:!0}},{path:"/:pathMatch(.*)*",name:"CatchAll",component:()=>Promise.resolve().then(()=>qt),meta:{title:"404",hidden:!0}}]},ir=[{path:"/dashboard",name:"Dashboard",component:()=>Promise.resolve().then(()=>Wt),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(()=>Xt),meta:{title:"用户管理",icon:"user",keepAlive:!0}},{path:"role",name:"SystemRole",component:()=>Promise.resolve().then(()=>Yt),meta:{title:"角色管理",icon:"role",keepAlive:!0}},{path:"menu",name:"SystemMenu",component:()=>Promise.resolve().then(()=>Jt),meta:{title:"菜单管理",icon:"menu",keepAlive:!0}}]}],jt=[{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}]}],ft=ce.createRouter({history:ce.createWebHistory(),routes:[...mt,pt],scrollBehavior:()=>({left:0,top:0})}),cr=["/login"];ft.beforeEach(async(l,c,g)=>{const p=be();if(p.initTheme(),it())if(l.path==="/login")g({path:"/"});else{const d=ke();d.isLoggedIn||(d.setUserInfo({appId:Ue(),userId:"1",userName:"管理员",departmentName:"技术部",email:"admin@example.com",mobilePhone:"13800138000",positionName:"管理员",avatar:""}),xe().setMenuList(jt)),l.name&&l.meta.keepAlive&&p.addCachedView(l.name),g()}else cr.includes(l.path)?g():g("/login")});function dr(){const l=ce.createRouter({history:ce.createWebHistory(),routes:[...mt,pt]});ft.matcher=l.matcher}function mr(l,c={}){const g=c.indexPath||"/dashboard",p={path:"/:pathMatch(.*)*",name:"CatchAll",component:()=>Promise.resolve().then(()=>qt),meta:{title:"404"}};return{path:"/",name:"Layout",component:dt,redirect:g,children:[...l,p]}}function pr(l,c={}){return ce.createRouter({history:ce.createWebHistory(c.base),routes:l,scrollBehavior:()=>({left:0,top:0})})}function fr(l){return le.get("/role/list",{params:l})}function ur(l){return le.get(`/role/${l}`)}function hr(l){return le.post("/role",l)}function gr(l,c){return le.put(`/role/${l}`,c)}function Nr(l){return le.delete(`/role/${l}`)}function _r(l,c){return le.patch(`/role/${l}/status`,{status:c})}function Er(){return le.get("/user/v1.0/menu/list")}function Ht(l){const c=l||Ue();return le.get(`/user/v1.0/menu/get-menu?appId=${c}`)}function Vr(l){return le.post("/menu",l)}function kr(l,c){return le.put(`/menu/${l}`,c)}function yr(l){return le.delete(`/menu/${l}`)}const wr=["/login","/404","/403"];function xr(l,c={}){const g=c.whiteList||wr,p=c.loginPath||"/login",d=c.homePath||"/";l.beforeEach(async(B,V,h)=>{const w=be(),k=ke(),y=xe();if(w.initTheme(),Pe())if(B.path===p)h({path:d});else if(k.isLoggedIn)B.name&&B.meta.keepAlive&&w.addCachedView(B.name),h();else try{if(c.fetchUserInfo){const $=await c.fetchUserInfo();k.setUserInfo($)}else{const $=await Ft();k.setUserInfo($)}if(c.fetchMenu){const $=await c.fetchMenu();y.setMenuList($)}else{const $=await Ht(c.appId);y.setMenuList($)}c.onLoginSuccess&&c.onLoginSuccess(),B.name&&B.meta.keepAlive&&w.addCachedView(B.name),h({...B,replace:!0})}catch($){console.error("获取用户信息失败:",$),k.clearUserInfo(),y.clearMenu(),De(),h({path:p,query:{redirect:B.fullPath}})}else g.includes(B.path)?h():h({path:p,query:{redirect:B.fullPath}})}),l.afterEach(()=>{})}function Cr(l){return le.get("/user/list",{params:l})}function Br(l){return le.get(`/user/${l}`)}function br(l){return le.post("/user",l)}function Sr(l,c){return le.put(`/user/${l}`,c)}function $r(l){return le.delete(`/user/${l}`)}function Ir(l){return le.post("/user/batch-delete",{ids:l})}function Mr(l,c){return le.patch(`/user/${l}/status`,{status:c})}function Lr(l){return le.post(`/user/${l}/reset-password`)}var X=(l=>(l[l.ENABLED=1]="ENABLED",l[l.DISABLED=0]="DISABLED",l))(X||{}),Gt=(l=>(l[l.UNKNOWN=0]="UNKNOWN",l[l.MALE=1]="MALE",l[l.FEMALE=2]="FEMALE",l))(Gt||{}),_e=(l=>(l[l.DIRECTORY=0]="DIRECTORY",l[l.MENU=1]="MENU",l[l.BUTTON=2]="BUTTON",l))(_e||{});const Dr={1:"启用",0:"禁用"},Tr={0:"未知",1:"男",2:"女"},Ar={0:"目录",1:"菜单",2:"按钮"},ut=[{label:"启用",value:1},{label:"禁用",value:0}],Ur=[{label:"未知",value:0},{label:"男",value:1},{label:"女",value:2}],Kt=[{label:"目录",value:0},{label:"菜单",value:1},{label:"按钮",value:2}],zr={mounted(l,c){var V,h;const g=ke(),p=xe();if(!g.isLoggedIn){(V=l.parentNode)==null||V.removeChild(l);return}const d=c.value,B=Array.isArray(d)?d:[d];p.hasPermission(B)||(h=l.parentNode)==null||h.removeChild(l)}};function Or(l){return Nt({appId:l.appId,clientId:l.clientId,apiBaseUrl:l.apiBaseUrl}),l.locale&&Promise.resolve().then(()=>nr).then(({useLocaleStore:c})=>{c().changeLocale(l.locale)}),{config:{appName:l.appName||"XTO App",appId:Ue(),clientId:Je(),apiBaseUrl:_t(),indexPath:l.indexPath||"/dashboard",loginPath:l.loginPath||"/login",locale:l.locale||"zh-CN"}}}const Fr={class:"dashboard"},Pr={class:"stats-section"},Rr={class:"stat-content"},qr={class:"stat-title"},jr={key:0,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},Hr={key:1,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},Gr={class:"main-section"},Kr={class:"quick-section"},Wr={class:"quick-grid"},Xr={class:"quick-icon"},Yr={class:"quick-info"},Jr={class:"quick-title"},Zr={class:"quick-desc"},Qr={class:"activity-section"},vr={class:"activity-list"},ea={class:"activity-content"},ta={class:"activity-main"},na={class:"activity-user"},oa={class:"activity-action"},la={class:"activity-time"},sa={class:"system-section"},ra={class:"system-grid"},aa={class:"system-info-list"},ia={class:"info-label"},ca={class:"info-value"},da={class:"system-status"},ma={class:"status-item"},pa={class:"status-item"},fa={class:"status-item"},Wt=Object.freeze(Object.defineProperty({__proto__:null,default:fe(e.defineComponent({__name:"index",setup(l){const c=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}]),g=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:"钱"}]),p=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:"系统参数配置"}]),d=e.ref([{label:"系统版本",value:"v1.0.0"},{label:"Vue 版本",value:"3.4.21"},{label:"构建工具",value:"Vite 5"},{label:"UI 组件库",value:"XTO UI"}]);return(B,V)=>{const h=e.resolveComponent("router-link");return e.openBlock(),e.createElementBlock("div",Fr,[e.createElementVNode("div",Pr,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,w=>(e.openBlock(),e.createElementBlock("div",{key:w.title,class:"stat-card"},[e.createElementVNode("div",{class:"stat-icon",style:e.normalizeStyle({background:`linear-gradient(135deg, ${w.color}20 0%, ${w.color}10 100%)`})},[e.createElementVNode("span",null,e.toDisplayString(w.icon),1)],4),e.createElementVNode("div",Rr,[e.createElementVNode("div",qr,e.toDisplayString(w.title),1),e.createElementVNode("div",{class:"stat-value",style:e.normalizeStyle({color:w.color})},e.toDisplayString(w.value.toLocaleString()),5),e.createElementVNode("div",{class:e.normalizeClass(["stat-trend",{up:w.trendUp,down:!w.trendUp}])},[w.trendUp?(e.openBlock(),e.createElementBlock("svg",jr,[...V[0]||(V[0]=[e.createElementVNode("path",{d:"M7 17l5-5 5 5M7 7l5 5 5-5"},null,-1)])])):(e.openBlock(),e.createElementBlock("svg",Hr,[...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(w.trend),1)],2)]),e.createElementVNode("div",{class:"stat-decoration",style:e.normalizeStyle({background:`linear-gradient(135deg, ${w.color}08 0%, transparent 100%)`})},null,4)]))),128))]),e.createElementVNode("div",Gr,[e.createElementVNode("div",Kr,[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",Wr,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.value,w=>(e.openBlock(),e.createBlock(h,{key:w.path,to:w.path,class:"quick-card"},{default:e.withCtx(()=>[e.createElementVNode("div",Xr,e.toDisplayString(w.icon),1),e.createElementVNode("div",Yr,[e.createElementVNode("div",Jr,e.toDisplayString(w.title),1),e.createElementVNode("div",Zr,e.toDisplayString(w.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",vr,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.value,(w,k)=>(e.openBlock(),e.createElementBlock("div",{key:k,class:"activity-item"},[e.createElementVNode("div",{class:e.normalizeClass(["activity-avatar",w.type])},e.toDisplayString(w.avatar),3),e.createElementVNode("div",ea,[e.createElementVNode("div",ta,[e.createElementVNode("span",na,e.toDisplayString(w.user),1),e.createElementVNode("span",oa,e.toDisplayString(w.action),1)]),e.createElementVNode("div",la,e.toDisplayString(w.time),1)]),e.createElementVNode("div",{class:e.normalizeClass(["activity-dot",w.type])},null,2)]))),128))])])]),e.createElementVNode("div",sa,[V[8]||(V[8]=e.createElementVNode("div",{class:"section-header"},[e.createElementVNode("h3",null,"系统信息")],-1)),e.createElementVNode("div",ra,[e.createElementVNode("div",aa,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,w=>(e.openBlock(),e.createElementBlock("div",{key:w.label,class:"info-item"},[e.createElementVNode("span",ia,e.toDisplayString(w.label),1),e.createElementVNode("span",ca,e.toDisplayString(w.value),1)]))),128))]),e.createElementVNode("div",da,[e.createElementVNode("div",ma,[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",pa,[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",fa,[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"})),ua={class:"user-page"},ha={class:"search-section"},ga={class:"table-section"},Na={class:"table-toolbar"},_a={class:"toolbar-left"},Ea={class:"toolbar-right"},Va={class:"table-count"},ka={class:"table-wrapper"},ya={class:"data-table"},wa={key:0},xa={key:1},Ca={class:"col-id"},Ba={class:"id-badge"},ba={class:"col-user"},Sa={class:"user-info"},$a={class:"user-avatar"},Ia={class:"user-detail"},Ma={class:"user-nickname"},La={class:"user-username"},Da={class:"col-contact"},Ta={class:"contact-info"},Aa={class:"contact-email"},Ua={class:"contact-phone"},za={class:"col-roles"},Oa={class:"role-tags"},Fa={class:"col-status"},Pa={class:"status-switch"},Ra={class:"col-time"},qa={class:"time-text"},ja={class:"col-actions"},Ha={class:"pagination-wrapper"},Ga={class:"status-field"},Ka={class:"status-label"},Xt=Object.freeze(Object.defineProperty({__proto__:null,default:fe(e.defineComponent({__name:"index",setup(l){const c=[{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"}],g=e.ref(!1),p=e.ref([]),d=e.ref(0),B=e.ref(1),V=e.ref(10),h=e.reactive({keyword:"",status:void 0}),w=e.ref(!1),k=e.computed(()=>y.id?"编辑用户":"新增用户"),y=e.reactive({id:0,username:"",nickname:"",email:"",phone:"",status:X.ENABLED,roles:[]}),L={username:[{required:!0,message:"请输入用户名",trigger:"blur"}],nickname:[{required:!0,message:"请输入昵称",trigger:"blur"}],email:[{required:!0,message:"请输入邮箱",trigger:"blur"},{type:"email",message:"请输入正确的邮箱格式",trigger:"blur"}]},$=e.ref(),U=()=>{g.value=!0,setTimeout(()=>{let O=[...c];h.keyword&&(O=O.filter(i=>i.username.includes(h.keyword)||i.nickname.includes(h.keyword))),h.status!==void 0&&(O=O.filter(i=>i.status===h.status)),d.value=O.length,p.value=O.slice((B.value-1)*V.value,B.value*V.value),g.value=!1},300)},Y=()=>{B.value=1,U()},T=()=>{h.keyword="",h.status=void 0,B.value=1,U()},M=()=>{Object.assign(y,{id:0,username:"",nickname:"",email:"",phone:"",status:X.ENABLED,roles:[]}),w.value=!0},C=O=>{Object.assign(y,O),w.value=!0},x=O=>{oe.Message.success("删除成功"),U()},z=async()=>{var O;try{await((O=$.value)==null?void 0:O.validate()),oe.Message.success(y.id?"编辑成功":"新增成功"),w.value=!1,U()}catch(i){console.error(i)}},K=O=>{oe.Message.success(`已${O.status===X.ENABLED?"启用":"禁用"}用户 ${O.username}`)};return e.onMounted(()=>{U()}),(O,i)=>(e.openBlock(),e.createElementBlock("div",ua,[e.createElementVNode("div",ha,[e.createVNode(e.unref(P.Form),{model:h,inline:"",class:"search-form"},{default:e.withCtx(()=>[e.createVNode(e.unref(P.FormItem),{label:"关键词"},{default:e.withCtx(()=>[e.createVNode(e.unref(P.Input),{modelValue:h.keyword,"onUpdate:modelValue":i[0]||(i[0]=_=>h.keyword=_),placeholder:"用户名/昵称",clearable:"",onKeyup:e.withKeys(Y,["enter"])},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(P.FormItem),{label:"状态"},{default:e.withCtx(()=>[e.createVNode(e.unref(P.Select),{modelValue:h.status,"onUpdate:modelValue":i[1]||(i[1]=_=>h.status=_),options:e.unref(ut),placeholder:"请选择",clearable:""},null,8,["modelValue","options"])]),_:1}),e.createVNode(e.unref(P.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",ga,[e.createElementVNode("div",Na,[e.createElementVNode("div",_a,[e.createVNode(e.unref(A.Button),{type:"primary",onClick:M},{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",Ea,[e.createElementVNode("span",Va,"共 "+e.toDisplayString(d.value)+" 条数据",1)])]),e.createElementVNode("div",ka,[e.createElementVNode("table",ya,[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,[g.value?(e.openBlock(),e.createElementBlock("tr",wa,[...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)])])):p.value.length===0?(e.openBlock(),e.createElementBlock("tr",xa,[...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(p.value,_=>(e.openBlock(),e.createElementBlock("tr",{key:_.id,class:"data-row"},[e.createElementVNode("td",Ca,[e.createElementVNode("span",Ba,e.toDisplayString(_.id),1)]),e.createElementVNode("td",ba,[e.createElementVNode("div",Sa,[e.createElementVNode("div",$a,e.toDisplayString(_.nickname.charAt(0)),1),e.createElementVNode("div",Ia,[e.createElementVNode("span",Ma,e.toDisplayString(_.nickname),1),e.createElementVNode("span",La,"@"+e.toDisplayString(_.username),1)])])]),e.createElementVNode("td",Da,[e.createElementVNode("div",Ta,[e.createElementVNode("span",Aa,e.toDisplayString(_.email),1),e.createElementVNode("span",Ua,e.toDisplayString(_.phone),1)])]),e.createElementVNode("td",za,[e.createElementVNode("div",Oa,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(_.roles,G=>(e.openBlock(),e.createBlock(e.unref(we.Tag),{key:G,size:"small",type:G==="admin"?"primary":"info"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(G),1)]),_:2},1032,["type"]))),128))])]),e.createElementVNode("td",Fa,[e.createElementVNode("div",Pa,[e.createVNode(e.unref(P.Switch),{"model-value":_.status===e.unref(X).ENABLED,"onUpdate:modelValue":G=>{_.status=G?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",Ra,[e.createElementVNode("span",qa,e.toDisplayString(_.createTime),1)]),e.createElementVNode("td",ja,[e.createVNode(e.unref(A.Space),{class:"action-buttons"},{default:e.withCtx(()=>[e.createVNode(e.unref(A.Button),{type:"primary",link:"",size:"small",onClick:G=>C(_)},{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:G=>x(_.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",Ha,[e.createVNode(e.unref(we.Pagination),{"current-page":B.value,"onUpdate:currentPage":i[2]||(i[2]=_=>B.value=_),"page-size":V.value,"onUpdate:pageSize":i[3]||(i[3]=_=>V.value=_),total:d.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:w.value,"onUpdate:modelValue":i[10]||(i[10]=_=>w.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]=_=>w.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(P.Form),{ref_key:"formRef",ref:$,model:y,rules:L,"label-width":"80px",class:"user-form"},{default:e.withCtx(()=>[e.createVNode(e.unref(P.FormItem),{label:"用户名",prop:"username"},{default:e.withCtx(()=>[e.createVNode(e.unref(P.Input),{modelValue:y.username,"onUpdate:modelValue":i[4]||(i[4]=_=>y.username=_),placeholder:"请输入用户名"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(P.FormItem),{label:"昵称",prop:"nickname"},{default:e.withCtx(()=>[e.createVNode(e.unref(P.Input),{modelValue:y.nickname,"onUpdate:modelValue":i[5]||(i[5]=_=>y.nickname=_),placeholder:"请输入昵称"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(P.FormItem),{label:"邮箱",prop:"email"},{default:e.withCtx(()=>[e.createVNode(e.unref(P.Input),{modelValue:y.email,"onUpdate:modelValue":i[6]||(i[6]=_=>y.email=_),placeholder:"请输入邮箱"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(P.FormItem),{label:"手机号",prop:"phone"},{default:e.withCtx(()=>[e.createVNode(e.unref(P.Input),{modelValue:y.phone,"onUpdate:modelValue":i[7]||(i[7]=_=>y.phone=_),placeholder:"请输入手机号"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(P.FormItem),{label:"状态"},{default:e.withCtx(()=>[e.createElementVNode("div",Ga,[e.createVNode(e.unref(P.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",Ka,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"})),Wa={class:"role-page"},Xa={class:"search-section"},Ya={class:"table-section"},Ja={class:"table-toolbar"},Za={class:"toolbar-left"},Qa={class:"toolbar-right"},va={class:"table-count"},ei={class:"table-wrapper"},ti={class:"data-table"},ni={key:0},oi={key:1},li={class:"col-id"},si={class:"id-badge"},ri={class:"col-name"},ai={class:"role-name"},ii={class:"col-code"},ci={class:"col-desc"},di={class:"desc-text"},mi={class:"col-status"},pi={class:"status-switch"},fi={class:"col-time"},ui={class:"time-text"},hi={class:"col-actions"},gi={class:"pagination-wrapper"},Ni={class:"status-field"},_i={class:"status-label"},Yt=Object.freeze(Object.defineProperty({__proto__:null,default:fe(e.defineComponent({__name:"index",setup(l){const c=[{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"}],g=e.ref(!1),p=e.ref([]),d=e.ref(0),B=e.ref(1),V=e.ref(10),h=e.reactive({keyword:"",status:void 0}),w=e.ref(!1),k=e.computed(()=>y.id?"编辑角色":"新增角色"),y=e.reactive({id:0,name:"",code:"",description:"",status:X.ENABLED,permissions:[]}),L={name:[{required:!0,message:"请输入角色名称",trigger:"blur"}],code:[{required:!0,message:"请输入角色编码",trigger:"blur"}]},$=e.ref(),U=()=>{g.value=!0,setTimeout(()=>{let O=[...c];h.keyword&&(O=O.filter(i=>i.name.includes(h.keyword)||i.code.includes(h.keyword))),h.status!==void 0&&(O=O.filter(i=>i.status===h.status)),d.value=O.length,p.value=O.slice((B.value-1)*V.value,B.value*V.value),g.value=!1},300)},Y=()=>{B.value=1,U()},T=()=>{h.keyword="",h.status=void 0,B.value=1,U()},M=()=>{Object.assign(y,{id:0,name:"",code:"",description:"",status:X.ENABLED,permissions:[]}),w.value=!0},C=O=>{Object.assign(y,O),w.value=!0},x=O=>{oe.Message.success("删除成功"),U()},z=async()=>{var O;try{await((O=$.value)==null?void 0:O.validate()),oe.Message.success(y.id?"编辑成功":"新增成功"),w.value=!1,U()}catch(i){console.error(i)}},K=O=>{oe.Message.success(`已${O.status===X.ENABLED?"启用":"禁用"}角色 ${O.name}`)};return e.onMounted(()=>{U()}),(O,i)=>(e.openBlock(),e.createElementBlock("div",Wa,[e.createElementVNode("div",Xa,[e.createVNode(e.unref(P.Form),{model:h,inline:"",class:"search-form"},{default:e.withCtx(()=>[e.createVNode(e.unref(P.FormItem),{label:"关键词"},{default:e.withCtx(()=>[e.createVNode(e.unref(P.Input),{modelValue:h.keyword,"onUpdate:modelValue":i[0]||(i[0]=_=>h.keyword=_),placeholder:"角色名称/编码",clearable:"",onKeyup:e.withKeys(Y,["enter"])},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(P.FormItem),{label:"状态"},{default:e.withCtx(()=>[e.createVNode(e.unref(P.Select),{modelValue:h.status,"onUpdate:modelValue":i[1]||(i[1]=_=>h.status=_),options:e.unref(ut),placeholder:"请选择",clearable:""},null,8,["modelValue","options"])]),_:1}),e.createVNode(e.unref(P.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",Ya,[e.createElementVNode("div",Ja,[e.createElementVNode("div",Za,[e.createVNode(e.unref(A.Button),{type:"primary",onClick:M},{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",va,"共 "+e.toDisplayString(d.value)+" 条数据",1)])]),e.createElementVNode("div",ei,[e.createElementVNode("table",ti,[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,[g.value?(e.openBlock(),e.createElementBlock("tr",ni,[...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)])])):p.value.length===0?(e.openBlock(),e.createElementBlock("tr",oi,[...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(p.value,_=>(e.openBlock(),e.createElementBlock("tr",{key:_.id,class:"data-row"},[e.createElementVNode("td",li,[e.createElementVNode("span",si,e.toDisplayString(_.id),1)]),e.createElementVNode("td",ri,[e.createElementVNode("span",ai,e.toDisplayString(_.name),1)]),e.createElementVNode("td",ii,[e.createVNode(e.unref(we.Tag),{type:"primary",size:"small"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(_.code),1)]),_:2},1024)]),e.createElementVNode("td",ci,[e.createElementVNode("span",di,e.toDisplayString(_.description),1)]),e.createElementVNode("td",mi,[e.createElementVNode("div",pi,[e.createVNode(e.unref(P.Switch),{"model-value":_.status===e.unref(X).ENABLED,"onUpdate:modelValue":G=>{_.status=G?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",fi,[e.createElementVNode("span",ui,e.toDisplayString(_.createTime),1)]),e.createElementVNode("td",hi,[e.createVNode(e.unref(A.Space),{class:"action-buttons"},{default:e.withCtx(()=>[e.createVNode(e.unref(A.Button),{type:"primary",link:"",size:"small",onClick:G=>C(_)},{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:G=>x(_.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",gi,[e.createVNode(e.unref(we.Pagination),{"current-page":B.value,"onUpdate:currentPage":i[2]||(i[2]=_=>B.value=_),"page-size":V.value,"onUpdate:pageSize":i[3]||(i[3]=_=>V.value=_),total:d.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:w.value,"onUpdate:modelValue":i[9]||(i[9]=_=>w.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]=_=>w.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(P.Form),{ref_key:"formRef",ref:$,model:y,rules:L,"label-width":"80px",class:"role-form"},{default:e.withCtx(()=>[e.createVNode(e.unref(P.FormItem),{label:"角色名称",prop:"name"},{default:e.withCtx(()=>[e.createVNode(e.unref(P.Input),{modelValue:y.name,"onUpdate:modelValue":i[4]||(i[4]=_=>y.name=_),placeholder:"请输入角色名称"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(P.FormItem),{label:"角色编码",prop:"code"},{default:e.withCtx(()=>[e.createVNode(e.unref(P.Input),{modelValue:y.code,"onUpdate:modelValue":i[5]||(i[5]=_=>y.code=_),placeholder:"请输入角色编码"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(P.FormItem),{label:"描述"},{default:e.withCtx(()=>[e.createVNode(e.unref(P.Input),{modelValue:y.description,"onUpdate:modelValue":i[6]||(i[6]=_=>y.description=_),placeholder:"请输入描述"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(P.FormItem),{label:"状态"},{default:e.withCtx(()=>[e.createElementVNode("div",Ni,[e.createVNode(e.unref(P.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",_i,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"})),Ei={class:"menu-page"},Vi={class:"table-section"},ki={class:"table-toolbar"},yi={class:"toolbar-left"},wi={class:"toolbar-right"},xi={class:"table-count"},Ci={class:"table-wrapper"},Bi={class:"data-table"},bi={key:0},Si={key:1},$i={class:"data-row tree-row--level-0"},Ii={class:"col-name"},Mi={class:"menu-info"},Li={class:"menu-icon-wrapper"},Di=["onClick"],Ti={class:"col-icon"},Ai={class:"icon-text"},Ui={class:"col-path"},zi={class:"path-code"},Oi={class:"col-type"},Fi={class:"col-sort"},Pi={class:"sort-badge"},Ri={class:"col-status"},qi={class:"col-actions"},ji={class:"col-name"},Hi={class:"menu-info"},Gi={class:"menu-icon-wrapper"},Ki=["onClick"],Wi={class:"col-icon"},Xi={class:"icon-text"},Yi={class:"col-path"},Ji={class:"path-code"},Zi={class:"col-type"},Qi={class:"col-sort"},vi={class:"sort-badge"},ec={class:"col-status"},tc={class:"col-actions"},nc={class:"form-grid"},oc={class:"status-field"},lc={class:"status-label"},sc={class:"status-field"},rc={class:"status-label"},ac={class:"status-field"},ic={class:"status-label"},Jt=Object.freeze(Object.defineProperty({__proto__:null,default:fe(e.defineComponent({__name:"index",setup(l){const c=[{id:1,parentId:null,name:"Dashboard",path:"/dashboard",component:"dashboard/index",redirect:"",icon:"dashboard",title:"仪表盘",type:_e.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:_e.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:_e.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:_e.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:_e.MENU,sort:3,status:X.ENABLED,hidden:!1,keepAlive:!0}]}],g=e.ref(!1),p=e.ref([]),d=e.ref(!1),B=e.computed(()=>V.id?"编辑菜单":"新增菜单"),V=e.reactive({id:0,parentId:null,name:"",path:"",component:"",redirect:"",icon:"",title:"",type:_e.MENU,sort:0,status:X.ENABLED,hidden:!1,keepAlive:!0}),h={name:[{required:!0,message:"请输入菜单名称",trigger:"blur"}],path:[{required:!0,message:"请输入路由路径",trigger:"blur"}],title:[{required:!0,message:"请输入菜单标题",trigger:"blur"}]},w=e.ref(),k=()=>{g.value=!0,setTimeout(()=>{p.value=c,g.value=!1},300)},y=(M=null)=>{Object.assign(V,{id:0,parentId:M,name:"",path:"",component:"",redirect:"",icon:"",title:"",type:_e.MENU,sort:0,status:X.ENABLED,hidden:!1,keepAlive:!0}),d.value=!0},L=M=>{Object.assign(V,M),d.value=!0},$=async()=>{var M;try{await((M=w.value)==null?void 0:M.validate()),oe.Message.success(V.id?"编辑成功":"新增成功"),d.value=!1,k()}catch(C){console.error(C)}},U=M=>({dashboard:"📊",system:"⚙️",user:"👤",role:"👥",menu:"📋",setting:"🔧"})[M||""]||"📄",Y=M=>{switch(M){case _e.DIRECTORY:return"primary";case _e.MENU:return"success";default:return"warning"}},T=M=>{switch(M){case _e.DIRECTORY:return"目录";case _e.MENU:return"菜单";default:return"按钮"}};return e.onMounted(()=>{k()}),(M,C)=>(e.openBlock(),e.createElementBlock("div",Ei,[e.createElementVNode("div",Vi,[e.createElementVNode("div",ki,[e.createElementVNode("div",yi,[e.createVNode(e.unref(A.Button),{type:"primary",onClick:C[0]||(C[0]=x=>y())},{icon:e.withCtx(()=>[...C[14]||(C[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(()=>[C[15]||(C[15]=e.createTextVNode(" 新增菜单 ",-1))]),_:1})]),e.createElementVNode("div",wi,[e.createElementVNode("span",xi,"共 "+e.toDisplayString(p.value.length)+" 个菜单",1)])]),e.createElementVNode("div",Ci,[e.createElementVNode("table",Bi,[C[26]||(C[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,[g.value?(e.openBlock(),e.createElementBlock("tr",bi,[...C[16]||(C[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)])])):p.value.length===0?(e.openBlock(),e.createElementBlock("tr",Si,[...C[17]||(C[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(p.value,x=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:x.id},[e.createElementVNode("tr",$i,[e.createElementVNode("td",Ii,[e.createElementVNode("div",Mi,[e.createElementVNode("span",Li,e.toDisplayString(U(x.icon)),1),e.createElementVNode("span",{class:"menu-title",onClick:z=>L(x)},e.toDisplayString(x.title),9,Di)])]),e.createElementVNode("td",Ti,[e.createElementVNode("span",Ai,e.toDisplayString(U(x.icon)),1)]),e.createElementVNode("td",Ui,[e.createElementVNode("code",zi,e.toDisplayString(x.path),1)]),e.createElementVNode("td",Oi,[e.createVNode(e.unref(we.Tag),{type:Y(x.type),size:"small"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(T(x.type)),1)]),_:2},1032,["type"])]),e.createElementVNode("td",Fi,[e.createElementVNode("span",Pi,e.toDisplayString(x.sort),1)]),e.createElementVNode("td",Ri,[e.createVNode(e.unref(we.Tag),{type:x.status===e.unref(X).ENABLED?"success":"danger",size:"small"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(x.status===e.unref(X).ENABLED?"启用":"禁用"),1)]),_:2},1032,["type"])]),e.createElementVNode("td",qi,[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(x.id)},{icon:e.withCtx(()=>[...C[18]||(C[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(()=>[C[19]||(C[19]=e.createTextVNode(" 新增 ",-1))]),_:1},8,["onClick"]),e.createVNode(e.unref(A.Button),{type:"primary",link:"",size:"small",onClick:z=>L(x)},{icon:e.withCtx(()=>[...C[20]||(C[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(()=>[C[21]||(C[21]=e.createTextVNode(" 编辑 ",-1))]),_:1},8,["onClick"])]),_:2},1024)])]),x.children?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(x.children,z=>(e.openBlock(),e.createElementBlock("tr",{key:z.id,class:"data-row tree-row--level-1"},[e.createElementVNode("td",ji,[e.createElementVNode("div",Hi,[C[22]||(C[22]=e.createElementVNode("span",{class:"tree-indent"},null,-1)),C[23]||(C[23]=e.createElementVNode("span",{class:"tree-line"},null,-1)),e.createElementVNode("span",Gi,e.toDisplayString(U(z.icon)),1),e.createElementVNode("span",{class:"menu-title",onClick:K=>L(z)},e.toDisplayString(z.title),9,Ki)])]),e.createElementVNode("td",Wi,[e.createElementVNode("span",Xi,e.toDisplayString(U(z.icon)),1)]),e.createElementVNode("td",Yi,[e.createElementVNode("code",Ji,e.toDisplayString(z.path),1)]),e.createElementVNode("td",Zi,[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",vi,e.toDisplayString(z.sort),1)]),e.createElementVNode("td",ec,[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",tc,[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=>L(z)},{icon:e.withCtx(()=>[...C[24]||(C[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(()=>[C[25]||(C[25]=e.createTextVNode(" 编辑 ",-1))]),_:1},8,["onClick"])]),_:2},1024)])]))),128)):e.createCommentVNode("",!0)],64))),128))])])])]),e.createVNode(e.unref(oe.Modal),{modelValue:d.value,"onUpdate:modelValue":C[13]||(C[13]=x=>d.value=x),title:B.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:C[12]||(C[12]=x=>d.value=!1)},{default:e.withCtx(()=>[...C[27]||(C[27]=[e.createTextVNode("取消",-1)])]),_:1}),e.createVNode(e.unref(A.Button),{type:"primary",onClick:$},{default:e.withCtx(()=>[...C[28]||(C[28]=[e.createTextVNode("确定",-1)])]),_:1})]),_:1})]),default:e.withCtx(()=>[e.createVNode(e.unref(P.Form),{ref_key:"formRef",ref:w,model:V,rules:h,"label-width":"80px",class:"menu-form"},{default:e.withCtx(()=>[e.createElementVNode("div",nc,[e.createVNode(e.unref(P.FormItem),{label:"上级菜单",class:"form-item-full"},{default:e.withCtx(()=>[e.createVNode(e.unref(P.Input),{modelValue:V.parentId,"onUpdate:modelValue":C[1]||(C[1]=x=>V.parentId=x),placeholder:"上级菜单ID",disabled:""},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(P.FormItem),{label:"菜单类型"},{default:e.withCtx(()=>[e.createVNode(e.unref(P.Select),{modelValue:V.type,"onUpdate:modelValue":C[2]||(C[2]=x=>V.type=x),options:e.unref(Kt)},null,8,["modelValue","options"])]),_:1}),e.createVNode(e.unref(P.FormItem),{label:"排序"},{default:e.withCtx(()=>[e.createVNode(e.unref(P.InputNumber),{modelValue:V.sort,"onUpdate:modelValue":C[3]||(C[3]=x=>V.sort=x),min:0},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(P.FormItem),{label:"菜单名称",prop:"name"},{default:e.withCtx(()=>[e.createVNode(e.unref(P.Input),{modelValue:V.name,"onUpdate:modelValue":C[4]||(C[4]=x=>V.name=x),placeholder:"请输入菜单名称(路由name)"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(P.FormItem),{label:"菜单标题",prop:"title"},{default:e.withCtx(()=>[e.createVNode(e.unref(P.Input),{modelValue:V.title,"onUpdate:modelValue":C[5]||(C[5]=x=>V.title=x),placeholder:"请输入菜单标题"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(P.FormItem),{label:"路由路径",prop:"path",class:"form-item-full"},{default:e.withCtx(()=>[e.createVNode(e.unref(P.Input),{modelValue:V.path,"onUpdate:modelValue":C[6]||(C[6]=x=>V.path=x),placeholder:"请输入路由路径"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(P.FormItem),{label:"组件路径",class:"form-item-full"},{default:e.withCtx(()=>[e.createVNode(e.unref(P.Input),{modelValue:V.component,"onUpdate:modelValue":C[7]||(C[7]=x=>V.component=x),placeholder:"请输入组件路径"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(P.FormItem),{label:"图标"},{default:e.withCtx(()=>[e.createVNode(e.unref(P.Input),{modelValue:V.icon,"onUpdate:modelValue":C[8]||(C[8]=x=>V.icon=x),placeholder:"请输入图标名称"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(P.FormItem),{label:"状态"},{default:e.withCtx(()=>[e.createElementVNode("div",oc,[e.createVNode(e.unref(P.Switch),{modelValue:V.status,"onUpdate:modelValue":C[9]||(C[9]=x=>V.status=x),"active-value":e.unref(X).ENABLED,"inactive-value":e.unref(X).DISABLED},null,8,["modelValue","active-value","inactive-value"]),e.createElementVNode("span",lc,e.toDisplayString(V.status===e.unref(X).ENABLED?"启用":"禁用"),1)])]),_:1}),e.createVNode(e.unref(P.FormItem),{label:"隐藏"},{default:e.withCtx(()=>[e.createElementVNode("div",sc,[e.createVNode(e.unref(P.Switch),{modelValue:V.hidden,"onUpdate:modelValue":C[10]||(C[10]=x=>V.hidden=x)},null,8,["modelValue"]),e.createElementVNode("span",rc,e.toDisplayString(V.hidden?"隐藏":"显示"),1)])]),_:1}),e.createVNode(e.unref(P.FormItem),{label:"缓存"},{default:e.withCtx(()=>[e.createElementVNode("div",ac,[e.createVNode(e.unref(P.Switch),{modelValue:V.keepAlive,"onUpdate:modelValue":C[11]||(C[11]=x=>V.keepAlive=x)},null,8,["modelValue"]),e.createElementVNode("span",ic,e.toDisplayString(V.keepAlive?"开启":"关闭"),1)])]),_:1})])]),_:1},8,["model"])]),_:1},8,["modelValue","title"])]))}}),[["__scopeId","data-v-e7cc9235"]])},Symbol.toStringTag,{value:"Module"}));b.Footer=ks,b.Forbidden=Zs,b.Gender=Gt,b.GenderOptions=Ur,b.GenderText=Tr,b.Header=Mt,b.Layout=dt,b.Login=Pt,b.MenuType=_e,b.MenuTypeOptions=Kt,b.MenuTypeText=Ar,b.NotFound=Rt,b.Sidebar=ct,b.Status=X,b.StatusOptions=ut,b.StatusText=Dr,b.Tabs=Ns,b.appConfig=Qt,b.batchDeleteUsers=Ir,b.clearToken=De,b.createLayoutRoute=mr,b.createMenu=Vr,b.createRole=hr,b.createRouter=pr,b.createTranslator=lr,b.createUser=br,b.createXtoApp=Or,b.defaultDynamicRoutes=ir,b.deleteMenu=yr,b.deleteRole=Nr,b.deleteUser=$r,b.getApiBaseUrl=_t,b.getAppId=Ue,b.getClientId=Je,b.getCode=ln,b.getMenuList=Er,b.getMenuTree=Ht,b.getRefreshTime=on,b.getRefreshToken=nn,b.getRoleDetail=ur,b.getRoleList=fr,b.getToken=Pe,b.getTokenExpire=Ct,b.getTokenType=yt,b.getUserDetail=Br,b.getUserInfo=Ft,b.getUserList=Cr,b.hasPermission=sr,b.hasRole=rr,b.hasToken=it,b.http=le,b.initAppConfig=Nt,b.isAdmin=ar,b.isTokenExpired=$t,b.layoutRoute=pt,b.local=H,b.localStorageUtil=Oe,b.login=Ot,b.logout=Ls,b.mockMenuData=jt,b.permissionDirective=zr,b.refreshToken=Ds,b.resetPassword=Lr,b.resetRouter=dr,b.router=ft,b.session=vt,b.sessionStorageUtil=Fe,b.setApiBaseUrl=Ms,b.setCode=St,b.setRefreshTime=bt,b.setRefreshToken=xt,b.setToken=kt,b.setTokenExpire=Bt,b.setTokenInfo=at,b.setTokenType=wt,b.setupRouterGuards=xr,b.staticRoutes=mt,b.updateMenu=kr,b.updateRole=gr,b.updateRoleStatus=_r,b.updateUser=Sr,b.updateUserStatus=Mr,b.useApp=Qs,b.useAppStore=be,b.useAuth=vs,b.useAuthStore=Te,b.useForm=er,b.useI18n=or,b.useLocaleStore=We,b.useMenuStore=xe,b.useTable=tr,b.useUserStore=ke,Object.defineProperty(b,Symbol.toStringTag,{value:"Module"})});
1
+ (function(S,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/core/locale"),require("@xto/data")):typeof define=="function"&&define.amd?define(["exports","vue","pinia","vue-router","@xto/navigation","@xto/base","@xto/feedback","@xto/form","axios","@xto/core/locale","@xto/data"],e):(S=typeof globalThis<"u"?globalThis:S||self,e(S.XtoFronted={},S.Vue,S.Pinia,S.VueRouter,S.navigation,S.base,S.feedback,S.form,S.axios,S.locale$1,S.data))})(this,function(S,e,Ae,ie,Ne,A,ne,O,Jt,Ye,we){"use strict";const qe=e.ref(""),je=e.ref(""),He=e.ref("");function gt(o){o.appId&&(qe.value=o.appId),o.clientId&&(je.value=o.clientId),o.apiBaseUrl&&(He.value=o.apiBaseUrl)}function Ue(){if(qe.value)return qe.value;try{return""}catch{return""}}function Je(){if(je.value)return je.value;try{return""}catch{return""}}function _t(){if(He.value)return He.value;try{return""}catch{return""}}const Zt={appId:qe,clientId:je,apiBaseUrl:He},ze="xto_",Nt=o=>({get(p){const h=o.getItem(ze+p);if(!h)return null;try{return JSON.parse(h)}catch{return h}},set(p,h){if(h==null){o.removeItem(ze+p);return}const f=typeof h=="string"?h:JSON.stringify(h);o.setItem(ze+p,f)},remove(p){o.removeItem(ze+p)},clear(){Object.keys(o).forEach(h=>{h.startsWith(ze)&&o.removeItem(h)})}}),Oe=Nt(window.localStorage),Fe=Nt(window.sessionStorage),G={get:Oe.get,set:Oe.set,remove:Oe.remove,clear:Oe.clear},Qt={get:Fe.get,set:Fe.set,remove:Fe.remove,clear:Fe.clear},Se=Ae.defineStore("app",()=>{const o=e.ref(G.get("appName")||"XTO App"),p=e.ref(G.get("indexPath")||"/dashboard"),h=e.ref(G.get("isDark")||!1),f=e.ref(G.get("theme")||"light"),g=e.ref(G.get("layout")||"sidebar"),V=e.ref(G.get("isCollapsed")||!1),_=e.ref(G.get("showTabs")??!0),u=e.ref(G.get("showFooter")??!0),w=e.ref(G.get("showBreadcrumb")??!0),x=e.ref(G.get("primaryColor")||"#409eff"),y=e.ref([]),I=e.ref([]),$=e.computed(()=>h.value?"dark":"light"),z=q=>{o.value=q,G.set("appName",q)},K=q=>{p.value=q,G.set("indexPath",q)},T=()=>{h.value=!h.value,f.value=h.value?"dark":"light",B()},L=q=>{f.value=q,h.value=q==="dark",B()},B=()=>{const q=document.documentElement;h.value?q.classList.add("dark"):q.classList.remove("dark"),G.set("isDark",h.value),G.set("theme",f.value)},C=()=>{V.value=!V.value,G.set("isCollapsed",V.value)},P=q=>{g.value=q,G.set("layout",q)},Y=()=>{_.value=!_.value,G.set("showTabs",_.value)},U=()=>{u.value=!u.value,G.set("showFooter",u.value)},d=()=>{w.value=!w.value,G.set("showBreadcrumb",w.value)},k=q=>{x.value=q,document.documentElement.style.setProperty("--color-primary",q),G.set("primaryColor",q)},R=q=>{y.value.includes(q)||y.value.push(q)},J=q=>{const le=y.value.indexOf(q);le>-1&&y.value.splice(le,1)},D=()=>{y.value=[]},ee=q=>{I.value=q},Z=()=>{B(),x.value!=="#409eff"&&document.documentElement.style.setProperty("--color-primary",x.value)};return e.watch(h,B),{appName:o,indexPath:p,isDark:h,theme:f,layout:g,isCollapsed:V,showTabs:_,showFooter:u,showBreadcrumb:w,primaryColor:x,cachedViews:y,mixSubMenus:I,themeClass:$,setAppName:z,setIndexPath:K,toggleTheme:T,toggleCollapse:C,setTheme:L,setLayout:P,toggleTabs:Y,toggleFooter:U,toggleBreadcrumb:d,setPrimaryColor:k,addCachedView:R,removeCachedView:J,clearCachedViews:D,setMixSubMenus:ee,initTheme:Z}}),Ze="menu_list",Qe="permission_list",vt={menuCode:"home",menuName:"首页",menuUrl:"/dashboard",icon:"home",closable:!1,isDefault:!1,isOut:!1};function Et(o){return o.filter(p=>p.type!==1).map(p=>({...p,children:p.children?Et(p.children):void 0}))}function en(o){const p=[];function h(f){f.forEach(g=>{g.type===1&&g.menuCode&&p.push(g.menuCode),g.children&&h(g.children)})}return h(o),p}const xe=Ae.defineStore("menu",()=>{const o=e.ref(G.get(Ze)||[]),p=e.ref(G.get(Qe)||[]),h=e.computed(()=>o.value.length>0);return{menuList:o,permissions:p,hasMenu:h,setMenuList:_=>{p.value=en(_),G.set(Qe,p.value);const u=Et(_);o.value=[vt,...u],G.set(Ze,o.value)},clearMenu:()=>{o.value=[],p.value=[],G.remove(Ze),G.remove(Qe)},hasPermission:_=>Array.isArray(_)?_.some(u=>p.value.includes(u)):p.value.includes(_)}}),ve="user_info",ke=Ae.defineStore("user",()=>{const o=e.ref(G.get(ve)),p=e.computed(()=>!!o.value),h=e.computed(()=>{var I;return((I=o.value)==null?void 0:I.userId)||""}),f=e.computed(()=>{var I;return((I=o.value)==null?void 0:I.userName)||""}),g=e.computed(()=>{var I;return((I=o.value)==null?void 0:I.departmentName)||""}),V=e.computed(()=>{var I;return((I=o.value)==null?void 0:I.email)||""}),_=e.computed(()=>{var I;return((I=o.value)==null?void 0:I.mobilePhone)||""}),u=e.computed(()=>{var I;return((I=o.value)==null?void 0:I.positionName)||""}),w=e.computed(()=>{var I;return((I=o.value)==null?void 0:I.avatar)||""});return{userInfo:o,isLoggedIn:p,userId:h,userName:f,departmentName:g,email:V,mobilePhone:_,positionName:u,avatar:w,setUserInfo:I=>{o.value=I,G.set(ve,I)},clearUserInfo:()=>{o.value=null,G.remove(ve)}}}),et="token",tt="token_type",nt="refresh_token",ot="expires_time",lt="refresh_time",st="code",Pe=()=>G.get(et),Vt=o=>{G.set(et,o)},kt=()=>G.get(tt),yt=o=>{G.set(tt,o)},tn=()=>G.get(nt),wt=o=>{G.set(nt,o)},xt=()=>G.get(ot),Ct=o=>{G.set(ot,o)},nn=()=>G.get(lt),Bt=o=>{G.set(lt,o)},on=()=>G.get(st),St=o=>{G.set(st,o)},rt=o=>{Vt(o.access_token),yt(o.token_type||"Bearer"),wt(o.refresh_token),Ct(o.expires_time),Bt(o.refresh_time),o.code&&St(o.code)},De=()=>{G.remove(et),G.remove(tt),G.remove(nt),G.remove(ot),G.remove(lt),G.remove(st)},bt=()=>{const o=xt();return o?Date.now()>o:!0},at=()=>!!Pe()&&!bt(),Te=Ae.defineStore("auth",()=>{const o=e.ref(Pe()),p=e.computed(()=>at()),h=e.ref(""),f=e.ref(""),g=e.ref(""),V=e.ref("/login");return{token:o,isLoggedIn:p,baseUrl:h,appId:f,clientId:g,loginPath:V,login:$=>{o.value=$.access_token,rt($)},logout:()=>{o.value=null,De()},setBaseUrl:$=>{h.value=$},setAppId:$=>{f.value=$},setClientId:$=>{g.value=$},setLoginPath:$=>{V.value=$}}}),ln={class:"menu-item__content"},sn={class:"menu-item__icon"},rn={key:1,class:"menu-item__char"},an={class:"menu-item__text"},cn={class:"menu-item__content"},dn={key:0,class:"menu-item__icon"},mn={key:1,class:"menu-item__char"},pn={class:"menu-item__text"},fn=e.defineComponent({__name:"SidebarMenuItem",props:{menu:{}},setup(o){const p=o,h=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"]),f=u=>{if(!u||u==="")return"";if(u.startsWith("tineco-icon-")){const x=u.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"}[x]||x}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"}[u]||u},g=u=>u?u.charAt(0):"",V=u=>h.has(u),_=e.computed(()=>p.menu.children&&p.menu.children.length>0);return(u,w)=>{const x=e.resolveComponent("SidebarMenuItem",!0);return _.value?(e.openBlock(),e.createBlock(e.unref(Ne.SubMenu),{key:0,index:o.menu.menuUrl},{title:e.withCtx(()=>[e.createElementVNode("span",ln,[e.createElementVNode("span",sn,[V(f(o.menu.icon))?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:f(o.menu.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",rn,e.toDisplayString(g(o.menu.menuName)),1))]),e.createElementVNode("span",an,e.toDisplayString(o.menu.menuName),1)])]),default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.menu.children,y=>(e.openBlock(),e.createBlock(x,{key:y.menuUrl,menu:y},null,8,["menu"]))),128))]),_:1},8,["index"])):(e.openBlock(),e.createBlock(e.unref(Ne.MenuItem),{key:1,index:o.menu.menuUrl},{default:e.withCtx(()=>[e.createElementVNode("span",cn,[o.menu.menuName!=="首页"?(e.openBlock(),e.createElementBlock("span",dn,[V(f(o.menu.icon))?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:f(o.menu.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",mn,e.toDisplayString(g(o.menu.menuName)),1))])):e.createCommentVNode("",!0),e.createElementVNode("span",pn,e.toDisplayString(o.menu.menuName),1)])]),_:1},8,["index"]))}}}),ge=(o,p)=>{const h=o.__vccOpts||o;for(const[f,g]of p)h[f]=g;return h},un=ge(fn,[["__scopeId","data-v-27c9479b"]]),hn={key:0,class:"sidebar__logo"},gn=["src"],_n={key:1,class:"sidebar__user"},Nn={class:"sidebar__user-info"},En={class:"sidebar__user-name"},Vn={class:"sidebar__user-role"},$t="sidebar_opened_menus",it=ge(e.defineComponent({__name:"Sidebar",props:{menuList:{default:()=>[]},showLogo:{type:Boolean,default:!0},showUser:{type:Boolean,default:!0},logoSrc:{default:"/vite.svg"}},setup(o){const p=o,h=ie.useRoute(),f=ie.useRouter(),g=xe(),V=ke(),_=Te(),u=Se(),w=e.computed(()=>p.menuList.length>0?p.menuList:g.menuList),x=e.computed(()=>u.isCollapsed),y=e.computed(()=>h.path),I=e.ref(G.get($t)||[]);e.watch(I,C=>{G.set($t,C)},{deep:!0});const $=(C,P,Y=[])=>{var U;for(const d of C){if(P===d.menuUrl||P.startsWith(d.menuUrl+"/"))return[...Y,d.menuUrl];if((U=d.children)!=null&&U.length){const k=$(d.children,P,[...Y,d.menuUrl]);if(k)return k}}return null};e.watch([()=>h.path,w],([C,P])=>{if(P.length>0){const Y=$(P,C);if(Y){const U=Y.slice(0,-1),d=new Set([...I.value,...U]);I.value=Array.from(d)}}},{immediate:!0});const z=e.computed(()=>u.isDark?"#1d1e1f":"#fff"),K=e.computed(()=>u.isDark?"#cfd3dc":"#303133"),T=e.computed(()=>"#409eff"),L=C=>{C&&C!==h.path&&f.push(C)},B=()=>{_.logout(),V.clearUserInfo(),g.clearMenu(),f.push("/login")};return(C,P)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["sidebar",{"sidebar--collapsed":x.value}])},[p.showLogo?(e.openBlock(),e.createElementBlock("div",hn,[e.createElementVNode("img",{src:p.logoSrc,alt:"Logo",class:"sidebar__logo-img"},null,8,gn),e.withDirectives(e.createElementVNode("span",{class:"sidebar__logo-text"},e.toDisplayString(e.unref(u).appName),513),[[e.vShow,!x.value]])])):e.createCommentVNode("",!0),e.createVNode(e.unref(Ne.Menu),{modelValue:y.value,"onUpdate:modelValue":P[0]||(P[0]=Y=>y.value=Y),openeds:I.value,"onUpdate:openeds":P[1]||(P[1]=Y=>I.value=Y),mode:"vertical",collapse:x.value,"collapse-transition":!1,"background-color":z.value,"text-color":K.value,"active-text-color":T.value,class:"sidebar__menu",onSelect:L},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(w.value,Y=>(e.openBlock(),e.createBlock(un,{key:Y.menuUrl,menu:Y},null,8,["menu"]))),128))]),_:1},8,["modelValue","openeds","collapse","background-color","text-color","active-text-color"]),p.showUser&&!x.value?(e.openBlock(),e.createElementBlock("div",_n,[e.createElementVNode("div",Nn,[e.createElementVNode("span",En,e.toDisplayString(e.unref(V).userName),1),e.createElementVNode("span",Vn,e.toDisplayString(e.unref(V).departmentName),1)]),e.createVNode(e.unref(A.Button),{type:"text",size:"small",onClick:B},{default:e.withCtx(()=>[...P[2]||(P[2]=[e.createTextVNode("退出",-1)])]),_:1})])):e.createCommentVNode("",!0)],2))}}),[["__scopeId","data-v-9cdb8060"]]),kn={class:"header"},yn={class:"header__left"},wn={key:0,class:"header__breadcrumb"},xn={key:0,class:"breadcrumb-separator"},Cn={class:"header__right"},Bn={key:0,class:"header__search-dropdown"},Sn={key:0,class:"header__search-results"},bn=["onClick"],$n={key:0,class:"header__search-icon"},In={key:1,class:"header__search-char"},Mn={class:"header__search-item-title"},Ln={key:1,class:"header__search-item-parent"},Dn={key:1,class:"header__search-empty"},Tn=["title"],An={class:"header__avatar"},Un={class:"header__user-name"},zn={key:0,class:"header__dropdown"},On={class:"header__dropdown-header"},Fn={class:"header__dropdown-avatar"},Pn={class:"header__dropdown-info"},Rn={class:"header__dropdown-name"},qn={class:"header__dropdown-role"},jn={class:"header__dropdown-menu"},Hn={class:"settings-drawer"},Gn={class:"settings-section"},Kn={class:"settings-layout-options"},Wn=["onClick"],Xn={class:"layout-option__preview"},Yn={key:0,class:"layout-preview-sidebar"},Jn={key:1,class:"layout-preview-top"},Zn={key:2,class:"layout-preview-mix"},Qn={class:"layout-option__label"},vn={class:"settings-section"},eo={class:"settings-color-options"},to=["title","onClick"],no={class:"settings-section"},oo={class:"settings-switch-list"},lo={class:"settings-switch-item"},so={class:"settings-switch-item"},It=ge(e.defineComponent({__name:"Header",setup(o){const p=ie.useRoute(),h=ie.useRouter(),f=Se(),g=ke(),V=Te(),_=xe(),u=e.ref(!1),w=e.ref(!1),x=e.ref(null),y=e.ref(!1),I=e.ref(!1),$=e.ref(""),z=e.ref(null),K=e.ref(!1),T=[{value:"sidebar",label:"左侧菜单",icon:"sidebar-left"},{value:"top",label:"顶部菜单",icon:"menu"},{value:"mix",label:"混合菜单",icon:"grid"}],L=[{value:"#409eff",label:"默认蓝"},{value:"#1890ff",label:"科技蓝"},{value:"#52c41a",label:"极光绿"},{value:"#faad14",label:"日落橙"},{value:"#f5222d",label:"薄暮红"},{value:"#722ed1",label:"酱紫"}],B=e.computed(()=>p.matched.filter(F=>F.meta&&F.meta.title).map(F=>({title:F.meta.title,path:F.path}))),C=(W,F="")=>{const t=[];return W.forEach(n=>{n.children&&n.children.length>0?t.push(...C(n.children,n.menuName)):t.push({...n,parentTitle:F,title:n.menuName,path:n.menuUrl})}),t},P=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"]),Y=W=>{if(!W||W==="")return"";if(W.startsWith("tineco-icon-")){const t=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"}[t]||t}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},U=W=>W?W.charAt(0):"",d=W=>P.has(W),k=e.computed(()=>$.value.trim()?C(_.menuList).filter(F=>F.title.toLowerCase().includes($.value.toLowerCase())):[]),R=e.computed(()=>f.layout),J=()=>{f.toggleCollapse()},D=()=>{f.toggleTheme()},ee=()=>{w.value=!0},Z=W=>{f.setLayout(W),w.value=!1},q=W=>{K.value=W;const F=document.documentElement;W?F.classList.add("grey-mode"):F.classList.remove("grey-mode")},le=()=>{q(!K.value),w.value=!1},se=()=>{f.toggleTheme(),w.value=!1},fe=()=>{document.fullscreenElement?document.exitFullscreen():document.documentElement.requestFullscreen()},de=()=>{y.value=!!document.fullscreenElement},me=()=>{u.value=!u.value},pe=()=>{u.value=!1},ue=()=>{I.value=!1,$.value=""},be=W=>{h.push(W),ue()},Ve=W=>{f.setPrimaryColor(W),w.value=!1},$e=()=>{pe(),h.push("/profile")},M=()=>{pe(),h.push("/change-password")},Ie=()=>{pe(),V.logout(),g.clearUserInfo(),_.clearMenu(),h.push("/login")},Me=W=>{x.value&&!x.value.contains(W.target)&&pe(),z.value&&!z.value.contains(W.target)&&ue()},Ce=W=>{W.key==="Escape"&&(ue(),pe())};return e.onMounted(()=>{document.addEventListener("click",Me),document.addEventListener("fullscreenchange",de),document.addEventListener("keydown",Ce),f.initTheme(),K.value=document.documentElement.classList.contains("grey-mode")}),e.onUnmounted(()=>{document.removeEventListener("click",Me),document.removeEventListener("fullscreenchange",de),document.removeEventListener("keydown",Ce)}),(W,F)=>{var t;return e.openBlock(),e.createElementBlock("div",kn,[e.createElementVNode("div",yn,[e.createElementVNode("div",{class:"header__collapse",onClick:J},[e.createVNode(e.unref(A.Icon),{name:e.unref(f).isCollapsed?"menu-unfold":"menu-fold",size:18},null,8,["name"])]),e.unref(f).showBreadcrumb?(e.openBlock(),e.createElementBlock("div",wn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(B.value,(n,s)=>(e.openBlock(),e.createElementBlock("span",{key:n.path},[s>0?(e.openBlock(),e.createElementBlock("span",xn,"/")):e.createCommentVNode("",!0),e.createElementVNode("span",{class:e.normalizeClass({"is-current":s===B.value.length-1})},e.toDisplayString(n.title),3)]))),128))])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Cn,[e.createElementVNode("div",{class:"header__search",ref_key:"searchRef",ref:z},[e.createVNode(e.unref(A.Icon),{name:"search",size:14,class:"header__search-icon"}),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":F[0]||(F[0]=n=>$.value=n),type:"text",class:"header__search-input",placeholder:"搜索菜单...",onFocus:F[1]||(F[1]=n=>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",Bn,[k.value.length>0?(e.openBlock(),e.createElementBlock("div",Sn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k.value,n=>(e.openBlock(),e.createElementBlock("div",{key:n.path,class:"header__search-item",onClick:s=>be(n.path)},[n.title!=="首页"?(e.openBlock(),e.createElementBlock("span",$n,[d(Y(n.icon))?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:Y(n.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",In,e.toDisplayString(U(n.title)),1))])):e.createCommentVNode("",!0),e.createElementVNode("span",Mn,e.toDisplayString(n.title),1),n.parentTitle?(e.openBlock(),e.createElementBlock("span",Ln,e.toDisplayString(n.parentTitle),1)):e.createCommentVNode("",!0)],8,bn))),128))])):(e.openBlock(),e.createElementBlock("div",Dn," 未找到匹配的菜单 "))])):e.createCommentVNode("",!0)]),_:1})],512),e.createElementVNode("div",{class:"header__action",onClick:fe,title:y.value?"退出全屏":"全屏"},[e.createVNode(e.unref(A.Icon),{name:y.value?"fullscreen-exit":"fullscreen",size:16},null,8,["name"])],8,Tn),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:D,title:"切换主题"},[e.createVNode(e.unref(A.Icon),{name:e.unref(f).isDark?"sun":"moon",size:16},null,8,["name"])]),e.createElementVNode("div",{class:"header__user",ref_key:"dropdownRef",ref:x},[e.createElementVNode("div",{class:"header__user-trigger",onClick:e.withModifiers(me,["stop"])},[e.createElementVNode("div",An,[e.createElementVNode("span",null,e.toDisplayString(((t=e.unref(g).userName)==null?void 0:t.charAt(0))||"U"),1)]),e.createElementVNode("span",Un,e.toDisplayString(e.unref(g).userName),1),e.createElementVNode("span",{class:e.normalizeClass(["header__user-arrow",{"is-active":u.value}])},"▼",2)]),e.createVNode(e.Transition,{name:"dropdown"},{default:e.withCtx(()=>{var n;return[u.value?(e.openBlock(),e.createElementBlock("div",zn,[e.createElementVNode("div",On,[e.createElementVNode("div",Fn,[e.createElementVNode("span",null,e.toDisplayString(((n=e.unref(g).userName)==null?void 0:n.charAt(0))||"U"),1)]),e.createElementVNode("div",Pn,[e.createElementVNode("div",Rn,e.toDisplayString(e.unref(g).userName),1),e.createElementVNode("div",qn,e.toDisplayString(e.unref(g).departmentName),1)])]),F[7]||(F[7]=e.createElementVNode("div",{class:"header__dropdown-divider"},null,-1)),e.createElementVNode("div",jn,[e.createElementVNode("div",{class:"header__dropdown-item",onClick:$e},[e.createVNode(e.unref(A.Icon),{name:"user",size:16}),F[3]||(F[3]=e.createElementVNode("span",null,"个人信息",-1))]),e.createElementVNode("div",{class:"header__dropdown-item",onClick:M},[e.createVNode(e.unref(A.Icon),{name:"lock",size:16}),F[4]||(F[4]=e.createElementVNode("span",null,"修改密码",-1))]),F[6]||(F[6]=e.createElementVNode("div",{class:"header__dropdown-divider"},null,-1)),e.createElementVNode("div",{class:"header__dropdown-item header__dropdown-item--danger",onClick:Ie},[e.createVNode(e.unref(A.Icon),{name:"logout",size:16}),F[5]||(F[5]=e.createElementVNode("span",null,"退出登录",-1))])])])):e.createCommentVNode("",!0)]}),_:1})],512)]),e.createVNode(e.unref(ne.Drawer),{modelValue:w.value,"onUpdate:modelValue":F[2]||(F[2]=n=>w.value=n),title:"换肤设置",direction:"rtl",size:"320px"},{default:e.withCtx(()=>[e.createElementVNode("div",Hn,[e.createElementVNode("div",Gn,[F[11]||(F[11]=e.createElementVNode("div",{class:"settings-title"},"布局模式",-1)),e.createElementVNode("div",Kn,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(T,n=>e.createElementVNode("div",{key:n.value,class:e.normalizeClass(["layout-option",{"is-active":R.value===n.value}]),onClick:s=>Z(n.value)},[e.createElementVNode("div",Xn,[n.value==="sidebar"?(e.openBlock(),e.createElementBlock("div",Yn,[...F[8]||(F[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)])])):n.value==="top"?(e.openBlock(),e.createElementBlock("div",Jn,[...F[9]||(F[9]=[e.createElementVNode("div",{class:"preview-header-full"},null,-1),e.createElementVNode("div",{class:"preview-content-full"},null,-1)])])):(e.openBlock(),e.createElementBlock("div",Zn,[...F[10]||(F[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",Qn,e.toDisplayString(n.label),1)],10,Wn)),64))])]),e.createElementVNode("div",vn,[F[12]||(F[12]=e.createElementVNode("div",{class:"settings-title"},"主题色",-1)),e.createElementVNode("div",eo,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(L,n=>e.createElementVNode("div",{key:n.value,class:e.normalizeClass(["color-option",{"is-active":e.unref(f).primaryColor===n.value}]),style:e.normalizeStyle({backgroundColor:n.value}),title:n.label,onClick:s=>Ve(n.value)},[e.unref(f).primaryColor===n.value?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:"check",size:12,color:"#fff"})):e.createCommentVNode("",!0)],14,to)),64))])]),e.createElementVNode("div",no,[F[17]||(F[17]=e.createElementVNode("div",{class:"settings-title"},"功能设置",-1)),e.createElementVNode("div",oo,[e.createElementVNode("div",lo,[F[14]||(F[14]=e.createElementVNode("span",null,"灰色模式",-1)),e.createElementVNode("div",{class:e.normalizeClass(["switch-wrapper",{"is-checked":K.value}]),onClick:le},[...F[13]||(F[13]=[e.createElementVNode("span",{class:"switch-core"},null,-1)])],2)]),e.createElementVNode("div",so,[F[16]||(F[16]=e.createElementVNode("span",null,"暗黑模式",-1)),e.createElementVNode("div",{class:e.normalizeClass(["switch-wrapper",{"is-checked":e.unref(f).isDark}]),onClick:se},[...F[15]||(F[15]=[e.createElementVNode("span",{class:"switch-core"},null,-1)])],2)])])])])]),_:1},8,["modelValue"])])}}}),[["__scopeId","data-v-89179947"]]),ro={class:"top-menu"},ao={class:"top-menu__logo"},io=["src"],co={class:"top-menu__logo-text"},mo={class:"top-menu__menu-content"},po={key:0,class:"top-menu__menu-icon"},fo={key:1,class:"top-menu__menu-char"},uo={class:"top-menu__menu-text"},ho={class:"top-menu__menu-content"},go={class:"top-menu__menu-icon"},_o={key:1,class:"top-menu__menu-char"},No={class:"top-menu__menu-text"},Eo={class:"top-menu__menu-content"},Vo={class:"top-menu__menu-icon"},ko={key:1,class:"top-menu__menu-char"},yo={class:"top-menu__menu-text"},wo={class:"top-menu__menu-content"},xo={class:"top-menu__menu-icon"},Co={key:1,class:"top-menu__menu-char"},Bo={class:"top-menu__menu-text"},So={class:"top-menu__menu-content"},bo={key:0,class:"top-menu__menu-icon"},$o={key:1,class:"top-menu__menu-char"},Io={class:"top-menu__menu-text"},Mo={class:"top-menu__actions"},Lo={key:0,class:"top-menu__search-dropdown"},Do={key:0,class:"top-menu__search-results"},To=["onClick"],Ao={key:0,class:"top-menu__search-icon-item"},Uo={key:1,class:"top-menu__search-char"},zo={class:"top-menu__search-item-title"},Oo={key:1,class:"top-menu__search-item-parent"},Fo={key:1,class:"top-menu__search-empty"},Po=["title"],Ro={class:"top-menu__avatar"},qo={class:"top-menu__user-name"},jo={key:0,class:"top-menu__dropdown"},Ho={class:"top-menu__dropdown-header"},Go={class:"top-menu__dropdown-avatar"},Ko={class:"top-menu__dropdown-info"},Wo={class:"top-menu__dropdown-name"},Xo={class:"top-menu__dropdown-role"},Yo={class:"top-menu__dropdown-menu"},Jo={class:"settings-drawer"},Zo={class:"settings-section"},Qo={class:"settings-layout-options"},vo=["onClick"],el={class:"layout-option__preview"},tl={key:0,class:"layout-preview-sidebar"},nl={key:1,class:"layout-preview-top"},ol={key:2,class:"layout-preview-mix"},ll={class:"layout-option__label"},sl={class:"settings-section"},rl={class:"settings-color-options"},al=["title","onClick"],il={class:"settings-section"},cl={class:"settings-switch-list"},dl={class:"settings-switch-item"},ml={class:"settings-switch-item"},pl=ge(e.defineComponent({__name:"TopMenu",props:{logoSrc:{default:"/vite.svg"}},setup(o){const p=o,h=ie.useRoute(),f=ie.useRouter(),g=xe(),V=Se(),_=ke(),u=Te(),w=e.computed(()=>h.path),x=(s,c="")=>{const m=[];return s.forEach(l=>{l.children&&l.children.length>0?m.push(...x(l.children,l.menuName)):m.push({...l,parentTitle:c,title:l.menuName,path:l.menuUrl})}),m},y=e.computed(()=>Y.value.trim()?x(g.menuList).filter(c=>c.title.toLowerCase().includes(Y.value.toLowerCase())):[]),I=e.computed(()=>V.isDark?"#1d1e1f":"#fff"),$=e.computed(()=>V.isDark?"#cfd3dc":"#303133"),z=e.computed(()=>"#409eff"),K=e.ref(!1),T=e.ref(null),L=e.ref(!1),B=e.ref(!1),C=e.ref(!1),P=e.ref(!1),Y=e.ref(""),U=e.ref(null),d=s=>{s&&s!==h.path&&f.push(s)},k=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"]),R=s=>{if(!s||s==="")return"";if(s.startsWith("tineco-icon-")){const m=s.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"}[m]||m}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"}[s]||s},J=s=>s?s.charAt(0):"",D=s=>k.has(s),ee=()=>{V.toggleTheme(),B.value=!1},Z=()=>{document.fullscreenElement?document.exitFullscreen():document.documentElement.requestFullscreen()},q=()=>{L.value=!!document.fullscreenElement},le=()=>{K.value=!K.value},se=()=>{K.value=!1},fe=()=>{P.value=!1,Y.value=""},de=s=>{f.push(s),fe()},me=()=>{B.value=!0},pe=s=>{C.value=s;const c=document.documentElement;s?c.classList.add("grey-mode"):c.classList.remove("grey-mode")},ue=()=>{pe(!C.value),B.value=!1},be=()=>{V.toggleTheme(),B.value=!1},Ve=[{value:"sidebar",label:"左侧菜单",icon:"sidebar-left"},{value:"top",label:"顶部菜单",icon:"menu"},{value:"mix",label:"混合菜单",icon:"grid"}],$e=e.computed(()=>V.layout),M=s=>{V.setLayout(s),B.value=!1},Ie=[{value:"#409eff",label:"默认蓝"},{value:"#1890ff",label:"科技蓝"},{value:"#52c41a",label:"极光绿"},{value:"#faad14",label:"日落橙"},{value:"#f5222d",label:"薄暮红"},{value:"#722ed1",label:"酱紫"}],Me=s=>{V.setPrimaryColor(s),B.value=!1},Ce=()=>{se(),f.push("/profile")},W=()=>{se(),f.push("/change-password")},F=()=>{se(),u.logout(),_.clearUserInfo(),g.clearMenu(),f.push("/login")},t=s=>{T.value&&!T.value.contains(s.target)&&se(),U.value&&!U.value.contains(s.target)&&fe()},n=s=>{s.key==="Escape"&&(fe(),se())};return e.onMounted(()=>{document.addEventListener("click",t),document.addEventListener("fullscreenchange",q),document.addEventListener("keydown",n),C.value=document.documentElement.classList.contains("grey-mode")}),e.onUnmounted(()=>{document.removeEventListener("click",t),document.removeEventListener("fullscreenchange",q),document.removeEventListener("keydown",n)}),(s,c)=>{var m;return e.openBlock(),e.createElementBlock("div",ro,[e.createElementVNode("div",ao,[e.createElementVNode("img",{src:p.logoSrc,alt:"Logo",class:"top-menu__logo-img"},null,8,io),e.createElementVNode("span",co,e.toDisplayString(e.unref(V).appName),1)]),e.createVNode(e.unref(Ne.Menu),{"model-value":w.value,mode:"horizontal","background-color":I.value,"text-color":$.value,"active-text-color":z.value,class:"top-menu__menu",onSelect:d},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(g).menuList,l=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:l.menuUrl},[l.children&&l.children.length>0?(e.openBlock(),e.createBlock(e.unref(Ne.SubMenu),{key:0,index:l.menuUrl},{title:e.withCtx(()=>[e.createElementVNode("span",mo,[l.menuName!=="首页"?(e.openBlock(),e.createElementBlock("span",po,[D(R(l.icon))?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:R(l.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",fo,e.toDisplayString(J(l.menuName)),1))])):e.createCommentVNode("",!0),e.createElementVNode("span",uo,e.toDisplayString(l.menuName),1)])]),default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.children,a=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:a.menuUrl},[a.children&&a.children.length>0?(e.openBlock(),e.createBlock(e.unref(Ne.SubMenu),{key:0,index:a.menuUrl},{title:e.withCtx(()=>[e.createElementVNode("span",ho,[e.createElementVNode("span",go,[D(R(a.icon))?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:R(a.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",_o,e.toDisplayString(J(a.menuName)),1))]),e.createElementVNode("span",No,e.toDisplayString(a.menuName),1)])]),default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.children,i=>(e.openBlock(),e.createBlock(e.unref(Ne.MenuItem),{key:i.menuUrl,index:i.menuUrl},{default:e.withCtx(()=>[e.createElementVNode("span",Eo,[e.createElementVNode("span",Vo,[D(R(i.icon))?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:R(i.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",ko,e.toDisplayString(J(i.menuName)),1))]),e.createElementVNode("span",yo,e.toDisplayString(i.menuName),1)])]),_:2},1032,["index"]))),128))]),_:2},1032,["index"])):(e.openBlock(),e.createBlock(e.unref(Ne.MenuItem),{key:1,index:a.menuUrl},{default:e.withCtx(()=>[e.createElementVNode("span",wo,[e.createElementVNode("span",xo,[D(R(a.icon))?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:R(a.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",Co,e.toDisplayString(J(a.menuName)),1))]),e.createElementVNode("span",Bo,e.toDisplayString(a.menuName),1)])]),_:2},1032,["index"]))],64))),128))]),_:2},1032,["index"])):(e.openBlock(),e.createBlock(e.unref(Ne.MenuItem),{key:1,index:l.menuUrl},{default:e.withCtx(()=>[e.createElementVNode("span",So,[l.menuName!=="首页"?(e.openBlock(),e.createElementBlock("span",bo,[D(R(l.icon))?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:R(l.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",$o,e.toDisplayString(J(l.menuName)),1))])):e.createCommentVNode("",!0),e.createElementVNode("span",Io,e.toDisplayString(l.menuName),1)])]),_:2},1032,["index"]))],64))),128))]),_:1},8,["model-value","background-color","text-color","active-text-color"]),e.createElementVNode("div",Mo,[e.createElementVNode("div",{class:"top-menu__search",ref_key:"searchRef",ref:U},[e.createVNode(e.unref(A.Icon),{name:"search",size:14,class:"top-menu__search-icon"}),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":c[0]||(c[0]=l=>Y.value=l),type:"text",class:"top-menu__search-input",placeholder:"搜索菜单...",onFocus:c[1]||(c[1]=l=>P.value=!0)},null,544),[[e.vModelText,Y.value]]),e.createVNode(e.Transition,{name:"search-dropdown"},{default:e.withCtx(()=>[P.value&&(y.value.length>0||Y.value)?(e.openBlock(),e.createElementBlock("div",Lo,[y.value.length>0?(e.openBlock(),e.createElementBlock("div",Do,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(y.value,l=>(e.openBlock(),e.createElementBlock("div",{key:l.path,class:"top-menu__search-item",onClick:a=>de(l.path)},[l.title!=="首页"?(e.openBlock(),e.createElementBlock("span",Ao,[D(R(l.icon))?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:R(l.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",Uo,e.toDisplayString(J(l.title)),1))])):e.createCommentVNode("",!0),e.createElementVNode("span",zo,e.toDisplayString(l.title),1),l.parentTitle?(e.openBlock(),e.createElementBlock("span",Oo,e.toDisplayString(l.parentTitle),1)):e.createCommentVNode("",!0)],8,To))),128))])):(e.openBlock(),e.createElementBlock("div",Fo," 未找到匹配的菜单 "))])):e.createCommentVNode("",!0)]),_:1})],512),e.createElementVNode("div",{class:"top-menu__action",onClick:Z,title:L.value?"退出全屏":"全屏"},[e.createVNode(e.unref(A.Icon),{name:L.value?"fullscreen-exit":"fullscreen",size:16},null,8,["name"])],8,Po),e.createElementVNode("div",{class:"top-menu__action",onClick:me,title:"换肤设置"},[e.createVNode(e.unref(A.Icon),{name:"skin",size:16})]),e.createElementVNode("div",{class:"top-menu__action",onClick:ee,title:"切换主题"},[e.createVNode(e.unref(A.Icon),{name:e.unref(V).isDark?"sun":"moon",size:16},null,8,["name"])]),e.createElementVNode("div",{class:"top-menu__user",ref_key:"dropdownRef",ref:T},[e.createElementVNode("div",{class:"top-menu__user-trigger",onClick:e.withModifiers(le,["stop"])},[e.createElementVNode("div",Ro,[e.createElementVNode("span",null,e.toDisplayString(((m=e.unref(_).userName)==null?void 0:m.charAt(0))||"U"),1)]),e.createElementVNode("span",qo,e.toDisplayString(e.unref(_).userName),1),e.createElementVNode("span",{class:e.normalizeClass(["top-menu__user-arrow",{"is-active":K.value}])},"▼",2)]),e.createVNode(e.Transition,{name:"dropdown"},{default:e.withCtx(()=>{var l;return[K.value?(e.openBlock(),e.createElementBlock("div",jo,[e.createElementVNode("div",Ho,[e.createElementVNode("div",Go,[e.createElementVNode("span",null,e.toDisplayString(((l=e.unref(_).userName)==null?void 0:l.charAt(0))||"U"),1)]),e.createElementVNode("div",Ko,[e.createElementVNode("div",Wo,e.toDisplayString(e.unref(_).userName),1),e.createElementVNode("div",Xo,e.toDisplayString(e.unref(_).departmentName),1)])]),c[7]||(c[7]=e.createElementVNode("div",{class:"top-menu__dropdown-divider"},null,-1)),e.createElementVNode("div",Yo,[e.createElementVNode("div",{class:"top-menu__dropdown-item",onClick:Ce},[e.createVNode(e.unref(A.Icon),{name:"user",size:16}),c[3]||(c[3]=e.createElementVNode("span",null,"个人信息",-1))]),e.createElementVNode("div",{class:"top-menu__dropdown-item",onClick:W},[e.createVNode(e.unref(A.Icon),{name:"lock",size:16}),c[4]||(c[4]=e.createElementVNode("span",null,"修改密码",-1))]),c[6]||(c[6]=e.createElementVNode("div",{class:"top-menu__dropdown-divider"},null,-1)),e.createElementVNode("div",{class:"top-menu__dropdown-item top-menu__dropdown-item--danger",onClick:F},[e.createVNode(e.unref(A.Icon),{name:"logout",size:16}),c[5]||(c[5]=e.createElementVNode("span",null,"退出登录",-1))])])])):e.createCommentVNode("",!0)]}),_:1})],512)]),e.createVNode(e.unref(ne.Drawer),{modelValue:B.value,"onUpdate:modelValue":c[2]||(c[2]=l=>B.value=l),title:"换肤设置",direction:"rtl",size:"320px"},{default:e.withCtx(()=>[e.createElementVNode("div",Jo,[e.createElementVNode("div",Zo,[c[11]||(c[11]=e.createElementVNode("div",{class:"settings-title"},"布局模式",-1)),e.createElementVNode("div",Qo,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(Ve,l=>e.createElementVNode("div",{key:l.value,class:e.normalizeClass(["layout-option",{"is-active":$e.value===l.value}]),onClick:a=>M(l.value)},[e.createElementVNode("div",el,[l.value==="sidebar"?(e.openBlock(),e.createElementBlock("div",tl,[...c[8]||(c[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)])])):l.value==="top"?(e.openBlock(),e.createElementBlock("div",nl,[...c[9]||(c[9]=[e.createElementVNode("div",{class:"preview-header-full"},null,-1),e.createElementVNode("div",{class:"preview-content-full"},null,-1)])])):(e.openBlock(),e.createElementBlock("div",ol,[...c[10]||(c[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",ll,e.toDisplayString(l.label),1)],10,vo)),64))])]),e.createElementVNode("div",sl,[c[12]||(c[12]=e.createElementVNode("div",{class:"settings-title"},"主题色",-1)),e.createElementVNode("div",rl,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(Ie,l=>e.createElementVNode("div",{key:l.value,class:e.normalizeClass(["color-option",{"is-active":e.unref(V).primaryColor===l.value}]),style:e.normalizeStyle({backgroundColor:l.value}),title:l.label,onClick:a=>Me(l.value)},[e.unref(V).primaryColor===l.value?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:"check",size:12,color:"#fff"})):e.createCommentVNode("",!0)],14,al)),64))])]),e.createElementVNode("div",il,[c[17]||(c[17]=e.createElementVNode("div",{class:"settings-title"},"功能设置",-1)),e.createElementVNode("div",cl,[e.createElementVNode("div",dl,[c[14]||(c[14]=e.createElementVNode("span",null,"灰色模式",-1)),e.createElementVNode("div",{class:e.normalizeClass(["switch-wrapper",{"is-checked":C.value}]),onClick:ue},[...c[13]||(c[13]=[e.createElementVNode("span",{class:"switch-core"},null,-1)])],2)]),e.createElementVNode("div",ml,[c[16]||(c[16]=e.createElementVNode("span",null,"暗黑模式",-1)),e.createElementVNode("div",{class:e.normalizeClass(["switch-wrapper",{"is-checked":e.unref(V).isDark}]),onClick:be},[...c[15]||(c[15]=[e.createElementVNode("span",{class:"switch-core"},null,-1)])],2)])])])])]),_:1},8,["modelValue"])])}}}),[["__scopeId","data-v-da5e391c"]]),fl={class:"mix-top-menu"},ul={class:"mix-top-menu__logo"},hl=["src"],gl={class:"mix-top-menu__logo-text"},_l={class:"mix-top-menu__menu-content"},Nl={key:0,class:"mix-top-menu__menu-icon"},El={key:1,class:"mix-top-menu__menu-char"},Vl={class:"mix-top-menu__menu-text"},kl={class:"mix-top-menu__actions"},yl={key:0,class:"mix-top-menu__search-dropdown"},wl={key:0,class:"mix-top-menu__search-results"},xl=["onClick"],Cl={key:0,class:"mix-top-menu__search-icon-item"},Bl={key:1,class:"mix-top-menu__search-char"},Sl={class:"mix-top-menu__search-item-title"},bl={key:1,class:"mix-top-menu__search-item-parent"},$l={key:1,class:"mix-top-menu__search-empty"},Il=["title"],Ml={class:"mix-top-menu__avatar"},Ll={class:"mix-top-menu__user-name"},Dl={key:0,class:"mix-top-menu__dropdown"},Tl={class:"mix-top-menu__dropdown-header"},Al={class:"mix-top-menu__dropdown-avatar"},Ul={class:"mix-top-menu__dropdown-info"},zl={class:"mix-top-menu__dropdown-name"},Ol={class:"mix-top-menu__dropdown-role"},Fl={class:"mix-top-menu__dropdown-menu"},Pl={class:"settings-drawer"},Rl={class:"settings-section"},ql={class:"settings-layout-options"},jl=["onClick"],Hl={class:"layout-option__preview"},Gl={key:0,class:"layout-preview-sidebar"},Kl={key:1,class:"layout-preview-top"},Wl={key:2,class:"layout-preview-mix"},Xl={class:"layout-option__label"},Yl={class:"settings-section"},Jl={class:"settings-color-options"},Zl=["title","onClick"],Ql={class:"settings-section"},vl={class:"settings-switch-list"},es={class:"settings-switch-item"},ts={class:"settings-switch-item"},ns=ge(e.defineComponent({__name:"MixTopMenu",props:{logoSrc:{default:"/vite.svg"}},setup(o){const p=o,h=ie.useRoute(),f=ie.useRouter(),g=xe(),V=Se(),_=ke(),u=Te(),w=e.ref(""),x=(l,a="")=>{const i=[];return l.forEach(r=>{r.children&&r.children.length>0?i.push(...x(r.children,r.menuName)):i.push({...r,parentTitle:a,title:r.menuName,path:r.menuUrl})}),i},y=e.computed(()=>R.value.trim()?x(g.menuList).filter(a=>a.title.toLowerCase().includes(R.value.toLowerCase())):[]),I=e.computed(()=>{const l=g.menuList.find(a=>a.menuUrl===w.value);return(l==null?void 0:l.children)||[]}),$=e.computed(()=>g.menuList.find(l=>!!(h.path===l.menuUrl||l.children&&l.children.some(a=>h.path.startsWith(a.menuUrl)||h.path===a.menuUrl)))),z=()=>{$.value?w.value=$.value.menuUrl:g.menuList.length>0&&(w.value=g.menuList[0].menuUrl)},K=l=>{w.value=l;const a=g.menuList.find(i=>i.menuUrl===l);if(a)if(a.children&&a.children.length>0){const i=a.children[0].menuUrl;h.path!==i&&f.push(i)}else h.path!==l&&f.push(l)},T=e.computed(()=>V.isDark?"#1d1e1f":"#fff"),L=e.computed(()=>V.isDark?"#cfd3dc":"#303133"),B=e.computed(()=>"#409eff"),C=e.ref(!1),P=e.ref(null),Y=e.ref(!1),U=e.ref(!1),d=e.ref(!1),k=e.ref(!1),R=e.ref(""),J=e.ref(null);e.watch(()=>h.path,()=>{z(),V.setMixSubMenus(I.value)}),e.watch(()=>g.menuList,l=>{l&&l.length>0&&(z(),V.setMixSubMenus(I.value))},{immediate:!0});const D=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"]),ee=l=>{if(!l||l==="")return"";if(l.startsWith("tineco-icon-")){const i=l.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"}[i]||i}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"}[l]||l},Z=l=>l?l.charAt(0):"",q=l=>D.has(l),le=()=>{V.toggleTheme(),U.value=!1},se=()=>{document.fullscreenElement?document.exitFullscreen():document.documentElement.requestFullscreen()},fe=()=>{Y.value=!!document.fullscreenElement},de=()=>{C.value=!C.value},me=()=>{C.value=!1},pe=()=>{k.value=!1,R.value=""},ue=l=>{f.push(l),pe()},be=()=>{U.value=!0},Ve=l=>{d.value=l;const a=document.documentElement;l?a.classList.add("grey-mode"):a.classList.remove("grey-mode")},$e=()=>{Ve(!d.value),U.value=!1},M=()=>{V.toggleTheme(),U.value=!1},Ie=[{value:"sidebar",label:"左侧菜单",icon:"sidebar-left"},{value:"top",label:"顶部菜单",icon:"menu"},{value:"mix",label:"混合菜单",icon:"grid"}],Me=e.computed(()=>V.layout),Ce=l=>{V.setLayout(l),U.value=!1},W=[{value:"#409eff",label:"默认蓝"},{value:"#1890ff",label:"科技蓝"},{value:"#52c41a",label:"极光绿"},{value:"#faad14",label:"日落橙"},{value:"#f5222d",label:"薄暮红"},{value:"#722ed1",label:"酱紫"}],F=l=>{V.setPrimaryColor(l),U.value=!1},t=()=>{me(),f.push("/profile")},n=()=>{me(),f.push("/change-password")},s=()=>{me(),u.logout(),_.clearUserInfo(),g.clearMenu(),f.push("/login")},c=l=>{P.value&&!P.value.contains(l.target)&&me(),J.value&&!J.value.contains(l.target)&&pe()},m=l=>{l.key==="Escape"&&(pe(),me())};return e.onMounted(()=>{document.addEventListener("click",c),document.addEventListener("fullscreenchange",fe),document.addEventListener("keydown",m),d.value=document.documentElement.classList.contains("grey-mode"),z()}),e.onUnmounted(()=>{document.removeEventListener("click",c),document.removeEventListener("fullscreenchange",fe),document.removeEventListener("keydown",m)}),(l,a)=>{var i;return e.openBlock(),e.createElementBlock("div",fl,[e.createElementVNode("div",ul,[e.createElementVNode("img",{src:p.logoSrc,alt:"Logo",class:"mix-top-menu__logo-img"},null,8,hl),e.createElementVNode("span",gl,e.toDisplayString(e.unref(V).appName),1)]),e.createVNode(e.unref(Ne.Menu),{"model-value":w.value,mode:"horizontal","background-color":T.value,"text-color":L.value,"active-text-color":B.value,class:"mix-top-menu__menu",onSelect:K},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(g).menuList,r=>(e.openBlock(),e.createBlock(e.unref(Ne.MenuItem),{key:r.menuUrl,index:r.menuUrl},{default:e.withCtx(()=>[e.createElementVNode("span",_l,[r.menuName!=="首页"?(e.openBlock(),e.createElementBlock("span",Nl,[q(ee(r.icon))?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:ee(r.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",El,e.toDisplayString(Z(r.menuName)),1))])):e.createCommentVNode("",!0),e.createElementVNode("span",Vl,e.toDisplayString(r.menuName),1)])]),_:2},1032,["index"]))),128))]),_:1},8,["model-value","background-color","text-color","active-text-color"]),e.createElementVNode("div",kl,[e.createElementVNode("div",{class:"mix-top-menu__search",ref_key:"searchRef",ref:J},[e.createVNode(e.unref(A.Icon),{name:"search",size:14,class:"mix-top-menu__search-icon"}),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":a[0]||(a[0]=r=>R.value=r),type:"text",class:"mix-top-menu__search-input",placeholder:"搜索菜单...",onFocus:a[1]||(a[1]=r=>k.value=!0)},null,544),[[e.vModelText,R.value]]),e.createVNode(e.Transition,{name:"search-dropdown"},{default:e.withCtx(()=>[k.value&&(y.value.length>0||R.value)?(e.openBlock(),e.createElementBlock("div",yl,[y.value.length>0?(e.openBlock(),e.createElementBlock("div",wl,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(y.value,r=>(e.openBlock(),e.createElementBlock("div",{key:r.path,class:"mix-top-menu__search-item",onClick:E=>ue(r.path)},[r.title!=="首页"?(e.openBlock(),e.createElementBlock("span",Cl,[q(ee(r.icon))?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:ee(r.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",Bl,e.toDisplayString(Z(r.title)),1))])):e.createCommentVNode("",!0),e.createElementVNode("span",Sl,e.toDisplayString(r.title),1),r.parentTitle?(e.openBlock(),e.createElementBlock("span",bl,e.toDisplayString(r.parentTitle),1)):e.createCommentVNode("",!0)],8,xl))),128))])):(e.openBlock(),e.createElementBlock("div",$l," 未找到匹配的菜单 "))])):e.createCommentVNode("",!0)]),_:1})],512),e.createElementVNode("div",{class:"mix-top-menu__action",onClick:se,title:Y.value?"退出全屏":"全屏"},[e.createVNode(e.unref(A.Icon),{name:Y.value?"fullscreen-exit":"fullscreen",size:16},null,8,["name"])],8,Il),e.createElementVNode("div",{class:"mix-top-menu__action",onClick:be,title:"换肤设置"},[e.createVNode(e.unref(A.Icon),{name:"skin",size:16})]),e.createElementVNode("div",{class:"mix-top-menu__action",onClick:le,title:"切换主题"},[e.createVNode(e.unref(A.Icon),{name:e.unref(V).isDark?"sun":"moon",size:16},null,8,["name"])]),e.createElementVNode("div",{class:"mix-top-menu__user",ref_key:"dropdownRef",ref:P},[e.createElementVNode("div",{class:"mix-top-menu__user-trigger",onClick:e.withModifiers(de,["stop"])},[e.createElementVNode("div",Ml,[e.createElementVNode("span",null,e.toDisplayString(((i=e.unref(_).userName)==null?void 0:i.charAt(0))||"U"),1)]),e.createElementVNode("span",Ll,e.toDisplayString(e.unref(_).userName),1),e.createElementVNode("span",{class:e.normalizeClass(["mix-top-menu__user-arrow",{"is-active":C.value}])},"▼",2)]),e.createVNode(e.Transition,{name:"dropdown"},{default:e.withCtx(()=>{var r;return[C.value?(e.openBlock(),e.createElementBlock("div",Dl,[e.createElementVNode("div",Tl,[e.createElementVNode("div",Al,[e.createElementVNode("span",null,e.toDisplayString(((r=e.unref(_).userName)==null?void 0:r.charAt(0))||"U"),1)]),e.createElementVNode("div",Ul,[e.createElementVNode("div",zl,e.toDisplayString(e.unref(_).userName),1),e.createElementVNode("div",Ol,e.toDisplayString(e.unref(_).departmentName),1)])]),a[7]||(a[7]=e.createElementVNode("div",{class:"mix-top-menu__dropdown-divider"},null,-1)),e.createElementVNode("div",Fl,[e.createElementVNode("div",{class:"mix-top-menu__dropdown-item",onClick:t},[e.createVNode(e.unref(A.Icon),{name:"user",size:16}),a[3]||(a[3]=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}),a[4]||(a[4]=e.createElementVNode("span",null,"修改密码",-1))]),a[6]||(a[6]=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:s},[e.createVNode(e.unref(A.Icon),{name:"logout",size:16}),a[5]||(a[5]=e.createElementVNode("span",null,"退出登录",-1))])])])):e.createCommentVNode("",!0)]}),_:1})],512)]),e.createVNode(e.unref(ne.Drawer),{modelValue:U.value,"onUpdate:modelValue":a[2]||(a[2]=r=>U.value=r),title:"换肤设置",direction:"rtl",size:"320px"},{default:e.withCtx(()=>[e.createElementVNode("div",Pl,[e.createElementVNode("div",Rl,[a[11]||(a[11]=e.createElementVNode("div",{class:"settings-title"},"布局模式",-1)),e.createElementVNode("div",ql,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(Ie,r=>e.createElementVNode("div",{key:r.value,class:e.normalizeClass(["layout-option",{"is-active":Me.value===r.value}]),onClick:E=>Ce(r.value)},[e.createElementVNode("div",Hl,[r.value==="sidebar"?(e.openBlock(),e.createElementBlock("div",Gl,[...a[8]||(a[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)])])):r.value==="top"?(e.openBlock(),e.createElementBlock("div",Kl,[...a[9]||(a[9]=[e.createElementVNode("div",{class:"preview-header-full"},null,-1),e.createElementVNode("div",{class:"preview-content-full"},null,-1)])])):(e.openBlock(),e.createElementBlock("div",Wl,[...a[10]||(a[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",Xl,e.toDisplayString(r.label),1)],10,jl)),64))])]),e.createElementVNode("div",Yl,[a[12]||(a[12]=e.createElementVNode("div",{class:"settings-title"},"主题色",-1)),e.createElementVNode("div",Jl,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(W,r=>e.createElementVNode("div",{key:r.value,class:e.normalizeClass(["color-option",{"is-active":e.unref(V).primaryColor===r.value}]),style:e.normalizeStyle({backgroundColor:r.value}),title:r.label,onClick:E=>F(r.value)},[e.unref(V).primaryColor===r.value?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:"check",size:12,color:"#fff"})):e.createCommentVNode("",!0)],14,Zl)),64))])]),e.createElementVNode("div",Ql,[a[17]||(a[17]=e.createElementVNode("div",{class:"settings-title"},"功能设置",-1)),e.createElementVNode("div",vl,[e.createElementVNode("div",es,[a[14]||(a[14]=e.createElementVNode("span",null,"灰色模式",-1)),e.createElementVNode("div",{class:e.normalizeClass(["switch-wrapper",{"is-checked":d.value}]),onClick:$e},[...a[13]||(a[13]=[e.createElementVNode("span",{class:"switch-core"},null,-1)])],2)]),e.createElementVNode("div",ts,[a[16]||(a[16]=e.createElementVNode("span",null,"暗黑模式",-1)),e.createElementVNode("div",{class:e.normalizeClass(["switch-wrapper",{"is-checked":e.unref(V).isDark}]),onClick:M},[...a[15]||(a[15]=[e.createElementVNode("span",{class:"switch-core"},null,-1)])],2)])])])])]),_:1},8,["modelValue"])])}}}),[["__scopeId","data-v-18f26903"]]),os={key:0,class:"layout layout--sidebar"},ls={class:"layout__main"},ss={class:"layout__header"},rs={class:"layout__content"},as={key:1,class:"layout layout--top"},is={class:"layout__top-menu"},cs={class:"layout__main"},ds={class:"layout__content"},ms={key:2,class:"layout layout--mix"},ps={class:"layout__mix-top-menu"},fs={class:"layout__mix-body"},us={class:"layout__content"},ct=ge(e.defineComponent({__name:"index",props:{logoSrc:{default:"/vite.svg"}},setup(o){const p=o,h=Se(),f=xe(),g=e.computed(()=>h.isCollapsed?"64px":"210px"),V=e.computed(()=>h.layout),_=e.computed(()=>V.value==="mix"),u=e.computed(()=>V.value==="sidebar"?f.menuList:V.value==="mix"?h.mixSubMenus:[]),w=e.computed(()=>_.value?u.value.length>0:!1);return(x,y)=>{const I=e.resolveComponent("router-view");return e.openBlock(),e.createElementBlock(e.Fragment,null,[V.value==="sidebar"?(e.openBlock(),e.createElementBlock("div",os,[e.createElementVNode("aside",{class:"layout__aside",style:e.normalizeStyle({width:g.value})},[e.createVNode(it,{"menu-list":u.value,"show-logo":!0,"show-user":!0,"logo-src":p.logoSrc},null,8,["menu-list","logo-src"])],4),e.createElementVNode("div",ls,[e.createElementVNode("header",ss,[e.createVNode(It)]),e.createElementVNode("main",rs,[e.createVNode(I)])])])):e.createCommentVNode("",!0),V.value==="top"?(e.openBlock(),e.createElementBlock("div",as,[e.createElementVNode("div",is,[e.createVNode(pl,{"logo-src":p.logoSrc},null,8,["logo-src"])]),e.createElementVNode("div",cs,[e.createElementVNode("main",ds,[e.createVNode(I)])])])):e.createCommentVNode("",!0),V.value==="mix"?(e.openBlock(),e.createElementBlock("div",ms,[e.createElementVNode("div",ps,[e.createVNode(ns,{"logo-src":p.logoSrc},null,8,["logo-src"])]),e.createElementVNode("div",fs,[w.value?(e.openBlock(),e.createElementBlock("aside",{key:0,class:"layout__aside",style:e.normalizeStyle({width:g.value})},[e.createVNode(it,{"menu-list":u.value,"show-logo":!1,"show-user":!1},null,8,["menu-list"])],4)):e.createCommentVNode("",!0),e.createElementVNode("main",us,[e.createVNode(I)])])])):e.createCommentVNode("",!0)],64)}}}),[["__scopeId","data-v-3317ef3c"]]),hs=Object.freeze(Object.defineProperty({__proto__:null,default:ct},Symbol.toStringTag,{value:"Module"})),gs={class:"tabs-wrapper"},_s={class:"tab-label"},Ns=["onClick"],Es=ge(e.defineComponent({__name:"Tabs",setup(o){const p=ie.useRoute(),h=ie.useRouter(),f=e.computed(()=>{const u=[];return p.matched.forEach(w=>{var x;(x=w.meta)!=null&&x.affix&&u.push({name:w.name,title:w.meta.title,path:w.path,affix:!0})}),u}),g=e.computed(()=>p.path),V=u=>{h.push(u)},_=u=>{const w=f.value.find(x=>x.path===u);if(!(w!=null&&w.affix)&&u===g.value){const x=f.value.findIndex(I=>I.path===u),y=f.value[x-1]||f.value[x+1];y&&h.push(y.path)}};return(u,w)=>(e.openBlock(),e.createElementBlock("div",gs,[e.createVNode(e.unref(Ne.Tabs),{modelValue:g.value,"onUpdate:modelValue":w[0]||(w[0]=x=>g.value=x),type:"card",onTabClick:V},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value,x=>(e.openBlock(),e.createBlock(e.unref(Ne.TabPane),{key:x.path,name:x.path,label:x.title,closable:!x.affix},{label:e.withCtx(()=>[e.createElementVNode("span",_s,[e.createTextVNode(e.toDisplayString(x.title)+" ",1),x.affix?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",{key:0,class:"tab-close",onClick:e.withModifiers(y=>_(x.path),["stop"])}," ✕ ",8,Ns))])]),_:2},1032,["name","label","closable"]))),128))]),_:1},8,["modelValue"])]))}}),[["__scopeId","data-v-9156d8cd"]]),Vs={},ks={class:"footer"};function ys(o,p){return e.openBlock(),e.createElementBlock("div",ks,[...p[0]||(p[0]=[e.createElementVNode("span",null,"Copyright © 2024 Xto Demo. All Rights Reserved.",-1)])])}const ws=ge(Vs,[["render",ys],["__scopeId","data-v-4852826a"]]);var xs=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Cs(o){return o&&o.__esModule&&Object.prototype.hasOwnProperty.call(o,"default")?o.default:o}var Ge={exports:{}},Mt={exports:{}},Lt={exports:{}};(function(o){(function(p){var h,f=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,g=Math.ceil,V=Math.floor,_="[BigNumber Error] ",u=_+"Number primitive has more than 15 significant digits: ",w=1e14,x=14,y=9007199254740991,I=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],$=1e7,z=1e9;function K(d){var k,R,J,D=M.prototype={constructor:M,toString:null,valueOf:null},ee=new M(1),Z=20,q=4,le=-7,se=21,fe=-1e7,de=1e7,me=!1,pe=1,ue=0,be={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:" ",suffix:""},Ve="0123456789abcdefghijklmnopqrstuvwxyz",$e=!0;function M(t,n){var s,c,m,l,a,i,r,E,N=this;if(!(N instanceof M))return new M(t,n);if(n==null){if(t&&t._isBigNumber===!0){N.s=t.s,!t.c||t.e>de?N.c=N.e=null:t.e<fe?N.c=[N.e=0]:(N.e=t.e,N.c=t.c.slice());return}if((i=typeof t=="number")&&t*0==0){if(N.s=1/t<0?(t=-t,-1):1,t===~~t){for(l=0,a=t;a>=10;a/=10,l++);l>de?N.c=N.e=null:(N.e=l,N.c=[t]);return}E=String(t)}else{if(!f.test(E=String(t)))return J(N,E,i);N.s=E.charCodeAt(0)==45?(E=E.slice(1),-1):1}(l=E.indexOf("."))>-1&&(E=E.replace(".","")),(a=E.search(/e/i))>0?(l<0&&(l=a),l+=+E.slice(a+1),E=E.substring(0,a)):l<0&&(l=E.length)}else{if(C(n,2,Ve.length,"Base"),n==10&&$e)return N=new M(t),W(N,Z+N.e+1,q);if(E=String(t),i=typeof t=="number"){if(t*0!=0)return J(N,E,i,n);if(N.s=1/t<0?(E=E.slice(1),-1):1,M.DEBUG&&E.replace(/^0\.0*|\./,"").length>15)throw Error(u+t)}else N.s=E.charCodeAt(0)===45?(E=E.slice(1),-1):1;for(s=Ve.slice(0,n),l=a=0,r=E.length;a<r;a++)if(s.indexOf(c=E.charAt(a))<0){if(c=="."){if(a>l){l=r;continue}}else if(!m&&(E==E.toUpperCase()&&(E=E.toLowerCase())||E==E.toLowerCase()&&(E=E.toUpperCase()))){m=!0,a=-1,l=0;continue}return J(N,String(t),i,n)}i=!1,E=R(E,n,10,N.s),(l=E.indexOf("."))>-1?E=E.replace(".",""):l=E.length}for(a=0;E.charCodeAt(a)===48;a++);for(r=E.length;E.charCodeAt(--r)===48;);if(E=E.slice(a,++r)){if(r-=a,i&&M.DEBUG&&r>15&&(t>y||t!==V(t)))throw Error(u+N.s*t);if((l=l-a-1)>de)N.c=N.e=null;else if(l<fe)N.c=[N.e=0];else{if(N.e=l,N.c=[],a=(l+1)%x,l<0&&(a+=x),a<r){for(a&&N.c.push(+E.slice(0,a)),r-=x;a<r;)N.c.push(+E.slice(a,a+=x));a=x-(E=E.slice(a)).length}else a-=r;for(;a--;E+="0");N.c.push(+E)}}else N.c=[N.e=0]}M.clone=K,M.ROUND_UP=0,M.ROUND_DOWN=1,M.ROUND_CEIL=2,M.ROUND_FLOOR=3,M.ROUND_HALF_UP=4,M.ROUND_HALF_DOWN=5,M.ROUND_HALF_EVEN=6,M.ROUND_HALF_CEIL=7,M.ROUND_HALF_FLOOR=8,M.EUCLID=9,M.config=M.set=function(t){var n,s;if(t!=null)if(typeof t=="object"){if(t.hasOwnProperty(n="DECIMAL_PLACES")&&(s=t[n],C(s,0,z,n),Z=s),t.hasOwnProperty(n="ROUNDING_MODE")&&(s=t[n],C(s,0,8,n),q=s),t.hasOwnProperty(n="EXPONENTIAL_AT")&&(s=t[n],s&&s.pop?(C(s[0],-z,0,n),C(s[1],0,z,n),le=s[0],se=s[1]):(C(s,-z,z,n),le=-(se=s<0?-s:s))),t.hasOwnProperty(n="RANGE"))if(s=t[n],s&&s.pop)C(s[0],-z,-1,n),C(s[1],1,z,n),fe=s[0],de=s[1];else if(C(s,-z,z,n),s)fe=-(de=s<0?-s:s);else throw Error(_+n+" cannot be zero: "+s);if(t.hasOwnProperty(n="CRYPTO"))if(s=t[n],s===!!s)if(s)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))me=s;else throw me=!s,Error(_+"crypto unavailable");else me=s;else throw Error(_+n+" not true or false: "+s);if(t.hasOwnProperty(n="MODULO_MODE")&&(s=t[n],C(s,0,9,n),pe=s),t.hasOwnProperty(n="POW_PRECISION")&&(s=t[n],C(s,0,z,n),ue=s),t.hasOwnProperty(n="FORMAT"))if(s=t[n],typeof s=="object")be=s;else throw Error(_+n+" not an object: "+s);if(t.hasOwnProperty(n="ALPHABET"))if(s=t[n],typeof s=="string"&&!/^.?$|[+\-.\s]|(.).*\1/.test(s))$e=s.slice(0,10)=="0123456789",Ve=s;else throw Error(_+n+" invalid: "+s)}else throw Error(_+"Object expected: "+t);return{DECIMAL_PLACES:Z,ROUNDING_MODE:q,EXPONENTIAL_AT:[le,se],RANGE:[fe,de],CRYPTO:me,MODULO_MODE:pe,POW_PRECISION:ue,FORMAT:be,ALPHABET:Ve}},M.isBigNumber=function(t){if(!t||t._isBigNumber!==!0)return!1;if(!M.DEBUG)return!0;var n,s,c=t.c,m=t.e,l=t.s;e:if({}.toString.call(c)=="[object Array]"){if((l===1||l===-1)&&m>=-z&&m<=z&&m===V(m)){if(c[0]===0){if(m===0&&c.length===1)return!0;break e}if(n=(m+1)%x,n<1&&(n+=x),String(c[0]).length==n){for(n=0;n<c.length;n++)if(s=c[n],s<0||s>=w||s!==V(s))break e;if(s!==0)return!0}}}else if(c===null&&m===null&&(l===null||l===1||l===-1))return!0;throw Error(_+"Invalid BigNumber: "+t)},M.maximum=M.max=function(){return Me(arguments,-1)},M.minimum=M.min=function(){return Me(arguments,1)},M.random=function(){var t=9007199254740992,n=Math.random()*t&2097151?function(){return V(Math.random()*t)}:function(){return(Math.random()*1073741824|0)*8388608+(Math.random()*8388608|0)};return function(s){var c,m,l,a,i,r=0,E=[],N=new M(ee);if(s==null?s=Z:C(s,0,z),a=g(s/x),me)if(crypto.getRandomValues){for(c=crypto.getRandomValues(new Uint32Array(a*=2));r<a;)i=c[r]*131072+(c[r+1]>>>11),i>=9e15?(m=crypto.getRandomValues(new Uint32Array(2)),c[r]=m[0],c[r+1]=m[1]):(E.push(i%1e14),r+=2);r=a/2}else if(crypto.randomBytes){for(c=crypto.randomBytes(a*=7);r<a;)i=(c[r]&31)*281474976710656+c[r+1]*1099511627776+c[r+2]*4294967296+c[r+3]*16777216+(c[r+4]<<16)+(c[r+5]<<8)+c[r+6],i>=9e15?crypto.randomBytes(7).copy(c,r):(E.push(i%1e14),r+=7);r=a/7}else throw me=!1,Error(_+"crypto unavailable");if(!me)for(;r<a;)i=n(),i<9e15&&(E[r++]=i%1e14);for(a=E[--r],s%=x,a&&s&&(i=I[x-s],E[r]=V(a/i)*i);E[r]===0;E.pop(),r--);if(r<0)E=[l=0];else{for(l=-1;E[0]===0;E.splice(0,1),l-=x);for(r=1,i=E[0];i>=10;i/=10,r++);r<x&&(l-=x-r)}return N.e=l,N.c=E,N}}(),M.sum=function(){for(var t=1,n=arguments,s=new M(n[0]);t<n.length;)s=s.plus(n[t++]);return s},R=function(){var t="0123456789";function n(s,c,m,l){for(var a,i=[0],r,E=0,N=s.length;E<N;){for(r=i.length;r--;i[r]*=c);for(i[0]+=l.indexOf(s.charAt(E++)),a=0;a<i.length;a++)i[a]>m-1&&(i[a+1]==null&&(i[a+1]=0),i[a+1]+=i[a]/m|0,i[a]%=m)}return i.reverse()}return function(s,c,m,l,a){var i,r,E,N,b,j,H,v,re=s.indexOf("."),ce=Z,Q=q;for(re>=0&&(N=ue,ue=0,s=s.replace(".",""),v=new M(c),j=v.pow(s.length-re),ue=N,v.c=n(U(L(j.c),j.e,"0"),10,m,t),v.e=v.c.length),H=n(s,c,m,a?(i=Ve,t):(i=t,Ve)),E=N=H.length;H[--N]==0;H.pop());if(!H[0])return i.charAt(0);if(re<0?--E:(j.c=H,j.e=E,j.s=l,j=k(j,v,ce,Q,m),H=j.c,b=j.r,E=j.e),r=E+ce+1,re=H[r],N=m/2,b=b||r<0||H[r+1]!=null,b=Q<4?(re!=null||b)&&(Q==0||Q==(j.s<0?3:2)):re>N||re==N&&(Q==4||b||Q==6&&H[r-1]&1||Q==(j.s<0?8:7)),r<1||!H[0])s=b?U(i.charAt(1),-ce,i.charAt(0)):i.charAt(0);else{if(H.length=r,b)for(--m;++H[--r]>m;)H[r]=0,r||(++E,H=[1].concat(H));for(N=H.length;!H[--N];);for(re=0,s="";re<=N;s+=i.charAt(H[re++]));s=U(s,E,i.charAt(0))}return s}}(),k=function(){function t(c,m,l){var a,i,r,E,N=0,b=c.length,j=m%$,H=m/$|0;for(c=c.slice();b--;)r=c[b]%$,E=c[b]/$|0,a=H*r+E*j,i=j*r+a%$*$+N,N=(i/l|0)+(a/$|0)+H*E,c[b]=i%l;return N&&(c=[N].concat(c)),c}function n(c,m,l,a){var i,r;if(l!=a)r=l>a?1:-1;else for(i=r=0;i<l;i++)if(c[i]!=m[i]){r=c[i]>m[i]?1:-1;break}return r}function s(c,m,l,a){for(var i=0;l--;)c[l]-=i,i=c[l]<m[l]?1:0,c[l]=i*a+c[l]-m[l];for(;!c[0]&&c.length>1;c.splice(0,1));}return function(c,m,l,a,i){var r,E,N,b,j,H,v,re,ce,Q,te,he,Xe,ut,ht,Be,Re,ye=c.s==m.s?1:-1,_e=c.c,ae=m.c;if(!_e||!_e[0]||!ae||!ae[0])return new M(!c.s||!m.s||(_e?ae&&_e[0]==ae[0]:!ae)?NaN:_e&&_e[0]==0||!ae?ye*0:ye/0);for(re=new M(ye),ce=re.c=[],E=c.e-m.e,ye=l+E+1,i||(i=w,E=T(c.e/x)-T(m.e/x),ye=ye/x|0),N=0;ae[N]==(_e[N]||0);N++);if(ae[N]>(_e[N]||0)&&E--,ye<0)ce.push(1),b=!0;else{for(ut=_e.length,Be=ae.length,N=0,ye+=2,j=V(i/(ae[0]+1)),j>1&&(ae=t(ae,j,i),_e=t(_e,j,i),Be=ae.length,ut=_e.length),Xe=Be,Q=_e.slice(0,Be),te=Q.length;te<Be;Q[te++]=0);Re=ae.slice(),Re=[0].concat(Re),ht=ae[0],ae[1]>=i/2&&ht++;do{if(j=0,r=n(ae,Q,Be,te),r<0){if(he=Q[0],Be!=te&&(he=he*i+(Q[1]||0)),j=V(he/ht),j>1)for(j>=i&&(j=i-1),H=t(ae,j,i),v=H.length,te=Q.length;n(H,Q,v,te)==1;)j--,s(H,Be<v?Re:ae,v,i),v=H.length,r=1;else j==0&&(r=j=1),H=ae.slice(),v=H.length;if(v<te&&(H=[0].concat(H)),s(Q,H,te,i),te=Q.length,r==-1)for(;n(ae,Q,Be,te)<1;)j++,s(Q,Be<te?Re:ae,te,i),te=Q.length}else r===0&&(j++,Q=[0]);ce[N++]=j,Q[0]?Q[te++]=_e[Xe]||0:(Q=[_e[Xe]],te=1)}while((Xe++<ut||Q[0]!=null)&&ye--);b=Q[0]!=null,ce[0]||ce.splice(0,1)}if(i==w){for(N=1,ye=ce[0];ye>=10;ye/=10,N++);W(re,l+(re.e=N+E*x-1)+1,a,b)}else re.e=E,re.r=+b;return re}}();function Ie(t,n,s,c){var m,l,a,i,r;if(s==null?s=q:C(s,0,8),!t.c)return t.toString();if(m=t.c[0],a=t.e,n==null)r=L(t.c),r=c==1||c==2&&(a<=le||a>=se)?Y(r,a):U(r,a,"0");else if(t=W(new M(t),n,s),l=t.e,r=L(t.c),i=r.length,c==1||c==2&&(n<=l||l<=le)){for(;i<n;r+="0",i++);r=Y(r,l)}else if(n-=a+(c===2&&l>a),r=U(r,l,"0"),l+1>i){if(--n>0)for(r+=".";n--;r+="0");}else if(n+=l-i,n>0)for(l+1==i&&(r+=".");n--;r+="0");return t.s<0&&m?"-"+r:r}function Me(t,n){for(var s,c,m=1,l=new M(t[0]);m<t.length;m++)c=new M(t[m]),(!c.s||(s=B(l,c))===n||s===0&&l.s===n)&&(l=c);return l}function Ce(t,n,s){for(var c=1,m=n.length;!n[--m];n.pop());for(m=n[0];m>=10;m/=10,c++);return(s=c+s*x-1)>de?t.c=t.e=null:s<fe?t.c=[t.e=0]:(t.e=s,t.c=n),t}J=function(){var t=/^(-?)0([xbo])(?=\w[\w.]*$)/i,n=/^([^.]+)\.$/,s=/^\.([^.]+)$/,c=/^-?(Infinity|NaN)$/,m=/^\s*\+(?=[\w.])|^\s+|\s+$/g;return function(l,a,i,r){var E,N=i?a:a.replace(m,"");if(c.test(N))l.s=isNaN(N)?null:N<0?-1:1;else{if(!i&&(N=N.replace(t,function(b,j,H){return E=(H=H.toLowerCase())=="x"?16:H=="b"?2:8,!r||r==E?j:b}),r&&(E=r,N=N.replace(n,"$1").replace(s,"0.$1")),a!=N))return new M(N,E);if(M.DEBUG)throw Error(_+"Not a"+(r?" base "+r:"")+" number: "+a);l.s=null}l.c=l.e=null}}();function W(t,n,s,c){var m,l,a,i,r,E,N,b=t.c,j=I;if(b){e:{for(m=1,i=b[0];i>=10;i/=10,m++);if(l=n-m,l<0)l+=x,a=n,r=b[E=0],N=V(r/j[m-a-1]%10);else if(E=g((l+1)/x),E>=b.length)if(c){for(;b.length<=E;b.push(0));r=N=0,m=1,l%=x,a=l-x+1}else break e;else{for(r=i=b[E],m=1;i>=10;i/=10,m++);l%=x,a=l-x+m,N=a<0?0:V(r/j[m-a-1]%10)}if(c=c||n<0||b[E+1]!=null||(a<0?r:r%j[m-a-1]),c=s<4?(N||c)&&(s==0||s==(t.s<0?3:2)):N>5||N==5&&(s==4||c||s==6&&(l>0?a>0?r/j[m-a]:0:b[E-1])%10&1||s==(t.s<0?8:7)),n<1||!b[0])return b.length=0,c?(n-=t.e+1,b[0]=j[(x-n%x)%x],t.e=-n||0):b[0]=t.e=0,t;if(l==0?(b.length=E,i=1,E--):(b.length=E+1,i=j[x-l],b[E]=a>0?V(r/j[m-a]%j[a])*i:0),c)for(;;)if(E==0){for(l=1,a=b[0];a>=10;a/=10,l++);for(a=b[0]+=i,i=1;a>=10;a/=10,i++);l!=i&&(t.e++,b[0]==w&&(b[0]=1));break}else{if(b[E]+=i,b[E]!=w)break;b[E--]=0,i=1}for(l=b.length;b[--l]===0;b.pop());}t.e>de?t.c=t.e=null:t.e<fe&&(t.c=[t.e=0])}return t}function F(t){var n,s=t.e;return s===null?t.toString():(n=L(t.c),n=s<=le||s>=se?Y(n,s):U(n,s,"0"),t.s<0?"-"+n:n)}return D.absoluteValue=D.abs=function(){var t=new M(this);return t.s<0&&(t.s=1),t},D.comparedTo=function(t,n){return B(this,new M(t,n))},D.decimalPlaces=D.dp=function(t,n){var s,c,m,l=this;if(t!=null)return C(t,0,z),n==null?n=q:C(n,0,8),W(new M(l),t+l.e+1,n);if(!(s=l.c))return null;if(c=((m=s.length-1)-T(this.e/x))*x,m=s[m])for(;m%10==0;m/=10,c--);return c<0&&(c=0),c},D.dividedBy=D.div=function(t,n){return k(this,new M(t,n),Z,q)},D.dividedToIntegerBy=D.idiv=function(t,n){return k(this,new M(t,n),0,1)},D.exponentiatedBy=D.pow=function(t,n){var s,c,m,l,a,i,r,E,N,b=this;if(t=new M(t),t.c&&!t.isInteger())throw Error(_+"Exponent not an integer: "+F(t));if(n!=null&&(n=new M(n)),i=t.e>14,!b.c||!b.c[0]||b.c[0]==1&&!b.e&&b.c.length==1||!t.c||!t.c[0])return N=new M(Math.pow(+F(b),i?t.s*(2-P(t)):+F(t))),n?N.mod(n):N;if(r=t.s<0,n){if(n.c?!n.c[0]:!n.s)return new M(NaN);c=!r&&b.isInteger()&&n.isInteger(),c&&(b=b.mod(n))}else{if(t.e>9&&(b.e>0||b.e<-1||(b.e==0?b.c[0]>1||i&&b.c[1]>=24e7:b.c[0]<8e13||i&&b.c[0]<=9999975e7)))return l=b.s<0&&P(t)?-0:0,b.e>-1&&(l=1/l),new M(r?1/l:l);ue&&(l=g(ue/x+2))}for(i?(s=new M(.5),r&&(t.s=1),E=P(t)):(m=Math.abs(+F(t)),E=m%2),N=new M(ee);;){if(E){if(N=N.times(b),!N.c)break;l?N.c.length>l&&(N.c.length=l):c&&(N=N.mod(n))}if(m){if(m=V(m/2),m===0)break;E=m%2}else if(t=t.times(s),W(t,t.e+1,1),t.e>14)E=P(t);else{if(m=+F(t),m===0)break;E=m%2}b=b.times(b),l?b.c&&b.c.length>l&&(b.c.length=l):c&&(b=b.mod(n))}return c?N:(r&&(N=ee.div(N)),n?N.mod(n):l?W(N,ue,q,a):N)},D.integerValue=function(t){var n=new M(this);return t==null?t=q:C(t,0,8),W(n,n.e+1,t)},D.isEqualTo=D.eq=function(t,n){return B(this,new M(t,n))===0},D.isFinite=function(){return!!this.c},D.isGreaterThan=D.gt=function(t,n){return B(this,new M(t,n))>0},D.isGreaterThanOrEqualTo=D.gte=function(t,n){return(n=B(this,new M(t,n)))===1||n===0},D.isInteger=function(){return!!this.c&&T(this.e/x)>this.c.length-2},D.isLessThan=D.lt=function(t,n){return B(this,new M(t,n))<0},D.isLessThanOrEqualTo=D.lte=function(t,n){return(n=B(this,new M(t,n)))===-1||n===0},D.isNaN=function(){return!this.s},D.isNegative=function(){return this.s<0},D.isPositive=function(){return this.s>0},D.isZero=function(){return!!this.c&&this.c[0]==0},D.minus=function(t,n){var s,c,m,l,a=this,i=a.s;if(t=new M(t,n),n=t.s,!i||!n)return new M(NaN);if(i!=n)return t.s=-n,a.plus(t);var r=a.e/x,E=t.e/x,N=a.c,b=t.c;if(!r||!E){if(!N||!b)return N?(t.s=-n,t):new M(b?a:NaN);if(!N[0]||!b[0])return b[0]?(t.s=-n,t):new M(N[0]?a:q==3?-0:0)}if(r=T(r),E=T(E),N=N.slice(),i=r-E){for((l=i<0)?(i=-i,m=N):(E=r,m=b),m.reverse(),n=i;n--;m.push(0));m.reverse()}else for(c=(l=(i=N.length)<(n=b.length))?i:n,i=n=0;n<c;n++)if(N[n]!=b[n]){l=N[n]<b[n];break}if(l&&(m=N,N=b,b=m,t.s=-t.s),n=(c=b.length)-(s=N.length),n>0)for(;n--;N[s++]=0);for(n=w-1;c>i;){if(N[--c]<b[c]){for(s=c;s&&!N[--s];N[s]=n);--N[s],N[c]+=w}N[c]-=b[c]}for(;N[0]==0;N.splice(0,1),--E);return N[0]?Ce(t,N,E):(t.s=q==3?-1:1,t.c=[t.e=0],t)},D.modulo=D.mod=function(t,n){var s,c,m=this;return t=new M(t,n),!m.c||!t.s||t.c&&!t.c[0]?new M(NaN):!t.c||m.c&&!m.c[0]?new M(m):(pe==9?(c=t.s,t.s=1,s=k(m,t,0,3),t.s=c,s.s*=c):s=k(m,t,0,pe),t=m.minus(s.times(t)),!t.c[0]&&pe==1&&(t.s=m.s),t)},D.multipliedBy=D.times=function(t,n){var s,c,m,l,a,i,r,E,N,b,j,H,v,re,ce,Q=this,te=Q.c,he=(t=new M(t,n)).c;if(!te||!he||!te[0]||!he[0])return!Q.s||!t.s||te&&!te[0]&&!he||he&&!he[0]&&!te?t.c=t.e=t.s=null:(t.s*=Q.s,!te||!he?t.c=t.e=null:(t.c=[0],t.e=0)),t;for(c=T(Q.e/x)+T(t.e/x),t.s*=Q.s,r=te.length,b=he.length,r<b&&(v=te,te=he,he=v,m=r,r=b,b=m),m=r+b,v=[];m--;v.push(0));for(re=w,ce=$,m=b;--m>=0;){for(s=0,j=he[m]%ce,H=he[m]/ce|0,a=r,l=m+a;l>m;)E=te[--a]%ce,N=te[a]/ce|0,i=H*E+N*j,E=j*E+i%ce*ce+v[l]+s,s=(E/re|0)+(i/ce|0)+H*N,v[l--]=E%re;v[l]=s}return s?++c:v.splice(0,1),Ce(t,v,c)},D.negated=function(){var t=new M(this);return t.s=-t.s||null,t},D.plus=function(t,n){var s,c=this,m=c.s;if(t=new M(t,n),n=t.s,!m||!n)return new M(NaN);if(m!=n)return t.s=-n,c.minus(t);var l=c.e/x,a=t.e/x,i=c.c,r=t.c;if(!l||!a){if(!i||!r)return new M(m/0);if(!i[0]||!r[0])return r[0]?t:new M(i[0]?c:m*0)}if(l=T(l),a=T(a),i=i.slice(),m=l-a){for(m>0?(a=l,s=r):(m=-m,s=i),s.reverse();m--;s.push(0));s.reverse()}for(m=i.length,n=r.length,m-n<0&&(s=r,r=i,i=s,n=m),m=0;n;)m=(i[--n]=i[n]+r[n]+m)/w|0,i[n]=w===i[n]?0:i[n]%w;return m&&(i=[m].concat(i),++a),Ce(t,i,a)},D.precision=D.sd=function(t,n){var s,c,m,l=this;if(t!=null&&t!==!!t)return C(t,1,z),n==null?n=q:C(n,0,8),W(new M(l),t,n);if(!(s=l.c))return null;if(m=s.length-1,c=m*x+1,m=s[m]){for(;m%10==0;m/=10,c--);for(m=s[0];m>=10;m/=10,c++);}return t&&l.e+1>c&&(c=l.e+1),c},D.shiftedBy=function(t){return C(t,-y,y),this.times("1e"+t)},D.squareRoot=D.sqrt=function(){var t,n,s,c,m,l=this,a=l.c,i=l.s,r=l.e,E=Z+4,N=new M("0.5");if(i!==1||!a||!a[0])return new M(!i||i<0&&(!a||a[0])?NaN:a?l:1/0);if(i=Math.sqrt(+F(l)),i==0||i==1/0?(n=L(a),(n.length+r)%2==0&&(n+="0"),i=Math.sqrt(+n),r=T((r+1)/2)-(r<0||r%2),i==1/0?n="5e"+r:(n=i.toExponential(),n=n.slice(0,n.indexOf("e")+1)+r),s=new M(n)):s=new M(i+""),s.c[0]){for(r=s.e,i=r+E,i<3&&(i=0);;)if(m=s,s=N.times(m.plus(k(l,m,E,1))),L(m.c).slice(0,i)===(n=L(s.c)).slice(0,i))if(s.e<r&&--i,n=n.slice(i-3,i+1),n=="9999"||!c&&n=="4999"){if(!c&&(W(m,m.e+Z+2,0),m.times(m).eq(l))){s=m;break}E+=4,i+=4,c=1}else{(!+n||!+n.slice(1)&&n.charAt(0)=="5")&&(W(s,s.e+Z+2,1),t=!s.times(s).eq(l));break}}return W(s,s.e+Z+1,q,t)},D.toExponential=function(t,n){return t!=null&&(C(t,0,z),t++),Ie(this,t,n,1)},D.toFixed=function(t,n){return t!=null&&(C(t,0,z),t=t+this.e+1),Ie(this,t,n)},D.toFormat=function(t,n,s){var c,m=this;if(s==null)t!=null&&n&&typeof n=="object"?(s=n,n=null):t&&typeof t=="object"?(s=t,t=n=null):s=be;else if(typeof s!="object")throw Error(_+"Argument not an object: "+s);if(c=m.toFixed(t,n),m.c){var l,a=c.split("."),i=+s.groupSize,r=+s.secondaryGroupSize,E=s.groupSeparator||"",N=a[0],b=a[1],j=m.s<0,H=j?N.slice(1):N,v=H.length;if(r&&(l=i,i=r,r=l,v-=l),i>0&&v>0){for(l=v%i||i,N=H.substr(0,l);l<v;l+=i)N+=E+H.substr(l,i);r>0&&(N+=E+H.slice(l)),j&&(N="-"+N)}c=b?N+(s.decimalSeparator||"")+((r=+s.fractionGroupSize)?b.replace(new RegExp("\\d{"+r+"}\\B","g"),"$&"+(s.fractionGroupSeparator||"")):b):N}return(s.prefix||"")+c+(s.suffix||"")},D.toFraction=function(t){var n,s,c,m,l,a,i,r,E,N,b,j,H=this,v=H.c;if(t!=null&&(i=new M(t),!i.isInteger()&&(i.c||i.s!==1)||i.lt(ee)))throw Error(_+"Argument "+(i.isInteger()?"out of range: ":"not an integer: ")+F(i));if(!v)return new M(H);for(n=new M(ee),E=s=new M(ee),c=r=new M(ee),j=L(v),l=n.e=j.length-H.e-1,n.c[0]=I[(a=l%x)<0?x+a:a],t=!t||i.comparedTo(n)>0?l>0?n:E:i,a=de,de=1/0,i=new M(j),r.c[0]=0;N=k(i,n,0,1),m=s.plus(N.times(c)),m.comparedTo(t)!=1;)s=c,c=m,E=r.plus(N.times(m=E)),r=m,n=i.minus(N.times(m=n)),i=m;return m=k(t.minus(s),c,0,1),r=r.plus(m.times(E)),s=s.plus(m.times(c)),r.s=E.s=H.s,l=l*2,b=k(E,c,l,q).minus(H).abs().comparedTo(k(r,s,l,q).minus(H).abs())<1?[E,c]:[r,s],de=a,b},D.toNumber=function(){return+F(this)},D.toPrecision=function(t,n){return t!=null&&C(t,1,z),Ie(this,t,n,2)},D.toString=function(t){var n,s=this,c=s.s,m=s.e;return m===null?c?(n="Infinity",c<0&&(n="-"+n)):n="NaN":(t==null?n=m<=le||m>=se?Y(L(s.c),m):U(L(s.c),m,"0"):t===10&&$e?(s=W(new M(s),Z+m+1,q),n=U(L(s.c),s.e,"0")):(C(t,2,Ve.length,"Base"),n=R(U(L(s.c),m,"0"),10,t,c,!0)),c<0&&s.c[0]&&(n="-"+n)),n},D.valueOf=D.toJSON=function(){return F(this)},D._isBigNumber=!0,d!=null&&M.set(d),M}function T(d){var k=d|0;return d>0||d===k?k:k-1}function L(d){for(var k,R,J=1,D=d.length,ee=d[0]+"";J<D;){for(k=d[J++]+"",R=x-k.length;R--;k="0"+k);ee+=k}for(D=ee.length;ee.charCodeAt(--D)===48;);return ee.slice(0,D+1||1)}function B(d,k){var R,J,D=d.c,ee=k.c,Z=d.s,q=k.s,le=d.e,se=k.e;if(!Z||!q)return null;if(R=D&&!D[0],J=ee&&!ee[0],R||J)return R?J?0:-q:Z;if(Z!=q)return Z;if(R=Z<0,J=le==se,!D||!ee)return J?0:!D^R?1:-1;if(!J)return le>se^R?1:-1;for(q=(le=D.length)<(se=ee.length)?le:se,Z=0;Z<q;Z++)if(D[Z]!=ee[Z])return D[Z]>ee[Z]^R?1:-1;return le==se?0:le>se^R?1:-1}function C(d,k,R,J){if(d<k||d>R||d!==V(d))throw Error(_+(J||"Argument")+(typeof d=="number"?d<k||d>R?" out of range: ":" not an integer: ":" not a primitive number: ")+String(d))}function P(d){var k=d.c.length-1;return T(d.e/x)==k&&d.c[k]%2!=0}function Y(d,k){return(d.length>1?d.charAt(0)+"."+d.slice(1):d)+(k<0?"e":"e+")+k}function U(d,k,R){var J,D;if(k<0){for(D=R+".";++k;D+=R);d=D+d}else if(J=d.length,++k>J){for(D=R,k-=J;--k;D+=R);d+=D}else k<J&&(d=d.slice(0,k)+"."+d.slice(k));return d}h=K(),h.default=h.BigNumber=h,o.exports?o.exports=h:(p||(p=typeof self<"u"&&self?self:window),p.BigNumber=h)})(xs)})(Lt);var Dt=Lt.exports;(function(o){var p=Dt,h=o.exports;(function(){var f=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,g,V,_={"\b":"\\b"," ":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},u;function w(y){return f.lastIndex=0,f.test(y)?'"'+y.replace(f,function(I){var $=_[I];return typeof $=="string"?$:"\\u"+("0000"+I.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+y+'"'}function x(y,I){var $,z,K,T,L=g,B,C=I[y],P=C!=null&&(C instanceof p||p.isBigNumber(C));switch(C&&typeof C=="object"&&typeof C.toJSON=="function"&&(C=C.toJSON(y)),typeof u=="function"&&(C=u.call(I,y,C)),typeof C){case"string":return P?C:w(C);case"number":return isFinite(C)?String(C):"null";case"boolean":case"null":case"bigint":return String(C);case"object":if(!C)return"null";if(g+=V,B=[],Object.prototype.toString.apply(C)==="[object Array]"){for(T=C.length,$=0;$<T;$+=1)B[$]=x($,C)||"null";return K=B.length===0?"[]":g?`[
2
+ `+g+B.join(`,
3
+ `+g)+`
4
+ `+L+"]":"["+B.join(",")+"]",g=L,K}if(u&&typeof u=="object")for(T=u.length,$=0;$<T;$+=1)typeof u[$]=="string"&&(z=u[$],K=x(z,C),K&&B.push(w(z)+(g?": ":":")+K));else Object.keys(C).forEach(function(Y){var U=x(Y,C);U&&B.push(w(Y)+(g?": ":":")+U)});return K=B.length===0?"{}":g?`{
5
+ `+g+B.join(`,
6
+ `+g)+`
7
+ `+L+"}":"{"+B.join(",")+"}",g=L,K}}typeof h.stringify!="function"&&(h.stringify=function(y,I,$){var z;if(g="",V="",typeof $=="number")for(z=0;z<$;z+=1)V+=" ";else typeof $=="string"&&(V=$);if(u=I,I&&typeof I!="function"&&(typeof I!="object"||typeof I.length!="number"))throw new Error("JSON.stringify");return x("",{"":y})})})()})(Mt);var Bs=Mt.exports,Ke=null;const Ss=/(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])/,bs=/(?: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 $s=function(o){var p={strict:!1,storeAsString:!1,alwaysParseAsBig:!1,useNativeBigInt:!1,protoAction:"error",constructorAction:"error"};if(o!=null){if(o.strict===!0&&(p.strict=!0),o.storeAsString===!0&&(p.storeAsString=!0),p.alwaysParseAsBig=o.alwaysParseAsBig===!0?o.alwaysParseAsBig:!1,p.useNativeBigInt=o.useNativeBigInt===!0?o.useNativeBigInt:!1,typeof o.constructorAction<"u")if(o.constructorAction==="error"||o.constructorAction==="ignore"||o.constructorAction==="preserve")p.constructorAction=o.constructorAction;else throw new Error(`Incorrect value for constructorAction option, must be "error", "ignore" or undefined but passed ${o.constructorAction}`);if(typeof o.protoAction<"u")if(o.protoAction==="error"||o.protoAction==="ignore"||o.protoAction==="preserve")p.protoAction=o.protoAction;else throw new Error(`Incorrect value for protoAction option, must be "error", "ignore" or undefined but passed ${o.protoAction}`)}var h,f,g={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:`
8
+ `,r:"\r",t:" "},V,_=function(T){throw{name:"SyntaxError",message:T,at:h,text:V}},u=function(T){return T&&T!==f&&_("Expected '"+T+"' instead of '"+f+"'"),f=V.charAt(h),h+=1,f},w=function(){var T,L="";for(f==="-"&&(L="-",u("-"));f>="0"&&f<="9";)L+=f,u();if(f===".")for(L+=".";u()&&f>="0"&&f<="9";)L+=f;if(f==="e"||f==="E")for(L+=f,u(),(f==="-"||f==="+")&&(L+=f,u());f>="0"&&f<="9";)L+=f,u();if(T=+L,!isFinite(T))_("Bad number");else return Ke==null&&(Ke=Dt),L.length>15?p.storeAsString?L:p.useNativeBigInt?BigInt(L):new Ke(L):p.alwaysParseAsBig?p.useNativeBigInt?BigInt(T):new Ke(T):T},x=function(){var T,L,B="",C;if(f==='"')for(var P=h;u();){if(f==='"')return h-1>P&&(B+=V.substring(P,h-1)),u(),B;if(f==="\\"){if(h-1>P&&(B+=V.substring(P,h-1)),u(),f==="u"){for(C=0,L=0;L<4&&(T=parseInt(u(),16),!!isFinite(T));L+=1)C=C*16+T;B+=String.fromCharCode(C)}else if(typeof g[f]=="string")B+=g[f];else break;P=h}}_("Bad string")},y=function(){for(;f&&f<=" ";)u()},I=function(){switch(f){case"t":return u("t"),u("r"),u("u"),u("e"),!0;case"f":return u("f"),u("a"),u("l"),u("s"),u("e"),!1;case"n":return u("n"),u("u"),u("l"),u("l"),null}_("Unexpected '"+f+"'")},$,z=function(){var T=[];if(f==="["){if(u("["),y(),f==="]")return u("]"),T;for(;f;){if(T.push($()),y(),f==="]")return u("]"),T;u(","),y()}}_("Bad array")},K=function(){var T,L=Object.create(null);if(f==="{"){if(u("{"),y(),f==="}")return u("}"),L;for(;f;){if(T=x(),y(),u(":"),p.strict===!0&&Object.hasOwnProperty.call(L,T)&&_('Duplicate key "'+T+'"'),Ss.test(T)===!0?p.protoAction==="error"?_("Object contains forbidden prototype property"):p.protoAction==="ignore"?$():L[T]=$():bs.test(T)===!0?p.constructorAction==="error"?_("Object contains forbidden constructor property"):p.constructorAction==="ignore"?$():L[T]=$():L[T]=$(),y(),f==="}")return u("}"),L;u(","),y()}}_("Bad object")};return $=function(){switch(y(),f){case"{":return K();case"[":return z();case'"':return x();case"-":return w();default:return f>="0"&&f<="9"?w():I()}},function(T,L){var B;return V=T+"",h=0,f=" ",B=$(),y(),f&&_("Syntax error"),typeof L=="function"?function C(P,Y){var U,d=P[Y];return d&&typeof d=="object"&&Object.keys(d).forEach(function(k){U=C(d,k),U!==void 0?d[k]=U:delete d[k]}),L.call(P,Y,d)}({"":B},""):B}},Is=$s,Tt=Bs.stringify,At=Is;Ge.exports=function(o){return{parse:At(o),stringify:Tt}},Ge.exports.parse=At(),Ge.exports.stringify=Tt;var Ms=Ge.exports;const Ls=Cs(Ms)({storeAsString:!0});let Ut;function Ds(o){Ut=o,Le&&(Le.defaults.baseURL=o)}const Le=(()=>{const o=Jt.create({timeout:3e4,headers:{"Content-Type":"application/json"},transformResponse:[p=>{if(typeof p=="string")try{return Ls.parse(p)}catch{return p}return p}]});return o.interceptors.request.use(p=>{const h=Ut||void 0;h&&!p.baseURL&&(p.baseURL=h);const f=Pe(),g=kt()||"Bearer";return f&&(p.headers.Authorization=`${g} ${f}`),p},p=>Promise.reject(p)),o.interceptors.response.use(p=>{const{data:h}=p;return h.code===200||h.code===0?h.data:h.code===9121?(ne.Message.error("登录已过期,请重新登录"),De(),window.location.href="/login",Promise.reject(new Error(h.message||"EXPIRED OR INVALID TOKEN"))):(ne.Message.error(h.message||"请求失败"),Promise.reject(new Error(h.message||"请求失败")))},p=>{var f;const{response:h}=p;if(h){const{data:g}=h;if((g==null?void 0:g.code)===9121)return ne.Message.error("登录已过期,请重新登录"),De(),window.location.href="/login",Promise.reject(p);switch(h.status){case 401:ne.Message.error("登录已过期,请重新登录"),De(),window.location.href="/login";break;case 403:ne.Message.error("没有权限访问");break;case 404:ne.Message.error("请求资源不存在");break;case 500:ne.Message.error("服务器错误");break;default:ne.Message.error(((f=h.data)==null?void 0:f.message)||"请求失败")}}else ne.Message.error("网络连接失败");return Promise.reject(p)}),o})(),oe={get(o,p){return Le.get(o,p)},post(o,p,h){return Le.post(o,p,h)},put(o,p,h){return Le.put(o,p,h)},patch(o,p,h){return Le.patch(o,p,h)},delete(o,p){return Le.delete(o,p)},download(o,p){return Le.get(o,{...p,responseType:"blob"})}};function zt(o){return oe.post("/user/v1.0/login/by-domain",o)}function Ts(){return oe.put("/user/v1.0/user/logout")}function Ot(){return oe.get("/user/v1.0/user/get-me")}function As(o){return oe.post("/user/v1.0/refresh",{refreshToken:o})}const Us={class:"login-page"},zs={class:"login-form-section"},Os={class:"form-container"},Fs={class:"input-wrapper"},Ps={class:"input-wrapper"},Rs={class:"form-options"},qs={key:0},js={key:1},Ft=ge(e.defineComponent({__name:"index",setup(o){const p=ie.useRouter(),h=ie.useRoute(),f=e.ref(!1),g=e.ref(!1),V=e.reactive({uid:"",password:""}),_={uid:[{required:!0,message:"请输入用户名",trigger:"blur"}],password:[{required:!0,message:"请输入密码",trigger:"blur"},{min:6,message:"密码长度至少6位",trigger:"blur"}]},u=e.ref(),w=async()=>{var x;try{await((x=u.value)==null?void 0:x.validate()),f.value=!0;const y=await zt({appId:Ue(),clientId:Je(),uid:V.uid,password:V.password,code:!0});rt(y),ne.Message.success("登录成功");const I=h.query.redirect||"/";p.push(I)}catch(y){console.error("登录失败:",y)}finally{f.value=!1}};return(x,y)=>(e.openBlock(),e.createElementBlock("div",Us,[y[10]||(y[10]=e.createStaticVNode('<div class="login-brand" data-v-15fc7de5><div class="brand-content" data-v-15fc7de5><div class="brand-logo" data-v-15fc7de5><div class="logo-icon" data-v-15fc7de5><svg viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg" data-v-15fc7de5><rect width="48" height="48" rx="12" fill="currentColor" data-v-15fc7de5></rect><path d="M14 24L20 30L34 16" stroke="white" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" data-v-15fc7de5></path></svg></div><span class="logo-text" data-v-15fc7de5>XTO</span></div><div class="brand-slogan" data-v-15fc7de5><h1 data-v-15fc7de5>企业级后台管理解决方案</h1><p data-v-15fc7de5>开箱即用的中后台前端/设计解决方案</p></div><div class="brand-features" data-v-15fc7de5><div class="feature-item" data-v-15fc7de5><div class="feature-icon" data-v-15fc7de5><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" data-v-15fc7de5><path d="M13 2L3 14h9l-1 8 10-12h-9l1-8z" data-v-15fc7de5></path></svg></div><div class="feature-text" data-v-15fc7de5><h4 data-v-15fc7de5>高性能</h4><p data-v-15fc7de5>极致的渲染性能与响应速度</p></div></div><div class="feature-item" data-v-15fc7de5><div class="feature-icon" data-v-15fc7de5><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" data-v-15fc7de5><rect x="3" y="3" width="18" height="18" rx="2" data-v-15fc7de5></rect><path d="M9 9h6M9 12h6M9 15h4" data-v-15fc7de5></path></svg></div><div class="feature-text" data-v-15fc7de5><h4 data-v-15fc7de5>丰富组件</h4><p data-v-15fc7de5>60+ 高质量业务组件</p></div></div><div class="feature-item" data-v-15fc7de5><div class="feature-icon" data-v-15fc7de5><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" data-v-15fc7de5><circle cx="12" cy="12" r="10" data-v-15fc7de5></circle><path d="M12 6v6l4 2" data-v-15fc7de5></path></svg></div><div class="feature-text" data-v-15fc7de5><h4 data-v-15fc7de5>持续更新</h4><p data-v-15fc7de5>活跃的社区与快速迭代</p></div></div></div><div class="brand-decoration" data-v-15fc7de5><div class="decoration-line" data-v-15fc7de5></div><div class="decoration-dots" data-v-15fc7de5><span data-v-15fc7de5></span><span data-v-15fc7de5></span><span data-v-15fc7de5></span></div></div></div><div class="brand-bg" data-v-15fc7de5><div class="bg-grid" data-v-15fc7de5></div><div class="bg-glow" data-v-15fc7de5></div><div class="bg-pattern" data-v-15fc7de5></div></div></div>',1)),e.createElementVNode("div",zs,[e.createElementVNode("div",Os,[y[7]||(y[7]=e.createElementVNode("div",{class:"form-header"},[e.createElementVNode("h2",null,"欢迎登录"),e.createElementVNode("p",null,"请输入您的账户信息")],-1)),e.createVNode(e.unref(O.Form),{ref_key:"formRef",ref:u,model:V,rules:_,class:"login-form","label-width":"0"},{default:e.withCtx(()=>[e.createVNode(e.unref(O.FormItem),{prop:"uid"},{default:e.withCtx(()=>[e.createElementVNode("div",Fs,[y[3]||(y[3]=e.createElementVNode("label",{class:"input-label"},"用户名",-1)),e.createVNode(e.unref(O.Input),{modelValue:V.uid,"onUpdate:modelValue":y[0]||(y[0]=I=>V.uid=I),placeholder:"请输入用户名",size:"large"},{prefix:e.withCtx(()=>[e.createVNode(e.unref(A.Icon),{name:"user",size:18})]),_:1},8,["modelValue"])])]),_:1}),e.createVNode(e.unref(O.FormItem),{prop:"password"},{default:e.withCtx(()=>[e.createElementVNode("div",Ps,[y[4]||(y[4]=e.createElementVNode("label",{class:"input-label"},"密码",-1)),e.createVNode(e.unref(O.Input),{modelValue:V.password,"onUpdate:modelValue":y[1]||(y[1]=I=>V.password=I),type:"password",placeholder:"请输入密码",size:"large","show-password":"",onKeyup:e.withKeys(w,["enter"])},{prefix:e.withCtx(()=>[e.createVNode(e.unref(A.Icon),{name:"lock",size:18})]),_:1},8,["modelValue"])])]),_:1}),e.createElementVNode("div",Rs,[e.createVNode(e.unref(O.Checkbox),{modelValue:g.value,"onUpdate:modelValue":y[2]||(y[2]=I=>g.value=I)},{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(O.FormItem),null,{default:e.withCtx(()=>[e.createVNode(e.unref(A.Button),{type:"primary",size:"large",loading:f.value,class:"login-btn",onClick:w},{default:e.withCtx(()=>[f.value?(e.openBlock(),e.createElementBlock("span",js,"登录中...")):(e.openBlock(),e.createElementBlock("span",qs,"登 录"))]),_:1},8,["loading"])]),_:1})]),_:1},8,["model"]),y[8]||(y[8]=e.createStaticVNode('<div class="form-footer" data-v-15fc7de5><p data-v-15fc7de5>其他登录方式</p><div class="social-login" data-v-15fc7de5><button class="social-btn" title="企业微信" data-v-15fc7de5><svg viewBox="0 0 24 24" fill="currentColor" data-v-15fc7de5><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-15fc7de5></path></svg></button><button class="social-btn" title="钉钉" data-v-15fc7de5><svg viewBox="0 0 24 24" fill="currentColor" data-v-15fc7de5><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-15fc7de5></path></svg></button><button class="social-btn" title="飞书" data-v-15fc7de5><svg viewBox="0 0 24 24" fill="currentColor" data-v-15fc7de5><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-15fc7de5></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-15fc7de5"]]),Hs=Object.freeze(Object.defineProperty({__proto__:null,default:Ft},Symbol.toStringTag,{value:"Module"})),Gs={class:"error-page"},Ks={class:"error-container"},Ws={class:"error-content"},Xs={class:"error-actions"},Pt=ge(e.defineComponent({__name:"404",setup(o){const p=ie.useRouter(),h=()=>{p.push("/")};return(f,g)=>(e.openBlock(),e.createElementBlock("div",Gs,[e.createElementVNode("div",Ks,[g[7]||(g[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",Ws,[g[5]||(g[5]=e.createStaticVNode('<div class="error-code" data-v-3a9e61ae><span class="code-digit" data-v-3a9e61ae>4</span><span class="code-zero" data-v-3a9e61ae><span class="zero-inner" data-v-3a9e61ae>0</span></span><span class="code-digit" data-v-3a9e61ae>4</span></div><div class="error-illustration" data-v-3a9e61ae><svg viewBox="0 0 200 120" fill="none" xmlns="http://www.w3.org/2000/svg" data-v-3a9e61ae><rect x="40" y="20" width="120" height="80" rx="8" fill="var(--color-fill)" stroke="var(--color-border)" stroke-width="2" data-v-3a9e61ae></rect><rect x="50" y="30" width="100" height="60" rx="4" fill="var(--bg-color)" data-v-3a9e61ae></rect><line x1="60" y1="45" x2="140" y2="45" stroke="var(--color-border-light)" stroke-width="2" data-v-3a9e61ae></line><line x1="60" y1="55" x2="120" y2="55" stroke="var(--color-border-light)" stroke-width="2" data-v-3a9e61ae></line><line x1="60" y1="65" x2="100" y2="65" stroke="var(--color-border-light)" stroke-width="2" data-v-3a9e61ae></line><text x="100" y="75" text-anchor="middle" fill="var(--color-primary)" font-size="24" font-weight="600" data-v-3a9e61ae>?</text><circle cx="150" cy="35" r="12" stroke="var(--color-primary)" stroke-width="2" fill="none" data-v-3a9e61ae></circle><line x1="158" y1="43" x2="168" y2="53" stroke="var(--color-primary)" stroke-width="2" stroke-linecap="round" data-v-3a9e61ae></line></svg></div><h1 class="error-title" data-v-3a9e61ae>页面不存在</h1><p class="error-desc" data-v-3a9e61ae>抱歉,您访问的页面不存在或已被删除</p>',4)),e.createElementVNode("div",Xs,[e.createVNode(e.unref(A.Button),{type:"primary",size:"large",onClick:h},{icon:e.withCtx(()=>[...g[1]||(g[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(()=>[g[2]||(g[2]=e.createTextVNode(" 返回首页 ",-1))]),_:1}),e.createVNode(e.unref(A.Button),{size:"large",onClick:g[0]||(g[0]=V=>e.unref(p).go(-1))},{icon:e.withCtx(()=>[...g[3]||(g[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(()=>[g[4]||(g[4]=e.createTextVNode(" 返回上一页 ",-1))]),_:1})]),g[6]||(g[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-3a9e61ae"]]),Rt=Object.freeze(Object.defineProperty({__proto__:null,default:Pt},Symbol.toStringTag,{value:"Module"})),Ys={class:"error-page"},Js={class:"error-container"},Zs={class:"error-content"},Qs={class:"error-actions"},vs=ge(e.defineComponent({__name:"403",setup(o){const p=ie.useRouter(),h=()=>{p.push("/")};return(f,g)=>(e.openBlock(),e.createElementBlock("div",Ys,[e.createElementVNode("div",Js,[g[7]||(g[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",Zs,[g[5]||(g[5]=e.createStaticVNode('<div class="error-code" data-v-c733ebac><span class="code-digit" data-v-c733ebac>4</span><span class="code-zero warning" data-v-c733ebac><span class="zero-inner" data-v-c733ebac>0</span></span><span class="code-digit" data-v-c733ebac>3</span></div><div class="error-illustration" data-v-c733ebac><svg viewBox="0 0 200 120" fill="none" xmlns="http://www.w3.org/2000/svg" data-v-c733ebac><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-c733ebac></path><rect x="85" y="55" width="30" height="25" rx="4" fill="var(--color-warning)" data-v-c733ebac></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-c733ebac></path><circle cx="100" cy="67" r="6" fill="none" stroke="#fff" stroke-width="2" data-v-c733ebac></circle><line x1="96" y1="63" x2="104" y2="71" stroke="#fff" stroke-width="2" data-v-c733ebac></line></svg></div><h1 class="error-title" data-v-c733ebac>无访问权限</h1><p class="error-desc" data-v-c733ebac>抱歉,您没有权限访问此页面,请联系管理员获取权限</p>',4)),e.createElementVNode("div",Qs,[e.createVNode(e.unref(A.Button),{type:"primary",size:"large",onClick:h},{icon:e.withCtx(()=>[...g[1]||(g[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(()=>[g[2]||(g[2]=e.createTextVNode(" 返回首页 ",-1))]),_:1}),e.createVNode(e.unref(A.Button),{size:"large",onClick:g[0]||(g[0]=V=>e.unref(p).go(-1))},{icon:e.withCtx(()=>[...g[3]||(g[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(()=>[g[4]||(g[4]=e.createTextVNode(" 返回上一页 ",-1))]),_:1})]),g[6]||(g[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-c733ebac"]]);function er(){const o=Se(),p=ke(),h=Te(),f=e.computed(()=>p.userName||""),g=e.computed(()=>p.userInfo),V=e.computed(()=>o.appName),_=e.computed(()=>h.isLoggedIn),u=e.computed(()=>o.isDark),w=e.computed(()=>o.theme),x=e.computed(()=>o.isCollapsed),y=e.computed(()=>o.layout);return{userName:f,userInfo:g,appName:V,isLoggedIn:_,isDark:u,theme:w,isCollapsed:x,layout:y,toggleTheme:()=>{o.toggleTheme()},toggleCollapse:()=>{o.toggleCollapse()}}}function tr(){const o=ke();return{isLoggedIn:e.computed(()=>o.isLoggedIn)}}function nr(o,p={}){const{rules:h,onSubmit:f}=p,g=e.ref(),V=e.reactive({...o}),_=e.ref(!1),u=e.ref(!1),w=e.ref(!1),x=()=>{$(),w.value=!1,u.value=!0},y=K=>{Object.assign(V,K),w.value=!0,u.value=!0},I=()=>{u.value=!1,$()},$=()=>{var K;Object.keys(o).forEach(T=>{V[T]=o[T]}),(K=g.value)==null||K.resetFields()};return{formRef:g,formData:V,rules:h,loading:_,visible:u,isEdit:w,openAdd:x,openEdit:y,close:I,resetForm:$,handleSubmit:async()=>{var K;try{await((K=g.value)==null?void 0:K.validate()),_.value=!0,await(f==null?void 0:f(V)),I()}catch(T){console.error(T)}finally{_.value=!1}}}}function or(o){const{fetchData:p,defaultPageSize:h=10}=o,f=e.ref(!1),g=e.ref([]),V=e.ref(0),_=e.ref(1),u=e.ref(h),w=e.reactive({}),x=async()=>{f.value=!0;try{const L={...w,page:_.value,pageSize:u.value},B=await p(L);g.value=B.list,V.value=B.total}catch(L){console.error(L)}finally{f.value=!1}},y=()=>{_.value=1,x()},I=()=>{Object.keys(w).forEach(L=>{w[L]=void 0}),_.value=1,x()},$=L=>{_.value=L,x()},z=L=>{u.value=L,_.value=1,x()},K=()=>{x()},T=e.computed(()=>({current:_.value,pageSize:u.value,total:V.value}));return{loading:f,data:g,total:V,currentPage:_,pageSize:u,searchParams:w,pagination:T,getData:x,handleSearch:y,handleReset:I,handlePageChange:$,handleSizeChange:z,refresh:K}}const We=Ae.defineStore("locale",()=>{const o=G.get("locale")||"zh-CN",p=Ye.createLocaleProvider(o),h=e.ref(o),f=Ye.getSupportedLocales(),{t:g,messages:V,setLocale:_,mergeMessages:u}=Ye.useLocale(),w=e.computed(()=>{const $=f.find(z=>z.code===h.value);return($==null?void 0:$.name)||h.value});return{locale:h,localeName:w,locales:f,messages:V,t:g,changeLocale:$=>{h.value=$,_($),G.set("locale",$),p.setLocale($)},addMessages:$=>{u($)},initLocale:()=>{_(o)},provider:p}}),lr=Object.freeze(Object.defineProperty({__proto__:null,useLocaleStore:We},Symbol.toStringTag,{value:"Module"}));function sr(){const o=We();return{locale:o.locale,localeName:o.localeName,locales:o.locales,t:o.t,messages:o.messages,setLocale:o.changeLocale,addMessages:o.addMessages}}function rr(){return We().t}function ar(o){const p=ke(),h=xe();return p.isLoggedIn?h.hasPermission(o):!1}function ir(o){return ke().isLoggedIn}function cr(){return!0}const dt=[{path:"/login",name:"Login",component:()=>Promise.resolve().then(()=>Hs),meta:{title:"登录",hidden:!0}}],mt={path:"/",name:"Layout",component:()=>Promise.resolve().then(()=>hs),redirect:"/dashboard",children:[{path:"/dashboard",name:"Dashboard",component:()=>Promise.resolve().then(()=>Kt),meta:{title:"仪表盘",icon:"dashboard",keepAlive:!0,affix:!0}},{path:"/system/user",name:"SystemUser",component:()=>Promise.resolve().then(()=>Wt),meta:{title:"用户管理",icon:"user",keepAlive:!0}},{path:"/system/role",name:"SystemRole",component:()=>Promise.resolve().then(()=>Xt),meta:{title:"角色管理",icon:"role",keepAlive:!0}},{path:"/system/menu",name:"SystemMenu",component:()=>Promise.resolve().then(()=>Yt),meta:{title:"菜单管理",icon:"menu",keepAlive:!0}},{path:"/:pathMatch(.*)*",name:"CatchAll",component:()=>Promise.resolve().then(()=>Rt),meta:{title:"404",hidden:!0}}]},dr=[{path:"/dashboard",name:"Dashboard",component:()=>Promise.resolve().then(()=>Kt),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(()=>Wt),meta:{title:"用户管理",icon:"user",keepAlive:!0}},{path:"role",name:"SystemRole",component:()=>Promise.resolve().then(()=>Xt),meta:{title:"角色管理",icon:"role",keepAlive:!0}},{path:"menu",name:"SystemMenu",component:()=>Promise.resolve().then(()=>Yt),meta:{title:"菜单管理",icon:"menu",keepAlive:!0}}]}],qt=[{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}]}],pt=ie.createRouter({history:ie.createWebHistory(),routes:[...dt,mt],scrollBehavior:()=>({left:0,top:0})}),mr=["/login"];pt.beforeEach(async(o,p,h)=>{const f=Se();if(f.initTheme(),at())if(o.path==="/login")h({path:"/"});else{const g=ke();g.isLoggedIn||(g.setUserInfo({appId:Ue(),userId:"1",userName:"管理员",departmentName:"技术部",email:"admin@example.com",mobilePhone:"13800138000",positionName:"管理员",avatar:""}),xe().setMenuList(qt)),o.name&&o.meta.keepAlive&&f.addCachedView(o.name),h()}else mr.includes(o.path)?h():h("/login")});function pr(){const o=ie.createRouter({history:ie.createWebHistory(),routes:[...dt,mt]});pt.matcher=o.matcher}function fr(o,p={}){const h=p.indexPath||"/dashboard",f={path:"/:pathMatch(.*)*",name:"CatchAll",component:()=>Promise.resolve().then(()=>Rt),meta:{title:"404"}};return{path:"/",name:"Layout",component:ct,redirect:h,children:[...o,f]}}function ur(o,p={}){return ie.createRouter({history:ie.createWebHistory(p.base),routes:o,scrollBehavior:()=>({left:0,top:0})})}function hr(o){return oe.get("/role/list",{params:o})}function gr(o){return oe.get(`/role/${o}`)}function _r(o){return oe.post("/role",o)}function Nr(o,p){return oe.put(`/role/${o}`,p)}function Er(o){return oe.delete(`/role/${o}`)}function Vr(o,p){return oe.patch(`/role/${o}/status`,{status:p})}function kr(){return oe.get("/user/v1.0/menu/list")}function jt(o){const p=o||Ue();return oe.get(`/user/v1.0/menu/get-menu?appId=${p}`)}function yr(o){return oe.post("/menu",o)}function wr(o,p){return oe.put(`/menu/${o}`,p)}function xr(o){return oe.delete(`/menu/${o}`)}const Cr=["/login","/404","/403"];function Br(o,p={}){const h=p.whiteList||Cr,f=p.loginPath||"/login",g=p.homePath||"/";o.beforeEach(async(V,_,u)=>{const w=Se(),x=ke(),y=xe();if(w.initTheme(),Pe())if(V.path===f)u({path:g});else if(x.isLoggedIn)V.name&&V.meta.keepAlive&&w.addCachedView(V.name),u();else try{if(p.fetchUserInfo){const $=await p.fetchUserInfo();x.setUserInfo($)}else{const $=await Ot();x.setUserInfo($)}if(p.fetchMenu){const $=await p.fetchMenu();y.setMenuList($)}else{const $=await jt(p.appId);y.setMenuList($)}p.onLoginSuccess&&p.onLoginSuccess(),V.name&&V.meta.keepAlive&&w.addCachedView(V.name),u({...V,replace:!0})}catch($){console.error("获取用户信息失败:",$),x.clearUserInfo(),y.clearMenu(),De(),u({path:f,query:{redirect:V.fullPath}})}else h.includes(V.path)?u():u({path:f,query:{redirect:V.fullPath}})}),o.afterEach(()=>{})}function Sr(o){return oe.get("/user/list",{params:o})}function br(o){return oe.get(`/user/${o}`)}function $r(o){return oe.post("/user",o)}function Ir(o,p){return oe.put(`/user/${o}`,p)}function Mr(o){return oe.delete(`/user/${o}`)}function Lr(o){return oe.post("/user/batch-delete",{ids:o})}function Dr(o,p){return oe.patch(`/user/${o}/status`,{status:p})}function Tr(o){return oe.post(`/user/${o}/reset-password`)}var X=(o=>(o[o.ENABLED=1]="ENABLED",o[o.DISABLED=0]="DISABLED",o))(X||{}),Ht=(o=>(o[o.UNKNOWN=0]="UNKNOWN",o[o.MALE=1]="MALE",o[o.FEMALE=2]="FEMALE",o))(Ht||{}),Ee=(o=>(o[o.DIRECTORY=0]="DIRECTORY",o[o.MENU=1]="MENU",o[o.BUTTON=2]="BUTTON",o))(Ee||{});const Ar={1:"启用",0:"禁用"},Ur={0:"未知",1:"男",2:"女"},zr={0:"目录",1:"菜单",2:"按钮"},ft=[{label:"启用",value:1},{label:"禁用",value:0}],Or=[{label:"未知",value:0},{label:"男",value:1},{label:"女",value:2}],Gt=[{label:"目录",value:0},{label:"菜单",value:1},{label:"按钮",value:2}],Fr={mounted(o,p){var _,u;const h=ke(),f=xe();if(!h.isLoggedIn){(_=o.parentNode)==null||_.removeChild(o);return}const g=p.value,V=Array.isArray(g)?g:[g];f.hasPermission(V)||(u=o.parentNode)==null||u.removeChild(o)}};function Pr(o){return gt({appId:o.appId,clientId:o.clientId,apiBaseUrl:o.apiBaseUrl}),o.locale&&Promise.resolve().then(()=>lr).then(({useLocaleStore:p})=>{p().changeLocale(o.locale)}),{config:{appName:o.appName||"XTO App",appId:Ue(),clientId:Je(),apiBaseUrl:_t(),indexPath:o.indexPath||"/dashboard",loginPath:o.loginPath||"/login",locale:o.locale||"zh-CN"}}}const Rr={class:"dashboard"},qr={class:"stats-section"},jr={class:"stat-content"},Hr={class:"stat-title"},Gr={key:0,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},Kr={key:1,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},Wr={class:"main-section"},Xr={class:"quick-section"},Yr={class:"quick-grid"},Jr={class:"quick-icon"},Zr={class:"quick-info"},Qr={class:"quick-title"},vr={class:"quick-desc"},ea={class:"activity-section"},ta={class:"activity-list"},na={class:"activity-content"},oa={class:"activity-main"},la={class:"activity-user"},sa={class:"activity-action"},ra={class:"activity-time"},aa={class:"system-section"},ia={class:"system-grid"},ca={class:"system-info-list"},da={class:"info-label"},ma={class:"info-value"},pa={class:"system-status"},fa={class:"status-item"},ua={class:"status-item"},ha={class:"status-item"},Kt=Object.freeze(Object.defineProperty({__proto__:null,default:ge(e.defineComponent({__name:"index",setup(o){const p=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}]),h=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:"钱"}]),f=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:"系统参数配置"}]),g=e.ref([{label:"系统版本",value:"v1.0.0"},{label:"Vue 版本",value:"3.4.21"},{label:"构建工具",value:"Vite 5"},{label:"UI 组件库",value:"XTO UI"}]);return(V,_)=>{const u=e.resolveComponent("router-link");return e.openBlock(),e.createElementBlock("div",Rr,[e.createElementVNode("div",qr,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.value,w=>(e.openBlock(),e.createElementBlock("div",{key:w.title,class:"stat-card"},[e.createElementVNode("div",{class:"stat-icon",style:e.normalizeStyle({background:`linear-gradient(135deg, ${w.color}20 0%, ${w.color}10 100%)`})},[e.createElementVNode("span",null,e.toDisplayString(w.icon),1)],4),e.createElementVNode("div",jr,[e.createElementVNode("div",Hr,e.toDisplayString(w.title),1),e.createElementVNode("div",{class:"stat-value",style:e.normalizeStyle({color:w.color})},e.toDisplayString(w.value.toLocaleString()),5),e.createElementVNode("div",{class:e.normalizeClass(["stat-trend",{up:w.trendUp,down:!w.trendUp}])},[w.trendUp?(e.openBlock(),e.createElementBlock("svg",Gr,[..._[0]||(_[0]=[e.createElementVNode("path",{d:"M7 17l5-5 5 5M7 7l5 5 5-5"},null,-1)])])):(e.openBlock(),e.createElementBlock("svg",Kr,[..._[1]||(_[1]=[e.createElementVNode("path",{d:"M7 7l5 5 5-5M7 17l5-5 5 5"},null,-1)])])),e.createElementVNode("span",null,e.toDisplayString(w.trend),1)],2)]),e.createElementVNode("div",{class:"stat-decoration",style:e.normalizeStyle({background:`linear-gradient(135deg, ${w.color}08 0%, transparent 100%)`})},null,4)]))),128))]),e.createElementVNode("div",Wr,[e.createElementVNode("div",Xr,[_[3]||(_[3]=e.createElementVNode("div",{class:"section-header"},[e.createElementVNode("h3",null,"快捷入口"),e.createElementVNode("span",{class:"section-badge"},"4 个入口")],-1)),e.createElementVNode("div",Yr,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value,w=>(e.openBlock(),e.createBlock(u,{key:w.path,to:w.path,class:"quick-card"},{default:e.withCtx(()=>[e.createElementVNode("div",Jr,e.toDisplayString(w.icon),1),e.createElementVNode("div",Zr,[e.createElementVNode("div",Qr,e.toDisplayString(w.title),1),e.createElementVNode("div",vr,e.toDisplayString(w.desc),1)]),_[2]||(_[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",ea,[_[4]||(_[4]=e.createElementVNode("div",{class:"section-header"},[e.createElementVNode("h3",null,"最近活动"),e.createElementVNode("a",{href:"#",class:"section-link"},"查看全部")],-1)),e.createElementVNode("div",ta,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value,(w,x)=>(e.openBlock(),e.createElementBlock("div",{key:x,class:"activity-item"},[e.createElementVNode("div",{class:e.normalizeClass(["activity-avatar",w.type])},e.toDisplayString(w.avatar),3),e.createElementVNode("div",na,[e.createElementVNode("div",oa,[e.createElementVNode("span",la,e.toDisplayString(w.user),1),e.createElementVNode("span",sa,e.toDisplayString(w.action),1)]),e.createElementVNode("div",ra,e.toDisplayString(w.time),1)]),e.createElementVNode("div",{class:e.normalizeClass(["activity-dot",w.type])},null,2)]))),128))])])]),e.createElementVNode("div",aa,[_[8]||(_[8]=e.createElementVNode("div",{class:"section-header"},[e.createElementVNode("h3",null,"系统信息")],-1)),e.createElementVNode("div",ia,[e.createElementVNode("div",ca,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.value,w=>(e.openBlock(),e.createElementBlock("div",{key:w.label,class:"info-item"},[e.createElementVNode("span",da,e.toDisplayString(w.label),1),e.createElementVNode("span",ma,e.toDisplayString(w.value),1)]))),128))]),e.createElementVNode("div",pa,[e.createElementVNode("div",fa,[_[5]||(_[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",ua,[_[6]||(_[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",ha,[_[7]||(_[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-fd54abc0"]])},Symbol.toStringTag,{value:"Module"})),ga={class:"user-page"},_a={class:"search-section"},Na={class:"table-section"},Ea={class:"table-toolbar"},Va={class:"toolbar-left"},ka={class:"toolbar-right"},ya={class:"table-count"},wa={class:"table-wrapper"},xa={class:"data-table"},Ca={key:0},Ba={key:1},Sa={class:"col-id"},ba={class:"id-badge"},$a={class:"col-user"},Ia={class:"user-info"},Ma={class:"user-avatar"},La={class:"user-detail"},Da={class:"user-nickname"},Ta={class:"user-username"},Aa={class:"col-contact"},Ua={class:"contact-info"},za={class:"contact-email"},Oa={class:"contact-phone"},Fa={class:"col-roles"},Pa={class:"role-tags"},Ra={class:"col-status"},qa={class:"status-switch"},ja={class:"col-time"},Ha={class:"time-text"},Ga={class:"col-actions"},Ka={class:"pagination-wrapper"},Wa={class:"status-field"},Xa={class:"status-label"},Wt=Object.freeze(Object.defineProperty({__proto__:null,default:ge(e.defineComponent({__name:"index",setup(o){const p=[{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"}],h=e.ref(!1),f=e.ref([]),g=e.ref(0),V=e.ref(1),_=e.ref(10),u=e.reactive({keyword:"",status:void 0}),w=e.ref(!1),x=e.computed(()=>y.id?"编辑用户":"新增用户"),y=e.reactive({id:0,username:"",nickname:"",email:"",phone:"",status:X.ENABLED,roles:[]}),I={username:[{required:!0,message:"请输入用户名",trigger:"blur"}],nickname:[{required:!0,message:"请输入昵称",trigger:"blur"}],email:[{required:!0,message:"请输入邮箱",trigger:"blur"},{type:"email",message:"请输入正确的邮箱格式",trigger:"blur"}]},$=e.ref(),z=()=>{h.value=!0,setTimeout(()=>{let U=[...p];u.keyword&&(U=U.filter(d=>d.username.includes(u.keyword)||d.nickname.includes(u.keyword))),u.status!==void 0&&(U=U.filter(d=>d.status===u.status)),g.value=U.length,f.value=U.slice((V.value-1)*_.value,V.value*_.value),h.value=!1},300)},K=()=>{V.value=1,z()},T=()=>{u.keyword="",u.status=void 0,V.value=1,z()},L=()=>{Object.assign(y,{id:0,username:"",nickname:"",email:"",phone:"",status:X.ENABLED,roles:[]}),w.value=!0},B=U=>{Object.assign(y,U),w.value=!0},C=U=>{ne.Message.success("删除成功"),z()},P=async()=>{var U;try{await((U=$.value)==null?void 0:U.validate()),ne.Message.success(y.id?"编辑成功":"新增成功"),w.value=!1,z()}catch(d){console.error(d)}},Y=U=>{ne.Message.success(`已${U.status===X.ENABLED?"启用":"禁用"}用户 ${U.username}`)};return e.onMounted(()=>{z()}),(U,d)=>(e.openBlock(),e.createElementBlock("div",ga,[e.createElementVNode("div",_a,[e.createVNode(e.unref(O.Form),{model:u,inline:"",class:"search-form"},{default:e.withCtx(()=>[e.createVNode(e.unref(O.FormItem),{label:"关键词"},{default:e.withCtx(()=>[e.createVNode(e.unref(O.Input),{modelValue:u.keyword,"onUpdate:modelValue":d[0]||(d[0]=k=>u.keyword=k),placeholder:"用户名/昵称",clearable:"",onKeyup:e.withKeys(K,["enter"])},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(O.FormItem),{label:"状态"},{default:e.withCtx(()=>[e.createVNode(e.unref(O.Select),{modelValue:u.status,"onUpdate:modelValue":d[1]||(d[1]=k=>u.status=k),options:e.unref(ft),placeholder:"请选择",clearable:""},null,8,["modelValue","options"])]),_:1}),e.createVNode(e.unref(O.FormItem),null,{default:e.withCtx(()=>[e.createVNode(e.unref(A.Space),null,{default:e.withCtx(()=>[e.createVNode(e.unref(A.Button),{type:"primary",onClick:K},{icon:e.withCtx(()=>[...d[11]||(d[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(()=>[d[12]||(d[12]=e.createTextVNode(" 搜索 ",-1))]),_:1}),e.createVNode(e.unref(A.Button),{onClick:T},{icon:e.withCtx(()=>[...d[13]||(d[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(()=>[d[14]||(d[14]=e.createTextVNode(" 重置 ",-1))]),_:1})]),_:1})]),_:1})]),_:1},8,["model"])]),e.createElementVNode("div",Na,[e.createElementVNode("div",Ea,[e.createElementVNode("div",Va,[e.createVNode(e.unref(A.Button),{type:"primary",onClick:L},{icon:e.withCtx(()=>[...d[15]||(d[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(()=>[d[16]||(d[16]=e.createTextVNode(" 新增用户 ",-1))]),_:1})]),e.createElementVNode("div",ka,[e.createElementVNode("span",ya,"共 "+e.toDisplayString(g.value)+" 条数据",1)])]),e.createElementVNode("div",wa,[e.createElementVNode("table",xa,[d[23]||(d[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,[h.value?(e.openBlock(),e.createElementBlock("tr",Ca,[...d[17]||(d[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)])])):f.value.length===0?(e.openBlock(),e.createElementBlock("tr",Ba,[...d[18]||(d[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(f.value,k=>(e.openBlock(),e.createElementBlock("tr",{key:k.id,class:"data-row"},[e.createElementVNode("td",Sa,[e.createElementVNode("span",ba,e.toDisplayString(k.id),1)]),e.createElementVNode("td",$a,[e.createElementVNode("div",Ia,[e.createElementVNode("div",Ma,e.toDisplayString(k.nickname.charAt(0)),1),e.createElementVNode("div",La,[e.createElementVNode("span",Da,e.toDisplayString(k.nickname),1),e.createElementVNode("span",Ta,"@"+e.toDisplayString(k.username),1)])])]),e.createElementVNode("td",Aa,[e.createElementVNode("div",Ua,[e.createElementVNode("span",za,e.toDisplayString(k.email),1),e.createElementVNode("span",Oa,e.toDisplayString(k.phone),1)])]),e.createElementVNode("td",Fa,[e.createElementVNode("div",Pa,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k.roles,R=>(e.openBlock(),e.createBlock(e.unref(we.Tag),{key:R,size:"small",type:R==="admin"?"primary":"info"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(R),1)]),_:2},1032,["type"]))),128))])]),e.createElementVNode("td",Ra,[e.createElementVNode("div",qa,[e.createVNode(e.unref(O.Switch),{"model-value":k.status===e.unref(X).ENABLED,"onUpdate:modelValue":R=>{k.status=R?e.unref(X).ENABLED:e.unref(X).DISABLED,Y(k)}},null,8,["model-value","onUpdate:modelValue"]),e.createElementVNode("span",{class:e.normalizeClass(["status-text",{enabled:k.status===e.unref(X).ENABLED}])},e.toDisplayString(k.status===e.unref(X).ENABLED?"已启用":"已禁用"),3)])]),e.createElementVNode("td",ja,[e.createElementVNode("span",Ha,e.toDisplayString(k.createTime),1)]),e.createElementVNode("td",Ga,[e.createVNode(e.unref(A.Space),{class:"action-buttons"},{default:e.withCtx(()=>[e.createVNode(e.unref(A.Button),{type:"primary",link:"",size:"small",onClick:R=>B(k)},{icon:e.withCtx(()=>[...d[19]||(d[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(()=>[d[20]||(d[20]=e.createTextVNode(" 编辑 ",-1))]),_:1},8,["onClick"]),e.createVNode(e.unref(ne.Popconfirm),{title:"确定删除该用户吗?",onConfirm:R=>C(k.id)},{default:e.withCtx(()=>[e.createVNode(e.unref(A.Button),{type:"danger",link:"",size:"small"},{icon:e.withCtx(()=>[...d[21]||(d[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(()=>[d[22]||(d[22]=e.createTextVNode(" 删除 ",-1))]),_:1})]),_:1},8,["onConfirm"])]),_:2},1024)])]))),128))])])]),e.createElementVNode("div",Ka,[e.createVNode(e.unref(we.Pagination),{"current-page":V.value,"onUpdate:currentPage":d[2]||(d[2]=k=>V.value=k),"page-size":_.value,"onUpdate:pageSize":d[3]||(d[3]=k=>_.value=k),total:g.value,"page-sizes":[10,20,50,100],layout:"total, sizes, prev, pager, next",onCurrentChange:z,onSizeChange:z},null,8,["current-page","page-size","total"])])]),e.createVNode(e.unref(ne.Modal),{modelValue:w.value,"onUpdate:modelValue":d[10]||(d[10]=k=>w.value=k),title:x.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:d[9]||(d[9]=k=>w.value=!1)},{default:e.withCtx(()=>[...d[24]||(d[24]=[e.createTextVNode("取消",-1)])]),_:1}),e.createVNode(e.unref(A.Button),{type:"primary",onClick:P},{default:e.withCtx(()=>[...d[25]||(d[25]=[e.createTextVNode("确定",-1)])]),_:1})]),_:1})]),default:e.withCtx(()=>[e.createVNode(e.unref(O.Form),{ref_key:"formRef",ref:$,model:y,rules:I,"label-width":"80px",class:"user-form"},{default:e.withCtx(()=>[e.createVNode(e.unref(O.FormItem),{label:"用户名",prop:"username"},{default:e.withCtx(()=>[e.createVNode(e.unref(O.Input),{modelValue:y.username,"onUpdate:modelValue":d[4]||(d[4]=k=>y.username=k),placeholder:"请输入用户名"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(O.FormItem),{label:"昵称",prop:"nickname"},{default:e.withCtx(()=>[e.createVNode(e.unref(O.Input),{modelValue:y.nickname,"onUpdate:modelValue":d[5]||(d[5]=k=>y.nickname=k),placeholder:"请输入昵称"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(O.FormItem),{label:"邮箱",prop:"email"},{default:e.withCtx(()=>[e.createVNode(e.unref(O.Input),{modelValue:y.email,"onUpdate:modelValue":d[6]||(d[6]=k=>y.email=k),placeholder:"请输入邮箱"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(O.FormItem),{label:"手机号",prop:"phone"},{default:e.withCtx(()=>[e.createVNode(e.unref(O.Input),{modelValue:y.phone,"onUpdate:modelValue":d[7]||(d[7]=k=>y.phone=k),placeholder:"请输入手机号"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(O.FormItem),{label:"状态"},{default:e.withCtx(()=>[e.createElementVNode("div",Wa,[e.createVNode(e.unref(O.Switch),{modelValue:y.status,"onUpdate:modelValue":d[8]||(d[8]=k=>y.status=k),"active-value":e.unref(X).ENABLED,"inactive-value":e.unref(X).DISABLED},null,8,["modelValue","active-value","inactive-value"]),e.createElementVNode("span",Xa,e.toDisplayString(y.status===e.unref(X).ENABLED?"启用":"禁用"),1)])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])]))}}),[["__scopeId","data-v-da50b35c"]])},Symbol.toStringTag,{value:"Module"})),Ya={class:"role-page"},Ja={class:"search-section"},Za={class:"table-section"},Qa={class:"table-toolbar"},va={class:"toolbar-left"},ei={class:"toolbar-right"},ti={class:"table-count"},ni={class:"table-wrapper"},oi={class:"data-table"},li={key:0},si={key:1},ri={class:"col-id"},ai={class:"id-badge"},ii={class:"col-name"},ci={class:"role-name"},di={class:"col-code"},mi={class:"col-desc"},pi={class:"desc-text"},fi={class:"col-status"},ui={class:"status-switch"},hi={class:"col-time"},gi={class:"time-text"},_i={class:"col-actions"},Ni={class:"pagination-wrapper"},Ei={class:"status-field"},Vi={class:"status-label"},Xt=Object.freeze(Object.defineProperty({__proto__:null,default:ge(e.defineComponent({__name:"index",setup(o){const p=[{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"}],h=e.ref(!1),f=e.ref([]),g=e.ref(0),V=e.ref(1),_=e.ref(10),u=e.reactive({keyword:"",status:void 0}),w=e.ref(!1),x=e.computed(()=>y.id?"编辑角色":"新增角色"),y=e.reactive({id:0,name:"",code:"",description:"",status:X.ENABLED,permissions:[]}),I={name:[{required:!0,message:"请输入角色名称",trigger:"blur"}],code:[{required:!0,message:"请输入角色编码",trigger:"blur"}]},$=e.ref(),z=()=>{h.value=!0,setTimeout(()=>{let U=[...p];u.keyword&&(U=U.filter(d=>d.name.includes(u.keyword)||d.code.includes(u.keyword))),u.status!==void 0&&(U=U.filter(d=>d.status===u.status)),g.value=U.length,f.value=U.slice((V.value-1)*_.value,V.value*_.value),h.value=!1},300)},K=()=>{V.value=1,z()},T=()=>{u.keyword="",u.status=void 0,V.value=1,z()},L=()=>{Object.assign(y,{id:0,name:"",code:"",description:"",status:X.ENABLED,permissions:[]}),w.value=!0},B=U=>{Object.assign(y,U),w.value=!0},C=U=>{ne.Message.success("删除成功"),z()},P=async()=>{var U;try{await((U=$.value)==null?void 0:U.validate()),ne.Message.success(y.id?"编辑成功":"新增成功"),w.value=!1,z()}catch(d){console.error(d)}},Y=U=>{ne.Message.success(`已${U.status===X.ENABLED?"启用":"禁用"}角色 ${U.name}`)};return e.onMounted(()=>{z()}),(U,d)=>(e.openBlock(),e.createElementBlock("div",Ya,[e.createElementVNode("div",Ja,[e.createVNode(e.unref(O.Form),{model:u,inline:"",class:"search-form"},{default:e.withCtx(()=>[e.createVNode(e.unref(O.FormItem),{label:"关键词"},{default:e.withCtx(()=>[e.createVNode(e.unref(O.Input),{modelValue:u.keyword,"onUpdate:modelValue":d[0]||(d[0]=k=>u.keyword=k),placeholder:"角色名称/编码",clearable:"",onKeyup:e.withKeys(K,["enter"])},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(O.FormItem),{label:"状态"},{default:e.withCtx(()=>[e.createVNode(e.unref(O.Select),{modelValue:u.status,"onUpdate:modelValue":d[1]||(d[1]=k=>u.status=k),options:e.unref(ft),placeholder:"请选择",clearable:""},null,8,["modelValue","options"])]),_:1}),e.createVNode(e.unref(O.FormItem),null,{default:e.withCtx(()=>[e.createVNode(e.unref(A.Space),null,{default:e.withCtx(()=>[e.createVNode(e.unref(A.Button),{type:"primary",onClick:K},{icon:e.withCtx(()=>[...d[10]||(d[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(()=>[d[11]||(d[11]=e.createTextVNode(" 搜索 ",-1))]),_:1}),e.createVNode(e.unref(A.Button),{onClick:T},{icon:e.withCtx(()=>[...d[12]||(d[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(()=>[d[13]||(d[13]=e.createTextVNode(" 重置 ",-1))]),_:1})]),_:1})]),_:1})]),_:1},8,["model"])]),e.createElementVNode("div",Za,[e.createElementVNode("div",Qa,[e.createElementVNode("div",va,[e.createVNode(e.unref(A.Button),{type:"primary",onClick:L},{icon:e.withCtx(()=>[...d[14]||(d[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(()=>[d[15]||(d[15]=e.createTextVNode(" 新增角色 ",-1))]),_:1})]),e.createElementVNode("div",ei,[e.createElementVNode("span",ti,"共 "+e.toDisplayString(g.value)+" 条数据",1)])]),e.createElementVNode("div",ni,[e.createElementVNode("table",oi,[d[22]||(d[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,[h.value?(e.openBlock(),e.createElementBlock("tr",li,[...d[16]||(d[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)])])):f.value.length===0?(e.openBlock(),e.createElementBlock("tr",si,[...d[17]||(d[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(f.value,k=>(e.openBlock(),e.createElementBlock("tr",{key:k.id,class:"data-row"},[e.createElementVNode("td",ri,[e.createElementVNode("span",ai,e.toDisplayString(k.id),1)]),e.createElementVNode("td",ii,[e.createElementVNode("span",ci,e.toDisplayString(k.name),1)]),e.createElementVNode("td",di,[e.createVNode(e.unref(we.Tag),{type:"primary",size:"small"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(k.code),1)]),_:2},1024)]),e.createElementVNode("td",mi,[e.createElementVNode("span",pi,e.toDisplayString(k.description),1)]),e.createElementVNode("td",fi,[e.createElementVNode("div",ui,[e.createVNode(e.unref(O.Switch),{"model-value":k.status===e.unref(X).ENABLED,"onUpdate:modelValue":R=>{k.status=R?e.unref(X).ENABLED:e.unref(X).DISABLED,Y(k)}},null,8,["model-value","onUpdate:modelValue"]),e.createElementVNode("span",{class:e.normalizeClass(["status-text",{enabled:k.status===e.unref(X).ENABLED}])},e.toDisplayString(k.status===e.unref(X).ENABLED?"已启用":"已禁用"),3)])]),e.createElementVNode("td",hi,[e.createElementVNode("span",gi,e.toDisplayString(k.createTime),1)]),e.createElementVNode("td",_i,[e.createVNode(e.unref(A.Space),{class:"action-buttons"},{default:e.withCtx(()=>[e.createVNode(e.unref(A.Button),{type:"primary",link:"",size:"small",onClick:R=>B(k)},{icon:e.withCtx(()=>[...d[18]||(d[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(()=>[d[19]||(d[19]=e.createTextVNode(" 编辑 ",-1))]),_:1},8,["onClick"]),e.createVNode(e.unref(ne.Popconfirm),{title:"确定删除该角色吗?",onConfirm:R=>C(k.id)},{default:e.withCtx(()=>[e.createVNode(e.unref(A.Button),{type:"danger",link:"",size:"small"},{icon:e.withCtx(()=>[...d[20]||(d[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(()=>[d[21]||(d[21]=e.createTextVNode(" 删除 ",-1))]),_:1})]),_:1},8,["onConfirm"])]),_:2},1024)])]))),128))])])]),e.createElementVNode("div",Ni,[e.createVNode(e.unref(we.Pagination),{"current-page":V.value,"onUpdate:currentPage":d[2]||(d[2]=k=>V.value=k),"page-size":_.value,"onUpdate:pageSize":d[3]||(d[3]=k=>_.value=k),total:g.value,"page-sizes":[10,20,50,100],layout:"total, sizes, prev, pager, next",onCurrentChange:z,onSizeChange:z},null,8,["current-page","page-size","total"])])]),e.createVNode(e.unref(ne.Modal),{modelValue:w.value,"onUpdate:modelValue":d[9]||(d[9]=k=>w.value=k),title:x.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:d[8]||(d[8]=k=>w.value=!1)},{default:e.withCtx(()=>[...d[23]||(d[23]=[e.createTextVNode("取消",-1)])]),_:1}),e.createVNode(e.unref(A.Button),{type:"primary",onClick:P},{default:e.withCtx(()=>[...d[24]||(d[24]=[e.createTextVNode("确定",-1)])]),_:1})]),_:1})]),default:e.withCtx(()=>[e.createVNode(e.unref(O.Form),{ref_key:"formRef",ref:$,model:y,rules:I,"label-width":"80px",class:"role-form"},{default:e.withCtx(()=>[e.createVNode(e.unref(O.FormItem),{label:"角色名称",prop:"name"},{default:e.withCtx(()=>[e.createVNode(e.unref(O.Input),{modelValue:y.name,"onUpdate:modelValue":d[4]||(d[4]=k=>y.name=k),placeholder:"请输入角色名称"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(O.FormItem),{label:"角色编码",prop:"code"},{default:e.withCtx(()=>[e.createVNode(e.unref(O.Input),{modelValue:y.code,"onUpdate:modelValue":d[5]||(d[5]=k=>y.code=k),placeholder:"请输入角色编码"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(O.FormItem),{label:"描述"},{default:e.withCtx(()=>[e.createVNode(e.unref(O.Input),{modelValue:y.description,"onUpdate:modelValue":d[6]||(d[6]=k=>y.description=k),placeholder:"请输入描述"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(O.FormItem),{label:"状态"},{default:e.withCtx(()=>[e.createElementVNode("div",Ei,[e.createVNode(e.unref(O.Switch),{modelValue:y.status,"onUpdate:modelValue":d[7]||(d[7]=k=>y.status=k),"active-value":e.unref(X).ENABLED,"inactive-value":e.unref(X).DISABLED},null,8,["modelValue","active-value","inactive-value"]),e.createElementVNode("span",Vi,e.toDisplayString(y.status===e.unref(X).ENABLED?"启用":"禁用"),1)])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])]))}}),[["__scopeId","data-v-935244f1"]])},Symbol.toStringTag,{value:"Module"})),ki={class:"menu-page"},yi={class:"table-section"},wi={class:"table-toolbar"},xi={class:"toolbar-left"},Ci={class:"toolbar-right"},Bi={class:"table-count"},Si={class:"table-wrapper"},bi={class:"data-table"},$i={key:0},Ii={key:1},Mi={class:"data-row tree-row--level-0"},Li={class:"col-name"},Di={class:"menu-info"},Ti={class:"menu-icon-wrapper"},Ai=["onClick"],Ui={class:"col-icon"},zi={class:"icon-text"},Oi={class:"col-path"},Fi={class:"path-code"},Pi={class:"col-type"},Ri={class:"col-sort"},qi={class:"sort-badge"},ji={class:"col-status"},Hi={class:"col-actions"},Gi={class:"col-name"},Ki={class:"menu-info"},Wi={class:"menu-icon-wrapper"},Xi=["onClick"],Yi={class:"col-icon"},Ji={class:"icon-text"},Zi={class:"col-path"},Qi={class:"path-code"},vi={class:"col-type"},ec={class:"col-sort"},tc={class:"sort-badge"},nc={class:"col-status"},oc={class:"col-actions"},lc={class:"form-grid"},sc={class:"status-field"},rc={class:"status-label"},ac={class:"status-field"},ic={class:"status-label"},cc={class:"status-field"},dc={class:"status-label"},Yt=Object.freeze(Object.defineProperty({__proto__:null,default:ge(e.defineComponent({__name:"index",setup(o){const p=[{id:1,parentId:null,name:"Dashboard",path:"/dashboard",component:"dashboard/index",redirect:"",icon:"dashboard",title:"仪表盘",type:Ee.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:Ee.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:Ee.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:Ee.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:Ee.MENU,sort:3,status:X.ENABLED,hidden:!1,keepAlive:!0}]}],h=e.ref(!1),f=e.ref([]),g=e.ref(!1),V=e.computed(()=>_.id?"编辑菜单":"新增菜单"),_=e.reactive({id:0,parentId:null,name:"",path:"",component:"",redirect:"",icon:"",title:"",type:Ee.MENU,sort:0,status:X.ENABLED,hidden:!1,keepAlive:!0}),u={name:[{required:!0,message:"请输入菜单名称",trigger:"blur"}],path:[{required:!0,message:"请输入路由路径",trigger:"blur"}],title:[{required:!0,message:"请输入菜单标题",trigger:"blur"}]},w=e.ref(),x=()=>{h.value=!0,setTimeout(()=>{f.value=p,h.value=!1},300)},y=(L=null)=>{Object.assign(_,{id:0,parentId:L,name:"",path:"",component:"",redirect:"",icon:"",title:"",type:Ee.MENU,sort:0,status:X.ENABLED,hidden:!1,keepAlive:!0}),g.value=!0},I=L=>{Object.assign(_,L),g.value=!0},$=async()=>{var L;try{await((L=w.value)==null?void 0:L.validate()),ne.Message.success(_.id?"编辑成功":"新增成功"),g.value=!1,x()}catch(B){console.error(B)}},z=L=>({dashboard:"📊",system:"⚙️",user:"👤",role:"👥",menu:"📋",setting:"🔧"})[L||""]||"📄",K=L=>{switch(L){case Ee.DIRECTORY:return"primary";case Ee.MENU:return"success";default:return"warning"}},T=L=>{switch(L){case Ee.DIRECTORY:return"目录";case Ee.MENU:return"菜单";default:return"按钮"}};return e.onMounted(()=>{x()}),(L,B)=>(e.openBlock(),e.createElementBlock("div",ki,[e.createElementVNode("div",yi,[e.createElementVNode("div",wi,[e.createElementVNode("div",xi,[e.createVNode(e.unref(A.Button),{type:"primary",onClick:B[0]||(B[0]=C=>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",Ci,[e.createElementVNode("span",Bi,"共 "+e.toDisplayString(f.value.length)+" 个菜单",1)])]),e.createElementVNode("div",Si,[e.createElementVNode("table",bi,[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,[h.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)])])):f.value.length===0?(e.openBlock(),e.createElementBlock("tr",Ii,[...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(f.value,C=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:C.id},[e.createElementVNode("tr",Mi,[e.createElementVNode("td",Li,[e.createElementVNode("div",Di,[e.createElementVNode("span",Ti,e.toDisplayString(z(C.icon)),1),e.createElementVNode("span",{class:"menu-title",onClick:P=>I(C)},e.toDisplayString(C.title),9,Ai)])]),e.createElementVNode("td",Ui,[e.createElementVNode("span",zi,e.toDisplayString(z(C.icon)),1)]),e.createElementVNode("td",Oi,[e.createElementVNode("code",Fi,e.toDisplayString(C.path),1)]),e.createElementVNode("td",Pi,[e.createVNode(e.unref(we.Tag),{type:K(C.type),size:"small"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(T(C.type)),1)]),_:2},1032,["type"])]),e.createElementVNode("td",Ri,[e.createElementVNode("span",qi,e.toDisplayString(C.sort),1)]),e.createElementVNode("td",ji,[e.createVNode(e.unref(we.Tag),{type:C.status===e.unref(X).ENABLED?"success":"danger",size:"small"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(C.status===e.unref(X).ENABLED?"启用":"禁用"),1)]),_:2},1032,["type"])]),e.createElementVNode("td",Hi,[e.createVNode(e.unref(A.Space),{class:"action-buttons"},{default:e.withCtx(()=>[e.createVNode(e.unref(A.Button),{type:"primary",link:"",size:"small",onClick:P=>y(C.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:P=>I(C)},{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)])]),C.children?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(C.children,P=>(e.openBlock(),e.createElementBlock("tr",{key:P.id,class:"data-row tree-row--level-1"},[e.createElementVNode("td",Gi,[e.createElementVNode("div",Ki,[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",Wi,e.toDisplayString(z(P.icon)),1),e.createElementVNode("span",{class:"menu-title",onClick:Y=>I(P)},e.toDisplayString(P.title),9,Xi)])]),e.createElementVNode("td",Yi,[e.createElementVNode("span",Ji,e.toDisplayString(z(P.icon)),1)]),e.createElementVNode("td",Zi,[e.createElementVNode("code",Qi,e.toDisplayString(P.path),1)]),e.createElementVNode("td",vi,[e.createVNode(e.unref(we.Tag),{type:K(P.type),size:"small"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(T(P.type)),1)]),_:2},1032,["type"])]),e.createElementVNode("td",ec,[e.createElementVNode("span",tc,e.toDisplayString(P.sort),1)]),e.createElementVNode("td",nc,[e.createVNode(e.unref(we.Tag),{type:P.status===e.unref(X).ENABLED?"success":"danger",size:"small"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(P.status===e.unref(X).ENABLED?"启用":"禁用"),1)]),_:2},1032,["type"])]),e.createElementVNode("td",oc,[e.createVNode(e.unref(A.Space),{class:"action-buttons"},{default:e.withCtx(()=>[e.createVNode(e.unref(A.Button),{type:"primary",link:"",size:"small",onClick:Y=>I(P)},{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(ne.Modal),{modelValue:g.value,"onUpdate:modelValue":B[13]||(B[13]=C=>g.value=C),title:V.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]=C=>g.value=!1)},{default:e.withCtx(()=>[...B[27]||(B[27]=[e.createTextVNode("取消",-1)])]),_:1}),e.createVNode(e.unref(A.Button),{type:"primary",onClick:$},{default:e.withCtx(()=>[...B[28]||(B[28]=[e.createTextVNode("确定",-1)])]),_:1})]),_:1})]),default:e.withCtx(()=>[e.createVNode(e.unref(O.Form),{ref_key:"formRef",ref:w,model:_,rules:u,"label-width":"80px",class:"menu-form"},{default:e.withCtx(()=>[e.createElementVNode("div",lc,[e.createVNode(e.unref(O.FormItem),{label:"上级菜单",class:"form-item-full"},{default:e.withCtx(()=>[e.createVNode(e.unref(O.Input),{modelValue:_.parentId,"onUpdate:modelValue":B[1]||(B[1]=C=>_.parentId=C),placeholder:"上级菜单ID",disabled:""},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(O.FormItem),{label:"菜单类型"},{default:e.withCtx(()=>[e.createVNode(e.unref(O.Select),{modelValue:_.type,"onUpdate:modelValue":B[2]||(B[2]=C=>_.type=C),options:e.unref(Gt)},null,8,["modelValue","options"])]),_:1}),e.createVNode(e.unref(O.FormItem),{label:"排序"},{default:e.withCtx(()=>[e.createVNode(e.unref(O.InputNumber),{modelValue:_.sort,"onUpdate:modelValue":B[3]||(B[3]=C=>_.sort=C),min:0},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(O.FormItem),{label:"菜单名称",prop:"name"},{default:e.withCtx(()=>[e.createVNode(e.unref(O.Input),{modelValue:_.name,"onUpdate:modelValue":B[4]||(B[4]=C=>_.name=C),placeholder:"请输入菜单名称(路由name)"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(O.FormItem),{label:"菜单标题",prop:"title"},{default:e.withCtx(()=>[e.createVNode(e.unref(O.Input),{modelValue:_.title,"onUpdate:modelValue":B[5]||(B[5]=C=>_.title=C),placeholder:"请输入菜单标题"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(O.FormItem),{label:"路由路径",prop:"path",class:"form-item-full"},{default:e.withCtx(()=>[e.createVNode(e.unref(O.Input),{modelValue:_.path,"onUpdate:modelValue":B[6]||(B[6]=C=>_.path=C),placeholder:"请输入路由路径"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(O.FormItem),{label:"组件路径",class:"form-item-full"},{default:e.withCtx(()=>[e.createVNode(e.unref(O.Input),{modelValue:_.component,"onUpdate:modelValue":B[7]||(B[7]=C=>_.component=C),placeholder:"请输入组件路径"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(O.FormItem),{label:"图标"},{default:e.withCtx(()=>[e.createVNode(e.unref(O.Input),{modelValue:_.icon,"onUpdate:modelValue":B[8]||(B[8]=C=>_.icon=C),placeholder:"请输入图标名称"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(O.FormItem),{label:"状态"},{default:e.withCtx(()=>[e.createElementVNode("div",sc,[e.createVNode(e.unref(O.Switch),{modelValue:_.status,"onUpdate:modelValue":B[9]||(B[9]=C=>_.status=C),"active-value":e.unref(X).ENABLED,"inactive-value":e.unref(X).DISABLED},null,8,["modelValue","active-value","inactive-value"]),e.createElementVNode("span",rc,e.toDisplayString(_.status===e.unref(X).ENABLED?"启用":"禁用"),1)])]),_:1}),e.createVNode(e.unref(O.FormItem),{label:"隐藏"},{default:e.withCtx(()=>[e.createElementVNode("div",ac,[e.createVNode(e.unref(O.Switch),{modelValue:_.hidden,"onUpdate:modelValue":B[10]||(B[10]=C=>_.hidden=C)},null,8,["modelValue"]),e.createElementVNode("span",ic,e.toDisplayString(_.hidden?"隐藏":"显示"),1)])]),_:1}),e.createVNode(e.unref(O.FormItem),{label:"缓存"},{default:e.withCtx(()=>[e.createElementVNode("div",cc,[e.createVNode(e.unref(O.Switch),{modelValue:_.keepAlive,"onUpdate:modelValue":B[11]||(B[11]=C=>_.keepAlive=C)},null,8,["modelValue"]),e.createElementVNode("span",dc,e.toDisplayString(_.keepAlive?"开启":"关闭"),1)])]),_:1})])]),_:1},8,["model"])]),_:1},8,["modelValue","title"])]))}}),[["__scopeId","data-v-fcdec27c"]])},Symbol.toStringTag,{value:"Module"}));S.Footer=ws,S.Forbidden=vs,S.Gender=Ht,S.GenderOptions=Or,S.GenderText=Ur,S.Header=It,S.Layout=ct,S.Login=Ft,S.MenuType=Ee,S.MenuTypeOptions=Gt,S.MenuTypeText=zr,S.NotFound=Pt,S.Sidebar=it,S.Status=X,S.StatusOptions=ft,S.StatusText=Ar,S.Tabs=Es,S.appConfig=Zt,S.batchDeleteUsers=Lr,S.clearToken=De,S.createLayoutRoute=fr,S.createMenu=yr,S.createRole=_r,S.createRouter=ur,S.createTranslator=rr,S.createUser=$r,S.createXtoApp=Pr,S.defaultDynamicRoutes=dr,S.deleteMenu=xr,S.deleteRole=Er,S.deleteUser=Mr,S.getApiBaseUrl=_t,S.getAppId=Ue,S.getClientId=Je,S.getCode=on,S.getMenuList=kr,S.getMenuTree=jt,S.getRefreshTime=nn,S.getRefreshToken=tn,S.getRoleDetail=gr,S.getRoleList=hr,S.getToken=Pe,S.getTokenExpire=xt,S.getTokenType=kt,S.getUserDetail=br,S.getUserInfo=Ot,S.getUserList=Sr,S.hasPermission=ar,S.hasRole=ir,S.hasToken=at,S.http=oe,S.initAppConfig=gt,S.isAdmin=cr,S.isTokenExpired=bt,S.layoutRoute=mt,S.local=G,S.localStorageUtil=Oe,S.login=zt,S.logout=Ts,S.mockMenuData=qt,S.permissionDirective=Fr,S.refreshToken=As,S.resetPassword=Tr,S.resetRouter=pr,S.router=pt,S.session=Qt,S.sessionStorageUtil=Fe,S.setApiBaseUrl=Ds,S.setCode=St,S.setRefreshTime=Bt,S.setRefreshToken=wt,S.setToken=Vt,S.setTokenExpire=Ct,S.setTokenInfo=rt,S.setTokenType=yt,S.setupRouterGuards=Br,S.staticRoutes=dt,S.updateMenu=wr,S.updateRole=Nr,S.updateRoleStatus=Vr,S.updateUser=Ir,S.updateUserStatus=Dr,S.useApp=er,S.useAppStore=Se,S.useAuth=tr,S.useAuthStore=Te,S.useForm=nr,S.useI18n=sr,S.useLocaleStore=We,S.useMenuStore=xe,S.useTable=or,S.useUserStore=ke,Object.defineProperty(S,Symbol.toStringTag,{value:"Module"})});