xto-fronted 0.4.96 → 0.4.97
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-Bmb0rt9C.js +641 -0
- package/dist/index-C1j4f3mM.js +479 -0
- package/dist/index-C3K89jzC.js +515 -0
- package/dist/index-Ccp6zfq-.js +4290 -0
- package/dist/index-DHH8Os_2.js +189 -0
- package/dist/index.es.js +1 -1
- package/dist/index.umd.js +4 -4
- package/package.json +1 -1
- package/src/router/layoutRoute.ts +10 -2
package/dist/index.umd.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
(function(S,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("pinia"),require("vue-router"),require("@xto/navigation"),require("@xto/base"),require("@xto/feedback"),require("@xto/form"),require("axios"),require("@xto/core/locale"),require("@xto/data")):typeof define=="function"&&define.amd?define(["exports","vue","pinia","vue-router","@xto/navigation","@xto/base","@xto/feedback","@xto/form","axios","@xto/core/locale","@xto/data"],e):(S=typeof globalThis<"u"?globalThis:S||self,e(S.XtoFronted={},S.Vue,S.Pinia,S.VueRouter,S.navigation,S.base,S.feedback,S.form,S.axios,S.locale$1,S.data))})(this,function(S,e,Ae,ie,Ne,A,ne,O,Jt,Ye,we){"use strict";const qe=e.ref(""),je=e.ref(""),He=e.ref("");function gt(o){o.appId&&(qe.value=o.appId),o.clientId&&(je.value=o.clientId),o.apiBaseUrl&&(He.value=o.apiBaseUrl)}function Ue(){if(qe.value)return qe.value;try{return""}catch{return""}}function Je(){if(je.value)return je.value;try{return""}catch{return""}}function _t(){if(He.value)return He.value;try{return""}catch{return""}}const Zt={appId:qe,clientId:je,apiBaseUrl:He},ze="xto_",Nt=o=>({get(p){const g=o.getItem(ze+p);if(!g)return null;try{return JSON.parse(g)}catch{return g}},set(p,g){if(g==null){o.removeItem(ze+p);return}const f=typeof g=="string"?g:JSON.stringify(g);o.setItem(ze+p,f)},remove(p){o.removeItem(ze+p)},clear(){Object.keys(o).forEach(g=>{g.startsWith(ze)&&o.removeItem(g)})}}),Oe=Nt(window.localStorage),Fe=Nt(window.sessionStorage),G={get:Oe.get,set:Oe.set,remove:Oe.remove,clear:Oe.clear},Qt={get:Fe.get,set:Fe.set,remove:Fe.remove,clear:Fe.clear},Se=Ae.defineStore("app",()=>{const o=e.ref(G.get("appName")||"XTO App"),p=e.ref(G.get("indexPath")||"/dashboard"),g=e.ref(G.get("isDark")||!1),f=e.ref(G.get("theme")||"light"),h=e.ref(G.get("layout")||"sidebar"),V=e.ref(G.get("isCollapsed")||!1),_=e.ref(G.get("showTabs")??!0),u=e.ref(G.get("showFooter")??!0),w=e.ref(G.get("showBreadcrumb")??!0),x=e.ref(G.get("primaryColor")||"#409eff"),y=e.ref([]),I=e.ref([]),$=e.computed(()=>g.value?"dark":"light"),z=q=>{o.value=q,G.set("appName",q)},K=q=>{p.value=q,G.set("indexPath",q)},T=()=>{g.value=!g.value,f.value=g.value?"dark":"light",B()},L=q=>{f.value=q,g.value=q==="dark",B()},B=()=>{const q=document.documentElement;g.value?q.classList.add("dark"):q.classList.remove("dark"),G.set("isDark",g.value),G.set("theme",f.value)},C=()=>{V.value=!V.value,G.set("isCollapsed",V.value)},P=q=>{h.value=q,G.set("layout",q)},Y=()=>{_.value=!_.value,G.set("showTabs",_.value)},U=()=>{u.value=!u.value,G.set("showFooter",u.value)},d=()=>{w.value=!w.value,G.set("showBreadcrumb",w.value)},k=q=>{x.value=q,document.documentElement.style.setProperty("--color-primary",q),G.set("primaryColor",q)},R=q=>{y.value.includes(q)||y.value.push(q)},J=q=>{const le=y.value.indexOf(q);le>-1&&y.value.splice(le,1)},D=()=>{y.value=[]},ee=q=>{I.value=q},Z=()=>{B(),x.value!=="#409eff"&&document.documentElement.style.setProperty("--color-primary",x.value)};return e.watch(g,B),{appName:o,indexPath:p,isDark:g,theme:f,layout:h,isCollapsed:V,showTabs:_,showFooter:u,showBreadcrumb:w,primaryColor:x,cachedViews:y,mixSubMenus:I,themeClass:$,setAppName:z,setIndexPath:K,toggleTheme:T,toggleCollapse:C,setTheme:L,setLayout:P,toggleTabs:Y,toggleFooter:U,toggleBreadcrumb:d,setPrimaryColor:k,addCachedView:R,removeCachedView:J,clearCachedViews:D,setMixSubMenus:ee,initTheme:Z}}),Ze="menu_list",Qe="permission_list",vt={menuCode:"home",menuName:"首页",menuUrl:"/dashboard",icon:"home",closable:!1,isDefault:!1,isOut:!1};function Et(o){return o.filter(p=>p.type!==1).map(p=>({...p,children:p.children?Et(p.children):void 0}))}function en(o){const p=[];function g(f){f.forEach(h=>{h.type===1&&h.menuCode&&p.push(h.menuCode),h.children&&g(h.children)})}return g(o),p}const xe=Ae.defineStore("menu",()=>{const o=e.ref(G.get(Ze)||[]),p=e.ref(G.get(Qe)||[]),g=e.computed(()=>o.value.length>0);return{menuList:o,permissions:p,hasMenu:g,setMenuList:_=>{p.value=en(_),G.set(Qe,p.value);const u=Et(_);o.value=[vt,...u],G.set(Ze,o.value)},clearMenu:()=>{o.value=[],p.value=[],G.remove(Ze),G.remove(Qe)},hasPermission:_=>Array.isArray(_)?_.some(u=>p.value.includes(u)):p.value.includes(_)}}),ve="user_info",ke=Ae.defineStore("user",()=>{const o=e.ref(G.get(ve)),p=e.computed(()=>!!o.value),g=e.computed(()=>{var I;return((I=o.value)==null?void 0:I.userId)||""}),f=e.computed(()=>{var I;return((I=o.value)==null?void 0:I.userName)||""}),h=e.computed(()=>{var I;return((I=o.value)==null?void 0:I.departmentName)||""}),V=e.computed(()=>{var I;return((I=o.value)==null?void 0:I.email)||""}),_=e.computed(()=>{var I;return((I=o.value)==null?void 0:I.mobilePhone)||""}),u=e.computed(()=>{var I;return((I=o.value)==null?void 0:I.positionName)||""}),w=e.computed(()=>{var I;return((I=o.value)==null?void 0:I.avatar)||""});return{userInfo:o,isLoggedIn:p,userId:g,userName:f,departmentName:h,email:V,mobilePhone:_,positionName:u,avatar:w,setUserInfo:I=>{o.value=I,G.set(ve,I)},clearUserInfo:()=>{o.value=null,G.remove(ve)}}}),et="token",tt="token_type",nt="refresh_token",ot="expires_time",lt="refresh_time",st="code",Pe=()=>G.get(et),Vt=o=>{G.set(et,o)},kt=()=>G.get(tt),yt=o=>{G.set(tt,o)},tn=()=>G.get(nt),wt=o=>{G.set(nt,o)},xt=()=>G.get(ot),Ct=o=>{G.set(ot,o)},nn=()=>G.get(lt),Bt=o=>{G.set(lt,o)},on=()=>G.get(st),St=o=>{G.set(st,o)},rt=o=>{Vt(o.access_token),yt(o.token_type||"Bearer"),wt(o.refresh_token),Ct(o.expires_time),Bt(o.refresh_time),o.code&&St(o.code)},De=()=>{G.remove(et),G.remove(tt),G.remove(nt),G.remove(ot),G.remove(lt),G.remove(st)},bt=()=>{const o=xt();return o?Date.now()>o:!0},at=()=>!!Pe()&&!bt(),Te=Ae.defineStore("auth",()=>{const o=e.ref(Pe()),p=e.computed(()=>at()),g=e.ref(""),f=e.ref(""),h=e.ref(""),V=e.ref("/login");return{token:o,isLoggedIn:p,baseUrl:g,appId:f,clientId:h,loginPath:V,login:$=>{o.value=$.access_token,rt($)},logout:()=>{o.value=null,De()},setBaseUrl:$=>{g.value=$},setAppId:$=>{f.value=$},setClientId:$=>{h.value=$},setLoginPath:$=>{V.value=$}}}),ln={class:"menu-item__content"},sn={class:"menu-item__icon"},rn={key:1,class:"menu-item__char"},an={class:"menu-item__text"},cn={class:"menu-item__content"},dn={key:0,class:"menu-item__icon"},mn={key:1,class:"menu-item__char"},pn={class:"menu-item__text"},fn=e.defineComponent({__name:"SidebarMenuItem",props:{menu:{}},setup(o){const p=o,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"]),f=u=>{if(!u||u==="")return"";if(u.startsWith("tineco-icon-")){const x=u.replace("tineco-icon-","");return{home:"home",dashboard:"dashboard",system:"system",user:"user",role:"role",menu:"list",setting:"setting",file:"file",folder:"folder",chart:"chart",report:"report",analytics:"analytics"}[x]||x}return{dashboard:"dashboard",system:"system",user:"user",role:"role",menu:"list",setting:"setting",home:"home",chart:"chart",report:"report",analytics:"analytics",permission:"permission",log:"log",notification:"notification",app:"app",list:"list",grid:"grid"}[u]||u},h=u=>u?u.charAt(0):"",V=u=>g.has(u),_=e.computed(()=>p.menu.children&&p.menu.children.length>0);return(u,w)=>{const x=e.resolveComponent("SidebarMenuItem",!0);return _.value?(e.openBlock(),e.createBlock(e.unref(Ne.SubMenu),{key:0,index:o.menu.menuUrl},{title:e.withCtx(()=>[e.createElementVNode("span",ln,[e.createElementVNode("span",sn,[V(f(o.menu.icon))?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:f(o.menu.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",rn,e.toDisplayString(h(o.menu.menuName)),1))]),e.createElementVNode("span",an,e.toDisplayString(o.menu.menuName),1)])]),default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.menu.children,y=>(e.openBlock(),e.createBlock(x,{key:y.menuUrl,menu:y},null,8,["menu"]))),128))]),_:1},8,["index"])):(e.openBlock(),e.createBlock(e.unref(Ne.MenuItem),{key:1,index:o.menu.menuUrl},{default:e.withCtx(()=>[e.createElementVNode("span",cn,[o.menu.menuName!=="首页"?(e.openBlock(),e.createElementBlock("span",dn,[V(f(o.menu.icon))?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:f(o.menu.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",mn,e.toDisplayString(h(o.menu.menuName)),1))])):e.createCommentVNode("",!0),e.createElementVNode("span",pn,e.toDisplayString(o.menu.menuName),1)])]),_:1},8,["index"]))}}}),ge=(o,p)=>{const g=o.__vccOpts||o;for(const[f,h]of p)g[f]=h;return g},un=ge(fn,[["__scopeId","data-v-27c9479b"]]),hn={key:0,class:"sidebar__logo"},gn=["src"],_n={key:1,class:"sidebar__user"},Nn={class:"sidebar__user-info"},En={class:"sidebar__user-name"},Vn={class:"sidebar__user-role"},$t="sidebar_opened_menus",it=ge(e.defineComponent({__name:"Sidebar",props:{menuList:{default:()=>[]},showLogo:{type:Boolean,default:!0},showUser:{type:Boolean,default:!0},logoSrc:{default:"/vite.svg"}},setup(o){const p=o,g=ie.useRoute(),f=ie.useRouter(),h=xe(),V=ke(),_=Te(),u=Se(),w=e.computed(()=>p.menuList.length>0?p.menuList:h.menuList),x=e.computed(()=>u.isCollapsed),y=e.computed(()=>g.path),I=e.ref(G.get($t)||[]);e.watch(I,C=>{G.set($t,C)},{deep:!0});const $=(C,P,Y=[])=>{var U;for(const d of C){if(P===d.menuUrl||P.startsWith(d.menuUrl+"/"))return[...Y,d.menuUrl];if((U=d.children)!=null&&U.length){const k=$(d.children,P,[...Y,d.menuUrl]);if(k)return k}}return null};e.watch([()=>g.path,w],([C,P])=>{if(P.length>0){const Y=$(P,C);if(Y){const U=Y.slice(0,-1),d=new Set([...I.value,...U]);I.value=Array.from(d)}}},{immediate:!0});const z=e.computed(()=>u.isDark?"#1d1e1f":"#fff"),K=e.computed(()=>u.isDark?"#cfd3dc":"#303133"),T=e.computed(()=>"#409eff"),L=C=>{C&&C!==g.path&&f.push(C)},B=()=>{_.logout(),V.clearUserInfo(),h.clearMenu(),f.push("/login")};return(C,P)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["sidebar",{"sidebar--collapsed":x.value}])},[p.showLogo?(e.openBlock(),e.createElementBlock("div",hn,[e.createElementVNode("img",{src:p.logoSrc,alt:"Logo",class:"sidebar__logo-img"},null,8,gn),e.withDirectives(e.createElementVNode("span",{class:"sidebar__logo-text"},e.toDisplayString(e.unref(u).appName),513),[[e.vShow,!x.value]])])):e.createCommentVNode("",!0),e.createVNode(e.unref(Ne.Menu),{modelValue:y.value,"onUpdate:modelValue":P[0]||(P[0]=Y=>y.value=Y),openeds:I.value,"onUpdate:openeds":P[1]||(P[1]=Y=>I.value=Y),mode:"vertical",collapse:x.value,"collapse-transition":!1,"background-color":z.value,"text-color":K.value,"active-text-color":T.value,class:"sidebar__menu",onSelect:L},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(w.value,Y=>(e.openBlock(),e.createBlock(un,{key:Y.menuUrl,menu:Y},null,8,["menu"]))),128))]),_:1},8,["modelValue","openeds","collapse","background-color","text-color","active-text-color"]),p.showUser&&!x.value?(e.openBlock(),e.createElementBlock("div",_n,[e.createElementVNode("div",Nn,[e.createElementVNode("span",En,e.toDisplayString(e.unref(V).userName),1),e.createElementVNode("span",Vn,e.toDisplayString(e.unref(V).departmentName),1)]),e.createVNode(e.unref(A.Button),{type:"text",size:"small",onClick:B},{default:e.withCtx(()=>[...P[2]||(P[2]=[e.createTextVNode("退出",-1)])]),_:1})])):e.createCommentVNode("",!0)],2))}}),[["__scopeId","data-v-9cdb8060"]]),kn={class:"header"},yn={class:"header__left"},wn={key:0,class:"header__breadcrumb"},xn={key:0,class:"breadcrumb-separator"},Cn={class:"header__right"},Bn={key:0,class:"header__search-dropdown"},Sn={key:0,class:"header__search-results"},bn=["onClick"],$n={key:0,class:"header__search-icon"},In={key:1,class:"header__search-char"},Mn={class:"header__search-item-title"},Ln={key:1,class:"header__search-item-parent"},Dn={key:1,class:"header__search-empty"},Tn=["title"],An={class:"header__avatar"},Un={class:"header__user-name"},zn={key:0,class:"header__dropdown"},On={class:"header__dropdown-header"},Fn={class:"header__dropdown-avatar"},Pn={class:"header__dropdown-info"},Rn={class:"header__dropdown-name"},qn={class:"header__dropdown-role"},jn={class:"header__dropdown-menu"},Hn={class:"settings-drawer"},Gn={class:"settings-section"},Kn={class:"settings-layout-options"},Wn=["onClick"],Xn={class:"layout-option__preview"},Yn={key:0,class:"layout-preview-sidebar"},Jn={key:1,class:"layout-preview-top"},Zn={key:2,class:"layout-preview-mix"},Qn={class:"layout-option__label"},vn={class:"settings-section"},eo={class:"settings-color-options"},to=["title","onClick"],no={class:"settings-section"},oo={class:"settings-switch-list"},lo={class:"settings-switch-item"},so={class:"settings-switch-item"},It=ge(e.defineComponent({__name:"Header",setup(o){const p=ie.useRoute(),g=ie.useRouter(),f=Se(),h=ke(),V=Te(),_=xe(),u=e.ref(!1),w=e.ref(!1),x=e.ref(null),y=e.ref(!1),I=e.ref(!1),$=e.ref(""),z=e.ref(null),K=e.ref(!1),T=[{value:"sidebar",label:"左侧菜单",icon:"sidebar-left"},{value:"top",label:"顶部菜单",icon:"menu"},{value:"mix",label:"混合菜单",icon:"grid"}],L=[{value:"#409eff",label:"默认蓝"},{value:"#1890ff",label:"科技蓝"},{value:"#52c41a",label:"极光绿"},{value:"#faad14",label:"日落橙"},{value:"#f5222d",label:"薄暮红"},{value:"#722ed1",label:"酱紫"}],B=e.computed(()=>p.matched.filter(F=>F.meta&&F.meta.title).map(F=>({title:F.meta.title,path:F.path}))),C=(W,F="")=>{const t=[];return W.forEach(n=>{n.children&&n.children.length>0?t.push(...C(n.children,n.menuName)):t.push({...n,parentTitle:F,title:n.menuName,path:n.menuUrl})}),t},P=new Set(["arrow-up","arrow-down","arrow-left","arrow-right","caret-down","caret-right","plus","minus","close","check","edit","delete","copy","download","upload","refresh","search","filter","more","setting","share","loading","info","success","warning","error","question","user","user-add","user-group","logout","login","file","folder","folder-open","document","image","video","music","camera","mail","phone","chat","bell","message","eye","eye-off","calendar","clock","history","timer","location","map","globe","star","heart","thumb-up","link","external-link","lock","unlock","key","home","menu","menu-fold","menu-unfold","sidebar-fold","sidebar-expand","sidebar-left","dashboard","chart","chart-pie","chart-line","report","analytics","system","permission","role","user-manage","log","notification","app","list","grid","fullscreen","fullscreen-exit","zoom-in","zoom-out","print","bookmark","tag","code","terminal","database","server","cloud","gift","moon","sun","theme","skin"]),Y=W=>{if(!W||W==="")return"";if(W.startsWith("tineco-icon-")){const t=W.replace("tineco-icon-","");return{home:"home",dashboard:"dashboard",system:"system",user:"user",role:"role",menu:"list",setting:"setting",file:"file",folder:"folder",chart:"chart",report:"report",analytics:"analytics"}[t]||t}return{dashboard:"dashboard",system:"system",user:"user",role:"role",menu:"list",setting:"setting",home:"home",chart:"chart",report:"report",analytics:"analytics",permission:"permission",log:"log",notification:"notification",app:"app",list:"list",grid:"grid"}[W]||W},U=W=>W?W.charAt(0):"",d=W=>P.has(W),k=e.computed(()=>$.value.trim()?C(_.menuList).filter(F=>F.title.toLowerCase().includes($.value.toLowerCase())):[]),R=e.computed(()=>f.layout),J=()=>{f.toggleCollapse()},D=()=>{f.toggleTheme()},ee=()=>{w.value=!0},Z=W=>{f.setLayout(W),w.value=!1},q=W=>{K.value=W;const F=document.documentElement;W?F.classList.add("grey-mode"):F.classList.remove("grey-mode")},le=()=>{q(!K.value),w.value=!1},se=()=>{f.toggleTheme(),w.value=!1},fe=()=>{document.fullscreenElement?document.exitFullscreen():document.documentElement.requestFullscreen()},de=()=>{y.value=!!document.fullscreenElement},me=()=>{u.value=!u.value},pe=()=>{u.value=!1},ue=()=>{I.value=!1,$.value=""},be=W=>{g.push(W),ue()},Ve=W=>{f.setPrimaryColor(W),w.value=!1},$e=()=>{pe(),g.push("/profile")},M=()=>{pe(),g.push("/change-password")},Ie=()=>{pe(),V.logout(),h.clearUserInfo(),_.clearMenu(),g.push("/login")},Me=W=>{x.value&&!x.value.contains(W.target)&&pe(),z.value&&!z.value.contains(W.target)&&ue()},Ce=W=>{W.key==="Escape"&&(ue(),pe())};return e.onMounted(()=>{document.addEventListener("click",Me),document.addEventListener("fullscreenchange",de),document.addEventListener("keydown",Ce),f.initTheme(),K.value=document.documentElement.classList.contains("grey-mode")}),e.onUnmounted(()=>{document.removeEventListener("click",Me),document.removeEventListener("fullscreenchange",de),document.removeEventListener("keydown",Ce)}),(W,F)=>{var t;return e.openBlock(),e.createElementBlock("div",kn,[e.createElementVNode("div",yn,[e.createElementVNode("div",{class:"header__collapse",onClick:J},[e.createVNode(e.unref(A.Icon),{name:e.unref(f).isCollapsed?"menu-unfold":"menu-fold",size:18},null,8,["name"])]),e.unref(f).showBreadcrumb?(e.openBlock(),e.createElementBlock("div",wn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(B.value,(n,s)=>(e.openBlock(),e.createElementBlock("span",{key:n.path},[s>0?(e.openBlock(),e.createElementBlock("span",xn,"/")):e.createCommentVNode("",!0),e.createElementVNode("span",{class:e.normalizeClass({"is-current":s===B.value.length-1})},e.toDisplayString(n.title),3)]))),128))])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Cn,[e.createElementVNode("div",{class:"header__search",ref_key:"searchRef",ref:z},[e.createVNode(e.unref(A.Icon),{name:"search",size:14,class:"header__search-icon"}),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":F[0]||(F[0]=n=>$.value=n),type:"text",class:"header__search-input",placeholder:"搜索菜单...",onFocus:F[1]||(F[1]=n=>I.value=!0)},null,544),[[e.vModelText,$.value]]),e.createVNode(e.Transition,{name:"search-dropdown"},{default:e.withCtx(()=>[I.value&&(k.value.length>0||$.value)?(e.openBlock(),e.createElementBlock("div",Bn,[k.value.length>0?(e.openBlock(),e.createElementBlock("div",Sn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k.value,n=>(e.openBlock(),e.createElementBlock("div",{key:n.path,class:"header__search-item",onClick:s=>be(n.path)},[n.title!=="首页"?(e.openBlock(),e.createElementBlock("span",$n,[d(Y(n.icon))?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:Y(n.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",In,e.toDisplayString(U(n.title)),1))])):e.createCommentVNode("",!0),e.createElementVNode("span",Mn,e.toDisplayString(n.title),1),n.parentTitle?(e.openBlock(),e.createElementBlock("span",Ln,e.toDisplayString(n.parentTitle),1)):e.createCommentVNode("",!0)],8,bn))),128))])):(e.openBlock(),e.createElementBlock("div",Dn," 未找到匹配的菜单 "))])):e.createCommentVNode("",!0)]),_:1})],512),e.createElementVNode("div",{class:"header__action",onClick:fe,title:y.value?"退出全屏":"全屏"},[e.createVNode(e.unref(A.Icon),{name:y.value?"fullscreen-exit":"fullscreen",size:16},null,8,["name"])],8,Tn),e.createElementVNode("div",{class:"header__action",onClick:ee,title:"换肤设置"},[e.createVNode(e.unref(A.Icon),{name:"skin",size:16})]),e.createElementVNode("div",{class:"header__action",onClick:D,title:"切换主题"},[e.createVNode(e.unref(A.Icon),{name:e.unref(f).isDark?"sun":"moon",size:16},null,8,["name"])]),e.createElementVNode("div",{class:"header__user",ref_key:"dropdownRef",ref:x},[e.createElementVNode("div",{class:"header__user-trigger",onClick:e.withModifiers(me,["stop"])},[e.createElementVNode("div",An,[e.createElementVNode("span",null,e.toDisplayString(((t=e.unref(h).userName)==null?void 0:t.charAt(0))||"U"),1)]),e.createElementVNode("span",Un,e.toDisplayString(e.unref(h).userName),1),e.createElementVNode("span",{class:e.normalizeClass(["header__user-arrow",{"is-active":u.value}])},"▼",2)]),e.createVNode(e.Transition,{name:"dropdown"},{default:e.withCtx(()=>{var n;return[u.value?(e.openBlock(),e.createElementBlock("div",zn,[e.createElementVNode("div",On,[e.createElementVNode("div",Fn,[e.createElementVNode("span",null,e.toDisplayString(((n=e.unref(h).userName)==null?void 0:n.charAt(0))||"U"),1)]),e.createElementVNode("div",Pn,[e.createElementVNode("div",Rn,e.toDisplayString(e.unref(h).userName),1),e.createElementVNode("div",qn,e.toDisplayString(e.unref(h).departmentName),1)])]),F[7]||(F[7]=e.createElementVNode("div",{class:"header__dropdown-divider"},null,-1)),e.createElementVNode("div",jn,[e.createElementVNode("div",{class:"header__dropdown-item",onClick:$e},[e.createVNode(e.unref(A.Icon),{name:"user",size:16}),F[3]||(F[3]=e.createElementVNode("span",null,"个人信息",-1))]),e.createElementVNode("div",{class:"header__dropdown-item",onClick:M},[e.createVNode(e.unref(A.Icon),{name:"lock",size:16}),F[4]||(F[4]=e.createElementVNode("span",null,"修改密码",-1))]),F[6]||(F[6]=e.createElementVNode("div",{class:"header__dropdown-divider"},null,-1)),e.createElementVNode("div",{class:"header__dropdown-item header__dropdown-item--danger",onClick:Ie},[e.createVNode(e.unref(A.Icon),{name:"logout",size:16}),F[5]||(F[5]=e.createElementVNode("span",null,"退出登录",-1))])])])):e.createCommentVNode("",!0)]}),_:1})],512)]),e.createVNode(e.unref(ne.Drawer),{modelValue:w.value,"onUpdate:modelValue":F[2]||(F[2]=n=>w.value=n),title:"换肤设置",direction:"rtl",size:"320px"},{default:e.withCtx(()=>[e.createElementVNode("div",Hn,[e.createElementVNode("div",Gn,[F[11]||(F[11]=e.createElementVNode("div",{class:"settings-title"},"布局模式",-1)),e.createElementVNode("div",Kn,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(T,n=>e.createElementVNode("div",{key:n.value,class:e.normalizeClass(["layout-option",{"is-active":R.value===n.value}]),onClick:s=>Z(n.value)},[e.createElementVNode("div",Xn,[n.value==="sidebar"?(e.openBlock(),e.createElementBlock("div",Yn,[...F[8]||(F[8]=[e.createElementVNode("div",{class:"preview-aside"},null,-1),e.createElementVNode("div",{class:"preview-main"},[e.createElementVNode("div",{class:"preview-header"}),e.createElementVNode("div",{class:"preview-content"})],-1)])])):n.value==="top"?(e.openBlock(),e.createElementBlock("div",Jn,[...F[9]||(F[9]=[e.createElementVNode("div",{class:"preview-header-full"},null,-1),e.createElementVNode("div",{class:"preview-content-full"},null,-1)])])):(e.openBlock(),e.createElementBlock("div",Zn,[...F[10]||(F[10]=[e.createElementVNode("div",{class:"preview-header-mix"},[e.createElementVNode("div",{class:"preview-mix-left"})],-1),e.createElementVNode("div",{class:"preview-mix-body"},[e.createElementVNode("div",{class:"preview-mix-aside"}),e.createElementVNode("div",{class:"preview-mix-content"})],-1)])]))]),e.createElementVNode("span",Qn,e.toDisplayString(n.label),1)],10,Wn)),64))])]),e.createElementVNode("div",vn,[F[12]||(F[12]=e.createElementVNode("div",{class:"settings-title"},"主题色",-1)),e.createElementVNode("div",eo,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(L,n=>e.createElementVNode("div",{key:n.value,class:e.normalizeClass(["color-option",{"is-active":e.unref(f).primaryColor===n.value}]),style:e.normalizeStyle({backgroundColor:n.value}),title:n.label,onClick:s=>Ve(n.value)},[e.unref(f).primaryColor===n.value?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:"check",size:12,color:"#fff"})):e.createCommentVNode("",!0)],14,to)),64))])]),e.createElementVNode("div",no,[F[17]||(F[17]=e.createElementVNode("div",{class:"settings-title"},"功能设置",-1)),e.createElementVNode("div",oo,[e.createElementVNode("div",lo,[F[14]||(F[14]=e.createElementVNode("span",null,"灰色模式",-1)),e.createElementVNode("div",{class:e.normalizeClass(["switch-wrapper",{"is-checked":K.value}]),onClick:le},[...F[13]||(F[13]=[e.createElementVNode("span",{class:"switch-core"},null,-1)])],2)]),e.createElementVNode("div",so,[F[16]||(F[16]=e.createElementVNode("span",null,"暗黑模式",-1)),e.createElementVNode("div",{class:e.normalizeClass(["switch-wrapper",{"is-checked":e.unref(f).isDark}]),onClick:se},[...F[15]||(F[15]=[e.createElementVNode("span",{class:"switch-core"},null,-1)])],2)])])])])]),_:1},8,["modelValue"])])}}}),[["__scopeId","data-v-89179947"]]),ro={class:"top-menu"},ao={class:"top-menu__logo"},io=["src"],co={class:"top-menu__logo-text"},mo={class:"top-menu__menu-content"},po={key:0,class:"top-menu__menu-icon"},fo={key:1,class:"top-menu__menu-char"},uo={class:"top-menu__menu-text"},ho={class:"top-menu__menu-content"},go={class:"top-menu__menu-icon"},_o={key:1,class:"top-menu__menu-char"},No={class:"top-menu__menu-text"},Eo={class:"top-menu__menu-content"},Vo={class:"top-menu__menu-icon"},ko={key:1,class:"top-menu__menu-char"},yo={class:"top-menu__menu-text"},wo={class:"top-menu__menu-content"},xo={class:"top-menu__menu-icon"},Co={key:1,class:"top-menu__menu-char"},Bo={class:"top-menu__menu-text"},So={class:"top-menu__menu-content"},bo={key:0,class:"top-menu__menu-icon"},$o={key:1,class:"top-menu__menu-char"},Io={class:"top-menu__menu-text"},Mo={class:"top-menu__actions"},Lo={key:0,class:"top-menu__search-dropdown"},Do={key:0,class:"top-menu__search-results"},To=["onClick"],Ao={key:0,class:"top-menu__search-icon-item"},Uo={key:1,class:"top-menu__search-char"},zo={class:"top-menu__search-item-title"},Oo={key:1,class:"top-menu__search-item-parent"},Fo={key:1,class:"top-menu__search-empty"},Po=["title"],Ro={class:"top-menu__avatar"},qo={class:"top-menu__user-name"},jo={key:0,class:"top-menu__dropdown"},Ho={class:"top-menu__dropdown-header"},Go={class:"top-menu__dropdown-avatar"},Ko={class:"top-menu__dropdown-info"},Wo={class:"top-menu__dropdown-name"},Xo={class:"top-menu__dropdown-role"},Yo={class:"top-menu__dropdown-menu"},Jo={class:"settings-drawer"},Zo={class:"settings-section"},Qo={class:"settings-layout-options"},vo=["onClick"],el={class:"layout-option__preview"},tl={key:0,class:"layout-preview-sidebar"},nl={key:1,class:"layout-preview-top"},ol={key:2,class:"layout-preview-mix"},ll={class:"layout-option__label"},sl={class:"settings-section"},rl={class:"settings-color-options"},al=["title","onClick"],il={class:"settings-section"},cl={class:"settings-switch-list"},dl={class:"settings-switch-item"},ml={class:"settings-switch-item"},pl=ge(e.defineComponent({__name:"TopMenu",props:{logoSrc:{default:"/vite.svg"}},setup(o){const p=o,g=ie.useRoute(),f=ie.useRouter(),h=xe(),V=Se(),_=ke(),u=Te(),w=e.computed(()=>g.path),x=(s,c="")=>{const m=[];return s.forEach(l=>{l.children&&l.children.length>0?m.push(...x(l.children,l.menuName)):m.push({...l,parentTitle:c,title:l.menuName,path:l.menuUrl})}),m},y=e.computed(()=>Y.value.trim()?x(h.menuList).filter(c=>c.title.toLowerCase().includes(Y.value.toLowerCase())):[]),I=e.computed(()=>V.isDark?"#1d1e1f":"#fff"),$=e.computed(()=>V.isDark?"#cfd3dc":"#303133"),z=e.computed(()=>"#409eff"),K=e.ref(!1),T=e.ref(null),L=e.ref(!1),B=e.ref(!1),C=e.ref(!1),P=e.ref(!1),Y=e.ref(""),U=e.ref(null),d=s=>{s&&s!==g.path&&f.push(s)},k=new Set(["arrow-up","arrow-down","arrow-left","arrow-right","caret-down","caret-right","plus","minus","close","check","edit","delete","copy","download","upload","refresh","search","filter","more","setting","share","loading","info","success","warning","error","question","user","user-add","user-group","logout","login","file","folder","folder-open","document","image","video","music","camera","mail","phone","chat","bell","message","eye","eye-off","calendar","clock","history","timer","location","map","globe","star","heart","thumb-up","link","external-link","lock","unlock","key","home","menu","menu-fold","menu-unfold","sidebar-fold","sidebar-expand","sidebar-left","dashboard","chart","chart-pie","chart-line","report","analytics","system","permission","role","user-manage","log","notification","app","list","grid","fullscreen","fullscreen-exit","zoom-in","zoom-out","print","bookmark","tag","code","terminal","database","server","cloud","gift","moon","sun","theme","skin"]),R=s=>{if(!s||s==="")return"";if(s.startsWith("tineco-icon-")){const m=s.replace("tineco-icon-","");return{home:"home",dashboard:"dashboard",system:"system",user:"user",role:"role",menu:"list",setting:"setting",file:"file",folder:"folder",chart:"chart",report:"report",analytics:"analytics"}[m]||m}return{dashboard:"dashboard",system:"system",user:"user",role:"role",menu:"list",setting:"setting",home:"home",chart:"chart",report:"report",analytics:"analytics",permission:"permission",log:"log",notification:"notification",app:"app",list:"list",grid:"grid"}[s]||s},J=s=>s?s.charAt(0):"",D=s=>k.has(s),ee=()=>{V.toggleTheme(),B.value=!1},Z=()=>{document.fullscreenElement?document.exitFullscreen():document.documentElement.requestFullscreen()},q=()=>{L.value=!!document.fullscreenElement},le=()=>{K.value=!K.value},se=()=>{K.value=!1},fe=()=>{P.value=!1,Y.value=""},de=s=>{f.push(s),fe()},me=()=>{B.value=!0},pe=s=>{C.value=s;const c=document.documentElement;s?c.classList.add("grey-mode"):c.classList.remove("grey-mode")},ue=()=>{pe(!C.value),B.value=!1},be=()=>{V.toggleTheme(),B.value=!1},Ve=[{value:"sidebar",label:"左侧菜单",icon:"sidebar-left"},{value:"top",label:"顶部菜单",icon:"menu"},{value:"mix",label:"混合菜单",icon:"grid"}],$e=e.computed(()=>V.layout),M=s=>{V.setLayout(s),B.value=!1},Ie=[{value:"#409eff",label:"默认蓝"},{value:"#1890ff",label:"科技蓝"},{value:"#52c41a",label:"极光绿"},{value:"#faad14",label:"日落橙"},{value:"#f5222d",label:"薄暮红"},{value:"#722ed1",label:"酱紫"}],Me=s=>{V.setPrimaryColor(s),B.value=!1},Ce=()=>{se(),f.push("/profile")},W=()=>{se(),f.push("/change-password")},F=()=>{se(),u.logout(),_.clearUserInfo(),h.clearMenu(),f.push("/login")},t=s=>{T.value&&!T.value.contains(s.target)&&se(),U.value&&!U.value.contains(s.target)&&fe()},n=s=>{s.key==="Escape"&&(fe(),se())};return e.onMounted(()=>{document.addEventListener("click",t),document.addEventListener("fullscreenchange",q),document.addEventListener("keydown",n),C.value=document.documentElement.classList.contains("grey-mode")}),e.onUnmounted(()=>{document.removeEventListener("click",t),document.removeEventListener("fullscreenchange",q),document.removeEventListener("keydown",n)}),(s,c)=>{var m;return e.openBlock(),e.createElementBlock("div",ro,[e.createElementVNode("div",ao,[e.createElementVNode("img",{src:p.logoSrc,alt:"Logo",class:"top-menu__logo-img"},null,8,io),e.createElementVNode("span",co,e.toDisplayString(e.unref(V).appName),1)]),e.createVNode(e.unref(Ne.Menu),{"model-value":w.value,mode:"horizontal","background-color":I.value,"text-color":$.value,"active-text-color":z.value,class:"top-menu__menu",onSelect:d},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(h).menuList,l=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:l.menuUrl},[l.children&&l.children.length>0?(e.openBlock(),e.createBlock(e.unref(Ne.SubMenu),{key:0,index:l.menuUrl},{title:e.withCtx(()=>[e.createElementVNode("span",mo,[l.menuName!=="首页"?(e.openBlock(),e.createElementBlock("span",po,[D(R(l.icon))?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:R(l.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",fo,e.toDisplayString(J(l.menuName)),1))])):e.createCommentVNode("",!0),e.createElementVNode("span",uo,e.toDisplayString(l.menuName),1)])]),default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.children,a=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:a.menuUrl},[a.children&&a.children.length>0?(e.openBlock(),e.createBlock(e.unref(Ne.SubMenu),{key:0,index:a.menuUrl},{title:e.withCtx(()=>[e.createElementVNode("span",ho,[e.createElementVNode("span",go,[D(R(a.icon))?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:R(a.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",_o,e.toDisplayString(J(a.menuName)),1))]),e.createElementVNode("span",No,e.toDisplayString(a.menuName),1)])]),default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.children,i=>(e.openBlock(),e.createBlock(e.unref(Ne.MenuItem),{key:i.menuUrl,index:i.menuUrl},{default:e.withCtx(()=>[e.createElementVNode("span",Eo,[e.createElementVNode("span",Vo,[D(R(i.icon))?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:R(i.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",ko,e.toDisplayString(J(i.menuName)),1))]),e.createElementVNode("span",yo,e.toDisplayString(i.menuName),1)])]),_:2},1032,["index"]))),128))]),_:2},1032,["index"])):(e.openBlock(),e.createBlock(e.unref(Ne.MenuItem),{key:1,index:a.menuUrl},{default:e.withCtx(()=>[e.createElementVNode("span",wo,[e.createElementVNode("span",xo,[D(R(a.icon))?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:R(a.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",Co,e.toDisplayString(J(a.menuName)),1))]),e.createElementVNode("span",Bo,e.toDisplayString(a.menuName),1)])]),_:2},1032,["index"]))],64))),128))]),_:2},1032,["index"])):(e.openBlock(),e.createBlock(e.unref(Ne.MenuItem),{key:1,index:l.menuUrl},{default:e.withCtx(()=>[e.createElementVNode("span",So,[l.menuName!=="首页"?(e.openBlock(),e.createElementBlock("span",bo,[D(R(l.icon))?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:R(l.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",$o,e.toDisplayString(J(l.menuName)),1))])):e.createCommentVNode("",!0),e.createElementVNode("span",Io,e.toDisplayString(l.menuName),1)])]),_:2},1032,["index"]))],64))),128))]),_:1},8,["model-value","background-color","text-color","active-text-color"]),e.createElementVNode("div",Mo,[e.createElementVNode("div",{class:"top-menu__search",ref_key:"searchRef",ref:U},[e.createVNode(e.unref(A.Icon),{name:"search",size:14,class:"top-menu__search-icon"}),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":c[0]||(c[0]=l=>Y.value=l),type:"text",class:"top-menu__search-input",placeholder:"搜索菜单...",onFocus:c[1]||(c[1]=l=>P.value=!0)},null,544),[[e.vModelText,Y.value]]),e.createVNode(e.Transition,{name:"search-dropdown"},{default:e.withCtx(()=>[P.value&&(y.value.length>0||Y.value)?(e.openBlock(),e.createElementBlock("div",Lo,[y.value.length>0?(e.openBlock(),e.createElementBlock("div",Do,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(y.value,l=>(e.openBlock(),e.createElementBlock("div",{key:l.path,class:"top-menu__search-item",onClick:a=>de(l.path)},[l.title!=="首页"?(e.openBlock(),e.createElementBlock("span",Ao,[D(R(l.icon))?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:R(l.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",Uo,e.toDisplayString(J(l.title)),1))])):e.createCommentVNode("",!0),e.createElementVNode("span",zo,e.toDisplayString(l.title),1),l.parentTitle?(e.openBlock(),e.createElementBlock("span",Oo,e.toDisplayString(l.parentTitle),1)):e.createCommentVNode("",!0)],8,To))),128))])):(e.openBlock(),e.createElementBlock("div",Fo," 未找到匹配的菜单 "))])):e.createCommentVNode("",!0)]),_:1})],512),e.createElementVNode("div",{class:"top-menu__action",onClick:Z,title:L.value?"退出全屏":"全屏"},[e.createVNode(e.unref(A.Icon),{name:L.value?"fullscreen-exit":"fullscreen",size:16},null,8,["name"])],8,Po),e.createElementVNode("div",{class:"top-menu__action",onClick:me,title:"换肤设置"},[e.createVNode(e.unref(A.Icon),{name:"skin",size:16})]),e.createElementVNode("div",{class:"top-menu__action",onClick:ee,title:"切换主题"},[e.createVNode(e.unref(A.Icon),{name:e.unref(V).isDark?"sun":"moon",size:16},null,8,["name"])]),e.createElementVNode("div",{class:"top-menu__user",ref_key:"dropdownRef",ref:T},[e.createElementVNode("div",{class:"top-menu__user-trigger",onClick:e.withModifiers(le,["stop"])},[e.createElementVNode("div",Ro,[e.createElementVNode("span",null,e.toDisplayString(((m=e.unref(_).userName)==null?void 0:m.charAt(0))||"U"),1)]),e.createElementVNode("span",qo,e.toDisplayString(e.unref(_).userName),1),e.createElementVNode("span",{class:e.normalizeClass(["top-menu__user-arrow",{"is-active":K.value}])},"▼",2)]),e.createVNode(e.Transition,{name:"dropdown"},{default:e.withCtx(()=>{var l;return[K.value?(e.openBlock(),e.createElementBlock("div",jo,[e.createElementVNode("div",Ho,[e.createElementVNode("div",Go,[e.createElementVNode("span",null,e.toDisplayString(((l=e.unref(_).userName)==null?void 0:l.charAt(0))||"U"),1)]),e.createElementVNode("div",Ko,[e.createElementVNode("div",Wo,e.toDisplayString(e.unref(_).userName),1),e.createElementVNode("div",Xo,e.toDisplayString(e.unref(_).departmentName),1)])]),c[7]||(c[7]=e.createElementVNode("div",{class:"top-menu__dropdown-divider"},null,-1)),e.createElementVNode("div",Yo,[e.createElementVNode("div",{class:"top-menu__dropdown-item",onClick:Ce},[e.createVNode(e.unref(A.Icon),{name:"user",size:16}),c[3]||(c[3]=e.createElementVNode("span",null,"个人信息",-1))]),e.createElementVNode("div",{class:"top-menu__dropdown-item",onClick:W},[e.createVNode(e.unref(A.Icon),{name:"lock",size:16}),c[4]||(c[4]=e.createElementVNode("span",null,"修改密码",-1))]),c[6]||(c[6]=e.createElementVNode("div",{class:"top-menu__dropdown-divider"},null,-1)),e.createElementVNode("div",{class:"top-menu__dropdown-item top-menu__dropdown-item--danger",onClick:F},[e.createVNode(e.unref(A.Icon),{name:"logout",size:16}),c[5]||(c[5]=e.createElementVNode("span",null,"退出登录",-1))])])])):e.createCommentVNode("",!0)]}),_:1})],512)]),e.createVNode(e.unref(ne.Drawer),{modelValue:B.value,"onUpdate:modelValue":c[2]||(c[2]=l=>B.value=l),title:"换肤设置",direction:"rtl",size:"320px"},{default:e.withCtx(()=>[e.createElementVNode("div",Jo,[e.createElementVNode("div",Zo,[c[11]||(c[11]=e.createElementVNode("div",{class:"settings-title"},"布局模式",-1)),e.createElementVNode("div",Qo,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(Ve,l=>e.createElementVNode("div",{key:l.value,class:e.normalizeClass(["layout-option",{"is-active":$e.value===l.value}]),onClick:a=>M(l.value)},[e.createElementVNode("div",el,[l.value==="sidebar"?(e.openBlock(),e.createElementBlock("div",tl,[...c[8]||(c[8]=[e.createElementVNode("div",{class:"preview-aside"},null,-1),e.createElementVNode("div",{class:"preview-main"},[e.createElementVNode("div",{class:"preview-header"}),e.createElementVNode("div",{class:"preview-content"})],-1)])])):l.value==="top"?(e.openBlock(),e.createElementBlock("div",nl,[...c[9]||(c[9]=[e.createElementVNode("div",{class:"preview-header-full"},null,-1),e.createElementVNode("div",{class:"preview-content-full"},null,-1)])])):(e.openBlock(),e.createElementBlock("div",ol,[...c[10]||(c[10]=[e.createElementVNode("div",{class:"preview-header-mix"},[e.createElementVNode("div",{class:"preview-mix-left"})],-1),e.createElementVNode("div",{class:"preview-mix-body"},[e.createElementVNode("div",{class:"preview-mix-aside"}),e.createElementVNode("div",{class:"preview-mix-content"})],-1)])]))]),e.createElementVNode("span",ll,e.toDisplayString(l.label),1)],10,vo)),64))])]),e.createElementVNode("div",sl,[c[12]||(c[12]=e.createElementVNode("div",{class:"settings-title"},"主题色",-1)),e.createElementVNode("div",rl,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(Ie,l=>e.createElementVNode("div",{key:l.value,class:e.normalizeClass(["color-option",{"is-active":e.unref(V).primaryColor===l.value}]),style:e.normalizeStyle({backgroundColor:l.value}),title:l.label,onClick:a=>Me(l.value)},[e.unref(V).primaryColor===l.value?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:"check",size:12,color:"#fff"})):e.createCommentVNode("",!0)],14,al)),64))])]),e.createElementVNode("div",il,[c[17]||(c[17]=e.createElementVNode("div",{class:"settings-title"},"功能设置",-1)),e.createElementVNode("div",cl,[e.createElementVNode("div",dl,[c[14]||(c[14]=e.createElementVNode("span",null,"灰色模式",-1)),e.createElementVNode("div",{class:e.normalizeClass(["switch-wrapper",{"is-checked":C.value}]),onClick:ue},[...c[13]||(c[13]=[e.createElementVNode("span",{class:"switch-core"},null,-1)])],2)]),e.createElementVNode("div",ml,[c[16]||(c[16]=e.createElementVNode("span",null,"暗黑模式",-1)),e.createElementVNode("div",{class:e.normalizeClass(["switch-wrapper",{"is-checked":e.unref(V).isDark}]),onClick:be},[...c[15]||(c[15]=[e.createElementVNode("span",{class:"switch-core"},null,-1)])],2)])])])])]),_:1},8,["modelValue"])])}}}),[["__scopeId","data-v-da5e391c"]]),fl={class:"mix-top-menu"},ul={class:"mix-top-menu__logo"},hl=["src"],gl={class:"mix-top-menu__logo-text"},_l={class:"mix-top-menu__menu-content"},Nl={key:0,class:"mix-top-menu__menu-icon"},El={key:1,class:"mix-top-menu__menu-char"},Vl={class:"mix-top-menu__menu-text"},kl={class:"mix-top-menu__actions"},yl={key:0,class:"mix-top-menu__search-dropdown"},wl={key:0,class:"mix-top-menu__search-results"},xl=["onClick"],Cl={key:0,class:"mix-top-menu__search-icon-item"},Bl={key:1,class:"mix-top-menu__search-char"},Sl={class:"mix-top-menu__search-item-title"},bl={key:1,class:"mix-top-menu__search-item-parent"},$l={key:1,class:"mix-top-menu__search-empty"},Il=["title"],Ml={class:"mix-top-menu__avatar"},Ll={class:"mix-top-menu__user-name"},Dl={key:0,class:"mix-top-menu__dropdown"},Tl={class:"mix-top-menu__dropdown-header"},Al={class:"mix-top-menu__dropdown-avatar"},Ul={class:"mix-top-menu__dropdown-info"},zl={class:"mix-top-menu__dropdown-name"},Ol={class:"mix-top-menu__dropdown-role"},Fl={class:"mix-top-menu__dropdown-menu"},Pl={class:"settings-drawer"},Rl={class:"settings-section"},ql={class:"settings-layout-options"},jl=["onClick"],Hl={class:"layout-option__preview"},Gl={key:0,class:"layout-preview-sidebar"},Kl={key:1,class:"layout-preview-top"},Wl={key:2,class:"layout-preview-mix"},Xl={class:"layout-option__label"},Yl={class:"settings-section"},Jl={class:"settings-color-options"},Zl=["title","onClick"],Ql={class:"settings-section"},vl={class:"settings-switch-list"},es={class:"settings-switch-item"},ts={class:"settings-switch-item"},ns=ge(e.defineComponent({__name:"MixTopMenu",props:{logoSrc:{default:"/vite.svg"}},setup(o){const p=o,g=ie.useRoute(),f=ie.useRouter(),h=xe(),V=Se(),_=ke(),u=Te(),w=e.ref(""),x=(l,a="")=>{const i=[];return l.forEach(r=>{r.children&&r.children.length>0?i.push(...x(r.children,r.menuName)):i.push({...r,parentTitle:a,title:r.menuName,path:r.menuUrl})}),i},y=e.computed(()=>R.value.trim()?x(h.menuList).filter(a=>a.title.toLowerCase().includes(R.value.toLowerCase())):[]),I=e.computed(()=>{const l=h.menuList.find(a=>a.menuUrl===w.value);return(l==null?void 0:l.children)||[]}),$=e.computed(()=>h.menuList.find(l=>!!(g.path===l.menuUrl||l.children&&l.children.some(a=>g.path.startsWith(a.menuUrl)||g.path===a.menuUrl)))),z=()=>{$.value?w.value=$.value.menuUrl:h.menuList.length>0&&(w.value=h.menuList[0].menuUrl)},K=l=>{w.value=l;const a=h.menuList.find(i=>i.menuUrl===l);if(a)if(a.children&&a.children.length>0){const i=a.children[0].menuUrl;g.path!==i&&f.push(i)}else g.path!==l&&f.push(l)},T=e.computed(()=>V.isDark?"#1d1e1f":"#fff"),L=e.computed(()=>V.isDark?"#cfd3dc":"#303133"),B=e.computed(()=>"#409eff"),C=e.ref(!1),P=e.ref(null),Y=e.ref(!1),U=e.ref(!1),d=e.ref(!1),k=e.ref(!1),R=e.ref(""),J=e.ref(null);e.watch(()=>g.path,()=>{z(),V.setMixSubMenus(I.value)}),e.watch(()=>h.menuList,l=>{l&&l.length>0&&(z(),V.setMixSubMenus(I.value))},{immediate:!0});const D=new Set(["arrow-up","arrow-down","arrow-left","arrow-right","caret-down","caret-right","plus","minus","close","check","edit","delete","copy","download","upload","refresh","search","filter","more","setting","share","loading","info","success","warning","error","question","user","user-add","user-group","logout","login","file","folder","folder-open","document","image","video","music","camera","mail","phone","chat","bell","message","eye","eye-off","calendar","clock","history","timer","location","map","globe","star","heart","thumb-up","link","external-link","lock","unlock","key","home","menu","menu-fold","menu-unfold","sidebar-fold","sidebar-expand","sidebar-left","dashboard","chart","chart-pie","chart-line","report","analytics","system","permission","role","user-manage","log","notification","app","list","grid","fullscreen","fullscreen-exit","zoom-in","zoom-out","print","bookmark","tag","code","terminal","database","server","cloud","gift","moon","sun","theme","skin"]),ee=l=>{if(!l||l==="")return"";if(l.startsWith("tineco-icon-")){const i=l.replace("tineco-icon-","");return{home:"home",dashboard:"dashboard",system:"system",user:"user",role:"role",menu:"list",setting:"setting",file:"file",folder:"folder",chart:"chart",report:"report",analytics:"analytics"}[i]||i}return{dashboard:"dashboard",system:"system",user:"user",role:"role",menu:"list",setting:"setting",home:"home",chart:"chart",report:"report",analytics:"analytics",permission:"permission",log:"log",notification:"notification",app:"app",list:"list",grid:"grid"}[l]||l},Z=l=>l?l.charAt(0):"",q=l=>D.has(l),le=()=>{V.toggleTheme(),U.value=!1},se=()=>{document.fullscreenElement?document.exitFullscreen():document.documentElement.requestFullscreen()},fe=()=>{Y.value=!!document.fullscreenElement},de=()=>{C.value=!C.value},me=()=>{C.value=!1},pe=()=>{k.value=!1,R.value=""},ue=l=>{f.push(l),pe()},be=()=>{U.value=!0},Ve=l=>{d.value=l;const a=document.documentElement;l?a.classList.add("grey-mode"):a.classList.remove("grey-mode")},$e=()=>{Ve(!d.value),U.value=!1},M=()=>{V.toggleTheme(),U.value=!1},Ie=[{value:"sidebar",label:"左侧菜单",icon:"sidebar-left"},{value:"top",label:"顶部菜单",icon:"menu"},{value:"mix",label:"混合菜单",icon:"grid"}],Me=e.computed(()=>V.layout),Ce=l=>{V.setLayout(l),U.value=!1},W=[{value:"#409eff",label:"默认蓝"},{value:"#1890ff",label:"科技蓝"},{value:"#52c41a",label:"极光绿"},{value:"#faad14",label:"日落橙"},{value:"#f5222d",label:"薄暮红"},{value:"#722ed1",label:"酱紫"}],F=l=>{V.setPrimaryColor(l),U.value=!1},t=()=>{me(),f.push("/profile")},n=()=>{me(),f.push("/change-password")},s=()=>{me(),u.logout(),_.clearUserInfo(),h.clearMenu(),f.push("/login")},c=l=>{P.value&&!P.value.contains(l.target)&&me(),J.value&&!J.value.contains(l.target)&&pe()},m=l=>{l.key==="Escape"&&(pe(),me())};return e.onMounted(()=>{document.addEventListener("click",c),document.addEventListener("fullscreenchange",fe),document.addEventListener("keydown",m),d.value=document.documentElement.classList.contains("grey-mode"),z()}),e.onUnmounted(()=>{document.removeEventListener("click",c),document.removeEventListener("fullscreenchange",fe),document.removeEventListener("keydown",m)}),(l,a)=>{var i;return e.openBlock(),e.createElementBlock("div",fl,[e.createElementVNode("div",ul,[e.createElementVNode("img",{src:p.logoSrc,alt:"Logo",class:"mix-top-menu__logo-img"},null,8,hl),e.createElementVNode("span",gl,e.toDisplayString(e.unref(V).appName),1)]),e.createVNode(e.unref(Ne.Menu),{"model-value":w.value,mode:"horizontal","background-color":T.value,"text-color":L.value,"active-text-color":B.value,class:"mix-top-menu__menu",onSelect:K},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(h).menuList,r=>(e.openBlock(),e.createBlock(e.unref(Ne.MenuItem),{key:r.menuUrl,index:r.menuUrl},{default:e.withCtx(()=>[e.createElementVNode("span",_l,[r.menuName!=="首页"?(e.openBlock(),e.createElementBlock("span",Nl,[q(ee(r.icon))?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:ee(r.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",El,e.toDisplayString(Z(r.menuName)),1))])):e.createCommentVNode("",!0),e.createElementVNode("span",Vl,e.toDisplayString(r.menuName),1)])]),_:2},1032,["index"]))),128))]),_:1},8,["model-value","background-color","text-color","active-text-color"]),e.createElementVNode("div",kl,[e.createElementVNode("div",{class:"mix-top-menu__search",ref_key:"searchRef",ref:J},[e.createVNode(e.unref(A.Icon),{name:"search",size:14,class:"mix-top-menu__search-icon"}),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":a[0]||(a[0]=r=>R.value=r),type:"text",class:"mix-top-menu__search-input",placeholder:"搜索菜单...",onFocus:a[1]||(a[1]=r=>k.value=!0)},null,544),[[e.vModelText,R.value]]),e.createVNode(e.Transition,{name:"search-dropdown"},{default:e.withCtx(()=>[k.value&&(y.value.length>0||R.value)?(e.openBlock(),e.createElementBlock("div",yl,[y.value.length>0?(e.openBlock(),e.createElementBlock("div",wl,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(y.value,r=>(e.openBlock(),e.createElementBlock("div",{key:r.path,class:"mix-top-menu__search-item",onClick:E=>ue(r.path)},[r.title!=="首页"?(e.openBlock(),e.createElementBlock("span",Cl,[q(ee(r.icon))?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:ee(r.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",Bl,e.toDisplayString(Z(r.title)),1))])):e.createCommentVNode("",!0),e.createElementVNode("span",Sl,e.toDisplayString(r.title),1),r.parentTitle?(e.openBlock(),e.createElementBlock("span",bl,e.toDisplayString(r.parentTitle),1)):e.createCommentVNode("",!0)],8,xl))),128))])):(e.openBlock(),e.createElementBlock("div",$l," 未找到匹配的菜单 "))])):e.createCommentVNode("",!0)]),_:1})],512),e.createElementVNode("div",{class:"mix-top-menu__action",onClick:se,title:Y.value?"退出全屏":"全屏"},[e.createVNode(e.unref(A.Icon),{name:Y.value?"fullscreen-exit":"fullscreen",size:16},null,8,["name"])],8,Il),e.createElementVNode("div",{class:"mix-top-menu__action",onClick:be,title:"换肤设置"},[e.createVNode(e.unref(A.Icon),{name:"skin",size:16})]),e.createElementVNode("div",{class:"mix-top-menu__action",onClick:le,title:"切换主题"},[e.createVNode(e.unref(A.Icon),{name:e.unref(V).isDark?"sun":"moon",size:16},null,8,["name"])]),e.createElementVNode("div",{class:"mix-top-menu__user",ref_key:"dropdownRef",ref:P},[e.createElementVNode("div",{class:"mix-top-menu__user-trigger",onClick:e.withModifiers(de,["stop"])},[e.createElementVNode("div",Ml,[e.createElementVNode("span",null,e.toDisplayString(((i=e.unref(_).userName)==null?void 0:i.charAt(0))||"U"),1)]),e.createElementVNode("span",Ll,e.toDisplayString(e.unref(_).userName),1),e.createElementVNode("span",{class:e.normalizeClass(["mix-top-menu__user-arrow",{"is-active":C.value}])},"▼",2)]),e.createVNode(e.Transition,{name:"dropdown"},{default:e.withCtx(()=>{var r;return[C.value?(e.openBlock(),e.createElementBlock("div",Dl,[e.createElementVNode("div",Tl,[e.createElementVNode("div",Al,[e.createElementVNode("span",null,e.toDisplayString(((r=e.unref(_).userName)==null?void 0:r.charAt(0))||"U"),1)]),e.createElementVNode("div",Ul,[e.createElementVNode("div",zl,e.toDisplayString(e.unref(_).userName),1),e.createElementVNode("div",Ol,e.toDisplayString(e.unref(_).departmentName),1)])]),a[7]||(a[7]=e.createElementVNode("div",{class:"mix-top-menu__dropdown-divider"},null,-1)),e.createElementVNode("div",Fl,[e.createElementVNode("div",{class:"mix-top-menu__dropdown-item",onClick:t},[e.createVNode(e.unref(A.Icon),{name:"user",size:16}),a[3]||(a[3]=e.createElementVNode("span",null,"个人信息",-1))]),e.createElementVNode("div",{class:"mix-top-menu__dropdown-item",onClick:n},[e.createVNode(e.unref(A.Icon),{name:"lock",size:16}),a[4]||(a[4]=e.createElementVNode("span",null,"修改密码",-1))]),a[6]||(a[6]=e.createElementVNode("div",{class:"mix-top-menu__dropdown-divider"},null,-1)),e.createElementVNode("div",{class:"mix-top-menu__dropdown-item mix-top-menu__dropdown-item--danger",onClick:s},[e.createVNode(e.unref(A.Icon),{name:"logout",size:16}),a[5]||(a[5]=e.createElementVNode("span",null,"退出登录",-1))])])])):e.createCommentVNode("",!0)]}),_:1})],512)]),e.createVNode(e.unref(ne.Drawer),{modelValue:U.value,"onUpdate:modelValue":a[2]||(a[2]=r=>U.value=r),title:"换肤设置",direction:"rtl",size:"320px"},{default:e.withCtx(()=>[e.createElementVNode("div",Pl,[e.createElementVNode("div",Rl,[a[11]||(a[11]=e.createElementVNode("div",{class:"settings-title"},"布局模式",-1)),e.createElementVNode("div",ql,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(Ie,r=>e.createElementVNode("div",{key:r.value,class:e.normalizeClass(["layout-option",{"is-active":Me.value===r.value}]),onClick:E=>Ce(r.value)},[e.createElementVNode("div",Hl,[r.value==="sidebar"?(e.openBlock(),e.createElementBlock("div",Gl,[...a[8]||(a[8]=[e.createElementVNode("div",{class:"preview-aside"},null,-1),e.createElementVNode("div",{class:"preview-main"},[e.createElementVNode("div",{class:"preview-header"}),e.createElementVNode("div",{class:"preview-content"})],-1)])])):r.value==="top"?(e.openBlock(),e.createElementBlock("div",Kl,[...a[9]||(a[9]=[e.createElementVNode("div",{class:"preview-header-full"},null,-1),e.createElementVNode("div",{class:"preview-content-full"},null,-1)])])):(e.openBlock(),e.createElementBlock("div",Wl,[...a[10]||(a[10]=[e.createElementVNode("div",{class:"preview-header-mix"},[e.createElementVNode("div",{class:"preview-mix-left"})],-1),e.createElementVNode("div",{class:"preview-mix-body"},[e.createElementVNode("div",{class:"preview-mix-aside"}),e.createElementVNode("div",{class:"preview-mix-content"})],-1)])]))]),e.createElementVNode("span",Xl,e.toDisplayString(r.label),1)],10,jl)),64))])]),e.createElementVNode("div",Yl,[a[12]||(a[12]=e.createElementVNode("div",{class:"settings-title"},"主题色",-1)),e.createElementVNode("div",Jl,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(W,r=>e.createElementVNode("div",{key:r.value,class:e.normalizeClass(["color-option",{"is-active":e.unref(V).primaryColor===r.value}]),style:e.normalizeStyle({backgroundColor:r.value}),title:r.label,onClick:E=>F(r.value)},[e.unref(V).primaryColor===r.value?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:"check",size:12,color:"#fff"})):e.createCommentVNode("",!0)],14,Zl)),64))])]),e.createElementVNode("div",Ql,[a[17]||(a[17]=e.createElementVNode("div",{class:"settings-title"},"功能设置",-1)),e.createElementVNode("div",vl,[e.createElementVNode("div",es,[a[14]||(a[14]=e.createElementVNode("span",null,"灰色模式",-1)),e.createElementVNode("div",{class:e.normalizeClass(["switch-wrapper",{"is-checked":d.value}]),onClick:$e},[...a[13]||(a[13]=[e.createElementVNode("span",{class:"switch-core"},null,-1)])],2)]),e.createElementVNode("div",ts,[a[16]||(a[16]=e.createElementVNode("span",null,"暗黑模式",-1)),e.createElementVNode("div",{class:e.normalizeClass(["switch-wrapper",{"is-checked":e.unref(V).isDark}]),onClick:M},[...a[15]||(a[15]=[e.createElementVNode("span",{class:"switch-core"},null,-1)])],2)])])])])]),_:1},8,["modelValue"])])}}}),[["__scopeId","data-v-18f26903"]]),os={key:0,class:"layout layout--sidebar"},ls={class:"layout__main"},ss={class:"layout__header"},rs={class:"layout__content"},as={key:1,class:"layout layout--top"},is={class:"layout__top-menu"},cs={class:"layout__main"},ds={class:"layout__content"},ms={key:2,class:"layout layout--mix"},ps={class:"layout__mix-top-menu"},fs={class:"layout__mix-body"},us={class:"layout__content"},ct=ge(e.defineComponent({__name:"index",props:{logoSrc:{default:"/vite.svg"}},setup(o){const p=o,g=Se(),f=xe(),h=e.computed(()=>g.isCollapsed?"64px":"210px"),V=e.computed(()=>g.layout),_=e.computed(()=>V.value==="mix"),u=e.computed(()=>V.value==="sidebar"?f.menuList:V.value==="mix"?g.mixSubMenus:[]),w=e.computed(()=>_.value?u.value.length>0:!1);return(x,y)=>{const I=e.resolveComponent("router-view");return e.openBlock(),e.createElementBlock(e.Fragment,null,[V.value==="sidebar"?(e.openBlock(),e.createElementBlock("div",os,[e.createElementVNode("aside",{class:"layout__aside",style:e.normalizeStyle({width:h.value})},[e.createVNode(it,{"menu-list":u.value,"show-logo":!0,"show-user":!0,"logo-src":p.logoSrc},null,8,["menu-list","logo-src"])],4),e.createElementVNode("div",ls,[e.createElementVNode("header",ss,[e.createVNode(It)]),e.createElementVNode("main",rs,[e.createVNode(I)])])])):e.createCommentVNode("",!0),V.value==="top"?(e.openBlock(),e.createElementBlock("div",as,[e.createElementVNode("div",is,[e.createVNode(pl,{"logo-src":p.logoSrc},null,8,["logo-src"])]),e.createElementVNode("div",cs,[e.createElementVNode("main",ds,[e.createVNode(I)])])])):e.createCommentVNode("",!0),V.value==="mix"?(e.openBlock(),e.createElementBlock("div",ms,[e.createElementVNode("div",ps,[e.createVNode(ns,{"logo-src":p.logoSrc},null,8,["logo-src"])]),e.createElementVNode("div",fs,[w.value?(e.openBlock(),e.createElementBlock("aside",{key:0,class:"layout__aside",style:e.normalizeStyle({width:h.value})},[e.createVNode(it,{"menu-list":u.value,"show-logo":!1,"show-user":!1},null,8,["menu-list"])],4)):e.createCommentVNode("",!0),e.createElementVNode("main",us,[e.createVNode(I)])])])):e.createCommentVNode("",!0)],64)}}}),[["__scopeId","data-v-3317ef3c"]]),hs=Object.freeze(Object.defineProperty({__proto__:null,default:ct},Symbol.toStringTag,{value:"Module"})),gs={class:"tabs-wrapper"},_s={class:"tab-label"},Ns=["onClick"],Es=ge(e.defineComponent({__name:"Tabs",setup(o){const p=ie.useRoute(),g=ie.useRouter(),f=e.computed(()=>{const u=[];return p.matched.forEach(w=>{var x;(x=w.meta)!=null&&x.affix&&u.push({name:w.name,title:w.meta.title,path:w.path,affix:!0})}),u}),h=e.computed(()=>p.path),V=u=>{g.push(u)},_=u=>{const w=f.value.find(x=>x.path===u);if(!(w!=null&&w.affix)&&u===h.value){const x=f.value.findIndex(I=>I.path===u),y=f.value[x-1]||f.value[x+1];y&&g.push(y.path)}};return(u,w)=>(e.openBlock(),e.createElementBlock("div",gs,[e.createVNode(e.unref(Ne.Tabs),{modelValue:h.value,"onUpdate:modelValue":w[0]||(w[0]=x=>h.value=x),type:"card",onTabClick:V},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value,x=>(e.openBlock(),e.createBlock(e.unref(Ne.TabPane),{key:x.path,name:x.path,label:x.title,closable:!x.affix},{label:e.withCtx(()=>[e.createElementVNode("span",_s,[e.createTextVNode(e.toDisplayString(x.title)+" ",1),x.affix?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",{key:0,class:"tab-close",onClick:e.withModifiers(y=>_(x.path),["stop"])}," ✕ ",8,Ns))])]),_:2},1032,["name","label","closable"]))),128))]),_:1},8,["modelValue"])]))}}),[["__scopeId","data-v-9156d8cd"]]),Vs={},ks={class:"footer"};function ys(o,p){return e.openBlock(),e.createElementBlock("div",ks,[...p[0]||(p[0]=[e.createElementVNode("span",null,"Copyright © 2024 Xto Demo. All Rights Reserved.",-1)])])}const ws=ge(Vs,[["render",ys],["__scopeId","data-v-4852826a"]]);var xs=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Cs(o){return o&&o.__esModule&&Object.prototype.hasOwnProperty.call(o,"default")?o.default:o}var Ge={exports:{}},Mt={exports:{}},Lt={exports:{}};(function(o){(function(p){var g,f=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,h=Math.ceil,V=Math.floor,_="[BigNumber Error] ",u=_+"Number primitive has more than 15 significant digits: ",w=1e14,x=14,y=9007199254740991,I=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],$=1e7,z=1e9;function K(d){var k,R,J,D=M.prototype={constructor:M,toString:null,valueOf:null},ee=new M(1),Z=20,q=4,le=-7,se=21,fe=-1e7,de=1e7,me=!1,pe=1,ue=0,be={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:" ",suffix:""},Ve="0123456789abcdefghijklmnopqrstuvwxyz",$e=!0;function M(t,n){var s,c,m,l,a,i,r,E,N=this;if(!(N instanceof M))return new M(t,n);if(n==null){if(t&&t._isBigNumber===!0){N.s=t.s,!t.c||t.e>de?N.c=N.e=null:t.e<fe?N.c=[N.e=0]:(N.e=t.e,N.c=t.c.slice());return}if((i=typeof t=="number")&&t*0==0){if(N.s=1/t<0?(t=-t,-1):1,t===~~t){for(l=0,a=t;a>=10;a/=10,l++);l>de?N.c=N.e=null:(N.e=l,N.c=[t]);return}E=String(t)}else{if(!f.test(E=String(t)))return J(N,E,i);N.s=E.charCodeAt(0)==45?(E=E.slice(1),-1):1}(l=E.indexOf("."))>-1&&(E=E.replace(".","")),(a=E.search(/e/i))>0?(l<0&&(l=a),l+=+E.slice(a+1),E=E.substring(0,a)):l<0&&(l=E.length)}else{if(C(n,2,Ve.length,"Base"),n==10&&$e)return N=new M(t),W(N,Z+N.e+1,q);if(E=String(t),i=typeof t=="number"){if(t*0!=0)return J(N,E,i,n);if(N.s=1/t<0?(E=E.slice(1),-1):1,M.DEBUG&&E.replace(/^0\.0*|\./,"").length>15)throw Error(u+t)}else N.s=E.charCodeAt(0)===45?(E=E.slice(1),-1):1;for(s=Ve.slice(0,n),l=a=0,r=E.length;a<r;a++)if(s.indexOf(c=E.charAt(a))<0){if(c=="."){if(a>l){l=r;continue}}else if(!m&&(E==E.toUpperCase()&&(E=E.toLowerCase())||E==E.toLowerCase()&&(E=E.toUpperCase()))){m=!0,a=-1,l=0;continue}return J(N,String(t),i,n)}i=!1,E=R(E,n,10,N.s),(l=E.indexOf("."))>-1?E=E.replace(".",""):l=E.length}for(a=0;E.charCodeAt(a)===48;a++);for(r=E.length;E.charCodeAt(--r)===48;);if(E=E.slice(a,++r)){if(r-=a,i&&M.DEBUG&&r>15&&(t>y||t!==V(t)))throw Error(u+N.s*t);if((l=l-a-1)>de)N.c=N.e=null;else if(l<fe)N.c=[N.e=0];else{if(N.e=l,N.c=[],a=(l+1)%x,l<0&&(a+=x),a<r){for(a&&N.c.push(+E.slice(0,a)),r-=x;a<r;)N.c.push(+E.slice(a,a+=x));a=x-(E=E.slice(a)).length}else a-=r;for(;a--;E+="0");N.c.push(+E)}}else N.c=[N.e=0]}M.clone=K,M.ROUND_UP=0,M.ROUND_DOWN=1,M.ROUND_CEIL=2,M.ROUND_FLOOR=3,M.ROUND_HALF_UP=4,M.ROUND_HALF_DOWN=5,M.ROUND_HALF_EVEN=6,M.ROUND_HALF_CEIL=7,M.ROUND_HALF_FLOOR=8,M.EUCLID=9,M.config=M.set=function(t){var n,s;if(t!=null)if(typeof t=="object"){if(t.hasOwnProperty(n="DECIMAL_PLACES")&&(s=t[n],C(s,0,z,n),Z=s),t.hasOwnProperty(n="ROUNDING_MODE")&&(s=t[n],C(s,0,8,n),q=s),t.hasOwnProperty(n="EXPONENTIAL_AT")&&(s=t[n],s&&s.pop?(C(s[0],-z,0,n),C(s[1],0,z,n),le=s[0],se=s[1]):(C(s,-z,z,n),le=-(se=s<0?-s:s))),t.hasOwnProperty(n="RANGE"))if(s=t[n],s&&s.pop)C(s[0],-z,-1,n),C(s[1],1,z,n),fe=s[0],de=s[1];else if(C(s,-z,z,n),s)fe=-(de=s<0?-s:s);else throw Error(_+n+" cannot be zero: "+s);if(t.hasOwnProperty(n="CRYPTO"))if(s=t[n],s===!!s)if(s)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))me=s;else throw me=!s,Error(_+"crypto unavailable");else me=s;else throw Error(_+n+" not true or false: "+s);if(t.hasOwnProperty(n="MODULO_MODE")&&(s=t[n],C(s,0,9,n),pe=s),t.hasOwnProperty(n="POW_PRECISION")&&(s=t[n],C(s,0,z,n),ue=s),t.hasOwnProperty(n="FORMAT"))if(s=t[n],typeof s=="object")be=s;else throw Error(_+n+" not an object: "+s);if(t.hasOwnProperty(n="ALPHABET"))if(s=t[n],typeof s=="string"&&!/^.?$|[+\-.\s]|(.).*\1/.test(s))$e=s.slice(0,10)=="0123456789",Ve=s;else throw Error(_+n+" invalid: "+s)}else throw Error(_+"Object expected: "+t);return{DECIMAL_PLACES:Z,ROUNDING_MODE:q,EXPONENTIAL_AT:[le,se],RANGE:[fe,de],CRYPTO:me,MODULO_MODE:pe,POW_PRECISION:ue,FORMAT:be,ALPHABET:Ve}},M.isBigNumber=function(t){if(!t||t._isBigNumber!==!0)return!1;if(!M.DEBUG)return!0;var n,s,c=t.c,m=t.e,l=t.s;e:if({}.toString.call(c)=="[object Array]"){if((l===1||l===-1)&&m>=-z&&m<=z&&m===V(m)){if(c[0]===0){if(m===0&&c.length===1)return!0;break e}if(n=(m+1)%x,n<1&&(n+=x),String(c[0]).length==n){for(n=0;n<c.length;n++)if(s=c[n],s<0||s>=w||s!==V(s))break e;if(s!==0)return!0}}}else if(c===null&&m===null&&(l===null||l===1||l===-1))return!0;throw Error(_+"Invalid BigNumber: "+t)},M.maximum=M.max=function(){return Me(arguments,-1)},M.minimum=M.min=function(){return Me(arguments,1)},M.random=function(){var t=9007199254740992,n=Math.random()*t&2097151?function(){return V(Math.random()*t)}:function(){return(Math.random()*1073741824|0)*8388608+(Math.random()*8388608|0)};return function(s){var c,m,l,a,i,r=0,E=[],N=new M(ee);if(s==null?s=Z:C(s,0,z),a=h(s/x),me)if(crypto.getRandomValues){for(c=crypto.getRandomValues(new Uint32Array(a*=2));r<a;)i=c[r]*131072+(c[r+1]>>>11),i>=9e15?(m=crypto.getRandomValues(new Uint32Array(2)),c[r]=m[0],c[r+1]=m[1]):(E.push(i%1e14),r+=2);r=a/2}else if(crypto.randomBytes){for(c=crypto.randomBytes(a*=7);r<a;)i=(c[r]&31)*281474976710656+c[r+1]*1099511627776+c[r+2]*4294967296+c[r+3]*16777216+(c[r+4]<<16)+(c[r+5]<<8)+c[r+6],i>=9e15?crypto.randomBytes(7).copy(c,r):(E.push(i%1e14),r+=7);r=a/7}else throw me=!1,Error(_+"crypto unavailable");if(!me)for(;r<a;)i=n(),i<9e15&&(E[r++]=i%1e14);for(a=E[--r],s%=x,a&&s&&(i=I[x-s],E[r]=V(a/i)*i);E[r]===0;E.pop(),r--);if(r<0)E=[l=0];else{for(l=-1;E[0]===0;E.splice(0,1),l-=x);for(r=1,i=E[0];i>=10;i/=10,r++);r<x&&(l-=x-r)}return N.e=l,N.c=E,N}}(),M.sum=function(){for(var t=1,n=arguments,s=new M(n[0]);t<n.length;)s=s.plus(n[t++]);return s},R=function(){var t="0123456789";function n(s,c,m,l){for(var a,i=[0],r,E=0,N=s.length;E<N;){for(r=i.length;r--;i[r]*=c);for(i[0]+=l.indexOf(s.charAt(E++)),a=0;a<i.length;a++)i[a]>m-1&&(i[a+1]==null&&(i[a+1]=0),i[a+1]+=i[a]/m|0,i[a]%=m)}return i.reverse()}return function(s,c,m,l,a){var i,r,E,N,b,j,H,v,re=s.indexOf("."),ce=Z,Q=q;for(re>=0&&(N=ue,ue=0,s=s.replace(".",""),v=new M(c),j=v.pow(s.length-re),ue=N,v.c=n(U(L(j.c),j.e,"0"),10,m,t),v.e=v.c.length),H=n(s,c,m,a?(i=Ve,t):(i=t,Ve)),E=N=H.length;H[--N]==0;H.pop());if(!H[0])return i.charAt(0);if(re<0?--E:(j.c=H,j.e=E,j.s=l,j=k(j,v,ce,Q,m),H=j.c,b=j.r,E=j.e),r=E+ce+1,re=H[r],N=m/2,b=b||r<0||H[r+1]!=null,b=Q<4?(re!=null||b)&&(Q==0||Q==(j.s<0?3:2)):re>N||re==N&&(Q==4||b||Q==6&&H[r-1]&1||Q==(j.s<0?8:7)),r<1||!H[0])s=b?U(i.charAt(1),-ce,i.charAt(0)):i.charAt(0);else{if(H.length=r,b)for(--m;++H[--r]>m;)H[r]=0,r||(++E,H=[1].concat(H));for(N=H.length;!H[--N];);for(re=0,s="";re<=N;s+=i.charAt(H[re++]));s=U(s,E,i.charAt(0))}return s}}(),k=function(){function t(c,m,l){var a,i,r,E,N=0,b=c.length,j=m%$,H=m/$|0;for(c=c.slice();b--;)r=c[b]%$,E=c[b]/$|0,a=H*r+E*j,i=j*r+a%$*$+N,N=(i/l|0)+(a/$|0)+H*E,c[b]=i%l;return N&&(c=[N].concat(c)),c}function n(c,m,l,a){var i,r;if(l!=a)r=l>a?1:-1;else for(i=r=0;i<l;i++)if(c[i]!=m[i]){r=c[i]>m[i]?1:-1;break}return r}function s(c,m,l,a){for(var i=0;l--;)c[l]-=i,i=c[l]<m[l]?1:0,c[l]=i*a+c[l]-m[l];for(;!c[0]&&c.length>1;c.splice(0,1));}return function(c,m,l,a,i){var r,E,N,b,j,H,v,re,ce,Q,te,he,Xe,ut,ht,Be,Re,ye=c.s==m.s?1:-1,_e=c.c,ae=m.c;if(!_e||!_e[0]||!ae||!ae[0])return new M(!c.s||!m.s||(_e?ae&&_e[0]==ae[0]:!ae)?NaN:_e&&_e[0]==0||!ae?ye*0:ye/0);for(re=new M(ye),ce=re.c=[],E=c.e-m.e,ye=l+E+1,i||(i=w,E=T(c.e/x)-T(m.e/x),ye=ye/x|0),N=0;ae[N]==(_e[N]||0);N++);if(ae[N]>(_e[N]||0)&&E--,ye<0)ce.push(1),b=!0;else{for(ut=_e.length,Be=ae.length,N=0,ye+=2,j=V(i/(ae[0]+1)),j>1&&(ae=t(ae,j,i),_e=t(_e,j,i),Be=ae.length,ut=_e.length),Xe=Be,Q=_e.slice(0,Be),te=Q.length;te<Be;Q[te++]=0);Re=ae.slice(),Re=[0].concat(Re),ht=ae[0],ae[1]>=i/2&&ht++;do{if(j=0,r=n(ae,Q,Be,te),r<0){if(he=Q[0],Be!=te&&(he=he*i+(Q[1]||0)),j=V(he/ht),j>1)for(j>=i&&(j=i-1),H=t(ae,j,i),v=H.length,te=Q.length;n(H,Q,v,te)==1;)j--,s(H,Be<v?Re:ae,v,i),v=H.length,r=1;else j==0&&(r=j=1),H=ae.slice(),v=H.length;if(v<te&&(H=[0].concat(H)),s(Q,H,te,i),te=Q.length,r==-1)for(;n(ae,Q,Be,te)<1;)j++,s(Q,Be<te?Re:ae,te,i),te=Q.length}else r===0&&(j++,Q=[0]);ce[N++]=j,Q[0]?Q[te++]=_e[Xe]||0:(Q=[_e[Xe]],te=1)}while((Xe++<ut||Q[0]!=null)&&ye--);b=Q[0]!=null,ce[0]||ce.splice(0,1)}if(i==w){for(N=1,ye=ce[0];ye>=10;ye/=10,N++);W(re,l+(re.e=N+E*x-1)+1,a,b)}else re.e=E,re.r=+b;return re}}();function Ie(t,n,s,c){var m,l,a,i,r;if(s==null?s=q:C(s,0,8),!t.c)return t.toString();if(m=t.c[0],a=t.e,n==null)r=L(t.c),r=c==1||c==2&&(a<=le||a>=se)?Y(r,a):U(r,a,"0");else if(t=W(new M(t),n,s),l=t.e,r=L(t.c),i=r.length,c==1||c==2&&(n<=l||l<=le)){for(;i<n;r+="0",i++);r=Y(r,l)}else if(n-=a+(c===2&&l>a),r=U(r,l,"0"),l+1>i){if(--n>0)for(r+=".";n--;r+="0");}else if(n+=l-i,n>0)for(l+1==i&&(r+=".");n--;r+="0");return t.s<0&&m?"-"+r:r}function Me(t,n){for(var s,c,m=1,l=new M(t[0]);m<t.length;m++)c=new M(t[m]),(!c.s||(s=B(l,c))===n||s===0&&l.s===n)&&(l=c);return l}function Ce(t,n,s){for(var c=1,m=n.length;!n[--m];n.pop());for(m=n[0];m>=10;m/=10,c++);return(s=c+s*x-1)>de?t.c=t.e=null:s<fe?t.c=[t.e=0]:(t.e=s,t.c=n),t}J=function(){var t=/^(-?)0([xbo])(?=\w[\w.]*$)/i,n=/^([^.]+)\.$/,s=/^\.([^.]+)$/,c=/^-?(Infinity|NaN)$/,m=/^\s*\+(?=[\w.])|^\s+|\s+$/g;return function(l,a,i,r){var E,N=i?a:a.replace(m,"");if(c.test(N))l.s=isNaN(N)?null:N<0?-1:1;else{if(!i&&(N=N.replace(t,function(b,j,H){return E=(H=H.toLowerCase())=="x"?16:H=="b"?2:8,!r||r==E?j:b}),r&&(E=r,N=N.replace(n,"$1").replace(s,"0.$1")),a!=N))return new M(N,E);if(M.DEBUG)throw Error(_+"Not a"+(r?" base "+r:"")+" number: "+a);l.s=null}l.c=l.e=null}}();function W(t,n,s,c){var m,l,a,i,r,E,N,b=t.c,j=I;if(b){e:{for(m=1,i=b[0];i>=10;i/=10,m++);if(l=n-m,l<0)l+=x,a=n,r=b[E=0],N=V(r/j[m-a-1]%10);else if(E=h((l+1)/x),E>=b.length)if(c){for(;b.length<=E;b.push(0));r=N=0,m=1,l%=x,a=l-x+1}else break e;else{for(r=i=b[E],m=1;i>=10;i/=10,m++);l%=x,a=l-x+m,N=a<0?0:V(r/j[m-a-1]%10)}if(c=c||n<0||b[E+1]!=null||(a<0?r:r%j[m-a-1]),c=s<4?(N||c)&&(s==0||s==(t.s<0?3:2)):N>5||N==5&&(s==4||c||s==6&&(l>0?a>0?r/j[m-a]:0:b[E-1])%10&1||s==(t.s<0?8:7)),n<1||!b[0])return b.length=0,c?(n-=t.e+1,b[0]=j[(x-n%x)%x],t.e=-n||0):b[0]=t.e=0,t;if(l==0?(b.length=E,i=1,E--):(b.length=E+1,i=j[x-l],b[E]=a>0?V(r/j[m-a]%j[a])*i:0),c)for(;;)if(E==0){for(l=1,a=b[0];a>=10;a/=10,l++);for(a=b[0]+=i,i=1;a>=10;a/=10,i++);l!=i&&(t.e++,b[0]==w&&(b[0]=1));break}else{if(b[E]+=i,b[E]!=w)break;b[E--]=0,i=1}for(l=b.length;b[--l]===0;b.pop());}t.e>de?t.c=t.e=null:t.e<fe&&(t.c=[t.e=0])}return t}function F(t){var n,s=t.e;return s===null?t.toString():(n=L(t.c),n=s<=le||s>=se?Y(n,s):U(n,s,"0"),t.s<0?"-"+n:n)}return D.absoluteValue=D.abs=function(){var t=new M(this);return t.s<0&&(t.s=1),t},D.comparedTo=function(t,n){return B(this,new M(t,n))},D.decimalPlaces=D.dp=function(t,n){var s,c,m,l=this;if(t!=null)return C(t,0,z),n==null?n=q:C(n,0,8),W(new M(l),t+l.e+1,n);if(!(s=l.c))return null;if(c=((m=s.length-1)-T(this.e/x))*x,m=s[m])for(;m%10==0;m/=10,c--);return c<0&&(c=0),c},D.dividedBy=D.div=function(t,n){return k(this,new M(t,n),Z,q)},D.dividedToIntegerBy=D.idiv=function(t,n){return k(this,new M(t,n),0,1)},D.exponentiatedBy=D.pow=function(t,n){var s,c,m,l,a,i,r,E,N,b=this;if(t=new M(t),t.c&&!t.isInteger())throw Error(_+"Exponent not an integer: "+F(t));if(n!=null&&(n=new M(n)),i=t.e>14,!b.c||!b.c[0]||b.c[0]==1&&!b.e&&b.c.length==1||!t.c||!t.c[0])return N=new M(Math.pow(+F(b),i?t.s*(2-P(t)):+F(t))),n?N.mod(n):N;if(r=t.s<0,n){if(n.c?!n.c[0]:!n.s)return new M(NaN);c=!r&&b.isInteger()&&n.isInteger(),c&&(b=b.mod(n))}else{if(t.e>9&&(b.e>0||b.e<-1||(b.e==0?b.c[0]>1||i&&b.c[1]>=24e7:b.c[0]<8e13||i&&b.c[0]<=9999975e7)))return l=b.s<0&&P(t)?-0:0,b.e>-1&&(l=1/l),new M(r?1/l:l);ue&&(l=h(ue/x+2))}for(i?(s=new M(.5),r&&(t.s=1),E=P(t)):(m=Math.abs(+F(t)),E=m%2),N=new M(ee);;){if(E){if(N=N.times(b),!N.c)break;l?N.c.length>l&&(N.c.length=l):c&&(N=N.mod(n))}if(m){if(m=V(m/2),m===0)break;E=m%2}else if(t=t.times(s),W(t,t.e+1,1),t.e>14)E=P(t);else{if(m=+F(t),m===0)break;E=m%2}b=b.times(b),l?b.c&&b.c.length>l&&(b.c.length=l):c&&(b=b.mod(n))}return c?N:(r&&(N=ee.div(N)),n?N.mod(n):l?W(N,ue,q,a):N)},D.integerValue=function(t){var n=new M(this);return t==null?t=q:C(t,0,8),W(n,n.e+1,t)},D.isEqualTo=D.eq=function(t,n){return B(this,new M(t,n))===0},D.isFinite=function(){return!!this.c},D.isGreaterThan=D.gt=function(t,n){return B(this,new M(t,n))>0},D.isGreaterThanOrEqualTo=D.gte=function(t,n){return(n=B(this,new M(t,n)))===1||n===0},D.isInteger=function(){return!!this.c&&T(this.e/x)>this.c.length-2},D.isLessThan=D.lt=function(t,n){return B(this,new M(t,n))<0},D.isLessThanOrEqualTo=D.lte=function(t,n){return(n=B(this,new M(t,n)))===-1||n===0},D.isNaN=function(){return!this.s},D.isNegative=function(){return this.s<0},D.isPositive=function(){return this.s>0},D.isZero=function(){return!!this.c&&this.c[0]==0},D.minus=function(t,n){var s,c,m,l,a=this,i=a.s;if(t=new M(t,n),n=t.s,!i||!n)return new M(NaN);if(i!=n)return t.s=-n,a.plus(t);var r=a.e/x,E=t.e/x,N=a.c,b=t.c;if(!r||!E){if(!N||!b)return N?(t.s=-n,t):new M(b?a:NaN);if(!N[0]||!b[0])return b[0]?(t.s=-n,t):new M(N[0]?a:q==3?-0:0)}if(r=T(r),E=T(E),N=N.slice(),i=r-E){for((l=i<0)?(i=-i,m=N):(E=r,m=b),m.reverse(),n=i;n--;m.push(0));m.reverse()}else for(c=(l=(i=N.length)<(n=b.length))?i:n,i=n=0;n<c;n++)if(N[n]!=b[n]){l=N[n]<b[n];break}if(l&&(m=N,N=b,b=m,t.s=-t.s),n=(c=b.length)-(s=N.length),n>0)for(;n--;N[s++]=0);for(n=w-1;c>i;){if(N[--c]<b[c]){for(s=c;s&&!N[--s];N[s]=n);--N[s],N[c]+=w}N[c]-=b[c]}for(;N[0]==0;N.splice(0,1),--E);return N[0]?Ce(t,N,E):(t.s=q==3?-1:1,t.c=[t.e=0],t)},D.modulo=D.mod=function(t,n){var s,c,m=this;return t=new M(t,n),!m.c||!t.s||t.c&&!t.c[0]?new M(NaN):!t.c||m.c&&!m.c[0]?new M(m):(pe==9?(c=t.s,t.s=1,s=k(m,t,0,3),t.s=c,s.s*=c):s=k(m,t,0,pe),t=m.minus(s.times(t)),!t.c[0]&&pe==1&&(t.s=m.s),t)},D.multipliedBy=D.times=function(t,n){var s,c,m,l,a,i,r,E,N,b,j,H,v,re,ce,Q=this,te=Q.c,he=(t=new M(t,n)).c;if(!te||!he||!te[0]||!he[0])return!Q.s||!t.s||te&&!te[0]&&!he||he&&!he[0]&&!te?t.c=t.e=t.s=null:(t.s*=Q.s,!te||!he?t.c=t.e=null:(t.c=[0],t.e=0)),t;for(c=T(Q.e/x)+T(t.e/x),t.s*=Q.s,r=te.length,b=he.length,r<b&&(v=te,te=he,he=v,m=r,r=b,b=m),m=r+b,v=[];m--;v.push(0));for(re=w,ce=$,m=b;--m>=0;){for(s=0,j=he[m]%ce,H=he[m]/ce|0,a=r,l=m+a;l>m;)E=te[--a]%ce,N=te[a]/ce|0,i=H*E+N*j,E=j*E+i%ce*ce+v[l]+s,s=(E/re|0)+(i/ce|0)+H*N,v[l--]=E%re;v[l]=s}return s?++c:v.splice(0,1),Ce(t,v,c)},D.negated=function(){var t=new M(this);return t.s=-t.s||null,t},D.plus=function(t,n){var s,c=this,m=c.s;if(t=new M(t,n),n=t.s,!m||!n)return new M(NaN);if(m!=n)return t.s=-n,c.minus(t);var l=c.e/x,a=t.e/x,i=c.c,r=t.c;if(!l||!a){if(!i||!r)return new M(m/0);if(!i[0]||!r[0])return r[0]?t:new M(i[0]?c:m*0)}if(l=T(l),a=T(a),i=i.slice(),m=l-a){for(m>0?(a=l,s=r):(m=-m,s=i),s.reverse();m--;s.push(0));s.reverse()}for(m=i.length,n=r.length,m-n<0&&(s=r,r=i,i=s,n=m),m=0;n;)m=(i[--n]=i[n]+r[n]+m)/w|0,i[n]=w===i[n]?0:i[n]%w;return m&&(i=[m].concat(i),++a),Ce(t,i,a)},D.precision=D.sd=function(t,n){var s,c,m,l=this;if(t!=null&&t!==!!t)return C(t,1,z),n==null?n=q:C(n,0,8),W(new M(l),t,n);if(!(s=l.c))return null;if(m=s.length-1,c=m*x+1,m=s[m]){for(;m%10==0;m/=10,c--);for(m=s[0];m>=10;m/=10,c++);}return t&&l.e+1>c&&(c=l.e+1),c},D.shiftedBy=function(t){return C(t,-y,y),this.times("1e"+t)},D.squareRoot=D.sqrt=function(){var t,n,s,c,m,l=this,a=l.c,i=l.s,r=l.e,E=Z+4,N=new M("0.5");if(i!==1||!a||!a[0])return new M(!i||i<0&&(!a||a[0])?NaN:a?l:1/0);if(i=Math.sqrt(+F(l)),i==0||i==1/0?(n=L(a),(n.length+r)%2==0&&(n+="0"),i=Math.sqrt(+n),r=T((r+1)/2)-(r<0||r%2),i==1/0?n="5e"+r:(n=i.toExponential(),n=n.slice(0,n.indexOf("e")+1)+r),s=new M(n)):s=new M(i+""),s.c[0]){for(r=s.e,i=r+E,i<3&&(i=0);;)if(m=s,s=N.times(m.plus(k(l,m,E,1))),L(m.c).slice(0,i)===(n=L(s.c)).slice(0,i))if(s.e<r&&--i,n=n.slice(i-3,i+1),n=="9999"||!c&&n=="4999"){if(!c&&(W(m,m.e+Z+2,0),m.times(m).eq(l))){s=m;break}E+=4,i+=4,c=1}else{(!+n||!+n.slice(1)&&n.charAt(0)=="5")&&(W(s,s.e+Z+2,1),t=!s.times(s).eq(l));break}}return W(s,s.e+Z+1,q,t)},D.toExponential=function(t,n){return t!=null&&(C(t,0,z),t++),Ie(this,t,n,1)},D.toFixed=function(t,n){return t!=null&&(C(t,0,z),t=t+this.e+1),Ie(this,t,n)},D.toFormat=function(t,n,s){var c,m=this;if(s==null)t!=null&&n&&typeof n=="object"?(s=n,n=null):t&&typeof t=="object"?(s=t,t=n=null):s=be;else if(typeof s!="object")throw Error(_+"Argument not an object: "+s);if(c=m.toFixed(t,n),m.c){var l,a=c.split("."),i=+s.groupSize,r=+s.secondaryGroupSize,E=s.groupSeparator||"",N=a[0],b=a[1],j=m.s<0,H=j?N.slice(1):N,v=H.length;if(r&&(l=i,i=r,r=l,v-=l),i>0&&v>0){for(l=v%i||i,N=H.substr(0,l);l<v;l+=i)N+=E+H.substr(l,i);r>0&&(N+=E+H.slice(l)),j&&(N="-"+N)}c=b?N+(s.decimalSeparator||"")+((r=+s.fractionGroupSize)?b.replace(new RegExp("\\d{"+r+"}\\B","g"),"$&"+(s.fractionGroupSeparator||"")):b):N}return(s.prefix||"")+c+(s.suffix||"")},D.toFraction=function(t){var n,s,c,m,l,a,i,r,E,N,b,j,H=this,v=H.c;if(t!=null&&(i=new M(t),!i.isInteger()&&(i.c||i.s!==1)||i.lt(ee)))throw Error(_+"Argument "+(i.isInteger()?"out of range: ":"not an integer: ")+F(i));if(!v)return new M(H);for(n=new M(ee),E=s=new M(ee),c=r=new M(ee),j=L(v),l=n.e=j.length-H.e-1,n.c[0]=I[(a=l%x)<0?x+a:a],t=!t||i.comparedTo(n)>0?l>0?n:E:i,a=de,de=1/0,i=new M(j),r.c[0]=0;N=k(i,n,0,1),m=s.plus(N.times(c)),m.comparedTo(t)!=1;)s=c,c=m,E=r.plus(N.times(m=E)),r=m,n=i.minus(N.times(m=n)),i=m;return m=k(t.minus(s),c,0,1),r=r.plus(m.times(E)),s=s.plus(m.times(c)),r.s=E.s=H.s,l=l*2,b=k(E,c,l,q).minus(H).abs().comparedTo(k(r,s,l,q).minus(H).abs())<1?[E,c]:[r,s],de=a,b},D.toNumber=function(){return+F(this)},D.toPrecision=function(t,n){return t!=null&&C(t,1,z),Ie(this,t,n,2)},D.toString=function(t){var n,s=this,c=s.s,m=s.e;return m===null?c?(n="Infinity",c<0&&(n="-"+n)):n="NaN":(t==null?n=m<=le||m>=se?Y(L(s.c),m):U(L(s.c),m,"0"):t===10&&$e?(s=W(new M(s),Z+m+1,q),n=U(L(s.c),s.e,"0")):(C(t,2,Ve.length,"Base"),n=R(U(L(s.c),m,"0"),10,t,c,!0)),c<0&&s.c[0]&&(n="-"+n)),n},D.valueOf=D.toJSON=function(){return F(this)},D._isBigNumber=!0,d!=null&&M.set(d),M}function T(d){var k=d|0;return d>0||d===k?k:k-1}function L(d){for(var k,R,J=1,D=d.length,ee=d[0]+"";J<D;){for(k=d[J++]+"",R=x-k.length;R--;k="0"+k);ee+=k}for(D=ee.length;ee.charCodeAt(--D)===48;);return ee.slice(0,D+1||1)}function B(d,k){var R,J,D=d.c,ee=k.c,Z=d.s,q=k.s,le=d.e,se=k.e;if(!Z||!q)return null;if(R=D&&!D[0],J=ee&&!ee[0],R||J)return R?J?0:-q:Z;if(Z!=q)return Z;if(R=Z<0,J=le==se,!D||!ee)return J?0:!D^R?1:-1;if(!J)return le>se^R?1:-1;for(q=(le=D.length)<(se=ee.length)?le:se,Z=0;Z<q;Z++)if(D[Z]!=ee[Z])return D[Z]>ee[Z]^R?1:-1;return le==se?0:le>se^R?1:-1}function C(d,k,R,J){if(d<k||d>R||d!==V(d))throw Error(_+(J||"Argument")+(typeof d=="number"?d<k||d>R?" out of range: ":" not an integer: ":" not a primitive number: ")+String(d))}function P(d){var k=d.c.length-1;return T(d.e/x)==k&&d.c[k]%2!=0}function Y(d,k){return(d.length>1?d.charAt(0)+"."+d.slice(1):d)+(k<0?"e":"e+")+k}function U(d,k,R){var J,D;if(k<0){for(D=R+".";++k;D+=R);d=D+d}else if(J=d.length,++k>J){for(D=R,k-=J;--k;D+=R);d+=D}else k<J&&(d=d.slice(0,k)+"."+d.slice(k));return d}g=K(),g.default=g.BigNumber=g,o.exports?o.exports=g:(p||(p=typeof self<"u"&&self?self:window),p.BigNumber=g)})(xs)})(Lt);var Dt=Lt.exports;(function(o){var p=Dt,g=o.exports;(function(){var f=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,h,V,_={"\b":"\\b"," ":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},u;function w(y){return f.lastIndex=0,f.test(y)?'"'+y.replace(f,function(I){var $=_[I];return typeof $=="string"?$:"\\u"+("0000"+I.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+y+'"'}function x(y,I){var $,z,K,T,L=h,B,C=I[y],P=C!=null&&(C instanceof p||p.isBigNumber(C));switch(C&&typeof C=="object"&&typeof C.toJSON=="function"&&(C=C.toJSON(y)),typeof u=="function"&&(C=u.call(I,y,C)),typeof C){case"string":return P?C:w(C);case"number":return isFinite(C)?String(C):"null";case"boolean":case"null":case"bigint":return String(C);case"object":if(!C)return"null";if(h+=V,B=[],Object.prototype.toString.apply(C)==="[object Array]"){for(T=C.length,$=0;$<T;$+=1)B[$]=x($,C)||"null";return K=B.length===0?"[]":h?`[
|
|
1
|
+
(function(S,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("pinia"),require("vue-router"),require("@xto/navigation"),require("@xto/base"),require("@xto/feedback"),require("@xto/form"),require("axios"),require("@xto/core/locale"),require("@xto/data")):typeof define=="function"&&define.amd?define(["exports","vue","pinia","vue-router","@xto/navigation","@xto/base","@xto/feedback","@xto/form","axios","@xto/core/locale","@xto/data"],e):(S=typeof globalThis<"u"?globalThis:S||self,e(S.XtoFronted={},S.Vue,S.Pinia,S.VueRouter,S.navigation,S.base,S.feedback,S.form,S.axios,S.locale$1,S.data))})(this,function(S,e,Ae,ie,Ne,A,ne,O,Jt,Ye,we){"use strict";const qe=e.ref(""),je=e.ref(""),He=e.ref("");function gt(o){o.appId&&(qe.value=o.appId),o.clientId&&(je.value=o.clientId),o.apiBaseUrl&&(He.value=o.apiBaseUrl)}function Ue(){if(qe.value)return qe.value;try{return""}catch{return""}}function Je(){if(je.value)return je.value;try{return""}catch{return""}}function _t(){if(He.value)return He.value;try{return""}catch{return""}}const Zt={appId:qe,clientId:je,apiBaseUrl:He},ze="xto_",Nt=o=>({get(p){const g=o.getItem(ze+p);if(!g)return null;try{return JSON.parse(g)}catch{return g}},set(p,g){if(g==null){o.removeItem(ze+p);return}const f=typeof g=="string"?g:JSON.stringify(g);o.setItem(ze+p,f)},remove(p){o.removeItem(ze+p)},clear(){Object.keys(o).forEach(g=>{g.startsWith(ze)&&o.removeItem(g)})}}),Oe=Nt(window.localStorage),Fe=Nt(window.sessionStorage),G={get:Oe.get,set:Oe.set,remove:Oe.remove,clear:Oe.clear},Qt={get:Fe.get,set:Fe.set,remove:Fe.remove,clear:Fe.clear},Se=Ae.defineStore("app",()=>{const o=e.ref(G.get("appName")||"XTO App"),p=e.ref(G.get("indexPath")||"/dashboard"),g=e.ref(G.get("isDark")||!1),f=e.ref(G.get("theme")||"light"),h=e.ref(G.get("layout")||"sidebar"),V=e.ref(G.get("isCollapsed")||!1),_=e.ref(G.get("showTabs")??!0),u=e.ref(G.get("showFooter")??!0),w=e.ref(G.get("showBreadcrumb")??!0),x=e.ref(G.get("primaryColor")||"#409eff"),y=e.ref([]),I=e.ref([]),$=e.computed(()=>g.value?"dark":"light"),z=q=>{o.value=q,G.set("appName",q)},K=q=>{p.value=q,G.set("indexPath",q)},T=()=>{g.value=!g.value,f.value=g.value?"dark":"light",B()},M=q=>{f.value=q,g.value=q==="dark",B()},B=()=>{const q=document.documentElement;g.value?q.classList.add("dark"):q.classList.remove("dark"),G.set("isDark",g.value),G.set("theme",f.value)},C=()=>{V.value=!V.value,G.set("isCollapsed",V.value)},P=q=>{h.value=q,G.set("layout",q)},Y=()=>{_.value=!_.value,G.set("showTabs",_.value)},U=()=>{u.value=!u.value,G.set("showFooter",u.value)},d=()=>{w.value=!w.value,G.set("showBreadcrumb",w.value)},k=q=>{x.value=q,document.documentElement.style.setProperty("--color-primary",q),G.set("primaryColor",q)},R=q=>{y.value.includes(q)||y.value.push(q)},J=q=>{const le=y.value.indexOf(q);le>-1&&y.value.splice(le,1)},D=()=>{y.value=[]},ee=q=>{I.value=q},Z=()=>{B(),x.value!=="#409eff"&&document.documentElement.style.setProperty("--color-primary",x.value)};return e.watch(g,B),{appName:o,indexPath:p,isDark:g,theme:f,layout:h,isCollapsed:V,showTabs:_,showFooter:u,showBreadcrumb:w,primaryColor:x,cachedViews:y,mixSubMenus:I,themeClass:$,setAppName:z,setIndexPath:K,toggleTheme:T,toggleCollapse:C,setTheme:M,setLayout:P,toggleTabs:Y,toggleFooter:U,toggleBreadcrumb:d,setPrimaryColor:k,addCachedView:R,removeCachedView:J,clearCachedViews:D,setMixSubMenus:ee,initTheme:Z}}),Ze="menu_list",Qe="permission_list",vt={menuCode:"home",menuName:"首页",menuUrl:"/dashboard",icon:"home",closable:!1,isDefault:!1,isOut:!1};function Et(o){return o.filter(p=>p.type!==1).map(p=>({...p,children:p.children?Et(p.children):void 0}))}function en(o){const p=[];function g(f){f.forEach(h=>{h.type===1&&h.menuCode&&p.push(h.menuCode),h.children&&g(h.children)})}return g(o),p}const xe=Ae.defineStore("menu",()=>{const o=e.ref(G.get(Ze)||[]),p=e.ref(G.get(Qe)||[]),g=e.computed(()=>o.value.length>0);return{menuList:o,permissions:p,hasMenu:g,setMenuList:_=>{p.value=en(_),G.set(Qe,p.value);const u=Et(_);o.value=[vt,...u],G.set(Ze,o.value)},clearMenu:()=>{o.value=[],p.value=[],G.remove(Ze),G.remove(Qe)},hasPermission:_=>Array.isArray(_)?_.some(u=>p.value.includes(u)):p.value.includes(_)}}),ve="user_info",ke=Ae.defineStore("user",()=>{const o=e.ref(G.get(ve)),p=e.computed(()=>!!o.value),g=e.computed(()=>{var I;return((I=o.value)==null?void 0:I.userId)||""}),f=e.computed(()=>{var I;return((I=o.value)==null?void 0:I.userName)||""}),h=e.computed(()=>{var I;return((I=o.value)==null?void 0:I.departmentName)||""}),V=e.computed(()=>{var I;return((I=o.value)==null?void 0:I.email)||""}),_=e.computed(()=>{var I;return((I=o.value)==null?void 0:I.mobilePhone)||""}),u=e.computed(()=>{var I;return((I=o.value)==null?void 0:I.positionName)||""}),w=e.computed(()=>{var I;return((I=o.value)==null?void 0:I.avatar)||""});return{userInfo:o,isLoggedIn:p,userId:g,userName:f,departmentName:h,email:V,mobilePhone:_,positionName:u,avatar:w,setUserInfo:I=>{o.value=I,G.set(ve,I)},clearUserInfo:()=>{o.value=null,G.remove(ve)}}}),et="token",tt="token_type",nt="refresh_token",ot="expires_time",lt="refresh_time",st="code",Pe=()=>G.get(et),Vt=o=>{G.set(et,o)},kt=()=>G.get(tt),yt=o=>{G.set(tt,o)},tn=()=>G.get(nt),wt=o=>{G.set(nt,o)},xt=()=>G.get(ot),Ct=o=>{G.set(ot,o)},nn=()=>G.get(lt),Bt=o=>{G.set(lt,o)},on=()=>G.get(st),St=o=>{G.set(st,o)},rt=o=>{Vt(o.access_token),yt(o.token_type||"Bearer"),wt(o.refresh_token),Ct(o.expires_time),Bt(o.refresh_time),o.code&&St(o.code)},De=()=>{G.remove(et),G.remove(tt),G.remove(nt),G.remove(ot),G.remove(lt),G.remove(st)},bt=()=>{const o=xt();return o?Date.now()>o:!0},at=()=>!!Pe()&&!bt(),Te=Ae.defineStore("auth",()=>{const o=e.ref(Pe()),p=e.computed(()=>at()),g=e.ref(""),f=e.ref(""),h=e.ref(""),V=e.ref("/login");return{token:o,isLoggedIn:p,baseUrl:g,appId:f,clientId:h,loginPath:V,login:$=>{o.value=$.access_token,rt($)},logout:()=>{o.value=null,De()},setBaseUrl:$=>{g.value=$},setAppId:$=>{f.value=$},setClientId:$=>{h.value=$},setLoginPath:$=>{V.value=$}}}),ln={class:"menu-item__content"},sn={class:"menu-item__icon"},rn={key:1,class:"menu-item__char"},an={class:"menu-item__text"},cn={class:"menu-item__content"},dn={key:0,class:"menu-item__icon"},mn={key:1,class:"menu-item__char"},pn={class:"menu-item__text"},fn=e.defineComponent({__name:"SidebarMenuItem",props:{menu:{}},setup(o){const p=o,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"]),f=u=>{if(!u||u==="")return"";if(u.startsWith("tineco-icon-")){const x=u.replace("tineco-icon-","");return{home:"home",dashboard:"dashboard",system:"system",user:"user",role:"role",menu:"list",setting:"setting",file:"file",folder:"folder",chart:"chart",report:"report",analytics:"analytics"}[x]||x}return{dashboard:"dashboard",system:"system",user:"user",role:"role",menu:"list",setting:"setting",home:"home",chart:"chart",report:"report",analytics:"analytics",permission:"permission",log:"log",notification:"notification",app:"app",list:"list",grid:"grid"}[u]||u},h=u=>u?u.charAt(0):"",V=u=>g.has(u),_=e.computed(()=>p.menu.children&&p.menu.children.length>0);return(u,w)=>{const x=e.resolveComponent("SidebarMenuItem",!0);return _.value?(e.openBlock(),e.createBlock(e.unref(Ne.SubMenu),{key:0,index:o.menu.menuUrl},{title:e.withCtx(()=>[e.createElementVNode("span",ln,[e.createElementVNode("span",sn,[V(f(o.menu.icon))?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:f(o.menu.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",rn,e.toDisplayString(h(o.menu.menuName)),1))]),e.createElementVNode("span",an,e.toDisplayString(o.menu.menuName),1)])]),default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.menu.children,y=>(e.openBlock(),e.createBlock(x,{key:y.menuUrl,menu:y},null,8,["menu"]))),128))]),_:1},8,["index"])):(e.openBlock(),e.createBlock(e.unref(Ne.MenuItem),{key:1,index:o.menu.menuUrl},{default:e.withCtx(()=>[e.createElementVNode("span",cn,[o.menu.menuName!=="首页"?(e.openBlock(),e.createElementBlock("span",dn,[V(f(o.menu.icon))?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:f(o.menu.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",mn,e.toDisplayString(h(o.menu.menuName)),1))])):e.createCommentVNode("",!0),e.createElementVNode("span",pn,e.toDisplayString(o.menu.menuName),1)])]),_:1},8,["index"]))}}}),ge=(o,p)=>{const g=o.__vccOpts||o;for(const[f,h]of p)g[f]=h;return g},un=ge(fn,[["__scopeId","data-v-27c9479b"]]),hn={key:0,class:"sidebar__logo"},gn=["src"],_n={key:1,class:"sidebar__user"},Nn={class:"sidebar__user-info"},En={class:"sidebar__user-name"},Vn={class:"sidebar__user-role"},$t="sidebar_opened_menus",it=ge(e.defineComponent({__name:"Sidebar",props:{menuList:{default:()=>[]},showLogo:{type:Boolean,default:!0},showUser:{type:Boolean,default:!0},logoSrc:{default:"/vite.svg"}},setup(o){const p=o,g=ie.useRoute(),f=ie.useRouter(),h=xe(),V=ke(),_=Te(),u=Se(),w=e.computed(()=>p.menuList.length>0?p.menuList:h.menuList),x=e.computed(()=>u.isCollapsed),y=e.computed(()=>g.path),I=e.ref(G.get($t)||[]);e.watch(I,C=>{G.set($t,C)},{deep:!0});const $=(C,P,Y=[])=>{var U;for(const d of C){if(P===d.menuUrl||P.startsWith(d.menuUrl+"/"))return[...Y,d.menuUrl];if((U=d.children)!=null&&U.length){const k=$(d.children,P,[...Y,d.menuUrl]);if(k)return k}}return null};e.watch([()=>g.path,w],([C,P])=>{if(P.length>0){const Y=$(P,C);if(Y){const U=Y.slice(0,-1),d=new Set([...I.value,...U]);I.value=Array.from(d)}}},{immediate:!0});const z=e.computed(()=>u.isDark?"#1d1e1f":"#fff"),K=e.computed(()=>u.isDark?"#cfd3dc":"#303133"),T=e.computed(()=>"#409eff"),M=C=>{C&&C!==g.path&&f.push(C)},B=()=>{_.logout(),V.clearUserInfo(),h.clearMenu(),f.push("/login")};return(C,P)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["sidebar",{"sidebar--collapsed":x.value}])},[p.showLogo?(e.openBlock(),e.createElementBlock("div",hn,[e.createElementVNode("img",{src:p.logoSrc,alt:"Logo",class:"sidebar__logo-img"},null,8,gn),e.withDirectives(e.createElementVNode("span",{class:"sidebar__logo-text"},e.toDisplayString(e.unref(u).appName),513),[[e.vShow,!x.value]])])):e.createCommentVNode("",!0),e.createVNode(e.unref(Ne.Menu),{modelValue:y.value,"onUpdate:modelValue":P[0]||(P[0]=Y=>y.value=Y),openeds:I.value,"onUpdate:openeds":P[1]||(P[1]=Y=>I.value=Y),mode:"vertical",collapse:x.value,"collapse-transition":!1,"background-color":z.value,"text-color":K.value,"active-text-color":T.value,class:"sidebar__menu",onSelect:M},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(w.value,Y=>(e.openBlock(),e.createBlock(un,{key:Y.menuUrl,menu:Y},null,8,["menu"]))),128))]),_:1},8,["modelValue","openeds","collapse","background-color","text-color","active-text-color"]),p.showUser&&!x.value?(e.openBlock(),e.createElementBlock("div",_n,[e.createElementVNode("div",Nn,[e.createElementVNode("span",En,e.toDisplayString(e.unref(V).userName),1),e.createElementVNode("span",Vn,e.toDisplayString(e.unref(V).departmentName),1)]),e.createVNode(e.unref(A.Button),{type:"text",size:"small",onClick:B},{default:e.withCtx(()=>[...P[2]||(P[2]=[e.createTextVNode("退出",-1)])]),_:1})])):e.createCommentVNode("",!0)],2))}}),[["__scopeId","data-v-9cdb8060"]]),kn={class:"header"},yn={class:"header__left"},wn={key:0,class:"header__breadcrumb"},xn={key:0,class:"breadcrumb-separator"},Cn={class:"header__right"},Bn={key:0,class:"header__search-dropdown"},Sn={key:0,class:"header__search-results"},bn=["onClick"],$n={key:0,class:"header__search-icon"},In={key:1,class:"header__search-char"},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"},It=ge(e.defineComponent({__name:"Header",setup(o){const p=ie.useRoute(),g=ie.useRouter(),f=Se(),h=ke(),V=Te(),_=xe(),u=e.ref(!1),w=e.ref(!1),x=e.ref(null),y=e.ref(!1),I=e.ref(!1),$=e.ref(""),z=e.ref(null),K=e.ref(!1),T=[{value:"sidebar",label:"左侧菜单",icon:"sidebar-left"},{value:"top",label:"顶部菜单",icon:"menu"},{value:"mix",label:"混合菜单",icon:"grid"}],M=[{value:"#409eff",label:"默认蓝"},{value:"#1890ff",label:"科技蓝"},{value:"#52c41a",label:"极光绿"},{value:"#faad14",label:"日落橙"},{value:"#f5222d",label:"薄暮红"},{value:"#722ed1",label:"酱紫"}],B=e.computed(()=>p.matched.filter(F=>F.meta&&F.meta.title).map(F=>({title:F.meta.title,path:F.path}))),C=(W,F="")=>{const t=[];return W.forEach(n=>{n.children&&n.children.length>0?t.push(...C(n.children,n.menuName)):t.push({...n,parentTitle:F,title:n.menuName,path:n.menuUrl})}),t},P=new Set(["arrow-up","arrow-down","arrow-left","arrow-right","caret-down","caret-right","plus","minus","close","check","edit","delete","copy","download","upload","refresh","search","filter","more","setting","share","loading","info","success","warning","error","question","user","user-add","user-group","logout","login","file","folder","folder-open","document","image","video","music","camera","mail","phone","chat","bell","message","eye","eye-off","calendar","clock","history","timer","location","map","globe","star","heart","thumb-up","link","external-link","lock","unlock","key","home","menu","menu-fold","menu-unfold","sidebar-fold","sidebar-expand","sidebar-left","dashboard","chart","chart-pie","chart-line","report","analytics","system","permission","role","user-manage","log","notification","app","list","grid","fullscreen","fullscreen-exit","zoom-in","zoom-out","print","bookmark","tag","code","terminal","database","server","cloud","gift","moon","sun","theme","skin"]),Y=W=>{if(!W||W==="")return"";if(W.startsWith("tineco-icon-")){const t=W.replace("tineco-icon-","");return{home:"home",dashboard:"dashboard",system:"system",user:"user",role:"role",menu:"list",setting:"setting",file:"file",folder:"folder",chart:"chart",report:"report",analytics:"analytics"}[t]||t}return{dashboard:"dashboard",system:"system",user:"user",role:"role",menu:"list",setting:"setting",home:"home",chart:"chart",report:"report",analytics:"analytics",permission:"permission",log:"log",notification:"notification",app:"app",list:"list",grid:"grid"}[W]||W},U=W=>W?W.charAt(0):"",d=W=>P.has(W),k=e.computed(()=>$.value.trim()?C(_.menuList).filter(F=>F.title.toLowerCase().includes($.value.toLowerCase())):[]),R=e.computed(()=>f.layout),J=()=>{f.toggleCollapse()},D=()=>{f.toggleTheme()},ee=()=>{w.value=!0},Z=W=>{f.setLayout(W),w.value=!1},q=W=>{K.value=W;const F=document.documentElement;W?F.classList.add("grey-mode"):F.classList.remove("grey-mode")},le=()=>{q(!K.value),w.value=!1},se=()=>{f.toggleTheme(),w.value=!1},fe=()=>{document.fullscreenElement?document.exitFullscreen():document.documentElement.requestFullscreen()},de=()=>{y.value=!!document.fullscreenElement},me=()=>{u.value=!u.value},pe=()=>{u.value=!1},ue=()=>{I.value=!1,$.value=""},be=W=>{g.push(W),ue()},Ve=W=>{f.setPrimaryColor(W),w.value=!1},$e=()=>{pe(),g.push("/profile")},L=()=>{pe(),g.push("/change-password")},Ie=()=>{pe(),V.logout(),h.clearUserInfo(),_.clearMenu(),g.push("/login")},Le=W=>{x.value&&!x.value.contains(W.target)&&pe(),z.value&&!z.value.contains(W.target)&&ue()},Ce=W=>{W.key==="Escape"&&(ue(),pe())};return e.onMounted(()=>{document.addEventListener("click",Le),document.addEventListener("fullscreenchange",de),document.addEventListener("keydown",Ce),f.initTheme(),K.value=document.documentElement.classList.contains("grey-mode")}),e.onUnmounted(()=>{document.removeEventListener("click",Le),document.removeEventListener("fullscreenchange",de),document.removeEventListener("keydown",Ce)}),(W,F)=>{var t;return e.openBlock(),e.createElementBlock("div",kn,[e.createElementVNode("div",yn,[e.createElementVNode("div",{class:"header__collapse",onClick:J},[e.createVNode(e.unref(A.Icon),{name:e.unref(f).isCollapsed?"menu-unfold":"menu-fold",size:18},null,8,["name"])]),e.unref(f).showBreadcrumb?(e.openBlock(),e.createElementBlock("div",wn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(B.value,(n,s)=>(e.openBlock(),e.createElementBlock("span",{key:n.path},[s>0?(e.openBlock(),e.createElementBlock("span",xn,"/")):e.createCommentVNode("",!0),e.createElementVNode("span",{class:e.normalizeClass({"is-current":s===B.value.length-1})},e.toDisplayString(n.title),3)]))),128))])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Cn,[e.createElementVNode("div",{class:"header__search",ref_key:"searchRef",ref:z},[e.createVNode(e.unref(A.Icon),{name:"search",size:14,class:"header__search-icon"}),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":F[0]||(F[0]=n=>$.value=n),type:"text",class:"header__search-input",placeholder:"搜索菜单...",onFocus:F[1]||(F[1]=n=>I.value=!0)},null,544),[[e.vModelText,$.value]]),e.createVNode(e.Transition,{name:"search-dropdown"},{default:e.withCtx(()=>[I.value&&(k.value.length>0||$.value)?(e.openBlock(),e.createElementBlock("div",Bn,[k.value.length>0?(e.openBlock(),e.createElementBlock("div",Sn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k.value,n=>(e.openBlock(),e.createElementBlock("div",{key:n.path,class:"header__search-item",onClick:s=>be(n.path)},[n.title!=="首页"?(e.openBlock(),e.createElementBlock("span",$n,[d(Y(n.icon))?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:Y(n.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",In,e.toDisplayString(U(n.title)),1))])):e.createCommentVNode("",!0),e.createElementVNode("span",Ln,e.toDisplayString(n.title),1),n.parentTitle?(e.openBlock(),e.createElementBlock("span",Mn,e.toDisplayString(n.parentTitle),1)):e.createCommentVNode("",!0)],8,bn))),128))])):(e.openBlock(),e.createElementBlock("div",Dn," 未找到匹配的菜单 "))])):e.createCommentVNode("",!0)]),_:1})],512),e.createElementVNode("div",{class:"header__action",onClick:fe,title:y.value?"退出全屏":"全屏"},[e.createVNode(e.unref(A.Icon),{name:y.value?"fullscreen-exit":"fullscreen",size:16},null,8,["name"])],8,Tn),e.createElementVNode("div",{class:"header__action",onClick:ee,title:"换肤设置"},[e.createVNode(e.unref(A.Icon),{name:"skin",size:16})]),e.createElementVNode("div",{class:"header__action",onClick:D,title:"切换主题"},[e.createVNode(e.unref(A.Icon),{name:e.unref(f).isDark?"sun":"moon",size:16},null,8,["name"])]),e.createElementVNode("div",{class:"header__user",ref_key:"dropdownRef",ref:x},[e.createElementVNode("div",{class:"header__user-trigger",onClick:e.withModifiers(me,["stop"])},[e.createElementVNode("div",An,[e.createElementVNode("span",null,e.toDisplayString(((t=e.unref(h).userName)==null?void 0:t.charAt(0))||"U"),1)]),e.createElementVNode("span",Un,e.toDisplayString(e.unref(h).userName),1),e.createElementVNode("span",{class:e.normalizeClass(["header__user-arrow",{"is-active":u.value}])},"▼",2)]),e.createVNode(e.Transition,{name:"dropdown"},{default:e.withCtx(()=>{var n;return[u.value?(e.openBlock(),e.createElementBlock("div",zn,[e.createElementVNode("div",On,[e.createElementVNode("div",Fn,[e.createElementVNode("span",null,e.toDisplayString(((n=e.unref(h).userName)==null?void 0:n.charAt(0))||"U"),1)]),e.createElementVNode("div",Pn,[e.createElementVNode("div",Rn,e.toDisplayString(e.unref(h).userName),1),e.createElementVNode("div",qn,e.toDisplayString(e.unref(h).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:L},[e.createVNode(e.unref(A.Icon),{name:"lock",size:16}),F[4]||(F[4]=e.createElementVNode("span",null,"修改密码",-1))]),F[6]||(F[6]=e.createElementVNode("div",{class:"header__dropdown-divider"},null,-1)),e.createElementVNode("div",{class:"header__dropdown-item header__dropdown-item--danger",onClick:Ie},[e.createVNode(e.unref(A.Icon),{name:"logout",size:16}),F[5]||(F[5]=e.createElementVNode("span",null,"退出登录",-1))])])])):e.createCommentVNode("",!0)]}),_:1})],512)]),e.createVNode(e.unref(ne.Drawer),{modelValue:w.value,"onUpdate:modelValue":F[2]||(F[2]=n=>w.value=n),title:"换肤设置",direction:"rtl",size:"320px"},{default:e.withCtx(()=>[e.createElementVNode("div",Hn,[e.createElementVNode("div",Gn,[F[11]||(F[11]=e.createElementVNode("div",{class:"settings-title"},"布局模式",-1)),e.createElementVNode("div",Kn,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(T,n=>e.createElementVNode("div",{key:n.value,class:e.normalizeClass(["layout-option",{"is-active":R.value===n.value}]),onClick:s=>Z(n.value)},[e.createElementVNode("div",Xn,[n.value==="sidebar"?(e.openBlock(),e.createElementBlock("div",Yn,[...F[8]||(F[8]=[e.createElementVNode("div",{class:"preview-aside"},null,-1),e.createElementVNode("div",{class:"preview-main"},[e.createElementVNode("div",{class:"preview-header"}),e.createElementVNode("div",{class:"preview-content"})],-1)])])):n.value==="top"?(e.openBlock(),e.createElementBlock("div",Jn,[...F[9]||(F[9]=[e.createElementVNode("div",{class:"preview-header-full"},null,-1),e.createElementVNode("div",{class:"preview-content-full"},null,-1)])])):(e.openBlock(),e.createElementBlock("div",Zn,[...F[10]||(F[10]=[e.createElementVNode("div",{class:"preview-header-mix"},[e.createElementVNode("div",{class:"preview-mix-left"})],-1),e.createElementVNode("div",{class:"preview-mix-body"},[e.createElementVNode("div",{class:"preview-mix-aside"}),e.createElementVNode("div",{class:"preview-mix-content"})],-1)])]))]),e.createElementVNode("span",Qn,e.toDisplayString(n.label),1)],10,Wn)),64))])]),e.createElementVNode("div",vn,[F[12]||(F[12]=e.createElementVNode("div",{class:"settings-title"},"主题色",-1)),e.createElementVNode("div",eo,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(M,n=>e.createElementVNode("div",{key:n.value,class:e.normalizeClass(["color-option",{"is-active":e.unref(f).primaryColor===n.value}]),style:e.normalizeStyle({backgroundColor:n.value}),title:n.label,onClick:s=>Ve(n.value)},[e.unref(f).primaryColor===n.value?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:"check",size:12,color:"#fff"})):e.createCommentVNode("",!0)],14,to)),64))])]),e.createElementVNode("div",no,[F[17]||(F[17]=e.createElementVNode("div",{class:"settings-title"},"功能设置",-1)),e.createElementVNode("div",oo,[e.createElementVNode("div",lo,[F[14]||(F[14]=e.createElementVNode("span",null,"灰色模式",-1)),e.createElementVNode("div",{class:e.normalizeClass(["switch-wrapper",{"is-checked":K.value}]),onClick:le},[...F[13]||(F[13]=[e.createElementVNode("span",{class:"switch-core"},null,-1)])],2)]),e.createElementVNode("div",so,[F[16]||(F[16]=e.createElementVNode("span",null,"暗黑模式",-1)),e.createElementVNode("div",{class:e.normalizeClass(["switch-wrapper",{"is-checked":e.unref(f).isDark}]),onClick:se},[...F[15]||(F[15]=[e.createElementVNode("span",{class:"switch-core"},null,-1)])],2)])])])])]),_:1},8,["modelValue"])])}}}),[["__scopeId","data-v-89179947"]]),ro={class:"top-menu"},ao={class:"top-menu__logo"},io=["src"],co={class:"top-menu__logo-text"},mo={class:"top-menu__menu-content"},po={key:0,class:"top-menu__menu-icon"},fo={key:1,class:"top-menu__menu-char"},uo={class:"top-menu__menu-text"},ho={class:"top-menu__menu-content"},go={class:"top-menu__menu-icon"},_o={key:1,class:"top-menu__menu-char"},No={class:"top-menu__menu-text"},Eo={class:"top-menu__menu-content"},Vo={class:"top-menu__menu-icon"},ko={key:1,class:"top-menu__menu-char"},yo={class:"top-menu__menu-text"},wo={class:"top-menu__menu-content"},xo={class:"top-menu__menu-icon"},Co={key:1,class:"top-menu__menu-char"},Bo={class:"top-menu__menu-text"},So={class:"top-menu__menu-content"},bo={key:0,class:"top-menu__menu-icon"},$o={key:1,class:"top-menu__menu-char"},Io={class:"top-menu__menu-text"},Lo={class:"top-menu__actions"},Mo={key:0,class:"top-menu__search-dropdown"},Do={key:0,class:"top-menu__search-results"},To=["onClick"],Ao={key:0,class:"top-menu__search-icon-item"},Uo={key:1,class:"top-menu__search-char"},zo={class:"top-menu__search-item-title"},Oo={key:1,class:"top-menu__search-item-parent"},Fo={key:1,class:"top-menu__search-empty"},Po=["title"],Ro={class:"top-menu__avatar"},qo={class:"top-menu__user-name"},jo={key:0,class:"top-menu__dropdown"},Ho={class:"top-menu__dropdown-header"},Go={class:"top-menu__dropdown-avatar"},Ko={class:"top-menu__dropdown-info"},Wo={class:"top-menu__dropdown-name"},Xo={class:"top-menu__dropdown-role"},Yo={class:"top-menu__dropdown-menu"},Jo={class:"settings-drawer"},Zo={class:"settings-section"},Qo={class:"settings-layout-options"},vo=["onClick"],el={class:"layout-option__preview"},tl={key:0,class:"layout-preview-sidebar"},nl={key:1,class:"layout-preview-top"},ol={key:2,class:"layout-preview-mix"},ll={class:"layout-option__label"},sl={class:"settings-section"},rl={class:"settings-color-options"},al=["title","onClick"],il={class:"settings-section"},cl={class:"settings-switch-list"},dl={class:"settings-switch-item"},ml={class:"settings-switch-item"},pl=ge(e.defineComponent({__name:"TopMenu",props:{logoSrc:{default:"/vite.svg"}},setup(o){const p=o,g=ie.useRoute(),f=ie.useRouter(),h=xe(),V=Se(),_=ke(),u=Te(),w=e.computed(()=>g.path),x=(s,c="")=>{const m=[];return s.forEach(l=>{l.children&&l.children.length>0?m.push(...x(l.children,l.menuName)):m.push({...l,parentTitle:c,title:l.menuName,path:l.menuUrl})}),m},y=e.computed(()=>Y.value.trim()?x(h.menuList).filter(c=>c.title.toLowerCase().includes(Y.value.toLowerCase())):[]),I=e.computed(()=>V.isDark?"#1d1e1f":"#fff"),$=e.computed(()=>V.isDark?"#cfd3dc":"#303133"),z=e.computed(()=>"#409eff"),K=e.ref(!1),T=e.ref(null),M=e.ref(!1),B=e.ref(!1),C=e.ref(!1),P=e.ref(!1),Y=e.ref(""),U=e.ref(null),d=s=>{s&&s!==g.path&&f.push(s)},k=new Set(["arrow-up","arrow-down","arrow-left","arrow-right","caret-down","caret-right","plus","minus","close","check","edit","delete","copy","download","upload","refresh","search","filter","more","setting","share","loading","info","success","warning","error","question","user","user-add","user-group","logout","login","file","folder","folder-open","document","image","video","music","camera","mail","phone","chat","bell","message","eye","eye-off","calendar","clock","history","timer","location","map","globe","star","heart","thumb-up","link","external-link","lock","unlock","key","home","menu","menu-fold","menu-unfold","sidebar-fold","sidebar-expand","sidebar-left","dashboard","chart","chart-pie","chart-line","report","analytics","system","permission","role","user-manage","log","notification","app","list","grid","fullscreen","fullscreen-exit","zoom-in","zoom-out","print","bookmark","tag","code","terminal","database","server","cloud","gift","moon","sun","theme","skin"]),R=s=>{if(!s||s==="")return"";if(s.startsWith("tineco-icon-")){const m=s.replace("tineco-icon-","");return{home:"home",dashboard:"dashboard",system:"system",user:"user",role:"role",menu:"list",setting:"setting",file:"file",folder:"folder",chart:"chart",report:"report",analytics:"analytics"}[m]||m}return{dashboard:"dashboard",system:"system",user:"user",role:"role",menu:"list",setting:"setting",home:"home",chart:"chart",report:"report",analytics:"analytics",permission:"permission",log:"log",notification:"notification",app:"app",list:"list",grid:"grid"}[s]||s},J=s=>s?s.charAt(0):"",D=s=>k.has(s),ee=()=>{V.toggleTheme(),B.value=!1},Z=()=>{document.fullscreenElement?document.exitFullscreen():document.documentElement.requestFullscreen()},q=()=>{M.value=!!document.fullscreenElement},le=()=>{K.value=!K.value},se=()=>{K.value=!1},fe=()=>{P.value=!1,Y.value=""},de=s=>{f.push(s),fe()},me=()=>{B.value=!0},pe=s=>{C.value=s;const c=document.documentElement;s?c.classList.add("grey-mode"):c.classList.remove("grey-mode")},ue=()=>{pe(!C.value),B.value=!1},be=()=>{V.toggleTheme(),B.value=!1},Ve=[{value:"sidebar",label:"左侧菜单",icon:"sidebar-left"},{value:"top",label:"顶部菜单",icon:"menu"},{value:"mix",label:"混合菜单",icon:"grid"}],$e=e.computed(()=>V.layout),L=s=>{V.setLayout(s),B.value=!1},Ie=[{value:"#409eff",label:"默认蓝"},{value:"#1890ff",label:"科技蓝"},{value:"#52c41a",label:"极光绿"},{value:"#faad14",label:"日落橙"},{value:"#f5222d",label:"薄暮红"},{value:"#722ed1",label:"酱紫"}],Le=s=>{V.setPrimaryColor(s),B.value=!1},Ce=()=>{se(),f.push("/profile")},W=()=>{se(),f.push("/change-password")},F=()=>{se(),u.logout(),_.clearUserInfo(),h.clearMenu(),f.push("/login")},t=s=>{T.value&&!T.value.contains(s.target)&&se(),U.value&&!U.value.contains(s.target)&&fe()},n=s=>{s.key==="Escape"&&(fe(),se())};return e.onMounted(()=>{document.addEventListener("click",t),document.addEventListener("fullscreenchange",q),document.addEventListener("keydown",n),C.value=document.documentElement.classList.contains("grey-mode")}),e.onUnmounted(()=>{document.removeEventListener("click",t),document.removeEventListener("fullscreenchange",q),document.removeEventListener("keydown",n)}),(s,c)=>{var m;return e.openBlock(),e.createElementBlock("div",ro,[e.createElementVNode("div",ao,[e.createElementVNode("img",{src:p.logoSrc,alt:"Logo",class:"top-menu__logo-img"},null,8,io),e.createElementVNode("span",co,e.toDisplayString(e.unref(V).appName),1)]),e.createVNode(e.unref(Ne.Menu),{"model-value":w.value,mode:"horizontal","background-color":I.value,"text-color":$.value,"active-text-color":z.value,class:"top-menu__menu",onSelect:d},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(h).menuList,l=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:l.menuUrl},[l.children&&l.children.length>0?(e.openBlock(),e.createBlock(e.unref(Ne.SubMenu),{key:0,index:l.menuUrl},{title:e.withCtx(()=>[e.createElementVNode("span",mo,[l.menuName!=="首页"?(e.openBlock(),e.createElementBlock("span",po,[D(R(l.icon))?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:R(l.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",fo,e.toDisplayString(J(l.menuName)),1))])):e.createCommentVNode("",!0),e.createElementVNode("span",uo,e.toDisplayString(l.menuName),1)])]),default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.children,a=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:a.menuUrl},[a.children&&a.children.length>0?(e.openBlock(),e.createBlock(e.unref(Ne.SubMenu),{key:0,index:a.menuUrl},{title:e.withCtx(()=>[e.createElementVNode("span",ho,[e.createElementVNode("span",go,[D(R(a.icon))?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:R(a.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",_o,e.toDisplayString(J(a.menuName)),1))]),e.createElementVNode("span",No,e.toDisplayString(a.menuName),1)])]),default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.children,i=>(e.openBlock(),e.createBlock(e.unref(Ne.MenuItem),{key:i.menuUrl,index:i.menuUrl},{default:e.withCtx(()=>[e.createElementVNode("span",Eo,[e.createElementVNode("span",Vo,[D(R(i.icon))?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:R(i.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",ko,e.toDisplayString(J(i.menuName)),1))]),e.createElementVNode("span",yo,e.toDisplayString(i.menuName),1)])]),_:2},1032,["index"]))),128))]),_:2},1032,["index"])):(e.openBlock(),e.createBlock(e.unref(Ne.MenuItem),{key:1,index:a.menuUrl},{default:e.withCtx(()=>[e.createElementVNode("span",wo,[e.createElementVNode("span",xo,[D(R(a.icon))?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:R(a.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",Co,e.toDisplayString(J(a.menuName)),1))]),e.createElementVNode("span",Bo,e.toDisplayString(a.menuName),1)])]),_:2},1032,["index"]))],64))),128))]),_:2},1032,["index"])):(e.openBlock(),e.createBlock(e.unref(Ne.MenuItem),{key:1,index:l.menuUrl},{default:e.withCtx(()=>[e.createElementVNode("span",So,[l.menuName!=="首页"?(e.openBlock(),e.createElementBlock("span",bo,[D(R(l.icon))?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:R(l.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",$o,e.toDisplayString(J(l.menuName)),1))])):e.createCommentVNode("",!0),e.createElementVNode("span",Io,e.toDisplayString(l.menuName),1)])]),_:2},1032,["index"]))],64))),128))]),_:1},8,["model-value","background-color","text-color","active-text-color"]),e.createElementVNode("div",Lo,[e.createElementVNode("div",{class:"top-menu__search",ref_key:"searchRef",ref:U},[e.createVNode(e.unref(A.Icon),{name:"search",size:14,class:"top-menu__search-icon"}),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":c[0]||(c[0]=l=>Y.value=l),type:"text",class:"top-menu__search-input",placeholder:"搜索菜单...",onFocus:c[1]||(c[1]=l=>P.value=!0)},null,544),[[e.vModelText,Y.value]]),e.createVNode(e.Transition,{name:"search-dropdown"},{default:e.withCtx(()=>[P.value&&(y.value.length>0||Y.value)?(e.openBlock(),e.createElementBlock("div",Mo,[y.value.length>0?(e.openBlock(),e.createElementBlock("div",Do,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(y.value,l=>(e.openBlock(),e.createElementBlock("div",{key:l.path,class:"top-menu__search-item",onClick:a=>de(l.path)},[l.title!=="首页"?(e.openBlock(),e.createElementBlock("span",Ao,[D(R(l.icon))?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:R(l.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",Uo,e.toDisplayString(J(l.title)),1))])):e.createCommentVNode("",!0),e.createElementVNode("span",zo,e.toDisplayString(l.title),1),l.parentTitle?(e.openBlock(),e.createElementBlock("span",Oo,e.toDisplayString(l.parentTitle),1)):e.createCommentVNode("",!0)],8,To))),128))])):(e.openBlock(),e.createElementBlock("div",Fo," 未找到匹配的菜单 "))])):e.createCommentVNode("",!0)]),_:1})],512),e.createElementVNode("div",{class:"top-menu__action",onClick:Z,title:M.value?"退出全屏":"全屏"},[e.createVNode(e.unref(A.Icon),{name:M.value?"fullscreen-exit":"fullscreen",size:16},null,8,["name"])],8,Po),e.createElementVNode("div",{class:"top-menu__action",onClick:me,title:"换肤设置"},[e.createVNode(e.unref(A.Icon),{name:"skin",size:16})]),e.createElementVNode("div",{class:"top-menu__action",onClick:ee,title:"切换主题"},[e.createVNode(e.unref(A.Icon),{name:e.unref(V).isDark?"sun":"moon",size:16},null,8,["name"])]),e.createElementVNode("div",{class:"top-menu__user",ref_key:"dropdownRef",ref:T},[e.createElementVNode("div",{class:"top-menu__user-trigger",onClick:e.withModifiers(le,["stop"])},[e.createElementVNode("div",Ro,[e.createElementVNode("span",null,e.toDisplayString(((m=e.unref(_).userName)==null?void 0:m.charAt(0))||"U"),1)]),e.createElementVNode("span",qo,e.toDisplayString(e.unref(_).userName),1),e.createElementVNode("span",{class:e.normalizeClass(["top-menu__user-arrow",{"is-active":K.value}])},"▼",2)]),e.createVNode(e.Transition,{name:"dropdown"},{default:e.withCtx(()=>{var l;return[K.value?(e.openBlock(),e.createElementBlock("div",jo,[e.createElementVNode("div",Ho,[e.createElementVNode("div",Go,[e.createElementVNode("span",null,e.toDisplayString(((l=e.unref(_).userName)==null?void 0:l.charAt(0))||"U"),1)]),e.createElementVNode("div",Ko,[e.createElementVNode("div",Wo,e.toDisplayString(e.unref(_).userName),1),e.createElementVNode("div",Xo,e.toDisplayString(e.unref(_).departmentName),1)])]),c[7]||(c[7]=e.createElementVNode("div",{class:"top-menu__dropdown-divider"},null,-1)),e.createElementVNode("div",Yo,[e.createElementVNode("div",{class:"top-menu__dropdown-item",onClick:Ce},[e.createVNode(e.unref(A.Icon),{name:"user",size:16}),c[3]||(c[3]=e.createElementVNode("span",null,"个人信息",-1))]),e.createElementVNode("div",{class:"top-menu__dropdown-item",onClick:W},[e.createVNode(e.unref(A.Icon),{name:"lock",size:16}),c[4]||(c[4]=e.createElementVNode("span",null,"修改密码",-1))]),c[6]||(c[6]=e.createElementVNode("div",{class:"top-menu__dropdown-divider"},null,-1)),e.createElementVNode("div",{class:"top-menu__dropdown-item top-menu__dropdown-item--danger",onClick:F},[e.createVNode(e.unref(A.Icon),{name:"logout",size:16}),c[5]||(c[5]=e.createElementVNode("span",null,"退出登录",-1))])])])):e.createCommentVNode("",!0)]}),_:1})],512)]),e.createVNode(e.unref(ne.Drawer),{modelValue:B.value,"onUpdate:modelValue":c[2]||(c[2]=l=>B.value=l),title:"换肤设置",direction:"rtl",size:"320px"},{default:e.withCtx(()=>[e.createElementVNode("div",Jo,[e.createElementVNode("div",Zo,[c[11]||(c[11]=e.createElementVNode("div",{class:"settings-title"},"布局模式",-1)),e.createElementVNode("div",Qo,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(Ve,l=>e.createElementVNode("div",{key:l.value,class:e.normalizeClass(["layout-option",{"is-active":$e.value===l.value}]),onClick:a=>L(l.value)},[e.createElementVNode("div",el,[l.value==="sidebar"?(e.openBlock(),e.createElementBlock("div",tl,[...c[8]||(c[8]=[e.createElementVNode("div",{class:"preview-aside"},null,-1),e.createElementVNode("div",{class:"preview-main"},[e.createElementVNode("div",{class:"preview-header"}),e.createElementVNode("div",{class:"preview-content"})],-1)])])):l.value==="top"?(e.openBlock(),e.createElementBlock("div",nl,[...c[9]||(c[9]=[e.createElementVNode("div",{class:"preview-header-full"},null,-1),e.createElementVNode("div",{class:"preview-content-full"},null,-1)])])):(e.openBlock(),e.createElementBlock("div",ol,[...c[10]||(c[10]=[e.createElementVNode("div",{class:"preview-header-mix"},[e.createElementVNode("div",{class:"preview-mix-left"})],-1),e.createElementVNode("div",{class:"preview-mix-body"},[e.createElementVNode("div",{class:"preview-mix-aside"}),e.createElementVNode("div",{class:"preview-mix-content"})],-1)])]))]),e.createElementVNode("span",ll,e.toDisplayString(l.label),1)],10,vo)),64))])]),e.createElementVNode("div",sl,[c[12]||(c[12]=e.createElementVNode("div",{class:"settings-title"},"主题色",-1)),e.createElementVNode("div",rl,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(Ie,l=>e.createElementVNode("div",{key:l.value,class:e.normalizeClass(["color-option",{"is-active":e.unref(V).primaryColor===l.value}]),style:e.normalizeStyle({backgroundColor:l.value}),title:l.label,onClick:a=>Le(l.value)},[e.unref(V).primaryColor===l.value?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:"check",size:12,color:"#fff"})):e.createCommentVNode("",!0)],14,al)),64))])]),e.createElementVNode("div",il,[c[17]||(c[17]=e.createElementVNode("div",{class:"settings-title"},"功能设置",-1)),e.createElementVNode("div",cl,[e.createElementVNode("div",dl,[c[14]||(c[14]=e.createElementVNode("span",null,"灰色模式",-1)),e.createElementVNode("div",{class:e.normalizeClass(["switch-wrapper",{"is-checked":C.value}]),onClick:ue},[...c[13]||(c[13]=[e.createElementVNode("span",{class:"switch-core"},null,-1)])],2)]),e.createElementVNode("div",ml,[c[16]||(c[16]=e.createElementVNode("span",null,"暗黑模式",-1)),e.createElementVNode("div",{class:e.normalizeClass(["switch-wrapper",{"is-checked":e.unref(V).isDark}]),onClick:be},[...c[15]||(c[15]=[e.createElementVNode("span",{class:"switch-core"},null,-1)])],2)])])])])]),_:1},8,["modelValue"])])}}}),[["__scopeId","data-v-da5e391c"]]),fl={class:"mix-top-menu"},ul={class:"mix-top-menu__logo"},hl=["src"],gl={class:"mix-top-menu__logo-text"},_l={class:"mix-top-menu__menu-content"},Nl={key:0,class:"mix-top-menu__menu-icon"},El={key:1,class:"mix-top-menu__menu-char"},Vl={class:"mix-top-menu__menu-text"},kl={class:"mix-top-menu__actions"},yl={key:0,class:"mix-top-menu__search-dropdown"},wl={key:0,class:"mix-top-menu__search-results"},xl=["onClick"],Cl={key:0,class:"mix-top-menu__search-icon-item"},Bl={key:1,class:"mix-top-menu__search-char"},Sl={class:"mix-top-menu__search-item-title"},bl={key:1,class:"mix-top-menu__search-item-parent"},$l={key:1,class:"mix-top-menu__search-empty"},Il=["title"],Ll={class:"mix-top-menu__avatar"},Ml={class:"mix-top-menu__user-name"},Dl={key:0,class:"mix-top-menu__dropdown"},Tl={class:"mix-top-menu__dropdown-header"},Al={class:"mix-top-menu__dropdown-avatar"},Ul={class:"mix-top-menu__dropdown-info"},zl={class:"mix-top-menu__dropdown-name"},Ol={class:"mix-top-menu__dropdown-role"},Fl={class:"mix-top-menu__dropdown-menu"},Pl={class:"settings-drawer"},Rl={class:"settings-section"},ql={class:"settings-layout-options"},jl=["onClick"],Hl={class:"layout-option__preview"},Gl={key:0,class:"layout-preview-sidebar"},Kl={key:1,class:"layout-preview-top"},Wl={key:2,class:"layout-preview-mix"},Xl={class:"layout-option__label"},Yl={class:"settings-section"},Jl={class:"settings-color-options"},Zl=["title","onClick"],Ql={class:"settings-section"},vl={class:"settings-switch-list"},es={class:"settings-switch-item"},ts={class:"settings-switch-item"},ns=ge(e.defineComponent({__name:"MixTopMenu",props:{logoSrc:{default:"/vite.svg"}},setup(o){const p=o,g=ie.useRoute(),f=ie.useRouter(),h=xe(),V=Se(),_=ke(),u=Te(),w=e.ref(""),x=(l,a="")=>{const i=[];return l.forEach(r=>{r.children&&r.children.length>0?i.push(...x(r.children,r.menuName)):i.push({...r,parentTitle:a,title:r.menuName,path:r.menuUrl})}),i},y=e.computed(()=>R.value.trim()?x(h.menuList).filter(a=>a.title.toLowerCase().includes(R.value.toLowerCase())):[]),I=e.computed(()=>{const l=h.menuList.find(a=>a.menuUrl===w.value);return(l==null?void 0:l.children)||[]}),$=e.computed(()=>h.menuList.find(l=>!!(g.path===l.menuUrl||l.children&&l.children.some(a=>g.path.startsWith(a.menuUrl)||g.path===a.menuUrl)))),z=()=>{$.value?w.value=$.value.menuUrl:h.menuList.length>0&&(w.value=h.menuList[0].menuUrl)},K=l=>{w.value=l;const a=h.menuList.find(i=>i.menuUrl===l);if(a)if(a.children&&a.children.length>0){const i=a.children[0].menuUrl;g.path!==i&&f.push(i)}else g.path!==l&&f.push(l)},T=e.computed(()=>V.isDark?"#1d1e1f":"#fff"),M=e.computed(()=>V.isDark?"#cfd3dc":"#303133"),B=e.computed(()=>"#409eff"),C=e.ref(!1),P=e.ref(null),Y=e.ref(!1),U=e.ref(!1),d=e.ref(!1),k=e.ref(!1),R=e.ref(""),J=e.ref(null);e.watch(()=>g.path,()=>{z(),V.setMixSubMenus(I.value)}),e.watch(()=>h.menuList,l=>{l&&l.length>0&&(z(),V.setMixSubMenus(I.value))},{immediate:!0});const D=new Set(["arrow-up","arrow-down","arrow-left","arrow-right","caret-down","caret-right","plus","minus","close","check","edit","delete","copy","download","upload","refresh","search","filter","more","setting","share","loading","info","success","warning","error","question","user","user-add","user-group","logout","login","file","folder","folder-open","document","image","video","music","camera","mail","phone","chat","bell","message","eye","eye-off","calendar","clock","history","timer","location","map","globe","star","heart","thumb-up","link","external-link","lock","unlock","key","home","menu","menu-fold","menu-unfold","sidebar-fold","sidebar-expand","sidebar-left","dashboard","chart","chart-pie","chart-line","report","analytics","system","permission","role","user-manage","log","notification","app","list","grid","fullscreen","fullscreen-exit","zoom-in","zoom-out","print","bookmark","tag","code","terminal","database","server","cloud","gift","moon","sun","theme","skin"]),ee=l=>{if(!l||l==="")return"";if(l.startsWith("tineco-icon-")){const i=l.replace("tineco-icon-","");return{home:"home",dashboard:"dashboard",system:"system",user:"user",role:"role",menu:"list",setting:"setting",file:"file",folder:"folder",chart:"chart",report:"report",analytics:"analytics"}[i]||i}return{dashboard:"dashboard",system:"system",user:"user",role:"role",menu:"list",setting:"setting",home:"home",chart:"chart",report:"report",analytics:"analytics",permission:"permission",log:"log",notification:"notification",app:"app",list:"list",grid:"grid"}[l]||l},Z=l=>l?l.charAt(0):"",q=l=>D.has(l),le=()=>{V.toggleTheme(),U.value=!1},se=()=>{document.fullscreenElement?document.exitFullscreen():document.documentElement.requestFullscreen()},fe=()=>{Y.value=!!document.fullscreenElement},de=()=>{C.value=!C.value},me=()=>{C.value=!1},pe=()=>{k.value=!1,R.value=""},ue=l=>{f.push(l),pe()},be=()=>{U.value=!0},Ve=l=>{d.value=l;const a=document.documentElement;l?a.classList.add("grey-mode"):a.classList.remove("grey-mode")},$e=()=>{Ve(!d.value),U.value=!1},L=()=>{V.toggleTheme(),U.value=!1},Ie=[{value:"sidebar",label:"左侧菜单",icon:"sidebar-left"},{value:"top",label:"顶部菜单",icon:"menu"},{value:"mix",label:"混合菜单",icon:"grid"}],Le=e.computed(()=>V.layout),Ce=l=>{V.setLayout(l),U.value=!1},W=[{value:"#409eff",label:"默认蓝"},{value:"#1890ff",label:"科技蓝"},{value:"#52c41a",label:"极光绿"},{value:"#faad14",label:"日落橙"},{value:"#f5222d",label:"薄暮红"},{value:"#722ed1",label:"酱紫"}],F=l=>{V.setPrimaryColor(l),U.value=!1},t=()=>{me(),f.push("/profile")},n=()=>{me(),f.push("/change-password")},s=()=>{me(),u.logout(),_.clearUserInfo(),h.clearMenu(),f.push("/login")},c=l=>{P.value&&!P.value.contains(l.target)&&me(),J.value&&!J.value.contains(l.target)&&pe()},m=l=>{l.key==="Escape"&&(pe(),me())};return e.onMounted(()=>{document.addEventListener("click",c),document.addEventListener("fullscreenchange",fe),document.addEventListener("keydown",m),d.value=document.documentElement.classList.contains("grey-mode"),z()}),e.onUnmounted(()=>{document.removeEventListener("click",c),document.removeEventListener("fullscreenchange",fe),document.removeEventListener("keydown",m)}),(l,a)=>{var i;return e.openBlock(),e.createElementBlock("div",fl,[e.createElementVNode("div",ul,[e.createElementVNode("img",{src:p.logoSrc,alt:"Logo",class:"mix-top-menu__logo-img"},null,8,hl),e.createElementVNode("span",gl,e.toDisplayString(e.unref(V).appName),1)]),e.createVNode(e.unref(Ne.Menu),{"model-value":w.value,mode:"horizontal","background-color":T.value,"text-color":M.value,"active-text-color":B.value,class:"mix-top-menu__menu",onSelect:K},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(h).menuList,r=>(e.openBlock(),e.createBlock(e.unref(Ne.MenuItem),{key:r.menuUrl,index:r.menuUrl},{default:e.withCtx(()=>[e.createElementVNode("span",_l,[r.menuName!=="首页"?(e.openBlock(),e.createElementBlock("span",Nl,[q(ee(r.icon))?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:ee(r.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",El,e.toDisplayString(Z(r.menuName)),1))])):e.createCommentVNode("",!0),e.createElementVNode("span",Vl,e.toDisplayString(r.menuName),1)])]),_:2},1032,["index"]))),128))]),_:1},8,["model-value","background-color","text-color","active-text-color"]),e.createElementVNode("div",kl,[e.createElementVNode("div",{class:"mix-top-menu__search",ref_key:"searchRef",ref:J},[e.createVNode(e.unref(A.Icon),{name:"search",size:14,class:"mix-top-menu__search-icon"}),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":a[0]||(a[0]=r=>R.value=r),type:"text",class:"mix-top-menu__search-input",placeholder:"搜索菜单...",onFocus:a[1]||(a[1]=r=>k.value=!0)},null,544),[[e.vModelText,R.value]]),e.createVNode(e.Transition,{name:"search-dropdown"},{default:e.withCtx(()=>[k.value&&(y.value.length>0||R.value)?(e.openBlock(),e.createElementBlock("div",yl,[y.value.length>0?(e.openBlock(),e.createElementBlock("div",wl,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(y.value,r=>(e.openBlock(),e.createElementBlock("div",{key:r.path,class:"mix-top-menu__search-item",onClick:E=>ue(r.path)},[r.title!=="首页"?(e.openBlock(),e.createElementBlock("span",Cl,[q(ee(r.icon))?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:ee(r.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",Bl,e.toDisplayString(Z(r.title)),1))])):e.createCommentVNode("",!0),e.createElementVNode("span",Sl,e.toDisplayString(r.title),1),r.parentTitle?(e.openBlock(),e.createElementBlock("span",bl,e.toDisplayString(r.parentTitle),1)):e.createCommentVNode("",!0)],8,xl))),128))])):(e.openBlock(),e.createElementBlock("div",$l," 未找到匹配的菜单 "))])):e.createCommentVNode("",!0)]),_:1})],512),e.createElementVNode("div",{class:"mix-top-menu__action",onClick:se,title:Y.value?"退出全屏":"全屏"},[e.createVNode(e.unref(A.Icon),{name:Y.value?"fullscreen-exit":"fullscreen",size:16},null,8,["name"])],8,Il),e.createElementVNode("div",{class:"mix-top-menu__action",onClick:be,title:"换肤设置"},[e.createVNode(e.unref(A.Icon),{name:"skin",size:16})]),e.createElementVNode("div",{class:"mix-top-menu__action",onClick:le,title:"切换主题"},[e.createVNode(e.unref(A.Icon),{name:e.unref(V).isDark?"sun":"moon",size:16},null,8,["name"])]),e.createElementVNode("div",{class:"mix-top-menu__user",ref_key:"dropdownRef",ref:P},[e.createElementVNode("div",{class:"mix-top-menu__user-trigger",onClick:e.withModifiers(de,["stop"])},[e.createElementVNode("div",Ll,[e.createElementVNode("span",null,e.toDisplayString(((i=e.unref(_).userName)==null?void 0:i.charAt(0))||"U"),1)]),e.createElementVNode("span",Ml,e.toDisplayString(e.unref(_).userName),1),e.createElementVNode("span",{class:e.normalizeClass(["mix-top-menu__user-arrow",{"is-active":C.value}])},"▼",2)]),e.createVNode(e.Transition,{name:"dropdown"},{default:e.withCtx(()=>{var r;return[C.value?(e.openBlock(),e.createElementBlock("div",Dl,[e.createElementVNode("div",Tl,[e.createElementVNode("div",Al,[e.createElementVNode("span",null,e.toDisplayString(((r=e.unref(_).userName)==null?void 0:r.charAt(0))||"U"),1)]),e.createElementVNode("div",Ul,[e.createElementVNode("div",zl,e.toDisplayString(e.unref(_).userName),1),e.createElementVNode("div",Ol,e.toDisplayString(e.unref(_).departmentName),1)])]),a[7]||(a[7]=e.createElementVNode("div",{class:"mix-top-menu__dropdown-divider"},null,-1)),e.createElementVNode("div",Fl,[e.createElementVNode("div",{class:"mix-top-menu__dropdown-item",onClick:t},[e.createVNode(e.unref(A.Icon),{name:"user",size:16}),a[3]||(a[3]=e.createElementVNode("span",null,"个人信息",-1))]),e.createElementVNode("div",{class:"mix-top-menu__dropdown-item",onClick:n},[e.createVNode(e.unref(A.Icon),{name:"lock",size:16}),a[4]||(a[4]=e.createElementVNode("span",null,"修改密码",-1))]),a[6]||(a[6]=e.createElementVNode("div",{class:"mix-top-menu__dropdown-divider"},null,-1)),e.createElementVNode("div",{class:"mix-top-menu__dropdown-item mix-top-menu__dropdown-item--danger",onClick:s},[e.createVNode(e.unref(A.Icon),{name:"logout",size:16}),a[5]||(a[5]=e.createElementVNode("span",null,"退出登录",-1))])])])):e.createCommentVNode("",!0)]}),_:1})],512)]),e.createVNode(e.unref(ne.Drawer),{modelValue:U.value,"onUpdate:modelValue":a[2]||(a[2]=r=>U.value=r),title:"换肤设置",direction:"rtl",size:"320px"},{default:e.withCtx(()=>[e.createElementVNode("div",Pl,[e.createElementVNode("div",Rl,[a[11]||(a[11]=e.createElementVNode("div",{class:"settings-title"},"布局模式",-1)),e.createElementVNode("div",ql,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(Ie,r=>e.createElementVNode("div",{key:r.value,class:e.normalizeClass(["layout-option",{"is-active":Le.value===r.value}]),onClick:E=>Ce(r.value)},[e.createElementVNode("div",Hl,[r.value==="sidebar"?(e.openBlock(),e.createElementBlock("div",Gl,[...a[8]||(a[8]=[e.createElementVNode("div",{class:"preview-aside"},null,-1),e.createElementVNode("div",{class:"preview-main"},[e.createElementVNode("div",{class:"preview-header"}),e.createElementVNode("div",{class:"preview-content"})],-1)])])):r.value==="top"?(e.openBlock(),e.createElementBlock("div",Kl,[...a[9]||(a[9]=[e.createElementVNode("div",{class:"preview-header-full"},null,-1),e.createElementVNode("div",{class:"preview-content-full"},null,-1)])])):(e.openBlock(),e.createElementBlock("div",Wl,[...a[10]||(a[10]=[e.createElementVNode("div",{class:"preview-header-mix"},[e.createElementVNode("div",{class:"preview-mix-left"})],-1),e.createElementVNode("div",{class:"preview-mix-body"},[e.createElementVNode("div",{class:"preview-mix-aside"}),e.createElementVNode("div",{class:"preview-mix-content"})],-1)])]))]),e.createElementVNode("span",Xl,e.toDisplayString(r.label),1)],10,jl)),64))])]),e.createElementVNode("div",Yl,[a[12]||(a[12]=e.createElementVNode("div",{class:"settings-title"},"主题色",-1)),e.createElementVNode("div",Jl,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(W,r=>e.createElementVNode("div",{key:r.value,class:e.normalizeClass(["color-option",{"is-active":e.unref(V).primaryColor===r.value}]),style:e.normalizeStyle({backgroundColor:r.value}),title:r.label,onClick:E=>F(r.value)},[e.unref(V).primaryColor===r.value?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:"check",size:12,color:"#fff"})):e.createCommentVNode("",!0)],14,Zl)),64))])]),e.createElementVNode("div",Ql,[a[17]||(a[17]=e.createElementVNode("div",{class:"settings-title"},"功能设置",-1)),e.createElementVNode("div",vl,[e.createElementVNode("div",es,[a[14]||(a[14]=e.createElementVNode("span",null,"灰色模式",-1)),e.createElementVNode("div",{class:e.normalizeClass(["switch-wrapper",{"is-checked":d.value}]),onClick:$e},[...a[13]||(a[13]=[e.createElementVNode("span",{class:"switch-core"},null,-1)])],2)]),e.createElementVNode("div",ts,[a[16]||(a[16]=e.createElementVNode("span",null,"暗黑模式",-1)),e.createElementVNode("div",{class:e.normalizeClass(["switch-wrapper",{"is-checked":e.unref(V).isDark}]),onClick:L},[...a[15]||(a[15]=[e.createElementVNode("span",{class:"switch-core"},null,-1)])],2)])])])])]),_:1},8,["modelValue"])])}}}),[["__scopeId","data-v-18f26903"]]),os={key:0,class:"layout layout--sidebar"},ls={class:"layout__main"},ss={class:"layout__header"},rs={class:"layout__content"},as={key:1,class:"layout layout--top"},is={class:"layout__top-menu"},cs={class:"layout__main"},ds={class:"layout__content"},ms={key:2,class:"layout layout--mix"},ps={class:"layout__mix-top-menu"},fs={class:"layout__mix-body"},us={class:"layout__content"},ct=ge(e.defineComponent({__name:"index",props:{logoSrc:{default:"/vite.svg"}},setup(o){const p=o,g=Se(),f=xe(),h=e.computed(()=>g.isCollapsed?"64px":"210px"),V=e.computed(()=>g.layout),_=e.computed(()=>V.value==="mix"),u=e.computed(()=>V.value==="sidebar"?f.menuList:V.value==="mix"?g.mixSubMenus:[]),w=e.computed(()=>_.value?u.value.length>0:!1);return(x,y)=>{const I=e.resolveComponent("router-view");return e.openBlock(),e.createElementBlock(e.Fragment,null,[V.value==="sidebar"?(e.openBlock(),e.createElementBlock("div",os,[e.createElementVNode("aside",{class:"layout__aside",style:e.normalizeStyle({width:h.value})},[e.createVNode(it,{"menu-list":u.value,"show-logo":!0,"show-user":!0,"logo-src":p.logoSrc},null,8,["menu-list","logo-src"])],4),e.createElementVNode("div",ls,[e.createElementVNode("header",ss,[e.createVNode(It)]),e.createElementVNode("main",rs,[e.createVNode(I)])])])):e.createCommentVNode("",!0),V.value==="top"?(e.openBlock(),e.createElementBlock("div",as,[e.createElementVNode("div",is,[e.createVNode(pl,{"logo-src":p.logoSrc},null,8,["logo-src"])]),e.createElementVNode("div",cs,[e.createElementVNode("main",ds,[e.createVNode(I)])])])):e.createCommentVNode("",!0),V.value==="mix"?(e.openBlock(),e.createElementBlock("div",ms,[e.createElementVNode("div",ps,[e.createVNode(ns,{"logo-src":p.logoSrc},null,8,["logo-src"])]),e.createElementVNode("div",fs,[w.value?(e.openBlock(),e.createElementBlock("aside",{key:0,class:"layout__aside",style:e.normalizeStyle({width:h.value})},[e.createVNode(it,{"menu-list":u.value,"show-logo":!1,"show-user":!1},null,8,["menu-list"])],4)):e.createCommentVNode("",!0),e.createElementVNode("main",us,[e.createVNode(I)])])])):e.createCommentVNode("",!0)],64)}}}),[["__scopeId","data-v-3317ef3c"]]),hs=Object.freeze(Object.defineProperty({__proto__:null,default:ct},Symbol.toStringTag,{value:"Module"})),gs={class:"tabs-wrapper"},_s={class:"tab-label"},Ns=["onClick"],Es=ge(e.defineComponent({__name:"Tabs",setup(o){const p=ie.useRoute(),g=ie.useRouter(),f=e.computed(()=>{const u=[];return p.matched.forEach(w=>{var x;(x=w.meta)!=null&&x.affix&&u.push({name:w.name,title:w.meta.title,path:w.path,affix:!0})}),u}),h=e.computed(()=>p.path),V=u=>{g.push(u)},_=u=>{const w=f.value.find(x=>x.path===u);if(!(w!=null&&w.affix)&&u===h.value){const x=f.value.findIndex(I=>I.path===u),y=f.value[x-1]||f.value[x+1];y&&g.push(y.path)}};return(u,w)=>(e.openBlock(),e.createElementBlock("div",gs,[e.createVNode(e.unref(Ne.Tabs),{modelValue:h.value,"onUpdate:modelValue":w[0]||(w[0]=x=>h.value=x),type:"card",onTabClick:V},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value,x=>(e.openBlock(),e.createBlock(e.unref(Ne.TabPane),{key:x.path,name:x.path,label:x.title,closable:!x.affix},{label:e.withCtx(()=>[e.createElementVNode("span",_s,[e.createTextVNode(e.toDisplayString(x.title)+" ",1),x.affix?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",{key:0,class:"tab-close",onClick:e.withModifiers(y=>_(x.path),["stop"])}," ✕ ",8,Ns))])]),_:2},1032,["name","label","closable"]))),128))]),_:1},8,["modelValue"])]))}}),[["__scopeId","data-v-9156d8cd"]]),Vs={},ks={class:"footer"};function ys(o,p){return e.openBlock(),e.createElementBlock("div",ks,[...p[0]||(p[0]=[e.createElementVNode("span",null,"Copyright © 2024 Xto Demo. All Rights Reserved.",-1)])])}const ws=ge(Vs,[["render",ys],["__scopeId","data-v-4852826a"]]);var xs=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Cs(o){return o&&o.__esModule&&Object.prototype.hasOwnProperty.call(o,"default")?o.default:o}var Ge={exports:{}},Lt={exports:{}},Mt={exports:{}};(function(o){(function(p){var g,f=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,h=Math.ceil,V=Math.floor,_="[BigNumber Error] ",u=_+"Number primitive has more than 15 significant digits: ",w=1e14,x=14,y=9007199254740991,I=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],$=1e7,z=1e9;function K(d){var k,R,J,D=L.prototype={constructor:L,toString:null,valueOf:null},ee=new L(1),Z=20,q=4,le=-7,se=21,fe=-1e7,de=1e7,me=!1,pe=1,ue=0,be={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:" ",suffix:""},Ve="0123456789abcdefghijklmnopqrstuvwxyz",$e=!0;function L(t,n){var s,c,m,l,a,i,r,E,N=this;if(!(N instanceof L))return new L(t,n);if(n==null){if(t&&t._isBigNumber===!0){N.s=t.s,!t.c||t.e>de?N.c=N.e=null:t.e<fe?N.c=[N.e=0]:(N.e=t.e,N.c=t.c.slice());return}if((i=typeof t=="number")&&t*0==0){if(N.s=1/t<0?(t=-t,-1):1,t===~~t){for(l=0,a=t;a>=10;a/=10,l++);l>de?N.c=N.e=null:(N.e=l,N.c=[t]);return}E=String(t)}else{if(!f.test(E=String(t)))return J(N,E,i);N.s=E.charCodeAt(0)==45?(E=E.slice(1),-1):1}(l=E.indexOf("."))>-1&&(E=E.replace(".","")),(a=E.search(/e/i))>0?(l<0&&(l=a),l+=+E.slice(a+1),E=E.substring(0,a)):l<0&&(l=E.length)}else{if(C(n,2,Ve.length,"Base"),n==10&&$e)return N=new L(t),W(N,Z+N.e+1,q);if(E=String(t),i=typeof t=="number"){if(t*0!=0)return J(N,E,i,n);if(N.s=1/t<0?(E=E.slice(1),-1):1,L.DEBUG&&E.replace(/^0\.0*|\./,"").length>15)throw Error(u+t)}else N.s=E.charCodeAt(0)===45?(E=E.slice(1),-1):1;for(s=Ve.slice(0,n),l=a=0,r=E.length;a<r;a++)if(s.indexOf(c=E.charAt(a))<0){if(c=="."){if(a>l){l=r;continue}}else if(!m&&(E==E.toUpperCase()&&(E=E.toLowerCase())||E==E.toLowerCase()&&(E=E.toUpperCase()))){m=!0,a=-1,l=0;continue}return J(N,String(t),i,n)}i=!1,E=R(E,n,10,N.s),(l=E.indexOf("."))>-1?E=E.replace(".",""):l=E.length}for(a=0;E.charCodeAt(a)===48;a++);for(r=E.length;E.charCodeAt(--r)===48;);if(E=E.slice(a,++r)){if(r-=a,i&&L.DEBUG&&r>15&&(t>y||t!==V(t)))throw Error(u+N.s*t);if((l=l-a-1)>de)N.c=N.e=null;else if(l<fe)N.c=[N.e=0];else{if(N.e=l,N.c=[],a=(l+1)%x,l<0&&(a+=x),a<r){for(a&&N.c.push(+E.slice(0,a)),r-=x;a<r;)N.c.push(+E.slice(a,a+=x));a=x-(E=E.slice(a)).length}else a-=r;for(;a--;E+="0");N.c.push(+E)}}else N.c=[N.e=0]}L.clone=K,L.ROUND_UP=0,L.ROUND_DOWN=1,L.ROUND_CEIL=2,L.ROUND_FLOOR=3,L.ROUND_HALF_UP=4,L.ROUND_HALF_DOWN=5,L.ROUND_HALF_EVEN=6,L.ROUND_HALF_CEIL=7,L.ROUND_HALF_FLOOR=8,L.EUCLID=9,L.config=L.set=function(t){var n,s;if(t!=null)if(typeof t=="object"){if(t.hasOwnProperty(n="DECIMAL_PLACES")&&(s=t[n],C(s,0,z,n),Z=s),t.hasOwnProperty(n="ROUNDING_MODE")&&(s=t[n],C(s,0,8,n),q=s),t.hasOwnProperty(n="EXPONENTIAL_AT")&&(s=t[n],s&&s.pop?(C(s[0],-z,0,n),C(s[1],0,z,n),le=s[0],se=s[1]):(C(s,-z,z,n),le=-(se=s<0?-s:s))),t.hasOwnProperty(n="RANGE"))if(s=t[n],s&&s.pop)C(s[0],-z,-1,n),C(s[1],1,z,n),fe=s[0],de=s[1];else if(C(s,-z,z,n),s)fe=-(de=s<0?-s:s);else throw Error(_+n+" cannot be zero: "+s);if(t.hasOwnProperty(n="CRYPTO"))if(s=t[n],s===!!s)if(s)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))me=s;else throw me=!s,Error(_+"crypto unavailable");else me=s;else throw Error(_+n+" not true or false: "+s);if(t.hasOwnProperty(n="MODULO_MODE")&&(s=t[n],C(s,0,9,n),pe=s),t.hasOwnProperty(n="POW_PRECISION")&&(s=t[n],C(s,0,z,n),ue=s),t.hasOwnProperty(n="FORMAT"))if(s=t[n],typeof s=="object")be=s;else throw Error(_+n+" not an object: "+s);if(t.hasOwnProperty(n="ALPHABET"))if(s=t[n],typeof s=="string"&&!/^.?$|[+\-.\s]|(.).*\1/.test(s))$e=s.slice(0,10)=="0123456789",Ve=s;else throw Error(_+n+" invalid: "+s)}else throw Error(_+"Object expected: "+t);return{DECIMAL_PLACES:Z,ROUNDING_MODE:q,EXPONENTIAL_AT:[le,se],RANGE:[fe,de],CRYPTO:me,MODULO_MODE:pe,POW_PRECISION:ue,FORMAT:be,ALPHABET:Ve}},L.isBigNumber=function(t){if(!t||t._isBigNumber!==!0)return!1;if(!L.DEBUG)return!0;var n,s,c=t.c,m=t.e,l=t.s;e:if({}.toString.call(c)=="[object Array]"){if((l===1||l===-1)&&m>=-z&&m<=z&&m===V(m)){if(c[0]===0){if(m===0&&c.length===1)return!0;break e}if(n=(m+1)%x,n<1&&(n+=x),String(c[0]).length==n){for(n=0;n<c.length;n++)if(s=c[n],s<0||s>=w||s!==V(s))break e;if(s!==0)return!0}}}else if(c===null&&m===null&&(l===null||l===1||l===-1))return!0;throw Error(_+"Invalid BigNumber: "+t)},L.maximum=L.max=function(){return Le(arguments,-1)},L.minimum=L.min=function(){return Le(arguments,1)},L.random=function(){var t=9007199254740992,n=Math.random()*t&2097151?function(){return V(Math.random()*t)}:function(){return(Math.random()*1073741824|0)*8388608+(Math.random()*8388608|0)};return function(s){var c,m,l,a,i,r=0,E=[],N=new L(ee);if(s==null?s=Z:C(s,0,z),a=h(s/x),me)if(crypto.getRandomValues){for(c=crypto.getRandomValues(new Uint32Array(a*=2));r<a;)i=c[r]*131072+(c[r+1]>>>11),i>=9e15?(m=crypto.getRandomValues(new Uint32Array(2)),c[r]=m[0],c[r+1]=m[1]):(E.push(i%1e14),r+=2);r=a/2}else if(crypto.randomBytes){for(c=crypto.randomBytes(a*=7);r<a;)i=(c[r]&31)*281474976710656+c[r+1]*1099511627776+c[r+2]*4294967296+c[r+3]*16777216+(c[r+4]<<16)+(c[r+5]<<8)+c[r+6],i>=9e15?crypto.randomBytes(7).copy(c,r):(E.push(i%1e14),r+=7);r=a/7}else throw me=!1,Error(_+"crypto unavailable");if(!me)for(;r<a;)i=n(),i<9e15&&(E[r++]=i%1e14);for(a=E[--r],s%=x,a&&s&&(i=I[x-s],E[r]=V(a/i)*i);E[r]===0;E.pop(),r--);if(r<0)E=[l=0];else{for(l=-1;E[0]===0;E.splice(0,1),l-=x);for(r=1,i=E[0];i>=10;i/=10,r++);r<x&&(l-=x-r)}return N.e=l,N.c=E,N}}(),L.sum=function(){for(var t=1,n=arguments,s=new L(n[0]);t<n.length;)s=s.plus(n[t++]);return s},R=function(){var t="0123456789";function n(s,c,m,l){for(var a,i=[0],r,E=0,N=s.length;E<N;){for(r=i.length;r--;i[r]*=c);for(i[0]+=l.indexOf(s.charAt(E++)),a=0;a<i.length;a++)i[a]>m-1&&(i[a+1]==null&&(i[a+1]=0),i[a+1]+=i[a]/m|0,i[a]%=m)}return i.reverse()}return function(s,c,m,l,a){var i,r,E,N,b,j,H,v,re=s.indexOf("."),ce=Z,Q=q;for(re>=0&&(N=ue,ue=0,s=s.replace(".",""),v=new L(c),j=v.pow(s.length-re),ue=N,v.c=n(U(M(j.c),j.e,"0"),10,m,t),v.e=v.c.length),H=n(s,c,m,a?(i=Ve,t):(i=t,Ve)),E=N=H.length;H[--N]==0;H.pop());if(!H[0])return i.charAt(0);if(re<0?--E:(j.c=H,j.e=E,j.s=l,j=k(j,v,ce,Q,m),H=j.c,b=j.r,E=j.e),r=E+ce+1,re=H[r],N=m/2,b=b||r<0||H[r+1]!=null,b=Q<4?(re!=null||b)&&(Q==0||Q==(j.s<0?3:2)):re>N||re==N&&(Q==4||b||Q==6&&H[r-1]&1||Q==(j.s<0?8:7)),r<1||!H[0])s=b?U(i.charAt(1),-ce,i.charAt(0)):i.charAt(0);else{if(H.length=r,b)for(--m;++H[--r]>m;)H[r]=0,r||(++E,H=[1].concat(H));for(N=H.length;!H[--N];);for(re=0,s="";re<=N;s+=i.charAt(H[re++]));s=U(s,E,i.charAt(0))}return s}}(),k=function(){function t(c,m,l){var a,i,r,E,N=0,b=c.length,j=m%$,H=m/$|0;for(c=c.slice();b--;)r=c[b]%$,E=c[b]/$|0,a=H*r+E*j,i=j*r+a%$*$+N,N=(i/l|0)+(a/$|0)+H*E,c[b]=i%l;return N&&(c=[N].concat(c)),c}function n(c,m,l,a){var i,r;if(l!=a)r=l>a?1:-1;else for(i=r=0;i<l;i++)if(c[i]!=m[i]){r=c[i]>m[i]?1:-1;break}return r}function s(c,m,l,a){for(var i=0;l--;)c[l]-=i,i=c[l]<m[l]?1:0,c[l]=i*a+c[l]-m[l];for(;!c[0]&&c.length>1;c.splice(0,1));}return function(c,m,l,a,i){var r,E,N,b,j,H,v,re,ce,Q,te,he,Xe,ut,ht,Be,Re,ye=c.s==m.s?1:-1,_e=c.c,ae=m.c;if(!_e||!_e[0]||!ae||!ae[0])return new L(!c.s||!m.s||(_e?ae&&_e[0]==ae[0]:!ae)?NaN:_e&&_e[0]==0||!ae?ye*0:ye/0);for(re=new L(ye),ce=re.c=[],E=c.e-m.e,ye=l+E+1,i||(i=w,E=T(c.e/x)-T(m.e/x),ye=ye/x|0),N=0;ae[N]==(_e[N]||0);N++);if(ae[N]>(_e[N]||0)&&E--,ye<0)ce.push(1),b=!0;else{for(ut=_e.length,Be=ae.length,N=0,ye+=2,j=V(i/(ae[0]+1)),j>1&&(ae=t(ae,j,i),_e=t(_e,j,i),Be=ae.length,ut=_e.length),Xe=Be,Q=_e.slice(0,Be),te=Q.length;te<Be;Q[te++]=0);Re=ae.slice(),Re=[0].concat(Re),ht=ae[0],ae[1]>=i/2&&ht++;do{if(j=0,r=n(ae,Q,Be,te),r<0){if(he=Q[0],Be!=te&&(he=he*i+(Q[1]||0)),j=V(he/ht),j>1)for(j>=i&&(j=i-1),H=t(ae,j,i),v=H.length,te=Q.length;n(H,Q,v,te)==1;)j--,s(H,Be<v?Re:ae,v,i),v=H.length,r=1;else j==0&&(r=j=1),H=ae.slice(),v=H.length;if(v<te&&(H=[0].concat(H)),s(Q,H,te,i),te=Q.length,r==-1)for(;n(ae,Q,Be,te)<1;)j++,s(Q,Be<te?Re:ae,te,i),te=Q.length}else r===0&&(j++,Q=[0]);ce[N++]=j,Q[0]?Q[te++]=_e[Xe]||0:(Q=[_e[Xe]],te=1)}while((Xe++<ut||Q[0]!=null)&&ye--);b=Q[0]!=null,ce[0]||ce.splice(0,1)}if(i==w){for(N=1,ye=ce[0];ye>=10;ye/=10,N++);W(re,l+(re.e=N+E*x-1)+1,a,b)}else re.e=E,re.r=+b;return re}}();function Ie(t,n,s,c){var m,l,a,i,r;if(s==null?s=q:C(s,0,8),!t.c)return t.toString();if(m=t.c[0],a=t.e,n==null)r=M(t.c),r=c==1||c==2&&(a<=le||a>=se)?Y(r,a):U(r,a,"0");else if(t=W(new L(t),n,s),l=t.e,r=M(t.c),i=r.length,c==1||c==2&&(n<=l||l<=le)){for(;i<n;r+="0",i++);r=Y(r,l)}else if(n-=a+(c===2&&l>a),r=U(r,l,"0"),l+1>i){if(--n>0)for(r+=".";n--;r+="0");}else if(n+=l-i,n>0)for(l+1==i&&(r+=".");n--;r+="0");return t.s<0&&m?"-"+r:r}function Le(t,n){for(var s,c,m=1,l=new L(t[0]);m<t.length;m++)c=new L(t[m]),(!c.s||(s=B(l,c))===n||s===0&&l.s===n)&&(l=c);return l}function Ce(t,n,s){for(var c=1,m=n.length;!n[--m];n.pop());for(m=n[0];m>=10;m/=10,c++);return(s=c+s*x-1)>de?t.c=t.e=null:s<fe?t.c=[t.e=0]:(t.e=s,t.c=n),t}J=function(){var t=/^(-?)0([xbo])(?=\w[\w.]*$)/i,n=/^([^.]+)\.$/,s=/^\.([^.]+)$/,c=/^-?(Infinity|NaN)$/,m=/^\s*\+(?=[\w.])|^\s+|\s+$/g;return function(l,a,i,r){var E,N=i?a:a.replace(m,"");if(c.test(N))l.s=isNaN(N)?null:N<0?-1:1;else{if(!i&&(N=N.replace(t,function(b,j,H){return E=(H=H.toLowerCase())=="x"?16:H=="b"?2:8,!r||r==E?j:b}),r&&(E=r,N=N.replace(n,"$1").replace(s,"0.$1")),a!=N))return new L(N,E);if(L.DEBUG)throw Error(_+"Not a"+(r?" base "+r:"")+" number: "+a);l.s=null}l.c=l.e=null}}();function W(t,n,s,c){var m,l,a,i,r,E,N,b=t.c,j=I;if(b){e:{for(m=1,i=b[0];i>=10;i/=10,m++);if(l=n-m,l<0)l+=x,a=n,r=b[E=0],N=V(r/j[m-a-1]%10);else if(E=h((l+1)/x),E>=b.length)if(c){for(;b.length<=E;b.push(0));r=N=0,m=1,l%=x,a=l-x+1}else break e;else{for(r=i=b[E],m=1;i>=10;i/=10,m++);l%=x,a=l-x+m,N=a<0?0:V(r/j[m-a-1]%10)}if(c=c||n<0||b[E+1]!=null||(a<0?r:r%j[m-a-1]),c=s<4?(N||c)&&(s==0||s==(t.s<0?3:2)):N>5||N==5&&(s==4||c||s==6&&(l>0?a>0?r/j[m-a]:0:b[E-1])%10&1||s==(t.s<0?8:7)),n<1||!b[0])return b.length=0,c?(n-=t.e+1,b[0]=j[(x-n%x)%x],t.e=-n||0):b[0]=t.e=0,t;if(l==0?(b.length=E,i=1,E--):(b.length=E+1,i=j[x-l],b[E]=a>0?V(r/j[m-a]%j[a])*i:0),c)for(;;)if(E==0){for(l=1,a=b[0];a>=10;a/=10,l++);for(a=b[0]+=i,i=1;a>=10;a/=10,i++);l!=i&&(t.e++,b[0]==w&&(b[0]=1));break}else{if(b[E]+=i,b[E]!=w)break;b[E--]=0,i=1}for(l=b.length;b[--l]===0;b.pop());}t.e>de?t.c=t.e=null:t.e<fe&&(t.c=[t.e=0])}return t}function F(t){var n,s=t.e;return s===null?t.toString():(n=M(t.c),n=s<=le||s>=se?Y(n,s):U(n,s,"0"),t.s<0?"-"+n:n)}return D.absoluteValue=D.abs=function(){var t=new L(this);return t.s<0&&(t.s=1),t},D.comparedTo=function(t,n){return B(this,new L(t,n))},D.decimalPlaces=D.dp=function(t,n){var s,c,m,l=this;if(t!=null)return C(t,0,z),n==null?n=q:C(n,0,8),W(new L(l),t+l.e+1,n);if(!(s=l.c))return null;if(c=((m=s.length-1)-T(this.e/x))*x,m=s[m])for(;m%10==0;m/=10,c--);return c<0&&(c=0),c},D.dividedBy=D.div=function(t,n){return k(this,new L(t,n),Z,q)},D.dividedToIntegerBy=D.idiv=function(t,n){return k(this,new L(t,n),0,1)},D.exponentiatedBy=D.pow=function(t,n){var s,c,m,l,a,i,r,E,N,b=this;if(t=new L(t),t.c&&!t.isInteger())throw Error(_+"Exponent not an integer: "+F(t));if(n!=null&&(n=new L(n)),i=t.e>14,!b.c||!b.c[0]||b.c[0]==1&&!b.e&&b.c.length==1||!t.c||!t.c[0])return N=new L(Math.pow(+F(b),i?t.s*(2-P(t)):+F(t))),n?N.mod(n):N;if(r=t.s<0,n){if(n.c?!n.c[0]:!n.s)return new L(NaN);c=!r&&b.isInteger()&&n.isInteger(),c&&(b=b.mod(n))}else{if(t.e>9&&(b.e>0||b.e<-1||(b.e==0?b.c[0]>1||i&&b.c[1]>=24e7:b.c[0]<8e13||i&&b.c[0]<=9999975e7)))return l=b.s<0&&P(t)?-0:0,b.e>-1&&(l=1/l),new L(r?1/l:l);ue&&(l=h(ue/x+2))}for(i?(s=new L(.5),r&&(t.s=1),E=P(t)):(m=Math.abs(+F(t)),E=m%2),N=new L(ee);;){if(E){if(N=N.times(b),!N.c)break;l?N.c.length>l&&(N.c.length=l):c&&(N=N.mod(n))}if(m){if(m=V(m/2),m===0)break;E=m%2}else if(t=t.times(s),W(t,t.e+1,1),t.e>14)E=P(t);else{if(m=+F(t),m===0)break;E=m%2}b=b.times(b),l?b.c&&b.c.length>l&&(b.c.length=l):c&&(b=b.mod(n))}return c?N:(r&&(N=ee.div(N)),n?N.mod(n):l?W(N,ue,q,a):N)},D.integerValue=function(t){var n=new L(this);return t==null?t=q:C(t,0,8),W(n,n.e+1,t)},D.isEqualTo=D.eq=function(t,n){return B(this,new L(t,n))===0},D.isFinite=function(){return!!this.c},D.isGreaterThan=D.gt=function(t,n){return B(this,new L(t,n))>0},D.isGreaterThanOrEqualTo=D.gte=function(t,n){return(n=B(this,new L(t,n)))===1||n===0},D.isInteger=function(){return!!this.c&&T(this.e/x)>this.c.length-2},D.isLessThan=D.lt=function(t,n){return B(this,new L(t,n))<0},D.isLessThanOrEqualTo=D.lte=function(t,n){return(n=B(this,new L(t,n)))===-1||n===0},D.isNaN=function(){return!this.s},D.isNegative=function(){return this.s<0},D.isPositive=function(){return this.s>0},D.isZero=function(){return!!this.c&&this.c[0]==0},D.minus=function(t,n){var s,c,m,l,a=this,i=a.s;if(t=new L(t,n),n=t.s,!i||!n)return new L(NaN);if(i!=n)return t.s=-n,a.plus(t);var r=a.e/x,E=t.e/x,N=a.c,b=t.c;if(!r||!E){if(!N||!b)return N?(t.s=-n,t):new L(b?a:NaN);if(!N[0]||!b[0])return b[0]?(t.s=-n,t):new L(N[0]?a:q==3?-0:0)}if(r=T(r),E=T(E),N=N.slice(),i=r-E){for((l=i<0)?(i=-i,m=N):(E=r,m=b),m.reverse(),n=i;n--;m.push(0));m.reverse()}else for(c=(l=(i=N.length)<(n=b.length))?i:n,i=n=0;n<c;n++)if(N[n]!=b[n]){l=N[n]<b[n];break}if(l&&(m=N,N=b,b=m,t.s=-t.s),n=(c=b.length)-(s=N.length),n>0)for(;n--;N[s++]=0);for(n=w-1;c>i;){if(N[--c]<b[c]){for(s=c;s&&!N[--s];N[s]=n);--N[s],N[c]+=w}N[c]-=b[c]}for(;N[0]==0;N.splice(0,1),--E);return N[0]?Ce(t,N,E):(t.s=q==3?-1:1,t.c=[t.e=0],t)},D.modulo=D.mod=function(t,n){var s,c,m=this;return t=new L(t,n),!m.c||!t.s||t.c&&!t.c[0]?new L(NaN):!t.c||m.c&&!m.c[0]?new L(m):(pe==9?(c=t.s,t.s=1,s=k(m,t,0,3),t.s=c,s.s*=c):s=k(m,t,0,pe),t=m.minus(s.times(t)),!t.c[0]&&pe==1&&(t.s=m.s),t)},D.multipliedBy=D.times=function(t,n){var s,c,m,l,a,i,r,E,N,b,j,H,v,re,ce,Q=this,te=Q.c,he=(t=new L(t,n)).c;if(!te||!he||!te[0]||!he[0])return!Q.s||!t.s||te&&!te[0]&&!he||he&&!he[0]&&!te?t.c=t.e=t.s=null:(t.s*=Q.s,!te||!he?t.c=t.e=null:(t.c=[0],t.e=0)),t;for(c=T(Q.e/x)+T(t.e/x),t.s*=Q.s,r=te.length,b=he.length,r<b&&(v=te,te=he,he=v,m=r,r=b,b=m),m=r+b,v=[];m--;v.push(0));for(re=w,ce=$,m=b;--m>=0;){for(s=0,j=he[m]%ce,H=he[m]/ce|0,a=r,l=m+a;l>m;)E=te[--a]%ce,N=te[a]/ce|0,i=H*E+N*j,E=j*E+i%ce*ce+v[l]+s,s=(E/re|0)+(i/ce|0)+H*N,v[l--]=E%re;v[l]=s}return s?++c:v.splice(0,1),Ce(t,v,c)},D.negated=function(){var t=new L(this);return t.s=-t.s||null,t},D.plus=function(t,n){var s,c=this,m=c.s;if(t=new L(t,n),n=t.s,!m||!n)return new L(NaN);if(m!=n)return t.s=-n,c.minus(t);var l=c.e/x,a=t.e/x,i=c.c,r=t.c;if(!l||!a){if(!i||!r)return new L(m/0);if(!i[0]||!r[0])return r[0]?t:new L(i[0]?c:m*0)}if(l=T(l),a=T(a),i=i.slice(),m=l-a){for(m>0?(a=l,s=r):(m=-m,s=i),s.reverse();m--;s.push(0));s.reverse()}for(m=i.length,n=r.length,m-n<0&&(s=r,r=i,i=s,n=m),m=0;n;)m=(i[--n]=i[n]+r[n]+m)/w|0,i[n]=w===i[n]?0:i[n]%w;return m&&(i=[m].concat(i),++a),Ce(t,i,a)},D.precision=D.sd=function(t,n){var s,c,m,l=this;if(t!=null&&t!==!!t)return C(t,1,z),n==null?n=q:C(n,0,8),W(new L(l),t,n);if(!(s=l.c))return null;if(m=s.length-1,c=m*x+1,m=s[m]){for(;m%10==0;m/=10,c--);for(m=s[0];m>=10;m/=10,c++);}return t&&l.e+1>c&&(c=l.e+1),c},D.shiftedBy=function(t){return C(t,-y,y),this.times("1e"+t)},D.squareRoot=D.sqrt=function(){var t,n,s,c,m,l=this,a=l.c,i=l.s,r=l.e,E=Z+4,N=new L("0.5");if(i!==1||!a||!a[0])return new L(!i||i<0&&(!a||a[0])?NaN:a?l:1/0);if(i=Math.sqrt(+F(l)),i==0||i==1/0?(n=M(a),(n.length+r)%2==0&&(n+="0"),i=Math.sqrt(+n),r=T((r+1)/2)-(r<0||r%2),i==1/0?n="5e"+r:(n=i.toExponential(),n=n.slice(0,n.indexOf("e")+1)+r),s=new L(n)):s=new L(i+""),s.c[0]){for(r=s.e,i=r+E,i<3&&(i=0);;)if(m=s,s=N.times(m.plus(k(l,m,E,1))),M(m.c).slice(0,i)===(n=M(s.c)).slice(0,i))if(s.e<r&&--i,n=n.slice(i-3,i+1),n=="9999"||!c&&n=="4999"){if(!c&&(W(m,m.e+Z+2,0),m.times(m).eq(l))){s=m;break}E+=4,i+=4,c=1}else{(!+n||!+n.slice(1)&&n.charAt(0)=="5")&&(W(s,s.e+Z+2,1),t=!s.times(s).eq(l));break}}return W(s,s.e+Z+1,q,t)},D.toExponential=function(t,n){return t!=null&&(C(t,0,z),t++),Ie(this,t,n,1)},D.toFixed=function(t,n){return t!=null&&(C(t,0,z),t=t+this.e+1),Ie(this,t,n)},D.toFormat=function(t,n,s){var c,m=this;if(s==null)t!=null&&n&&typeof n=="object"?(s=n,n=null):t&&typeof t=="object"?(s=t,t=n=null):s=be;else if(typeof s!="object")throw Error(_+"Argument not an object: "+s);if(c=m.toFixed(t,n),m.c){var l,a=c.split("."),i=+s.groupSize,r=+s.secondaryGroupSize,E=s.groupSeparator||"",N=a[0],b=a[1],j=m.s<0,H=j?N.slice(1):N,v=H.length;if(r&&(l=i,i=r,r=l,v-=l),i>0&&v>0){for(l=v%i||i,N=H.substr(0,l);l<v;l+=i)N+=E+H.substr(l,i);r>0&&(N+=E+H.slice(l)),j&&(N="-"+N)}c=b?N+(s.decimalSeparator||"")+((r=+s.fractionGroupSize)?b.replace(new RegExp("\\d{"+r+"}\\B","g"),"$&"+(s.fractionGroupSeparator||"")):b):N}return(s.prefix||"")+c+(s.suffix||"")},D.toFraction=function(t){var n,s,c,m,l,a,i,r,E,N,b,j,H=this,v=H.c;if(t!=null&&(i=new L(t),!i.isInteger()&&(i.c||i.s!==1)||i.lt(ee)))throw Error(_+"Argument "+(i.isInteger()?"out of range: ":"not an integer: ")+F(i));if(!v)return new L(H);for(n=new L(ee),E=s=new L(ee),c=r=new L(ee),j=M(v),l=n.e=j.length-H.e-1,n.c[0]=I[(a=l%x)<0?x+a:a],t=!t||i.comparedTo(n)>0?l>0?n:E:i,a=de,de=1/0,i=new L(j),r.c[0]=0;N=k(i,n,0,1),m=s.plus(N.times(c)),m.comparedTo(t)!=1;)s=c,c=m,E=r.plus(N.times(m=E)),r=m,n=i.minus(N.times(m=n)),i=m;return m=k(t.minus(s),c,0,1),r=r.plus(m.times(E)),s=s.plus(m.times(c)),r.s=E.s=H.s,l=l*2,b=k(E,c,l,q).minus(H).abs().comparedTo(k(r,s,l,q).minus(H).abs())<1?[E,c]:[r,s],de=a,b},D.toNumber=function(){return+F(this)},D.toPrecision=function(t,n){return t!=null&&C(t,1,z),Ie(this,t,n,2)},D.toString=function(t){var n,s=this,c=s.s,m=s.e;return m===null?c?(n="Infinity",c<0&&(n="-"+n)):n="NaN":(t==null?n=m<=le||m>=se?Y(M(s.c),m):U(M(s.c),m,"0"):t===10&&$e?(s=W(new L(s),Z+m+1,q),n=U(M(s.c),s.e,"0")):(C(t,2,Ve.length,"Base"),n=R(U(M(s.c),m,"0"),10,t,c,!0)),c<0&&s.c[0]&&(n="-"+n)),n},D.valueOf=D.toJSON=function(){return F(this)},D._isBigNumber=!0,d!=null&&L.set(d),L}function T(d){var k=d|0;return d>0||d===k?k:k-1}function M(d){for(var k,R,J=1,D=d.length,ee=d[0]+"";J<D;){for(k=d[J++]+"",R=x-k.length;R--;k="0"+k);ee+=k}for(D=ee.length;ee.charCodeAt(--D)===48;);return ee.slice(0,D+1||1)}function B(d,k){var R,J,D=d.c,ee=k.c,Z=d.s,q=k.s,le=d.e,se=k.e;if(!Z||!q)return null;if(R=D&&!D[0],J=ee&&!ee[0],R||J)return R?J?0:-q:Z;if(Z!=q)return Z;if(R=Z<0,J=le==se,!D||!ee)return J?0:!D^R?1:-1;if(!J)return le>se^R?1:-1;for(q=(le=D.length)<(se=ee.length)?le:se,Z=0;Z<q;Z++)if(D[Z]!=ee[Z])return D[Z]>ee[Z]^R?1:-1;return le==se?0:le>se^R?1:-1}function C(d,k,R,J){if(d<k||d>R||d!==V(d))throw Error(_+(J||"Argument")+(typeof d=="number"?d<k||d>R?" out of range: ":" not an integer: ":" not a primitive number: ")+String(d))}function P(d){var k=d.c.length-1;return T(d.e/x)==k&&d.c[k]%2!=0}function Y(d,k){return(d.length>1?d.charAt(0)+"."+d.slice(1):d)+(k<0?"e":"e+")+k}function U(d,k,R){var J,D;if(k<0){for(D=R+".";++k;D+=R);d=D+d}else if(J=d.length,++k>J){for(D=R,k-=J;--k;D+=R);d+=D}else k<J&&(d=d.slice(0,k)+"."+d.slice(k));return d}g=K(),g.default=g.BigNumber=g,o.exports?o.exports=g:(p||(p=typeof self<"u"&&self?self:window),p.BigNumber=g)})(xs)})(Mt);var Dt=Mt.exports;(function(o){var p=Dt,g=o.exports;(function(){var f=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,h,V,_={"\b":"\\b"," ":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},u;function w(y){return f.lastIndex=0,f.test(y)?'"'+y.replace(f,function(I){var $=_[I];return typeof $=="string"?$:"\\u"+("0000"+I.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+y+'"'}function x(y,I){var $,z,K,T,M=h,B,C=I[y],P=C!=null&&(C instanceof p||p.isBigNumber(C));switch(C&&typeof C=="object"&&typeof C.toJSON=="function"&&(C=C.toJSON(y)),typeof u=="function"&&(C=u.call(I,y,C)),typeof C){case"string":return P?C:w(C);case"number":return isFinite(C)?String(C):"null";case"boolean":case"null":case"bigint":return String(C);case"object":if(!C)return"null";if(h+=V,B=[],Object.prototype.toString.apply(C)==="[object Array]"){for(T=C.length,$=0;$<T;$+=1)B[$]=x($,C)||"null";return K=B.length===0?"[]":h?`[
|
|
2
2
|
`+h+B.join(`,
|
|
3
3
|
`+h)+`
|
|
4
|
-
`+
|
|
4
|
+
`+M+"]":"["+B.join(",")+"]",h=M,K}if(u&&typeof u=="object")for(T=u.length,$=0;$<T;$+=1)typeof u[$]=="string"&&(z=u[$],K=x(z,C),K&&B.push(w(z)+(h?": ":":")+K));else Object.keys(C).forEach(function(Y){var U=x(Y,C);U&&B.push(w(Y)+(h?": ":":")+U)});return K=B.length===0?"{}":h?`{
|
|
5
5
|
`+h+B.join(`,
|
|
6
6
|
`+h)+`
|
|
7
|
-
`+
|
|
8
|
-
`,r:"\r",t:" "},V,_=function(T){throw{name:"SyntaxError",message:T,at:g,text:V}},u=function(T){return T&&T!==f&&_("Expected '"+T+"' instead of '"+f+"'"),f=V.charAt(g),g+=1,f},w=function(){var T,L="";for(f==="-"&&(L="-",u("-"));f>="0"&&f<="9";)L+=f,u();if(f===".")for(L+=".";u()&&f>="0"&&f<="9";)L+=f;if(f==="e"||f==="E")for(L+=f,u(),(f==="-"||f==="+")&&(L+=f,u());f>="0"&&f<="9";)L+=f,u();if(T=+L,!isFinite(T))_("Bad number");else return Ke==null&&(Ke=Dt),L.length>15?p.storeAsString?L:p.useNativeBigInt?BigInt(L):new Ke(L):p.alwaysParseAsBig?p.useNativeBigInt?BigInt(T):new Ke(T):T},x=function(){var T,L,B="",C;if(f==='"')for(var P=g;u();){if(f==='"')return g-1>P&&(B+=V.substring(P,g-1)),u(),B;if(f==="\\"){if(g-1>P&&(B+=V.substring(P,g-1)),u(),f==="u"){for(C=0,L=0;L<4&&(T=parseInt(u(),16),!!isFinite(T));L+=1)C=C*16+T;B+=String.fromCharCode(C)}else if(typeof h[f]=="string")B+=h[f];else break;P=g}}_("Bad string")},y=function(){for(;f&&f<=" ";)u()},I=function(){switch(f){case"t":return u("t"),u("r"),u("u"),u("e"),!0;case"f":return u("f"),u("a"),u("l"),u("s"),u("e"),!1;case"n":return u("n"),u("u"),u("l"),u("l"),null}_("Unexpected '"+f+"'")},$,z=function(){var T=[];if(f==="["){if(u("["),y(),f==="]")return u("]"),T;for(;f;){if(T.push($()),y(),f==="]")return u("]"),T;u(","),y()}}_("Bad array")},K=function(){var T,L=Object.create(null);if(f==="{"){if(u("{"),y(),f==="}")return u("}"),L;for(;f;){if(T=x(),y(),u(":"),p.strict===!0&&Object.hasOwnProperty.call(L,T)&&_('Duplicate key "'+T+'"'),Ss.test(T)===!0?p.protoAction==="error"?_("Object contains forbidden prototype property"):p.protoAction==="ignore"?$():L[T]=$():bs.test(T)===!0?p.constructorAction==="error"?_("Object contains forbidden constructor property"):p.constructorAction==="ignore"?$():L[T]=$():L[T]=$(),y(),f==="}")return u("}"),L;u(","),y()}}_("Bad object")};return $=function(){switch(y(),f){case"{":return K();case"[":return z();case'"':return x();case"-":return w();default:return f>="0"&&f<="9"?w():I()}},function(T,L){var B;return V=T+"",g=0,f=" ",B=$(),y(),f&&_("Syntax error"),typeof L=="function"?function C(P,Y){var U,d=P[Y];return d&&typeof d=="object"&&Object.keys(d).forEach(function(k){U=C(d,k),U!==void 0?d[k]=U:delete d[k]}),L.call(P,Y,d)}({"":B},""):B}},Is=$s,Tt=Bs.stringify,At=Is;Ge.exports=function(o){return{parse:At(o),stringify:Tt}},Ge.exports.parse=At(),Ge.exports.stringify=Tt;var Ms=Ge.exports;const Ls=Cs(Ms)({storeAsString:!0});let Ut;function Ds(o){Ut=o,Le&&(Le.defaults.baseURL=o)}const Le=(()=>{const o=Jt.create({timeout:3e4,headers:{"Content-Type":"application/json"},transformResponse:[p=>{if(typeof p=="string")try{return Ls.parse(p)}catch{return p}return p}]});return o.interceptors.request.use(p=>{const g=Ut||void 0;g&&!p.baseURL&&(p.baseURL=g);const f=Pe(),h=kt()||"Bearer";return f&&(p.headers.Authorization=`${h} ${f}`),p},p=>Promise.reject(p)),o.interceptors.response.use(p=>{const{data:g}=p;return g.code===200||g.code===0?g.data:g.code===9121?(ne.Message.error("登录已过期,请重新登录"),De(),window.location.href="/login",Promise.reject(new Error(g.message||"EXPIRED OR INVALID TOKEN"))):(ne.Message.error(g.message||"请求失败"),Promise.reject(new Error(g.message||"请求失败")))},p=>{var f;const{response:g}=p;if(g){const{data:h}=g;if((h==null?void 0:h.code)===9121)return ne.Message.error("登录已过期,请重新登录"),De(),window.location.href="/login",Promise.reject(p);switch(g.status){case 401:ne.Message.error("登录已过期,请重新登录"),De(),window.location.href="/login";break;case 403:ne.Message.error("没有权限访问");break;case 404:ne.Message.error("请求资源不存在");break;case 500:ne.Message.error("服务器错误");break;default:ne.Message.error(((f=g.data)==null?void 0:f.message)||"请求失败")}}else ne.Message.error("网络连接失败");return Promise.reject(p)}),o})(),oe={get(o,p){return Le.get(o,p)},post(o,p,g){return Le.post(o,p,g)},put(o,p,g){return Le.put(o,p,g)},patch(o,p,g){return Le.patch(o,p,g)},delete(o,p){return Le.delete(o,p)},download(o,p){return Le.get(o,{...p,responseType:"blob"})}};function zt(o){return oe.post("/user/v1.0/login/by-domain",o)}function Ts(){return oe.put("/user/v1.0/user/logout")}function Ot(){return oe.get("/user/v1.0/user/get-me")}function As(o){return oe.post("/user/v1.0/refresh",{refreshToken:o})}const Us={class:"login-page"},zs={class:"login-form-section"},Os={class:"form-container"},Fs={class:"input-wrapper"},Ps={class:"input-wrapper"},Rs={class:"form-options"},qs={key:0},js={key:1},Ft=ge(e.defineComponent({__name:"index",setup(o){const p=ie.useRouter(),g=ie.useRoute(),f=e.ref(!1),h=e.ref(!1),V=e.reactive({uid:"",password:""}),_={uid:[{required:!0,message:"请输入用户名",trigger:"blur"}],password:[{required:!0,message:"请输入密码",trigger:"blur"},{min:6,message:"密码长度至少6位",trigger:"blur"}]},u=e.ref(),w=async()=>{var x;try{await((x=u.value)==null?void 0:x.validate()),f.value=!0;const y=await zt({appId:Ue(),clientId:Je(),uid:V.uid,password:V.password,code:!0});rt(y),ne.Message.success("登录成功");const I=g.query.redirect||"/";p.push(I)}catch(y){console.error("登录失败:",y)}finally{f.value=!1}};return(x,y)=>(e.openBlock(),e.createElementBlock("div",Us,[y[10]||(y[10]=e.createStaticVNode('<div class="login-brand" data-v-15fc7de5><div class="brand-content" data-v-15fc7de5><div class="brand-logo" data-v-15fc7de5><div class="logo-icon" data-v-15fc7de5><svg viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg" data-v-15fc7de5><rect width="48" height="48" rx="12" fill="currentColor" data-v-15fc7de5></rect><path d="M14 24L20 30L34 16" stroke="white" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" data-v-15fc7de5></path></svg></div><span class="logo-text" data-v-15fc7de5>XTO</span></div><div class="brand-slogan" data-v-15fc7de5><h1 data-v-15fc7de5>企业级后台管理解决方案</h1><p data-v-15fc7de5>开箱即用的中后台前端/设计解决方案</p></div><div class="brand-features" data-v-15fc7de5><div class="feature-item" data-v-15fc7de5><div class="feature-icon" data-v-15fc7de5><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" data-v-15fc7de5><path d="M13 2L3 14h9l-1 8 10-12h-9l1-8z" data-v-15fc7de5></path></svg></div><div class="feature-text" data-v-15fc7de5><h4 data-v-15fc7de5>高性能</h4><p data-v-15fc7de5>极致的渲染性能与响应速度</p></div></div><div class="feature-item" data-v-15fc7de5><div class="feature-icon" data-v-15fc7de5><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" data-v-15fc7de5><rect x="3" y="3" width="18" height="18" rx="2" data-v-15fc7de5></rect><path d="M9 9h6M9 12h6M9 15h4" data-v-15fc7de5></path></svg></div><div class="feature-text" data-v-15fc7de5><h4 data-v-15fc7de5>丰富组件</h4><p data-v-15fc7de5>60+ 高质量业务组件</p></div></div><div class="feature-item" data-v-15fc7de5><div class="feature-icon" data-v-15fc7de5><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" data-v-15fc7de5><circle cx="12" cy="12" r="10" data-v-15fc7de5></circle><path d="M12 6v6l4 2" data-v-15fc7de5></path></svg></div><div class="feature-text" data-v-15fc7de5><h4 data-v-15fc7de5>持续更新</h4><p data-v-15fc7de5>活跃的社区与快速迭代</p></div></div></div><div class="brand-decoration" data-v-15fc7de5><div class="decoration-line" data-v-15fc7de5></div><div class="decoration-dots" data-v-15fc7de5><span data-v-15fc7de5></span><span data-v-15fc7de5></span><span data-v-15fc7de5></span></div></div></div><div class="brand-bg" data-v-15fc7de5><div class="bg-grid" data-v-15fc7de5></div><div class="bg-glow" data-v-15fc7de5></div><div class="bg-pattern" data-v-15fc7de5></div></div></div>',1)),e.createElementVNode("div",zs,[e.createElementVNode("div",Os,[y[7]||(y[7]=e.createElementVNode("div",{class:"form-header"},[e.createElementVNode("h2",null,"欢迎登录"),e.createElementVNode("p",null,"请输入您的账户信息")],-1)),e.createVNode(e.unref(O.Form),{ref_key:"formRef",ref:u,model:V,rules:_,class:"login-form","label-width":"0"},{default:e.withCtx(()=>[e.createVNode(e.unref(O.FormItem),{prop:"uid"},{default:e.withCtx(()=>[e.createElementVNode("div",Fs,[y[3]||(y[3]=e.createElementVNode("label",{class:"input-label"},"用户名",-1)),e.createVNode(e.unref(O.Input),{modelValue:V.uid,"onUpdate:modelValue":y[0]||(y[0]=I=>V.uid=I),placeholder:"请输入用户名",size:"large"},{prefix:e.withCtx(()=>[e.createVNode(e.unref(A.Icon),{name:"user",size:18})]),_:1},8,["modelValue"])])]),_:1}),e.createVNode(e.unref(O.FormItem),{prop:"password"},{default:e.withCtx(()=>[e.createElementVNode("div",Ps,[y[4]||(y[4]=e.createElementVNode("label",{class:"input-label"},"密码",-1)),e.createVNode(e.unref(O.Input),{modelValue:V.password,"onUpdate:modelValue":y[1]||(y[1]=I=>V.password=I),type:"password",placeholder:"请输入密码",size:"large","show-password":"",onKeyup:e.withKeys(w,["enter"])},{prefix:e.withCtx(()=>[e.createVNode(e.unref(A.Icon),{name:"lock",size:18})]),_:1},8,["modelValue"])])]),_:1}),e.createElementVNode("div",Rs,[e.createVNode(e.unref(O.Checkbox),{modelValue:h.value,"onUpdate:modelValue":y[2]||(y[2]=I=>h.value=I)},{default:e.withCtx(()=>[...y[5]||(y[5]=[e.createTextVNode("记住我",-1)])]),_:1},8,["modelValue"]),y[6]||(y[6]=e.createElementVNode("a",{href:"#",class:"forgot-link"},"忘记密码?",-1))]),e.createVNode(e.unref(O.FormItem),null,{default:e.withCtx(()=>[e.createVNode(e.unref(A.Button),{type:"primary",size:"large",loading:f.value,class:"login-btn",onClick:w},{default:e.withCtx(()=>[f.value?(e.openBlock(),e.createElementBlock("span",js,"登录中...")):(e.openBlock(),e.createElementBlock("span",qs,"登 录"))]),_:1},8,["loading"])]),_:1})]),_:1},8,["model"]),y[8]||(y[8]=e.createStaticVNode('<div class="form-footer" data-v-15fc7de5><p data-v-15fc7de5>其他登录方式</p><div class="social-login" data-v-15fc7de5><button class="social-btn" title="企业微信" data-v-15fc7de5><svg viewBox="0 0 24 24" fill="currentColor" data-v-15fc7de5><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1 17.93c-3.95-.49-7-3.85-7-7.93 0-.62.08-1.21.21-1.79L9 15v1c0 1.1.9 2 2 2v1.93zm6.9-2.54c-.26-.81-1-1.39-1.9-1.39h-1v-3c0-.55-.45-1-1-1H8v-2h2c.55 0 1-.45 1-1V7h2c1.1 0 2-.9 2-2v-.41c2.93 1.19 5 4.06 5 7.41 0 2.08-.8 3.97-2.1 5.39z" data-v-15fc7de5></path></svg></button><button class="social-btn" title="钉钉" data-v-15fc7de5><svg viewBox="0 0 24 24" fill="currentColor" data-v-15fc7de5><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm4.64 6.8c-.15 1.58-.8 5.42-1.13 7.19-.14.75-.42 1-.68 1.03-.58.05-1.02-.38-1.58-.75-.88-.58-1.38-.94-2.23-1.5-.99-.65-.35-1.01.22-1.59.15-.15 2.71-2.48 2.76-2.69a.2.2 0 00-.05-.18c-.06-.05-.14-.03-.21-.02-.09.02-1.49.95-4.22 2.79-.4.27-.76.41-1.08.4-.36-.01-1.04-.2-1.55-.37-.63-.2-1.12-.31-1.08-.66.02-.18.27-.36.74-.55 2.92-1.27 4.86-2.11 5.83-2.51 2.78-1.16 3.35-1.36 3.73-1.36.08 0 .27.02.39.12.1.08.13.19.14.27-.01.06.01.24 0 .38z" data-v-15fc7de5></path></svg></button><button class="social-btn" title="飞书" data-v-15fc7de5><svg viewBox="0 0 24 24" fill="currentColor" data-v-15fc7de5><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-6h2v6zm0-8h-2V7h2v2z" data-v-15fc7de5></path></svg></button></div></div>',1))]),y[9]||(y[9]=e.createElementVNode("div",{class:"copyright"},[e.createElementVNode("p",null,"© 2024 XTO Team. All rights reserved.")],-1))])]))}}),[["__scopeId","data-v-15fc7de5"]]),Hs=Object.freeze(Object.defineProperty({__proto__:null,default:Ft},Symbol.toStringTag,{value:"Module"})),Gs={class:"error-page"},Ks={class:"error-container"},Ws={class:"error-content"},Xs={class:"error-actions"},Pt=ge(e.defineComponent({__name:"404",setup(o){const p=ie.useRouter(),g=()=>{p.push("/")};return(f,h)=>(e.openBlock(),e.createElementBlock("div",Gs,[e.createElementVNode("div",Ks,[h[7]||(h[7]=e.createElementVNode("div",{class:"error-bg"},[e.createElementVNode("div",{class:"bg-circle circle-1"}),e.createElementVNode("div",{class:"bg-circle circle-2"}),e.createElementVNode("div",{class:"bg-circle circle-3"})],-1)),e.createElementVNode("div",Ws,[h[5]||(h[5]=e.createStaticVNode('<div class="error-code" data-v-3a9e61ae><span class="code-digit" data-v-3a9e61ae>4</span><span class="code-zero" data-v-3a9e61ae><span class="zero-inner" data-v-3a9e61ae>0</span></span><span class="code-digit" data-v-3a9e61ae>4</span></div><div class="error-illustration" data-v-3a9e61ae><svg viewBox="0 0 200 120" fill="none" xmlns="http://www.w3.org/2000/svg" data-v-3a9e61ae><rect x="40" y="20" width="120" height="80" rx="8" fill="var(--color-fill)" stroke="var(--color-border)" stroke-width="2" data-v-3a9e61ae></rect><rect x="50" y="30" width="100" height="60" rx="4" fill="var(--bg-color)" data-v-3a9e61ae></rect><line x1="60" y1="45" x2="140" y2="45" stroke="var(--color-border-light)" stroke-width="2" data-v-3a9e61ae></line><line x1="60" y1="55" x2="120" y2="55" stroke="var(--color-border-light)" stroke-width="2" data-v-3a9e61ae></line><line x1="60" y1="65" x2="100" y2="65" stroke="var(--color-border-light)" stroke-width="2" data-v-3a9e61ae></line><text x="100" y="75" text-anchor="middle" fill="var(--color-primary)" font-size="24" font-weight="600" data-v-3a9e61ae>?</text><circle cx="150" cy="35" r="12" stroke="var(--color-primary)" stroke-width="2" fill="none" data-v-3a9e61ae></circle><line x1="158" y1="43" x2="168" y2="53" stroke="var(--color-primary)" stroke-width="2" stroke-linecap="round" data-v-3a9e61ae></line></svg></div><h1 class="error-title" data-v-3a9e61ae>页面不存在</h1><p class="error-desc" data-v-3a9e61ae>抱歉,您访问的页面不存在或已被删除</p>',4)),e.createElementVNode("div",Xs,[e.createVNode(e.unref(A.Button),{type:"primary",size:"large",onClick:g},{icon:e.withCtx(()=>[...h[1]||(h[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(()=>[h[2]||(h[2]=e.createTextVNode(" 返回首页 ",-1))]),_:1}),e.createVNode(e.unref(A.Button),{size:"large",onClick:h[0]||(h[0]=V=>e.unref(p).go(-1))},{icon:e.withCtx(()=>[...h[3]||(h[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(()=>[h[4]||(h[4]=e.createTextVNode(" 返回上一页 ",-1))]),_:1})]),h[6]||(h[6]=e.createElementVNode("div",{class:"error-tip"},[e.createElementVNode("p",null,"您可以尝试:"),e.createElementVNode("ul",null,[e.createElementVNode("li",null,"检查您输入的网址是否正确"),e.createElementVNode("li",null,"返回首页重新浏览"),e.createElementVNode("li",null,"联系管理员反馈问题")])],-1))])])]))}}),[["__scopeId","data-v-3a9e61ae"]]),Rt=Object.freeze(Object.defineProperty({__proto__:null,default:Pt},Symbol.toStringTag,{value:"Module"})),Ys={class:"error-page"},Js={class:"error-container"},Zs={class:"error-content"},Qs={class:"error-actions"},vs=ge(e.defineComponent({__name:"403",setup(o){const p=ie.useRouter(),g=()=>{p.push("/")};return(f,h)=>(e.openBlock(),e.createElementBlock("div",Ys,[e.createElementVNode("div",Js,[h[7]||(h[7]=e.createElementVNode("div",{class:"error-bg"},[e.createElementVNode("div",{class:"bg-circle circle-1"}),e.createElementVNode("div",{class:"bg-circle circle-2"}),e.createElementVNode("div",{class:"bg-circle circle-3"})],-1)),e.createElementVNode("div",Zs,[h[5]||(h[5]=e.createStaticVNode('<div class="error-code" data-v-c733ebac><span class="code-digit" data-v-c733ebac>4</span><span class="code-zero warning" data-v-c733ebac><span class="zero-inner" data-v-c733ebac>0</span></span><span class="code-digit" data-v-c733ebac>3</span></div><div class="error-illustration" data-v-c733ebac><svg viewBox="0 0 200 120" fill="none" xmlns="http://www.w3.org/2000/svg" data-v-c733ebac><path d="M100 15 L150 35 L150 70 C150 95 100 110 100 110 C100 110 50 95 50 70 L50 35 Z" fill="var(--color-warning-lighter)" stroke="var(--color-warning)" stroke-width="2" data-v-c733ebac></path><rect x="85" y="55" width="30" height="25" rx="4" fill="var(--color-warning)" data-v-c733ebac></rect><path d="M92 55 V48 A8 8 0 0 1 108 48 V55" fill="none" stroke="var(--color-warning)" stroke-width="3" data-v-c733ebac></path><circle cx="100" cy="67" r="6" fill="none" stroke="#fff" stroke-width="2" data-v-c733ebac></circle><line x1="96" y1="63" x2="104" y2="71" stroke="#fff" stroke-width="2" data-v-c733ebac></line></svg></div><h1 class="error-title" data-v-c733ebac>无访问权限</h1><p class="error-desc" data-v-c733ebac>抱歉,您没有权限访问此页面,请联系管理员获取权限</p>',4)),e.createElementVNode("div",Qs,[e.createVNode(e.unref(A.Button),{type:"primary",size:"large",onClick:g},{icon:e.withCtx(()=>[...h[1]||(h[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(()=>[h[2]||(h[2]=e.createTextVNode(" 返回首页 ",-1))]),_:1}),e.createVNode(e.unref(A.Button),{size:"large",onClick:h[0]||(h[0]=V=>e.unref(p).go(-1))},{icon:e.withCtx(()=>[...h[3]||(h[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(()=>[h[4]||(h[4]=e.createTextVNode(" 返回上一页 ",-1))]),_:1})]),h[6]||(h[6]=e.createElementVNode("div",{class:"error-tip"},[e.createElementVNode("p",null,"可能的原因:"),e.createElementVNode("ul",null,[e.createElementVNode("li",null,"您的账号权限不足"),e.createElementVNode("li",null,"该页面需要特定角色才能访问"),e.createElementVNode("li",null,"您的登录状态已过期")])],-1))])])]))}}),[["__scopeId","data-v-c733ebac"]]);function er(){const o=Se(),p=ke(),g=Te(),f=e.computed(()=>p.userName||""),h=e.computed(()=>p.userInfo),V=e.computed(()=>o.appName),_=e.computed(()=>g.isLoggedIn),u=e.computed(()=>o.isDark),w=e.computed(()=>o.theme),x=e.computed(()=>o.isCollapsed),y=e.computed(()=>o.layout);return{userName:f,userInfo:h,appName:V,isLoggedIn:_,isDark:u,theme:w,isCollapsed:x,layout:y,toggleTheme:()=>{o.toggleTheme()},toggleCollapse:()=>{o.toggleCollapse()}}}function tr(){const o=ke();return{isLoggedIn:e.computed(()=>o.isLoggedIn)}}function nr(o,p={}){const{rules:g,onSubmit:f}=p,h=e.ref(),V=e.reactive({...o}),_=e.ref(!1),u=e.ref(!1),w=e.ref(!1),x=()=>{$(),w.value=!1,u.value=!0},y=K=>{Object.assign(V,K),w.value=!0,u.value=!0},I=()=>{u.value=!1,$()},$=()=>{var K;Object.keys(o).forEach(T=>{V[T]=o[T]}),(K=h.value)==null||K.resetFields()};return{formRef:h,formData:V,rules:g,loading:_,visible:u,isEdit:w,openAdd:x,openEdit:y,close:I,resetForm:$,handleSubmit:async()=>{var K;try{await((K=h.value)==null?void 0:K.validate()),_.value=!0,await(f==null?void 0:f(V)),I()}catch(T){console.error(T)}finally{_.value=!1}}}}function or(o){const{fetchData:p,defaultPageSize:g=10}=o,f=e.ref(!1),h=e.ref([]),V=e.ref(0),_=e.ref(1),u=e.ref(g),w=e.reactive({}),x=async()=>{f.value=!0;try{const L={...w,page:_.value,pageSize:u.value},B=await p(L);h.value=B.list,V.value=B.total}catch(L){console.error(L)}finally{f.value=!1}},y=()=>{_.value=1,x()},I=()=>{Object.keys(w).forEach(L=>{w[L]=void 0}),_.value=1,x()},$=L=>{_.value=L,x()},z=L=>{u.value=L,_.value=1,x()},K=()=>{x()},T=e.computed(()=>({current:_.value,pageSize:u.value,total:V.value}));return{loading:f,data:h,total:V,currentPage:_,pageSize:u,searchParams:w,pagination:T,getData:x,handleSearch:y,handleReset:I,handlePageChange:$,handleSizeChange:z,refresh:K}}const We=Ae.defineStore("locale",()=>{const o=G.get("locale")||"zh-CN",p=Ye.createLocaleProvider(o),g=e.ref(o),f=Ye.getSupportedLocales(),{t:h,messages:V,setLocale:_,mergeMessages:u}=Ye.useLocale(),w=e.computed(()=>{const $=f.find(z=>z.code===g.value);return($==null?void 0:$.name)||g.value});return{locale:g,localeName:w,locales:f,messages:V,t:h,changeLocale:$=>{g.value=$,_($),G.set("locale",$),p.setLocale($)},addMessages:$=>{u($)},initLocale:()=>{_(o)},provider:p}}),lr=Object.freeze(Object.defineProperty({__proto__:null,useLocaleStore:We},Symbol.toStringTag,{value:"Module"}));function sr(){const o=We();return{locale:o.locale,localeName:o.localeName,locales:o.locales,t:o.t,messages:o.messages,setLocale:o.changeLocale,addMessages:o.addMessages}}function rr(){return We().t}function ar(o){const p=ke(),g=xe();return p.isLoggedIn?g.hasPermission(o):!1}function ir(o){return ke().isLoggedIn}function cr(){return!0}const dt=[{path:"/login",name:"Login",component:()=>Promise.resolve().then(()=>Hs),meta:{title:"登录",hidden:!0}}],mt={path:"/",name:"Layout",component:()=>Promise.resolve().then(()=>hs),redirect:"/dashboard",children:[{path:"/dashboard",name:"Dashboard",component:()=>Promise.resolve().then(()=>Kt),meta:{title:"仪表盘",icon:"dashboard",keepAlive:!0,affix:!0}},{path:"/system/user",name:"SystemUser",component:()=>Promise.resolve().then(()=>Wt),meta:{title:"用户管理",icon:"user",keepAlive:!0}},{path:"/system/role",name:"SystemRole",component:()=>Promise.resolve().then(()=>Xt),meta:{title:"角色管理",icon:"role",keepAlive:!0}},{path:"/system/menu",name:"SystemMenu",component:()=>Promise.resolve().then(()=>Yt),meta:{title:"菜单管理",icon:"menu",keepAlive:!0}},{path:"/:pathMatch(.*)*",name:"CatchAll",component:()=>Promise.resolve().then(()=>Rt),meta:{title:"404",hidden:!0}}]},dr=[{path:"/dashboard",name:"Dashboard",component:()=>Promise.resolve().then(()=>Kt),meta:{title:"仪表盘",icon:"dashboard",keepAlive:!0,affix:!0}},{path:"/system",name:"System",redirect:"/system/user",meta:{title:"系统管理",icon:"setting"},children:[{path:"user",name:"SystemUser",component:()=>Promise.resolve().then(()=>Wt),meta:{title:"用户管理",icon:"user",keepAlive:!0}},{path:"role",name:"SystemRole",component:()=>Promise.resolve().then(()=>Xt),meta:{title:"角色管理",icon:"role",keepAlive:!0}},{path:"menu",name:"SystemMenu",component:()=>Promise.resolve().then(()=>Yt),meta:{title:"菜单管理",icon:"menu",keepAlive:!0}}]}],qt=[{menuCode:"dashboard",menuName:"仪表盘",menuUrl:"/dashboard",icon:"dashboard",closable:!0,isDefault:!0,isOut:!1},{menuCode:"system",menuName:"系统管理",menuUrl:"/system",icon:"setting",closable:!1,isDefault:!1,isOut:!1,children:[{menuCode:"system_user",menuName:"用户管理",menuUrl:"/system/user",icon:"user",closable:!0,isDefault:!1,isOut:!1},{menuCode:"system_role",menuName:"角色管理",menuUrl:"/system/role",icon:"role",closable:!0,isDefault:!1,isOut:!1},{menuCode:"system_menu",menuName:"菜单管理",menuUrl:"/system/menu",icon:"menu",closable:!0,isDefault:!1,isOut:!1}]}],pt=ie.createRouter({history:ie.createWebHistory(),routes:[...dt,mt],scrollBehavior:()=>({left:0,top:0})}),mr=["/login"];pt.beforeEach(async(o,p,g)=>{const f=Se();if(f.initTheme(),at())if(o.path==="/login")g({path:"/"});else{const h=ke();h.isLoggedIn||(h.setUserInfo({appId:Ue(),userId:"1",userName:"管理员",departmentName:"技术部",email:"admin@example.com",mobilePhone:"13800138000",positionName:"管理员",avatar:""}),xe().setMenuList(qt)),o.name&&o.meta.keepAlive&&f.addCachedView(o.name),g()}else mr.includes(o.path)?g():g("/login")});function pr(){const o=ie.createRouter({history:ie.createWebHistory(),routes:[...dt,mt]});pt.matcher=o.matcher}function fr(o,p={}){const g=p.indexPath||"/dashboard",f=p.logoSrc||"/vite.svg",h={path:"/:pathMatch(.*)*",name:"CatchAll",component:()=>Promise.resolve().then(()=>Rt),meta:{title:"404"}};return{path:"/",name:"Layout",component:()=>e.h(ct,{logoSrc:f}),redirect:g,children:[...o,h]}}function ur(o,p={}){return ie.createRouter({history:ie.createWebHistory(p.base),routes:o,scrollBehavior:()=>({left:0,top:0})})}function hr(o){return oe.get("/role/list",{params:o})}function gr(o){return oe.get(`/role/${o}`)}function _r(o){return oe.post("/role",o)}function Nr(o,p){return oe.put(`/role/${o}`,p)}function Er(o){return oe.delete(`/role/${o}`)}function Vr(o,p){return oe.patch(`/role/${o}/status`,{status:p})}function kr(){return oe.get("/user/v1.0/menu/list")}function jt(o){const p=o||Ue();return oe.get(`/user/v1.0/menu/get-menu?appId=${p}`)}function yr(o){return oe.post("/menu",o)}function wr(o,p){return oe.put(`/menu/${o}`,p)}function xr(o){return oe.delete(`/menu/${o}`)}const Cr=["/login","/404","/403"];function Br(o,p={}){const g=p.whiteList||Cr,f=p.loginPath||"/login",h=p.homePath||"/";o.beforeEach(async(V,_,u)=>{const w=Se(),x=ke(),y=xe();if(w.initTheme(),Pe())if(V.path===f)u({path:h});else if(x.isLoggedIn)V.name&&V.meta.keepAlive&&w.addCachedView(V.name),u();else try{if(p.fetchUserInfo){const $=await p.fetchUserInfo();x.setUserInfo($)}else{const $=await Ot();x.setUserInfo($)}if(p.fetchMenu){const $=await p.fetchMenu();y.setMenuList($)}else{const $=await jt(p.appId);y.setMenuList($)}p.onLoginSuccess&&p.onLoginSuccess(),V.name&&V.meta.keepAlive&&w.addCachedView(V.name),u({...V,replace:!0})}catch($){console.error("获取用户信息失败:",$),x.clearUserInfo(),y.clearMenu(),De(),u({path:f,query:{redirect:V.fullPath}})}else g.includes(V.path)?u():u({path:f,query:{redirect:V.fullPath}})}),o.afterEach(()=>{})}function Sr(o){return oe.get("/user/list",{params:o})}function br(o){return oe.get(`/user/${o}`)}function $r(o){return oe.post("/user",o)}function Ir(o,p){return oe.put(`/user/${o}`,p)}function Mr(o){return oe.delete(`/user/${o}`)}function Lr(o){return oe.post("/user/batch-delete",{ids:o})}function Dr(o,p){return oe.patch(`/user/${o}/status`,{status:p})}function Tr(o){return oe.post(`/user/${o}/reset-password`)}var X=(o=>(o[o.ENABLED=1]="ENABLED",o[o.DISABLED=0]="DISABLED",o))(X||{}),Ht=(o=>(o[o.UNKNOWN=0]="UNKNOWN",o[o.MALE=1]="MALE",o[o.FEMALE=2]="FEMALE",o))(Ht||{}),Ee=(o=>(o[o.DIRECTORY=0]="DIRECTORY",o[o.MENU=1]="MENU",o[o.BUTTON=2]="BUTTON",o))(Ee||{});const Ar={1:"启用",0:"禁用"},Ur={0:"未知",1:"男",2:"女"},zr={0:"目录",1:"菜单",2:"按钮"},ft=[{label:"启用",value:1},{label:"禁用",value:0}],Or=[{label:"未知",value:0},{label:"男",value:1},{label:"女",value:2}],Gt=[{label:"目录",value:0},{label:"菜单",value:1},{label:"按钮",value:2}],Fr={mounted(o,p){var _,u;const g=ke(),f=xe();if(!g.isLoggedIn){(_=o.parentNode)==null||_.removeChild(o);return}const h=p.value,V=Array.isArray(h)?h:[h];f.hasPermission(V)||(u=o.parentNode)==null||u.removeChild(o)}};function Pr(o){return gt({appId:o.appId,clientId:o.clientId,apiBaseUrl:o.apiBaseUrl}),o.locale&&Promise.resolve().then(()=>lr).then(({useLocaleStore:p})=>{p().changeLocale(o.locale)}),{config:{appName:o.appName||"XTO App",appId:Ue(),clientId:Je(),apiBaseUrl:_t(),indexPath:o.indexPath||"/dashboard",loginPath:o.loginPath||"/login",locale:o.locale||"zh-CN"}}}const Rr={class:"dashboard"},qr={class:"stats-section"},jr={class:"stat-content"},Hr={class:"stat-title"},Gr={key:0,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},Kr={key:1,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},Wr={class:"main-section"},Xr={class:"quick-section"},Yr={class:"quick-grid"},Jr={class:"quick-icon"},Zr={class:"quick-info"},Qr={class:"quick-title"},vr={class:"quick-desc"},ea={class:"activity-section"},ta={class:"activity-list"},na={class:"activity-content"},oa={class:"activity-main"},la={class:"activity-user"},sa={class:"activity-action"},ra={class:"activity-time"},aa={class:"system-section"},ia={class:"system-grid"},ca={class:"system-info-list"},da={class:"info-label"},ma={class:"info-value"},pa={class:"system-status"},fa={class:"status-item"},ua={class:"status-item"},ha={class:"status-item"},Kt=Object.freeze(Object.defineProperty({__proto__:null,default:ge(e.defineComponent({__name:"index",setup(o){const p=e.ref([{title:"用户总数",value:1234,icon:"👥",color:"#1677ff",trend:"+12.5%",trendUp:!0},{title:"今日访问",value:567,icon:"👀",color:"#52c41a",trend:"+8.2%",trendUp:!0},{title:"订单数量",value:890,icon:"📦",color:"#faad14",trend:"-3.1%",trendUp:!1},{title:"销售金额",value:123456,icon:"💰",color:"#ff4d4f",trend:"+15.8%",trendUp:!0}]),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:"钱"}]),f=e.ref([{title:"用户管理",path:"/system/user",icon:"👤",desc:"管理系统用户"},{title:"角色管理",path:"/system/role",icon:"👥",desc:"角色权限配置"},{title:"菜单管理",path:"/system/menu",icon:"📋",desc:"菜单路由管理"},{title:"系统设置",path:"/system",icon:"⚙️",desc:"系统参数配置"}]),h=e.ref([{label:"系统版本",value:"v1.0.0"},{label:"Vue 版本",value:"3.4.21"},{label:"构建工具",value:"Vite 5"},{label:"UI 组件库",value:"XTO UI"}]);return(V,_)=>{const u=e.resolveComponent("router-link");return e.openBlock(),e.createElementBlock("div",Rr,[e.createElementVNode("div",qr,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.value,w=>(e.openBlock(),e.createElementBlock("div",{key:w.title,class:"stat-card"},[e.createElementVNode("div",{class:"stat-icon",style:e.normalizeStyle({background:`linear-gradient(135deg, ${w.color}20 0%, ${w.color}10 100%)`})},[e.createElementVNode("span",null,e.toDisplayString(w.icon),1)],4),e.createElementVNode("div",jr,[e.createElementVNode("div",Hr,e.toDisplayString(w.title),1),e.createElementVNode("div",{class:"stat-value",style:e.normalizeStyle({color:w.color})},e.toDisplayString(w.value.toLocaleString()),5),e.createElementVNode("div",{class:e.normalizeClass(["stat-trend",{up:w.trendUp,down:!w.trendUp}])},[w.trendUp?(e.openBlock(),e.createElementBlock("svg",Gr,[..._[0]||(_[0]=[e.createElementVNode("path",{d:"M7 17l5-5 5 5M7 7l5 5 5-5"},null,-1)])])):(e.openBlock(),e.createElementBlock("svg",Kr,[..._[1]||(_[1]=[e.createElementVNode("path",{d:"M7 7l5 5 5-5M7 17l5-5 5 5"},null,-1)])])),e.createElementVNode("span",null,e.toDisplayString(w.trend),1)],2)]),e.createElementVNode("div",{class:"stat-decoration",style:e.normalizeStyle({background:`linear-gradient(135deg, ${w.color}08 0%, transparent 100%)`})},null,4)]))),128))]),e.createElementVNode("div",Wr,[e.createElementVNode("div",Xr,[_[3]||(_[3]=e.createElementVNode("div",{class:"section-header"},[e.createElementVNode("h3",null,"快捷入口"),e.createElementVNode("span",{class:"section-badge"},"4 个入口")],-1)),e.createElementVNode("div",Yr,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value,w=>(e.openBlock(),e.createBlock(u,{key:w.path,to:w.path,class:"quick-card"},{default:e.withCtx(()=>[e.createElementVNode("div",Jr,e.toDisplayString(w.icon),1),e.createElementVNode("div",Zr,[e.createElementVNode("div",Qr,e.toDisplayString(w.title),1),e.createElementVNode("div",vr,e.toDisplayString(w.desc),1)]),_[2]||(_[2]=e.createElementVNode("div",{class:"quick-arrow"},[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("path",{d:"M9 18l6-6-6-6"})])],-1))]),_:2},1032,["to"]))),128))])]),e.createElementVNode("div",ea,[_[4]||(_[4]=e.createElementVNode("div",{class:"section-header"},[e.createElementVNode("h3",null,"最近活动"),e.createElementVNode("a",{href:"#",class:"section-link"},"查看全部")],-1)),e.createElementVNode("div",ta,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.value,(w,x)=>(e.openBlock(),e.createElementBlock("div",{key:x,class:"activity-item"},[e.createElementVNode("div",{class:e.normalizeClass(["activity-avatar",w.type])},e.toDisplayString(w.avatar),3),e.createElementVNode("div",na,[e.createElementVNode("div",oa,[e.createElementVNode("span",la,e.toDisplayString(w.user),1),e.createElementVNode("span",sa,e.toDisplayString(w.action),1)]),e.createElementVNode("div",ra,e.toDisplayString(w.time),1)]),e.createElementVNode("div",{class:e.normalizeClass(["activity-dot",w.type])},null,2)]))),128))])])]),e.createElementVNode("div",aa,[_[8]||(_[8]=e.createElementVNode("div",{class:"section-header"},[e.createElementVNode("h3",null,"系统信息")],-1)),e.createElementVNode("div",ia,[e.createElementVNode("div",ca,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value,w=>(e.openBlock(),e.createElementBlock("div",{key:w.label,class:"info-item"},[e.createElementVNode("span",da,e.toDisplayString(w.label),1),e.createElementVNode("span",ma,e.toDisplayString(w.value),1)]))),128))]),e.createElementVNode("div",pa,[e.createElementVNode("div",fa,[_[5]||(_[5]=e.createElementVNode("div",{class:"status-header"},[e.createElementVNode("span",{class:"status-label"},"服务器状态"),e.createElementVNode("span",{class:"status-value"},"75%")],-1)),e.createVNode(e.unref(we.Progress),{percentage:75,status:"success"})]),e.createElementVNode("div",ua,[_[6]||(_[6]=e.createElementVNode("div",{class:"status-header"},[e.createElementVNode("span",{class:"status-label"},"内存使用"),e.createElementVNode("span",{class:"status-value"},"45%")],-1)),e.createVNode(e.unref(we.Progress),{percentage:45})]),e.createElementVNode("div",ha,[_[7]||(_[7]=e.createElementVNode("div",{class:"status-header"},[e.createElementVNode("span",{class:"status-label"},"CPU 使用率"),e.createElementVNode("span",{class:"status-value"},"32%")],-1)),e.createVNode(e.unref(we.Progress),{percentage:32})])])])])])}}}),[["__scopeId","data-v-fd54abc0"]])},Symbol.toStringTag,{value:"Module"})),ga={class:"user-page"},_a={class:"search-section"},Na={class:"table-section"},Ea={class:"table-toolbar"},Va={class:"toolbar-left"},ka={class:"toolbar-right"},ya={class:"table-count"},wa={class:"table-wrapper"},xa={class:"data-table"},Ca={key:0},Ba={key:1},Sa={class:"col-id"},ba={class:"id-badge"},$a={class:"col-user"},Ia={class:"user-info"},Ma={class:"user-avatar"},La={class:"user-detail"},Da={class:"user-nickname"},Ta={class:"user-username"},Aa={class:"col-contact"},Ua={class:"contact-info"},za={class:"contact-email"},Oa={class:"contact-phone"},Fa={class:"col-roles"},Pa={class:"role-tags"},Ra={class:"col-status"},qa={class:"status-switch"},ja={class:"col-time"},Ha={class:"time-text"},Ga={class:"col-actions"},Ka={class:"pagination-wrapper"},Wa={class:"status-field"},Xa={class:"status-label"},Wt=Object.freeze(Object.defineProperty({__proto__:null,default:ge(e.defineComponent({__name:"index",setup(o){const p=[{id:1,username:"admin",nickname:"管理员",email:"admin@example.com",phone:"13800138001",status:X.ENABLED,roles:["admin"],createTime:"2024-01-01 10:00:00"},{id:2,username:"zhangsan",nickname:"张三",email:"zhangsan@example.com",phone:"13800138002",status:X.ENABLED,roles:["editor"],createTime:"2024-01-02 10:00:00"},{id:3,username:"lisi",nickname:"李四",email:"lisi@example.com",phone:"13800138003",status:X.DISABLED,roles:["viewer"],createTime:"2024-01-03 10:00:00"},{id:4,username:"wangwu",nickname:"王五",email:"wangwu@example.com",phone:"13800138004",status:X.ENABLED,roles:["editor"],createTime:"2024-01-04 10:00:00"},{id:5,username:"zhaoliu",nickname:"赵六",email:"zhaoliu@example.com",phone:"13800138005",status:X.ENABLED,roles:["viewer"],createTime:"2024-01-05 10:00:00"}],g=e.ref(!1),f=e.ref([]),h=e.ref(0),V=e.ref(1),_=e.ref(10),u=e.reactive({keyword:"",status:void 0}),w=e.ref(!1),x=e.computed(()=>y.id?"编辑用户":"新增用户"),y=e.reactive({id:0,username:"",nickname:"",email:"",phone:"",status:X.ENABLED,roles:[]}),I={username:[{required:!0,message:"请输入用户名",trigger:"blur"}],nickname:[{required:!0,message:"请输入昵称",trigger:"blur"}],email:[{required:!0,message:"请输入邮箱",trigger:"blur"},{type:"email",message:"请输入正确的邮箱格式",trigger:"blur"}]},$=e.ref(),z=()=>{g.value=!0,setTimeout(()=>{let U=[...p];u.keyword&&(U=U.filter(d=>d.username.includes(u.keyword)||d.nickname.includes(u.keyword))),u.status!==void 0&&(U=U.filter(d=>d.status===u.status)),h.value=U.length,f.value=U.slice((V.value-1)*_.value,V.value*_.value),g.value=!1},300)},K=()=>{V.value=1,z()},T=()=>{u.keyword="",u.status=void 0,V.value=1,z()},L=()=>{Object.assign(y,{id:0,username:"",nickname:"",email:"",phone:"",status:X.ENABLED,roles:[]}),w.value=!0},B=U=>{Object.assign(y,U),w.value=!0},C=U=>{ne.Message.success("删除成功"),z()},P=async()=>{var U;try{await((U=$.value)==null?void 0:U.validate()),ne.Message.success(y.id?"编辑成功":"新增成功"),w.value=!1,z()}catch(d){console.error(d)}},Y=U=>{ne.Message.success(`已${U.status===X.ENABLED?"启用":"禁用"}用户 ${U.username}`)};return e.onMounted(()=>{z()}),(U,d)=>(e.openBlock(),e.createElementBlock("div",ga,[e.createElementVNode("div",_a,[e.createVNode(e.unref(O.Form),{model:u,inline:"",class:"search-form"},{default:e.withCtx(()=>[e.createVNode(e.unref(O.FormItem),{label:"关键词"},{default:e.withCtx(()=>[e.createVNode(e.unref(O.Input),{modelValue:u.keyword,"onUpdate:modelValue":d[0]||(d[0]=k=>u.keyword=k),placeholder:"用户名/昵称",clearable:"",onKeyup:e.withKeys(K,["enter"])},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(O.FormItem),{label:"状态"},{default:e.withCtx(()=>[e.createVNode(e.unref(O.Select),{modelValue:u.status,"onUpdate:modelValue":d[1]||(d[1]=k=>u.status=k),options:e.unref(ft),placeholder:"请选择",clearable:""},null,8,["modelValue","options"])]),_:1}),e.createVNode(e.unref(O.FormItem),null,{default:e.withCtx(()=>[e.createVNode(e.unref(A.Space),null,{default:e.withCtx(()=>[e.createVNode(e.unref(A.Button),{type:"primary",onClick:K},{icon:e.withCtx(()=>[...d[11]||(d[11]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("circle",{cx:"11",cy:"11",r:"8"}),e.createElementVNode("path",{d:"M21 21l-4.35-4.35"})],-1)])]),default:e.withCtx(()=>[d[12]||(d[12]=e.createTextVNode(" 搜索 ",-1))]),_:1}),e.createVNode(e.unref(A.Button),{onClick:T},{icon:e.withCtx(()=>[...d[13]||(d[13]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("path",{d:"M3 12a9 9 0 109-9 9.75 9.75 0 00-6.74 2.74L3 8"}),e.createElementVNode("path",{d:"M3 3v5h5"})],-1)])]),default:e.withCtx(()=>[d[14]||(d[14]=e.createTextVNode(" 重置 ",-1))]),_:1})]),_:1})]),_:1})]),_:1},8,["model"])]),e.createElementVNode("div",Na,[e.createElementVNode("div",Ea,[e.createElementVNode("div",Va,[e.createVNode(e.unref(A.Button),{type:"primary",onClick:L},{icon:e.withCtx(()=>[...d[15]||(d[15]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),e.createElementVNode("line",{x1:"5",y1:"12",x2:"19",y2:"12"})],-1)])]),default:e.withCtx(()=>[d[16]||(d[16]=e.createTextVNode(" 新增用户 ",-1))]),_:1})]),e.createElementVNode("div",ka,[e.createElementVNode("span",ya,"共 "+e.toDisplayString(h.value)+" 条数据",1)])]),e.createElementVNode("div",wa,[e.createElementVNode("table",xa,[d[23]||(d[23]=e.createElementVNode("thead",null,[e.createElementVNode("tr",null,[e.createElementVNode("th",{class:"col-id"},"ID"),e.createElementVNode("th",{class:"col-user"},"用户信息"),e.createElementVNode("th",{class:"col-contact"},"联系方式"),e.createElementVNode("th",{class:"col-roles"},"角色"),e.createElementVNode("th",{class:"col-status"},"状态"),e.createElementVNode("th",{class:"col-time"},"创建时间"),e.createElementVNode("th",{class:"col-actions"},"操作")])],-1)),e.createElementVNode("tbody",null,[g.value?(e.openBlock(),e.createElementBlock("tr",Ca,[...d[17]||(d[17]=[e.createElementVNode("td",{colspan:"7",class:"loading-cell"},[e.createElementVNode("div",{class:"loading-content"},[e.createElementVNode("div",{class:"loading-spinner"}),e.createElementVNode("span",null,"加载中...")])],-1)])])):f.value.length===0?(e.openBlock(),e.createElementBlock("tr",Ba,[...d[18]||(d[18]=[e.createElementVNode("td",{colspan:"7",class:"empty-cell"},[e.createElementVNode("div",{class:"empty-content"},[e.createElementVNode("svg",{viewBox:"0 0 64 41",fill:"none"},[e.createElementVNode("g",{transform:"translate(0 1)"},[e.createElementVNode("ellipse",{fill:"#f5f5f5",cx:"32",cy:"33",rx:"32",ry:"7"}),e.createElementVNode("g",{stroke:"var(--color-text-placeholder)","stroke-width":"2"},[e.createElementVNode("path",{d:"M55 12.76L44.854 1.258C44.367.474 43.656 0 42.907 0H21.093c-.749 0-1.46.474-1.947 1.257L9 12.761V22h46v-9.24z"}),e.createElementVNode("path",{d:"M41.613 15.931c0-1.605.994-2.93 2.227-2.931H55v18.137C55 33.26 53.68 35 52.05 35H11.95C10.32 35 9 33.259 9 31.137V13h11.16c1.233 0 2.227 1.323 2.227 2.928v.022c0 1.605 1.005 2.901 2.237 2.901h14.752c1.232 0 2.237-1.308 2.237-2.913v-.007z",fill:"var(--color-fill)"})])])]),e.createElementVNode("span",null,"暂无数据")])],-1)])])):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:2},e.renderList(f.value,k=>(e.openBlock(),e.createElementBlock("tr",{key:k.id,class:"data-row"},[e.createElementVNode("td",Sa,[e.createElementVNode("span",ba,e.toDisplayString(k.id),1)]),e.createElementVNode("td",$a,[e.createElementVNode("div",Ia,[e.createElementVNode("div",Ma,e.toDisplayString(k.nickname.charAt(0)),1),e.createElementVNode("div",La,[e.createElementVNode("span",Da,e.toDisplayString(k.nickname),1),e.createElementVNode("span",Ta,"@"+e.toDisplayString(k.username),1)])])]),e.createElementVNode("td",Aa,[e.createElementVNode("div",Ua,[e.createElementVNode("span",za,e.toDisplayString(k.email),1),e.createElementVNode("span",Oa,e.toDisplayString(k.phone),1)])]),e.createElementVNode("td",Fa,[e.createElementVNode("div",Pa,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k.roles,R=>(e.openBlock(),e.createBlock(e.unref(we.Tag),{key:R,size:"small",type:R==="admin"?"primary":"info"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(R),1)]),_:2},1032,["type"]))),128))])]),e.createElementVNode("td",Ra,[e.createElementVNode("div",qa,[e.createVNode(e.unref(O.Switch),{"model-value":k.status===e.unref(X).ENABLED,"onUpdate:modelValue":R=>{k.status=R?e.unref(X).ENABLED:e.unref(X).DISABLED,Y(k)}},null,8,["model-value","onUpdate:modelValue"]),e.createElementVNode("span",{class:e.normalizeClass(["status-text",{enabled:k.status===e.unref(X).ENABLED}])},e.toDisplayString(k.status===e.unref(X).ENABLED?"已启用":"已禁用"),3)])]),e.createElementVNode("td",ja,[e.createElementVNode("span",Ha,e.toDisplayString(k.createTime),1)]),e.createElementVNode("td",Ga,[e.createVNode(e.unref(A.Space),{class:"action-buttons"},{default:e.withCtx(()=>[e.createVNode(e.unref(A.Button),{type:"primary",link:"",size:"small",onClick:R=>B(k)},{icon:e.withCtx(()=>[...d[19]||(d[19]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("path",{d:"M11 4H4a2 2 0 00-2 2v14a2 2 0 002 2h14a2 2 0 002-2v-7"}),e.createElementVNode("path",{d:"M18.5 2.5a2.121 2.121 0 013 3L12 15l-4 1 1-4 9.5-9.5z"})],-1)])]),default:e.withCtx(()=>[d[20]||(d[20]=e.createTextVNode(" 编辑 ",-1))]),_:1},8,["onClick"]),e.createVNode(e.unref(ne.Popconfirm),{title:"确定删除该用户吗?",onConfirm:R=>C(k.id)},{default:e.withCtx(()=>[e.createVNode(e.unref(A.Button),{type:"danger",link:"",size:"small"},{icon:e.withCtx(()=>[...d[21]||(d[21]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("polyline",{points:"3,6 5,6 21,6"}),e.createElementVNode("path",{d:"M19 6v14a2 2 0 01-2 2H7a2 2 0 01-2-2V6m3 0V4a2 2 0 012-2h4a2 2 0 012 2v2"}),e.createElementVNode("line",{x1:"10",y1:"11",x2:"10",y2:"17"}),e.createElementVNode("line",{x1:"14",y1:"11",x2:"14",y2:"17"})],-1)])]),default:e.withCtx(()=>[d[22]||(d[22]=e.createTextVNode(" 删除 ",-1))]),_:1})]),_:1},8,["onConfirm"])]),_:2},1024)])]))),128))])])]),e.createElementVNode("div",Ka,[e.createVNode(e.unref(we.Pagination),{"current-page":V.value,"onUpdate:currentPage":d[2]||(d[2]=k=>V.value=k),"page-size":_.value,"onUpdate:pageSize":d[3]||(d[3]=k=>_.value=k),total:h.value,"page-sizes":[10,20,50,100],layout:"total, sizes, prev, pager, next",onCurrentChange:z,onSizeChange:z},null,8,["current-page","page-size","total"])])]),e.createVNode(e.unref(ne.Modal),{modelValue:w.value,"onUpdate:modelValue":d[10]||(d[10]=k=>w.value=k),title:x.value,width:"520px",class:"user-modal"},{footer:e.withCtx(()=>[e.createVNode(e.unref(A.Space),null,{default:e.withCtx(()=>[e.createVNode(e.unref(A.Button),{onClick:d[9]||(d[9]=k=>w.value=!1)},{default:e.withCtx(()=>[...d[24]||(d[24]=[e.createTextVNode("取消",-1)])]),_:1}),e.createVNode(e.unref(A.Button),{type:"primary",onClick:P},{default:e.withCtx(()=>[...d[25]||(d[25]=[e.createTextVNode("确定",-1)])]),_:1})]),_:1})]),default:e.withCtx(()=>[e.createVNode(e.unref(O.Form),{ref_key:"formRef",ref:$,model:y,rules:I,"label-width":"80px",class:"user-form"},{default:e.withCtx(()=>[e.createVNode(e.unref(O.FormItem),{label:"用户名",prop:"username"},{default:e.withCtx(()=>[e.createVNode(e.unref(O.Input),{modelValue:y.username,"onUpdate:modelValue":d[4]||(d[4]=k=>y.username=k),placeholder:"请输入用户名"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(O.FormItem),{label:"昵称",prop:"nickname"},{default:e.withCtx(()=>[e.createVNode(e.unref(O.Input),{modelValue:y.nickname,"onUpdate:modelValue":d[5]||(d[5]=k=>y.nickname=k),placeholder:"请输入昵称"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(O.FormItem),{label:"邮箱",prop:"email"},{default:e.withCtx(()=>[e.createVNode(e.unref(O.Input),{modelValue:y.email,"onUpdate:modelValue":d[6]||(d[6]=k=>y.email=k),placeholder:"请输入邮箱"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(O.FormItem),{label:"手机号",prop:"phone"},{default:e.withCtx(()=>[e.createVNode(e.unref(O.Input),{modelValue:y.phone,"onUpdate:modelValue":d[7]||(d[7]=k=>y.phone=k),placeholder:"请输入手机号"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(O.FormItem),{label:"状态"},{default:e.withCtx(()=>[e.createElementVNode("div",Wa,[e.createVNode(e.unref(O.Switch),{modelValue:y.status,"onUpdate:modelValue":d[8]||(d[8]=k=>y.status=k),"active-value":e.unref(X).ENABLED,"inactive-value":e.unref(X).DISABLED},null,8,["modelValue","active-value","inactive-value"]),e.createElementVNode("span",Xa,e.toDisplayString(y.status===e.unref(X).ENABLED?"启用":"禁用"),1)])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])]))}}),[["__scopeId","data-v-da50b35c"]])},Symbol.toStringTag,{value:"Module"})),Ya={class:"role-page"},Ja={class:"search-section"},Za={class:"table-section"},Qa={class:"table-toolbar"},va={class:"toolbar-left"},ei={class:"toolbar-right"},ti={class:"table-count"},ni={class:"table-wrapper"},oi={class:"data-table"},li={key:0},si={key:1},ri={class:"col-id"},ai={class:"id-badge"},ii={class:"col-name"},ci={class:"role-name"},di={class:"col-code"},mi={class:"col-desc"},pi={class:"desc-text"},fi={class:"col-status"},ui={class:"status-switch"},hi={class:"col-time"},gi={class:"time-text"},_i={class:"col-actions"},Ni={class:"pagination-wrapper"},Ei={class:"status-field"},Vi={class:"status-label"},Xt=Object.freeze(Object.defineProperty({__proto__:null,default:ge(e.defineComponent({__name:"index",setup(o){const p=[{id:1,name:"超级管理员",code:"admin",description:"拥有所有权限",status:X.ENABLED,permissions:["*"],createTime:"2024-01-01 10:00:00"},{id:2,name:"编辑",code:"editor",description:"内容编辑权限",status:X.ENABLED,permissions:["user:read","user:write"],createTime:"2024-01-02 10:00:00"},{id:3,name:"访客",code:"viewer",description:"只读权限",status:X.ENABLED,permissions:["user:read"],createTime:"2024-01-03 10:00:00"}],g=e.ref(!1),f=e.ref([]),h=e.ref(0),V=e.ref(1),_=e.ref(10),u=e.reactive({keyword:"",status:void 0}),w=e.ref(!1),x=e.computed(()=>y.id?"编辑角色":"新增角色"),y=e.reactive({id:0,name:"",code:"",description:"",status:X.ENABLED,permissions:[]}),I={name:[{required:!0,message:"请输入角色名称",trigger:"blur"}],code:[{required:!0,message:"请输入角色编码",trigger:"blur"}]},$=e.ref(),z=()=>{g.value=!0,setTimeout(()=>{let U=[...p];u.keyword&&(U=U.filter(d=>d.name.includes(u.keyword)||d.code.includes(u.keyword))),u.status!==void 0&&(U=U.filter(d=>d.status===u.status)),h.value=U.length,f.value=U.slice((V.value-1)*_.value,V.value*_.value),g.value=!1},300)},K=()=>{V.value=1,z()},T=()=>{u.keyword="",u.status=void 0,V.value=1,z()},L=()=>{Object.assign(y,{id:0,name:"",code:"",description:"",status:X.ENABLED,permissions:[]}),w.value=!0},B=U=>{Object.assign(y,U),w.value=!0},C=U=>{ne.Message.success("删除成功"),z()},P=async()=>{var U;try{await((U=$.value)==null?void 0:U.validate()),ne.Message.success(y.id?"编辑成功":"新增成功"),w.value=!1,z()}catch(d){console.error(d)}},Y=U=>{ne.Message.success(`已${U.status===X.ENABLED?"启用":"禁用"}角色 ${U.name}`)};return e.onMounted(()=>{z()}),(U,d)=>(e.openBlock(),e.createElementBlock("div",Ya,[e.createElementVNode("div",Ja,[e.createVNode(e.unref(O.Form),{model:u,inline:"",class:"search-form"},{default:e.withCtx(()=>[e.createVNode(e.unref(O.FormItem),{label:"关键词"},{default:e.withCtx(()=>[e.createVNode(e.unref(O.Input),{modelValue:u.keyword,"onUpdate:modelValue":d[0]||(d[0]=k=>u.keyword=k),placeholder:"角色名称/编码",clearable:"",onKeyup:e.withKeys(K,["enter"])},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(O.FormItem),{label:"状态"},{default:e.withCtx(()=>[e.createVNode(e.unref(O.Select),{modelValue:u.status,"onUpdate:modelValue":d[1]||(d[1]=k=>u.status=k),options:e.unref(ft),placeholder:"请选择",clearable:""},null,8,["modelValue","options"])]),_:1}),e.createVNode(e.unref(O.FormItem),null,{default:e.withCtx(()=>[e.createVNode(e.unref(A.Space),null,{default:e.withCtx(()=>[e.createVNode(e.unref(A.Button),{type:"primary",onClick:K},{icon:e.withCtx(()=>[...d[10]||(d[10]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("circle",{cx:"11",cy:"11",r:"8"}),e.createElementVNode("path",{d:"M21 21l-4.35-4.35"})],-1)])]),default:e.withCtx(()=>[d[11]||(d[11]=e.createTextVNode(" 搜索 ",-1))]),_:1}),e.createVNode(e.unref(A.Button),{onClick:T},{icon:e.withCtx(()=>[...d[12]||(d[12]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("path",{d:"M3 12a9 9 0 109-9 9.75 9.75 0 00-6.74 2.74L3 8"}),e.createElementVNode("path",{d:"M3 3v5h5"})],-1)])]),default:e.withCtx(()=>[d[13]||(d[13]=e.createTextVNode(" 重置 ",-1))]),_:1})]),_:1})]),_:1})]),_:1},8,["model"])]),e.createElementVNode("div",Za,[e.createElementVNode("div",Qa,[e.createElementVNode("div",va,[e.createVNode(e.unref(A.Button),{type:"primary",onClick:L},{icon:e.withCtx(()=>[...d[14]||(d[14]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),e.createElementVNode("line",{x1:"5",y1:"12",x2:"19",y2:"12"})],-1)])]),default:e.withCtx(()=>[d[15]||(d[15]=e.createTextVNode(" 新增角色 ",-1))]),_:1})]),e.createElementVNode("div",ei,[e.createElementVNode("span",ti,"共 "+e.toDisplayString(h.value)+" 条数据",1)])]),e.createElementVNode("div",ni,[e.createElementVNode("table",oi,[d[22]||(d[22]=e.createElementVNode("thead",null,[e.createElementVNode("tr",null,[e.createElementVNode("th",{class:"col-id"},"ID"),e.createElementVNode("th",{class:"col-name"},"角色名称"),e.createElementVNode("th",{class:"col-code"},"角色编码"),e.createElementVNode("th",{class:"col-desc"},"描述"),e.createElementVNode("th",{class:"col-status"},"状态"),e.createElementVNode("th",{class:"col-time"},"创建时间"),e.createElementVNode("th",{class:"col-actions"},"操作")])],-1)),e.createElementVNode("tbody",null,[g.value?(e.openBlock(),e.createElementBlock("tr",li,[...d[16]||(d[16]=[e.createElementVNode("td",{colspan:"7",class:"loading-cell"},[e.createElementVNode("div",{class:"loading-content"},[e.createElementVNode("div",{class:"loading-spinner"}),e.createElementVNode("span",null,"加载中...")])],-1)])])):f.value.length===0?(e.openBlock(),e.createElementBlock("tr",si,[...d[17]||(d[17]=[e.createElementVNode("td",{colspan:"7",class:"empty-cell"},[e.createElementVNode("div",{class:"empty-content"},[e.createElementVNode("svg",{viewBox:"0 0 64 41",fill:"none"},[e.createElementVNode("g",{transform:"translate(0 1)"},[e.createElementVNode("ellipse",{fill:"#f5f5f5",cx:"32",cy:"33",rx:"32",ry:"7"}),e.createElementVNode("g",{stroke:"var(--color-text-placeholder)","stroke-width":"2"},[e.createElementVNode("path",{d:"M55 12.76L44.854 1.258C44.367.474 43.656 0 42.907 0H21.093c-.749 0-1.46.474-1.947 1.257L9 12.761V22h46v-9.24z"}),e.createElementVNode("path",{d:"M41.613 15.931c0-1.605.994-2.93 2.227-2.931H55v18.137C55 33.26 53.68 35 52.05 35H11.95C10.32 35 9 33.259 9 31.137V13h11.16c1.233 0 2.227 1.323 2.227 2.928v.022c0 1.605 1.005 2.901 2.237 2.901h14.752c1.232 0 2.237-1.308 2.237-2.913v-.007z",fill:"var(--color-fill)"})])])]),e.createElementVNode("span",null,"暂无数据")])],-1)])])):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:2},e.renderList(f.value,k=>(e.openBlock(),e.createElementBlock("tr",{key:k.id,class:"data-row"},[e.createElementVNode("td",ri,[e.createElementVNode("span",ai,e.toDisplayString(k.id),1)]),e.createElementVNode("td",ii,[e.createElementVNode("span",ci,e.toDisplayString(k.name),1)]),e.createElementVNode("td",di,[e.createVNode(e.unref(we.Tag),{type:"primary",size:"small"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(k.code),1)]),_:2},1024)]),e.createElementVNode("td",mi,[e.createElementVNode("span",pi,e.toDisplayString(k.description),1)]),e.createElementVNode("td",fi,[e.createElementVNode("div",ui,[e.createVNode(e.unref(O.Switch),{"model-value":k.status===e.unref(X).ENABLED,"onUpdate:modelValue":R=>{k.status=R?e.unref(X).ENABLED:e.unref(X).DISABLED,Y(k)}},null,8,["model-value","onUpdate:modelValue"]),e.createElementVNode("span",{class:e.normalizeClass(["status-text",{enabled:k.status===e.unref(X).ENABLED}])},e.toDisplayString(k.status===e.unref(X).ENABLED?"已启用":"已禁用"),3)])]),e.createElementVNode("td",hi,[e.createElementVNode("span",gi,e.toDisplayString(k.createTime),1)]),e.createElementVNode("td",_i,[e.createVNode(e.unref(A.Space),{class:"action-buttons"},{default:e.withCtx(()=>[e.createVNode(e.unref(A.Button),{type:"primary",link:"",size:"small",onClick:R=>B(k)},{icon:e.withCtx(()=>[...d[18]||(d[18]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("path",{d:"M11 4H4a2 2 0 00-2 2v14a2 2 0 002 2h14a2 2 0 002-2v-7"}),e.createElementVNode("path",{d:"M18.5 2.5a2.121 2.121 0 013 3L12 15l-4 1 1-4 9.5-9.5z"})],-1)])]),default:e.withCtx(()=>[d[19]||(d[19]=e.createTextVNode(" 编辑 ",-1))]),_:1},8,["onClick"]),e.createVNode(e.unref(ne.Popconfirm),{title:"确定删除该角色吗?",onConfirm:R=>C(k.id)},{default:e.withCtx(()=>[e.createVNode(e.unref(A.Button),{type:"danger",link:"",size:"small"},{icon:e.withCtx(()=>[...d[20]||(d[20]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("polyline",{points:"3,6 5,6 21,6"}),e.createElementVNode("path",{d:"M19 6v14a2 2 0 01-2 2H7a2 2 0 01-2-2V6m3 0V4a2 2 0 012-2h4a2 2 0 012 2v2"}),e.createElementVNode("line",{x1:"10",y1:"11",x2:"10",y2:"17"}),e.createElementVNode("line",{x1:"14",y1:"11",x2:"14",y2:"17"})],-1)])]),default:e.withCtx(()=>[d[21]||(d[21]=e.createTextVNode(" 删除 ",-1))]),_:1})]),_:1},8,["onConfirm"])]),_:2},1024)])]))),128))])])]),e.createElementVNode("div",Ni,[e.createVNode(e.unref(we.Pagination),{"current-page":V.value,"onUpdate:currentPage":d[2]||(d[2]=k=>V.value=k),"page-size":_.value,"onUpdate:pageSize":d[3]||(d[3]=k=>_.value=k),total:h.value,"page-sizes":[10,20,50,100],layout:"total, sizes, prev, pager, next",onCurrentChange:z,onSizeChange:z},null,8,["current-page","page-size","total"])])]),e.createVNode(e.unref(ne.Modal),{modelValue:w.value,"onUpdate:modelValue":d[9]||(d[9]=k=>w.value=k),title:x.value,width:"520px",class:"role-modal"},{footer:e.withCtx(()=>[e.createVNode(e.unref(A.Space),null,{default:e.withCtx(()=>[e.createVNode(e.unref(A.Button),{onClick:d[8]||(d[8]=k=>w.value=!1)},{default:e.withCtx(()=>[...d[23]||(d[23]=[e.createTextVNode("取消",-1)])]),_:1}),e.createVNode(e.unref(A.Button),{type:"primary",onClick:P},{default:e.withCtx(()=>[...d[24]||(d[24]=[e.createTextVNode("确定",-1)])]),_:1})]),_:1})]),default:e.withCtx(()=>[e.createVNode(e.unref(O.Form),{ref_key:"formRef",ref:$,model:y,rules:I,"label-width":"80px",class:"role-form"},{default:e.withCtx(()=>[e.createVNode(e.unref(O.FormItem),{label:"角色名称",prop:"name"},{default:e.withCtx(()=>[e.createVNode(e.unref(O.Input),{modelValue:y.name,"onUpdate:modelValue":d[4]||(d[4]=k=>y.name=k),placeholder:"请输入角色名称"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(O.FormItem),{label:"角色编码",prop:"code"},{default:e.withCtx(()=>[e.createVNode(e.unref(O.Input),{modelValue:y.code,"onUpdate:modelValue":d[5]||(d[5]=k=>y.code=k),placeholder:"请输入角色编码"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(O.FormItem),{label:"描述"},{default:e.withCtx(()=>[e.createVNode(e.unref(O.Input),{modelValue:y.description,"onUpdate:modelValue":d[6]||(d[6]=k=>y.description=k),placeholder:"请输入描述"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(O.FormItem),{label:"状态"},{default:e.withCtx(()=>[e.createElementVNode("div",Ei,[e.createVNode(e.unref(O.Switch),{modelValue:y.status,"onUpdate:modelValue":d[7]||(d[7]=k=>y.status=k),"active-value":e.unref(X).ENABLED,"inactive-value":e.unref(X).DISABLED},null,8,["modelValue","active-value","inactive-value"]),e.createElementVNode("span",Vi,e.toDisplayString(y.status===e.unref(X).ENABLED?"启用":"禁用"),1)])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])]))}}),[["__scopeId","data-v-935244f1"]])},Symbol.toStringTag,{value:"Module"})),ki={class:"menu-page"},yi={class:"table-section"},wi={class:"table-toolbar"},xi={class:"toolbar-left"},Ci={class:"toolbar-right"},Bi={class:"table-count"},Si={class:"table-wrapper"},bi={class:"data-table"},$i={key:0},Ii={key:1},Mi={class:"data-row tree-row--level-0"},Li={class:"col-name"},Di={class:"menu-info"},Ti={class:"menu-icon-wrapper"},Ai=["onClick"],Ui={class:"col-icon"},zi={class:"icon-text"},Oi={class:"col-path"},Fi={class:"path-code"},Pi={class:"col-type"},Ri={class:"col-sort"},qi={class:"sort-badge"},ji={class:"col-status"},Hi={class:"col-actions"},Gi={class:"col-name"},Ki={class:"menu-info"},Wi={class:"menu-icon-wrapper"},Xi=["onClick"],Yi={class:"col-icon"},Ji={class:"icon-text"},Zi={class:"col-path"},Qi={class:"path-code"},vi={class:"col-type"},ec={class:"col-sort"},tc={class:"sort-badge"},nc={class:"col-status"},oc={class:"col-actions"},lc={class:"form-grid"},sc={class:"status-field"},rc={class:"status-label"},ac={class:"status-field"},ic={class:"status-label"},cc={class:"status-field"},dc={class:"status-label"},Yt=Object.freeze(Object.defineProperty({__proto__:null,default:ge(e.defineComponent({__name:"index",setup(o){const p=[{id:1,parentId:null,name:"Dashboard",path:"/dashboard",component:"dashboard/index",redirect:"",icon:"dashboard",title:"仪表盘",type:Ee.MENU,sort:1,status:X.ENABLED,hidden:!1,keepAlive:!0},{id:2,parentId:null,name:"System",path:"/system",component:"",redirect:"/system/user",icon:"setting",title:"系统管理",type:Ee.DIRECTORY,sort:2,status:X.ENABLED,hidden:!1,keepAlive:!1,children:[{id:21,parentId:2,name:"SystemUser",path:"/system/user",component:"system/user/index",redirect:"",icon:"user",title:"用户管理",type:Ee.MENU,sort:1,status:X.ENABLED,hidden:!1,keepAlive:!0},{id:22,parentId:2,name:"SystemRole",path:"/system/role",component:"system/role/index",redirect:"",icon:"role",title:"角色管理",type:Ee.MENU,sort:2,status:X.ENABLED,hidden:!1,keepAlive:!0},{id:23,parentId:2,name:"SystemMenu",path:"/system/menu",component:"system/menu/index",redirect:"",icon:"menu",title:"菜单管理",type:Ee.MENU,sort:3,status:X.ENABLED,hidden:!1,keepAlive:!0}]}],g=e.ref(!1),f=e.ref([]),h=e.ref(!1),V=e.computed(()=>_.id?"编辑菜单":"新增菜单"),_=e.reactive({id:0,parentId:null,name:"",path:"",component:"",redirect:"",icon:"",title:"",type:Ee.MENU,sort:0,status:X.ENABLED,hidden:!1,keepAlive:!0}),u={name:[{required:!0,message:"请输入菜单名称",trigger:"blur"}],path:[{required:!0,message:"请输入路由路径",trigger:"blur"}],title:[{required:!0,message:"请输入菜单标题",trigger:"blur"}]},w=e.ref(),x=()=>{g.value=!0,setTimeout(()=>{f.value=p,g.value=!1},300)},y=(L=null)=>{Object.assign(_,{id:0,parentId:L,name:"",path:"",component:"",redirect:"",icon:"",title:"",type:Ee.MENU,sort:0,status:X.ENABLED,hidden:!1,keepAlive:!0}),h.value=!0},I=L=>{Object.assign(_,L),h.value=!0},$=async()=>{var L;try{await((L=w.value)==null?void 0:L.validate()),ne.Message.success(_.id?"编辑成功":"新增成功"),h.value=!1,x()}catch(B){console.error(B)}},z=L=>({dashboard:"📊",system:"⚙️",user:"👤",role:"👥",menu:"📋",setting:"🔧"})[L||""]||"📄",K=L=>{switch(L){case Ee.DIRECTORY:return"primary";case Ee.MENU:return"success";default:return"warning"}},T=L=>{switch(L){case Ee.DIRECTORY:return"目录";case Ee.MENU:return"菜单";default:return"按钮"}};return e.onMounted(()=>{x()}),(L,B)=>(e.openBlock(),e.createElementBlock("div",ki,[e.createElementVNode("div",yi,[e.createElementVNode("div",wi,[e.createElementVNode("div",xi,[e.createVNode(e.unref(A.Button),{type:"primary",onClick:B[0]||(B[0]=C=>y())},{icon:e.withCtx(()=>[...B[14]||(B[14]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),e.createElementVNode("line",{x1:"5",y1:"12",x2:"19",y2:"12"})],-1)])]),default:e.withCtx(()=>[B[15]||(B[15]=e.createTextVNode(" 新增菜单 ",-1))]),_:1})]),e.createElementVNode("div",Ci,[e.createElementVNode("span",Bi,"共 "+e.toDisplayString(f.value.length)+" 个菜单",1)])]),e.createElementVNode("div",Si,[e.createElementVNode("table",bi,[B[26]||(B[26]=e.createElementVNode("thead",null,[e.createElementVNode("tr",null,[e.createElementVNode("th",{class:"col-name"},"菜单名称"),e.createElementVNode("th",{class:"col-icon"},"图标"),e.createElementVNode("th",{class:"col-path"},"路由路径"),e.createElementVNode("th",{class:"col-type"},"类型"),e.createElementVNode("th",{class:"col-sort"},"排序"),e.createElementVNode("th",{class:"col-status"},"状态"),e.createElementVNode("th",{class:"col-actions"},"操作")])],-1)),e.createElementVNode("tbody",null,[g.value?(e.openBlock(),e.createElementBlock("tr",$i,[...B[16]||(B[16]=[e.createElementVNode("td",{colspan:"7",class:"loading-cell"},[e.createElementVNode("div",{class:"loading-content"},[e.createElementVNode("div",{class:"loading-spinner"}),e.createElementVNode("span",null,"加载中...")])],-1)])])):f.value.length===0?(e.openBlock(),e.createElementBlock("tr",Ii,[...B[17]||(B[17]=[e.createElementVNode("td",{colspan:"7",class:"empty-cell"},[e.createElementVNode("div",{class:"empty-content"},[e.createElementVNode("svg",{viewBox:"0 0 64 41",fill:"none"},[e.createElementVNode("g",{transform:"translate(0 1)"},[e.createElementVNode("ellipse",{fill:"#f5f5f5",cx:"32",cy:"33",rx:"32",ry:"7"}),e.createElementVNode("g",{stroke:"var(--color-text-placeholder)","stroke-width":"2"},[e.createElementVNode("path",{d:"M55 12.76L44.854 1.258C44.367.474 43.656 0 42.907 0H21.093c-.749 0-1.46.474-1.947 1.257L9 12.761V22h46v-9.24z"}),e.createElementVNode("path",{d:"M41.613 15.931c0-1.605.994-2.93 2.227-2.931H55v18.137C55 33.26 53.68 35 52.05 35H11.95C10.32 35 9 33.259 9 31.137V13h11.16c1.233 0 2.227 1.323 2.227 2.928v.022c0 1.605 1.005 2.901 2.237 2.901h14.752c1.232 0 2.237-1.308 2.237-2.913v-.007z",fill:"var(--color-fill)"})])])]),e.createElementVNode("span",null,"暂无数据")])],-1)])])):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:2},e.renderList(f.value,C=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:C.id},[e.createElementVNode("tr",Mi,[e.createElementVNode("td",Li,[e.createElementVNode("div",Di,[e.createElementVNode("span",Ti,e.toDisplayString(z(C.icon)),1),e.createElementVNode("span",{class:"menu-title",onClick:P=>I(C)},e.toDisplayString(C.title),9,Ai)])]),e.createElementVNode("td",Ui,[e.createElementVNode("span",zi,e.toDisplayString(z(C.icon)),1)]),e.createElementVNode("td",Oi,[e.createElementVNode("code",Fi,e.toDisplayString(C.path),1)]),e.createElementVNode("td",Pi,[e.createVNode(e.unref(we.Tag),{type:K(C.type),size:"small"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(T(C.type)),1)]),_:2},1032,["type"])]),e.createElementVNode("td",Ri,[e.createElementVNode("span",qi,e.toDisplayString(C.sort),1)]),e.createElementVNode("td",ji,[e.createVNode(e.unref(we.Tag),{type:C.status===e.unref(X).ENABLED?"success":"danger",size:"small"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(C.status===e.unref(X).ENABLED?"启用":"禁用"),1)]),_:2},1032,["type"])]),e.createElementVNode("td",Hi,[e.createVNode(e.unref(A.Space),{class:"action-buttons"},{default:e.withCtx(()=>[e.createVNode(e.unref(A.Button),{type:"primary",link:"",size:"small",onClick:P=>y(C.id)},{icon:e.withCtx(()=>[...B[18]||(B[18]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),e.createElementVNode("line",{x1:"5",y1:"12",x2:"19",y2:"12"})],-1)])]),default:e.withCtx(()=>[B[19]||(B[19]=e.createTextVNode(" 新增 ",-1))]),_:1},8,["onClick"]),e.createVNode(e.unref(A.Button),{type:"primary",link:"",size:"small",onClick:P=>I(C)},{icon:e.withCtx(()=>[...B[20]||(B[20]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("path",{d:"M11 4H4a2 2 0 00-2 2v14a2 2 0 002 2h14a2 2 0 002-2v-7"}),e.createElementVNode("path",{d:"M18.5 2.5a2.121 2.121 0 013 3L12 15l-4 1 1-4 9.5-9.5z"})],-1)])]),default:e.withCtx(()=>[B[21]||(B[21]=e.createTextVNode(" 编辑 ",-1))]),_:1},8,["onClick"])]),_:2},1024)])]),C.children?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(C.children,P=>(e.openBlock(),e.createElementBlock("tr",{key:P.id,class:"data-row tree-row--level-1"},[e.createElementVNode("td",Gi,[e.createElementVNode("div",Ki,[B[22]||(B[22]=e.createElementVNode("span",{class:"tree-indent"},null,-1)),B[23]||(B[23]=e.createElementVNode("span",{class:"tree-line"},null,-1)),e.createElementVNode("span",Wi,e.toDisplayString(z(P.icon)),1),e.createElementVNode("span",{class:"menu-title",onClick:Y=>I(P)},e.toDisplayString(P.title),9,Xi)])]),e.createElementVNode("td",Yi,[e.createElementVNode("span",Ji,e.toDisplayString(z(P.icon)),1)]),e.createElementVNode("td",Zi,[e.createElementVNode("code",Qi,e.toDisplayString(P.path),1)]),e.createElementVNode("td",vi,[e.createVNode(e.unref(we.Tag),{type:K(P.type),size:"small"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(T(P.type)),1)]),_:2},1032,["type"])]),e.createElementVNode("td",ec,[e.createElementVNode("span",tc,e.toDisplayString(P.sort),1)]),e.createElementVNode("td",nc,[e.createVNode(e.unref(we.Tag),{type:P.status===e.unref(X).ENABLED?"success":"danger",size:"small"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(P.status===e.unref(X).ENABLED?"启用":"禁用"),1)]),_:2},1032,["type"])]),e.createElementVNode("td",oc,[e.createVNode(e.unref(A.Space),{class:"action-buttons"},{default:e.withCtx(()=>[e.createVNode(e.unref(A.Button),{type:"primary",link:"",size:"small",onClick:Y=>I(P)},{icon:e.withCtx(()=>[...B[24]||(B[24]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("path",{d:"M11 4H4a2 2 0 00-2 2v14a2 2 0 002 2h14a2 2 0 002-2v-7"}),e.createElementVNode("path",{d:"M18.5 2.5a2.121 2.121 0 013 3L12 15l-4 1 1-4 9.5-9.5z"})],-1)])]),default:e.withCtx(()=>[B[25]||(B[25]=e.createTextVNode(" 编辑 ",-1))]),_:1},8,["onClick"])]),_:2},1024)])]))),128)):e.createCommentVNode("",!0)],64))),128))])])])]),e.createVNode(e.unref(ne.Modal),{modelValue:h.value,"onUpdate:modelValue":B[13]||(B[13]=C=>h.value=C),title:V.value,width:"600px",class:"menu-modal"},{footer:e.withCtx(()=>[e.createVNode(e.unref(A.Space),null,{default:e.withCtx(()=>[e.createVNode(e.unref(A.Button),{onClick:B[12]||(B[12]=C=>h.value=!1)},{default:e.withCtx(()=>[...B[27]||(B[27]=[e.createTextVNode("取消",-1)])]),_:1}),e.createVNode(e.unref(A.Button),{type:"primary",onClick:$},{default:e.withCtx(()=>[...B[28]||(B[28]=[e.createTextVNode("确定",-1)])]),_:1})]),_:1})]),default:e.withCtx(()=>[e.createVNode(e.unref(O.Form),{ref_key:"formRef",ref:w,model:_,rules:u,"label-width":"80px",class:"menu-form"},{default:e.withCtx(()=>[e.createElementVNode("div",lc,[e.createVNode(e.unref(O.FormItem),{label:"上级菜单",class:"form-item-full"},{default:e.withCtx(()=>[e.createVNode(e.unref(O.Input),{modelValue:_.parentId,"onUpdate:modelValue":B[1]||(B[1]=C=>_.parentId=C),placeholder:"上级菜单ID",disabled:""},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(O.FormItem),{label:"菜单类型"},{default:e.withCtx(()=>[e.createVNode(e.unref(O.Select),{modelValue:_.type,"onUpdate:modelValue":B[2]||(B[2]=C=>_.type=C),options:e.unref(Gt)},null,8,["modelValue","options"])]),_:1}),e.createVNode(e.unref(O.FormItem),{label:"排序"},{default:e.withCtx(()=>[e.createVNode(e.unref(O.InputNumber),{modelValue:_.sort,"onUpdate:modelValue":B[3]||(B[3]=C=>_.sort=C),min:0},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(O.FormItem),{label:"菜单名称",prop:"name"},{default:e.withCtx(()=>[e.createVNode(e.unref(O.Input),{modelValue:_.name,"onUpdate:modelValue":B[4]||(B[4]=C=>_.name=C),placeholder:"请输入菜单名称(路由name)"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(O.FormItem),{label:"菜单标题",prop:"title"},{default:e.withCtx(()=>[e.createVNode(e.unref(O.Input),{modelValue:_.title,"onUpdate:modelValue":B[5]||(B[5]=C=>_.title=C),placeholder:"请输入菜单标题"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(O.FormItem),{label:"路由路径",prop:"path",class:"form-item-full"},{default:e.withCtx(()=>[e.createVNode(e.unref(O.Input),{modelValue:_.path,"onUpdate:modelValue":B[6]||(B[6]=C=>_.path=C),placeholder:"请输入路由路径"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(O.FormItem),{label:"组件路径",class:"form-item-full"},{default:e.withCtx(()=>[e.createVNode(e.unref(O.Input),{modelValue:_.component,"onUpdate:modelValue":B[7]||(B[7]=C=>_.component=C),placeholder:"请输入组件路径"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(O.FormItem),{label:"图标"},{default:e.withCtx(()=>[e.createVNode(e.unref(O.Input),{modelValue:_.icon,"onUpdate:modelValue":B[8]||(B[8]=C=>_.icon=C),placeholder:"请输入图标名称"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(O.FormItem),{label:"状态"},{default:e.withCtx(()=>[e.createElementVNode("div",sc,[e.createVNode(e.unref(O.Switch),{modelValue:_.status,"onUpdate:modelValue":B[9]||(B[9]=C=>_.status=C),"active-value":e.unref(X).ENABLED,"inactive-value":e.unref(X).DISABLED},null,8,["modelValue","active-value","inactive-value"]),e.createElementVNode("span",rc,e.toDisplayString(_.status===e.unref(X).ENABLED?"启用":"禁用"),1)])]),_:1}),e.createVNode(e.unref(O.FormItem),{label:"隐藏"},{default:e.withCtx(()=>[e.createElementVNode("div",ac,[e.createVNode(e.unref(O.Switch),{modelValue:_.hidden,"onUpdate:modelValue":B[10]||(B[10]=C=>_.hidden=C)},null,8,["modelValue"]),e.createElementVNode("span",ic,e.toDisplayString(_.hidden?"隐藏":"显示"),1)])]),_:1}),e.createVNode(e.unref(O.FormItem),{label:"缓存"},{default:e.withCtx(()=>[e.createElementVNode("div",cc,[e.createVNode(e.unref(O.Switch),{modelValue:_.keepAlive,"onUpdate:modelValue":B[11]||(B[11]=C=>_.keepAlive=C)},null,8,["modelValue"]),e.createElementVNode("span",dc,e.toDisplayString(_.keepAlive?"开启":"关闭"),1)])]),_:1})])]),_:1},8,["model"])]),_:1},8,["modelValue","title"])]))}}),[["__scopeId","data-v-fcdec27c"]])},Symbol.toStringTag,{value:"Module"}));S.Footer=ws,S.Forbidden=vs,S.Gender=Ht,S.GenderOptions=Or,S.GenderText=Ur,S.Header=It,S.Layout=ct,S.Login=Ft,S.MenuType=Ee,S.MenuTypeOptions=Gt,S.MenuTypeText=zr,S.NotFound=Pt,S.Sidebar=it,S.Status=X,S.StatusOptions=ft,S.StatusText=Ar,S.Tabs=Es,S.appConfig=Zt,S.batchDeleteUsers=Lr,S.clearToken=De,S.createLayoutRoute=fr,S.createMenu=yr,S.createRole=_r,S.createRouter=ur,S.createTranslator=rr,S.createUser=$r,S.createXtoApp=Pr,S.defaultDynamicRoutes=dr,S.deleteMenu=xr,S.deleteRole=Er,S.deleteUser=Mr,S.getApiBaseUrl=_t,S.getAppId=Ue,S.getClientId=Je,S.getCode=on,S.getMenuList=kr,S.getMenuTree=jt,S.getRefreshTime=nn,S.getRefreshToken=tn,S.getRoleDetail=gr,S.getRoleList=hr,S.getToken=Pe,S.getTokenExpire=xt,S.getTokenType=kt,S.getUserDetail=br,S.getUserInfo=Ot,S.getUserList=Sr,S.hasPermission=ar,S.hasRole=ir,S.hasToken=at,S.http=oe,S.initAppConfig=gt,S.isAdmin=cr,S.isTokenExpired=bt,S.layoutRoute=mt,S.local=G,S.localStorageUtil=Oe,S.login=zt,S.logout=Ts,S.mockMenuData=qt,S.permissionDirective=Fr,S.refreshToken=As,S.resetPassword=Tr,S.resetRouter=pr,S.router=pt,S.session=Qt,S.sessionStorageUtil=Fe,S.setApiBaseUrl=Ds,S.setCode=St,S.setRefreshTime=Bt,S.setRefreshToken=wt,S.setToken=Vt,S.setTokenExpire=Ct,S.setTokenInfo=rt,S.setTokenType=yt,S.setupRouterGuards=Br,S.staticRoutes=dt,S.updateMenu=wr,S.updateRole=Nr,S.updateRoleStatus=Vr,S.updateUser=Ir,S.updateUserStatus=Dr,S.useApp=er,S.useAppStore=Se,S.useAuth=tr,S.useAuthStore=Te,S.useForm=nr,S.useI18n=sr,S.useLocaleStore=We,S.useMenuStore=xe,S.useTable=or,S.useUserStore=ke,Object.defineProperty(S,Symbol.toStringTag,{value:"Module"})});
|
|
7
|
+
`+M+"}":"{"+B.join(",")+"}",h=M,K}}typeof g.stringify!="function"&&(g.stringify=function(y,I,$){var z;if(h="",V="",typeof $=="number")for(z=0;z<$;z+=1)V+=" ";else typeof $=="string"&&(V=$);if(u=I,I&&typeof I!="function"&&(typeof I!="object"||typeof I.length!="number"))throw new Error("JSON.stringify");return x("",{"":y})})})()})(Lt);var Bs=Lt.exports,Ke=null;const Ss=/(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])/,bs=/(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)/;var $s=function(o){var p={strict:!1,storeAsString:!1,alwaysParseAsBig:!1,useNativeBigInt:!1,protoAction:"error",constructorAction:"error"};if(o!=null){if(o.strict===!0&&(p.strict=!0),o.storeAsString===!0&&(p.storeAsString=!0),p.alwaysParseAsBig=o.alwaysParseAsBig===!0?o.alwaysParseAsBig:!1,p.useNativeBigInt=o.useNativeBigInt===!0?o.useNativeBigInt:!1,typeof o.constructorAction<"u")if(o.constructorAction==="error"||o.constructorAction==="ignore"||o.constructorAction==="preserve")p.constructorAction=o.constructorAction;else throw new Error(`Incorrect value for constructorAction option, must be "error", "ignore" or undefined but passed ${o.constructorAction}`);if(typeof o.protoAction<"u")if(o.protoAction==="error"||o.protoAction==="ignore"||o.protoAction==="preserve")p.protoAction=o.protoAction;else throw new Error(`Incorrect value for protoAction option, must be "error", "ignore" or undefined but passed ${o.protoAction}`)}var g,f,h={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:`
|
|
8
|
+
`,r:"\r",t:" "},V,_=function(T){throw{name:"SyntaxError",message:T,at:g,text:V}},u=function(T){return T&&T!==f&&_("Expected '"+T+"' instead of '"+f+"'"),f=V.charAt(g),g+=1,f},w=function(){var T,M="";for(f==="-"&&(M="-",u("-"));f>="0"&&f<="9";)M+=f,u();if(f===".")for(M+=".";u()&&f>="0"&&f<="9";)M+=f;if(f==="e"||f==="E")for(M+=f,u(),(f==="-"||f==="+")&&(M+=f,u());f>="0"&&f<="9";)M+=f,u();if(T=+M,!isFinite(T))_("Bad number");else return Ke==null&&(Ke=Dt),M.length>15?p.storeAsString?M:p.useNativeBigInt?BigInt(M):new Ke(M):p.alwaysParseAsBig?p.useNativeBigInt?BigInt(T):new Ke(T):T},x=function(){var T,M,B="",C;if(f==='"')for(var P=g;u();){if(f==='"')return g-1>P&&(B+=V.substring(P,g-1)),u(),B;if(f==="\\"){if(g-1>P&&(B+=V.substring(P,g-1)),u(),f==="u"){for(C=0,M=0;M<4&&(T=parseInt(u(),16),!!isFinite(T));M+=1)C=C*16+T;B+=String.fromCharCode(C)}else if(typeof h[f]=="string")B+=h[f];else break;P=g}}_("Bad string")},y=function(){for(;f&&f<=" ";)u()},I=function(){switch(f){case"t":return u("t"),u("r"),u("u"),u("e"),!0;case"f":return u("f"),u("a"),u("l"),u("s"),u("e"),!1;case"n":return u("n"),u("u"),u("l"),u("l"),null}_("Unexpected '"+f+"'")},$,z=function(){var T=[];if(f==="["){if(u("["),y(),f==="]")return u("]"),T;for(;f;){if(T.push($()),y(),f==="]")return u("]"),T;u(","),y()}}_("Bad array")},K=function(){var T,M=Object.create(null);if(f==="{"){if(u("{"),y(),f==="}")return u("}"),M;for(;f;){if(T=x(),y(),u(":"),p.strict===!0&&Object.hasOwnProperty.call(M,T)&&_('Duplicate key "'+T+'"'),Ss.test(T)===!0?p.protoAction==="error"?_("Object contains forbidden prototype property"):p.protoAction==="ignore"?$():M[T]=$():bs.test(T)===!0?p.constructorAction==="error"?_("Object contains forbidden constructor property"):p.constructorAction==="ignore"?$():M[T]=$():M[T]=$(),y(),f==="}")return u("}"),M;u(","),y()}}_("Bad object")};return $=function(){switch(y(),f){case"{":return K();case"[":return z();case'"':return x();case"-":return w();default:return f>="0"&&f<="9"?w():I()}},function(T,M){var B;return V=T+"",g=0,f=" ",B=$(),y(),f&&_("Syntax error"),typeof M=="function"?function C(P,Y){var U,d=P[Y];return d&&typeof d=="object"&&Object.keys(d).forEach(function(k){U=C(d,k),U!==void 0?d[k]=U:delete d[k]}),M.call(P,Y,d)}({"":B},""):B}},Is=$s,Tt=Bs.stringify,At=Is;Ge.exports=function(o){return{parse:At(o),stringify:Tt}},Ge.exports.parse=At(),Ge.exports.stringify=Tt;var Ls=Ge.exports;const Ms=Cs(Ls)({storeAsString:!0});let Ut;function Ds(o){Ut=o,Me&&(Me.defaults.baseURL=o)}const Me=(()=>{const o=Jt.create({timeout:3e4,headers:{"Content-Type":"application/json"},transformResponse:[p=>{if(typeof p=="string")try{return Ms.parse(p)}catch{return p}return p}]});return o.interceptors.request.use(p=>{const g=Ut||void 0;g&&!p.baseURL&&(p.baseURL=g);const f=Pe(),h=kt()||"Bearer";return f&&(p.headers.Authorization=`${h} ${f}`),p},p=>Promise.reject(p)),o.interceptors.response.use(p=>{const{data:g}=p;return g.code===200||g.code===0?g.data:g.code===9121?(ne.Message.error("登录已过期,请重新登录"),De(),window.location.href="/login",Promise.reject(new Error(g.message||"EXPIRED OR INVALID TOKEN"))):(ne.Message.error(g.message||"请求失败"),Promise.reject(new Error(g.message||"请求失败")))},p=>{var f;const{response:g}=p;if(g){const{data:h}=g;if((h==null?void 0:h.code)===9121)return ne.Message.error("登录已过期,请重新登录"),De(),window.location.href="/login",Promise.reject(p);switch(g.status){case 401:ne.Message.error("登录已过期,请重新登录"),De(),window.location.href="/login";break;case 403:ne.Message.error("没有权限访问");break;case 404:ne.Message.error("请求资源不存在");break;case 500:ne.Message.error("服务器错误");break;default:ne.Message.error(((f=g.data)==null?void 0:f.message)||"请求失败")}}else ne.Message.error("网络连接失败");return Promise.reject(p)}),o})(),oe={get(o,p){return Me.get(o,p)},post(o,p,g){return Me.post(o,p,g)},put(o,p,g){return Me.put(o,p,g)},patch(o,p,g){return Me.patch(o,p,g)},delete(o,p){return Me.delete(o,p)},download(o,p){return Me.get(o,{...p,responseType:"blob"})}};function zt(o){return oe.post("/user/v1.0/login/by-domain",o)}function Ts(){return oe.put("/user/v1.0/user/logout")}function Ot(){return oe.get("/user/v1.0/user/get-me")}function As(o){return oe.post("/user/v1.0/refresh",{refreshToken:o})}const Us={class:"login-page"},zs={class:"login-form-section"},Os={class:"form-container"},Fs={class:"input-wrapper"},Ps={class:"input-wrapper"},Rs={class:"form-options"},qs={key:0},js={key:1},Ft=ge(e.defineComponent({__name:"index",setup(o){const p=ie.useRouter(),g=ie.useRoute(),f=e.ref(!1),h=e.ref(!1),V=e.reactive({uid:"",password:""}),_={uid:[{required:!0,message:"请输入用户名",trigger:"blur"}],password:[{required:!0,message:"请输入密码",trigger:"blur"},{min:6,message:"密码长度至少6位",trigger:"blur"}]},u=e.ref(),w=async()=>{var x;try{await((x=u.value)==null?void 0:x.validate()),f.value=!0;const y=await zt({appId:Ue(),clientId:Je(),uid:V.uid,password:V.password,code:!0});rt(y),ne.Message.success("登录成功");const I=g.query.redirect||"/";p.push(I)}catch(y){console.error("登录失败:",y)}finally{f.value=!1}};return(x,y)=>(e.openBlock(),e.createElementBlock("div",Us,[y[10]||(y[10]=e.createStaticVNode('<div class="login-brand" data-v-15fc7de5><div class="brand-content" data-v-15fc7de5><div class="brand-logo" data-v-15fc7de5><div class="logo-icon" data-v-15fc7de5><svg viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg" data-v-15fc7de5><rect width="48" height="48" rx="12" fill="currentColor" data-v-15fc7de5></rect><path d="M14 24L20 30L34 16" stroke="white" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" data-v-15fc7de5></path></svg></div><span class="logo-text" data-v-15fc7de5>XTO</span></div><div class="brand-slogan" data-v-15fc7de5><h1 data-v-15fc7de5>企业级后台管理解决方案</h1><p data-v-15fc7de5>开箱即用的中后台前端/设计解决方案</p></div><div class="brand-features" data-v-15fc7de5><div class="feature-item" data-v-15fc7de5><div class="feature-icon" data-v-15fc7de5><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" data-v-15fc7de5><path d="M13 2L3 14h9l-1 8 10-12h-9l1-8z" data-v-15fc7de5></path></svg></div><div class="feature-text" data-v-15fc7de5><h4 data-v-15fc7de5>高性能</h4><p data-v-15fc7de5>极致的渲染性能与响应速度</p></div></div><div class="feature-item" data-v-15fc7de5><div class="feature-icon" data-v-15fc7de5><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" data-v-15fc7de5><rect x="3" y="3" width="18" height="18" rx="2" data-v-15fc7de5></rect><path d="M9 9h6M9 12h6M9 15h4" data-v-15fc7de5></path></svg></div><div class="feature-text" data-v-15fc7de5><h4 data-v-15fc7de5>丰富组件</h4><p data-v-15fc7de5>60+ 高质量业务组件</p></div></div><div class="feature-item" data-v-15fc7de5><div class="feature-icon" data-v-15fc7de5><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" data-v-15fc7de5><circle cx="12" cy="12" r="10" data-v-15fc7de5></circle><path d="M12 6v6l4 2" data-v-15fc7de5></path></svg></div><div class="feature-text" data-v-15fc7de5><h4 data-v-15fc7de5>持续更新</h4><p data-v-15fc7de5>活跃的社区与快速迭代</p></div></div></div><div class="brand-decoration" data-v-15fc7de5><div class="decoration-line" data-v-15fc7de5></div><div class="decoration-dots" data-v-15fc7de5><span data-v-15fc7de5></span><span data-v-15fc7de5></span><span data-v-15fc7de5></span></div></div></div><div class="brand-bg" data-v-15fc7de5><div class="bg-grid" data-v-15fc7de5></div><div class="bg-glow" data-v-15fc7de5></div><div class="bg-pattern" data-v-15fc7de5></div></div></div>',1)),e.createElementVNode("div",zs,[e.createElementVNode("div",Os,[y[7]||(y[7]=e.createElementVNode("div",{class:"form-header"},[e.createElementVNode("h2",null,"欢迎登录"),e.createElementVNode("p",null,"请输入您的账户信息")],-1)),e.createVNode(e.unref(O.Form),{ref_key:"formRef",ref:u,model:V,rules:_,class:"login-form","label-width":"0"},{default:e.withCtx(()=>[e.createVNode(e.unref(O.FormItem),{prop:"uid"},{default:e.withCtx(()=>[e.createElementVNode("div",Fs,[y[3]||(y[3]=e.createElementVNode("label",{class:"input-label"},"用户名",-1)),e.createVNode(e.unref(O.Input),{modelValue:V.uid,"onUpdate:modelValue":y[0]||(y[0]=I=>V.uid=I),placeholder:"请输入用户名",size:"large"},{prefix:e.withCtx(()=>[e.createVNode(e.unref(A.Icon),{name:"user",size:18})]),_:1},8,["modelValue"])])]),_:1}),e.createVNode(e.unref(O.FormItem),{prop:"password"},{default:e.withCtx(()=>[e.createElementVNode("div",Ps,[y[4]||(y[4]=e.createElementVNode("label",{class:"input-label"},"密码",-1)),e.createVNode(e.unref(O.Input),{modelValue:V.password,"onUpdate:modelValue":y[1]||(y[1]=I=>V.password=I),type:"password",placeholder:"请输入密码",size:"large","show-password":"",onKeyup:e.withKeys(w,["enter"])},{prefix:e.withCtx(()=>[e.createVNode(e.unref(A.Icon),{name:"lock",size:18})]),_:1},8,["modelValue"])])]),_:1}),e.createElementVNode("div",Rs,[e.createVNode(e.unref(O.Checkbox),{modelValue:h.value,"onUpdate:modelValue":y[2]||(y[2]=I=>h.value=I)},{default:e.withCtx(()=>[...y[5]||(y[5]=[e.createTextVNode("记住我",-1)])]),_:1},8,["modelValue"]),y[6]||(y[6]=e.createElementVNode("a",{href:"#",class:"forgot-link"},"忘记密码?",-1))]),e.createVNode(e.unref(O.FormItem),null,{default:e.withCtx(()=>[e.createVNode(e.unref(A.Button),{type:"primary",size:"large",loading:f.value,class:"login-btn",onClick:w},{default:e.withCtx(()=>[f.value?(e.openBlock(),e.createElementBlock("span",js,"登录中...")):(e.openBlock(),e.createElementBlock("span",qs,"登 录"))]),_:1},8,["loading"])]),_:1})]),_:1},8,["model"]),y[8]||(y[8]=e.createStaticVNode('<div class="form-footer" data-v-15fc7de5><p data-v-15fc7de5>其他登录方式</p><div class="social-login" data-v-15fc7de5><button class="social-btn" title="企业微信" data-v-15fc7de5><svg viewBox="0 0 24 24" fill="currentColor" data-v-15fc7de5><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1 17.93c-3.95-.49-7-3.85-7-7.93 0-.62.08-1.21.21-1.79L9 15v1c0 1.1.9 2 2 2v1.93zm6.9-2.54c-.26-.81-1-1.39-1.9-1.39h-1v-3c0-.55-.45-1-1-1H8v-2h2c.55 0 1-.45 1-1V7h2c1.1 0 2-.9 2-2v-.41c2.93 1.19 5 4.06 5 7.41 0 2.08-.8 3.97-2.1 5.39z" data-v-15fc7de5></path></svg></button><button class="social-btn" title="钉钉" data-v-15fc7de5><svg viewBox="0 0 24 24" fill="currentColor" data-v-15fc7de5><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm4.64 6.8c-.15 1.58-.8 5.42-1.13 7.19-.14.75-.42 1-.68 1.03-.58.05-1.02-.38-1.58-.75-.88-.58-1.38-.94-2.23-1.5-.99-.65-.35-1.01.22-1.59.15-.15 2.71-2.48 2.76-2.69a.2.2 0 00-.05-.18c-.06-.05-.14-.03-.21-.02-.09.02-1.49.95-4.22 2.79-.4.27-.76.41-1.08.4-.36-.01-1.04-.2-1.55-.37-.63-.2-1.12-.31-1.08-.66.02-.18.27-.36.74-.55 2.92-1.27 4.86-2.11 5.83-2.51 2.78-1.16 3.35-1.36 3.73-1.36.08 0 .27.02.39.12.1.08.13.19.14.27-.01.06.01.24 0 .38z" data-v-15fc7de5></path></svg></button><button class="social-btn" title="飞书" data-v-15fc7de5><svg viewBox="0 0 24 24" fill="currentColor" data-v-15fc7de5><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-6h2v6zm0-8h-2V7h2v2z" data-v-15fc7de5></path></svg></button></div></div>',1))]),y[9]||(y[9]=e.createElementVNode("div",{class:"copyright"},[e.createElementVNode("p",null,"© 2024 XTO Team. All rights reserved.")],-1))])]))}}),[["__scopeId","data-v-15fc7de5"]]),Hs=Object.freeze(Object.defineProperty({__proto__:null,default:Ft},Symbol.toStringTag,{value:"Module"})),Gs={class:"error-page"},Ks={class:"error-container"},Ws={class:"error-content"},Xs={class:"error-actions"},Pt=ge(e.defineComponent({__name:"404",setup(o){const p=ie.useRouter(),g=()=>{p.push("/")};return(f,h)=>(e.openBlock(),e.createElementBlock("div",Gs,[e.createElementVNode("div",Ks,[h[7]||(h[7]=e.createElementVNode("div",{class:"error-bg"},[e.createElementVNode("div",{class:"bg-circle circle-1"}),e.createElementVNode("div",{class:"bg-circle circle-2"}),e.createElementVNode("div",{class:"bg-circle circle-3"})],-1)),e.createElementVNode("div",Ws,[h[5]||(h[5]=e.createStaticVNode('<div class="error-code" data-v-3a9e61ae><span class="code-digit" data-v-3a9e61ae>4</span><span class="code-zero" data-v-3a9e61ae><span class="zero-inner" data-v-3a9e61ae>0</span></span><span class="code-digit" data-v-3a9e61ae>4</span></div><div class="error-illustration" data-v-3a9e61ae><svg viewBox="0 0 200 120" fill="none" xmlns="http://www.w3.org/2000/svg" data-v-3a9e61ae><rect x="40" y="20" width="120" height="80" rx="8" fill="var(--color-fill)" stroke="var(--color-border)" stroke-width="2" data-v-3a9e61ae></rect><rect x="50" y="30" width="100" height="60" rx="4" fill="var(--bg-color)" data-v-3a9e61ae></rect><line x1="60" y1="45" x2="140" y2="45" stroke="var(--color-border-light)" stroke-width="2" data-v-3a9e61ae></line><line x1="60" y1="55" x2="120" y2="55" stroke="var(--color-border-light)" stroke-width="2" data-v-3a9e61ae></line><line x1="60" y1="65" x2="100" y2="65" stroke="var(--color-border-light)" stroke-width="2" data-v-3a9e61ae></line><text x="100" y="75" text-anchor="middle" fill="var(--color-primary)" font-size="24" font-weight="600" data-v-3a9e61ae>?</text><circle cx="150" cy="35" r="12" stroke="var(--color-primary)" stroke-width="2" fill="none" data-v-3a9e61ae></circle><line x1="158" y1="43" x2="168" y2="53" stroke="var(--color-primary)" stroke-width="2" stroke-linecap="round" data-v-3a9e61ae></line></svg></div><h1 class="error-title" data-v-3a9e61ae>页面不存在</h1><p class="error-desc" data-v-3a9e61ae>抱歉,您访问的页面不存在或已被删除</p>',4)),e.createElementVNode("div",Xs,[e.createVNode(e.unref(A.Button),{type:"primary",size:"large",onClick:g},{icon:e.withCtx(()=>[...h[1]||(h[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(()=>[h[2]||(h[2]=e.createTextVNode(" 返回首页 ",-1))]),_:1}),e.createVNode(e.unref(A.Button),{size:"large",onClick:h[0]||(h[0]=V=>e.unref(p).go(-1))},{icon:e.withCtx(()=>[...h[3]||(h[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(()=>[h[4]||(h[4]=e.createTextVNode(" 返回上一页 ",-1))]),_:1})]),h[6]||(h[6]=e.createElementVNode("div",{class:"error-tip"},[e.createElementVNode("p",null,"您可以尝试:"),e.createElementVNode("ul",null,[e.createElementVNode("li",null,"检查您输入的网址是否正确"),e.createElementVNode("li",null,"返回首页重新浏览"),e.createElementVNode("li",null,"联系管理员反馈问题")])],-1))])])]))}}),[["__scopeId","data-v-3a9e61ae"]]),Rt=Object.freeze(Object.defineProperty({__proto__:null,default:Pt},Symbol.toStringTag,{value:"Module"})),Ys={class:"error-page"},Js={class:"error-container"},Zs={class:"error-content"},Qs={class:"error-actions"},vs=ge(e.defineComponent({__name:"403",setup(o){const p=ie.useRouter(),g=()=>{p.push("/")};return(f,h)=>(e.openBlock(),e.createElementBlock("div",Ys,[e.createElementVNode("div",Js,[h[7]||(h[7]=e.createElementVNode("div",{class:"error-bg"},[e.createElementVNode("div",{class:"bg-circle circle-1"}),e.createElementVNode("div",{class:"bg-circle circle-2"}),e.createElementVNode("div",{class:"bg-circle circle-3"})],-1)),e.createElementVNode("div",Zs,[h[5]||(h[5]=e.createStaticVNode('<div class="error-code" data-v-c733ebac><span class="code-digit" data-v-c733ebac>4</span><span class="code-zero warning" data-v-c733ebac><span class="zero-inner" data-v-c733ebac>0</span></span><span class="code-digit" data-v-c733ebac>3</span></div><div class="error-illustration" data-v-c733ebac><svg viewBox="0 0 200 120" fill="none" xmlns="http://www.w3.org/2000/svg" data-v-c733ebac><path d="M100 15 L150 35 L150 70 C150 95 100 110 100 110 C100 110 50 95 50 70 L50 35 Z" fill="var(--color-warning-lighter)" stroke="var(--color-warning)" stroke-width="2" data-v-c733ebac></path><rect x="85" y="55" width="30" height="25" rx="4" fill="var(--color-warning)" data-v-c733ebac></rect><path d="M92 55 V48 A8 8 0 0 1 108 48 V55" fill="none" stroke="var(--color-warning)" stroke-width="3" data-v-c733ebac></path><circle cx="100" cy="67" r="6" fill="none" stroke="#fff" stroke-width="2" data-v-c733ebac></circle><line x1="96" y1="63" x2="104" y2="71" stroke="#fff" stroke-width="2" data-v-c733ebac></line></svg></div><h1 class="error-title" data-v-c733ebac>无访问权限</h1><p class="error-desc" data-v-c733ebac>抱歉,您没有权限访问此页面,请联系管理员获取权限</p>',4)),e.createElementVNode("div",Qs,[e.createVNode(e.unref(A.Button),{type:"primary",size:"large",onClick:g},{icon:e.withCtx(()=>[...h[1]||(h[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(()=>[h[2]||(h[2]=e.createTextVNode(" 返回首页 ",-1))]),_:1}),e.createVNode(e.unref(A.Button),{size:"large",onClick:h[0]||(h[0]=V=>e.unref(p).go(-1))},{icon:e.withCtx(()=>[...h[3]||(h[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(()=>[h[4]||(h[4]=e.createTextVNode(" 返回上一页 ",-1))]),_:1})]),h[6]||(h[6]=e.createElementVNode("div",{class:"error-tip"},[e.createElementVNode("p",null,"可能的原因:"),e.createElementVNode("ul",null,[e.createElementVNode("li",null,"您的账号权限不足"),e.createElementVNode("li",null,"该页面需要特定角色才能访问"),e.createElementVNode("li",null,"您的登录状态已过期")])],-1))])])]))}}),[["__scopeId","data-v-c733ebac"]]);function er(){const o=Se(),p=ke(),g=Te(),f=e.computed(()=>p.userName||""),h=e.computed(()=>p.userInfo),V=e.computed(()=>o.appName),_=e.computed(()=>g.isLoggedIn),u=e.computed(()=>o.isDark),w=e.computed(()=>o.theme),x=e.computed(()=>o.isCollapsed),y=e.computed(()=>o.layout);return{userName:f,userInfo:h,appName:V,isLoggedIn:_,isDark:u,theme:w,isCollapsed:x,layout:y,toggleTheme:()=>{o.toggleTheme()},toggleCollapse:()=>{o.toggleCollapse()}}}function tr(){const o=ke();return{isLoggedIn:e.computed(()=>o.isLoggedIn)}}function nr(o,p={}){const{rules:g,onSubmit:f}=p,h=e.ref(),V=e.reactive({...o}),_=e.ref(!1),u=e.ref(!1),w=e.ref(!1),x=()=>{$(),w.value=!1,u.value=!0},y=K=>{Object.assign(V,K),w.value=!0,u.value=!0},I=()=>{u.value=!1,$()},$=()=>{var K;Object.keys(o).forEach(T=>{V[T]=o[T]}),(K=h.value)==null||K.resetFields()};return{formRef:h,formData:V,rules:g,loading:_,visible:u,isEdit:w,openAdd:x,openEdit:y,close:I,resetForm:$,handleSubmit:async()=>{var K;try{await((K=h.value)==null?void 0:K.validate()),_.value=!0,await(f==null?void 0:f(V)),I()}catch(T){console.error(T)}finally{_.value=!1}}}}function or(o){const{fetchData:p,defaultPageSize:g=10}=o,f=e.ref(!1),h=e.ref([]),V=e.ref(0),_=e.ref(1),u=e.ref(g),w=e.reactive({}),x=async()=>{f.value=!0;try{const M={...w,page:_.value,pageSize:u.value},B=await p(M);h.value=B.list,V.value=B.total}catch(M){console.error(M)}finally{f.value=!1}},y=()=>{_.value=1,x()},I=()=>{Object.keys(w).forEach(M=>{w[M]=void 0}),_.value=1,x()},$=M=>{_.value=M,x()},z=M=>{u.value=M,_.value=1,x()},K=()=>{x()},T=e.computed(()=>({current:_.value,pageSize:u.value,total:V.value}));return{loading:f,data:h,total:V,currentPage:_,pageSize:u,searchParams:w,pagination:T,getData:x,handleSearch:y,handleReset:I,handlePageChange:$,handleSizeChange:z,refresh:K}}const We=Ae.defineStore("locale",()=>{const o=G.get("locale")||"zh-CN",p=Ye.createLocaleProvider(o),g=e.ref(o),f=Ye.getSupportedLocales(),{t:h,messages:V,setLocale:_,mergeMessages:u}=Ye.useLocale(),w=e.computed(()=>{const $=f.find(z=>z.code===g.value);return($==null?void 0:$.name)||g.value});return{locale:g,localeName:w,locales:f,messages:V,t:h,changeLocale:$=>{g.value=$,_($),G.set("locale",$),p.setLocale($)},addMessages:$=>{u($)},initLocale:()=>{_(o)},provider:p}}),lr=Object.freeze(Object.defineProperty({__proto__:null,useLocaleStore:We},Symbol.toStringTag,{value:"Module"}));function sr(){const o=We();return{locale:o.locale,localeName:o.localeName,locales:o.locales,t:o.t,messages:o.messages,setLocale:o.changeLocale,addMessages:o.addMessages}}function rr(){return We().t}function ar(o){const p=ke(),g=xe();return p.isLoggedIn?g.hasPermission(o):!1}function ir(o){return ke().isLoggedIn}function cr(){return!0}const dt=[{path:"/login",name:"Login",component:()=>Promise.resolve().then(()=>Hs),meta:{title:"登录",hidden:!0}}],mt={path:"/",name:"Layout",component:()=>Promise.resolve().then(()=>hs),redirect:"/dashboard",children:[{path:"/dashboard",name:"Dashboard",component:()=>Promise.resolve().then(()=>Kt),meta:{title:"仪表盘",icon:"dashboard",keepAlive:!0,affix:!0}},{path:"/system/user",name:"SystemUser",component:()=>Promise.resolve().then(()=>Wt),meta:{title:"用户管理",icon:"user",keepAlive:!0}},{path:"/system/role",name:"SystemRole",component:()=>Promise.resolve().then(()=>Xt),meta:{title:"角色管理",icon:"role",keepAlive:!0}},{path:"/system/menu",name:"SystemMenu",component:()=>Promise.resolve().then(()=>Yt),meta:{title:"菜单管理",icon:"menu",keepAlive:!0}},{path:"/:pathMatch(.*)*",name:"CatchAll",component:()=>Promise.resolve().then(()=>Rt),meta:{title:"404",hidden:!0}}]},dr=[{path:"/dashboard",name:"Dashboard",component:()=>Promise.resolve().then(()=>Kt),meta:{title:"仪表盘",icon:"dashboard",keepAlive:!0,affix:!0}},{path:"/system",name:"System",redirect:"/system/user",meta:{title:"系统管理",icon:"setting"},children:[{path:"user",name:"SystemUser",component:()=>Promise.resolve().then(()=>Wt),meta:{title:"用户管理",icon:"user",keepAlive:!0}},{path:"role",name:"SystemRole",component:()=>Promise.resolve().then(()=>Xt),meta:{title:"角色管理",icon:"role",keepAlive:!0}},{path:"menu",name:"SystemMenu",component:()=>Promise.resolve().then(()=>Yt),meta:{title:"菜单管理",icon:"menu",keepAlive:!0}}]}],qt=[{menuCode:"dashboard",menuName:"仪表盘",menuUrl:"/dashboard",icon:"dashboard",closable:!0,isDefault:!0,isOut:!1},{menuCode:"system",menuName:"系统管理",menuUrl:"/system",icon:"setting",closable:!1,isDefault:!1,isOut:!1,children:[{menuCode:"system_user",menuName:"用户管理",menuUrl:"/system/user",icon:"user",closable:!0,isDefault:!1,isOut:!1},{menuCode:"system_role",menuName:"角色管理",menuUrl:"/system/role",icon:"role",closable:!0,isDefault:!1,isOut:!1},{menuCode:"system_menu",menuName:"菜单管理",menuUrl:"/system/menu",icon:"menu",closable:!0,isDefault:!1,isOut:!1}]}],pt=ie.createRouter({history:ie.createWebHistory(),routes:[...dt,mt],scrollBehavior:()=>({left:0,top:0})}),mr=["/login"];pt.beforeEach(async(o,p,g)=>{const f=Se();if(f.initTheme(),at())if(o.path==="/login")g({path:"/"});else{const h=ke();h.isLoggedIn||(h.setUserInfo({appId:Ue(),userId:"1",userName:"管理员",departmentName:"技术部",email:"admin@example.com",mobilePhone:"13800138000",positionName:"管理员",avatar:""}),xe().setMenuList(qt)),o.name&&o.meta.keepAlive&&f.addCachedView(o.name),g()}else mr.includes(o.path)?g():g("/login")});function pr(){const o=ie.createRouter({history:ie.createWebHistory(),routes:[...dt,mt]});pt.matcher=o.matcher}function fr(o,p={}){const g=p.indexPath||"/dashboard",f=p.logoSrc||"/vite.svg",h={path:"/:pathMatch(.*)*",name:"CatchAll",component:()=>Promise.resolve().then(()=>Rt),meta:{title:"404"}};return{path:"/",name:"Layout",component:e.defineComponent({name:"LayoutWrapper",render(){return e.h(ct,{logoSrc:f})}}),redirect:g,children:[...o,h]}}function ur(o,p={}){return ie.createRouter({history:ie.createWebHistory(p.base),routes:o,scrollBehavior:()=>({left:0,top:0})})}function hr(o){return oe.get("/role/list",{params:o})}function gr(o){return oe.get(`/role/${o}`)}function _r(o){return oe.post("/role",o)}function Nr(o,p){return oe.put(`/role/${o}`,p)}function Er(o){return oe.delete(`/role/${o}`)}function Vr(o,p){return oe.patch(`/role/${o}/status`,{status:p})}function kr(){return oe.get("/user/v1.0/menu/list")}function jt(o){const p=o||Ue();return oe.get(`/user/v1.0/menu/get-menu?appId=${p}`)}function yr(o){return oe.post("/menu",o)}function wr(o,p){return oe.put(`/menu/${o}`,p)}function xr(o){return oe.delete(`/menu/${o}`)}const Cr=["/login","/404","/403"];function Br(o,p={}){const g=p.whiteList||Cr,f=p.loginPath||"/login",h=p.homePath||"/";o.beforeEach(async(V,_,u)=>{const w=Se(),x=ke(),y=xe();if(w.initTheme(),Pe())if(V.path===f)u({path:h});else if(x.isLoggedIn)V.name&&V.meta.keepAlive&&w.addCachedView(V.name),u();else try{if(p.fetchUserInfo){const $=await p.fetchUserInfo();x.setUserInfo($)}else{const $=await Ot();x.setUserInfo($)}if(p.fetchMenu){const $=await p.fetchMenu();y.setMenuList($)}else{const $=await jt(p.appId);y.setMenuList($)}p.onLoginSuccess&&p.onLoginSuccess(),V.name&&V.meta.keepAlive&&w.addCachedView(V.name),u({...V,replace:!0})}catch($){console.error("获取用户信息失败:",$),x.clearUserInfo(),y.clearMenu(),De(),u({path:f,query:{redirect:V.fullPath}})}else g.includes(V.path)?u():u({path:f,query:{redirect:V.fullPath}})}),o.afterEach(()=>{})}function Sr(o){return oe.get("/user/list",{params:o})}function br(o){return oe.get(`/user/${o}`)}function $r(o){return oe.post("/user",o)}function Ir(o,p){return oe.put(`/user/${o}`,p)}function Lr(o){return oe.delete(`/user/${o}`)}function Mr(o){return oe.post("/user/batch-delete",{ids:o})}function Dr(o,p){return oe.patch(`/user/${o}/status`,{status:p})}function Tr(o){return oe.post(`/user/${o}/reset-password`)}var X=(o=>(o[o.ENABLED=1]="ENABLED",o[o.DISABLED=0]="DISABLED",o))(X||{}),Ht=(o=>(o[o.UNKNOWN=0]="UNKNOWN",o[o.MALE=1]="MALE",o[o.FEMALE=2]="FEMALE",o))(Ht||{}),Ee=(o=>(o[o.DIRECTORY=0]="DIRECTORY",o[o.MENU=1]="MENU",o[o.BUTTON=2]="BUTTON",o))(Ee||{});const Ar={1:"启用",0:"禁用"},Ur={0:"未知",1:"男",2:"女"},zr={0:"目录",1:"菜单",2:"按钮"},ft=[{label:"启用",value:1},{label:"禁用",value:0}],Or=[{label:"未知",value:0},{label:"男",value:1},{label:"女",value:2}],Gt=[{label:"目录",value:0},{label:"菜单",value:1},{label:"按钮",value:2}],Fr={mounted(o,p){var _,u;const g=ke(),f=xe();if(!g.isLoggedIn){(_=o.parentNode)==null||_.removeChild(o);return}const h=p.value,V=Array.isArray(h)?h:[h];f.hasPermission(V)||(u=o.parentNode)==null||u.removeChild(o)}};function Pr(o){return gt({appId:o.appId,clientId:o.clientId,apiBaseUrl:o.apiBaseUrl}),o.locale&&Promise.resolve().then(()=>lr).then(({useLocaleStore:p})=>{p().changeLocale(o.locale)}),{config:{appName:o.appName||"XTO App",appId:Ue(),clientId:Je(),apiBaseUrl:_t(),indexPath:o.indexPath||"/dashboard",loginPath:o.loginPath||"/login",locale:o.locale||"zh-CN"}}}const Rr={class:"dashboard"},qr={class:"stats-section"},jr={class:"stat-content"},Hr={class:"stat-title"},Gr={key:0,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},Kr={key:1,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},Wr={class:"main-section"},Xr={class:"quick-section"},Yr={class:"quick-grid"},Jr={class:"quick-icon"},Zr={class:"quick-info"},Qr={class:"quick-title"},vr={class:"quick-desc"},ea={class:"activity-section"},ta={class:"activity-list"},na={class:"activity-content"},oa={class:"activity-main"},la={class:"activity-user"},sa={class:"activity-action"},ra={class:"activity-time"},aa={class:"system-section"},ia={class:"system-grid"},ca={class:"system-info-list"},da={class:"info-label"},ma={class:"info-value"},pa={class:"system-status"},fa={class:"status-item"},ua={class:"status-item"},ha={class:"status-item"},Kt=Object.freeze(Object.defineProperty({__proto__:null,default:ge(e.defineComponent({__name:"index",setup(o){const p=e.ref([{title:"用户总数",value:1234,icon:"👥",color:"#1677ff",trend:"+12.5%",trendUp:!0},{title:"今日访问",value:567,icon:"👀",color:"#52c41a",trend:"+8.2%",trendUp:!0},{title:"订单数量",value:890,icon:"📦",color:"#faad14",trend:"-3.1%",trendUp:!1},{title:"销售金额",value:123456,icon:"💰",color:"#ff4d4f",trend:"+15.8%",trendUp:!0}]),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:"钱"}]),f=e.ref([{title:"用户管理",path:"/system/user",icon:"👤",desc:"管理系统用户"},{title:"角色管理",path:"/system/role",icon:"👥",desc:"角色权限配置"},{title:"菜单管理",path:"/system/menu",icon:"📋",desc:"菜单路由管理"},{title:"系统设置",path:"/system",icon:"⚙️",desc:"系统参数配置"}]),h=e.ref([{label:"系统版本",value:"v1.0.0"},{label:"Vue 版本",value:"3.4.21"},{label:"构建工具",value:"Vite 5"},{label:"UI 组件库",value:"XTO UI"}]);return(V,_)=>{const u=e.resolveComponent("router-link");return e.openBlock(),e.createElementBlock("div",Rr,[e.createElementVNode("div",qr,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.value,w=>(e.openBlock(),e.createElementBlock("div",{key:w.title,class:"stat-card"},[e.createElementVNode("div",{class:"stat-icon",style:e.normalizeStyle({background:`linear-gradient(135deg, ${w.color}20 0%, ${w.color}10 100%)`})},[e.createElementVNode("span",null,e.toDisplayString(w.icon),1)],4),e.createElementVNode("div",jr,[e.createElementVNode("div",Hr,e.toDisplayString(w.title),1),e.createElementVNode("div",{class:"stat-value",style:e.normalizeStyle({color:w.color})},e.toDisplayString(w.value.toLocaleString()),5),e.createElementVNode("div",{class:e.normalizeClass(["stat-trend",{up:w.trendUp,down:!w.trendUp}])},[w.trendUp?(e.openBlock(),e.createElementBlock("svg",Gr,[..._[0]||(_[0]=[e.createElementVNode("path",{d:"M7 17l5-5 5 5M7 7l5 5 5-5"},null,-1)])])):(e.openBlock(),e.createElementBlock("svg",Kr,[..._[1]||(_[1]=[e.createElementVNode("path",{d:"M7 7l5 5 5-5M7 17l5-5 5 5"},null,-1)])])),e.createElementVNode("span",null,e.toDisplayString(w.trend),1)],2)]),e.createElementVNode("div",{class:"stat-decoration",style:e.normalizeStyle({background:`linear-gradient(135deg, ${w.color}08 0%, transparent 100%)`})},null,4)]))),128))]),e.createElementVNode("div",Wr,[e.createElementVNode("div",Xr,[_[3]||(_[3]=e.createElementVNode("div",{class:"section-header"},[e.createElementVNode("h3",null,"快捷入口"),e.createElementVNode("span",{class:"section-badge"},"4 个入口")],-1)),e.createElementVNode("div",Yr,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value,w=>(e.openBlock(),e.createBlock(u,{key:w.path,to:w.path,class:"quick-card"},{default:e.withCtx(()=>[e.createElementVNode("div",Jr,e.toDisplayString(w.icon),1),e.createElementVNode("div",Zr,[e.createElementVNode("div",Qr,e.toDisplayString(w.title),1),e.createElementVNode("div",vr,e.toDisplayString(w.desc),1)]),_[2]||(_[2]=e.createElementVNode("div",{class:"quick-arrow"},[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("path",{d:"M9 18l6-6-6-6"})])],-1))]),_:2},1032,["to"]))),128))])]),e.createElementVNode("div",ea,[_[4]||(_[4]=e.createElementVNode("div",{class:"section-header"},[e.createElementVNode("h3",null,"最近活动"),e.createElementVNode("a",{href:"#",class:"section-link"},"查看全部")],-1)),e.createElementVNode("div",ta,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.value,(w,x)=>(e.openBlock(),e.createElementBlock("div",{key:x,class:"activity-item"},[e.createElementVNode("div",{class:e.normalizeClass(["activity-avatar",w.type])},e.toDisplayString(w.avatar),3),e.createElementVNode("div",na,[e.createElementVNode("div",oa,[e.createElementVNode("span",la,e.toDisplayString(w.user),1),e.createElementVNode("span",sa,e.toDisplayString(w.action),1)]),e.createElementVNode("div",ra,e.toDisplayString(w.time),1)]),e.createElementVNode("div",{class:e.normalizeClass(["activity-dot",w.type])},null,2)]))),128))])])]),e.createElementVNode("div",aa,[_[8]||(_[8]=e.createElementVNode("div",{class:"section-header"},[e.createElementVNode("h3",null,"系统信息")],-1)),e.createElementVNode("div",ia,[e.createElementVNode("div",ca,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value,w=>(e.openBlock(),e.createElementBlock("div",{key:w.label,class:"info-item"},[e.createElementVNode("span",da,e.toDisplayString(w.label),1),e.createElementVNode("span",ma,e.toDisplayString(w.value),1)]))),128))]),e.createElementVNode("div",pa,[e.createElementVNode("div",fa,[_[5]||(_[5]=e.createElementVNode("div",{class:"status-header"},[e.createElementVNode("span",{class:"status-label"},"服务器状态"),e.createElementVNode("span",{class:"status-value"},"75%")],-1)),e.createVNode(e.unref(we.Progress),{percentage:75,status:"success"})]),e.createElementVNode("div",ua,[_[6]||(_[6]=e.createElementVNode("div",{class:"status-header"},[e.createElementVNode("span",{class:"status-label"},"内存使用"),e.createElementVNode("span",{class:"status-value"},"45%")],-1)),e.createVNode(e.unref(we.Progress),{percentage:45})]),e.createElementVNode("div",ha,[_[7]||(_[7]=e.createElementVNode("div",{class:"status-header"},[e.createElementVNode("span",{class:"status-label"},"CPU 使用率"),e.createElementVNode("span",{class:"status-value"},"32%")],-1)),e.createVNode(e.unref(we.Progress),{percentage:32})])])])])])}}}),[["__scopeId","data-v-fd54abc0"]])},Symbol.toStringTag,{value:"Module"})),ga={class:"user-page"},_a={class:"search-section"},Na={class:"table-section"},Ea={class:"table-toolbar"},Va={class:"toolbar-left"},ka={class:"toolbar-right"},ya={class:"table-count"},wa={class:"table-wrapper"},xa={class:"data-table"},Ca={key:0},Ba={key:1},Sa={class:"col-id"},ba={class:"id-badge"},$a={class:"col-user"},Ia={class:"user-info"},La={class:"user-avatar"},Ma={class:"user-detail"},Da={class:"user-nickname"},Ta={class:"user-username"},Aa={class:"col-contact"},Ua={class:"contact-info"},za={class:"contact-email"},Oa={class:"contact-phone"},Fa={class:"col-roles"},Pa={class:"role-tags"},Ra={class:"col-status"},qa={class:"status-switch"},ja={class:"col-time"},Ha={class:"time-text"},Ga={class:"col-actions"},Ka={class:"pagination-wrapper"},Wa={class:"status-field"},Xa={class:"status-label"},Wt=Object.freeze(Object.defineProperty({__proto__:null,default:ge(e.defineComponent({__name:"index",setup(o){const p=[{id:1,username:"admin",nickname:"管理员",email:"admin@example.com",phone:"13800138001",status:X.ENABLED,roles:["admin"],createTime:"2024-01-01 10:00:00"},{id:2,username:"zhangsan",nickname:"张三",email:"zhangsan@example.com",phone:"13800138002",status:X.ENABLED,roles:["editor"],createTime:"2024-01-02 10:00:00"},{id:3,username:"lisi",nickname:"李四",email:"lisi@example.com",phone:"13800138003",status:X.DISABLED,roles:["viewer"],createTime:"2024-01-03 10:00:00"},{id:4,username:"wangwu",nickname:"王五",email:"wangwu@example.com",phone:"13800138004",status:X.ENABLED,roles:["editor"],createTime:"2024-01-04 10:00:00"},{id:5,username:"zhaoliu",nickname:"赵六",email:"zhaoliu@example.com",phone:"13800138005",status:X.ENABLED,roles:["viewer"],createTime:"2024-01-05 10:00:00"}],g=e.ref(!1),f=e.ref([]),h=e.ref(0),V=e.ref(1),_=e.ref(10),u=e.reactive({keyword:"",status:void 0}),w=e.ref(!1),x=e.computed(()=>y.id?"编辑用户":"新增用户"),y=e.reactive({id:0,username:"",nickname:"",email:"",phone:"",status:X.ENABLED,roles:[]}),I={username:[{required:!0,message:"请输入用户名",trigger:"blur"}],nickname:[{required:!0,message:"请输入昵称",trigger:"blur"}],email:[{required:!0,message:"请输入邮箱",trigger:"blur"},{type:"email",message:"请输入正确的邮箱格式",trigger:"blur"}]},$=e.ref(),z=()=>{g.value=!0,setTimeout(()=>{let U=[...p];u.keyword&&(U=U.filter(d=>d.username.includes(u.keyword)||d.nickname.includes(u.keyword))),u.status!==void 0&&(U=U.filter(d=>d.status===u.status)),h.value=U.length,f.value=U.slice((V.value-1)*_.value,V.value*_.value),g.value=!1},300)},K=()=>{V.value=1,z()},T=()=>{u.keyword="",u.status=void 0,V.value=1,z()},M=()=>{Object.assign(y,{id:0,username:"",nickname:"",email:"",phone:"",status:X.ENABLED,roles:[]}),w.value=!0},B=U=>{Object.assign(y,U),w.value=!0},C=U=>{ne.Message.success("删除成功"),z()},P=async()=>{var U;try{await((U=$.value)==null?void 0:U.validate()),ne.Message.success(y.id?"编辑成功":"新增成功"),w.value=!1,z()}catch(d){console.error(d)}},Y=U=>{ne.Message.success(`已${U.status===X.ENABLED?"启用":"禁用"}用户 ${U.username}`)};return e.onMounted(()=>{z()}),(U,d)=>(e.openBlock(),e.createElementBlock("div",ga,[e.createElementVNode("div",_a,[e.createVNode(e.unref(O.Form),{model:u,inline:"",class:"search-form"},{default:e.withCtx(()=>[e.createVNode(e.unref(O.FormItem),{label:"关键词"},{default:e.withCtx(()=>[e.createVNode(e.unref(O.Input),{modelValue:u.keyword,"onUpdate:modelValue":d[0]||(d[0]=k=>u.keyword=k),placeholder:"用户名/昵称",clearable:"",onKeyup:e.withKeys(K,["enter"])},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(O.FormItem),{label:"状态"},{default:e.withCtx(()=>[e.createVNode(e.unref(O.Select),{modelValue:u.status,"onUpdate:modelValue":d[1]||(d[1]=k=>u.status=k),options:e.unref(ft),placeholder:"请选择",clearable:""},null,8,["modelValue","options"])]),_:1}),e.createVNode(e.unref(O.FormItem),null,{default:e.withCtx(()=>[e.createVNode(e.unref(A.Space),null,{default:e.withCtx(()=>[e.createVNode(e.unref(A.Button),{type:"primary",onClick:K},{icon:e.withCtx(()=>[...d[11]||(d[11]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("circle",{cx:"11",cy:"11",r:"8"}),e.createElementVNode("path",{d:"M21 21l-4.35-4.35"})],-1)])]),default:e.withCtx(()=>[d[12]||(d[12]=e.createTextVNode(" 搜索 ",-1))]),_:1}),e.createVNode(e.unref(A.Button),{onClick:T},{icon:e.withCtx(()=>[...d[13]||(d[13]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("path",{d:"M3 12a9 9 0 109-9 9.75 9.75 0 00-6.74 2.74L3 8"}),e.createElementVNode("path",{d:"M3 3v5h5"})],-1)])]),default:e.withCtx(()=>[d[14]||(d[14]=e.createTextVNode(" 重置 ",-1))]),_:1})]),_:1})]),_:1})]),_:1},8,["model"])]),e.createElementVNode("div",Na,[e.createElementVNode("div",Ea,[e.createElementVNode("div",Va,[e.createVNode(e.unref(A.Button),{type:"primary",onClick:M},{icon:e.withCtx(()=>[...d[15]||(d[15]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),e.createElementVNode("line",{x1:"5",y1:"12",x2:"19",y2:"12"})],-1)])]),default:e.withCtx(()=>[d[16]||(d[16]=e.createTextVNode(" 新增用户 ",-1))]),_:1})]),e.createElementVNode("div",ka,[e.createElementVNode("span",ya,"共 "+e.toDisplayString(h.value)+" 条数据",1)])]),e.createElementVNode("div",wa,[e.createElementVNode("table",xa,[d[23]||(d[23]=e.createElementVNode("thead",null,[e.createElementVNode("tr",null,[e.createElementVNode("th",{class:"col-id"},"ID"),e.createElementVNode("th",{class:"col-user"},"用户信息"),e.createElementVNode("th",{class:"col-contact"},"联系方式"),e.createElementVNode("th",{class:"col-roles"},"角色"),e.createElementVNode("th",{class:"col-status"},"状态"),e.createElementVNode("th",{class:"col-time"},"创建时间"),e.createElementVNode("th",{class:"col-actions"},"操作")])],-1)),e.createElementVNode("tbody",null,[g.value?(e.openBlock(),e.createElementBlock("tr",Ca,[...d[17]||(d[17]=[e.createElementVNode("td",{colspan:"7",class:"loading-cell"},[e.createElementVNode("div",{class:"loading-content"},[e.createElementVNode("div",{class:"loading-spinner"}),e.createElementVNode("span",null,"加载中...")])],-1)])])):f.value.length===0?(e.openBlock(),e.createElementBlock("tr",Ba,[...d[18]||(d[18]=[e.createElementVNode("td",{colspan:"7",class:"empty-cell"},[e.createElementVNode("div",{class:"empty-content"},[e.createElementVNode("svg",{viewBox:"0 0 64 41",fill:"none"},[e.createElementVNode("g",{transform:"translate(0 1)"},[e.createElementVNode("ellipse",{fill:"#f5f5f5",cx:"32",cy:"33",rx:"32",ry:"7"}),e.createElementVNode("g",{stroke:"var(--color-text-placeholder)","stroke-width":"2"},[e.createElementVNode("path",{d:"M55 12.76L44.854 1.258C44.367.474 43.656 0 42.907 0H21.093c-.749 0-1.46.474-1.947 1.257L9 12.761V22h46v-9.24z"}),e.createElementVNode("path",{d:"M41.613 15.931c0-1.605.994-2.93 2.227-2.931H55v18.137C55 33.26 53.68 35 52.05 35H11.95C10.32 35 9 33.259 9 31.137V13h11.16c1.233 0 2.227 1.323 2.227 2.928v.022c0 1.605 1.005 2.901 2.237 2.901h14.752c1.232 0 2.237-1.308 2.237-2.913v-.007z",fill:"var(--color-fill)"})])])]),e.createElementVNode("span",null,"暂无数据")])],-1)])])):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:2},e.renderList(f.value,k=>(e.openBlock(),e.createElementBlock("tr",{key:k.id,class:"data-row"},[e.createElementVNode("td",Sa,[e.createElementVNode("span",ba,e.toDisplayString(k.id),1)]),e.createElementVNode("td",$a,[e.createElementVNode("div",Ia,[e.createElementVNode("div",La,e.toDisplayString(k.nickname.charAt(0)),1),e.createElementVNode("div",Ma,[e.createElementVNode("span",Da,e.toDisplayString(k.nickname),1),e.createElementVNode("span",Ta,"@"+e.toDisplayString(k.username),1)])])]),e.createElementVNode("td",Aa,[e.createElementVNode("div",Ua,[e.createElementVNode("span",za,e.toDisplayString(k.email),1),e.createElementVNode("span",Oa,e.toDisplayString(k.phone),1)])]),e.createElementVNode("td",Fa,[e.createElementVNode("div",Pa,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k.roles,R=>(e.openBlock(),e.createBlock(e.unref(we.Tag),{key:R,size:"small",type:R==="admin"?"primary":"info"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(R),1)]),_:2},1032,["type"]))),128))])]),e.createElementVNode("td",Ra,[e.createElementVNode("div",qa,[e.createVNode(e.unref(O.Switch),{"model-value":k.status===e.unref(X).ENABLED,"onUpdate:modelValue":R=>{k.status=R?e.unref(X).ENABLED:e.unref(X).DISABLED,Y(k)}},null,8,["model-value","onUpdate:modelValue"]),e.createElementVNode("span",{class:e.normalizeClass(["status-text",{enabled:k.status===e.unref(X).ENABLED}])},e.toDisplayString(k.status===e.unref(X).ENABLED?"已启用":"已禁用"),3)])]),e.createElementVNode("td",ja,[e.createElementVNode("span",Ha,e.toDisplayString(k.createTime),1)]),e.createElementVNode("td",Ga,[e.createVNode(e.unref(A.Space),{class:"action-buttons"},{default:e.withCtx(()=>[e.createVNode(e.unref(A.Button),{type:"primary",link:"",size:"small",onClick:R=>B(k)},{icon:e.withCtx(()=>[...d[19]||(d[19]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("path",{d:"M11 4H4a2 2 0 00-2 2v14a2 2 0 002 2h14a2 2 0 002-2v-7"}),e.createElementVNode("path",{d:"M18.5 2.5a2.121 2.121 0 013 3L12 15l-4 1 1-4 9.5-9.5z"})],-1)])]),default:e.withCtx(()=>[d[20]||(d[20]=e.createTextVNode(" 编辑 ",-1))]),_:1},8,["onClick"]),e.createVNode(e.unref(ne.Popconfirm),{title:"确定删除该用户吗?",onConfirm:R=>C(k.id)},{default:e.withCtx(()=>[e.createVNode(e.unref(A.Button),{type:"danger",link:"",size:"small"},{icon:e.withCtx(()=>[...d[21]||(d[21]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("polyline",{points:"3,6 5,6 21,6"}),e.createElementVNode("path",{d:"M19 6v14a2 2 0 01-2 2H7a2 2 0 01-2-2V6m3 0V4a2 2 0 012-2h4a2 2 0 012 2v2"}),e.createElementVNode("line",{x1:"10",y1:"11",x2:"10",y2:"17"}),e.createElementVNode("line",{x1:"14",y1:"11",x2:"14",y2:"17"})],-1)])]),default:e.withCtx(()=>[d[22]||(d[22]=e.createTextVNode(" 删除 ",-1))]),_:1})]),_:1},8,["onConfirm"])]),_:2},1024)])]))),128))])])]),e.createElementVNode("div",Ka,[e.createVNode(e.unref(we.Pagination),{"current-page":V.value,"onUpdate:currentPage":d[2]||(d[2]=k=>V.value=k),"page-size":_.value,"onUpdate:pageSize":d[3]||(d[3]=k=>_.value=k),total:h.value,"page-sizes":[10,20,50,100],layout:"total, sizes, prev, pager, next",onCurrentChange:z,onSizeChange:z},null,8,["current-page","page-size","total"])])]),e.createVNode(e.unref(ne.Modal),{modelValue:w.value,"onUpdate:modelValue":d[10]||(d[10]=k=>w.value=k),title:x.value,width:"520px",class:"user-modal"},{footer:e.withCtx(()=>[e.createVNode(e.unref(A.Space),null,{default:e.withCtx(()=>[e.createVNode(e.unref(A.Button),{onClick:d[9]||(d[9]=k=>w.value=!1)},{default:e.withCtx(()=>[...d[24]||(d[24]=[e.createTextVNode("取消",-1)])]),_:1}),e.createVNode(e.unref(A.Button),{type:"primary",onClick:P},{default:e.withCtx(()=>[...d[25]||(d[25]=[e.createTextVNode("确定",-1)])]),_:1})]),_:1})]),default:e.withCtx(()=>[e.createVNode(e.unref(O.Form),{ref_key:"formRef",ref:$,model:y,rules:I,"label-width":"80px",class:"user-form"},{default:e.withCtx(()=>[e.createVNode(e.unref(O.FormItem),{label:"用户名",prop:"username"},{default:e.withCtx(()=>[e.createVNode(e.unref(O.Input),{modelValue:y.username,"onUpdate:modelValue":d[4]||(d[4]=k=>y.username=k),placeholder:"请输入用户名"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(O.FormItem),{label:"昵称",prop:"nickname"},{default:e.withCtx(()=>[e.createVNode(e.unref(O.Input),{modelValue:y.nickname,"onUpdate:modelValue":d[5]||(d[5]=k=>y.nickname=k),placeholder:"请输入昵称"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(O.FormItem),{label:"邮箱",prop:"email"},{default:e.withCtx(()=>[e.createVNode(e.unref(O.Input),{modelValue:y.email,"onUpdate:modelValue":d[6]||(d[6]=k=>y.email=k),placeholder:"请输入邮箱"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(O.FormItem),{label:"手机号",prop:"phone"},{default:e.withCtx(()=>[e.createVNode(e.unref(O.Input),{modelValue:y.phone,"onUpdate:modelValue":d[7]||(d[7]=k=>y.phone=k),placeholder:"请输入手机号"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(O.FormItem),{label:"状态"},{default:e.withCtx(()=>[e.createElementVNode("div",Wa,[e.createVNode(e.unref(O.Switch),{modelValue:y.status,"onUpdate:modelValue":d[8]||(d[8]=k=>y.status=k),"active-value":e.unref(X).ENABLED,"inactive-value":e.unref(X).DISABLED},null,8,["modelValue","active-value","inactive-value"]),e.createElementVNode("span",Xa,e.toDisplayString(y.status===e.unref(X).ENABLED?"启用":"禁用"),1)])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])]))}}),[["__scopeId","data-v-da50b35c"]])},Symbol.toStringTag,{value:"Module"})),Ya={class:"role-page"},Ja={class:"search-section"},Za={class:"table-section"},Qa={class:"table-toolbar"},va={class:"toolbar-left"},ei={class:"toolbar-right"},ti={class:"table-count"},ni={class:"table-wrapper"},oi={class:"data-table"},li={key:0},si={key:1},ri={class:"col-id"},ai={class:"id-badge"},ii={class:"col-name"},ci={class:"role-name"},di={class:"col-code"},mi={class:"col-desc"},pi={class:"desc-text"},fi={class:"col-status"},ui={class:"status-switch"},hi={class:"col-time"},gi={class:"time-text"},_i={class:"col-actions"},Ni={class:"pagination-wrapper"},Ei={class:"status-field"},Vi={class:"status-label"},Xt=Object.freeze(Object.defineProperty({__proto__:null,default:ge(e.defineComponent({__name:"index",setup(o){const p=[{id:1,name:"超级管理员",code:"admin",description:"拥有所有权限",status:X.ENABLED,permissions:["*"],createTime:"2024-01-01 10:00:00"},{id:2,name:"编辑",code:"editor",description:"内容编辑权限",status:X.ENABLED,permissions:["user:read","user:write"],createTime:"2024-01-02 10:00:00"},{id:3,name:"访客",code:"viewer",description:"只读权限",status:X.ENABLED,permissions:["user:read"],createTime:"2024-01-03 10:00:00"}],g=e.ref(!1),f=e.ref([]),h=e.ref(0),V=e.ref(1),_=e.ref(10),u=e.reactive({keyword:"",status:void 0}),w=e.ref(!1),x=e.computed(()=>y.id?"编辑角色":"新增角色"),y=e.reactive({id:0,name:"",code:"",description:"",status:X.ENABLED,permissions:[]}),I={name:[{required:!0,message:"请输入角色名称",trigger:"blur"}],code:[{required:!0,message:"请输入角色编码",trigger:"blur"}]},$=e.ref(),z=()=>{g.value=!0,setTimeout(()=>{let U=[...p];u.keyword&&(U=U.filter(d=>d.name.includes(u.keyword)||d.code.includes(u.keyword))),u.status!==void 0&&(U=U.filter(d=>d.status===u.status)),h.value=U.length,f.value=U.slice((V.value-1)*_.value,V.value*_.value),g.value=!1},300)},K=()=>{V.value=1,z()},T=()=>{u.keyword="",u.status=void 0,V.value=1,z()},M=()=>{Object.assign(y,{id:0,name:"",code:"",description:"",status:X.ENABLED,permissions:[]}),w.value=!0},B=U=>{Object.assign(y,U),w.value=!0},C=U=>{ne.Message.success("删除成功"),z()},P=async()=>{var U;try{await((U=$.value)==null?void 0:U.validate()),ne.Message.success(y.id?"编辑成功":"新增成功"),w.value=!1,z()}catch(d){console.error(d)}},Y=U=>{ne.Message.success(`已${U.status===X.ENABLED?"启用":"禁用"}角色 ${U.name}`)};return e.onMounted(()=>{z()}),(U,d)=>(e.openBlock(),e.createElementBlock("div",Ya,[e.createElementVNode("div",Ja,[e.createVNode(e.unref(O.Form),{model:u,inline:"",class:"search-form"},{default:e.withCtx(()=>[e.createVNode(e.unref(O.FormItem),{label:"关键词"},{default:e.withCtx(()=>[e.createVNode(e.unref(O.Input),{modelValue:u.keyword,"onUpdate:modelValue":d[0]||(d[0]=k=>u.keyword=k),placeholder:"角色名称/编码",clearable:"",onKeyup:e.withKeys(K,["enter"])},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(O.FormItem),{label:"状态"},{default:e.withCtx(()=>[e.createVNode(e.unref(O.Select),{modelValue:u.status,"onUpdate:modelValue":d[1]||(d[1]=k=>u.status=k),options:e.unref(ft),placeholder:"请选择",clearable:""},null,8,["modelValue","options"])]),_:1}),e.createVNode(e.unref(O.FormItem),null,{default:e.withCtx(()=>[e.createVNode(e.unref(A.Space),null,{default:e.withCtx(()=>[e.createVNode(e.unref(A.Button),{type:"primary",onClick:K},{icon:e.withCtx(()=>[...d[10]||(d[10]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("circle",{cx:"11",cy:"11",r:"8"}),e.createElementVNode("path",{d:"M21 21l-4.35-4.35"})],-1)])]),default:e.withCtx(()=>[d[11]||(d[11]=e.createTextVNode(" 搜索 ",-1))]),_:1}),e.createVNode(e.unref(A.Button),{onClick:T},{icon:e.withCtx(()=>[...d[12]||(d[12]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("path",{d:"M3 12a9 9 0 109-9 9.75 9.75 0 00-6.74 2.74L3 8"}),e.createElementVNode("path",{d:"M3 3v5h5"})],-1)])]),default:e.withCtx(()=>[d[13]||(d[13]=e.createTextVNode(" 重置 ",-1))]),_:1})]),_:1})]),_:1})]),_:1},8,["model"])]),e.createElementVNode("div",Za,[e.createElementVNode("div",Qa,[e.createElementVNode("div",va,[e.createVNode(e.unref(A.Button),{type:"primary",onClick:M},{icon:e.withCtx(()=>[...d[14]||(d[14]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),e.createElementVNode("line",{x1:"5",y1:"12",x2:"19",y2:"12"})],-1)])]),default:e.withCtx(()=>[d[15]||(d[15]=e.createTextVNode(" 新增角色 ",-1))]),_:1})]),e.createElementVNode("div",ei,[e.createElementVNode("span",ti,"共 "+e.toDisplayString(h.value)+" 条数据",1)])]),e.createElementVNode("div",ni,[e.createElementVNode("table",oi,[d[22]||(d[22]=e.createElementVNode("thead",null,[e.createElementVNode("tr",null,[e.createElementVNode("th",{class:"col-id"},"ID"),e.createElementVNode("th",{class:"col-name"},"角色名称"),e.createElementVNode("th",{class:"col-code"},"角色编码"),e.createElementVNode("th",{class:"col-desc"},"描述"),e.createElementVNode("th",{class:"col-status"},"状态"),e.createElementVNode("th",{class:"col-time"},"创建时间"),e.createElementVNode("th",{class:"col-actions"},"操作")])],-1)),e.createElementVNode("tbody",null,[g.value?(e.openBlock(),e.createElementBlock("tr",li,[...d[16]||(d[16]=[e.createElementVNode("td",{colspan:"7",class:"loading-cell"},[e.createElementVNode("div",{class:"loading-content"},[e.createElementVNode("div",{class:"loading-spinner"}),e.createElementVNode("span",null,"加载中...")])],-1)])])):f.value.length===0?(e.openBlock(),e.createElementBlock("tr",si,[...d[17]||(d[17]=[e.createElementVNode("td",{colspan:"7",class:"empty-cell"},[e.createElementVNode("div",{class:"empty-content"},[e.createElementVNode("svg",{viewBox:"0 0 64 41",fill:"none"},[e.createElementVNode("g",{transform:"translate(0 1)"},[e.createElementVNode("ellipse",{fill:"#f5f5f5",cx:"32",cy:"33",rx:"32",ry:"7"}),e.createElementVNode("g",{stroke:"var(--color-text-placeholder)","stroke-width":"2"},[e.createElementVNode("path",{d:"M55 12.76L44.854 1.258C44.367.474 43.656 0 42.907 0H21.093c-.749 0-1.46.474-1.947 1.257L9 12.761V22h46v-9.24z"}),e.createElementVNode("path",{d:"M41.613 15.931c0-1.605.994-2.93 2.227-2.931H55v18.137C55 33.26 53.68 35 52.05 35H11.95C10.32 35 9 33.259 9 31.137V13h11.16c1.233 0 2.227 1.323 2.227 2.928v.022c0 1.605 1.005 2.901 2.237 2.901h14.752c1.232 0 2.237-1.308 2.237-2.913v-.007z",fill:"var(--color-fill)"})])])]),e.createElementVNode("span",null,"暂无数据")])],-1)])])):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:2},e.renderList(f.value,k=>(e.openBlock(),e.createElementBlock("tr",{key:k.id,class:"data-row"},[e.createElementVNode("td",ri,[e.createElementVNode("span",ai,e.toDisplayString(k.id),1)]),e.createElementVNode("td",ii,[e.createElementVNode("span",ci,e.toDisplayString(k.name),1)]),e.createElementVNode("td",di,[e.createVNode(e.unref(we.Tag),{type:"primary",size:"small"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(k.code),1)]),_:2},1024)]),e.createElementVNode("td",mi,[e.createElementVNode("span",pi,e.toDisplayString(k.description),1)]),e.createElementVNode("td",fi,[e.createElementVNode("div",ui,[e.createVNode(e.unref(O.Switch),{"model-value":k.status===e.unref(X).ENABLED,"onUpdate:modelValue":R=>{k.status=R?e.unref(X).ENABLED:e.unref(X).DISABLED,Y(k)}},null,8,["model-value","onUpdate:modelValue"]),e.createElementVNode("span",{class:e.normalizeClass(["status-text",{enabled:k.status===e.unref(X).ENABLED}])},e.toDisplayString(k.status===e.unref(X).ENABLED?"已启用":"已禁用"),3)])]),e.createElementVNode("td",hi,[e.createElementVNode("span",gi,e.toDisplayString(k.createTime),1)]),e.createElementVNode("td",_i,[e.createVNode(e.unref(A.Space),{class:"action-buttons"},{default:e.withCtx(()=>[e.createVNode(e.unref(A.Button),{type:"primary",link:"",size:"small",onClick:R=>B(k)},{icon:e.withCtx(()=>[...d[18]||(d[18]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("path",{d:"M11 4H4a2 2 0 00-2 2v14a2 2 0 002 2h14a2 2 0 002-2v-7"}),e.createElementVNode("path",{d:"M18.5 2.5a2.121 2.121 0 013 3L12 15l-4 1 1-4 9.5-9.5z"})],-1)])]),default:e.withCtx(()=>[d[19]||(d[19]=e.createTextVNode(" 编辑 ",-1))]),_:1},8,["onClick"]),e.createVNode(e.unref(ne.Popconfirm),{title:"确定删除该角色吗?",onConfirm:R=>C(k.id)},{default:e.withCtx(()=>[e.createVNode(e.unref(A.Button),{type:"danger",link:"",size:"small"},{icon:e.withCtx(()=>[...d[20]||(d[20]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("polyline",{points:"3,6 5,6 21,6"}),e.createElementVNode("path",{d:"M19 6v14a2 2 0 01-2 2H7a2 2 0 01-2-2V6m3 0V4a2 2 0 012-2h4a2 2 0 012 2v2"}),e.createElementVNode("line",{x1:"10",y1:"11",x2:"10",y2:"17"}),e.createElementVNode("line",{x1:"14",y1:"11",x2:"14",y2:"17"})],-1)])]),default:e.withCtx(()=>[d[21]||(d[21]=e.createTextVNode(" 删除 ",-1))]),_:1})]),_:1},8,["onConfirm"])]),_:2},1024)])]))),128))])])]),e.createElementVNode("div",Ni,[e.createVNode(e.unref(we.Pagination),{"current-page":V.value,"onUpdate:currentPage":d[2]||(d[2]=k=>V.value=k),"page-size":_.value,"onUpdate:pageSize":d[3]||(d[3]=k=>_.value=k),total:h.value,"page-sizes":[10,20,50,100],layout:"total, sizes, prev, pager, next",onCurrentChange:z,onSizeChange:z},null,8,["current-page","page-size","total"])])]),e.createVNode(e.unref(ne.Modal),{modelValue:w.value,"onUpdate:modelValue":d[9]||(d[9]=k=>w.value=k),title:x.value,width:"520px",class:"role-modal"},{footer:e.withCtx(()=>[e.createVNode(e.unref(A.Space),null,{default:e.withCtx(()=>[e.createVNode(e.unref(A.Button),{onClick:d[8]||(d[8]=k=>w.value=!1)},{default:e.withCtx(()=>[...d[23]||(d[23]=[e.createTextVNode("取消",-1)])]),_:1}),e.createVNode(e.unref(A.Button),{type:"primary",onClick:P},{default:e.withCtx(()=>[...d[24]||(d[24]=[e.createTextVNode("确定",-1)])]),_:1})]),_:1})]),default:e.withCtx(()=>[e.createVNode(e.unref(O.Form),{ref_key:"formRef",ref:$,model:y,rules:I,"label-width":"80px",class:"role-form"},{default:e.withCtx(()=>[e.createVNode(e.unref(O.FormItem),{label:"角色名称",prop:"name"},{default:e.withCtx(()=>[e.createVNode(e.unref(O.Input),{modelValue:y.name,"onUpdate:modelValue":d[4]||(d[4]=k=>y.name=k),placeholder:"请输入角色名称"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(O.FormItem),{label:"角色编码",prop:"code"},{default:e.withCtx(()=>[e.createVNode(e.unref(O.Input),{modelValue:y.code,"onUpdate:modelValue":d[5]||(d[5]=k=>y.code=k),placeholder:"请输入角色编码"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(O.FormItem),{label:"描述"},{default:e.withCtx(()=>[e.createVNode(e.unref(O.Input),{modelValue:y.description,"onUpdate:modelValue":d[6]||(d[6]=k=>y.description=k),placeholder:"请输入描述"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(O.FormItem),{label:"状态"},{default:e.withCtx(()=>[e.createElementVNode("div",Ei,[e.createVNode(e.unref(O.Switch),{modelValue:y.status,"onUpdate:modelValue":d[7]||(d[7]=k=>y.status=k),"active-value":e.unref(X).ENABLED,"inactive-value":e.unref(X).DISABLED},null,8,["modelValue","active-value","inactive-value"]),e.createElementVNode("span",Vi,e.toDisplayString(y.status===e.unref(X).ENABLED?"启用":"禁用"),1)])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])]))}}),[["__scopeId","data-v-935244f1"]])},Symbol.toStringTag,{value:"Module"})),ki={class:"menu-page"},yi={class:"table-section"},wi={class:"table-toolbar"},xi={class:"toolbar-left"},Ci={class:"toolbar-right"},Bi={class:"table-count"},Si={class:"table-wrapper"},bi={class:"data-table"},$i={key:0},Ii={key:1},Li={class:"data-row tree-row--level-0"},Mi={class:"col-name"},Di={class:"menu-info"},Ti={class:"menu-icon-wrapper"},Ai=["onClick"],Ui={class:"col-icon"},zi={class:"icon-text"},Oi={class:"col-path"},Fi={class:"path-code"},Pi={class:"col-type"},Ri={class:"col-sort"},qi={class:"sort-badge"},ji={class:"col-status"},Hi={class:"col-actions"},Gi={class:"col-name"},Ki={class:"menu-info"},Wi={class:"menu-icon-wrapper"},Xi=["onClick"],Yi={class:"col-icon"},Ji={class:"icon-text"},Zi={class:"col-path"},Qi={class:"path-code"},vi={class:"col-type"},ec={class:"col-sort"},tc={class:"sort-badge"},nc={class:"col-status"},oc={class:"col-actions"},lc={class:"form-grid"},sc={class:"status-field"},rc={class:"status-label"},ac={class:"status-field"},ic={class:"status-label"},cc={class:"status-field"},dc={class:"status-label"},Yt=Object.freeze(Object.defineProperty({__proto__:null,default:ge(e.defineComponent({__name:"index",setup(o){const p=[{id:1,parentId:null,name:"Dashboard",path:"/dashboard",component:"dashboard/index",redirect:"",icon:"dashboard",title:"仪表盘",type:Ee.MENU,sort:1,status:X.ENABLED,hidden:!1,keepAlive:!0},{id:2,parentId:null,name:"System",path:"/system",component:"",redirect:"/system/user",icon:"setting",title:"系统管理",type:Ee.DIRECTORY,sort:2,status:X.ENABLED,hidden:!1,keepAlive:!1,children:[{id:21,parentId:2,name:"SystemUser",path:"/system/user",component:"system/user/index",redirect:"",icon:"user",title:"用户管理",type:Ee.MENU,sort:1,status:X.ENABLED,hidden:!1,keepAlive:!0},{id:22,parentId:2,name:"SystemRole",path:"/system/role",component:"system/role/index",redirect:"",icon:"role",title:"角色管理",type:Ee.MENU,sort:2,status:X.ENABLED,hidden:!1,keepAlive:!0},{id:23,parentId:2,name:"SystemMenu",path:"/system/menu",component:"system/menu/index",redirect:"",icon:"menu",title:"菜单管理",type:Ee.MENU,sort:3,status:X.ENABLED,hidden:!1,keepAlive:!0}]}],g=e.ref(!1),f=e.ref([]),h=e.ref(!1),V=e.computed(()=>_.id?"编辑菜单":"新增菜单"),_=e.reactive({id:0,parentId:null,name:"",path:"",component:"",redirect:"",icon:"",title:"",type:Ee.MENU,sort:0,status:X.ENABLED,hidden:!1,keepAlive:!0}),u={name:[{required:!0,message:"请输入菜单名称",trigger:"blur"}],path:[{required:!0,message:"请输入路由路径",trigger:"blur"}],title:[{required:!0,message:"请输入菜单标题",trigger:"blur"}]},w=e.ref(),x=()=>{g.value=!0,setTimeout(()=>{f.value=p,g.value=!1},300)},y=(M=null)=>{Object.assign(_,{id:0,parentId:M,name:"",path:"",component:"",redirect:"",icon:"",title:"",type:Ee.MENU,sort:0,status:X.ENABLED,hidden:!1,keepAlive:!0}),h.value=!0},I=M=>{Object.assign(_,M),h.value=!0},$=async()=>{var M;try{await((M=w.value)==null?void 0:M.validate()),ne.Message.success(_.id?"编辑成功":"新增成功"),h.value=!1,x()}catch(B){console.error(B)}},z=M=>({dashboard:"📊",system:"⚙️",user:"👤",role:"👥",menu:"📋",setting:"🔧"})[M||""]||"📄",K=M=>{switch(M){case Ee.DIRECTORY:return"primary";case Ee.MENU:return"success";default:return"warning"}},T=M=>{switch(M){case Ee.DIRECTORY:return"目录";case Ee.MENU:return"菜单";default:return"按钮"}};return e.onMounted(()=>{x()}),(M,B)=>(e.openBlock(),e.createElementBlock("div",ki,[e.createElementVNode("div",yi,[e.createElementVNode("div",wi,[e.createElementVNode("div",xi,[e.createVNode(e.unref(A.Button),{type:"primary",onClick:B[0]||(B[0]=C=>y())},{icon:e.withCtx(()=>[...B[14]||(B[14]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),e.createElementVNode("line",{x1:"5",y1:"12",x2:"19",y2:"12"})],-1)])]),default:e.withCtx(()=>[B[15]||(B[15]=e.createTextVNode(" 新增菜单 ",-1))]),_:1})]),e.createElementVNode("div",Ci,[e.createElementVNode("span",Bi,"共 "+e.toDisplayString(f.value.length)+" 个菜单",1)])]),e.createElementVNode("div",Si,[e.createElementVNode("table",bi,[B[26]||(B[26]=e.createElementVNode("thead",null,[e.createElementVNode("tr",null,[e.createElementVNode("th",{class:"col-name"},"菜单名称"),e.createElementVNode("th",{class:"col-icon"},"图标"),e.createElementVNode("th",{class:"col-path"},"路由路径"),e.createElementVNode("th",{class:"col-type"},"类型"),e.createElementVNode("th",{class:"col-sort"},"排序"),e.createElementVNode("th",{class:"col-status"},"状态"),e.createElementVNode("th",{class:"col-actions"},"操作")])],-1)),e.createElementVNode("tbody",null,[g.value?(e.openBlock(),e.createElementBlock("tr",$i,[...B[16]||(B[16]=[e.createElementVNode("td",{colspan:"7",class:"loading-cell"},[e.createElementVNode("div",{class:"loading-content"},[e.createElementVNode("div",{class:"loading-spinner"}),e.createElementVNode("span",null,"加载中...")])],-1)])])):f.value.length===0?(e.openBlock(),e.createElementBlock("tr",Ii,[...B[17]||(B[17]=[e.createElementVNode("td",{colspan:"7",class:"empty-cell"},[e.createElementVNode("div",{class:"empty-content"},[e.createElementVNode("svg",{viewBox:"0 0 64 41",fill:"none"},[e.createElementVNode("g",{transform:"translate(0 1)"},[e.createElementVNode("ellipse",{fill:"#f5f5f5",cx:"32",cy:"33",rx:"32",ry:"7"}),e.createElementVNode("g",{stroke:"var(--color-text-placeholder)","stroke-width":"2"},[e.createElementVNode("path",{d:"M55 12.76L44.854 1.258C44.367.474 43.656 0 42.907 0H21.093c-.749 0-1.46.474-1.947 1.257L9 12.761V22h46v-9.24z"}),e.createElementVNode("path",{d:"M41.613 15.931c0-1.605.994-2.93 2.227-2.931H55v18.137C55 33.26 53.68 35 52.05 35H11.95C10.32 35 9 33.259 9 31.137V13h11.16c1.233 0 2.227 1.323 2.227 2.928v.022c0 1.605 1.005 2.901 2.237 2.901h14.752c1.232 0 2.237-1.308 2.237-2.913v-.007z",fill:"var(--color-fill)"})])])]),e.createElementVNode("span",null,"暂无数据")])],-1)])])):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:2},e.renderList(f.value,C=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:C.id},[e.createElementVNode("tr",Li,[e.createElementVNode("td",Mi,[e.createElementVNode("div",Di,[e.createElementVNode("span",Ti,e.toDisplayString(z(C.icon)),1),e.createElementVNode("span",{class:"menu-title",onClick:P=>I(C)},e.toDisplayString(C.title),9,Ai)])]),e.createElementVNode("td",Ui,[e.createElementVNode("span",zi,e.toDisplayString(z(C.icon)),1)]),e.createElementVNode("td",Oi,[e.createElementVNode("code",Fi,e.toDisplayString(C.path),1)]),e.createElementVNode("td",Pi,[e.createVNode(e.unref(we.Tag),{type:K(C.type),size:"small"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(T(C.type)),1)]),_:2},1032,["type"])]),e.createElementVNode("td",Ri,[e.createElementVNode("span",qi,e.toDisplayString(C.sort),1)]),e.createElementVNode("td",ji,[e.createVNode(e.unref(we.Tag),{type:C.status===e.unref(X).ENABLED?"success":"danger",size:"small"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(C.status===e.unref(X).ENABLED?"启用":"禁用"),1)]),_:2},1032,["type"])]),e.createElementVNode("td",Hi,[e.createVNode(e.unref(A.Space),{class:"action-buttons"},{default:e.withCtx(()=>[e.createVNode(e.unref(A.Button),{type:"primary",link:"",size:"small",onClick:P=>y(C.id)},{icon:e.withCtx(()=>[...B[18]||(B[18]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),e.createElementVNode("line",{x1:"5",y1:"12",x2:"19",y2:"12"})],-1)])]),default:e.withCtx(()=>[B[19]||(B[19]=e.createTextVNode(" 新增 ",-1))]),_:1},8,["onClick"]),e.createVNode(e.unref(A.Button),{type:"primary",link:"",size:"small",onClick:P=>I(C)},{icon:e.withCtx(()=>[...B[20]||(B[20]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("path",{d:"M11 4H4a2 2 0 00-2 2v14a2 2 0 002 2h14a2 2 0 002-2v-7"}),e.createElementVNode("path",{d:"M18.5 2.5a2.121 2.121 0 013 3L12 15l-4 1 1-4 9.5-9.5z"})],-1)])]),default:e.withCtx(()=>[B[21]||(B[21]=e.createTextVNode(" 编辑 ",-1))]),_:1},8,["onClick"])]),_:2},1024)])]),C.children?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(C.children,P=>(e.openBlock(),e.createElementBlock("tr",{key:P.id,class:"data-row tree-row--level-1"},[e.createElementVNode("td",Gi,[e.createElementVNode("div",Ki,[B[22]||(B[22]=e.createElementVNode("span",{class:"tree-indent"},null,-1)),B[23]||(B[23]=e.createElementVNode("span",{class:"tree-line"},null,-1)),e.createElementVNode("span",Wi,e.toDisplayString(z(P.icon)),1),e.createElementVNode("span",{class:"menu-title",onClick:Y=>I(P)},e.toDisplayString(P.title),9,Xi)])]),e.createElementVNode("td",Yi,[e.createElementVNode("span",Ji,e.toDisplayString(z(P.icon)),1)]),e.createElementVNode("td",Zi,[e.createElementVNode("code",Qi,e.toDisplayString(P.path),1)]),e.createElementVNode("td",vi,[e.createVNode(e.unref(we.Tag),{type:K(P.type),size:"small"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(T(P.type)),1)]),_:2},1032,["type"])]),e.createElementVNode("td",ec,[e.createElementVNode("span",tc,e.toDisplayString(P.sort),1)]),e.createElementVNode("td",nc,[e.createVNode(e.unref(we.Tag),{type:P.status===e.unref(X).ENABLED?"success":"danger",size:"small"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(P.status===e.unref(X).ENABLED?"启用":"禁用"),1)]),_:2},1032,["type"])]),e.createElementVNode("td",oc,[e.createVNode(e.unref(A.Space),{class:"action-buttons"},{default:e.withCtx(()=>[e.createVNode(e.unref(A.Button),{type:"primary",link:"",size:"small",onClick:Y=>I(P)},{icon:e.withCtx(()=>[...B[24]||(B[24]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("path",{d:"M11 4H4a2 2 0 00-2 2v14a2 2 0 002 2h14a2 2 0 002-2v-7"}),e.createElementVNode("path",{d:"M18.5 2.5a2.121 2.121 0 013 3L12 15l-4 1 1-4 9.5-9.5z"})],-1)])]),default:e.withCtx(()=>[B[25]||(B[25]=e.createTextVNode(" 编辑 ",-1))]),_:1},8,["onClick"])]),_:2},1024)])]))),128)):e.createCommentVNode("",!0)],64))),128))])])])]),e.createVNode(e.unref(ne.Modal),{modelValue:h.value,"onUpdate:modelValue":B[13]||(B[13]=C=>h.value=C),title:V.value,width:"600px",class:"menu-modal"},{footer:e.withCtx(()=>[e.createVNode(e.unref(A.Space),null,{default:e.withCtx(()=>[e.createVNode(e.unref(A.Button),{onClick:B[12]||(B[12]=C=>h.value=!1)},{default:e.withCtx(()=>[...B[27]||(B[27]=[e.createTextVNode("取消",-1)])]),_:1}),e.createVNode(e.unref(A.Button),{type:"primary",onClick:$},{default:e.withCtx(()=>[...B[28]||(B[28]=[e.createTextVNode("确定",-1)])]),_:1})]),_:1})]),default:e.withCtx(()=>[e.createVNode(e.unref(O.Form),{ref_key:"formRef",ref:w,model:_,rules:u,"label-width":"80px",class:"menu-form"},{default:e.withCtx(()=>[e.createElementVNode("div",lc,[e.createVNode(e.unref(O.FormItem),{label:"上级菜单",class:"form-item-full"},{default:e.withCtx(()=>[e.createVNode(e.unref(O.Input),{modelValue:_.parentId,"onUpdate:modelValue":B[1]||(B[1]=C=>_.parentId=C),placeholder:"上级菜单ID",disabled:""},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(O.FormItem),{label:"菜单类型"},{default:e.withCtx(()=>[e.createVNode(e.unref(O.Select),{modelValue:_.type,"onUpdate:modelValue":B[2]||(B[2]=C=>_.type=C),options:e.unref(Gt)},null,8,["modelValue","options"])]),_:1}),e.createVNode(e.unref(O.FormItem),{label:"排序"},{default:e.withCtx(()=>[e.createVNode(e.unref(O.InputNumber),{modelValue:_.sort,"onUpdate:modelValue":B[3]||(B[3]=C=>_.sort=C),min:0},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(O.FormItem),{label:"菜单名称",prop:"name"},{default:e.withCtx(()=>[e.createVNode(e.unref(O.Input),{modelValue:_.name,"onUpdate:modelValue":B[4]||(B[4]=C=>_.name=C),placeholder:"请输入菜单名称(路由name)"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(O.FormItem),{label:"菜单标题",prop:"title"},{default:e.withCtx(()=>[e.createVNode(e.unref(O.Input),{modelValue:_.title,"onUpdate:modelValue":B[5]||(B[5]=C=>_.title=C),placeholder:"请输入菜单标题"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(O.FormItem),{label:"路由路径",prop:"path",class:"form-item-full"},{default:e.withCtx(()=>[e.createVNode(e.unref(O.Input),{modelValue:_.path,"onUpdate:modelValue":B[6]||(B[6]=C=>_.path=C),placeholder:"请输入路由路径"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(O.FormItem),{label:"组件路径",class:"form-item-full"},{default:e.withCtx(()=>[e.createVNode(e.unref(O.Input),{modelValue:_.component,"onUpdate:modelValue":B[7]||(B[7]=C=>_.component=C),placeholder:"请输入组件路径"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(O.FormItem),{label:"图标"},{default:e.withCtx(()=>[e.createVNode(e.unref(O.Input),{modelValue:_.icon,"onUpdate:modelValue":B[8]||(B[8]=C=>_.icon=C),placeholder:"请输入图标名称"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(O.FormItem),{label:"状态"},{default:e.withCtx(()=>[e.createElementVNode("div",sc,[e.createVNode(e.unref(O.Switch),{modelValue:_.status,"onUpdate:modelValue":B[9]||(B[9]=C=>_.status=C),"active-value":e.unref(X).ENABLED,"inactive-value":e.unref(X).DISABLED},null,8,["modelValue","active-value","inactive-value"]),e.createElementVNode("span",rc,e.toDisplayString(_.status===e.unref(X).ENABLED?"启用":"禁用"),1)])]),_:1}),e.createVNode(e.unref(O.FormItem),{label:"隐藏"},{default:e.withCtx(()=>[e.createElementVNode("div",ac,[e.createVNode(e.unref(O.Switch),{modelValue:_.hidden,"onUpdate:modelValue":B[10]||(B[10]=C=>_.hidden=C)},null,8,["modelValue"]),e.createElementVNode("span",ic,e.toDisplayString(_.hidden?"隐藏":"显示"),1)])]),_:1}),e.createVNode(e.unref(O.FormItem),{label:"缓存"},{default:e.withCtx(()=>[e.createElementVNode("div",cc,[e.createVNode(e.unref(O.Switch),{modelValue:_.keepAlive,"onUpdate:modelValue":B[11]||(B[11]=C=>_.keepAlive=C)},null,8,["modelValue"]),e.createElementVNode("span",dc,e.toDisplayString(_.keepAlive?"开启":"关闭"),1)])]),_:1})])]),_:1},8,["model"])]),_:1},8,["modelValue","title"])]))}}),[["__scopeId","data-v-fcdec27c"]])},Symbol.toStringTag,{value:"Module"}));S.Footer=ws,S.Forbidden=vs,S.Gender=Ht,S.GenderOptions=Or,S.GenderText=Ur,S.Header=It,S.Layout=ct,S.Login=Ft,S.MenuType=Ee,S.MenuTypeOptions=Gt,S.MenuTypeText=zr,S.NotFound=Pt,S.Sidebar=it,S.Status=X,S.StatusOptions=ft,S.StatusText=Ar,S.Tabs=Es,S.appConfig=Zt,S.batchDeleteUsers=Mr,S.clearToken=De,S.createLayoutRoute=fr,S.createMenu=yr,S.createRole=_r,S.createRouter=ur,S.createTranslator=rr,S.createUser=$r,S.createXtoApp=Pr,S.defaultDynamicRoutes=dr,S.deleteMenu=xr,S.deleteRole=Er,S.deleteUser=Lr,S.getApiBaseUrl=_t,S.getAppId=Ue,S.getClientId=Je,S.getCode=on,S.getMenuList=kr,S.getMenuTree=jt,S.getRefreshTime=nn,S.getRefreshToken=tn,S.getRoleDetail=gr,S.getRoleList=hr,S.getToken=Pe,S.getTokenExpire=xt,S.getTokenType=kt,S.getUserDetail=br,S.getUserInfo=Ot,S.getUserList=Sr,S.hasPermission=ar,S.hasRole=ir,S.hasToken=at,S.http=oe,S.initAppConfig=gt,S.isAdmin=cr,S.isTokenExpired=bt,S.layoutRoute=mt,S.local=G,S.localStorageUtil=Oe,S.login=zt,S.logout=Ts,S.mockMenuData=qt,S.permissionDirective=Fr,S.refreshToken=As,S.resetPassword=Tr,S.resetRouter=pr,S.router=pt,S.session=Qt,S.sessionStorageUtil=Fe,S.setApiBaseUrl=Ds,S.setCode=St,S.setRefreshTime=Bt,S.setRefreshToken=wt,S.setToken=Vt,S.setTokenExpire=Ct,S.setTokenInfo=rt,S.setTokenType=yt,S.setupRouterGuards=Br,S.staticRoutes=dt,S.updateMenu=wr,S.updateRole=Nr,S.updateRoleStatus=Vr,S.updateUser=Ir,S.updateUserStatus=Dr,S.useApp=er,S.useAppStore=Se,S.useAuth=tr,S.useAuthStore=Te,S.useForm=nr,S.useI18n=sr,S.useLocaleStore=We,S.useMenuStore=xe,S.useTable=or,S.useUserStore=ke,Object.defineProperty(S,Symbol.toStringTag,{value:"Module"})});
|