xto-fronted 0.4.92 → 0.4.93

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.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,F,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([]),M=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()},L=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)},P=()=>{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=>{M.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:M,themeClass:$,setAppName:U,setIndexPath:Y,toggleTheme:T,toggleCollapse:x,setTheme:L,setLayout:z,toggleTabs:K,toggleFooter:P,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 M;return((M=l.value)==null?void 0:M.userId)||""}),p=e.computed(()=>{var M;return((M=l.value)==null?void 0:M.userName)||""}),d=e.computed(()=>{var M;return((M=l.value)==null?void 0:M.departmentName)||""}),B=e.computed(()=>{var M;return((M=l.value)==null?void 0:M.email)||""}),V=e.computed(()=>{var M;return((M=l.value)==null?void 0:M.mobilePhone)||""}),h=e.computed(()=>{var M;return((M=l.value)==null?void 0:M.positionName)||""}),w=e.computed(()=>{var M;return((M=l.value)==null?void 0:M.avatar)||""});return{userInfo:l,isLoggedIn:c,userId:g,userName:p,departmentName:d,email:B,mobilePhone:V,positionName:h,avatar:w,setUserInfo:M=>{l.value=M,H.set(et,M)},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),M=e.ref(H.get(It)||[]);e.watch(M,x=>{H.set(It,x)},{deep:!0});const $=(x,z,K=[])=>{var P;for(const i of x){if(z===i.menuUrl||z.startsWith(i.menuUrl+"/"))return[...K,i.menuUrl];if((P=i.children)!=null&&P.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);K?M.value=K.slice(0,-1):M.value=[]}},{immediate:!0});const U=e.computed(()=>h.isDark?"#1d1e1f":"#fff"),Y=e.computed(()=>h.isDark?"#cfd3dc":"#303133"),T=e.computed(()=>"#409eff"),L=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:M.value,"onUpdate:openeds":z[1]||(z[1]=K=>M.value=K),mode:"vertical",collapse:k.value,"collapse-transition":!1,"background-color":U.value,"text-color":Y.value,"active-text-color":T.value,class:"sidebar__menu",onSelect:L},{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-50c184da"]]),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"},Ln={class:"header__search-item-title"},Mn={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"},Lt=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),M=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"}],L=[{value:"#409eff",label:"默认蓝"},{value:"#1890ff",label:"科技蓝"},{value:"#52c41a",label:"极光绿"},{value:"#faad14",label:"日落橙"},{value:"#f5222d",label:"薄暮红"},{value:"#722ed1",label:"酱紫"}],C=e.computed(()=>c.matched.filter(O=>O.meta&&O.meta.title).map(O=>({title:O.meta.title,path:O.path}))),x=(W,O="")=>{const n=[];return W.forEach(t=>{t.children&&t.children.length>0?n.push(...x(t.children,t.menuName)):n.push({...t,parentTitle:O,title:t.menuName,path:t.menuUrl})}),n},z=new Set(["arrow-up","arrow-down","arrow-left","arrow-right","caret-down","caret-right","plus","minus","close","check","edit","delete","copy","download","upload","refresh","search","filter","more","setting","share","loading","info","success","warning","error","question","user","user-add","user-group","logout","login","file","folder","folder-open","document","image","video","music","camera","mail","phone","chat","bell","message","eye","eye-off","calendar","clock","history","timer","location","map","globe","star","heart","thumb-up","link","external-link","lock","unlock","key","home","menu","menu-fold","menu-unfold","sidebar-fold","sidebar-expand","sidebar-left","dashboard","chart","chart-pie","chart-line","report","analytics","system","permission","role","user-manage","log","notification","app","list","grid","fullscreen","fullscreen-exit","zoom-in","zoom-out","print","bookmark","tag","code","terminal","database","server","cloud","gift","moon","sun","theme","skin"]),K=W=>{if(!W||W==="")return"";if(W.startsWith("tineco-icon-")){const n=W.replace("tineco-icon-","");return{home:"home",dashboard:"dashboard",system:"system",user:"user",role:"role",menu:"list",setting:"setting",file:"file",folder:"folder",chart:"chart",report:"report",analytics:"analytics"}[n]||n}return{dashboard:"dashboard",system:"system",user:"user",role:"role",menu:"list",setting:"setting",home:"home",chart:"chart",report:"report",analytics:"analytics",permission:"permission",log:"log",notification:"notification",app:"app",list:"list",grid:"grid"}[W]||W},P=W=>W?W.charAt(0):"",i=W=>z.has(W),_=e.computed(()=>$.value.trim()?x(V.menuList).filter(O=>O.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 O=document.documentElement;W?O.classList.add("grey-mode"):O.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=()=>{M.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")},Le=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",Le),document.addEventListener("fullscreenchange",re),document.addEventListener("keydown",Ce),p.initTheme(),Y.value=document.documentElement.classList.contains("grey-mode")}),e.onUnmounted(()=>{document.removeEventListener("click",Le),document.removeEventListener("fullscreenchange",re),document.removeEventListener("keydown",Ce)}),(W,O)=>{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":O[0]||(O[0]=t=>$.value=t),type:"text",class:"header__search-input",placeholder:"搜索菜单...",onFocus:O[1]||(O[1]=t=>M.value=!0)},null,544),[[e.vModelText,$.value]]),e.createVNode(e.Transition,{name:"search-dropdown"},{default:e.withCtx(()=>[M.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(P(t.title)),1))])):e.createCommentVNode("",!0),e.createElementVNode("span",Ln,e.toDisplayString(t.title),1),t.parentTitle?(e.openBlock(),e.createElementBlock("span",Mn,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)])]),O[7]||(O[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}),O[3]||(O[3]=e.createElementVNode("span",null,"个人信息",-1))]),e.createElementVNode("div",{class:"header__dropdown-item",onClick:I},[e.createVNode(e.unref(A.Icon),{name:"lock",size:16}),O[4]||(O[4]=e.createElementVNode("span",null,"修改密码",-1))]),O[6]||(O[6]=e.createElementVNode("div",{class:"header__dropdown-divider"},null,-1)),e.createElementVNode("div",{class:"header__dropdown-item header__dropdown-item--danger",onClick:Ie},[e.createVNode(e.unref(A.Icon),{name:"logout",size:16}),O[5]||(O[5]=e.createElementVNode("span",null,"退出登录",-1))])])])):e.createCommentVNode("",!0)]}),_:1})],512)]),e.createVNode(e.unref(oe.Drawer),{modelValue:w.value,"onUpdate:modelValue":O[2]||(O[2]=t=>w.value=t),title:"换肤设置",direction:"rtl",size:"320px"},{default:e.withCtx(()=>[e.createElementVNode("div",Hn,[e.createElementVNode("div",Gn,[O[11]||(O[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,[...O[8]||(O[8]=[e.createElementVNode("div",{class:"preview-aside"},null,-1),e.createElementVNode("div",{class:"preview-main"},[e.createElementVNode("div",{class:"preview-header"}),e.createElementVNode("div",{class:"preview-content"})],-1)])])):t.value==="top"?(e.openBlock(),e.createElementBlock("div",Jn,[...O[9]||(O[9]=[e.createElementVNode("div",{class:"preview-header-full"},null,-1),e.createElementVNode("div",{class:"preview-content-full"},null,-1)])])):(e.openBlock(),e.createElementBlock("div",Zn,[...O[10]||(O[10]=[e.createElementVNode("div",{class:"preview-header-mix"},[e.createElementVNode("div",{class:"preview-mix-left"})],-1),e.createElementVNode("div",{class:"preview-mix-body"},[e.createElementVNode("div",{class:"preview-mix-aside"}),e.createElementVNode("div",{class:"preview-mix-content"})],-1)])]))]),e.createElementVNode("span",Qn,e.toDisplayString(t.label),1)],10,Wn)),64))])]),e.createElementVNode("div",vn,[O[12]||(O[12]=e.createElementVNode("div",{class:"settings-title"},"主题色",-1)),e.createElementVNode("div",eo,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(L,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,[O[17]||(O[17]=e.createElementVNode("div",{class:"settings-title"},"功能设置",-1)),e.createElementVNode("div",oo,[e.createElementVNode("div",lo,[O[14]||(O[14]=e.createElementVNode("span",null,"灰色模式",-1)),e.createElementVNode("div",{class:e.normalizeClass(["switch-wrapper",{"is-checked":Y.value}]),onClick:ne},[...O[13]||(O[13]=[e.createElementVNode("span",{class:"switch-core"},null,-1)])],2)]),e.createElementVNode("div",so,[O[16]||(O[16]=e.createElementVNode("span",null,"暗黑模式",-1)),e.createElementVNode("div",{class:e.normalizeClass(["switch-wrapper",{"is-checked":e.unref(p).isDark}]),onClick:se},[...O[15]||(O[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"},Lo={key:0,class:"top-menu__search-dropdown"},Mo={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"),M=e.computed(()=>d.isDark?"#cfd3dc":"#303133"),$=e.computed(()=>"#409eff"),U=e.ref(!1),Y=e.ref(null),T=e.ref(!1),L=e.ref(!1),C=e.ref(!1),x=e.ref(!1),z=e.ref(""),K=e.ref(null),P=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(),L.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=()=>{L.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),L.value=!1},me=()=>{d.toggleTheme(),L.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),L.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),L.value=!1},Le=()=>{ne(),g.push("/profile")},Ce=()=>{ne(),g.push("/change-password")},W=()=>{ne(),V.logout(),B.clearUserInfo(),p.clearMenu(),g.push("/login")},O=t=>{Y.value&&!Y.value.contains(t.target)&&ne(),K.value&&!K.value.contains(t.target)&&se()},n=t=>{t.key==="Escape"&&(se(),ne())};return e.onMounted(()=>{document.addEventListener("click",O),document.addEventListener("fullscreenchange",Z),document.addEventListener("keydown",n),C.value=document.documentElement.classList.contains("grey-mode")}),e.onUnmounted(()=>{document.removeEventListener("click",O),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":M.value,"active-text-color":$.value,class:"top-menu__menu",onSelect:P},{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",Lo,[k.value.length>0?(e.openBlock(),e.createElementBlock("div",Mo,[(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:Le},[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:L.value,"onUpdate:modelValue":s[2]||(s[2]=o=>L.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"},Ll={key:0,class:"mix-top-menu__dropdown"},Ml={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)||[]}),M=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)))),$=()=>{M.value?h.value=M.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"),L=e.computed(()=>"#409eff"),C=e.ref(!1),x=e.ref(null),z=e.ref(!1),K=e.ref(!1),P=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=>{P.value=o;const r=document.documentElement;o?r.classList.add("grey-mode"):r.classList.remove("grey-mode")},Ve=()=>{Se(!P.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),Le=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},O=()=>{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),P.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":L.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",Ll,[e.createElementVNode("div",Ml,[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:O},[e.createVNode(e.unref(A.Icon),{name:"user",size:16}),r[4]||(r[4]=e.createElementVNode("span",null,"个人信息",-1))]),e.createElementVNode("div",{class:"mix-top-menu__dropdown-item",onClick:n},[e.createVNode(e.unref(A.Icon),{name:"lock",size:16}),r[5]||(r[5]=e.createElementVNode("span",null,"修改密码",-1))]),r[7]||(r[7]=e.createElementVNode("div",{class:"mix-top-menu__dropdown-divider"},null,-1)),e.createElementVNode("div",{class:"mix-top-menu__dropdown-item mix-top-menu__dropdown-item--danger",onClick:t},[e.createVNode(e.unref(A.Icon),{name:"logout",size:16}),r[6]||(r[6]=e.createElementVNode("span",null,"退出登录",-1))])])])):e.createCommentVNode("",!0)]}),_:1})],512)]),e.createVNode(e.unref(oe.Drawer),{modelValue:K.value,"onUpdate:modelValue":r[2]||(r[2]=a=>K.value=a),title:"换肤设置",direction:"rtl",size:"320px"},{default:e.withCtx(()=>[e.createElementVNode("div",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=>Le(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":P.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(Lt)]),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(M=>M.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:{}},Mt={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,M=[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 Le(arguments,-1)},I.minimum=I.min=function(){return Le(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=M[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(P(L(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?P(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=P(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=L(n.c),m=f==1||f==2&&(u<=ne||u>=se)?K(m,u):P(m,u,"0");else if(n=W(new I(n),t,s),r=n.e,m=L(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=P(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 Le(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=M;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 O(n){var t,s=n.e;return s===null?n.toString():(t=L(n.c),t=s<=ne||s>=se?K(t,s):P(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: "+O(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(+O(S),a?n.s*(2-z(n)):+O(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(+O(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=+O(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(+O(r)),a==0||a==1/0?(t=L(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))),L(o.c).slice(0,a)===(t=L(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: ")+O(a));if(!v)return new I(j);for(t=new I(ee),E=s=new I(ee),f=m=new I(ee),R=L(v),r=t.e=R.length-j.e-1,t.c[0]=M[(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+O(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(L(s.c),o):P(L(s.c),o,"0"):n===10&&$e?(s=W(new I(s),Z+o+1,q),t=P(L(s.c),s.e,"0")):(x(n,2,Ve.length,"Base"),t=G(P(L(s.c),o,"0"),10,n,f,!0)),f<0&&s.c[0]&&(t="-"+t)),t},D.valueOf=D.toJSON=function(){return O(this)},D._isBigNumber=!0,i!=null&&I.set(i),I}function T(i){var _=i|0;return i>0||i===_?_:_-1}function L(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 P(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(M){var $=V[M];return typeof $=="string"?$:"\\u"+("0000"+M.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+y+'"'}function k(y,M){var $,U,Y,T,L=d,C,x=M[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(M,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?`[
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
2
  `+d+C.join(`,
3
3
  `+d)+`
4
- `+L+"]":"["+C.join(",")+"]",d=L,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 P=k(K,x);P&&C.push(w(K)+(d?": ":":")+P)});return Y=C.length===0?"{}":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
5
  `+d+C.join(`,
6
6
  `+d)+`
7
- `+L+"}":"{"+C.join(",")+"}",d=L,Y}}typeof g.stringify!="function"&&(g.stringify=function(y,M,$){var U;if(d="",B="",typeof $=="number")for(U=0;U<$;U+=1)B+=" ";else typeof $=="string"&&(B=$);if(h=M,M&&typeof M!="function"&&(typeof M!="object"||typeof M.length!="number"))throw new Error("JSON.stringify");return k("",{"":y})})})()})(Mt);var xs=Mt.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,L="";for(p==="-"&&(L="-",h("-"));p>="0"&&p<="9";)L+=p,h();if(p===".")for(L+=".";h()&&p>="0"&&p<="9";)L+=p;if(p==="e"||p==="E")for(L+=p,h(),(p==="-"||p==="+")&&(L+=p,h());p>="0"&&p<="9";)L+=p,h();if(T=+L,!isFinite(T))V("Bad number");else return Ke==null&&(Ke=Tt),L.length>15?c.storeAsString?L:c.useNativeBigInt?BigInt(L):new Ke(L):c.alwaysParseAsBig?c.useNativeBigInt?BigInt(T):new Ke(T):T},k=function(){var T,L,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,L=0;L<4&&(T=parseInt(h(),16),!!isFinite(T));L+=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()},M=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,L=Object.create(null);if(p==="{"){if(h("{"),y(),p==="}")return h("}"),L;for(;p;){if(T=k(),y(),h(":"),c.strict===!0&&Object.hasOwnProperty.call(L,T)&&V('Duplicate key "'+T+'"'),Cs.test(T)===!0?c.protoAction==="error"?V("Object contains forbidden prototype property"):c.protoAction==="ignore"?$():L[T]=$():Bs.test(T)===!0?c.constructorAction==="error"?V("Object contains forbidden constructor property"):c.constructorAction==="ignore"?$():L[T]=$():L[T]=$(),y(),p==="}")return h("}"),L;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():M()}},function(T,L){var C;return B=T+"",g=0,p=" ",C=$(),y(),p&&V("Syntax error"),typeof L=="function"?function x(z,K){var P,i=z[K];return i&&typeof i=="object"&&Object.keys(i).forEach(function(_){P=x(i,_),P!==void 0?i[_]=P:delete i[_]}),L.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 Ls(l){zt=l,Me&&(Me.defaults.baseURL=l)}const Me=(()=>{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 Me.get(l,c)},post(l,c,g){return Me.post(l,c,g)},put(l,c,g){return Me.put(l,c,g)},patch(l,c,g){return Me.patch(l,c,g)},delete(l,c){return Me.delete(l,c)},download(l,c){return Me.get(l,{...c,responseType:"blob"})}};function Ot(l){return le.post("/user/v1.0/login/by-domain",l)}function Ms(){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 M=g.query.redirect||"/";c.push(M)}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(F.Form),{ref_key:"formRef",ref:h,model:B,rules:V,class:"login-form","label-width":"0"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.FormItem),{prop:"uid"},{default:e.withCtx(()=>[e.createElementVNode("div",zs,[y[3]||(y[3]=e.createElementVNode("label",{class:"input-label"},"用户名",-1)),e.createVNode(e.unref(F.Input),{modelValue:B.uid,"onUpdate:modelValue":y[0]||(y[0]=M=>B.uid=M),placeholder:"请输入用户名",size:"large"},{prefix:e.withCtx(()=>[e.createVNode(e.unref(A.Icon),{name:"user",size:18})]),_:1},8,["modelValue"])])]),_:1}),e.createVNode(e.unref(F.FormItem),{prop:"password"},{default:e.withCtx(()=>[e.createElementVNode("div",Os,[y[4]||(y[4]=e.createElementVNode("label",{class:"input-label"},"密码",-1)),e.createVNode(e.unref(F.Input),{modelValue:B.password,"onUpdate:modelValue":y[1]||(y[1]=M=>B.password=M),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(F.Checkbox),{modelValue:d.value,"onUpdate:modelValue":y[2]||(y[2]=M=>d.value=M)},{default:e.withCtx(()=>[...y[5]||(y[5]=[e.createTextVNode("记住我",-1)])]),_:1},8,["modelValue"]),y[6]||(y[6]=e.createElementVNode("a",{href:"#",class:"forgot-link"},"忘记密码?",-1))]),e.createVNode(e.unref(F.FormItem),null,{default:e.withCtx(()=>[e.createVNode(e.unref(A.Button),{type:"primary",size:"large",loading: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},M=()=>{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:M,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)),M()}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 L={...w,page:V.value,pageSize:h.value},C=await c(L);d.value=C.list,B.value=C.total}catch(L){console.error(L)}finally{p.value=!1}},y=()=>{V.value=1,k()},M=()=>{Object.keys(w).forEach(L=>{w[L]=void 0}),V.value=1,k()},$=L=>{V.value=L,k()},U=L=>{h.value=L,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:M,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 Lr(l,c){return le.patch(`/user/${l}/status`,{status:c})}function Mr(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"},La={class:"user-nickname"},Ma={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:[]}),M={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 P=[...c];h.keyword&&(P=P.filter(i=>i.username.includes(h.keyword)||i.nickname.includes(h.keyword))),h.status!==void 0&&(P=P.filter(i=>i.status===h.status)),d.value=P.length,p.value=P.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()},L=()=>{Object.assign(y,{id:0,username:"",nickname:"",email:"",phone:"",status:X.ENABLED,roles:[]}),w.value=!0},C=P=>{Object.assign(y,P),w.value=!0},x=P=>{oe.Message.success("删除成功"),U()},z=async()=>{var P;try{await((P=$.value)==null?void 0:P.validate()),oe.Message.success(y.id?"编辑成功":"新增成功"),w.value=!1,U()}catch(i){console.error(i)}},K=P=>{oe.Message.success(`已${P.status===X.ENABLED?"启用":"禁用"}用户 ${P.username}`)};return e.onMounted(()=>{U()}),(P,i)=>(e.openBlock(),e.createElementBlock("div",ua,[e.createElementVNode("div",ha,[e.createVNode(e.unref(F.Form),{model:h,inline:"",class:"search-form"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.FormItem),{label:"关键词"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.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(F.FormItem),{label:"状态"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.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(F.FormItem),null,{default:e.withCtx(()=>[e.createVNode(e.unref(A.Space),null,{default:e.withCtx(()=>[e.createVNode(e.unref(A.Button),{type:"primary",onClick:Y},{icon:e.withCtx(()=>[...i[11]||(i[11]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("circle",{cx:"11",cy:"11",r:"8"}),e.createElementVNode("path",{d:"M21 21l-4.35-4.35"})],-1)])]),default:e.withCtx(()=>[i[12]||(i[12]=e.createTextVNode(" 搜索 ",-1))]),_:1}),e.createVNode(e.unref(A.Button),{onClick:T},{icon:e.withCtx(()=>[...i[13]||(i[13]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("path",{d:"M3 12a9 9 0 109-9 9.75 9.75 0 00-6.74 2.74L3 8"}),e.createElementVNode("path",{d:"M3 3v5h5"})],-1)])]),default:e.withCtx(()=>[i[14]||(i[14]=e.createTextVNode(" 重置 ",-1))]),_:1})]),_:1})]),_:1})]),_:1},8,["model"])]),e.createElementVNode("div",ga,[e.createElementVNode("div",Na,[e.createElementVNode("div",_a,[e.createVNode(e.unref(A.Button),{type:"primary",onClick:L},{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",La,e.toDisplayString(_.nickname),1),e.createElementVNode("span",Ma,"@"+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(F.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(F.Form),{ref_key:"formRef",ref:$,model:y,rules:M,"label-width":"80px",class:"user-form"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.FormItem),{label:"用户名",prop:"username"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.Input),{modelValue:y.username,"onUpdate:modelValue":i[4]||(i[4]=_=>y.username=_),placeholder:"请输入用户名"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(F.FormItem),{label:"昵称",prop:"nickname"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.Input),{modelValue:y.nickname,"onUpdate:modelValue":i[5]||(i[5]=_=>y.nickname=_),placeholder:"请输入昵称"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(F.FormItem),{label:"邮箱",prop:"email"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.Input),{modelValue:y.email,"onUpdate:modelValue":i[6]||(i[6]=_=>y.email=_),placeholder:"请输入邮箱"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(F.FormItem),{label:"手机号",prop:"phone"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.Input),{modelValue:y.phone,"onUpdate:modelValue":i[7]||(i[7]=_=>y.phone=_),placeholder:"请输入手机号"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(F.FormItem),{label:"状态"},{default:e.withCtx(()=>[e.createElementVNode("div",Ga,[e.createVNode(e.unref(F.Switch),{modelValue:y.status,"onUpdate:modelValue":i[8]||(i[8]=_=>y.status=_),"active-value":e.unref(X).ENABLED,"inactive-value":e.unref(X).DISABLED},null,8,["modelValue","active-value","inactive-value"]),e.createElementVNode("span",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:[]}),M={name:[{required:!0,message:"请输入角色名称",trigger:"blur"}],code:[{required:!0,message:"请输入角色编码",trigger:"blur"}]},$=e.ref(),U=()=>{g.value=!0,setTimeout(()=>{let P=[...c];h.keyword&&(P=P.filter(i=>i.name.includes(h.keyword)||i.code.includes(h.keyword))),h.status!==void 0&&(P=P.filter(i=>i.status===h.status)),d.value=P.length,p.value=P.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()},L=()=>{Object.assign(y,{id:0,name:"",code:"",description:"",status:X.ENABLED,permissions:[]}),w.value=!0},C=P=>{Object.assign(y,P),w.value=!0},x=P=>{oe.Message.success("删除成功"),U()},z=async()=>{var P;try{await((P=$.value)==null?void 0:P.validate()),oe.Message.success(y.id?"编辑成功":"新增成功"),w.value=!1,U()}catch(i){console.error(i)}},K=P=>{oe.Message.success(`已${P.status===X.ENABLED?"启用":"禁用"}角色 ${P.name}`)};return e.onMounted(()=>{U()}),(P,i)=>(e.openBlock(),e.createElementBlock("div",Wa,[e.createElementVNode("div",Xa,[e.createVNode(e.unref(F.Form),{model:h,inline:"",class:"search-form"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.FormItem),{label:"关键词"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.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(F.FormItem),{label:"状态"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.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(F.FormItem),null,{default:e.withCtx(()=>[e.createVNode(e.unref(A.Space),null,{default:e.withCtx(()=>[e.createVNode(e.unref(A.Button),{type:"primary",onClick:Y},{icon:e.withCtx(()=>[...i[10]||(i[10]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("circle",{cx:"11",cy:"11",r:"8"}),e.createElementVNode("path",{d:"M21 21l-4.35-4.35"})],-1)])]),default:e.withCtx(()=>[i[11]||(i[11]=e.createTextVNode(" 搜索 ",-1))]),_:1}),e.createVNode(e.unref(A.Button),{onClick:T},{icon:e.withCtx(()=>[...i[12]||(i[12]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("path",{d:"M3 12a9 9 0 109-9 9.75 9.75 0 00-6.74 2.74L3 8"}),e.createElementVNode("path",{d:"M3 3v5h5"})],-1)])]),default:e.withCtx(()=>[i[13]||(i[13]=e.createTextVNode(" 重置 ",-1))]),_:1})]),_:1})]),_:1})]),_:1},8,["model"])]),e.createElementVNode("div",Ya,[e.createElementVNode("div",Ja,[e.createElementVNode("div",Za,[e.createVNode(e.unref(A.Button),{type:"primary",onClick:L},{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(F.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(F.Form),{ref_key:"formRef",ref:$,model:y,rules:M,"label-width":"80px",class:"role-form"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.FormItem),{label:"角色名称",prop:"name"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.Input),{modelValue:y.name,"onUpdate:modelValue":i[4]||(i[4]=_=>y.name=_),placeholder:"请输入角色名称"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(F.FormItem),{label:"角色编码",prop:"code"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.Input),{modelValue:y.code,"onUpdate:modelValue":i[5]||(i[5]=_=>y.code=_),placeholder:"请输入角色编码"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(F.FormItem),{label:"描述"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.Input),{modelValue:y.description,"onUpdate:modelValue":i[6]||(i[6]=_=>y.description=_),placeholder:"请输入描述"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(F.FormItem),{label:"状态"},{default:e.withCtx(()=>[e.createElementVNode("div",Ni,[e.createVNode(e.unref(F.Switch),{modelValue:y.status,"onUpdate:modelValue":i[7]||(i[7]=_=>y.status=_),"active-value":e.unref(X).ENABLED,"inactive-value":e.unref(X).DISABLED},null,8,["modelValue","active-value","inactive-value"]),e.createElementVNode("span",_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"},Li={class:"menu-info"},Mi={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=(L=null)=>{Object.assign(V,{id:0,parentId:L,name:"",path:"",component:"",redirect:"",icon:"",title:"",type:_e.MENU,sort:0,status:X.ENABLED,hidden:!1,keepAlive:!0}),d.value=!0},M=L=>{Object.assign(V,L),d.value=!0},$=async()=>{var L;try{await((L=w.value)==null?void 0:L.validate()),oe.Message.success(V.id?"编辑成功":"新增成功"),d.value=!1,k()}catch(C){console.error(C)}},U=L=>({dashboard:"📊",system:"⚙️",user:"👤",role:"👥",menu:"📋",setting:"🔧"})[L||""]||"📄",Y=L=>{switch(L){case _e.DIRECTORY:return"primary";case _e.MENU:return"success";default:return"warning"}},T=L=>{switch(L){case _e.DIRECTORY:return"目录";case _e.MENU:return"菜单";default:return"按钮"}};return e.onMounted(()=>{k()}),(L,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",Li,[e.createElementVNode("span",Mi,e.toDisplayString(U(x.icon)),1),e.createElementVNode("span",{class:"menu-title",onClick:z=>M(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=>M(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=>M(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=>M(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(F.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(F.FormItem),{label:"上级菜单",class:"form-item-full"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.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(F.FormItem),{label:"菜单类型"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.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(F.FormItem),{label:"排序"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.InputNumber),{modelValue:V.sort,"onUpdate:modelValue":C[3]||(C[3]=x=>V.sort=x),min:0},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(F.FormItem),{label:"菜单名称",prop:"name"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.Input),{modelValue:V.name,"onUpdate:modelValue":C[4]||(C[4]=x=>V.name=x),placeholder:"请输入菜单名称(路由name)"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(F.FormItem),{label:"菜单标题",prop:"title"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.Input),{modelValue:V.title,"onUpdate:modelValue":C[5]||(C[5]=x=>V.title=x),placeholder:"请输入菜单标题"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(F.FormItem),{label:"路由路径",prop:"path",class:"form-item-full"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.Input),{modelValue:V.path,"onUpdate:modelValue":C[6]||(C[6]=x=>V.path=x),placeholder:"请输入路由路径"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(F.FormItem),{label:"组件路径",class:"form-item-full"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.Input),{modelValue:V.component,"onUpdate:modelValue":C[7]||(C[7]=x=>V.component=x),placeholder:"请输入组件路径"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(F.FormItem),{label:"图标"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.Input),{modelValue:V.icon,"onUpdate:modelValue":C[8]||(C[8]=x=>V.icon=x),placeholder:"请输入图标名称"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(F.FormItem),{label:"状态"},{default:e.withCtx(()=>[e.createElementVNode("div",oc,[e.createVNode(e.unref(F.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(F.FormItem),{label:"隐藏"},{default:e.withCtx(()=>[e.createElementVNode("div",sc,[e.createVNode(e.unref(F.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(F.FormItem),{label:"缓存"},{default:e.withCtx(()=>[e.createElementVNode("div",ac,[e.createVNode(e.unref(F.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=Lt,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=Ms,b.mockMenuData=jt,b.permissionDirective=zr,b.refreshToken=Ds,b.resetPassword=Mr,b.resetRouter=dr,b.router=ft,b.session=vt,b.sessionStorageUtil=Fe,b.setApiBaseUrl=Ls,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=Lr,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"})});
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"})});