xto-fronted 0.4.67 → 0.4.69
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-2RwL0s53.js → index-BvMcnGze.js} +1 -1
- package/dist/{index-B3_VQZ-d.js → index-D0JXJmlJ.js} +1 -1
- package/dist/{index-B1VS4tRU.js → index-DZEVfuKk.js} +1 -1
- package/dist/{index-B05xso4D.js → index-Df8leAO9.js} +1 -1
- package/dist/{index-C69vu_ot.js → index-XgM0GMu2.js} +961 -945
- package/dist/index.es.js +1 -1
- package/dist/index.umd.js +1 -1
- package/dist/style.css +1 -1
- package/package.json +1 -1
- package/src/components/Layout/Sidebar.vue +40 -1
- package/dist/assets/404-ByYjFnhI.js +0 -1
- package/dist/assets/404-sqW80Hc-.css +0 -1
- package/dist/assets/_plugin-vue_export-helper-DlAUqK2U.js +0 -1
- package/dist/assets/index-BBhC8PX4.js +0 -1
- package/dist/assets/index-BOEFG4lP.css +0 -1
- package/dist/assets/index-BRR97dc6.js +0 -1
- package/dist/assets/index-BihVoviB.js +0 -1
- package/dist/assets/index-BrvR0Fn_.css +0 -1
- package/dist/assets/index-C4ZCZoPp.js +0 -1
- package/dist/assets/index-CUh_s55Z.css +0 -1
- package/dist/assets/index-D0OnMilp.js +0 -1
- package/dist/assets/index-D9wlAuR_.js +0 -1
- package/dist/assets/index-DPkO-STg.js +0 -1
- package/dist/assets/index-DawJb02s.css +0 -1
- package/dist/assets/index-DiHSZ6SJ.js +0 -2
- package/dist/assets/index-GDP-IkXE.css +0 -1
- package/dist/assets/index-PfV8pzQz.css +0 -1
- package/dist/assets/index-Swfu6yvD.css +0 -1
- package/dist/assets/vendor-42ANG6Sg.js +0 -6
- package/dist/assets/vite-Dw-pgLOX.js +0 -1
- package/dist/assets/vue-vendor-Br-l7wbK.js +0 -29
- package/dist/assets/xto-base-C-IBqjVs.js +0 -1
- package/dist/assets/xto-base-C6eqMPdO.css +0 -1
- package/dist/assets/xto-business--V1F5Gwb.css +0 -1
- package/dist/assets/xto-core-DZK7Cyg0.js +0 -1
- package/dist/assets/xto-data-BFpiDgJi.js +0 -1
- package/dist/assets/xto-data-CnAQAQH2.css +0 -1
- package/dist/assets/xto-feedback-B2M02fn3.js +0 -1
- package/dist/assets/xto-feedback-ByaS-C7_.css +0 -1
- package/dist/assets/xto-form-CrsyAjyr.css +0 -1
- package/dist/assets/xto-form-NRjKKNcY.js +0 -1
- package/dist/assets/xto-layout-D1stVnJI.css +0 -1
- package/dist/assets/xto-navigation-BuRQVoD8.css +0 -1
- package/dist/assets/xto-navigation-qLRTxo68.js +0 -1
- package/dist/index-0h_oG71z.js +0 -345
- package/dist/index-1EEezXR3.js +0 -142
- package/dist/index-1EkaJDoD.js +0 -142
- package/dist/index-1VN-SSaj.js +0 -2873
- package/dist/index-23nX2t9j.js +0 -142
- package/dist/index-2tvOdd6w.js +0 -372
- package/dist/index-3zeoNaqT.js +0 -345
- package/dist/index-8oCLh51t.js +0 -475
- package/dist/index-AF5JN8Up.js +0 -142
- package/dist/index-B02xiP9g.js +0 -372
- package/dist/index-B3kL6i_g.js +0 -345
- package/dist/index-B4Wny0vt.js +0 -345
- package/dist/index-B5RdBQ-f.js +0 -475
- package/dist/index-B5rbuoWS.js +0 -2835
- package/dist/index-BAFpPlnI.js +0 -475
- package/dist/index-BAJakzRz.js +0 -142
- package/dist/index-BAOHlfVd.js +0 -142
- package/dist/index-BAzJWzWG.js +0 -2852
- package/dist/index-BEIxh_R3.js +0 -2982
- package/dist/index-BEWrRNps.js +0 -475
- package/dist/index-BFtKVmzo.js +0 -142
- package/dist/index-BHPrW1wN.js +0 -142
- package/dist/index-BHQIqN1E.js +0 -372
- package/dist/index-BHZ_y8lp.js +0 -2067
- package/dist/index-BHvnTk5Z.js +0 -475
- package/dist/index-BIf7CYCW.js +0 -475
- package/dist/index-BK1Y1z9_.js +0 -142
- package/dist/index-BK8qDl14.js +0 -372
- package/dist/index-BKnta6nv.js +0 -372
- package/dist/index-BLIem13z.js +0 -345
- package/dist/index-BNBv_FCu.js +0 -142
- package/dist/index-BNwtCm83.js +0 -345
- package/dist/index-BOEMA7WH.js +0 -345
- package/dist/index-BOwDukt-.js +0 -2346
- package/dist/index-BR9WVjrV.js +0 -2851
- package/dist/index-BRMkw154.js +0 -475
- package/dist/index-BRQBannD.js +0 -345
- package/dist/index-BShKtLTm.js +0 -475
- package/dist/index-BVpqTdd2.js +0 -3132
- package/dist/index-BWGQANAN.js +0 -2851
- package/dist/index-BZKw7U60.js +0 -475
- package/dist/index-BadGWG4q.js +0 -475
- package/dist/index-BbeWpCd3.js +0 -345
- package/dist/index-BeUYNx5P.js +0 -475
- package/dist/index-BgiGtxRr.js +0 -142
- package/dist/index-BhKJLk9M.js +0 -2824
- package/dist/index-BijsKQ3r.js +0 -475
- package/dist/index-BjEfspqP.js +0 -475
- package/dist/index-BjEnT8WQ.js +0 -372
- package/dist/index-BpOcz1m4.js +0 -142
- package/dist/index-BrRdLbLB.js +0 -142
- package/dist/index-BsHOXfCq.js +0 -372
- package/dist/index-Bt5ocakb.js +0 -475
- package/dist/index-BtE24Mt4.js +0 -142
- package/dist/index-BvcBQjw6.js +0 -2836
- package/dist/index-C0krZRWf.js +0 -2859
- package/dist/index-C1cKUqmA.js +0 -372
- package/dist/index-C3ANmIDM.js +0 -475
- package/dist/index-C5JrEkwD.js +0 -345
- package/dist/index-C5m4qNMQ.js +0 -2851
- package/dist/index-C6Um6eFy.js +0 -475
- package/dist/index-C75ePQYC.js +0 -372
- package/dist/index-C7wKLGhC.js +0 -142
- package/dist/index-C8DBDnxx.js +0 -2836
- package/dist/index-CAnqlIjX.js +0 -475
- package/dist/index-CB36fztK.js +0 -345
- package/dist/index-CBKo6Enz.js +0 -345
- package/dist/index-CBcuyFIa.js +0 -2326
- package/dist/index-CCxIu4ex.js +0 -372
- package/dist/index-CD1ZEMzL.js +0 -2836
- package/dist/index-CDx-6tvY.js +0 -345
- package/dist/index-CGrvOpdb.js +0 -372
- package/dist/index-CHJWNf3f.js +0 -475
- package/dist/index-CIb06BxE.js +0 -372
- package/dist/index-CLiJcB9v.js +0 -142
- package/dist/index-CNS6Ohfw.js +0 -2853
- package/dist/index-COkjB5Jm.js +0 -142
- package/dist/index-CS5h1O5W.js +0 -345
- package/dist/index-CT0deRSL.js +0 -372
- package/dist/index-CTQQBaf4.js +0 -345
- package/dist/index-CUAC0ZFB.js +0 -475
- package/dist/index-CVMV9Tfg.js +0 -142
- package/dist/index-CWOx59Vc.js +0 -142
- package/dist/index-CWdSR99B.js +0 -372
- package/dist/index-CWvOcS8Y.js +0 -345
- package/dist/index-C_8yJlf1.js +0 -475
- package/dist/index-C_MzXmh2.js +0 -2830
- package/dist/index-Cb7HXiBR.js +0 -372
- package/dist/index-CbA8oUvZ.js +0 -142
- package/dist/index-CbEIzXG9.js +0 -475
- package/dist/index-Cb_m0zz1.js +0 -475
- package/dist/index-Cc6HgGzc.js +0 -142
- package/dist/index-CcWdW9Mj.js +0 -372
- package/dist/index-CdAqkP8L.js +0 -345
- package/dist/index-CeVUHSt9.js +0 -2847
- package/dist/index-CejRpy0a.js +0 -475
- package/dist/index-Cg5wO_jJ.js +0 -372
- package/dist/index-CgZM1vHq.js +0 -372
- package/dist/index-CgofFg1D.js +0 -372
- package/dist/index-ChheXGDK.js +0 -372
- package/dist/index-ChuFHoI0.js +0 -372
- package/dist/index-CiOJZ6_b.js +0 -372
- package/dist/index-ClCWmz_7.js +0 -2844
- package/dist/index-CmajGrKA.js +0 -142
- package/dist/index-Cn_4o3fi.js +0 -345
- package/dist/index-CoJBI1vE.js +0 -345
- package/dist/index-CqLLaQ-P.js +0 -372
- package/dist/index-CsRhLwmR.js +0 -475
- package/dist/index-CttJvDTG.js +0 -475
- package/dist/index-Cu3m9UeX.js +0 -345
- package/dist/index-CyQbOMHa.js +0 -2859
- package/dist/index-D-NcbLKL.js +0 -345
- package/dist/index-D0gstkiI.js +0 -2836
- package/dist/index-D0krzDtx.js +0 -475
- package/dist/index-D1moFd4V.js +0 -372
- package/dist/index-D2Hs4bZj.js +0 -345
- package/dist/index-D4QhrTZs.js +0 -475
- package/dist/index-D6CC02F-.js +0 -372
- package/dist/index-D6s7Za5s.js +0 -142
- package/dist/index-D7i5bck2.js +0 -3132
- package/dist/index-D8YBeNfn.js +0 -345
- package/dist/index-D93bv6lU.js +0 -372
- package/dist/index-DAX_bFj5.js +0 -142
- package/dist/index-DBii9cjr.js +0 -475
- package/dist/index-DBzpSkNi.js +0 -345
- package/dist/index-DCuKNBck.js +0 -3153
- package/dist/index-DE3uKf0K.js +0 -142
- package/dist/index-DGAqp0QX.js +0 -372
- package/dist/index-DGh_w_v1.js +0 -475
- package/dist/index-DItKvJyI.js +0 -475
- package/dist/index-DKAyB0fv.js +0 -345
- package/dist/index-DKN4xsXi.js +0 -2851
- package/dist/index-DN_iIn8V.js +0 -345
- package/dist/index-DONIBpuJ.js +0 -345
- package/dist/index-DPDK8Ht4.js +0 -2851
- package/dist/index-DPr3ldST.js +0 -2354
- package/dist/index-DS1wfdxM.js +0 -142
- package/dist/index-DUW5cCh8.js +0 -372
- package/dist/index-DUv28uVd.js +0 -142
- package/dist/index-DVS-5SZn.js +0 -475
- package/dist/index-DWI51JAp.js +0 -372
- package/dist/index-DWVmEexu.js +0 -475
- package/dist/index-DXf9wUqQ.js +0 -142
- package/dist/index-DXmB-sjP.js +0 -345
- package/dist/index-DY_e_Dxv.js +0 -372
- package/dist/index-DZar-us7.js +0 -142
- package/dist/index-D_nwqVrw.js +0 -2847
- package/dist/index-DbEeir7h.js +0 -2834
- package/dist/index-Dbf5ypbh.js +0 -142
- package/dist/index-DcSK-2pt.js +0 -345
- package/dist/index-DclK-Mc7.js +0 -2864
- package/dist/index-DcnzaxVi.js +0 -142
- package/dist/index-Dd8PlF0M.js +0 -2857
- package/dist/index-DdkVT39s.js +0 -345
- package/dist/index-DeLbU1t-.js +0 -345
- package/dist/index-DfV_J8Te.js +0 -345
- package/dist/index-DgPnNd8U.js +0 -475
- package/dist/index-Dg_JLa7s.js +0 -345
- package/dist/index-Di2VPQjn.js +0 -345
- package/dist/index-DibHUbqc.js +0 -372
- package/dist/index-DjCVSrpw.js +0 -475
- package/dist/index-Djdb936p.js +0 -142
- package/dist/index-DmFL_GSt.js +0 -142
- package/dist/index-DmP4X2k0.js +0 -372
- package/dist/index-DmtmRd1r.js +0 -372
- package/dist/index-Dn8MA3kh.js +0 -475
- package/dist/index-Do7uXDSi.js +0 -2071
- package/dist/index-Dpv1M9Hu.js +0 -372
- package/dist/index-DqUuZC8f.js +0 -372
- package/dist/index-DtEXQIjn.js +0 -372
- package/dist/index-Dtw-qZ0V.js +0 -372
- package/dist/index-Dv3hIz8H.js +0 -345
- package/dist/index-Dv9jnaWp.js +0 -345
- package/dist/index-Dw8KZwGJ.js +0 -2354
- package/dist/index-DwJILh-Q.js +0 -3149
- package/dist/index-DwzGV3B9.js +0 -142
- package/dist/index-DyybaRkK.js +0 -345
- package/dist/index-DzerABZq.js +0 -372
- package/dist/index-F53NVkhc.js +0 -142
- package/dist/index-Fl0_k4XF.js +0 -475
- package/dist/index-HMYRCPrs.js +0 -2326
- package/dist/index-I49wpmT-.js +0 -372
- package/dist/index-IPv1O8Zq.js +0 -345
- package/dist/index-JLqnaery.js +0 -372
- package/dist/index-JRCQ1CYj.js +0 -142
- package/dist/index-L86-iO8O.js +0 -345
- package/dist/index-Q56EoFor.js +0 -142
- package/dist/index-QxKMr6p0.js +0 -2829
- package/dist/index-THRvW9Xm.js +0 -2856
- package/dist/index-WIUmTlfL.js +0 -345
- package/dist/index-WRrsK0pR.js +0 -475
- package/dist/index-Wq652QGf.js +0 -2836
- package/dist/index-YnSLCdjP.js +0 -475
- package/dist/index-Ynf0lvBE.js +0 -142
- package/dist/index-_OtTmb9i.js +0 -142
- package/dist/index-_oqoy_3D.js +0 -142
- package/dist/index-cl4Y-BWw.js +0 -475
- package/dist/index-d_eHJkDW.js +0 -475
- package/dist/index-dnmEyUWB.js +0 -372
- package/dist/index-dz6CwD6A.js +0 -142
- package/dist/index-g4rkaRry.js +0 -475
- package/dist/index-g9bRMdAX.js +0 -142
- package/dist/index-h4z4-a2p.js +0 -2852
- package/dist/index-h7BhcQYM.js +0 -475
- package/dist/index-hI3qofTF.js +0 -345
- package/dist/index-iyQQumAA.js +0 -372
- package/dist/index-js_OhKON.js +0 -345
- package/dist/index-kgb4MdHr.js +0 -475
- package/dist/index-logKl0VM.js +0 -3144
- package/dist/index-lrFMrOlR.js +0 -3132
- package/dist/index-mEHxtQWj.js +0 -372
- package/dist/index-mNm1BV3n.js +0 -2857
- package/dist/index-oOzAFXfr.js +0 -142
- package/dist/index-s3vGq0ro.js +0 -345
- package/dist/index-wt7AbUqc.js +0 -2342
- package/dist/index.html +0 -28
package/dist/index.umd.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(c,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("pinia"),require("vue-router"),require("@xto/navigation"),require("@xto/base"),require("@xto/feedback"),require("@xto/form"),require("axios"),require("@xto/data")):typeof define=="function"&&define.amd?define(["exports","vue","pinia","vue-router","@xto/navigation","@xto/base","@xto/feedback","@xto/form","axios","@xto/data"],e):(c=typeof globalThis<"u"?globalThis:c||self,e(c.XtoFronted={},c.Vue,c.Pinia,c.VueRouter,c.navigation,c.base,c.feedback,c.form,c.axios,c.data))})(this,function(c,e,Ce,P,J,V,z,E,Vt,F){"use strict";const Be=e.ref(""),xe=e.ref(""),be=e.ref("");function We(t){t.appId&&(Be.value=t.appId),t.clientId&&(xe.value=t.clientId),t.apiBaseUrl&&(be.value=t.apiBaseUrl)}function ue(){if(Be.value)return Be.value;try{return""}catch{return""}}function $e(){if(xe.value)return xe.value;try{return""}catch{return""}}function Xe(){if(be.value)return be.value;try{return""}catch{return""}}const kt={appId:Be,clientId:xe,apiBaseUrl:be},fe="xto_",Ge=t=>({get(n){const l=t.getItem(fe+n);if(!l)return null;try{return JSON.parse(l)}catch{return l}},set(n,l){if(l==null){t.removeItem(fe+n);return}const s=typeof l=="string"?l:JSON.stringify(l);t.setItem(fe+n,s)},remove(n){t.removeItem(fe+n)},clear(){Object.keys(t).forEach(l=>{l.startsWith(fe)&&t.removeItem(l)})}}),he=Ge(window.localStorage),_e=Ge(window.sessionStorage),$={get:he.get,set:he.set,remove:he.remove,clear:he.clear},Et={get:_e.get,set:_e.set,remove:_e.remove,clear:_e.clear},ee=Ce.defineStore("app",()=>{const t=e.ref($.get("appName")||"XTO App"),n=e.ref($.get("indexPath")||"/dashboard"),l=e.ref($.get("isDark")||!1),s=e.ref($.get("theme")||"light"),a=e.ref($.get("layout")||"sidebar"),r=e.ref($.get("isCollapsed")||!1),p=e.ref($.get("showTabs")??!0),o=e.ref($.get("showFooter")??!0),h=e.ref($.get("showBreadcrumb")??!0),g=e.ref($.get("primaryColor")||"#409eff"),d=e.ref([]),y=e.ref([]),x=e.computed(()=>l.value?"dark":"light"),T=U=>{t.value=U,$.set("appName",U)},I=U=>{n.value=U,$.set("indexPath",U)},N=()=>{l.value=!l.value,s.value=l.value?"dark":"light",S()},f=U=>{s.value=U,l.value=U==="dark",S()},S=()=>{const U=document.documentElement;l.value?U.classList.add("dark"):U.classList.remove("dark"),$.set("isDark",l.value),$.set("theme",s.value)},R=()=>{r.value=!r.value,$.set("isCollapsed",r.value)},q=U=>{a.value=U,$.set("layout",U)},M=()=>{p.value=!p.value,$.set("showTabs",p.value)},_=()=>{o.value=!o.value,$.set("showFooter",o.value)},m=()=>{h.value=!h.value,$.set("showBreadcrumb",h.value)},w=U=>{g.value=U,document.documentElement.style.setProperty("--color-primary",U),$.set("primaryColor",U)},O=U=>{d.value.includes(U)||d.value.push(U)},Q=U=>{const G=d.value.indexOf(U);G>-1&&d.value.splice(G,1)},Z=()=>{d.value=[]},le=U=>{y.value=U},te=()=>{S(),g.value!=="#409eff"&&document.documentElement.style.setProperty("--color-primary",g.value)};return e.watch(l,S),{appName:t,indexPath:n,isDark:l,theme:s,layout:a,isCollapsed:r,showTabs:p,showFooter:o,showBreadcrumb:h,primaryColor:g,cachedViews:d,mixSubMenus:y,themeClass:x,setAppName:T,setIndexPath:I,toggleTheme:N,toggleCollapse:R,setTheme:f,setLayout:q,toggleTabs:M,toggleFooter:_,toggleBreadcrumb:m,setPrimaryColor:w,addCachedView:O,removeCachedView:Q,clearCachedViews:Z,setMixSubMenus:le,initTheme:te}}),Ie="menu_list",yt={menuCode:"home",menuName:"首页",menuUrl:"/dashboard",icon:"home",closable:!1,isDefault:!1,isOut:!1},oe=Ce.defineStore("menu",()=>{const t=e.ref($.get(Ie)||[]),n=e.computed(()=>t.value.length>0);return{menuList:t,hasMenu:n,setMenuList:a=>{t.value=[yt,...a],$.set(Ie,t.value)},clearMenu:()=>{t.value=[],$.remove(Ie)}}}),Se="/vite.svg",De="user_info",X=Ce.defineStore("user",()=>{const t=e.ref($.get(De)),n=e.computed(()=>!!t.value),l=e.computed(()=>{var y;return((y=t.value)==null?void 0:y.userId)||""}),s=e.computed(()=>{var y;return((y=t.value)==null?void 0:y.userName)||""}),a=e.computed(()=>{var y;return((y=t.value)==null?void 0:y.departmentName)||""}),r=e.computed(()=>{var y;return((y=t.value)==null?void 0:y.email)||""}),p=e.computed(()=>{var y;return((y=t.value)==null?void 0:y.mobilePhone)||""}),o=e.computed(()=>{var y;return((y=t.value)==null?void 0:y.positionName)||""}),h=e.computed(()=>{var y;return((y=t.value)==null?void 0:y.avatar)||""});return{userInfo:t,isLoggedIn:n,userId:l,userName:s,departmentName:a,email:r,mobilePhone:p,positionName:o,avatar:h,setUserInfo:y=>{t.value=y,$.set(De,y)},clearUserInfo:()=>{t.value=null,$.remove(De)}}}),Te="token",Le="token_type",Me="refresh_token",Ue="expires_time",ze="refresh_time",Ae="code",ge=()=>$.get(Te),He=t=>{$.set(Te,t)},Je=()=>$.get(Le),Qe=t=>{$.set(Le,t)},wt=()=>$.get(Me),Ze=t=>{$.set(Me,t)},ve=()=>$.get(Ue),et=t=>{$.set(Ue,t)},Ct=()=>$.get(ze),tt=t=>{$.set(ze,t)},Bt=()=>$.get(Ae),nt=t=>{$.set(Ae,t)},Fe=t=>{He(t.access_token),Qe(t.token_type||"Bearer"),Ze(t.refresh_token),et(t.expires_time),tt(t.refresh_time),t.code&&nt(t.code)},ie=()=>{$.remove(Te),$.remove(Le),$.remove(Me),$.remove(Ue),$.remove(ze),$.remove(Ae)},ot=()=>{const t=ve();return t?Date.now()>t:!0},Re=()=>!!ge()&&!ot(),ce=Ce.defineStore("auth",()=>{const t=e.ref(ge()),n=e.computed(()=>Re()),l=e.ref(""),s=e.ref(""),a=e.ref(""),r=e.ref("/login");return{token:t,isLoggedIn:n,baseUrl:l,appId:s,clientId:a,loginPath:r,login:x=>{t.value=x.access_token,Fe(x)},logout:()=>{t.value=null,ie()},setBaseUrl:x=>{l.value=x},setAppId:x=>{s.value=x},setClientId:x=>{a.value=x},setLoginPath:x=>{r.value=x}}}),xt={class:"menu-item__content"},bt={class:"menu-item__icon"},St={key:1,class:"menu-item__char"},$t={class:"menu-item__text"},It={class:"menu-item__content"},Dt={key:0,class:"menu-item__icon"},Tt={key:1,class:"menu-item__char"},Lt={class:"menu-item__text"},Mt=e.defineComponent({__name:"SidebarMenuItem",props:{menu:{}},setup(t){const n=t,l=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"]),s=o=>{if(!o||o==="")return"";if(o.startsWith("tineco-icon-")){const g=o.replace("tineco-icon-","");return{home:"home",dashboard:"dashboard",system:"system",user:"user",role:"role",menu:"list",setting:"setting",file:"file",folder:"folder",chart:"chart",report:"report",analytics:"analytics"}[g]||g}return{dashboard:"dashboard",system:"system",user:"user",role:"role",menu:"list",setting:"setting",home:"home",chart:"chart",report:"report",analytics:"analytics",permission:"permission",log:"log",notification:"notification",app:"app",list:"list",grid:"grid"}[o]||o},a=o=>o?o.charAt(0):"",r=o=>l.has(o),p=e.computed(()=>n.menu.children&&n.menu.children.length>0);return(o,h)=>{const g=e.resolveComponent("SidebarMenuItem",!0);return p.value?(e.openBlock(),e.createBlock(e.unref(J.SubMenu),{key:0,index:t.menu.menuUrl},{title:e.withCtx(()=>[e.createElementVNode("span",xt,[e.createElementVNode("span",bt,[r(s(t.menu.icon))?(e.openBlock(),e.createBlock(e.unref(V.Icon),{key:0,name:s(t.menu.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",St,e.toDisplayString(a(t.menu.menuName)),1))]),e.createElementVNode("span",$t,e.toDisplayString(t.menu.menuName),1)])]),default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.menu.children,d=>(e.openBlock(),e.createBlock(g,{key:d.menuUrl,menu:d},null,8,["menu"]))),128))]),_:1},8,["index"])):(e.openBlock(),e.createBlock(e.unref(J.MenuItem),{key:1,index:t.menu.menuUrl},{default:e.withCtx(()=>[e.createElementVNode("span",It,[t.menu.menuName!=="首页"?(e.openBlock(),e.createElementBlock("span",Dt,[r(s(t.menu.icon))?(e.openBlock(),e.createBlock(e.unref(V.Icon),{key:0,name:s(t.menu.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",Tt,e.toDisplayString(a(t.menu.menuName)),1))])):e.createCommentVNode("",!0),e.createElementVNode("span",Lt,e.toDisplayString(t.menu.menuName),1)])]),_:1},8,["index"]))}}}),K=(t,n)=>{const l=t.__vccOpts||t;for(const[s,a]of n)l[s]=a;return l},Ut=K(Mt,[["__scopeId","data-v-d160ae6a"]]),zt={key:0,class:"sidebar__logo"},At={key:1,class:"sidebar__user"},Ft={class:"sidebar__user-info"},Rt={class:"sidebar__user-name"},Pt={class:"sidebar__user-role"},Pe=K(e.defineComponent({__name:"Sidebar",props:{menuList:{default:()=>[]},showLogo:{type:Boolean,default:!0},showUser:{type:Boolean,default:!0}},setup(t){const n=t,l=P.useRoute(),s=P.useRouter(),a=oe(),r=X(),p=ce(),o=ee(),h=e.computed(()=>n.menuList.length>0?n.menuList:a.menuList),g=e.computed(()=>o.isCollapsed),d=e.computed(()=>l.path),y=e.computed(()=>o.isDark?"#1d1e1f":"#fff"),x=e.computed(()=>o.isDark?"#cfd3dc":"#303133"),T=e.computed(()=>"#409eff"),I=f=>{f&&f!==l.path&&s.push(f)},N=()=>{p.logout(),r.clearUserInfo(),a.clearMenu(),s.push("/login")};return(f,S)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["sidebar",{"sidebar--collapsed":g.value}])},[n.showLogo?(e.openBlock(),e.createElementBlock("div",zt,[S[0]||(S[0]=e.createElementVNode("img",{src:Se,alt:"Logo",class:"sidebar__logo-img"},null,-1)),e.withDirectives(e.createElementVNode("span",{class:"sidebar__logo-text"},e.toDisplayString(e.unref(o).appName),513),[[e.vShow,!g.value]])])):e.createCommentVNode("",!0),e.createVNode(e.unref(J.Menu),{"model-value":d.value,mode:"vertical",collapse:g.value,"collapse-transition":!1,"background-color":y.value,"text-color":x.value,"active-text-color":T.value,class:"sidebar__menu",onSelect:I},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value,R=>(e.openBlock(),e.createBlock(Ut,{key:R.menuUrl,menu:R},null,8,["menu"]))),128))]),_:1},8,["model-value","collapse","background-color","text-color","active-text-color"]),n.showUser&&!g.value?(e.openBlock(),e.createElementBlock("div",At,[e.createElementVNode("div",Ft,[e.createElementVNode("span",Rt,e.toDisplayString(e.unref(r).userName),1),e.createElementVNode("span",Pt,e.toDisplayString(e.unref(r).departmentName),1)]),e.createVNode(e.unref(V.Button),{type:"text",size:"small",onClick:N},{default:e.withCtx(()=>[...S[1]||(S[1]=[e.createTextVNode("退出",-1)])]),_:1})])):e.createCommentVNode("",!0)],2))}}),[["__scopeId","data-v-9d00a6d4"]]),Ot={class:"header"},qt={class:"header__left"},jt={key:0,class:"header__breadcrumb"},Kt={key:0,class:"breadcrumb-separator"},Yt={class:"header__right"},Wt={key:0,class:"header__search-dropdown"},Xt={key:0,class:"header__search-results"},Gt=["onClick"],Ht={key:0,class:"header__search-icon"},Jt={key:1,class:"header__search-char"},Qt={class:"header__search-item-title"},Zt={key:1,class:"header__search-item-parent"},vt={key:1,class:"header__search-empty"},en=["title"],tn={class:"header__avatar"},nn={class:"header__user-name"},on={key:0,class:"header__dropdown"},ln={class:"header__dropdown-header"},an={class:"header__dropdown-avatar"},sn={class:"header__dropdown-info"},rn={class:"header__dropdown-name"},cn={class:"header__dropdown-role"},dn={class:"header__dropdown-menu"},mn={class:"settings-drawer"},pn={class:"settings-section"},un={class:"settings-layout-options"},fn=["onClick"],hn={class:"layout-option__preview"},_n={key:0,class:"layout-preview-sidebar"},gn={key:1,class:"layout-preview-top"},Nn={key:2,class:"layout-preview-mix"},Vn={class:"layout-option__label"},kn={class:"settings-section"},En={class:"settings-color-options"},yn=["title","onClick"],wn={class:"settings-section"},Cn={class:"settings-switch-list"},Bn={class:"settings-switch-item"},xn={class:"settings-switch-item"},lt=K(e.defineComponent({__name:"Header",setup(t){const n=P.useRoute(),l=P.useRouter(),s=ee(),a=X(),r=ce(),p=oe(),o=e.ref(!1),h=e.ref(!1),g=e.ref(null),d=e.ref(!1),y=e.ref(!1),x=e.ref(""),T=e.ref(null),I=e.ref(!1),N=[{value:"sidebar",label:"左侧菜单",icon:"sidebar-left"},{value:"top",label:"顶部菜单",icon:"menu"},{value:"mix",label:"混合菜单",icon:"grid"}],f=[{value:"#409eff",label:"默认蓝"},{value:"#1890ff",label:"科技蓝"},{value:"#52c41a",label:"极光绿"},{value:"#faad14",label:"日落橙"},{value:"#f5222d",label:"薄暮红"},{value:"#722ed1",label:"酱紫"}],S=e.computed(()=>n.matched.filter(C=>C.meta&&C.meta.title).map(C=>({title:C.meta.title,path:C.path}))),R=(L,C="")=>{const Y=[];return L.forEach(u=>{u.children&&u.children.length>0?Y.push(...R(u.children,u.menuName)):Y.push({...u,parentTitle:C,title:u.menuName,path:u.menuUrl})}),Y},q=new Set(["arrow-up","arrow-down","arrow-left","arrow-right","caret-down","caret-right","plus","minus","close","check","edit","delete","copy","download","upload","refresh","search","filter","more","setting","share","loading","info","success","warning","error","question","user","user-add","user-group","logout","login","file","folder","folder-open","document","image","video","music","camera","mail","phone","chat","bell","message","eye","eye-off","calendar","clock","history","timer","location","map","globe","star","heart","thumb-up","link","external-link","lock","unlock","key","home","menu","menu-fold","menu-unfold","sidebar-fold","sidebar-expand","sidebar-left","dashboard","chart","chart-pie","chart-line","report","analytics","system","permission","role","user-manage","log","notification","app","list","grid","fullscreen","fullscreen-exit","zoom-in","zoom-out","print","bookmark","tag","code","terminal","database","server","cloud","gift","moon","sun","theme","skin"]),M=L=>{if(!L||L==="")return"";if(L.startsWith("tineco-icon-")){const Y=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"}[Y]||Y}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},_=L=>L?L.charAt(0):"",m=L=>q.has(L),w=e.computed(()=>x.value.trim()?R(p.menuList).filter(C=>C.title.toLowerCase().includes(x.value.toLowerCase())):[]),O=e.computed(()=>s.layout),Q=()=>{s.toggleCollapse()},Z=()=>{s.toggleTheme()},le=()=>{h.value=!0},te=L=>{s.setLayout(L),h.value=!1},U=L=>{I.value=L;const C=document.documentElement;L?C.classList.add("grey-mode"):C.classList.remove("grey-mode")},G=()=>{U(!I.value),h.value=!1},ae=()=>{s.toggleTheme(),h.value=!1},Ne=()=>{document.fullscreenElement?document.exitFullscreen():document.documentElement.requestFullscreen()},v=()=>{d.value=!!document.fullscreenElement},se=()=>{o.value=!o.value},ne=()=>{o.value=!1},re=()=>{y.value=!1,x.value=""},Ve=L=>{l.push(L),re()},ke=L=>{s.setPrimaryColor(L),h.value=!1},Ee=()=>{ne(),l.push("/profile")},ye=()=>{ne(),l.push("/change-password")},we=()=>{ne(),r.logout(),a.clearUserInfo(),p.clearMenu(),l.push("/login")},me=L=>{g.value&&!g.value.contains(L.target)&&ne(),T.value&&!T.value.contains(L.target)&&re()},pe=L=>{L.key==="Escape"&&(re(),ne())};return e.onMounted(()=>{document.addEventListener("click",me),document.addEventListener("fullscreenchange",v),document.addEventListener("keydown",pe),s.initTheme(),I.value=document.documentElement.classList.contains("grey-mode")}),e.onUnmounted(()=>{document.removeEventListener("click",me),document.removeEventListener("fullscreenchange",v),document.removeEventListener("keydown",pe)}),(L,C)=>{var Y;return e.openBlock(),e.createElementBlock("div",Ot,[e.createElementVNode("div",qt,[e.createElementVNode("div",{class:"header__collapse",onClick:Q},[e.createVNode(e.unref(V.Icon),{name:e.unref(s).isCollapsed?"menu-unfold":"menu-fold",size:18},null,8,["name"])]),e.unref(s).showBreadcrumb?(e.openBlock(),e.createElementBlock("div",jt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(S.value,(u,B)=>(e.openBlock(),e.createElementBlock("span",{key:u.path},[B>0?(e.openBlock(),e.createElementBlock("span",Kt,"/")):e.createCommentVNode("",!0),e.createElementVNode("span",{class:e.normalizeClass({"is-current":B===S.value.length-1})},e.toDisplayString(u.title),3)]))),128))])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Yt,[e.createElementVNode("div",{class:"header__search",ref_key:"searchRef",ref:T},[e.createVNode(e.unref(V.Icon),{name:"search",size:14,class:"header__search-icon"}),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":C[0]||(C[0]=u=>x.value=u),type:"text",class:"header__search-input",placeholder:"搜索菜单...",onFocus:C[1]||(C[1]=u=>y.value=!0)},null,544),[[e.vModelText,x.value]]),e.createVNode(e.Transition,{name:"search-dropdown"},{default:e.withCtx(()=>[y.value&&(w.value.length>0||x.value)?(e.openBlock(),e.createElementBlock("div",Wt,[w.value.length>0?(e.openBlock(),e.createElementBlock("div",Xt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(w.value,u=>(e.openBlock(),e.createElementBlock("div",{key:u.path,class:"header__search-item",onClick:B=>Ve(u.path)},[u.title!=="首页"?(e.openBlock(),e.createElementBlock("span",Ht,[m(M(u.icon))?(e.openBlock(),e.createBlock(e.unref(V.Icon),{key:0,name:M(u.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",Jt,e.toDisplayString(_(u.title)),1))])):e.createCommentVNode("",!0),e.createElementVNode("span",Qt,e.toDisplayString(u.title),1),u.parentTitle?(e.openBlock(),e.createElementBlock("span",Zt,e.toDisplayString(u.parentTitle),1)):e.createCommentVNode("",!0)],8,Gt))),128))])):(e.openBlock(),e.createElementBlock("div",vt," 未找到匹配的菜单 "))])):e.createCommentVNode("",!0)]),_:1})],512),e.createElementVNode("div",{class:"header__action",onClick:Ne,title:d.value?"退出全屏":"全屏"},[e.createVNode(e.unref(V.Icon),{name:d.value?"fullscreen-exit":"fullscreen",size:16},null,8,["name"])],8,en),e.createElementVNode("div",{class:"header__action",onClick:le,title:"换肤设置"},[e.createVNode(e.unref(V.Icon),{name:"skin",size:16})]),e.createElementVNode("div",{class:"header__action",onClick:Z,title:"切换主题"},[e.createVNode(e.unref(V.Icon),{name:e.unref(s).isDark?"sun":"moon",size:16},null,8,["name"])]),e.createElementVNode("div",{class:"header__user",ref_key:"dropdownRef",ref:g},[e.createElementVNode("div",{class:"header__user-trigger",onClick:e.withModifiers(se,["stop"])},[e.createElementVNode("div",tn,[e.createElementVNode("span",null,e.toDisplayString(((Y=e.unref(a).userName)==null?void 0:Y.charAt(0))||"U"),1)]),e.createElementVNode("span",nn,e.toDisplayString(e.unref(a).userName),1),e.createElementVNode("span",{class:e.normalizeClass(["header__user-arrow",{"is-active":o.value}])},"▼",2)]),e.createVNode(e.Transition,{name:"dropdown"},{default:e.withCtx(()=>{var u;return[o.value?(e.openBlock(),e.createElementBlock("div",on,[e.createElementVNode("div",ln,[e.createElementVNode("div",an,[e.createElementVNode("span",null,e.toDisplayString(((u=e.unref(a).userName)==null?void 0:u.charAt(0))||"U"),1)]),e.createElementVNode("div",sn,[e.createElementVNode("div",rn,e.toDisplayString(e.unref(a).userName),1),e.createElementVNode("div",cn,e.toDisplayString(e.unref(a).departmentName),1)])]),C[7]||(C[7]=e.createElementVNode("div",{class:"header__dropdown-divider"},null,-1)),e.createElementVNode("div",dn,[e.createElementVNode("div",{class:"header__dropdown-item",onClick:Ee},[e.createVNode(e.unref(V.Icon),{name:"user",size:16}),C[3]||(C[3]=e.createElementVNode("span",null,"个人信息",-1))]),e.createElementVNode("div",{class:"header__dropdown-item",onClick:ye},[e.createVNode(e.unref(V.Icon),{name:"lock",size:16}),C[4]||(C[4]=e.createElementVNode("span",null,"修改密码",-1))]),C[6]||(C[6]=e.createElementVNode("div",{class:"header__dropdown-divider"},null,-1)),e.createElementVNode("div",{class:"header__dropdown-item header__dropdown-item--danger",onClick:we},[e.createVNode(e.unref(V.Icon),{name:"logout",size:16}),C[5]||(C[5]=e.createElementVNode("span",null,"退出登录",-1))])])])):e.createCommentVNode("",!0)]}),_:1})],512)]),e.createVNode(e.unref(z.Drawer),{modelValue:h.value,"onUpdate:modelValue":C[2]||(C[2]=u=>h.value=u),title:"换肤设置",direction:"rtl",size:"320px"},{default:e.withCtx(()=>[e.createElementVNode("div",mn,[e.createElementVNode("div",pn,[C[11]||(C[11]=e.createElementVNode("div",{class:"settings-title"},"布局模式",-1)),e.createElementVNode("div",un,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(N,u=>e.createElementVNode("div",{key:u.value,class:e.normalizeClass(["layout-option",{"is-active":O.value===u.value}]),onClick:B=>te(u.value)},[e.createElementVNode("div",hn,[u.value==="sidebar"?(e.openBlock(),e.createElementBlock("div",_n,[...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)])])):u.value==="top"?(e.openBlock(),e.createElementBlock("div",gn,[...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",Nn,[...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",Vn,e.toDisplayString(u.label),1)],10,fn)),64))])]),e.createElementVNode("div",kn,[C[12]||(C[12]=e.createElementVNode("div",{class:"settings-title"},"主题色",-1)),e.createElementVNode("div",En,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(f,u=>e.createElementVNode("div",{key:u.value,class:e.normalizeClass(["color-option",{"is-active":e.unref(s).primaryColor===u.value}]),style:e.normalizeStyle({backgroundColor:u.value}),title:u.label,onClick:B=>ke(u.value)},[e.unref(s).primaryColor===u.value?(e.openBlock(),e.createBlock(e.unref(V.Icon),{key:0,name:"check",size:12,color:"#fff"})):e.createCommentVNode("",!0)],14,yn)),64))])]),e.createElementVNode("div",wn,[C[17]||(C[17]=e.createElementVNode("div",{class:"settings-title"},"功能设置",-1)),e.createElementVNode("div",Cn,[e.createElementVNode("div",Bn,[C[14]||(C[14]=e.createElementVNode("span",null,"灰色模式",-1)),e.createElementVNode("div",{class:e.normalizeClass(["switch-wrapper",{"is-checked":I.value}]),onClick:G},[...C[13]||(C[13]=[e.createElementVNode("span",{class:"switch-core"},null,-1)])],2)]),e.createElementVNode("div",xn,[C[16]||(C[16]=e.createElementVNode("span",null,"暗黑模式",-1)),e.createElementVNode("div",{class:e.normalizeClass(["switch-wrapper",{"is-checked":e.unref(s).isDark}]),onClick:ae},[...C[15]||(C[15]=[e.createElementVNode("span",{class:"switch-core"},null,-1)])],2)])])])])]),_:1},8,["modelValue"])])}}}),[["__scopeId","data-v-89179947"]]),bn={class:"top-menu"},Sn={class:"top-menu__logo"},$n={class:"top-menu__logo-text"},In={class:"top-menu__menu-content"},Dn={key:0,class:"top-menu__menu-icon"},Tn={key:1,class:"top-menu__menu-char"},Ln={class:"top-menu__menu-text"},Mn={class:"top-menu__menu-content"},Un={class:"top-menu__menu-icon"},zn={key:1,class:"top-menu__menu-char"},An={class:"top-menu__menu-text"},Fn={class:"top-menu__menu-content"},Rn={key:0,class:"top-menu__menu-icon"},Pn={key:1,class:"top-menu__menu-char"},On={class:"top-menu__menu-text"},qn={class:"top-menu__actions"},jn={key:0,class:"top-menu__search-dropdown"},Kn={key:0,class:"top-menu__search-results"},Yn=["onClick"],Wn={key:0,class:"top-menu__search-icon-item"},Xn={key:1,class:"top-menu__search-char"},Gn={class:"top-menu__search-item-title"},Hn={key:1,class:"top-menu__search-item-parent"},Jn={key:1,class:"top-menu__search-empty"},Qn=["title"],Zn={class:"top-menu__avatar"},vn={class:"top-menu__user-name"},eo={key:0,class:"top-menu__dropdown"},to={class:"top-menu__dropdown-header"},no={class:"top-menu__dropdown-avatar"},oo={class:"top-menu__dropdown-info"},lo={class:"top-menu__dropdown-name"},ao={class:"top-menu__dropdown-role"},so={class:"top-menu__dropdown-menu"},ro={class:"settings-drawer"},io={class:"settings-section"},co={class:"settings-layout-options"},mo=["onClick"],po={class:"layout-option__preview"},uo={key:0,class:"layout-preview-sidebar"},fo={key:1,class:"layout-preview-top"},ho={key:2,class:"layout-preview-mix"},_o={class:"layout-option__label"},go={class:"settings-section"},No={class:"settings-color-options"},Vo=["title","onClick"],ko={class:"settings-section"},Eo={class:"settings-switch-list"},yo={class:"settings-switch-item"},wo={class:"settings-switch-item"},Co=K(e.defineComponent({__name:"TopMenu",setup(t){const n=P.useRoute(),l=P.useRouter(),s=oe(),a=ee(),r=X(),p=ce(),o=e.computed(()=>n.path),h=(u,B="")=>{const H=[];return u.forEach(i=>{i.children&&i.children.length>0?H.push(...h(i.children,i.menuName)):H.push({...i,parentTitle:B,title:i.menuName,path:i.menuUrl})}),H},g=e.computed(()=>q.value.trim()?h(s.menuList).filter(B=>B.title.toLowerCase().includes(q.value.toLowerCase())):[]),d=e.computed(()=>a.isDark?"#1d1e1f":"#fff"),y=e.computed(()=>a.isDark?"#cfd3dc":"#303133"),x=e.computed(()=>"#409eff"),T=e.ref(!1),I=e.ref(null),N=e.ref(!1),f=e.ref(!1),S=e.ref(!1),R=e.ref(!1),q=e.ref(""),M=e.ref(null),_=u=>{u&&u!==n.path&&l.push(u)},m=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"]),w=u=>{if(!u||u==="")return"";if(u.startsWith("tineco-icon-")){const H=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"}[H]||H}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},O=u=>u?u.charAt(0):"",Q=u=>m.has(u),Z=()=>{a.toggleTheme(),f.value=!1},le=()=>{document.fullscreenElement?document.exitFullscreen():document.documentElement.requestFullscreen()},te=()=>{N.value=!!document.fullscreenElement},U=()=>{T.value=!T.value},G=()=>{T.value=!1},ae=()=>{R.value=!1,q.value=""},Ne=u=>{l.push(u),ae()},v=()=>{f.value=!0},se=u=>{S.value=u;const B=document.documentElement;u?B.classList.add("grey-mode"):B.classList.remove("grey-mode")},ne=()=>{se(!S.value),f.value=!1},re=()=>{a.toggleTheme(),f.value=!1},Ve=[{value:"sidebar",label:"左侧菜单",icon:"sidebar-left"},{value:"top",label:"顶部菜单",icon:"menu"},{value:"mix",label:"混合菜单",icon:"grid"}],ke=e.computed(()=>a.layout),Ee=u=>{a.setLayout(u),f.value=!1},ye=[{value:"#409eff",label:"默认蓝"},{value:"#1890ff",label:"科技蓝"},{value:"#52c41a",label:"极光绿"},{value:"#faad14",label:"日落橙"},{value:"#f5222d",label:"薄暮红"},{value:"#722ed1",label:"酱紫"}],we=u=>{a.setPrimaryColor(u),f.value=!1},me=()=>{G(),l.push("/profile")},pe=()=>{G(),l.push("/change-password")},L=()=>{G(),p.logout(),r.clearUserInfo(),s.clearMenu(),l.push("/login")},C=u=>{I.value&&!I.value.contains(u.target)&&G(),M.value&&!M.value.contains(u.target)&&ae()},Y=u=>{u.key==="Escape"&&(ae(),G())};return e.onMounted(()=>{document.addEventListener("click",C),document.addEventListener("fullscreenchange",te),document.addEventListener("keydown",Y),S.value=document.documentElement.classList.contains("grey-mode")}),e.onUnmounted(()=>{document.removeEventListener("click",C),document.removeEventListener("fullscreenchange",te),document.removeEventListener("keydown",Y)}),(u,B)=>{var H;return e.openBlock(),e.createElementBlock("div",bn,[e.createElementVNode("div",Sn,[B[3]||(B[3]=e.createElementVNode("img",{src:Se,alt:"Logo",class:"top-menu__logo-img"},null,-1)),e.createElementVNode("span",$n,e.toDisplayString(e.unref(a).appName),1)]),e.createVNode(e.unref(J.Menu),{"model-value":o.value,mode:"horizontal","background-color":d.value,"text-color":y.value,"active-text-color":x.value,class:"top-menu__menu",onSelect:_},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(s).menuList,i=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:i.menuUrl},[i.children&&i.children.length>0?(e.openBlock(),e.createBlock(e.unref(J.SubMenu),{key:0,index:i.menuUrl},{title:e.withCtx(()=>[e.createElementVNode("span",In,[i.menuName!=="首页"?(e.openBlock(),e.createElementBlock("span",Dn,[Q(w(i.icon))?(e.openBlock(),e.createBlock(e.unref(V.Icon),{key:0,name:w(i.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",Tn,e.toDisplayString(O(i.menuName)),1))])):e.createCommentVNode("",!0),e.createElementVNode("span",Ln,e.toDisplayString(i.menuName),1)])]),default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.children,k=>(e.openBlock(),e.createBlock(e.unref(J.MenuItem),{key:k.menuUrl,index:k.menuUrl},{default:e.withCtx(()=>[e.createElementVNode("span",Mn,[e.createElementVNode("span",Un,[Q(w(k.icon))?(e.openBlock(),e.createBlock(e.unref(V.Icon),{key:0,name:w(k.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",zn,e.toDisplayString(O(k.menuName)),1))]),e.createElementVNode("span",An,e.toDisplayString(k.menuName),1)])]),_:2},1032,["index"]))),128))]),_:2},1032,["index"])):(e.openBlock(),e.createBlock(e.unref(J.MenuItem),{key:1,index:i.menuUrl},{default:e.withCtx(()=>[e.createElementVNode("span",Fn,[i.menuName!=="首页"?(e.openBlock(),e.createElementBlock("span",Rn,[Q(w(i.icon))?(e.openBlock(),e.createBlock(e.unref(V.Icon),{key:0,name:w(i.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",Pn,e.toDisplayString(O(i.menuName)),1))])):e.createCommentVNode("",!0),e.createElementVNode("span",On,e.toDisplayString(i.menuName),1)])]),_:2},1032,["index"]))],64))),128))]),_:1},8,["model-value","background-color","text-color","active-text-color"]),e.createElementVNode("div",qn,[e.createElementVNode("div",{class:"top-menu__search",ref_key:"searchRef",ref:M},[e.createVNode(e.unref(V.Icon),{name:"search",size:14,class:"top-menu__search-icon"}),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":B[0]||(B[0]=i=>q.value=i),type:"text",class:"top-menu__search-input",placeholder:"搜索菜单...",onFocus:B[1]||(B[1]=i=>R.value=!0)},null,544),[[e.vModelText,q.value]]),e.createVNode(e.Transition,{name:"search-dropdown"},{default:e.withCtx(()=>[R.value&&(g.value.length>0||q.value)?(e.openBlock(),e.createElementBlock("div",jn,[g.value.length>0?(e.openBlock(),e.createElementBlock("div",Kn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.value,i=>(e.openBlock(),e.createElementBlock("div",{key:i.path,class:"top-menu__search-item",onClick:k=>Ne(i.path)},[i.title!=="首页"?(e.openBlock(),e.createElementBlock("span",Wn,[Q(w(i.icon))?(e.openBlock(),e.createBlock(e.unref(V.Icon),{key:0,name:w(i.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",Xn,e.toDisplayString(O(i.title)),1))])):e.createCommentVNode("",!0),e.createElementVNode("span",Gn,e.toDisplayString(i.title),1),i.parentTitle?(e.openBlock(),e.createElementBlock("span",Hn,e.toDisplayString(i.parentTitle),1)):e.createCommentVNode("",!0)],8,Yn))),128))])):(e.openBlock(),e.createElementBlock("div",Jn," 未找到匹配的菜单 "))])):e.createCommentVNode("",!0)]),_:1})],512),e.createElementVNode("div",{class:"top-menu__action",onClick:le,title:N.value?"退出全屏":"全屏"},[e.createVNode(e.unref(V.Icon),{name:N.value?"fullscreen-exit":"fullscreen",size:16},null,8,["name"])],8,Qn),e.createElementVNode("div",{class:"top-menu__action",onClick:v,title:"换肤设置"},[e.createVNode(e.unref(V.Icon),{name:"skin",size:16})]),e.createElementVNode("div",{class:"top-menu__action",onClick:Z,title:"切换主题"},[e.createVNode(e.unref(V.Icon),{name:e.unref(a).isDark?"sun":"moon",size:16},null,8,["name"])]),e.createElementVNode("div",{class:"top-menu__user",ref_key:"dropdownRef",ref:I},[e.createElementVNode("div",{class:"top-menu__user-trigger",onClick:e.withModifiers(U,["stop"])},[e.createElementVNode("div",Zn,[e.createElementVNode("span",null,e.toDisplayString(((H=e.unref(r).userName)==null?void 0:H.charAt(0))||"U"),1)]),e.createElementVNode("span",vn,e.toDisplayString(e.unref(r).userName),1),e.createElementVNode("span",{class:e.normalizeClass(["top-menu__user-arrow",{"is-active":T.value}])},"▼",2)]),e.createVNode(e.Transition,{name:"dropdown"},{default:e.withCtx(()=>{var i;return[T.value?(e.openBlock(),e.createElementBlock("div",eo,[e.createElementVNode("div",to,[e.createElementVNode("div",no,[e.createElementVNode("span",null,e.toDisplayString(((i=e.unref(r).userName)==null?void 0:i.charAt(0))||"U"),1)]),e.createElementVNode("div",oo,[e.createElementVNode("div",lo,e.toDisplayString(e.unref(r).userName),1),e.createElementVNode("div",ao,e.toDisplayString(e.unref(r).departmentName),1)])]),B[8]||(B[8]=e.createElementVNode("div",{class:"top-menu__dropdown-divider"},null,-1)),e.createElementVNode("div",so,[e.createElementVNode("div",{class:"top-menu__dropdown-item",onClick:me},[e.createVNode(e.unref(V.Icon),{name:"user",size:16}),B[4]||(B[4]=e.createElementVNode("span",null,"个人信息",-1))]),e.createElementVNode("div",{class:"top-menu__dropdown-item",onClick:pe},[e.createVNode(e.unref(V.Icon),{name:"lock",size:16}),B[5]||(B[5]=e.createElementVNode("span",null,"修改密码",-1))]),B[7]||(B[7]=e.createElementVNode("div",{class:"top-menu__dropdown-divider"},null,-1)),e.createElementVNode("div",{class:"top-menu__dropdown-item top-menu__dropdown-item--danger",onClick:L},[e.createVNode(e.unref(V.Icon),{name:"logout",size:16}),B[6]||(B[6]=e.createElementVNode("span",null,"退出登录",-1))])])])):e.createCommentVNode("",!0)]}),_:1})],512)]),e.createVNode(e.unref(z.Drawer),{modelValue:f.value,"onUpdate:modelValue":B[2]||(B[2]=i=>f.value=i),title:"换肤设置",direction:"rtl",size:"320px"},{default:e.withCtx(()=>[e.createElementVNode("div",ro,[e.createElementVNode("div",io,[B[12]||(B[12]=e.createElementVNode("div",{class:"settings-title"},"布局模式",-1)),e.createElementVNode("div",co,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(Ve,i=>e.createElementVNode("div",{key:i.value,class:e.normalizeClass(["layout-option",{"is-active":ke.value===i.value}]),onClick:k=>Ee(i.value)},[e.createElementVNode("div",po,[i.value==="sidebar"?(e.openBlock(),e.createElementBlock("div",uo,[...B[9]||(B[9]=[e.createElementVNode("div",{class:"preview-aside"},null,-1),e.createElementVNode("div",{class:"preview-main"},[e.createElementVNode("div",{class:"preview-header"}),e.createElementVNode("div",{class:"preview-content"})],-1)])])):i.value==="top"?(e.openBlock(),e.createElementBlock("div",fo,[...B[10]||(B[10]=[e.createElementVNode("div",{class:"preview-header-full"},null,-1),e.createElementVNode("div",{class:"preview-content-full"},null,-1)])])):(e.openBlock(),e.createElementBlock("div",ho,[...B[11]||(B[11]=[e.createElementVNode("div",{class:"preview-header-mix"},[e.createElementVNode("div",{class:"preview-mix-left"})],-1),e.createElementVNode("div",{class:"preview-mix-body"},[e.createElementVNode("div",{class:"preview-mix-aside"}),e.createElementVNode("div",{class:"preview-mix-content"})],-1)])]))]),e.createElementVNode("span",_o,e.toDisplayString(i.label),1)],10,mo)),64))])]),e.createElementVNode("div",go,[B[13]||(B[13]=e.createElementVNode("div",{class:"settings-title"},"主题色",-1)),e.createElementVNode("div",No,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(ye,i=>e.createElementVNode("div",{key:i.value,class:e.normalizeClass(["color-option",{"is-active":e.unref(a).primaryColor===i.value}]),style:e.normalizeStyle({backgroundColor:i.value}),title:i.label,onClick:k=>we(i.value)},[e.unref(a).primaryColor===i.value?(e.openBlock(),e.createBlock(e.unref(V.Icon),{key:0,name:"check",size:12,color:"#fff"})):e.createCommentVNode("",!0)],14,Vo)),64))])]),e.createElementVNode("div",ko,[B[18]||(B[18]=e.createElementVNode("div",{class:"settings-title"},"功能设置",-1)),e.createElementVNode("div",Eo,[e.createElementVNode("div",yo,[B[15]||(B[15]=e.createElementVNode("span",null,"灰色模式",-1)),e.createElementVNode("div",{class:e.normalizeClass(["switch-wrapper",{"is-checked":S.value}]),onClick:ne},[...B[14]||(B[14]=[e.createElementVNode("span",{class:"switch-core"},null,-1)])],2)]),e.createElementVNode("div",wo,[B[17]||(B[17]=e.createElementVNode("span",null,"暗黑模式",-1)),e.createElementVNode("div",{class:e.normalizeClass(["switch-wrapper",{"is-checked":e.unref(a).isDark}]),onClick:re},[...B[16]||(B[16]=[e.createElementVNode("span",{class:"switch-core"},null,-1)])],2)])])])])]),_:1},8,["modelValue"])])}}}),[["__scopeId","data-v-ff5f8764"]]),Bo={class:"mix-top-menu"},xo={class:"mix-top-menu__logo"},bo={class:"mix-top-menu__logo-text"},So={class:"mix-top-menu__menu-content"},$o={key:0,class:"mix-top-menu__menu-icon"},Io={key:1,class:"mix-top-menu__menu-char"},Do={class:"mix-top-menu__menu-text"},To={class:"mix-top-menu__actions"},Lo={key:0,class:"mix-top-menu__search-dropdown"},Mo={key:0,class:"mix-top-menu__search-results"},Uo=["onClick"],zo={key:0,class:"mix-top-menu__search-icon-item"},Ao={key:1,class:"mix-top-menu__search-char"},Fo={class:"mix-top-menu__search-item-title"},Ro={key:1,class:"mix-top-menu__search-item-parent"},Po={key:1,class:"mix-top-menu__search-empty"},Oo=["title"],qo={class:"mix-top-menu__avatar"},jo={class:"mix-top-menu__user-name"},Ko={key:0,class:"mix-top-menu__dropdown"},Yo={class:"mix-top-menu__dropdown-header"},Wo={class:"mix-top-menu__dropdown-avatar"},Xo={class:"mix-top-menu__dropdown-info"},Go={class:"mix-top-menu__dropdown-name"},Ho={class:"mix-top-menu__dropdown-role"},Jo={class:"mix-top-menu__dropdown-menu"},Qo={class:"settings-drawer"},Zo={class:"settings-section"},vo={class:"settings-layout-options"},el=["onClick"],tl={class:"layout-option__preview"},nl={key:0,class:"layout-preview-sidebar"},ol={key:1,class:"layout-preview-top"},ll={key:2,class:"layout-preview-mix"},al={class:"layout-option__label"},sl={class:"settings-section"},rl={class:"settings-color-options"},il=["title","onClick"],cl={class:"settings-section"},dl={class:"settings-switch-list"},ml={class:"settings-switch-item"},pl={class:"settings-switch-item"},ul=K(e.defineComponent({__name:"MixTopMenu",setup(t){const n=P.useRoute(),l=P.useRouter(),s=oe(),a=ee(),r=X(),p=ce(),o=e.ref(""),h=(i,k="")=>{const W=[];return i.forEach(b=>{b.children&&b.children.length>0?W.push(...h(b.children,b.menuName)):W.push({...b,parentTitle:k,title:b.menuName,path:b.menuUrl})}),W},g=e.computed(()=>w.value.trim()?h(s.menuList).filter(k=>k.title.toLowerCase().includes(w.value.toLowerCase())):[]),d=e.computed(()=>{const i=s.menuList.find(k=>k.menuUrl===o.value);return(i==null?void 0:i.children)||[]}),y=e.computed(()=>s.menuList.find(i=>!!(n.path===i.menuUrl||i.children&&i.children.some(k=>n.path.startsWith(k.menuUrl)||n.path===k.menuUrl)))),x=()=>{y.value?o.value=y.value.menuUrl:s.menuList.length>0&&(o.value=s.menuList[0].menuUrl)},T=i=>{o.value=i;const k=s.menuList.find(W=>W.menuUrl===i);if(k)if(k.children&&k.children.length>0){const W=k.children[0].menuUrl;n.path!==W&&l.push(W)}else n.path!==i&&l.push(i)},I=e.computed(()=>a.isDark?"#1d1e1f":"#fff"),N=e.computed(()=>a.isDark?"#cfd3dc":"#303133"),f=e.computed(()=>"#409eff"),S=e.ref(!1),R=e.ref(null),q=e.ref(!1),M=e.ref(!1),_=e.ref(!1),m=e.ref(!1),w=e.ref(""),O=e.ref(null);e.watch(()=>n.path,()=>{x(),a.setMixSubMenus(d.value)}),e.watch(()=>s.menuList,i=>{i&&i.length>0&&(x(),a.setMixSubMenus(d.value))},{immediate:!0});const Q=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"]),Z=i=>{if(!i||i==="")return"";if(i.startsWith("tineco-icon-")){const W=i.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"}[W]||W}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"}[i]||i},le=i=>i?i.charAt(0):"",te=i=>Q.has(i),U=()=>{a.toggleTheme(),M.value=!1},G=()=>{document.fullscreenElement?document.exitFullscreen():document.documentElement.requestFullscreen()},ae=()=>{q.value=!!document.fullscreenElement},Ne=()=>{S.value=!S.value},v=()=>{S.value=!1},se=()=>{m.value=!1,w.value=""},ne=i=>{l.push(i),se()},re=()=>{M.value=!0},Ve=i=>{_.value=i;const k=document.documentElement;i?k.classList.add("grey-mode"):k.classList.remove("grey-mode")},ke=()=>{Ve(!_.value),M.value=!1},Ee=()=>{a.toggleTheme(),M.value=!1},ye=[{value:"sidebar",label:"左侧菜单",icon:"sidebar-left"},{value:"top",label:"顶部菜单",icon:"menu"},{value:"mix",label:"混合菜单",icon:"grid"}],we=e.computed(()=>a.layout),me=i=>{a.setLayout(i),M.value=!1},pe=[{value:"#409eff",label:"默认蓝"},{value:"#1890ff",label:"科技蓝"},{value:"#52c41a",label:"极光绿"},{value:"#faad14",label:"日落橙"},{value:"#f5222d",label:"薄暮红"},{value:"#722ed1",label:"酱紫"}],L=i=>{a.setPrimaryColor(i),M.value=!1},C=()=>{v(),l.push("/profile")},Y=()=>{v(),l.push("/change-password")},u=()=>{v(),p.logout(),r.clearUserInfo(),s.clearMenu(),l.push("/login")},B=i=>{R.value&&!R.value.contains(i.target)&&v(),O.value&&!O.value.contains(i.target)&&se()},H=i=>{i.key==="Escape"&&(se(),v())};return e.onMounted(()=>{document.addEventListener("click",B),document.addEventListener("fullscreenchange",ae),document.addEventListener("keydown",H),_.value=document.documentElement.classList.contains("grey-mode"),x()}),e.onUnmounted(()=>{document.removeEventListener("click",B),document.removeEventListener("fullscreenchange",ae),document.removeEventListener("keydown",H)}),(i,k)=>{var W;return e.openBlock(),e.createElementBlock("div",Bo,[e.createElementVNode("div",xo,[k[3]||(k[3]=e.createElementVNode("img",{src:Se,alt:"Logo",class:"mix-top-menu__logo-img"},null,-1)),e.createElementVNode("span",bo,e.toDisplayString(e.unref(a).appName),1)]),e.createVNode(e.unref(J.Menu),{"model-value":o.value,mode:"horizontal","background-color":I.value,"text-color":N.value,"active-text-color":f.value,class:"mix-top-menu__menu",onSelect:T},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(s).menuList,b=>(e.openBlock(),e.createBlock(e.unref(J.MenuItem),{key:b.menuUrl,index:b.menuUrl},{default:e.withCtx(()=>[e.createElementVNode("span",So,[b.menuName!=="首页"?(e.openBlock(),e.createElementBlock("span",$o,[te(Z(b.icon))?(e.openBlock(),e.createBlock(e.unref(V.Icon),{key:0,name:Z(b.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",Io,e.toDisplayString(le(b.menuName)),1))])):e.createCommentVNode("",!0),e.createElementVNode("span",Do,e.toDisplayString(b.menuName),1)])]),_:2},1032,["index"]))),128))]),_:1},8,["model-value","background-color","text-color","active-text-color"]),e.createElementVNode("div",To,[e.createElementVNode("div",{class:"mix-top-menu__search",ref_key:"searchRef",ref:O},[e.createVNode(e.unref(V.Icon),{name:"search",size:14,class:"mix-top-menu__search-icon"}),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":k[0]||(k[0]=b=>w.value=b),type:"text",class:"mix-top-menu__search-input",placeholder:"搜索菜单...",onFocus:k[1]||(k[1]=b=>m.value=!0)},null,544),[[e.vModelText,w.value]]),e.createVNode(e.Transition,{name:"search-dropdown"},{default:e.withCtx(()=>[m.value&&(g.value.length>0||w.value)?(e.openBlock(),e.createElementBlock("div",Lo,[g.value.length>0?(e.openBlock(),e.createElementBlock("div",Mo,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.value,b=>(e.openBlock(),e.createElementBlock("div",{key:b.path,class:"mix-top-menu__search-item",onClick:Nt=>ne(b.path)},[b.title!=="首页"?(e.openBlock(),e.createElementBlock("span",zo,[te(Z(b.icon))?(e.openBlock(),e.createBlock(e.unref(V.Icon),{key:0,name:Z(b.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",Ao,e.toDisplayString(le(b.title)),1))])):e.createCommentVNode("",!0),e.createElementVNode("span",Fo,e.toDisplayString(b.title),1),b.parentTitle?(e.openBlock(),e.createElementBlock("span",Ro,e.toDisplayString(b.parentTitle),1)):e.createCommentVNode("",!0)],8,Uo))),128))])):(e.openBlock(),e.createElementBlock("div",Po," 未找到匹配的菜单 "))])):e.createCommentVNode("",!0)]),_:1})],512),e.createElementVNode("div",{class:"mix-top-menu__action",onClick:G,title:q.value?"退出全屏":"全屏"},[e.createVNode(e.unref(V.Icon),{name:q.value?"fullscreen-exit":"fullscreen",size:16},null,8,["name"])],8,Oo),e.createElementVNode("div",{class:"mix-top-menu__action",onClick:re,title:"换肤设置"},[e.createVNode(e.unref(V.Icon),{name:"skin",size:16})]),e.createElementVNode("div",{class:"mix-top-menu__action",onClick:U,title:"切换主题"},[e.createVNode(e.unref(V.Icon),{name:e.unref(a).isDark?"sun":"moon",size:16},null,8,["name"])]),e.createElementVNode("div",{class:"mix-top-menu__user",ref_key:"dropdownRef",ref:R},[e.createElementVNode("div",{class:"mix-top-menu__user-trigger",onClick:e.withModifiers(Ne,["stop"])},[e.createElementVNode("div",qo,[e.createElementVNode("span",null,e.toDisplayString(((W=e.unref(r).userName)==null?void 0:W.charAt(0))||"U"),1)]),e.createElementVNode("span",jo,e.toDisplayString(e.unref(r).userName),1),e.createElementVNode("span",{class:e.normalizeClass(["mix-top-menu__user-arrow",{"is-active":S.value}])},"▼",2)]),e.createVNode(e.Transition,{name:"dropdown"},{default:e.withCtx(()=>{var b;return[S.value?(e.openBlock(),e.createElementBlock("div",Ko,[e.createElementVNode("div",Yo,[e.createElementVNode("div",Wo,[e.createElementVNode("span",null,e.toDisplayString(((b=e.unref(r).userName)==null?void 0:b.charAt(0))||"U"),1)]),e.createElementVNode("div",Xo,[e.createElementVNode("div",Go,e.toDisplayString(e.unref(r).userName),1),e.createElementVNode("div",Ho,e.toDisplayString(e.unref(r).departmentName),1)])]),k[8]||(k[8]=e.createElementVNode("div",{class:"mix-top-menu__dropdown-divider"},null,-1)),e.createElementVNode("div",Jo,[e.createElementVNode("div",{class:"mix-top-menu__dropdown-item",onClick:C},[e.createVNode(e.unref(V.Icon),{name:"user",size:16}),k[4]||(k[4]=e.createElementVNode("span",null,"个人信息",-1))]),e.createElementVNode("div",{class:"mix-top-menu__dropdown-item",onClick:Y},[e.createVNode(e.unref(V.Icon),{name:"lock",size:16}),k[5]||(k[5]=e.createElementVNode("span",null,"修改密码",-1))]),k[7]||(k[7]=e.createElementVNode("div",{class:"mix-top-menu__dropdown-divider"},null,-1)),e.createElementVNode("div",{class:"mix-top-menu__dropdown-item mix-top-menu__dropdown-item--danger",onClick:u},[e.createVNode(e.unref(V.Icon),{name:"logout",size:16}),k[6]||(k[6]=e.createElementVNode("span",null,"退出登录",-1))])])])):e.createCommentVNode("",!0)]}),_:1})],512)]),e.createVNode(e.unref(z.Drawer),{modelValue:M.value,"onUpdate:modelValue":k[2]||(k[2]=b=>M.value=b),title:"换肤设置",direction:"rtl",size:"320px"},{default:e.withCtx(()=>[e.createElementVNode("div",Qo,[e.createElementVNode("div",Zo,[k[12]||(k[12]=e.createElementVNode("div",{class:"settings-title"},"布局模式",-1)),e.createElementVNode("div",vo,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(ye,b=>e.createElementVNode("div",{key:b.value,class:e.normalizeClass(["layout-option",{"is-active":we.value===b.value}]),onClick:Nt=>me(b.value)},[e.createElementVNode("div",tl,[b.value==="sidebar"?(e.openBlock(),e.createElementBlock("div",nl,[...k[9]||(k[9]=[e.createElementVNode("div",{class:"preview-aside"},null,-1),e.createElementVNode("div",{class:"preview-main"},[e.createElementVNode("div",{class:"preview-header"}),e.createElementVNode("div",{class:"preview-content"})],-1)])])):b.value==="top"?(e.openBlock(),e.createElementBlock("div",ol,[...k[10]||(k[10]=[e.createElementVNode("div",{class:"preview-header-full"},null,-1),e.createElementVNode("div",{class:"preview-content-full"},null,-1)])])):(e.openBlock(),e.createElementBlock("div",ll,[...k[11]||(k[11]=[e.createElementVNode("div",{class:"preview-header-mix"},[e.createElementVNode("div",{class:"preview-mix-left"})],-1),e.createElementVNode("div",{class:"preview-mix-body"},[e.createElementVNode("div",{class:"preview-mix-aside"}),e.createElementVNode("div",{class:"preview-mix-content"})],-1)])]))]),e.createElementVNode("span",al,e.toDisplayString(b.label),1)],10,el)),64))])]),e.createElementVNode("div",sl,[k[13]||(k[13]=e.createElementVNode("div",{class:"settings-title"},"主题色",-1)),e.createElementVNode("div",rl,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(pe,b=>e.createElementVNode("div",{key:b.value,class:e.normalizeClass(["color-option",{"is-active":e.unref(a).primaryColor===b.value}]),style:e.normalizeStyle({backgroundColor:b.value}),title:b.label,onClick:Nt=>L(b.value)},[e.unref(a).primaryColor===b.value?(e.openBlock(),e.createBlock(e.unref(V.Icon),{key:0,name:"check",size:12,color:"#fff"})):e.createCommentVNode("",!0)],14,il)),64))])]),e.createElementVNode("div",cl,[k[18]||(k[18]=e.createElementVNode("div",{class:"settings-title"},"功能设置",-1)),e.createElementVNode("div",dl,[e.createElementVNode("div",ml,[k[15]||(k[15]=e.createElementVNode("span",null,"灰色模式",-1)),e.createElementVNode("div",{class:e.normalizeClass(["switch-wrapper",{"is-checked":_.value}]),onClick:ke},[...k[14]||(k[14]=[e.createElementVNode("span",{class:"switch-core"},null,-1)])],2)]),e.createElementVNode("div",pl,[k[17]||(k[17]=e.createElementVNode("span",null,"暗黑模式",-1)),e.createElementVNode("div",{class:e.normalizeClass(["switch-wrapper",{"is-checked":e.unref(a).isDark}]),onClick:Ee},[...k[16]||(k[16]=[e.createElementVNode("span",{class:"switch-core"},null,-1)])],2)])])])])]),_:1},8,["modelValue"])])}}}),[["__scopeId","data-v-25806305"]]),fl={key:0,class:"layout layout--sidebar"},hl={class:"layout__main"},_l={class:"layout__header"},gl={class:"layout__content"},Nl={key:1,class:"layout layout--top"},Vl={class:"layout__top-menu"},kl={class:"layout__main"},El={class:"layout__content"},yl={key:2,class:"layout layout--mix"},wl={class:"layout__mix-top-menu"},Cl={class:"layout__mix-body"},Bl={class:"layout__content"},Oe=K(e.defineComponent({__name:"index",setup(t){const n=ee(),l=oe(),s=e.computed(()=>n.isCollapsed?"64px":"210px"),a=e.computed(()=>n.layout),r=e.computed(()=>a.value==="mix"),p=e.computed(()=>a.value==="sidebar"?l.menuList:a.value==="mix"?n.mixSubMenus:[]),o=e.computed(()=>r.value?p.value.length>0:!1);return(h,g)=>{const d=e.resolveComponent("router-view");return e.openBlock(),e.createElementBlock(e.Fragment,null,[a.value==="sidebar"?(e.openBlock(),e.createElementBlock("div",fl,[e.createElementVNode("aside",{class:"layout__aside",style:e.normalizeStyle({width:s.value})},[e.createVNode(Pe,{"menu-list":p.value,"show-logo":!0,"show-user":!0},null,8,["menu-list"])],4),e.createElementVNode("div",hl,[e.createElementVNode("header",_l,[e.createVNode(lt)]),e.createElementVNode("main",gl,[e.createVNode(d)])])])):e.createCommentVNode("",!0),a.value==="top"?(e.openBlock(),e.createElementBlock("div",Nl,[e.createElementVNode("div",Vl,[e.createVNode(Co)]),e.createElementVNode("div",kl,[e.createElementVNode("main",El,[e.createVNode(d)])])])):e.createCommentVNode("",!0),a.value==="mix"?(e.openBlock(),e.createElementBlock("div",yl,[e.createElementVNode("div",wl,[e.createVNode(ul)]),e.createElementVNode("div",Cl,[o.value?(e.openBlock(),e.createElementBlock("aside",{key:0,class:"layout__aside",style:e.normalizeStyle({width:s.value})},[e.createVNode(Pe,{"menu-list":p.value,"show-logo":!1,"show-user":!1},null,8,["menu-list"])],4)):e.createCommentVNode("",!0),e.createElementVNode("main",Bl,[e.createVNode(d)])])])):e.createCommentVNode("",!0)],64)}}}),[["__scopeId","data-v-70b115a5"]]),xl=Object.freeze(Object.defineProperty({__proto__:null,default:Oe},Symbol.toStringTag,{value:"Module"})),bl={class:"tabs-wrapper"},Sl={class:"tab-label"},$l=["onClick"],Il=K(e.defineComponent({__name:"Tabs",setup(t){const n=P.useRoute(),l=P.useRouter(),s=e.computed(()=>{const o=[];return n.matched.forEach(h=>{var g;(g=h.meta)!=null&&g.affix&&o.push({name:h.name,title:h.meta.title,path:h.path,affix:!0})}),o}),a=e.computed(()=>n.path),r=o=>{l.push(o)},p=o=>{const h=s.value.find(g=>g.path===o);if(!(h!=null&&h.affix)&&o===a.value){const g=s.value.findIndex(y=>y.path===o),d=s.value[g-1]||s.value[g+1];d&&l.push(d.path)}};return(o,h)=>(e.openBlock(),e.createElementBlock("div",bl,[e.createVNode(e.unref(J.Tabs),{modelValue:a.value,"onUpdate:modelValue":h[0]||(h[0]=g=>a.value=g),type:"card",onTabClick:r},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,g=>(e.openBlock(),e.createBlock(e.unref(J.TabPane),{key:g.path,name:g.path,label:g.title,closable:!g.affix},{label:e.withCtx(()=>[e.createElementVNode("span",Sl,[e.createTextVNode(e.toDisplayString(g.title)+" ",1),g.affix?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",{key:0,class:"tab-close",onClick:e.withModifiers(d=>p(g.path),["stop"])}," ✕ ",8,$l))])]),_:2},1032,["name","label","closable"]))),128))]),_:1},8,["modelValue"])]))}}),[["__scopeId","data-v-9156d8cd"]]),Dl={},Tl={class:"footer"};function Ll(t,n){return e.openBlock(),e.createElementBlock("div",Tl,[...n[0]||(n[0]=[e.createElementVNode("span",null,"Copyright © 2024 Xto Demo. All Rights Reserved.",-1)])])}const Ml=K(Dl,[["render",Ll],["__scopeId","data-v-4852826a"]]),de=(()=>{const t=Vt.create({baseURL:void 0,timeout:3e4,headers:{"Content-Type":"application/json"}});return t.interceptors.request.use(n=>{const l=ge(),s=Je()||"Bearer";return l&&(n.headers.Authorization=`${s} ${l}`),n},n=>Promise.reject(n)),t.interceptors.response.use(n=>{const{data:l}=n;return l.code===200||l.code===0?l.data:l.code===9121?(z.Message.error("登录已过期,请重新登录"),ie(),window.location.href="/login",Promise.reject(new Error(l.message||"EXPIRED OR INVALID TOKEN"))):(z.Message.error(l.message||"请求失败"),Promise.reject(new Error(l.message||"请求失败")))},n=>{var s;const{response:l}=n;if(l){const{data:a}=l;if((a==null?void 0:a.code)===9121)return z.Message.error("登录已过期,请重新登录"),ie(),window.location.href="/login",Promise.reject(n);switch(l.status){case 401:z.Message.error("登录已过期,请重新登录"),ie(),window.location.href="/login";break;case 403:z.Message.error("没有权限访问");break;case 404:z.Message.error("请求资源不存在");break;case 500:z.Message.error("服务器错误");break;default:z.Message.error(((s=l.data)==null?void 0:s.message)||"请求失败")}}else z.Message.error("网络连接失败");return Promise.reject(n)}),t})(),A={get(t,n){return de.get(t,n)},post(t,n,l){return de.post(t,n,l)},put(t,n,l){return de.put(t,n,l)},patch(t,n,l){return de.patch(t,n,l)},delete(t,n){return de.delete(t,n)},download(t,n){return de.get(t,{...n,responseType:"blob"})}};function at(t){return A.post("/user/v1.0/login/by-domain",t)}function Ul(){return A.put("/user/v1.0/user/logout")}function st(){return A.get("/user/v1.0/user/get-me")}function zl(t){return A.post("/user/v1.0/refresh",{refreshToken:t})}const Al={class:"login"},Fl={class:"login__container"},rt=K(e.defineComponent({__name:"index",setup(t){const n=P.useRouter(),l=P.useRoute(),s=e.ref(!1),a=e.ref(!1),r=e.reactive({uid:"",password:""}),p={uid:[{required:!0,message:"请输入用户名",trigger:"blur"}],password:[{required:!0,message:"请输入密码",trigger:"blur"},{min:6,message:"密码长度至少6位",trigger:"blur"}]},o=e.ref(),h=async()=>{var g;try{await((g=o.value)==null?void 0:g.validate()),s.value=!0;const d=await at({appId:ue(),clientId:$e(),uid:r.uid,password:r.password,code:!0});Fe(d),z.Message.success("登录成功");const y=l.query.redirect||"/";n.push(y)}catch(d){console.error("登录失败:",d)}finally{s.value=!1}};return(g,d)=>(e.openBlock(),e.createElementBlock("div",Al,[e.createElementVNode("div",Fl,[d[5]||(d[5]=e.createElementVNode("div",{class:"login__header"},[e.createElementVNode("img",{src:Se,alt:"Logo",class:"login__logo"}),e.createElementVNode("h1",{class:"login__title"},"Xto Demo"),e.createElementVNode("p",{class:"login__subtitle"},"后台管理系统")],-1)),e.createVNode(e.unref(E.Form),{ref_key:"formRef",ref:o,model:r,rules:p,class:"login__form","label-width":"0"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.FormItem),{prop:"uid"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.Input),{modelValue:r.uid,"onUpdate:modelValue":d[0]||(d[0]=y=>r.uid=y),placeholder:"用户名",size:"large"},{prefix:e.withCtx(()=>[e.createVNode(e.unref(V.Icon),{name:"user",size:18})]),_:1},8,["modelValue"])]),_:1}),e.createVNode(e.unref(E.FormItem),{prop:"password"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.Input),{modelValue:r.password,"onUpdate:modelValue":d[1]||(d[1]=y=>r.password=y),type:"password",placeholder:"密码",size:"large","show-password":"",onKeyup:e.withKeys(h,["enter"])},{prefix:e.withCtx(()=>[e.createVNode(e.unref(V.Icon),{name:"lock",size:18})]),_:1},8,["modelValue"])]),_:1}),e.createVNode(e.unref(E.FormItem),null,{default:e.withCtx(()=>[e.createVNode(e.unref(E.Checkbox),{modelValue:a.value,"onUpdate:modelValue":d[2]||(d[2]=y=>a.value=y)},{default:e.withCtx(()=>[...d[3]||(d[3]=[e.createTextVNode("记住我",-1)])]),_:1},8,["modelValue"])]),_:1}),e.createVNode(e.unref(E.FormItem),null,{default:e.withCtx(()=>[e.createVNode(e.unref(V.Button),{type:"primary",size:"large",loading:s.value,class:"login__submit",onClick:h},{default:e.withCtx(()=>[...d[4]||(d[4]=[e.createTextVNode(" 登录 ",-1)])]),_:1},8,["loading"])]),_:1})]),_:1},8,["model"]),d[6]||(d[6]=e.createElementVNode("div",{class:"login__footer"},[e.createElementVNode("p",null,"请输入您的用户名和密码")],-1))])]))}}),[["__scopeId","data-v-f3e724b6"]]),Rl=Object.freeze(Object.defineProperty({__proto__:null,default:rt},Symbol.toStringTag,{value:"Module"})),Pl={class:"error-page"},Ol={class:"error-page__content"},it=K(e.defineComponent({__name:"404",setup(t){const n=P.useRouter(),l=()=>{n.push("/")};return(s,a)=>(e.openBlock(),e.createElementBlock("div",Pl,[e.createElementVNode("div",Ol,[a[1]||(a[1]=e.createElementVNode("div",{class:"error-page__code"},"404",-1)),a[2]||(a[2]=e.createElementVNode("div",{class:"error-page__title"},"页面不存在",-1)),a[3]||(a[3]=e.createElementVNode("div",{class:"error-page__desc"},"抱歉,您访问的页面不存在或已被删除",-1)),e.createVNode(e.unref(V.Button),{type:"primary",onClick:l},{default:e.withCtx(()=>[...a[0]||(a[0]=[e.createTextVNode("返回首页",-1)])]),_:1})])]))}}),[["__scopeId","data-v-3b47f5bc"]]),ct=Object.freeze(Object.defineProperty({__proto__:null,default:it},Symbol.toStringTag,{value:"Module"})),ql={class:"error-page"},jl={class:"error-page__content"},Kl=K(e.defineComponent({__name:"403",setup(t){const n=P.useRouter(),l=()=>{n.push("/")};return(s,a)=>(e.openBlock(),e.createElementBlock("div",ql,[e.createElementVNode("div",jl,[a[1]||(a[1]=e.createElementVNode("div",{class:"error-page__code"},"403",-1)),a[2]||(a[2]=e.createElementVNode("div",{class:"error-page__title"},"无访问权限",-1)),a[3]||(a[3]=e.createElementVNode("div",{class:"error-page__desc"},"抱歉,您没有权限访问此页面",-1)),e.createVNode(e.unref(V.Button),{type:"primary",onClick:l},{default:e.withCtx(()=>[...a[0]||(a[0]=[e.createTextVNode("返回首页",-1)])]),_:1})])]))}}),[["__scopeId","data-v-3081df6c"]]);function Yl(){const t=ee(),n=X(),l=ce(),s=e.computed(()=>n.userName||""),a=e.computed(()=>n.userInfo),r=e.computed(()=>t.appName),p=e.computed(()=>l.isLoggedIn),o=e.computed(()=>t.isDark),h=e.computed(()=>t.theme),g=e.computed(()=>t.isCollapsed),d=e.computed(()=>t.layout);return{userName:s,userInfo:a,appName:r,isLoggedIn:p,isDark:o,theme:h,isCollapsed:g,layout:d,toggleTheme:()=>{t.toggleTheme()},toggleCollapse:()=>{t.toggleCollapse()}}}function Wl(){const t=X();return{isLoggedIn:e.computed(()=>t.isLoggedIn)}}function Xl(t,n={}){const{rules:l,onSubmit:s}=n,a=e.ref(),r=e.reactive({...t}),p=e.ref(!1),o=e.ref(!1),h=e.ref(!1),g=()=>{x(),h.value=!1,o.value=!0},d=I=>{Object.assign(r,I),h.value=!0,o.value=!0},y=()=>{o.value=!1,x()},x=()=>{var I;Object.keys(t).forEach(N=>{r[N]=t[N]}),(I=a.value)==null||I.resetFields()};return{formRef:a,formData:r,rules:l,loading:p,visible:o,isEdit:h,openAdd:g,openEdit:d,close:y,resetForm:x,handleSubmit:async()=>{var I;try{await((I=a.value)==null?void 0:I.validate()),p.value=!0,await(s==null?void 0:s(r)),y()}catch(N){console.error(N)}finally{p.value=!1}}}}function Gl(t){const{fetchData:n,defaultPageSize:l=10}=t,s=e.ref(!1),a=e.ref([]),r=e.ref(0),p=e.ref(1),o=e.ref(l),h=e.reactive({}),g=async()=>{s.value=!0;try{const f={...h,page:p.value,pageSize:o.value},S=await n(f);a.value=S.list,r.value=S.total}catch(f){console.error(f)}finally{s.value=!1}},d=()=>{p.value=1,g()},y=()=>{Object.keys(h).forEach(f=>{h[f]=void 0}),p.value=1,g()},x=f=>{p.value=f,g()},T=f=>{o.value=f,p.value=1,g()},I=()=>{g()},N=e.computed(()=>({current:p.value,pageSize:o.value,total:r.value}));return{loading:s,data:a,total:r,currentPage:p,pageSize:o,searchParams:h,pagination:N,getData:g,handleSearch:d,handleReset:y,handlePageChange:x,handleSizeChange:T,refresh:I}}function Hl(t){return X().isLoggedIn}function Jl(t){return X().isLoggedIn}function Ql(){return!0}const qe=[{path:"/login",name:"Login",component:()=>Promise.resolve().then(()=>Rl),meta:{title:"登录",hidden:!0}}],je={path:"/",name:"Layout",component:()=>Promise.resolve().then(()=>xl),redirect:"/dashboard",children:[{path:"/dashboard",name:"Dashboard",component:()=>Promise.resolve().then(()=>ft),meta:{title:"仪表盘",icon:"dashboard",keepAlive:!0,affix:!0}},{path:"/system/user",name:"SystemUser",component:()=>Promise.resolve().then(()=>ht),meta:{title:"用户管理",icon:"user",keepAlive:!0}},{path:"/system/role",name:"SystemRole",component:()=>Promise.resolve().then(()=>_t),meta:{title:"角色管理",icon:"role",keepAlive:!0}},{path:"/system/menu",name:"SystemMenu",component:()=>Promise.resolve().then(()=>gt),meta:{title:"菜单管理",icon:"menu",keepAlive:!0}},{path:"/:pathMatch(.*)*",name:"CatchAll",component:()=>Promise.resolve().then(()=>ct),meta:{title:"404",hidden:!0}}]},Zl=[{path:"/dashboard",name:"Dashboard",component:()=>Promise.resolve().then(()=>ft),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(()=>ht),meta:{title:"用户管理",icon:"user",keepAlive:!0}},{path:"role",name:"SystemRole",component:()=>Promise.resolve().then(()=>_t),meta:{title:"角色管理",icon:"role",keepAlive:!0}},{path:"menu",name:"SystemMenu",component:()=>Promise.resolve().then(()=>gt),meta:{title:"菜单管理",icon:"menu",keepAlive:!0}}]}],dt=[{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}]}],Ke=P.createRouter({history:P.createWebHistory(),routes:[...qe,je],scrollBehavior:()=>({left:0,top:0})}),vl=["/login"];Ke.beforeEach(async(t,n,l)=>{const s=ee();if(s.initTheme(),Re())if(t.path==="/login")l({path:"/"});else{const a=X();a.isLoggedIn||(a.setUserInfo({appId:ue(),userId:"1",userName:"管理员",departmentName:"技术部",email:"admin@example.com",mobilePhone:"13800138000",positionName:"管理员",avatar:""}),oe().setMenuList(dt)),t.name&&t.meta.keepAlive&&s.addCachedView(t.name),l()}else vl.includes(t.path)?l():l("/login")});function ea(){const t=P.createRouter({history:P.createWebHistory(),routes:[...qe,je]});Ke.matcher=t.matcher}function ta(t,n={}){const l=n.indexPath||"/dashboard",s={path:"/:pathMatch(.*)*",name:"CatchAll",component:()=>Promise.resolve().then(()=>ct),meta:{title:"404"}};return{path:"/",name:"Layout",component:Oe,redirect:l,children:[...t,s]}}function na(t){return P.createRouter({history:P.createWebHistory(),routes:t,scrollBehavior:()=>({left:0,top:0})})}function oa(t){return A.get("/role/list",{params:t})}function la(t){return A.get(`/role/${t}`)}function aa(t){return A.post("/role",t)}function sa(t,n){return A.put(`/role/${t}`,n)}function ra(t){return A.delete(`/role/${t}`)}function ia(t,n){return A.patch(`/role/${t}/status`,{status:n})}function ca(){return A.get("/user/v1.0/menu/list")}function mt(t){const n=t||ue();return A.get(`/user/v1.0/menu/get-menu?appId=${n}`)}function da(t){return A.post("/menu",t)}function ma(t,n){return A.put(`/menu/${t}`,n)}function pa(t){return A.delete(`/menu/${t}`)}const ua=["/login","/404","/403"];function fa(t,n={}){const l=n.whiteList||ua,s=n.loginPath||"/login",a=n.homePath||"/";t.beforeEach(async(r,p,o)=>{const h=ee(),g=X(),d=oe();if(h.initTheme(),ge())if(r.path===s)o({path:a});else if(g.isLoggedIn)r.name&&r.meta.keepAlive&&h.addCachedView(r.name),o();else try{if(n.fetchUserInfo){const x=await n.fetchUserInfo();g.setUserInfo(x)}else{const x=await st();g.setUserInfo(x)}if(n.fetchMenu){const x=await n.fetchMenu();d.setMenuList(x)}else{const x=await mt(n.appId);d.setMenuList(x)}n.onLoginSuccess&&n.onLoginSuccess(),r.name&&r.meta.keepAlive&&h.addCachedView(r.name),o({...r,replace:!0})}catch(x){console.error("获取用户信息失败:",x),g.clearUserInfo(),d.clearMenu(),ie(),o({path:s,query:{redirect:r.fullPath}})}else l.includes(r.path)?o():o({path:s,query:{redirect:r.fullPath}})}),t.afterEach(()=>{})}function ha(t){return A.get("/user/list",{params:t})}function _a(t){return A.get(`/user/${t}`)}function ga(t){return A.post("/user",t)}function Na(t,n){return A.put(`/user/${t}`,n)}function Va(t){return A.delete(`/user/${t}`)}function ka(t){return A.post("/user/batch-delete",{ids:t})}function Ea(t,n){return A.patch(`/user/${t}/status`,{status:n})}function ya(t){return A.post(`/user/${t}/reset-password`)}var D=(t=>(t[t.ENABLED=1]="ENABLED",t[t.DISABLED=0]="DISABLED",t))(D||{}),pt=(t=>(t[t.UNKNOWN=0]="UNKNOWN",t[t.MALE=1]="MALE",t[t.FEMALE=2]="FEMALE",t))(pt||{}),j=(t=>(t[t.DIRECTORY=0]="DIRECTORY",t[t.MENU=1]="MENU",t[t.BUTTON=2]="BUTTON",t))(j||{});const wa={1:"启用",0:"禁用"},Ca={0:"未知",1:"男",2:"女"},Ba={0:"目录",1:"菜单",2:"按钮"},Ye=[{label:"启用",value:1},{label:"禁用",value:0}],xa=[{label:"未知",value:0},{label:"男",value:1},{label:"女",value:2}],ut=[{label:"目录",value:0},{label:"菜单",value:1},{label:"按钮",value:2}],ba={mounted(t,n){var s;X().isLoggedIn||(s=t.parentNode)==null||s.removeChild(t)}};function Sa(t){return We({appId:t.appId,clientId:t.clientId,apiBaseUrl:t.apiBaseUrl}),{config:{appName:t.appName||"XTO App",appId:ue(),clientId:$e(),apiBaseUrl:Xe(),indexPath:t.indexPath||"/dashboard",loginPath:t.loginPath||"/login"}}}const $a={class:"dashboard"},Ia={class:"dashboard__stats"},Da={class:"stat-card__content"},Ta={class:"stat-card__info"},La={class:"stat-card__title"},Ma={class:"dashboard__main"},Ua={class:"quick-links"},za={class:"quick-link__icon"},Aa={class:"quick-link__title"},Fa={class:"activity-list"},Ra={class:"activity-item__action"},Pa={class:"activity-item__time"},Oa={class:"system-info"},qa={class:"system-info__item"},ja={class:"system-info__item"},ft=Object.freeze(Object.defineProperty({__proto__:null,default:K(e.defineComponent({__name:"index",setup(t){const n=e.ref([{title:"用户总数",value:1234,icon:"👥",color:"#409eff"},{title:"今日访问",value:567,icon:"👀",color:"#67c23a"},{title:"订单数量",value:890,icon:"📦",color:"#e6a23c"},{title:"销售金额",value:123456,icon:"💰",color:"#f56c6c"}]),l=e.ref([{user:"张三",action:"登录系统",time:"2分钟前",type:"success"},{user:"李四",action:"修改了用户信息",time:"5分钟前",type:"warning"},{user:"王五",action:"创建了新订单",time:"10分钟前",type:"info"},{user:"赵六",action:"删除了测试数据",time:"30分钟前",type:"danger"},{user:"钱七",action:"更新了系统配置",time:"1小时前",type:"primary"}]),s=e.ref([{title:"用户管理",path:"/system/user",icon:"👤"},{title:"角色管理",path:"/system/role",icon:"👥"},{title:"菜单管理",path:"/system/menu",icon:"📋"},{title:"系统设置",path:"/system",icon:"⚙️"}]);return(a,r)=>{const p=e.resolveComponent("router-link");return e.openBlock(),e.createElementBlock("div",$a,[e.createElementVNode("div",Ia,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,o=>(e.openBlock(),e.createBlock(e.unref(F.Card),{key:o.title,class:"stat-card"},{default:e.withCtx(()=>[e.createElementVNode("div",Da,[e.createElementVNode("div",{class:"stat-card__icon",style:e.normalizeStyle({backgroundColor:o.color+"20"})},e.toDisplayString(o.icon),5),e.createElementVNode("div",Ta,[e.createElementVNode("div",La,e.toDisplayString(o.title),1),e.createElementVNode("div",{class:"stat-card__value",style:e.normalizeStyle({color:o.color})},e.toDisplayString(o.value.toLocaleString()),5)])])]),_:2},1024))),128))]),e.createElementVNode("div",Ma,[e.createVNode(e.unref(F.Card),{class:"dashboard__quick"},{header:e.withCtx(()=>[...r[0]||(r[0]=[e.createElementVNode("span",{class:"card-title"},"快捷入口",-1)])]),default:e.withCtx(()=>[e.createElementVNode("div",Ua,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,o=>(e.openBlock(),e.createBlock(p,{key:o.path,to:o.path,class:"quick-link"},{default:e.withCtx(()=>[e.createElementVNode("span",za,e.toDisplayString(o.icon),1),e.createElementVNode("span",Aa,e.toDisplayString(o.title),1)]),_:2},1032,["to"]))),128))])]),_:1}),e.createVNode(e.unref(F.Card),{class:"dashboard__activity"},{header:e.withCtx(()=>[...r[1]||(r[1]=[e.createElementVNode("span",{class:"card-title"},"最近活动",-1)])]),default:e.withCtx(()=>[e.createElementVNode("div",Fa,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,(o,h)=>(e.openBlock(),e.createElementBlock("div",{key:h,class:"activity-item"},[e.createVNode(e.unref(F.Tag),{type:o.type,size:"small"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.user),1)]),_:2},1032,["type"]),e.createElementVNode("span",Ra,e.toDisplayString(o.action),1),e.createElementVNode("span",Pa,e.toDisplayString(o.time),1)]))),128))])]),_:1})]),e.createVNode(e.unref(F.Card),{class:"dashboard__system"},{header:e.withCtx(()=>[...r[2]||(r[2]=[e.createElementVNode("span",{class:"card-title"},"系统信息",-1)])]),default:e.withCtx(()=>[e.createElementVNode("div",Oa,[r[5]||(r[5]=e.createElementVNode("div",{class:"system-info__item"},[e.createElementVNode("span",{class:"system-info__label"},"系统版本"),e.createElementVNode("span",{class:"system-info__value"},"v1.0.0")],-1)),r[6]||(r[6]=e.createElementVNode("div",{class:"system-info__item"},[e.createElementVNode("span",{class:"system-info__label"},"Vue 版本"),e.createElementVNode("span",{class:"system-info__value"},"3.4.21")],-1)),r[7]||(r[7]=e.createElementVNode("div",{class:"system-info__item"},[e.createElementVNode("span",{class:"system-info__label"},"构建工具"),e.createElementVNode("span",{class:"system-info__value"},"Vite 5")],-1)),r[8]||(r[8]=e.createElementVNode("div",{class:"system-info__item"},[e.createElementVNode("span",{class:"system-info__label"},"UI 组件库"),e.createElementVNode("span",{class:"system-info__value"},"xto")],-1)),e.createElementVNode("div",qa,[r[3]||(r[3]=e.createElementVNode("span",{class:"system-info__label"},"服务器状态",-1)),e.createVNode(e.unref(F.Progress),{percentage:75,status:"success"})]),e.createElementVNode("div",ja,[r[4]||(r[4]=e.createElementVNode("span",{class:"system-info__label"},"内存使用",-1)),e.createVNode(e.unref(F.Progress),{percentage:45})])])]),_:1})])}}}),[["__scopeId","data-v-44648cb1"]])},Symbol.toStringTag,{value:"Module"})),Ka={class:"user-page"},Ya={class:"toolbar"},Wa={class:"data-table"},Xa={key:0},Ga={key:1},Ha={class:"pagination-wrapper"},ht=Object.freeze(Object.defineProperty({__proto__:null,default:K(e.defineComponent({__name:"index",setup(t){const n=[{id:1,username:"admin",nickname:"管理员",email:"admin@example.com",phone:"13800138001",status:D.ENABLED,roles:["admin"],createTime:"2024-01-01 10:00:00"},{id:2,username:"zhangsan",nickname:"张三",email:"zhangsan@example.com",phone:"13800138002",status:D.ENABLED,roles:["editor"],createTime:"2024-01-02 10:00:00"},{id:3,username:"lisi",nickname:"李四",email:"lisi@example.com",phone:"13800138003",status:D.DISABLED,roles:["viewer"],createTime:"2024-01-03 10:00:00"},{id:4,username:"wangwu",nickname:"王五",email:"wangwu@example.com",phone:"13800138004",status:D.ENABLED,roles:["editor"],createTime:"2024-01-04 10:00:00"},{id:5,username:"zhaoliu",nickname:"赵六",email:"zhaoliu@example.com",phone:"13800138005",status:D.ENABLED,roles:["viewer"],createTime:"2024-01-05 10:00:00"}],l=e.ref(!1),s=e.ref([]),a=e.ref(0),r=e.ref(1),p=e.ref(10),o=e.reactive({keyword:"",status:void 0}),h=e.ref(!1),g=e.computed(()=>d.id?"编辑用户":"新增用户"),d=e.reactive({id:0,username:"",nickname:"",email:"",phone:"",status:D.ENABLED,roles:[]}),y={username:[{required:!0,message:"请输入用户名",trigger:"blur"}],nickname:[{required:!0,message:"请输入昵称",trigger:"blur"}],email:[{required:!0,message:"请输入邮箱",trigger:"blur"},{type:"email",message:"请输入正确的邮箱格式",trigger:"blur"}]},x=e.ref(),T=()=>{l.value=!0,setTimeout(()=>{let _=[...n];o.keyword&&(_=_.filter(m=>m.username.includes(o.keyword)||m.nickname.includes(o.keyword))),o.status!==void 0&&(_=_.filter(m=>m.status===o.status)),a.value=_.length,s.value=_.slice((r.value-1)*p.value,r.value*p.value),l.value=!1},300)},I=()=>{r.value=1,T()},N=()=>{o.keyword="",o.status=void 0,r.value=1,T()},f=()=>{Object.assign(d,{id:0,username:"",nickname:"",email:"",phone:"",status:D.ENABLED,roles:[]}),h.value=!0},S=_=>{Object.assign(d,_),h.value=!0},R=_=>{z.Message.success("删除成功"),T()},q=async()=>{var _;try{await((_=x.value)==null?void 0:_.validate()),z.Message.success(d.id?"编辑成功":"新增成功"),h.value=!1,T()}catch(m){console.error(m)}},M=_=>{z.Message.success(`已${_.status===D.ENABLED?"启用":"禁用"}用户 ${_.username}`)};return e.onMounted(()=>{T()}),(_,m)=>(e.openBlock(),e.createElementBlock("div",Ka,[e.createVNode(e.unref(F.Card),{class:"search-card"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.Form),{model:o,inline:""},{default:e.withCtx(()=>[e.createVNode(e.unref(E.FormItem),{label:"关键词"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.Input),{modelValue:o.keyword,"onUpdate:modelValue":m[0]||(m[0]=w=>o.keyword=w),placeholder:"用户名/昵称",clearable:"",onKeyup:e.withKeys(I,["enter"])},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(E.FormItem),{label:"状态"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.Select),{modelValue:o.status,"onUpdate:modelValue":m[1]||(m[1]=w=>o.status=w),options:e.unref(Ye),placeholder:"请选择",clearable:""},null,8,["modelValue","options"])]),_:1}),e.createVNode(e.unref(E.FormItem),null,{default:e.withCtx(()=>[e.createVNode(e.unref(V.Space),null,{default:e.withCtx(()=>[e.createVNode(e.unref(V.Button),{type:"primary",onClick:I},{default:e.withCtx(()=>[...m[11]||(m[11]=[e.createTextVNode("搜索",-1)])]),_:1}),e.createVNode(e.unref(V.Button),{onClick:N},{default:e.withCtx(()=>[...m[12]||(m[12]=[e.createTextVNode("重置",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),e.createVNode(e.unref(F.Card),{class:"table-card"},{default:e.withCtx(()=>[e.createElementVNode("div",Ya,[e.createVNode(e.unref(V.Button),{type:"primary",onClick:f},{default:e.withCtx(()=>[...m[13]||(m[13]=[e.createTextVNode("新增用户",-1)])]),_:1})]),e.createElementVNode("table",Wa,[m[18]||(m[18]=e.createElementVNode("thead",null,[e.createElementVNode("tr",null,[e.createElementVNode("th",null,"ID"),e.createElementVNode("th",null,"用户名"),e.createElementVNode("th",null,"昵称"),e.createElementVNode("th",null,"邮箱"),e.createElementVNode("th",null,"手机号"),e.createElementVNode("th",null,"角色"),e.createElementVNode("th",null,"状态"),e.createElementVNode("th",null,"创建时间"),e.createElementVNode("th",null,"操作")])],-1)),e.createElementVNode("tbody",null,[l.value?(e.openBlock(),e.createElementBlock("tr",Xa,[...m[14]||(m[14]=[e.createElementVNode("td",{colspan:"9",class:"loading-cell"},"加载中...",-1)])])):s.value.length===0?(e.openBlock(),e.createElementBlock("tr",Ga,[...m[15]||(m[15]=[e.createElementVNode("td",{colspan:"9",class:"empty-cell"},"暂无数据",-1)])])):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:2},e.renderList(s.value,w=>(e.openBlock(),e.createElementBlock("tr",{key:w.id},[e.createElementVNode("td",null,e.toDisplayString(w.id),1),e.createElementVNode("td",null,e.toDisplayString(w.username),1),e.createElementVNode("td",null,e.toDisplayString(w.nickname),1),e.createElementVNode("td",null,e.toDisplayString(w.email),1),e.createElementVNode("td",null,e.toDisplayString(w.phone),1),e.createElementVNode("td",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(w.roles,O=>(e.openBlock(),e.createBlock(e.unref(F.Tag),{key:O,size:"small"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(O),1)]),_:2},1024))),128))]),e.createElementVNode("td",null,[e.createVNode(e.unref(E.Switch),{"model-value":w.status===e.unref(D).ENABLED,"onUpdate:modelValue":O=>{w.status=O?e.unref(D).ENABLED:e.unref(D).DISABLED,M(w)}},null,8,["model-value","onUpdate:modelValue"])]),e.createElementVNode("td",null,e.toDisplayString(w.createTime),1),e.createElementVNode("td",null,[e.createVNode(e.unref(V.Space),null,{default:e.withCtx(()=>[e.createVNode(e.unref(V.Button),{type:"primary",link:"",size:"small",onClick:O=>S(w)},{default:e.withCtx(()=>[...m[16]||(m[16]=[e.createTextVNode("编辑",-1)])]),_:1},8,["onClick"]),e.createVNode(e.unref(z.Popconfirm),{title:"确定删除该用户吗?",onConfirm:O=>R(w.id)},{default:e.withCtx(()=>[e.createVNode(e.unref(V.Button),{type:"danger",link:"",size:"small"},{default:e.withCtx(()=>[...m[17]||(m[17]=[e.createTextVNode("删除",-1)])]),_:1})]),_:1},8,["onConfirm"])]),_:2},1024)])]))),128))])]),e.createElementVNode("div",Ha,[e.createVNode(e.unref(F.Pagination),{"current-page":r.value,"onUpdate:currentPage":m[2]||(m[2]=w=>r.value=w),"page-size":p.value,"onUpdate:pageSize":m[3]||(m[3]=w=>p.value=w),total:a.value,"page-sizes":[10,20,50,100],layout:"total, sizes, prev, pager, next",onCurrentChange:T,onSizeChange:T},null,8,["current-page","page-size","total"])])]),_:1}),e.createVNode(e.unref(z.Modal),{modelValue:h.value,"onUpdate:modelValue":m[10]||(m[10]=w=>h.value=w),title:g.value,width:"500px"},{footer:e.withCtx(()=>[e.createVNode(e.unref(V.Space),null,{default:e.withCtx(()=>[e.createVNode(e.unref(V.Button),{onClick:m[9]||(m[9]=w=>h.value=!1)},{default:e.withCtx(()=>[...m[19]||(m[19]=[e.createTextVNode("取消",-1)])]),_:1}),e.createVNode(e.unref(V.Button),{type:"primary",onClick:q},{default:e.withCtx(()=>[...m[20]||(m[20]=[e.createTextVNode("确定",-1)])]),_:1})]),_:1})]),default:e.withCtx(()=>[e.createVNode(e.unref(E.Form),{ref_key:"formRef",ref:x,model:d,rules:y,"label-width":"80px"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.FormItem),{label:"用户名",prop:"username"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.Input),{modelValue:d.username,"onUpdate:modelValue":m[4]||(m[4]=w=>d.username=w),placeholder:"请输入用户名"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(E.FormItem),{label:"昵称",prop:"nickname"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.Input),{modelValue:d.nickname,"onUpdate:modelValue":m[5]||(m[5]=w=>d.nickname=w),placeholder:"请输入昵称"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(E.FormItem),{label:"邮箱",prop:"email"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.Input),{modelValue:d.email,"onUpdate:modelValue":m[6]||(m[6]=w=>d.email=w),placeholder:"请输入邮箱"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(E.FormItem),{label:"手机号",prop:"phone"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.Input),{modelValue:d.phone,"onUpdate:modelValue":m[7]||(m[7]=w=>d.phone=w),placeholder:"请输入手机号"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(E.FormItem),{label:"状态"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.Switch),{modelValue:d.status,"onUpdate:modelValue":m[8]||(m[8]=w=>d.status=w),"active-value":e.unref(D).ENABLED,"inactive-value":e.unref(D).DISABLED},null,8,["modelValue","active-value","inactive-value"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])]))}}),[["__scopeId","data-v-d2491ae0"]])},Symbol.toStringTag,{value:"Module"})),Ja={class:"role-page"},Qa={class:"toolbar"},Za={class:"data-table"},va={key:0},es={key:1},ts={class:"pagination-wrapper"},_t=Object.freeze(Object.defineProperty({__proto__:null,default:K(e.defineComponent({__name:"index",setup(t){const n=[{id:1,name:"超级管理员",code:"admin",description:"拥有所有权限",status:D.ENABLED,permissions:["*"],createTime:"2024-01-01 10:00:00"},{id:2,name:"编辑",code:"editor",description:"内容编辑权限",status:D.ENABLED,permissions:["user:read","user:write"],createTime:"2024-01-02 10:00:00"},{id:3,name:"访客",code:"viewer",description:"只读权限",status:D.ENABLED,permissions:["user:read"],createTime:"2024-01-03 10:00:00"}],l=e.ref(!1),s=e.ref([]),a=e.ref(0),r=e.ref(1),p=e.ref(10),o=e.reactive({keyword:"",status:void 0}),h=e.ref(!1),g=e.computed(()=>d.id?"编辑角色":"新增角色"),d=e.reactive({id:0,name:"",code:"",description:"",status:D.ENABLED,permissions:[]}),y={name:[{required:!0,message:"请输入角色名称",trigger:"blur"}],code:[{required:!0,message:"请输入角色编码",trigger:"blur"}]},x=e.ref(),T=()=>{l.value=!0,setTimeout(()=>{let M=[...n];o.keyword&&(M=M.filter(_=>_.name.includes(o.keyword)||_.code.includes(o.keyword))),o.status!==void 0&&(M=M.filter(_=>_.status===o.status)),a.value=M.length,s.value=M.slice((r.value-1)*p.value,r.value*p.value),l.value=!1},300)},I=()=>{r.value=1,T()},N=()=>{o.keyword="",o.status=void 0,r.value=1,T()},f=()=>{Object.assign(d,{id:0,name:"",code:"",description:"",status:D.ENABLED,permissions:[]}),h.value=!0},S=M=>{Object.assign(d,M),h.value=!0},R=M=>{z.Message.success("删除成功"),T()},q=async()=>{var M;try{await((M=x.value)==null?void 0:M.validate()),z.Message.success(d.id?"编辑成功":"新增成功"),h.value=!1,T()}catch(_){console.error(_)}};return e.onMounted(()=>{T()}),(M,_)=>(e.openBlock(),e.createElementBlock("div",Ja,[e.createVNode(e.unref(F.Card),{class:"search-card"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.Form),{model:o,inline:""},{default:e.withCtx(()=>[e.createVNode(e.unref(E.FormItem),{label:"关键词"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.Input),{modelValue:o.keyword,"onUpdate:modelValue":_[0]||(_[0]=m=>o.keyword=m),placeholder:"角色名称/编码",clearable:"",onKeyup:e.withKeys(I,["enter"])},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(E.FormItem),{label:"状态"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.Select),{modelValue:o.status,"onUpdate:modelValue":_[1]||(_[1]=m=>o.status=m),options:e.unref(Ye),placeholder:"请选择",clearable:""},null,8,["modelValue","options"])]),_:1}),e.createVNode(e.unref(E.FormItem),null,{default:e.withCtx(()=>[e.createVNode(e.unref(V.Space),null,{default:e.withCtx(()=>[e.createVNode(e.unref(V.Button),{type:"primary",onClick:I},{default:e.withCtx(()=>[..._[10]||(_[10]=[e.createTextVNode("搜索",-1)])]),_:1}),e.createVNode(e.unref(V.Button),{onClick:N},{default:e.withCtx(()=>[..._[11]||(_[11]=[e.createTextVNode("重置",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),e.createVNode(e.unref(F.Card),{class:"table-card"},{default:e.withCtx(()=>[e.createElementVNode("div",Qa,[e.createVNode(e.unref(V.Button),{type:"primary",onClick:f},{default:e.withCtx(()=>[..._[12]||(_[12]=[e.createTextVNode("新增角色",-1)])]),_:1})]),e.createElementVNode("table",Za,[_[17]||(_[17]=e.createElementVNode("thead",null,[e.createElementVNode("tr",null,[e.createElementVNode("th",null,"ID"),e.createElementVNode("th",null,"角色名称"),e.createElementVNode("th",null,"角色编码"),e.createElementVNode("th",null,"描述"),e.createElementVNode("th",null,"状态"),e.createElementVNode("th",null,"创建时间"),e.createElementVNode("th",null,"操作")])],-1)),e.createElementVNode("tbody",null,[l.value?(e.openBlock(),e.createElementBlock("tr",va,[..._[13]||(_[13]=[e.createElementVNode("td",{colspan:"7",class:"loading-cell"},"加载中...",-1)])])):s.value.length===0?(e.openBlock(),e.createElementBlock("tr",es,[..._[14]||(_[14]=[e.createElementVNode("td",{colspan:"7",class:"empty-cell"},"暂无数据",-1)])])):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:2},e.renderList(s.value,m=>(e.openBlock(),e.createElementBlock("tr",{key:m.id},[e.createElementVNode("td",null,e.toDisplayString(m.id),1),e.createElementVNode("td",null,e.toDisplayString(m.name),1),e.createElementVNode("td",null,[e.createVNode(e.unref(F.Tag),{type:"primary",size:"small"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(m.code),1)]),_:2},1024)]),e.createElementVNode("td",null,e.toDisplayString(m.description),1),e.createElementVNode("td",null,[e.createVNode(e.unref(F.Tag),{type:m.status===e.unref(D).ENABLED?"success":"danger",size:"small"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(m.status===e.unref(D).ENABLED?"启用":"禁用"),1)]),_:2},1032,["type"])]),e.createElementVNode("td",null,e.toDisplayString(m.createTime),1),e.createElementVNode("td",null,[e.createVNode(e.unref(V.Space),null,{default:e.withCtx(()=>[e.createVNode(e.unref(V.Button),{type:"primary",link:"",size:"small",onClick:w=>S(m)},{default:e.withCtx(()=>[..._[15]||(_[15]=[e.createTextVNode("编辑",-1)])]),_:1},8,["onClick"]),e.createVNode(e.unref(z.Popconfirm),{title:"确定删除该角色吗?",onConfirm:w=>R(m.id)},{default:e.withCtx(()=>[e.createVNode(e.unref(V.Button),{type:"danger",link:"",size:"small"},{default:e.withCtx(()=>[..._[16]||(_[16]=[e.createTextVNode("删除",-1)])]),_:1})]),_:1},8,["onConfirm"])]),_:2},1024)])]))),128))])]),e.createElementVNode("div",ts,[e.createVNode(e.unref(F.Pagination),{"current-page":r.value,"onUpdate:currentPage":_[2]||(_[2]=m=>r.value=m),"page-size":p.value,"onUpdate:pageSize":_[3]||(_[3]=m=>p.value=m),total:a.value,"page-sizes":[10,20,50,100],layout:"total, sizes, prev, pager, next",onCurrentChange:T,onSizeChange:T},null,8,["current-page","page-size","total"])])]),_:1}),e.createVNode(e.unref(z.Modal),{modelValue:h.value,"onUpdate:modelValue":_[9]||(_[9]=m=>h.value=m),title:g.value,width:"500px"},{footer:e.withCtx(()=>[e.createVNode(e.unref(V.Space),null,{default:e.withCtx(()=>[e.createVNode(e.unref(V.Button),{onClick:_[8]||(_[8]=m=>h.value=!1)},{default:e.withCtx(()=>[..._[18]||(_[18]=[e.createTextVNode("取消",-1)])]),_:1}),e.createVNode(e.unref(V.Button),{type:"primary",onClick:q},{default:e.withCtx(()=>[..._[19]||(_[19]=[e.createTextVNode("确定",-1)])]),_:1})]),_:1})]),default:e.withCtx(()=>[e.createVNode(e.unref(E.Form),{ref_key:"formRef",ref:x,model:d,rules:y,"label-width":"80px"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.FormItem),{label:"角色名称",prop:"name"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.Input),{modelValue:d.name,"onUpdate:modelValue":_[4]||(_[4]=m=>d.name=m),placeholder:"请输入角色名称"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(E.FormItem),{label:"角色编码",prop:"code"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.Input),{modelValue:d.code,"onUpdate:modelValue":_[5]||(_[5]=m=>d.code=m),placeholder:"请输入角色编码"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(E.FormItem),{label:"描述"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.Input),{modelValue:d.description,"onUpdate:modelValue":_[6]||(_[6]=m=>d.description=m),placeholder:"请输入描述"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(E.FormItem),{label:"状态"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.Switch),{modelValue:d.status,"onUpdate:modelValue":_[7]||(_[7]=m=>d.status=m),"active-value":e.unref(D).ENABLED,"inactive-value":e.unref(D).DISABLED},null,8,["modelValue","active-value","inactive-value"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])]))}}),[["__scopeId","data-v-8ad30bc6"]])},Symbol.toStringTag,{value:"Module"})),ns={class:"menu-page"},os={class:"toolbar"},ls={class:"menu-tree"},as={class:"tree-table"},ss={class:"tree-row tree-row--level-0"},rs=["onClick"],is=["onClick"],gt=Object.freeze(Object.defineProperty({__proto__:null,default:K(e.defineComponent({__name:"index",setup(t){const n=[{id:1,parentId:null,name:"Dashboard",path:"/dashboard",component:"dashboard/index",redirect:"",icon:"dashboard",title:"仪表盘",type:j.MENU,sort:1,status:D.ENABLED,hidden:!1,keepAlive:!0},{id:2,parentId:null,name:"System",path:"/system",component:"",redirect:"/system/user",icon:"setting",title:"系统管理",type:j.DIRECTORY,sort:2,status:D.ENABLED,hidden:!1,keepAlive:!1,children:[{id:21,parentId:2,name:"SystemUser",path:"/system/user",component:"system/user/index",redirect:"",icon:"user",title:"用户管理",type:j.MENU,sort:1,status:D.ENABLED,hidden:!1,keepAlive:!0},{id:22,parentId:2,name:"SystemRole",path:"/system/role",component:"system/role/index",redirect:"",icon:"role",title:"角色管理",type:j.MENU,sort:2,status:D.ENABLED,hidden:!1,keepAlive:!0},{id:23,parentId:2,name:"SystemMenu",path:"/system/menu",component:"system/menu/index",redirect:"",icon:"menu",title:"菜单管理",type:j.MENU,sort:3,status:D.ENABLED,hidden:!1,keepAlive:!0}]}],l=e.ref(!1),s=e.ref([]),a=e.ref(!1),r=e.computed(()=>p.id?"编辑菜单":"新增菜单"),p=e.reactive({id:0,parentId:null,name:"",path:"",component:"",redirect:"",icon:"",title:"",type:j.MENU,sort:0,status:D.ENABLED,hidden:!1,keepAlive:!0}),o={name:[{required:!0,message:"请输入菜单名称",trigger:"blur"}],path:[{required:!0,message:"请输入路由路径",trigger:"blur"}],title:[{required:!0,message:"请输入菜单标题",trigger:"blur"}]},h=e.ref(),g=()=>{l.value=!0,setTimeout(()=>{s.value=n,l.value=!1},300)},d=(I=null)=>{Object.assign(p,{id:0,parentId:I,name:"",path:"",component:"",redirect:"",icon:"",title:"",type:j.MENU,sort:0,status:D.ENABLED,hidden:!1,keepAlive:!0}),a.value=!0},y=I=>{Object.assign(p,I),a.value=!0},x=async()=>{var I;try{await((I=h.value)==null?void 0:I.validate()),z.Message.success(p.id?"编辑成功":"新增成功"),a.value=!1,g()}catch(N){console.error(N)}},T=I=>({dashboard:"📊",system:"⚙️",user:"👤",role:"👥",menu:"📋",setting:"🔧"})[I||""]||"📄";return e.onMounted(()=>{g()}),(I,N)=>(e.openBlock(),e.createElementBlock("div",ns,[e.createVNode(e.unref(F.Card),{class:"menu-card"},{default:e.withCtx(()=>[e.createElementVNode("div",os,[e.createVNode(e.unref(V.Button),{type:"primary",onClick:N[0]||(N[0]=f=>d())},{default:e.withCtx(()=>[...N[14]||(N[14]=[e.createTextVNode("新增菜单",-1)])]),_:1})]),e.createElementVNode("div",ls,[e.createElementVNode("table",as,[N[19]||(N[19]=e.createElementVNode("thead",null,[e.createElementVNode("tr",null,[e.createElementVNode("th",null,"菜单名称"),e.createElementVNode("th",null,"图标"),e.createElementVNode("th",null,"路由路径"),e.createElementVNode("th",null,"类型"),e.createElementVNode("th",null,"排序"),e.createElementVNode("th",null,"状态"),e.createElementVNode("th",null,"操作")])],-1)),e.createElementVNode("tbody",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,f=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:f.id},[e.createElementVNode("tr",ss,[e.createElementVNode("td",null,[e.createElementVNode("span",{class:"menu-name",onClick:S=>y(f)},e.toDisplayString(f.title),9,rs)]),e.createElementVNode("td",null,e.toDisplayString(T(f.icon)),1),e.createElementVNode("td",null,e.toDisplayString(f.path),1),e.createElementVNode("td",null,[e.createVNode(e.unref(F.Tag),{type:f.type===e.unref(j).DIRECTORY?"primary":f.type===e.unref(j).MENU?"success":"warning",size:"small"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(f.type===e.unref(j).DIRECTORY?"目录":f.type===e.unref(j).MENU?"菜单":"按钮"),1)]),_:2},1032,["type"])]),e.createElementVNode("td",null,e.toDisplayString(f.sort),1),e.createElementVNode("td",null,[e.createVNode(e.unref(F.Tag),{type:f.status===e.unref(D).ENABLED?"success":"danger",size:"small"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(f.status===e.unref(D).ENABLED?"启用":"禁用"),1)]),_:2},1032,["type"])]),e.createElementVNode("td",null,[e.createVNode(e.unref(V.Space),null,{default:e.withCtx(()=>[e.createVNode(e.unref(V.Button),{type:"primary",link:"",size:"small",onClick:S=>d(f.id)},{default:e.withCtx(()=>[...N[15]||(N[15]=[e.createTextVNode("新增",-1)])]),_:1},8,["onClick"]),e.createVNode(e.unref(V.Button),{type:"primary",link:"",size:"small",onClick:S=>y(f)},{default:e.withCtx(()=>[...N[16]||(N[16]=[e.createTextVNode("编辑",-1)])]),_:1},8,["onClick"])]),_:2},1024)])]),f.children?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(f.children,S=>(e.openBlock(),e.createElementBlock("tr",{key:S.id,class:"tree-row tree-row--level-1"},[e.createElementVNode("td",null,[N[17]||(N[17]=e.createElementVNode("span",{class:"tree-indent"},null,-1)),e.createElementVNode("span",{class:"menu-name",onClick:R=>y(S)},e.toDisplayString(S.title),9,is)]),e.createElementVNode("td",null,e.toDisplayString(T(S.icon)),1),e.createElementVNode("td",null,e.toDisplayString(S.path),1),e.createElementVNode("td",null,[e.createVNode(e.unref(F.Tag),{type:S.type===e.unref(j).DIRECTORY?"primary":S.type===e.unref(j).MENU?"success":"warning",size:"small"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(S.type===e.unref(j).DIRECTORY?"目录":S.type===e.unref(j).MENU?"菜单":"按钮"),1)]),_:2},1032,["type"])]),e.createElementVNode("td",null,e.toDisplayString(S.sort),1),e.createElementVNode("td",null,[e.createVNode(e.unref(F.Tag),{type:S.status===e.unref(D).ENABLED?"success":"danger",size:"small"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(S.status===e.unref(D).ENABLED?"启用":"禁用"),1)]),_:2},1032,["type"])]),e.createElementVNode("td",null,[e.createVNode(e.unref(V.Space),null,{default:e.withCtx(()=>[e.createVNode(e.unref(V.Button),{type:"primary",link:"",size:"small",onClick:R=>y(S)},{default:e.withCtx(()=>[...N[18]||(N[18]=[e.createTextVNode("编辑",-1)])]),_:1},8,["onClick"])]),_:2},1024)])]))),128)):e.createCommentVNode("",!0)],64))),128))])])])]),_:1}),e.createVNode(e.unref(z.Modal),{modelValue:a.value,"onUpdate:modelValue":N[13]||(N[13]=f=>a.value=f),title:r.value,width:"600px"},{footer:e.withCtx(()=>[e.createVNode(e.unref(V.Space),null,{default:e.withCtx(()=>[e.createVNode(e.unref(V.Button),{onClick:N[12]||(N[12]=f=>a.value=!1)},{default:e.withCtx(()=>[...N[20]||(N[20]=[e.createTextVNode("取消",-1)])]),_:1}),e.createVNode(e.unref(V.Button),{type:"primary",onClick:x},{default:e.withCtx(()=>[...N[21]||(N[21]=[e.createTextVNode("确定",-1)])]),_:1})]),_:1})]),default:e.withCtx(()=>[e.createVNode(e.unref(E.Form),{ref_key:"formRef",ref:h,model:p,rules:o,"label-width":"80px"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.FormItem),{label:"上级菜单"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.Input),{modelValue:p.parentId,"onUpdate:modelValue":N[1]||(N[1]=f=>p.parentId=f),placeholder:"上级菜单ID",disabled:""},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(E.FormItem),{label:"菜单类型"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.Select),{modelValue:p.type,"onUpdate:modelValue":N[2]||(N[2]=f=>p.type=f),options:e.unref(ut)},null,8,["modelValue","options"])]),_:1}),e.createVNode(e.unref(E.FormItem),{label:"菜单名称",prop:"name"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.Input),{modelValue:p.name,"onUpdate:modelValue":N[3]||(N[3]=f=>p.name=f),placeholder:"请输入菜单名称(路由name)"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(E.FormItem),{label:"菜单标题",prop:"title"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.Input),{modelValue:p.title,"onUpdate:modelValue":N[4]||(N[4]=f=>p.title=f),placeholder:"请输入菜单标题"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(E.FormItem),{label:"路由路径",prop:"path"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.Input),{modelValue:p.path,"onUpdate:modelValue":N[5]||(N[5]=f=>p.path=f),placeholder:"请输入路由路径"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(E.FormItem),{label:"组件路径"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.Input),{modelValue:p.component,"onUpdate:modelValue":N[6]||(N[6]=f=>p.component=f),placeholder:"请输入组件路径"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(E.FormItem),{label:"图标"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.Input),{modelValue:p.icon,"onUpdate:modelValue":N[7]||(N[7]=f=>p.icon=f),placeholder:"请输入图标名称"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(E.FormItem),{label:"排序"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.InputNumber),{modelValue:p.sort,"onUpdate:modelValue":N[8]||(N[8]=f=>p.sort=f),min:0},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(E.FormItem),{label:"状态"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.Switch),{modelValue:p.status,"onUpdate:modelValue":N[9]||(N[9]=f=>p.status=f),"active-value":e.unref(D).ENABLED,"inactive-value":e.unref(D).DISABLED},null,8,["modelValue","active-value","inactive-value"])]),_:1}),e.createVNode(e.unref(E.FormItem),{label:"隐藏"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.Switch),{modelValue:p.hidden,"onUpdate:modelValue":N[10]||(N[10]=f=>p.hidden=f)},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(E.FormItem),{label:"缓存"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.Switch),{modelValue:p.keepAlive,"onUpdate:modelValue":N[11]||(N[11]=f=>p.keepAlive=f)},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])]))}}),[["__scopeId","data-v-2a272a68"]])},Symbol.toStringTag,{value:"Module"}));c.Footer=Ml,c.Forbidden=Kl,c.Gender=pt,c.GenderOptions=xa,c.GenderText=Ca,c.Header=lt,c.Layout=Oe,c.Login=rt,c.MenuType=j,c.MenuTypeOptions=ut,c.MenuTypeText=Ba,c.NotFound=it,c.Sidebar=Pe,c.Status=D,c.StatusOptions=Ye,c.StatusText=wa,c.Tabs=Il,c.appConfig=kt,c.batchDeleteUsers=ka,c.clearToken=ie,c.createLayoutRoute=ta,c.createMenu=da,c.createRole=aa,c.createRouter=na,c.createUser=ga,c.createXtoApp=Sa,c.defaultDynamicRoutes=Zl,c.deleteMenu=pa,c.deleteRole=ra,c.deleteUser=Va,c.getApiBaseUrl=Xe,c.getAppId=ue,c.getClientId=$e,c.getCode=Bt,c.getMenuList=ca,c.getMenuTree=mt,c.getRefreshTime=Ct,c.getRefreshToken=wt,c.getRoleDetail=la,c.getRoleList=oa,c.getToken=ge,c.getTokenExpire=ve,c.getTokenType=Je,c.getUserDetail=_a,c.getUserInfo=st,c.getUserList=ha,c.hasPermission=Hl,c.hasRole=Jl,c.hasToken=Re,c.http=A,c.initAppConfig=We,c.isAdmin=Ql,c.isTokenExpired=ot,c.layoutRoute=je,c.local=$,c.localStorageUtil=he,c.login=at,c.logout=Ul,c.mockMenuData=dt,c.permissionDirective=ba,c.refreshToken=zl,c.resetPassword=ya,c.resetRouter=ea,c.router=Ke,c.session=Et,c.sessionStorageUtil=_e,c.setCode=nt,c.setRefreshTime=tt,c.setRefreshToken=Ze,c.setToken=He,c.setTokenExpire=et,c.setTokenInfo=Fe,c.setTokenType=Qe,c.setupRouterGuards=fa,c.staticRoutes=qe,c.updateMenu=ma,c.updateRole=sa,c.updateRoleStatus=ia,c.updateUser=Na,c.updateUserStatus=Ea,c.useApp=Yl,c.useAppStore=ee,c.useAuth=Wl,c.useAuthStore=ce,c.useForm=Xl,c.useMenuStore=oe,c.useTable=Gl,c.useUserStore=X,Object.defineProperty(c,Symbol.toStringTag,{value:"Module"})});
|
|
1
|
+
(function(c,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("pinia"),require("vue-router"),require("@xto/navigation"),require("@xto/base"),require("@xto/feedback"),require("@xto/form"),require("axios"),require("@xto/data")):typeof define=="function"&&define.amd?define(["exports","vue","pinia","vue-router","@xto/navigation","@xto/base","@xto/feedback","@xto/form","axios","@xto/data"],e):(c=typeof globalThis<"u"?globalThis:c||self,e(c.XtoFronted={},c.Vue,c.Pinia,c.VueRouter,c.navigation,c.base,c.feedback,c.form,c.axios,c.data))})(this,function(c,e,Ce,P,J,k,A,y,kt,R){"use strict";const Be=e.ref(""),xe=e.ref(""),be=e.ref("");function Xe(t){t.appId&&(Be.value=t.appId),t.clientId&&(xe.value=t.clientId),t.apiBaseUrl&&(be.value=t.apiBaseUrl)}function ue(){if(Be.value)return Be.value;try{return""}catch{return""}}function Ie(){if(xe.value)return xe.value;try{return""}catch{return""}}function Ge(){if(be.value)return be.value;try{return""}catch{return""}}const Et={appId:Be,clientId:xe,apiBaseUrl:be},fe="xto_",He=t=>({get(n){const l=t.getItem(fe+n);if(!l)return null;try{return JSON.parse(l)}catch{return l}},set(n,l){if(l==null){t.removeItem(fe+n);return}const s=typeof l=="string"?l:JSON.stringify(l);t.setItem(fe+n,s)},remove(n){t.removeItem(fe+n)},clear(){Object.keys(t).forEach(l=>{l.startsWith(fe)&&t.removeItem(l)})}}),he=He(window.localStorage),_e=He(window.sessionStorage),b={get:he.get,set:he.set,remove:he.remove,clear:he.clear},yt={get:_e.get,set:_e.set,remove:_e.remove,clear:_e.clear},ee=Ce.defineStore("app",()=>{const t=e.ref(b.get("appName")||"XTO App"),n=e.ref(b.get("indexPath")||"/dashboard"),l=e.ref(b.get("isDark")||!1),s=e.ref(b.get("theme")||"light"),a=e.ref(b.get("layout")||"sidebar"),r=e.ref(b.get("isCollapsed")||!1),u=e.ref(b.get("showTabs")??!0),o=e.ref(b.get("showFooter")??!0),h=e.ref(b.get("showBreadcrumb")??!0),_=e.ref(b.get("primaryColor")||"#409eff"),d=e.ref([]),g=e.ref([]),x=e.computed(()=>l.value?"dark":"light"),L=U=>{t.value=U,b.set("appName",U)},D=U=>{n.value=U,b.set("indexPath",U)},V=()=>{l.value=!l.value,s.value=l.value?"dark":"light",$()},N=U=>{s.value=U,l.value=U==="dark",$()},$=()=>{const U=document.documentElement;l.value?U.classList.add("dark"):U.classList.remove("dark"),b.set("isDark",l.value),b.set("theme",s.value)},O=()=>{r.value=!r.value,b.set("isCollapsed",r.value)},z=U=>{a.value=U,b.set("layout",U)},I=()=>{u.value=!u.value,b.set("showTabs",u.value)},p=()=>{o.value=!o.value,b.set("showFooter",o.value)},m=()=>{h.value=!h.value,b.set("showBreadcrumb",h.value)},w=U=>{_.value=U,document.documentElement.style.setProperty("--color-primary",U),b.set("primaryColor",U)},q=U=>{d.value.includes(U)||d.value.push(U)},Q=U=>{const G=d.value.indexOf(U);G>-1&&d.value.splice(G,1)},Z=()=>{d.value=[]},le=U=>{g.value=U},te=()=>{$(),_.value!=="#409eff"&&document.documentElement.style.setProperty("--color-primary",_.value)};return e.watch(l,$),{appName:t,indexPath:n,isDark:l,theme:s,layout:a,isCollapsed:r,showTabs:u,showFooter:o,showBreadcrumb:h,primaryColor:_,cachedViews:d,mixSubMenus:g,themeClass:x,setAppName:L,setIndexPath:D,toggleTheme:V,toggleCollapse:O,setTheme:N,setLayout:z,toggleTabs:I,toggleFooter:p,toggleBreadcrumb:m,setPrimaryColor:w,addCachedView:q,removeCachedView:Q,clearCachedViews:Z,setMixSubMenus:le,initTheme:te}}),De="menu_list",wt={menuCode:"home",menuName:"首页",menuUrl:"/dashboard",icon:"home",closable:!1,isDefault:!1,isOut:!1},oe=Ce.defineStore("menu",()=>{const t=e.ref(b.get(De)||[]),n=e.computed(()=>t.value.length>0);return{menuList:t,hasMenu:n,setMenuList:a=>{t.value=[wt,...a],b.set(De,t.value)},clearMenu:()=>{t.value=[],b.remove(De)}}}),Se="/vite.svg",Te="user_info",X=Ce.defineStore("user",()=>{const t=e.ref(b.get(Te)),n=e.computed(()=>!!t.value),l=e.computed(()=>{var g;return((g=t.value)==null?void 0:g.userId)||""}),s=e.computed(()=>{var g;return((g=t.value)==null?void 0:g.userName)||""}),a=e.computed(()=>{var g;return((g=t.value)==null?void 0:g.departmentName)||""}),r=e.computed(()=>{var g;return((g=t.value)==null?void 0:g.email)||""}),u=e.computed(()=>{var g;return((g=t.value)==null?void 0:g.mobilePhone)||""}),o=e.computed(()=>{var g;return((g=t.value)==null?void 0:g.positionName)||""}),h=e.computed(()=>{var g;return((g=t.value)==null?void 0:g.avatar)||""});return{userInfo:t,isLoggedIn:n,userId:l,userName:s,departmentName:a,email:r,mobilePhone:u,positionName:o,avatar:h,setUserInfo:g=>{t.value=g,b.set(Te,g)},clearUserInfo:()=>{t.value=null,b.remove(Te)}}}),Le="token",Me="token_type",Ue="refresh_token",ze="expires_time",Ae="refresh_time",Fe="code",ge=()=>b.get(Le),Je=t=>{b.set(Le,t)},Qe=()=>b.get(Me),Ze=t=>{b.set(Me,t)},Ct=()=>b.get(Ue),ve=t=>{b.set(Ue,t)},et=()=>b.get(ze),tt=t=>{b.set(ze,t)},Bt=()=>b.get(Ae),nt=t=>{b.set(Ae,t)},xt=()=>b.get(Fe),ot=t=>{b.set(Fe,t)},Re=t=>{Je(t.access_token),Ze(t.token_type||"Bearer"),ve(t.refresh_token),tt(t.expires_time),nt(t.refresh_time),t.code&&ot(t.code)},ie=()=>{b.remove(Le),b.remove(Me),b.remove(Ue),b.remove(ze),b.remove(Ae),b.remove(Fe)},lt=()=>{const t=et();return t?Date.now()>t:!0},Pe=()=>!!ge()&&!lt(),ce=Ce.defineStore("auth",()=>{const t=e.ref(ge()),n=e.computed(()=>Pe()),l=e.ref(""),s=e.ref(""),a=e.ref(""),r=e.ref("/login");return{token:t,isLoggedIn:n,baseUrl:l,appId:s,clientId:a,loginPath:r,login:x=>{t.value=x.access_token,Re(x)},logout:()=>{t.value=null,ie()},setBaseUrl:x=>{l.value=x},setAppId:x=>{s.value=x},setClientId:x=>{a.value=x},setLoginPath:x=>{r.value=x}}}),bt={class:"menu-item__content"},St={class:"menu-item__icon"},$t={key:1,class:"menu-item__char"},It={class:"menu-item__text"},Dt={class:"menu-item__content"},Tt={key:0,class:"menu-item__icon"},Lt={key:1,class:"menu-item__char"},Mt={class:"menu-item__text"},Ut=e.defineComponent({__name:"SidebarMenuItem",props:{menu:{}},setup(t){const n=t,l=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"]),s=o=>{if(!o||o==="")return"";if(o.startsWith("tineco-icon-")){const _=o.replace("tineco-icon-","");return{home:"home",dashboard:"dashboard",system:"system",user:"user",role:"role",menu:"list",setting:"setting",file:"file",folder:"folder",chart:"chart",report:"report",analytics:"analytics"}[_]||_}return{dashboard:"dashboard",system:"system",user:"user",role:"role",menu:"list",setting:"setting",home:"home",chart:"chart",report:"report",analytics:"analytics",permission:"permission",log:"log",notification:"notification",app:"app",list:"list",grid:"grid"}[o]||o},a=o=>o?o.charAt(0):"",r=o=>l.has(o),u=e.computed(()=>n.menu.children&&n.menu.children.length>0);return(o,h)=>{const _=e.resolveComponent("SidebarMenuItem",!0);return u.value?(e.openBlock(),e.createBlock(e.unref(J.SubMenu),{key:0,index:t.menu.menuUrl},{title:e.withCtx(()=>[e.createElementVNode("span",bt,[e.createElementVNode("span",St,[r(s(t.menu.icon))?(e.openBlock(),e.createBlock(e.unref(k.Icon),{key:0,name:s(t.menu.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",$t,e.toDisplayString(a(t.menu.menuName)),1))]),e.createElementVNode("span",It,e.toDisplayString(t.menu.menuName),1)])]),default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.menu.children,d=>(e.openBlock(),e.createBlock(_,{key:d.menuUrl,menu:d},null,8,["menu"]))),128))]),_:1},8,["index"])):(e.openBlock(),e.createBlock(e.unref(J.MenuItem),{key:1,index:t.menu.menuUrl},{default:e.withCtx(()=>[e.createElementVNode("span",Dt,[t.menu.menuName!=="首页"?(e.openBlock(),e.createElementBlock("span",Tt,[r(s(t.menu.icon))?(e.openBlock(),e.createBlock(e.unref(k.Icon),{key:0,name:s(t.menu.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",Lt,e.toDisplayString(a(t.menu.menuName)),1))])):e.createCommentVNode("",!0),e.createElementVNode("span",Mt,e.toDisplayString(t.menu.menuName),1)])]),_:1},8,["index"]))}}}),K=(t,n)=>{const l=t.__vccOpts||t;for(const[s,a]of n)l[s]=a;return l},zt=K(Ut,[["__scopeId","data-v-d160ae6a"]]),At={key:0,class:"sidebar__logo"},Ft={key:1,class:"sidebar__user"},Rt={class:"sidebar__user-info"},Pt={class:"sidebar__user-name"},Ot={class:"sidebar__user-role"},$e="sidebar_opened_menus",Oe=K(e.defineComponent({__name:"Sidebar",props:{menuList:{default:()=>[]},showLogo:{type:Boolean,default:!0},showUser:{type:Boolean,default:!0}},setup(t){const n=t,l=P.useRoute(),s=P.useRouter(),a=oe(),r=X(),u=ce(),o=ee(),h=e.computed(()=>n.menuList.length>0?n.menuList:a.menuList),_=e.computed(()=>o.isCollapsed),d=e.computed(()=>l.path),g=e.ref(b.get($e)||[]),x=z=>{g.value.includes(z)||(g.value.push(z),b.set($e,g.value))},L=z=>{const I=g.value.indexOf(z);I>-1&&(g.value.splice(I,1),b.set($e,g.value))};e.onMounted(()=>{var I;const z=l.path;for(const p of h.value)(I=p.children)!=null&&I.length&&p.children.some(w=>z.startsWith(w.menuUrl))&&!g.value.includes(p.menuUrl)&&g.value.push(p.menuUrl);b.set($e,g.value)});const D=e.computed(()=>o.isDark?"#1d1e1f":"#fff"),V=e.computed(()=>o.isDark?"#cfd3dc":"#303133"),N=e.computed(()=>"#409eff"),$=z=>{z&&z!==l.path&&s.push(z)},O=()=>{u.logout(),r.clearUserInfo(),a.clearMenu(),s.push("/login")};return(z,I)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["sidebar",{"sidebar--collapsed":_.value}])},[n.showLogo?(e.openBlock(),e.createElementBlock("div",At,[I[0]||(I[0]=e.createElementVNode("img",{src:Se,alt:"Logo",class:"sidebar__logo-img"},null,-1)),e.withDirectives(e.createElementVNode("span",{class:"sidebar__logo-text"},e.toDisplayString(e.unref(o).appName),513),[[e.vShow,!_.value]])])):e.createCommentVNode("",!0),e.createVNode(e.unref(J.Menu),{"model-value":d.value,mode:"vertical",collapse:_.value,"collapse-transition":!1,"background-color":D.value,"text-color":V.value,"active-text-color":N.value,"default-openeds":g.value,class:"sidebar__menu",onSelect:$,onOpen:x,onClose:L},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value,p=>(e.openBlock(),e.createBlock(zt,{key:p.menuUrl,menu:p},null,8,["menu"]))),128))]),_:1},8,["model-value","collapse","background-color","text-color","active-text-color","default-openeds"]),n.showUser&&!_.value?(e.openBlock(),e.createElementBlock("div",Ft,[e.createElementVNode("div",Rt,[e.createElementVNode("span",Pt,e.toDisplayString(e.unref(r).userName),1),e.createElementVNode("span",Ot,e.toDisplayString(e.unref(r).departmentName),1)]),e.createVNode(e.unref(k.Button),{type:"text",size:"small",onClick:O},{default:e.withCtx(()=>[...I[1]||(I[1]=[e.createTextVNode("退出",-1)])]),_:1})])):e.createCommentVNode("",!0)],2))}}),[["__scopeId","data-v-bc9f0622"]]),qt={class:"header"},jt={class:"header__left"},Kt={key:0,class:"header__breadcrumb"},Yt={key:0,class:"breadcrumb-separator"},Wt={class:"header__right"},Xt={key:0,class:"header__search-dropdown"},Gt={key:0,class:"header__search-results"},Ht=["onClick"],Jt={key:0,class:"header__search-icon"},Qt={key:1,class:"header__search-char"},Zt={class:"header__search-item-title"},vt={key:1,class:"header__search-item-parent"},en={key:1,class:"header__search-empty"},tn=["title"],nn={class:"header__avatar"},on={class:"header__user-name"},ln={key:0,class:"header__dropdown"},an={class:"header__dropdown-header"},sn={class:"header__dropdown-avatar"},rn={class:"header__dropdown-info"},cn={class:"header__dropdown-name"},dn={class:"header__dropdown-role"},mn={class:"header__dropdown-menu"},pn={class:"settings-drawer"},un={class:"settings-section"},fn={class:"settings-layout-options"},hn=["onClick"],_n={class:"layout-option__preview"},gn={key:0,class:"layout-preview-sidebar"},Nn={key:1,class:"layout-preview-top"},Vn={key:2,class:"layout-preview-mix"},kn={class:"layout-option__label"},En={class:"settings-section"},yn={class:"settings-color-options"},wn=["title","onClick"],Cn={class:"settings-section"},Bn={class:"settings-switch-list"},xn={class:"settings-switch-item"},bn={class:"settings-switch-item"},at=K(e.defineComponent({__name:"Header",setup(t){const n=P.useRoute(),l=P.useRouter(),s=ee(),a=X(),r=ce(),u=oe(),o=e.ref(!1),h=e.ref(!1),_=e.ref(null),d=e.ref(!1),g=e.ref(!1),x=e.ref(""),L=e.ref(null),D=e.ref(!1),V=[{value:"sidebar",label:"左侧菜单",icon:"sidebar-left"},{value:"top",label:"顶部菜单",icon:"menu"},{value:"mix",label:"混合菜单",icon:"grid"}],N=[{value:"#409eff",label:"默认蓝"},{value:"#1890ff",label:"科技蓝"},{value:"#52c41a",label:"极光绿"},{value:"#faad14",label:"日落橙"},{value:"#f5222d",label:"薄暮红"},{value:"#722ed1",label:"酱紫"}],$=e.computed(()=>n.matched.filter(C=>C.meta&&C.meta.title).map(C=>({title:C.meta.title,path:C.path}))),O=(M,C="")=>{const Y=[];return M.forEach(f=>{f.children&&f.children.length>0?Y.push(...O(f.children,f.menuName)):Y.push({...f,parentTitle:C,title:f.menuName,path:f.menuUrl})}),Y},z=new Set(["arrow-up","arrow-down","arrow-left","arrow-right","caret-down","caret-right","plus","minus","close","check","edit","delete","copy","download","upload","refresh","search","filter","more","setting","share","loading","info","success","warning","error","question","user","user-add","user-group","logout","login","file","folder","folder-open","document","image","video","music","camera","mail","phone","chat","bell","message","eye","eye-off","calendar","clock","history","timer","location","map","globe","star","heart","thumb-up","link","external-link","lock","unlock","key","home","menu","menu-fold","menu-unfold","sidebar-fold","sidebar-expand","sidebar-left","dashboard","chart","chart-pie","chart-line","report","analytics","system","permission","role","user-manage","log","notification","app","list","grid","fullscreen","fullscreen-exit","zoom-in","zoom-out","print","bookmark","tag","code","terminal","database","server","cloud","gift","moon","sun","theme","skin"]),I=M=>{if(!M||M==="")return"";if(M.startsWith("tineco-icon-")){const Y=M.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"}[Y]||Y}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"}[M]||M},p=M=>M?M.charAt(0):"",m=M=>z.has(M),w=e.computed(()=>x.value.trim()?O(u.menuList).filter(C=>C.title.toLowerCase().includes(x.value.toLowerCase())):[]),q=e.computed(()=>s.layout),Q=()=>{s.toggleCollapse()},Z=()=>{s.toggleTheme()},le=()=>{h.value=!0},te=M=>{s.setLayout(M),h.value=!1},U=M=>{D.value=M;const C=document.documentElement;M?C.classList.add("grey-mode"):C.classList.remove("grey-mode")},G=()=>{U(!D.value),h.value=!1},ae=()=>{s.toggleTheme(),h.value=!1},Ne=()=>{document.fullscreenElement?document.exitFullscreen():document.documentElement.requestFullscreen()},v=()=>{d.value=!!document.fullscreenElement},se=()=>{o.value=!o.value},ne=()=>{o.value=!1},re=()=>{g.value=!1,x.value=""},Ve=M=>{l.push(M),re()},ke=M=>{s.setPrimaryColor(M),h.value=!1},Ee=()=>{ne(),l.push("/profile")},ye=()=>{ne(),l.push("/change-password")},we=()=>{ne(),r.logout(),a.clearUserInfo(),u.clearMenu(),l.push("/login")},me=M=>{_.value&&!_.value.contains(M.target)&&ne(),L.value&&!L.value.contains(M.target)&&re()},pe=M=>{M.key==="Escape"&&(re(),ne())};return e.onMounted(()=>{document.addEventListener("click",me),document.addEventListener("fullscreenchange",v),document.addEventListener("keydown",pe),s.initTheme(),D.value=document.documentElement.classList.contains("grey-mode")}),e.onUnmounted(()=>{document.removeEventListener("click",me),document.removeEventListener("fullscreenchange",v),document.removeEventListener("keydown",pe)}),(M,C)=>{var Y;return e.openBlock(),e.createElementBlock("div",qt,[e.createElementVNode("div",jt,[e.createElementVNode("div",{class:"header__collapse",onClick:Q},[e.createVNode(e.unref(k.Icon),{name:e.unref(s).isCollapsed?"menu-unfold":"menu-fold",size:18},null,8,["name"])]),e.unref(s).showBreadcrumb?(e.openBlock(),e.createElementBlock("div",Kt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList($.value,(f,B)=>(e.openBlock(),e.createElementBlock("span",{key:f.path},[B>0?(e.openBlock(),e.createElementBlock("span",Yt,"/")):e.createCommentVNode("",!0),e.createElementVNode("span",{class:e.normalizeClass({"is-current":B===$.value.length-1})},e.toDisplayString(f.title),3)]))),128))])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Wt,[e.createElementVNode("div",{class:"header__search",ref_key:"searchRef",ref:L},[e.createVNode(e.unref(k.Icon),{name:"search",size:14,class:"header__search-icon"}),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":C[0]||(C[0]=f=>x.value=f),type:"text",class:"header__search-input",placeholder:"搜索菜单...",onFocus:C[1]||(C[1]=f=>g.value=!0)},null,544),[[e.vModelText,x.value]]),e.createVNode(e.Transition,{name:"search-dropdown"},{default:e.withCtx(()=>[g.value&&(w.value.length>0||x.value)?(e.openBlock(),e.createElementBlock("div",Xt,[w.value.length>0?(e.openBlock(),e.createElementBlock("div",Gt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(w.value,f=>(e.openBlock(),e.createElementBlock("div",{key:f.path,class:"header__search-item",onClick:B=>Ve(f.path)},[f.title!=="首页"?(e.openBlock(),e.createElementBlock("span",Jt,[m(I(f.icon))?(e.openBlock(),e.createBlock(e.unref(k.Icon),{key:0,name:I(f.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",Qt,e.toDisplayString(p(f.title)),1))])):e.createCommentVNode("",!0),e.createElementVNode("span",Zt,e.toDisplayString(f.title),1),f.parentTitle?(e.openBlock(),e.createElementBlock("span",vt,e.toDisplayString(f.parentTitle),1)):e.createCommentVNode("",!0)],8,Ht))),128))])):(e.openBlock(),e.createElementBlock("div",en," 未找到匹配的菜单 "))])):e.createCommentVNode("",!0)]),_:1})],512),e.createElementVNode("div",{class:"header__action",onClick:Ne,title:d.value?"退出全屏":"全屏"},[e.createVNode(e.unref(k.Icon),{name:d.value?"fullscreen-exit":"fullscreen",size:16},null,8,["name"])],8,tn),e.createElementVNode("div",{class:"header__action",onClick:le,title:"换肤设置"},[e.createVNode(e.unref(k.Icon),{name:"skin",size:16})]),e.createElementVNode("div",{class:"header__action",onClick:Z,title:"切换主题"},[e.createVNode(e.unref(k.Icon),{name:e.unref(s).isDark?"sun":"moon",size:16},null,8,["name"])]),e.createElementVNode("div",{class:"header__user",ref_key:"dropdownRef",ref:_},[e.createElementVNode("div",{class:"header__user-trigger",onClick:e.withModifiers(se,["stop"])},[e.createElementVNode("div",nn,[e.createElementVNode("span",null,e.toDisplayString(((Y=e.unref(a).userName)==null?void 0:Y.charAt(0))||"U"),1)]),e.createElementVNode("span",on,e.toDisplayString(e.unref(a).userName),1),e.createElementVNode("span",{class:e.normalizeClass(["header__user-arrow",{"is-active":o.value}])},"▼",2)]),e.createVNode(e.Transition,{name:"dropdown"},{default:e.withCtx(()=>{var f;return[o.value?(e.openBlock(),e.createElementBlock("div",ln,[e.createElementVNode("div",an,[e.createElementVNode("div",sn,[e.createElementVNode("span",null,e.toDisplayString(((f=e.unref(a).userName)==null?void 0:f.charAt(0))||"U"),1)]),e.createElementVNode("div",rn,[e.createElementVNode("div",cn,e.toDisplayString(e.unref(a).userName),1),e.createElementVNode("div",dn,e.toDisplayString(e.unref(a).departmentName),1)])]),C[7]||(C[7]=e.createElementVNode("div",{class:"header__dropdown-divider"},null,-1)),e.createElementVNode("div",mn,[e.createElementVNode("div",{class:"header__dropdown-item",onClick:Ee},[e.createVNode(e.unref(k.Icon),{name:"user",size:16}),C[3]||(C[3]=e.createElementVNode("span",null,"个人信息",-1))]),e.createElementVNode("div",{class:"header__dropdown-item",onClick:ye},[e.createVNode(e.unref(k.Icon),{name:"lock",size:16}),C[4]||(C[4]=e.createElementVNode("span",null,"修改密码",-1))]),C[6]||(C[6]=e.createElementVNode("div",{class:"header__dropdown-divider"},null,-1)),e.createElementVNode("div",{class:"header__dropdown-item header__dropdown-item--danger",onClick:we},[e.createVNode(e.unref(k.Icon),{name:"logout",size:16}),C[5]||(C[5]=e.createElementVNode("span",null,"退出登录",-1))])])])):e.createCommentVNode("",!0)]}),_:1})],512)]),e.createVNode(e.unref(A.Drawer),{modelValue:h.value,"onUpdate:modelValue":C[2]||(C[2]=f=>h.value=f),title:"换肤设置",direction:"rtl",size:"320px"},{default:e.withCtx(()=>[e.createElementVNode("div",pn,[e.createElementVNode("div",un,[C[11]||(C[11]=e.createElementVNode("div",{class:"settings-title"},"布局模式",-1)),e.createElementVNode("div",fn,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(V,f=>e.createElementVNode("div",{key:f.value,class:e.normalizeClass(["layout-option",{"is-active":q.value===f.value}]),onClick:B=>te(f.value)},[e.createElementVNode("div",_n,[f.value==="sidebar"?(e.openBlock(),e.createElementBlock("div",gn,[...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)])])):f.value==="top"?(e.openBlock(),e.createElementBlock("div",Nn,[...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",Vn,[...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",kn,e.toDisplayString(f.label),1)],10,hn)),64))])]),e.createElementVNode("div",En,[C[12]||(C[12]=e.createElementVNode("div",{class:"settings-title"},"主题色",-1)),e.createElementVNode("div",yn,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(N,f=>e.createElementVNode("div",{key:f.value,class:e.normalizeClass(["color-option",{"is-active":e.unref(s).primaryColor===f.value}]),style:e.normalizeStyle({backgroundColor:f.value}),title:f.label,onClick:B=>ke(f.value)},[e.unref(s).primaryColor===f.value?(e.openBlock(),e.createBlock(e.unref(k.Icon),{key:0,name:"check",size:12,color:"#fff"})):e.createCommentVNode("",!0)],14,wn)),64))])]),e.createElementVNode("div",Cn,[C[17]||(C[17]=e.createElementVNode("div",{class:"settings-title"},"功能设置",-1)),e.createElementVNode("div",Bn,[e.createElementVNode("div",xn,[C[14]||(C[14]=e.createElementVNode("span",null,"灰色模式",-1)),e.createElementVNode("div",{class:e.normalizeClass(["switch-wrapper",{"is-checked":D.value}]),onClick:G},[...C[13]||(C[13]=[e.createElementVNode("span",{class:"switch-core"},null,-1)])],2)]),e.createElementVNode("div",bn,[C[16]||(C[16]=e.createElementVNode("span",null,"暗黑模式",-1)),e.createElementVNode("div",{class:e.normalizeClass(["switch-wrapper",{"is-checked":e.unref(s).isDark}]),onClick:ae},[...C[15]||(C[15]=[e.createElementVNode("span",{class:"switch-core"},null,-1)])],2)])])])])]),_:1},8,["modelValue"])])}}}),[["__scopeId","data-v-89179947"]]),Sn={class:"top-menu"},$n={class:"top-menu__logo"},In={class:"top-menu__logo-text"},Dn={class:"top-menu__menu-content"},Tn={key:0,class:"top-menu__menu-icon"},Ln={key:1,class:"top-menu__menu-char"},Mn={class:"top-menu__menu-text"},Un={class:"top-menu__menu-content"},zn={class:"top-menu__menu-icon"},An={key:1,class:"top-menu__menu-char"},Fn={class:"top-menu__menu-text"},Rn={class:"top-menu__menu-content"},Pn={key:0,class:"top-menu__menu-icon"},On={key:1,class:"top-menu__menu-char"},qn={class:"top-menu__menu-text"},jn={class:"top-menu__actions"},Kn={key:0,class:"top-menu__search-dropdown"},Yn={key:0,class:"top-menu__search-results"},Wn=["onClick"],Xn={key:0,class:"top-menu__search-icon-item"},Gn={key:1,class:"top-menu__search-char"},Hn={class:"top-menu__search-item-title"},Jn={key:1,class:"top-menu__search-item-parent"},Qn={key:1,class:"top-menu__search-empty"},Zn=["title"],vn={class:"top-menu__avatar"},eo={class:"top-menu__user-name"},to={key:0,class:"top-menu__dropdown"},no={class:"top-menu__dropdown-header"},oo={class:"top-menu__dropdown-avatar"},lo={class:"top-menu__dropdown-info"},ao={class:"top-menu__dropdown-name"},so={class:"top-menu__dropdown-role"},ro={class:"top-menu__dropdown-menu"},io={class:"settings-drawer"},co={class:"settings-section"},mo={class:"settings-layout-options"},po=["onClick"],uo={class:"layout-option__preview"},fo={key:0,class:"layout-preview-sidebar"},ho={key:1,class:"layout-preview-top"},_o={key:2,class:"layout-preview-mix"},go={class:"layout-option__label"},No={class:"settings-section"},Vo={class:"settings-color-options"},ko=["title","onClick"],Eo={class:"settings-section"},yo={class:"settings-switch-list"},wo={class:"settings-switch-item"},Co={class:"settings-switch-item"},Bo=K(e.defineComponent({__name:"TopMenu",setup(t){const n=P.useRoute(),l=P.useRouter(),s=oe(),a=ee(),r=X(),u=ce(),o=e.computed(()=>n.path),h=(f,B="")=>{const H=[];return f.forEach(i=>{i.children&&i.children.length>0?H.push(...h(i.children,i.menuName)):H.push({...i,parentTitle:B,title:i.menuName,path:i.menuUrl})}),H},_=e.computed(()=>z.value.trim()?h(s.menuList).filter(B=>B.title.toLowerCase().includes(z.value.toLowerCase())):[]),d=e.computed(()=>a.isDark?"#1d1e1f":"#fff"),g=e.computed(()=>a.isDark?"#cfd3dc":"#303133"),x=e.computed(()=>"#409eff"),L=e.ref(!1),D=e.ref(null),V=e.ref(!1),N=e.ref(!1),$=e.ref(!1),O=e.ref(!1),z=e.ref(""),I=e.ref(null),p=f=>{f&&f!==n.path&&l.push(f)},m=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"]),w=f=>{if(!f||f==="")return"";if(f.startsWith("tineco-icon-")){const H=f.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"}[H]||H}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"}[f]||f},q=f=>f?f.charAt(0):"",Q=f=>m.has(f),Z=()=>{a.toggleTheme(),N.value=!1},le=()=>{document.fullscreenElement?document.exitFullscreen():document.documentElement.requestFullscreen()},te=()=>{V.value=!!document.fullscreenElement},U=()=>{L.value=!L.value},G=()=>{L.value=!1},ae=()=>{O.value=!1,z.value=""},Ne=f=>{l.push(f),ae()},v=()=>{N.value=!0},se=f=>{$.value=f;const B=document.documentElement;f?B.classList.add("grey-mode"):B.classList.remove("grey-mode")},ne=()=>{se(!$.value),N.value=!1},re=()=>{a.toggleTheme(),N.value=!1},Ve=[{value:"sidebar",label:"左侧菜单",icon:"sidebar-left"},{value:"top",label:"顶部菜单",icon:"menu"},{value:"mix",label:"混合菜单",icon:"grid"}],ke=e.computed(()=>a.layout),Ee=f=>{a.setLayout(f),N.value=!1},ye=[{value:"#409eff",label:"默认蓝"},{value:"#1890ff",label:"科技蓝"},{value:"#52c41a",label:"极光绿"},{value:"#faad14",label:"日落橙"},{value:"#f5222d",label:"薄暮红"},{value:"#722ed1",label:"酱紫"}],we=f=>{a.setPrimaryColor(f),N.value=!1},me=()=>{G(),l.push("/profile")},pe=()=>{G(),l.push("/change-password")},M=()=>{G(),u.logout(),r.clearUserInfo(),s.clearMenu(),l.push("/login")},C=f=>{D.value&&!D.value.contains(f.target)&&G(),I.value&&!I.value.contains(f.target)&&ae()},Y=f=>{f.key==="Escape"&&(ae(),G())};return e.onMounted(()=>{document.addEventListener("click",C),document.addEventListener("fullscreenchange",te),document.addEventListener("keydown",Y),$.value=document.documentElement.classList.contains("grey-mode")}),e.onUnmounted(()=>{document.removeEventListener("click",C),document.removeEventListener("fullscreenchange",te),document.removeEventListener("keydown",Y)}),(f,B)=>{var H;return e.openBlock(),e.createElementBlock("div",Sn,[e.createElementVNode("div",$n,[B[3]||(B[3]=e.createElementVNode("img",{src:Se,alt:"Logo",class:"top-menu__logo-img"},null,-1)),e.createElementVNode("span",In,e.toDisplayString(e.unref(a).appName),1)]),e.createVNode(e.unref(J.Menu),{"model-value":o.value,mode:"horizontal","background-color":d.value,"text-color":g.value,"active-text-color":x.value,class:"top-menu__menu",onSelect:p},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(s).menuList,i=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:i.menuUrl},[i.children&&i.children.length>0?(e.openBlock(),e.createBlock(e.unref(J.SubMenu),{key:0,index:i.menuUrl},{title:e.withCtx(()=>[e.createElementVNode("span",Dn,[i.menuName!=="首页"?(e.openBlock(),e.createElementBlock("span",Tn,[Q(w(i.icon))?(e.openBlock(),e.createBlock(e.unref(k.Icon),{key:0,name:w(i.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",Ln,e.toDisplayString(q(i.menuName)),1))])):e.createCommentVNode("",!0),e.createElementVNode("span",Mn,e.toDisplayString(i.menuName),1)])]),default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.children,E=>(e.openBlock(),e.createBlock(e.unref(J.MenuItem),{key:E.menuUrl,index:E.menuUrl},{default:e.withCtx(()=>[e.createElementVNode("span",Un,[e.createElementVNode("span",zn,[Q(w(E.icon))?(e.openBlock(),e.createBlock(e.unref(k.Icon),{key:0,name:w(E.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",An,e.toDisplayString(q(E.menuName)),1))]),e.createElementVNode("span",Fn,e.toDisplayString(E.menuName),1)])]),_:2},1032,["index"]))),128))]),_:2},1032,["index"])):(e.openBlock(),e.createBlock(e.unref(J.MenuItem),{key:1,index:i.menuUrl},{default:e.withCtx(()=>[e.createElementVNode("span",Rn,[i.menuName!=="首页"?(e.openBlock(),e.createElementBlock("span",Pn,[Q(w(i.icon))?(e.openBlock(),e.createBlock(e.unref(k.Icon),{key:0,name:w(i.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",On,e.toDisplayString(q(i.menuName)),1))])):e.createCommentVNode("",!0),e.createElementVNode("span",qn,e.toDisplayString(i.menuName),1)])]),_:2},1032,["index"]))],64))),128))]),_:1},8,["model-value","background-color","text-color","active-text-color"]),e.createElementVNode("div",jn,[e.createElementVNode("div",{class:"top-menu__search",ref_key:"searchRef",ref:I},[e.createVNode(e.unref(k.Icon),{name:"search",size:14,class:"top-menu__search-icon"}),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":B[0]||(B[0]=i=>z.value=i),type:"text",class:"top-menu__search-input",placeholder:"搜索菜单...",onFocus:B[1]||(B[1]=i=>O.value=!0)},null,544),[[e.vModelText,z.value]]),e.createVNode(e.Transition,{name:"search-dropdown"},{default:e.withCtx(()=>[O.value&&(_.value.length>0||z.value)?(e.openBlock(),e.createElementBlock("div",Kn,[_.value.length>0?(e.openBlock(),e.createElementBlock("div",Yn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(_.value,i=>(e.openBlock(),e.createElementBlock("div",{key:i.path,class:"top-menu__search-item",onClick:E=>Ne(i.path)},[i.title!=="首页"?(e.openBlock(),e.createElementBlock("span",Xn,[Q(w(i.icon))?(e.openBlock(),e.createBlock(e.unref(k.Icon),{key:0,name:w(i.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",Gn,e.toDisplayString(q(i.title)),1))])):e.createCommentVNode("",!0),e.createElementVNode("span",Hn,e.toDisplayString(i.title),1),i.parentTitle?(e.openBlock(),e.createElementBlock("span",Jn,e.toDisplayString(i.parentTitle),1)):e.createCommentVNode("",!0)],8,Wn))),128))])):(e.openBlock(),e.createElementBlock("div",Qn," 未找到匹配的菜单 "))])):e.createCommentVNode("",!0)]),_:1})],512),e.createElementVNode("div",{class:"top-menu__action",onClick:le,title:V.value?"退出全屏":"全屏"},[e.createVNode(e.unref(k.Icon),{name:V.value?"fullscreen-exit":"fullscreen",size:16},null,8,["name"])],8,Zn),e.createElementVNode("div",{class:"top-menu__action",onClick:v,title:"换肤设置"},[e.createVNode(e.unref(k.Icon),{name:"skin",size:16})]),e.createElementVNode("div",{class:"top-menu__action",onClick:Z,title:"切换主题"},[e.createVNode(e.unref(k.Icon),{name:e.unref(a).isDark?"sun":"moon",size:16},null,8,["name"])]),e.createElementVNode("div",{class:"top-menu__user",ref_key:"dropdownRef",ref:D},[e.createElementVNode("div",{class:"top-menu__user-trigger",onClick:e.withModifiers(U,["stop"])},[e.createElementVNode("div",vn,[e.createElementVNode("span",null,e.toDisplayString(((H=e.unref(r).userName)==null?void 0:H.charAt(0))||"U"),1)]),e.createElementVNode("span",eo,e.toDisplayString(e.unref(r).userName),1),e.createElementVNode("span",{class:e.normalizeClass(["top-menu__user-arrow",{"is-active":L.value}])},"▼",2)]),e.createVNode(e.Transition,{name:"dropdown"},{default:e.withCtx(()=>{var i;return[L.value?(e.openBlock(),e.createElementBlock("div",to,[e.createElementVNode("div",no,[e.createElementVNode("div",oo,[e.createElementVNode("span",null,e.toDisplayString(((i=e.unref(r).userName)==null?void 0:i.charAt(0))||"U"),1)]),e.createElementVNode("div",lo,[e.createElementVNode("div",ao,e.toDisplayString(e.unref(r).userName),1),e.createElementVNode("div",so,e.toDisplayString(e.unref(r).departmentName),1)])]),B[8]||(B[8]=e.createElementVNode("div",{class:"top-menu__dropdown-divider"},null,-1)),e.createElementVNode("div",ro,[e.createElementVNode("div",{class:"top-menu__dropdown-item",onClick:me},[e.createVNode(e.unref(k.Icon),{name:"user",size:16}),B[4]||(B[4]=e.createElementVNode("span",null,"个人信息",-1))]),e.createElementVNode("div",{class:"top-menu__dropdown-item",onClick:pe},[e.createVNode(e.unref(k.Icon),{name:"lock",size:16}),B[5]||(B[5]=e.createElementVNode("span",null,"修改密码",-1))]),B[7]||(B[7]=e.createElementVNode("div",{class:"top-menu__dropdown-divider"},null,-1)),e.createElementVNode("div",{class:"top-menu__dropdown-item top-menu__dropdown-item--danger",onClick:M},[e.createVNode(e.unref(k.Icon),{name:"logout",size:16}),B[6]||(B[6]=e.createElementVNode("span",null,"退出登录",-1))])])])):e.createCommentVNode("",!0)]}),_:1})],512)]),e.createVNode(e.unref(A.Drawer),{modelValue:N.value,"onUpdate:modelValue":B[2]||(B[2]=i=>N.value=i),title:"换肤设置",direction:"rtl",size:"320px"},{default:e.withCtx(()=>[e.createElementVNode("div",io,[e.createElementVNode("div",co,[B[12]||(B[12]=e.createElementVNode("div",{class:"settings-title"},"布局模式",-1)),e.createElementVNode("div",mo,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(Ve,i=>e.createElementVNode("div",{key:i.value,class:e.normalizeClass(["layout-option",{"is-active":ke.value===i.value}]),onClick:E=>Ee(i.value)},[e.createElementVNode("div",uo,[i.value==="sidebar"?(e.openBlock(),e.createElementBlock("div",fo,[...B[9]||(B[9]=[e.createElementVNode("div",{class:"preview-aside"},null,-1),e.createElementVNode("div",{class:"preview-main"},[e.createElementVNode("div",{class:"preview-header"}),e.createElementVNode("div",{class:"preview-content"})],-1)])])):i.value==="top"?(e.openBlock(),e.createElementBlock("div",ho,[...B[10]||(B[10]=[e.createElementVNode("div",{class:"preview-header-full"},null,-1),e.createElementVNode("div",{class:"preview-content-full"},null,-1)])])):(e.openBlock(),e.createElementBlock("div",_o,[...B[11]||(B[11]=[e.createElementVNode("div",{class:"preview-header-mix"},[e.createElementVNode("div",{class:"preview-mix-left"})],-1),e.createElementVNode("div",{class:"preview-mix-body"},[e.createElementVNode("div",{class:"preview-mix-aside"}),e.createElementVNode("div",{class:"preview-mix-content"})],-1)])]))]),e.createElementVNode("span",go,e.toDisplayString(i.label),1)],10,po)),64))])]),e.createElementVNode("div",No,[B[13]||(B[13]=e.createElementVNode("div",{class:"settings-title"},"主题色",-1)),e.createElementVNode("div",Vo,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(ye,i=>e.createElementVNode("div",{key:i.value,class:e.normalizeClass(["color-option",{"is-active":e.unref(a).primaryColor===i.value}]),style:e.normalizeStyle({backgroundColor:i.value}),title:i.label,onClick:E=>we(i.value)},[e.unref(a).primaryColor===i.value?(e.openBlock(),e.createBlock(e.unref(k.Icon),{key:0,name:"check",size:12,color:"#fff"})):e.createCommentVNode("",!0)],14,ko)),64))])]),e.createElementVNode("div",Eo,[B[18]||(B[18]=e.createElementVNode("div",{class:"settings-title"},"功能设置",-1)),e.createElementVNode("div",yo,[e.createElementVNode("div",wo,[B[15]||(B[15]=e.createElementVNode("span",null,"灰色模式",-1)),e.createElementVNode("div",{class:e.normalizeClass(["switch-wrapper",{"is-checked":$.value}]),onClick:ne},[...B[14]||(B[14]=[e.createElementVNode("span",{class:"switch-core"},null,-1)])],2)]),e.createElementVNode("div",Co,[B[17]||(B[17]=e.createElementVNode("span",null,"暗黑模式",-1)),e.createElementVNode("div",{class:e.normalizeClass(["switch-wrapper",{"is-checked":e.unref(a).isDark}]),onClick:re},[...B[16]||(B[16]=[e.createElementVNode("span",{class:"switch-core"},null,-1)])],2)])])])])]),_:1},8,["modelValue"])])}}}),[["__scopeId","data-v-ff5f8764"]]),xo={class:"mix-top-menu"},bo={class:"mix-top-menu__logo"},So={class:"mix-top-menu__logo-text"},$o={class:"mix-top-menu__menu-content"},Io={key:0,class:"mix-top-menu__menu-icon"},Do={key:1,class:"mix-top-menu__menu-char"},To={class:"mix-top-menu__menu-text"},Lo={class:"mix-top-menu__actions"},Mo={key:0,class:"mix-top-menu__search-dropdown"},Uo={key:0,class:"mix-top-menu__search-results"},zo=["onClick"],Ao={key:0,class:"mix-top-menu__search-icon-item"},Fo={key:1,class:"mix-top-menu__search-char"},Ro={class:"mix-top-menu__search-item-title"},Po={key:1,class:"mix-top-menu__search-item-parent"},Oo={key:1,class:"mix-top-menu__search-empty"},qo=["title"],jo={class:"mix-top-menu__avatar"},Ko={class:"mix-top-menu__user-name"},Yo={key:0,class:"mix-top-menu__dropdown"},Wo={class:"mix-top-menu__dropdown-header"},Xo={class:"mix-top-menu__dropdown-avatar"},Go={class:"mix-top-menu__dropdown-info"},Ho={class:"mix-top-menu__dropdown-name"},Jo={class:"mix-top-menu__dropdown-role"},Qo={class:"mix-top-menu__dropdown-menu"},Zo={class:"settings-drawer"},vo={class:"settings-section"},el={class:"settings-layout-options"},tl=["onClick"],nl={class:"layout-option__preview"},ol={key:0,class:"layout-preview-sidebar"},ll={key:1,class:"layout-preview-top"},al={key:2,class:"layout-preview-mix"},sl={class:"layout-option__label"},rl={class:"settings-section"},il={class:"settings-color-options"},cl=["title","onClick"],dl={class:"settings-section"},ml={class:"settings-switch-list"},pl={class:"settings-switch-item"},ul={class:"settings-switch-item"},fl=K(e.defineComponent({__name:"MixTopMenu",setup(t){const n=P.useRoute(),l=P.useRouter(),s=oe(),a=ee(),r=X(),u=ce(),o=e.ref(""),h=(i,E="")=>{const W=[];return i.forEach(S=>{S.children&&S.children.length>0?W.push(...h(S.children,S.menuName)):W.push({...S,parentTitle:E,title:S.menuName,path:S.menuUrl})}),W},_=e.computed(()=>w.value.trim()?h(s.menuList).filter(E=>E.title.toLowerCase().includes(w.value.toLowerCase())):[]),d=e.computed(()=>{const i=s.menuList.find(E=>E.menuUrl===o.value);return(i==null?void 0:i.children)||[]}),g=e.computed(()=>s.menuList.find(i=>!!(n.path===i.menuUrl||i.children&&i.children.some(E=>n.path.startsWith(E.menuUrl)||n.path===E.menuUrl)))),x=()=>{g.value?o.value=g.value.menuUrl:s.menuList.length>0&&(o.value=s.menuList[0].menuUrl)},L=i=>{o.value=i;const E=s.menuList.find(W=>W.menuUrl===i);if(E)if(E.children&&E.children.length>0){const W=E.children[0].menuUrl;n.path!==W&&l.push(W)}else n.path!==i&&l.push(i)},D=e.computed(()=>a.isDark?"#1d1e1f":"#fff"),V=e.computed(()=>a.isDark?"#cfd3dc":"#303133"),N=e.computed(()=>"#409eff"),$=e.ref(!1),O=e.ref(null),z=e.ref(!1),I=e.ref(!1),p=e.ref(!1),m=e.ref(!1),w=e.ref(""),q=e.ref(null);e.watch(()=>n.path,()=>{x(),a.setMixSubMenus(d.value)}),e.watch(()=>s.menuList,i=>{i&&i.length>0&&(x(),a.setMixSubMenus(d.value))},{immediate:!0});const Q=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"]),Z=i=>{if(!i||i==="")return"";if(i.startsWith("tineco-icon-")){const W=i.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"}[W]||W}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"}[i]||i},le=i=>i?i.charAt(0):"",te=i=>Q.has(i),U=()=>{a.toggleTheme(),I.value=!1},G=()=>{document.fullscreenElement?document.exitFullscreen():document.documentElement.requestFullscreen()},ae=()=>{z.value=!!document.fullscreenElement},Ne=()=>{$.value=!$.value},v=()=>{$.value=!1},se=()=>{m.value=!1,w.value=""},ne=i=>{l.push(i),se()},re=()=>{I.value=!0},Ve=i=>{p.value=i;const E=document.documentElement;i?E.classList.add("grey-mode"):E.classList.remove("grey-mode")},ke=()=>{Ve(!p.value),I.value=!1},Ee=()=>{a.toggleTheme(),I.value=!1},ye=[{value:"sidebar",label:"左侧菜单",icon:"sidebar-left"},{value:"top",label:"顶部菜单",icon:"menu"},{value:"mix",label:"混合菜单",icon:"grid"}],we=e.computed(()=>a.layout),me=i=>{a.setLayout(i),I.value=!1},pe=[{value:"#409eff",label:"默认蓝"},{value:"#1890ff",label:"科技蓝"},{value:"#52c41a",label:"极光绿"},{value:"#faad14",label:"日落橙"},{value:"#f5222d",label:"薄暮红"},{value:"#722ed1",label:"酱紫"}],M=i=>{a.setPrimaryColor(i),I.value=!1},C=()=>{v(),l.push("/profile")},Y=()=>{v(),l.push("/change-password")},f=()=>{v(),u.logout(),r.clearUserInfo(),s.clearMenu(),l.push("/login")},B=i=>{O.value&&!O.value.contains(i.target)&&v(),q.value&&!q.value.contains(i.target)&&se()},H=i=>{i.key==="Escape"&&(se(),v())};return e.onMounted(()=>{document.addEventListener("click",B),document.addEventListener("fullscreenchange",ae),document.addEventListener("keydown",H),p.value=document.documentElement.classList.contains("grey-mode"),x()}),e.onUnmounted(()=>{document.removeEventListener("click",B),document.removeEventListener("fullscreenchange",ae),document.removeEventListener("keydown",H)}),(i,E)=>{var W;return e.openBlock(),e.createElementBlock("div",xo,[e.createElementVNode("div",bo,[E[3]||(E[3]=e.createElementVNode("img",{src:Se,alt:"Logo",class:"mix-top-menu__logo-img"},null,-1)),e.createElementVNode("span",So,e.toDisplayString(e.unref(a).appName),1)]),e.createVNode(e.unref(J.Menu),{"model-value":o.value,mode:"horizontal","background-color":D.value,"text-color":V.value,"active-text-color":N.value,class:"mix-top-menu__menu",onSelect:L},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(s).menuList,S=>(e.openBlock(),e.createBlock(e.unref(J.MenuItem),{key:S.menuUrl,index:S.menuUrl},{default:e.withCtx(()=>[e.createElementVNode("span",$o,[S.menuName!=="首页"?(e.openBlock(),e.createElementBlock("span",Io,[te(Z(S.icon))?(e.openBlock(),e.createBlock(e.unref(k.Icon),{key:0,name:Z(S.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",Do,e.toDisplayString(le(S.menuName)),1))])):e.createCommentVNode("",!0),e.createElementVNode("span",To,e.toDisplayString(S.menuName),1)])]),_:2},1032,["index"]))),128))]),_:1},8,["model-value","background-color","text-color","active-text-color"]),e.createElementVNode("div",Lo,[e.createElementVNode("div",{class:"mix-top-menu__search",ref_key:"searchRef",ref:q},[e.createVNode(e.unref(k.Icon),{name:"search",size:14,class:"mix-top-menu__search-icon"}),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":E[0]||(E[0]=S=>w.value=S),type:"text",class:"mix-top-menu__search-input",placeholder:"搜索菜单...",onFocus:E[1]||(E[1]=S=>m.value=!0)},null,544),[[e.vModelText,w.value]]),e.createVNode(e.Transition,{name:"search-dropdown"},{default:e.withCtx(()=>[m.value&&(_.value.length>0||w.value)?(e.openBlock(),e.createElementBlock("div",Mo,[_.value.length>0?(e.openBlock(),e.createElementBlock("div",Uo,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(_.value,S=>(e.openBlock(),e.createElementBlock("div",{key:S.path,class:"mix-top-menu__search-item",onClick:Vt=>ne(S.path)},[S.title!=="首页"?(e.openBlock(),e.createElementBlock("span",Ao,[te(Z(S.icon))?(e.openBlock(),e.createBlock(e.unref(k.Icon),{key:0,name:Z(S.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",Fo,e.toDisplayString(le(S.title)),1))])):e.createCommentVNode("",!0),e.createElementVNode("span",Ro,e.toDisplayString(S.title),1),S.parentTitle?(e.openBlock(),e.createElementBlock("span",Po,e.toDisplayString(S.parentTitle),1)):e.createCommentVNode("",!0)],8,zo))),128))])):(e.openBlock(),e.createElementBlock("div",Oo," 未找到匹配的菜单 "))])):e.createCommentVNode("",!0)]),_:1})],512),e.createElementVNode("div",{class:"mix-top-menu__action",onClick:G,title:z.value?"退出全屏":"全屏"},[e.createVNode(e.unref(k.Icon),{name:z.value?"fullscreen-exit":"fullscreen",size:16},null,8,["name"])],8,qo),e.createElementVNode("div",{class:"mix-top-menu__action",onClick:re,title:"换肤设置"},[e.createVNode(e.unref(k.Icon),{name:"skin",size:16})]),e.createElementVNode("div",{class:"mix-top-menu__action",onClick:U,title:"切换主题"},[e.createVNode(e.unref(k.Icon),{name:e.unref(a).isDark?"sun":"moon",size:16},null,8,["name"])]),e.createElementVNode("div",{class:"mix-top-menu__user",ref_key:"dropdownRef",ref:O},[e.createElementVNode("div",{class:"mix-top-menu__user-trigger",onClick:e.withModifiers(Ne,["stop"])},[e.createElementVNode("div",jo,[e.createElementVNode("span",null,e.toDisplayString(((W=e.unref(r).userName)==null?void 0:W.charAt(0))||"U"),1)]),e.createElementVNode("span",Ko,e.toDisplayString(e.unref(r).userName),1),e.createElementVNode("span",{class:e.normalizeClass(["mix-top-menu__user-arrow",{"is-active":$.value}])},"▼",2)]),e.createVNode(e.Transition,{name:"dropdown"},{default:e.withCtx(()=>{var S;return[$.value?(e.openBlock(),e.createElementBlock("div",Yo,[e.createElementVNode("div",Wo,[e.createElementVNode("div",Xo,[e.createElementVNode("span",null,e.toDisplayString(((S=e.unref(r).userName)==null?void 0:S.charAt(0))||"U"),1)]),e.createElementVNode("div",Go,[e.createElementVNode("div",Ho,e.toDisplayString(e.unref(r).userName),1),e.createElementVNode("div",Jo,e.toDisplayString(e.unref(r).departmentName),1)])]),E[8]||(E[8]=e.createElementVNode("div",{class:"mix-top-menu__dropdown-divider"},null,-1)),e.createElementVNode("div",Qo,[e.createElementVNode("div",{class:"mix-top-menu__dropdown-item",onClick:C},[e.createVNode(e.unref(k.Icon),{name:"user",size:16}),E[4]||(E[4]=e.createElementVNode("span",null,"个人信息",-1))]),e.createElementVNode("div",{class:"mix-top-menu__dropdown-item",onClick:Y},[e.createVNode(e.unref(k.Icon),{name:"lock",size:16}),E[5]||(E[5]=e.createElementVNode("span",null,"修改密码",-1))]),E[7]||(E[7]=e.createElementVNode("div",{class:"mix-top-menu__dropdown-divider"},null,-1)),e.createElementVNode("div",{class:"mix-top-menu__dropdown-item mix-top-menu__dropdown-item--danger",onClick:f},[e.createVNode(e.unref(k.Icon),{name:"logout",size:16}),E[6]||(E[6]=e.createElementVNode("span",null,"退出登录",-1))])])])):e.createCommentVNode("",!0)]}),_:1})],512)]),e.createVNode(e.unref(A.Drawer),{modelValue:I.value,"onUpdate:modelValue":E[2]||(E[2]=S=>I.value=S),title:"换肤设置",direction:"rtl",size:"320px"},{default:e.withCtx(()=>[e.createElementVNode("div",Zo,[e.createElementVNode("div",vo,[E[12]||(E[12]=e.createElementVNode("div",{class:"settings-title"},"布局模式",-1)),e.createElementVNode("div",el,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(ye,S=>e.createElementVNode("div",{key:S.value,class:e.normalizeClass(["layout-option",{"is-active":we.value===S.value}]),onClick:Vt=>me(S.value)},[e.createElementVNode("div",nl,[S.value==="sidebar"?(e.openBlock(),e.createElementBlock("div",ol,[...E[9]||(E[9]=[e.createElementVNode("div",{class:"preview-aside"},null,-1),e.createElementVNode("div",{class:"preview-main"},[e.createElementVNode("div",{class:"preview-header"}),e.createElementVNode("div",{class:"preview-content"})],-1)])])):S.value==="top"?(e.openBlock(),e.createElementBlock("div",ll,[...E[10]||(E[10]=[e.createElementVNode("div",{class:"preview-header-full"},null,-1),e.createElementVNode("div",{class:"preview-content-full"},null,-1)])])):(e.openBlock(),e.createElementBlock("div",al,[...E[11]||(E[11]=[e.createElementVNode("div",{class:"preview-header-mix"},[e.createElementVNode("div",{class:"preview-mix-left"})],-1),e.createElementVNode("div",{class:"preview-mix-body"},[e.createElementVNode("div",{class:"preview-mix-aside"}),e.createElementVNode("div",{class:"preview-mix-content"})],-1)])]))]),e.createElementVNode("span",sl,e.toDisplayString(S.label),1)],10,tl)),64))])]),e.createElementVNode("div",rl,[E[13]||(E[13]=e.createElementVNode("div",{class:"settings-title"},"主题色",-1)),e.createElementVNode("div",il,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(pe,S=>e.createElementVNode("div",{key:S.value,class:e.normalizeClass(["color-option",{"is-active":e.unref(a).primaryColor===S.value}]),style:e.normalizeStyle({backgroundColor:S.value}),title:S.label,onClick:Vt=>M(S.value)},[e.unref(a).primaryColor===S.value?(e.openBlock(),e.createBlock(e.unref(k.Icon),{key:0,name:"check",size:12,color:"#fff"})):e.createCommentVNode("",!0)],14,cl)),64))])]),e.createElementVNode("div",dl,[E[18]||(E[18]=e.createElementVNode("div",{class:"settings-title"},"功能设置",-1)),e.createElementVNode("div",ml,[e.createElementVNode("div",pl,[E[15]||(E[15]=e.createElementVNode("span",null,"灰色模式",-1)),e.createElementVNode("div",{class:e.normalizeClass(["switch-wrapper",{"is-checked":p.value}]),onClick:ke},[...E[14]||(E[14]=[e.createElementVNode("span",{class:"switch-core"},null,-1)])],2)]),e.createElementVNode("div",ul,[E[17]||(E[17]=e.createElementVNode("span",null,"暗黑模式",-1)),e.createElementVNode("div",{class:e.normalizeClass(["switch-wrapper",{"is-checked":e.unref(a).isDark}]),onClick:Ee},[...E[16]||(E[16]=[e.createElementVNode("span",{class:"switch-core"},null,-1)])],2)])])])])]),_:1},8,["modelValue"])])}}}),[["__scopeId","data-v-25806305"]]),hl={key:0,class:"layout layout--sidebar"},_l={class:"layout__main"},gl={class:"layout__header"},Nl={class:"layout__content"},Vl={key:1,class:"layout layout--top"},kl={class:"layout__top-menu"},El={class:"layout__main"},yl={class:"layout__content"},wl={key:2,class:"layout layout--mix"},Cl={class:"layout__mix-top-menu"},Bl={class:"layout__mix-body"},xl={class:"layout__content"},qe=K(e.defineComponent({__name:"index",setup(t){const n=ee(),l=oe(),s=e.computed(()=>n.isCollapsed?"64px":"210px"),a=e.computed(()=>n.layout),r=e.computed(()=>a.value==="mix"),u=e.computed(()=>a.value==="sidebar"?l.menuList:a.value==="mix"?n.mixSubMenus:[]),o=e.computed(()=>r.value?u.value.length>0:!1);return(h,_)=>{const d=e.resolveComponent("router-view");return e.openBlock(),e.createElementBlock(e.Fragment,null,[a.value==="sidebar"?(e.openBlock(),e.createElementBlock("div",hl,[e.createElementVNode("aside",{class:"layout__aside",style:e.normalizeStyle({width:s.value})},[e.createVNode(Oe,{"menu-list":u.value,"show-logo":!0,"show-user":!0},null,8,["menu-list"])],4),e.createElementVNode("div",_l,[e.createElementVNode("header",gl,[e.createVNode(at)]),e.createElementVNode("main",Nl,[e.createVNode(d)])])])):e.createCommentVNode("",!0),a.value==="top"?(e.openBlock(),e.createElementBlock("div",Vl,[e.createElementVNode("div",kl,[e.createVNode(Bo)]),e.createElementVNode("div",El,[e.createElementVNode("main",yl,[e.createVNode(d)])])])):e.createCommentVNode("",!0),a.value==="mix"?(e.openBlock(),e.createElementBlock("div",wl,[e.createElementVNode("div",Cl,[e.createVNode(fl)]),e.createElementVNode("div",Bl,[o.value?(e.openBlock(),e.createElementBlock("aside",{key:0,class:"layout__aside",style:e.normalizeStyle({width:s.value})},[e.createVNode(Oe,{"menu-list":u.value,"show-logo":!1,"show-user":!1},null,8,["menu-list"])],4)):e.createCommentVNode("",!0),e.createElementVNode("main",xl,[e.createVNode(d)])])])):e.createCommentVNode("",!0)],64)}}}),[["__scopeId","data-v-70b115a5"]]),bl=Object.freeze(Object.defineProperty({__proto__:null,default:qe},Symbol.toStringTag,{value:"Module"})),Sl={class:"tabs-wrapper"},$l={class:"tab-label"},Il=["onClick"],Dl=K(e.defineComponent({__name:"Tabs",setup(t){const n=P.useRoute(),l=P.useRouter(),s=e.computed(()=>{const o=[];return n.matched.forEach(h=>{var _;(_=h.meta)!=null&&_.affix&&o.push({name:h.name,title:h.meta.title,path:h.path,affix:!0})}),o}),a=e.computed(()=>n.path),r=o=>{l.push(o)},u=o=>{const h=s.value.find(_=>_.path===o);if(!(h!=null&&h.affix)&&o===a.value){const _=s.value.findIndex(g=>g.path===o),d=s.value[_-1]||s.value[_+1];d&&l.push(d.path)}};return(o,h)=>(e.openBlock(),e.createElementBlock("div",Sl,[e.createVNode(e.unref(J.Tabs),{modelValue:a.value,"onUpdate:modelValue":h[0]||(h[0]=_=>a.value=_),type:"card",onTabClick:r},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,_=>(e.openBlock(),e.createBlock(e.unref(J.TabPane),{key:_.path,name:_.path,label:_.title,closable:!_.affix},{label:e.withCtx(()=>[e.createElementVNode("span",$l,[e.createTextVNode(e.toDisplayString(_.title)+" ",1),_.affix?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",{key:0,class:"tab-close",onClick:e.withModifiers(d=>u(_.path),["stop"])}," ✕ ",8,Il))])]),_:2},1032,["name","label","closable"]))),128))]),_:1},8,["modelValue"])]))}}),[["__scopeId","data-v-9156d8cd"]]),Tl={},Ll={class:"footer"};function Ml(t,n){return e.openBlock(),e.createElementBlock("div",Ll,[...n[0]||(n[0]=[e.createElementVNode("span",null,"Copyright © 2024 Xto Demo. All Rights Reserved.",-1)])])}const Ul=K(Tl,[["render",Ml],["__scopeId","data-v-4852826a"]]),de=(()=>{const t=kt.create({baseURL:void 0,timeout:3e4,headers:{"Content-Type":"application/json"}});return t.interceptors.request.use(n=>{const l=ge(),s=Qe()||"Bearer";return l&&(n.headers.Authorization=`${s} ${l}`),n},n=>Promise.reject(n)),t.interceptors.response.use(n=>{const{data:l}=n;return l.code===200||l.code===0?l.data:l.code===9121?(A.Message.error("登录已过期,请重新登录"),ie(),window.location.href="/login",Promise.reject(new Error(l.message||"EXPIRED OR INVALID TOKEN"))):(A.Message.error(l.message||"请求失败"),Promise.reject(new Error(l.message||"请求失败")))},n=>{var s;const{response:l}=n;if(l){const{data:a}=l;if((a==null?void 0:a.code)===9121)return A.Message.error("登录已过期,请重新登录"),ie(),window.location.href="/login",Promise.reject(n);switch(l.status){case 401:A.Message.error("登录已过期,请重新登录"),ie(),window.location.href="/login";break;case 403:A.Message.error("没有权限访问");break;case 404:A.Message.error("请求资源不存在");break;case 500:A.Message.error("服务器错误");break;default:A.Message.error(((s=l.data)==null?void 0:s.message)||"请求失败")}}else A.Message.error("网络连接失败");return Promise.reject(n)}),t})(),F={get(t,n){return de.get(t,n)},post(t,n,l){return de.post(t,n,l)},put(t,n,l){return de.put(t,n,l)},patch(t,n,l){return de.patch(t,n,l)},delete(t,n){return de.delete(t,n)},download(t,n){return de.get(t,{...n,responseType:"blob"})}};function st(t){return F.post("/user/v1.0/login/by-domain",t)}function zl(){return F.put("/user/v1.0/user/logout")}function rt(){return F.get("/user/v1.0/user/get-me")}function Al(t){return F.post("/user/v1.0/refresh",{refreshToken:t})}const Fl={class:"login"},Rl={class:"login__container"},it=K(e.defineComponent({__name:"index",setup(t){const n=P.useRouter(),l=P.useRoute(),s=e.ref(!1),a=e.ref(!1),r=e.reactive({uid:"",password:""}),u={uid:[{required:!0,message:"请输入用户名",trigger:"blur"}],password:[{required:!0,message:"请输入密码",trigger:"blur"},{min:6,message:"密码长度至少6位",trigger:"blur"}]},o=e.ref(),h=async()=>{var _;try{await((_=o.value)==null?void 0:_.validate()),s.value=!0;const d=await st({appId:ue(),clientId:Ie(),uid:r.uid,password:r.password,code:!0});Re(d),A.Message.success("登录成功");const g=l.query.redirect||"/";n.push(g)}catch(d){console.error("登录失败:",d)}finally{s.value=!1}};return(_,d)=>(e.openBlock(),e.createElementBlock("div",Fl,[e.createElementVNode("div",Rl,[d[5]||(d[5]=e.createElementVNode("div",{class:"login__header"},[e.createElementVNode("img",{src:Se,alt:"Logo",class:"login__logo"}),e.createElementVNode("h1",{class:"login__title"},"Xto Demo"),e.createElementVNode("p",{class:"login__subtitle"},"后台管理系统")],-1)),e.createVNode(e.unref(y.Form),{ref_key:"formRef",ref:o,model:r,rules:u,class:"login__form","label-width":"0"},{default:e.withCtx(()=>[e.createVNode(e.unref(y.FormItem),{prop:"uid"},{default:e.withCtx(()=>[e.createVNode(e.unref(y.Input),{modelValue:r.uid,"onUpdate:modelValue":d[0]||(d[0]=g=>r.uid=g),placeholder:"用户名",size:"large"},{prefix:e.withCtx(()=>[e.createVNode(e.unref(k.Icon),{name:"user",size:18})]),_:1},8,["modelValue"])]),_:1}),e.createVNode(e.unref(y.FormItem),{prop:"password"},{default:e.withCtx(()=>[e.createVNode(e.unref(y.Input),{modelValue:r.password,"onUpdate:modelValue":d[1]||(d[1]=g=>r.password=g),type:"password",placeholder:"密码",size:"large","show-password":"",onKeyup:e.withKeys(h,["enter"])},{prefix:e.withCtx(()=>[e.createVNode(e.unref(k.Icon),{name:"lock",size:18})]),_:1},8,["modelValue"])]),_:1}),e.createVNode(e.unref(y.FormItem),null,{default:e.withCtx(()=>[e.createVNode(e.unref(y.Checkbox),{modelValue:a.value,"onUpdate:modelValue":d[2]||(d[2]=g=>a.value=g)},{default:e.withCtx(()=>[...d[3]||(d[3]=[e.createTextVNode("记住我",-1)])]),_:1},8,["modelValue"])]),_:1}),e.createVNode(e.unref(y.FormItem),null,{default:e.withCtx(()=>[e.createVNode(e.unref(k.Button),{type:"primary",size:"large",loading:s.value,class:"login__submit",onClick:h},{default:e.withCtx(()=>[...d[4]||(d[4]=[e.createTextVNode(" 登录 ",-1)])]),_:1},8,["loading"])]),_:1})]),_:1},8,["model"]),d[6]||(d[6]=e.createElementVNode("div",{class:"login__footer"},[e.createElementVNode("p",null,"请输入您的用户名和密码")],-1))])]))}}),[["__scopeId","data-v-f3e724b6"]]),Pl=Object.freeze(Object.defineProperty({__proto__:null,default:it},Symbol.toStringTag,{value:"Module"})),Ol={class:"error-page"},ql={class:"error-page__content"},ct=K(e.defineComponent({__name:"404",setup(t){const n=P.useRouter(),l=()=>{n.push("/")};return(s,a)=>(e.openBlock(),e.createElementBlock("div",Ol,[e.createElementVNode("div",ql,[a[1]||(a[1]=e.createElementVNode("div",{class:"error-page__code"},"404",-1)),a[2]||(a[2]=e.createElementVNode("div",{class:"error-page__title"},"页面不存在",-1)),a[3]||(a[3]=e.createElementVNode("div",{class:"error-page__desc"},"抱歉,您访问的页面不存在或已被删除",-1)),e.createVNode(e.unref(k.Button),{type:"primary",onClick:l},{default:e.withCtx(()=>[...a[0]||(a[0]=[e.createTextVNode("返回首页",-1)])]),_:1})])]))}}),[["__scopeId","data-v-3b47f5bc"]]),dt=Object.freeze(Object.defineProperty({__proto__:null,default:ct},Symbol.toStringTag,{value:"Module"})),jl={class:"error-page"},Kl={class:"error-page__content"},Yl=K(e.defineComponent({__name:"403",setup(t){const n=P.useRouter(),l=()=>{n.push("/")};return(s,a)=>(e.openBlock(),e.createElementBlock("div",jl,[e.createElementVNode("div",Kl,[a[1]||(a[1]=e.createElementVNode("div",{class:"error-page__code"},"403",-1)),a[2]||(a[2]=e.createElementVNode("div",{class:"error-page__title"},"无访问权限",-1)),a[3]||(a[3]=e.createElementVNode("div",{class:"error-page__desc"},"抱歉,您没有权限访问此页面",-1)),e.createVNode(e.unref(k.Button),{type:"primary",onClick:l},{default:e.withCtx(()=>[...a[0]||(a[0]=[e.createTextVNode("返回首页",-1)])]),_:1})])]))}}),[["__scopeId","data-v-3081df6c"]]);function Wl(){const t=ee(),n=X(),l=ce(),s=e.computed(()=>n.userName||""),a=e.computed(()=>n.userInfo),r=e.computed(()=>t.appName),u=e.computed(()=>l.isLoggedIn),o=e.computed(()=>t.isDark),h=e.computed(()=>t.theme),_=e.computed(()=>t.isCollapsed),d=e.computed(()=>t.layout);return{userName:s,userInfo:a,appName:r,isLoggedIn:u,isDark:o,theme:h,isCollapsed:_,layout:d,toggleTheme:()=>{t.toggleTheme()},toggleCollapse:()=>{t.toggleCollapse()}}}function Xl(){const t=X();return{isLoggedIn:e.computed(()=>t.isLoggedIn)}}function Gl(t,n={}){const{rules:l,onSubmit:s}=n,a=e.ref(),r=e.reactive({...t}),u=e.ref(!1),o=e.ref(!1),h=e.ref(!1),_=()=>{x(),h.value=!1,o.value=!0},d=D=>{Object.assign(r,D),h.value=!0,o.value=!0},g=()=>{o.value=!1,x()},x=()=>{var D;Object.keys(t).forEach(V=>{r[V]=t[V]}),(D=a.value)==null||D.resetFields()};return{formRef:a,formData:r,rules:l,loading:u,visible:o,isEdit:h,openAdd:_,openEdit:d,close:g,resetForm:x,handleSubmit:async()=>{var D;try{await((D=a.value)==null?void 0:D.validate()),u.value=!0,await(s==null?void 0:s(r)),g()}catch(V){console.error(V)}finally{u.value=!1}}}}function Hl(t){const{fetchData:n,defaultPageSize:l=10}=t,s=e.ref(!1),a=e.ref([]),r=e.ref(0),u=e.ref(1),o=e.ref(l),h=e.reactive({}),_=async()=>{s.value=!0;try{const N={...h,page:u.value,pageSize:o.value},$=await n(N);a.value=$.list,r.value=$.total}catch(N){console.error(N)}finally{s.value=!1}},d=()=>{u.value=1,_()},g=()=>{Object.keys(h).forEach(N=>{h[N]=void 0}),u.value=1,_()},x=N=>{u.value=N,_()},L=N=>{o.value=N,u.value=1,_()},D=()=>{_()},V=e.computed(()=>({current:u.value,pageSize:o.value,total:r.value}));return{loading:s,data:a,total:r,currentPage:u,pageSize:o,searchParams:h,pagination:V,getData:_,handleSearch:d,handleReset:g,handlePageChange:x,handleSizeChange:L,refresh:D}}function Jl(t){return X().isLoggedIn}function Ql(t){return X().isLoggedIn}function Zl(){return!0}const je=[{path:"/login",name:"Login",component:()=>Promise.resolve().then(()=>Pl),meta:{title:"登录",hidden:!0}}],Ke={path:"/",name:"Layout",component:()=>Promise.resolve().then(()=>bl),redirect:"/dashboard",children:[{path:"/dashboard",name:"Dashboard",component:()=>Promise.resolve().then(()=>ht),meta:{title:"仪表盘",icon:"dashboard",keepAlive:!0,affix:!0}},{path:"/system/user",name:"SystemUser",component:()=>Promise.resolve().then(()=>_t),meta:{title:"用户管理",icon:"user",keepAlive:!0}},{path:"/system/role",name:"SystemRole",component:()=>Promise.resolve().then(()=>gt),meta:{title:"角色管理",icon:"role",keepAlive:!0}},{path:"/system/menu",name:"SystemMenu",component:()=>Promise.resolve().then(()=>Nt),meta:{title:"菜单管理",icon:"menu",keepAlive:!0}},{path:"/:pathMatch(.*)*",name:"CatchAll",component:()=>Promise.resolve().then(()=>dt),meta:{title:"404",hidden:!0}}]},vl=[{path:"/dashboard",name:"Dashboard",component:()=>Promise.resolve().then(()=>ht),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(()=>_t),meta:{title:"用户管理",icon:"user",keepAlive:!0}},{path:"role",name:"SystemRole",component:()=>Promise.resolve().then(()=>gt),meta:{title:"角色管理",icon:"role",keepAlive:!0}},{path:"menu",name:"SystemMenu",component:()=>Promise.resolve().then(()=>Nt),meta:{title:"菜单管理",icon:"menu",keepAlive:!0}}]}],mt=[{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}]}],Ye=P.createRouter({history:P.createWebHistory(),routes:[...je,Ke],scrollBehavior:()=>({left:0,top:0})}),ea=["/login"];Ye.beforeEach(async(t,n,l)=>{const s=ee();if(s.initTheme(),Pe())if(t.path==="/login")l({path:"/"});else{const a=X();a.isLoggedIn||(a.setUserInfo({appId:ue(),userId:"1",userName:"管理员",departmentName:"技术部",email:"admin@example.com",mobilePhone:"13800138000",positionName:"管理员",avatar:""}),oe().setMenuList(mt)),t.name&&t.meta.keepAlive&&s.addCachedView(t.name),l()}else ea.includes(t.path)?l():l("/login")});function ta(){const t=P.createRouter({history:P.createWebHistory(),routes:[...je,Ke]});Ye.matcher=t.matcher}function na(t,n={}){const l=n.indexPath||"/dashboard",s={path:"/:pathMatch(.*)*",name:"CatchAll",component:()=>Promise.resolve().then(()=>dt),meta:{title:"404"}};return{path:"/",name:"Layout",component:qe,redirect:l,children:[...t,s]}}function oa(t){return P.createRouter({history:P.createWebHistory(),routes:t,scrollBehavior:()=>({left:0,top:0})})}function la(t){return F.get("/role/list",{params:t})}function aa(t){return F.get(`/role/${t}`)}function sa(t){return F.post("/role",t)}function ra(t,n){return F.put(`/role/${t}`,n)}function ia(t){return F.delete(`/role/${t}`)}function ca(t,n){return F.patch(`/role/${t}/status`,{status:n})}function da(){return F.get("/user/v1.0/menu/list")}function pt(t){const n=t||ue();return F.get(`/user/v1.0/menu/get-menu?appId=${n}`)}function ma(t){return F.post("/menu",t)}function pa(t,n){return F.put(`/menu/${t}`,n)}function ua(t){return F.delete(`/menu/${t}`)}const fa=["/login","/404","/403"];function ha(t,n={}){const l=n.whiteList||fa,s=n.loginPath||"/login",a=n.homePath||"/";t.beforeEach(async(r,u,o)=>{const h=ee(),_=X(),d=oe();if(h.initTheme(),ge())if(r.path===s)o({path:a});else if(_.isLoggedIn)r.name&&r.meta.keepAlive&&h.addCachedView(r.name),o();else try{if(n.fetchUserInfo){const x=await n.fetchUserInfo();_.setUserInfo(x)}else{const x=await rt();_.setUserInfo(x)}if(n.fetchMenu){const x=await n.fetchMenu();d.setMenuList(x)}else{const x=await pt(n.appId);d.setMenuList(x)}n.onLoginSuccess&&n.onLoginSuccess(),r.name&&r.meta.keepAlive&&h.addCachedView(r.name),o({...r,replace:!0})}catch(x){console.error("获取用户信息失败:",x),_.clearUserInfo(),d.clearMenu(),ie(),o({path:s,query:{redirect:r.fullPath}})}else l.includes(r.path)?o():o({path:s,query:{redirect:r.fullPath}})}),t.afterEach(()=>{})}function _a(t){return F.get("/user/list",{params:t})}function ga(t){return F.get(`/user/${t}`)}function Na(t){return F.post("/user",t)}function Va(t,n){return F.put(`/user/${t}`,n)}function ka(t){return F.delete(`/user/${t}`)}function Ea(t){return F.post("/user/batch-delete",{ids:t})}function ya(t,n){return F.patch(`/user/${t}/status`,{status:n})}function wa(t){return F.post(`/user/${t}/reset-password`)}var T=(t=>(t[t.ENABLED=1]="ENABLED",t[t.DISABLED=0]="DISABLED",t))(T||{}),ut=(t=>(t[t.UNKNOWN=0]="UNKNOWN",t[t.MALE=1]="MALE",t[t.FEMALE=2]="FEMALE",t))(ut||{}),j=(t=>(t[t.DIRECTORY=0]="DIRECTORY",t[t.MENU=1]="MENU",t[t.BUTTON=2]="BUTTON",t))(j||{});const Ca={1:"启用",0:"禁用"},Ba={0:"未知",1:"男",2:"女"},xa={0:"目录",1:"菜单",2:"按钮"},We=[{label:"启用",value:1},{label:"禁用",value:0}],ba=[{label:"未知",value:0},{label:"男",value:1},{label:"女",value:2}],ft=[{label:"目录",value:0},{label:"菜单",value:1},{label:"按钮",value:2}],Sa={mounted(t,n){var s;X().isLoggedIn||(s=t.parentNode)==null||s.removeChild(t)}};function $a(t){return Xe({appId:t.appId,clientId:t.clientId,apiBaseUrl:t.apiBaseUrl}),{config:{appName:t.appName||"XTO App",appId:ue(),clientId:Ie(),apiBaseUrl:Ge(),indexPath:t.indexPath||"/dashboard",loginPath:t.loginPath||"/login"}}}const Ia={class:"dashboard"},Da={class:"dashboard__stats"},Ta={class:"stat-card__content"},La={class:"stat-card__info"},Ma={class:"stat-card__title"},Ua={class:"dashboard__main"},za={class:"quick-links"},Aa={class:"quick-link__icon"},Fa={class:"quick-link__title"},Ra={class:"activity-list"},Pa={class:"activity-item__action"},Oa={class:"activity-item__time"},qa={class:"system-info"},ja={class:"system-info__item"},Ka={class:"system-info__item"},ht=Object.freeze(Object.defineProperty({__proto__:null,default:K(e.defineComponent({__name:"index",setup(t){const n=e.ref([{title:"用户总数",value:1234,icon:"👥",color:"#409eff"},{title:"今日访问",value:567,icon:"👀",color:"#67c23a"},{title:"订单数量",value:890,icon:"📦",color:"#e6a23c"},{title:"销售金额",value:123456,icon:"💰",color:"#f56c6c"}]),l=e.ref([{user:"张三",action:"登录系统",time:"2分钟前",type:"success"},{user:"李四",action:"修改了用户信息",time:"5分钟前",type:"warning"},{user:"王五",action:"创建了新订单",time:"10分钟前",type:"info"},{user:"赵六",action:"删除了测试数据",time:"30分钟前",type:"danger"},{user:"钱七",action:"更新了系统配置",time:"1小时前",type:"primary"}]),s=e.ref([{title:"用户管理",path:"/system/user",icon:"👤"},{title:"角色管理",path:"/system/role",icon:"👥"},{title:"菜单管理",path:"/system/menu",icon:"📋"},{title:"系统设置",path:"/system",icon:"⚙️"}]);return(a,r)=>{const u=e.resolveComponent("router-link");return e.openBlock(),e.createElementBlock("div",Ia,[e.createElementVNode("div",Da,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,o=>(e.openBlock(),e.createBlock(e.unref(R.Card),{key:o.title,class:"stat-card"},{default:e.withCtx(()=>[e.createElementVNode("div",Ta,[e.createElementVNode("div",{class:"stat-card__icon",style:e.normalizeStyle({backgroundColor:o.color+"20"})},e.toDisplayString(o.icon),5),e.createElementVNode("div",La,[e.createElementVNode("div",Ma,e.toDisplayString(o.title),1),e.createElementVNode("div",{class:"stat-card__value",style:e.normalizeStyle({color:o.color})},e.toDisplayString(o.value.toLocaleString()),5)])])]),_:2},1024))),128))]),e.createElementVNode("div",Ua,[e.createVNode(e.unref(R.Card),{class:"dashboard__quick"},{header:e.withCtx(()=>[...r[0]||(r[0]=[e.createElementVNode("span",{class:"card-title"},"快捷入口",-1)])]),default:e.withCtx(()=>[e.createElementVNode("div",za,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,o=>(e.openBlock(),e.createBlock(u,{key:o.path,to:o.path,class:"quick-link"},{default:e.withCtx(()=>[e.createElementVNode("span",Aa,e.toDisplayString(o.icon),1),e.createElementVNode("span",Fa,e.toDisplayString(o.title),1)]),_:2},1032,["to"]))),128))])]),_:1}),e.createVNode(e.unref(R.Card),{class:"dashboard__activity"},{header:e.withCtx(()=>[...r[1]||(r[1]=[e.createElementVNode("span",{class:"card-title"},"最近活动",-1)])]),default:e.withCtx(()=>[e.createElementVNode("div",Ra,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,(o,h)=>(e.openBlock(),e.createElementBlock("div",{key:h,class:"activity-item"},[e.createVNode(e.unref(R.Tag),{type:o.type,size:"small"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.user),1)]),_:2},1032,["type"]),e.createElementVNode("span",Pa,e.toDisplayString(o.action),1),e.createElementVNode("span",Oa,e.toDisplayString(o.time),1)]))),128))])]),_:1})]),e.createVNode(e.unref(R.Card),{class:"dashboard__system"},{header:e.withCtx(()=>[...r[2]||(r[2]=[e.createElementVNode("span",{class:"card-title"},"系统信息",-1)])]),default:e.withCtx(()=>[e.createElementVNode("div",qa,[r[5]||(r[5]=e.createElementVNode("div",{class:"system-info__item"},[e.createElementVNode("span",{class:"system-info__label"},"系统版本"),e.createElementVNode("span",{class:"system-info__value"},"v1.0.0")],-1)),r[6]||(r[6]=e.createElementVNode("div",{class:"system-info__item"},[e.createElementVNode("span",{class:"system-info__label"},"Vue 版本"),e.createElementVNode("span",{class:"system-info__value"},"3.4.21")],-1)),r[7]||(r[7]=e.createElementVNode("div",{class:"system-info__item"},[e.createElementVNode("span",{class:"system-info__label"},"构建工具"),e.createElementVNode("span",{class:"system-info__value"},"Vite 5")],-1)),r[8]||(r[8]=e.createElementVNode("div",{class:"system-info__item"},[e.createElementVNode("span",{class:"system-info__label"},"UI 组件库"),e.createElementVNode("span",{class:"system-info__value"},"xto")],-1)),e.createElementVNode("div",ja,[r[3]||(r[3]=e.createElementVNode("span",{class:"system-info__label"},"服务器状态",-1)),e.createVNode(e.unref(R.Progress),{percentage:75,status:"success"})]),e.createElementVNode("div",Ka,[r[4]||(r[4]=e.createElementVNode("span",{class:"system-info__label"},"内存使用",-1)),e.createVNode(e.unref(R.Progress),{percentage:45})])])]),_:1})])}}}),[["__scopeId","data-v-44648cb1"]])},Symbol.toStringTag,{value:"Module"})),Ya={class:"user-page"},Wa={class:"toolbar"},Xa={class:"data-table"},Ga={key:0},Ha={key:1},Ja={class:"pagination-wrapper"},_t=Object.freeze(Object.defineProperty({__proto__:null,default:K(e.defineComponent({__name:"index",setup(t){const n=[{id:1,username:"admin",nickname:"管理员",email:"admin@example.com",phone:"13800138001",status:T.ENABLED,roles:["admin"],createTime:"2024-01-01 10:00:00"},{id:2,username:"zhangsan",nickname:"张三",email:"zhangsan@example.com",phone:"13800138002",status:T.ENABLED,roles:["editor"],createTime:"2024-01-02 10:00:00"},{id:3,username:"lisi",nickname:"李四",email:"lisi@example.com",phone:"13800138003",status:T.DISABLED,roles:["viewer"],createTime:"2024-01-03 10:00:00"},{id:4,username:"wangwu",nickname:"王五",email:"wangwu@example.com",phone:"13800138004",status:T.ENABLED,roles:["editor"],createTime:"2024-01-04 10:00:00"},{id:5,username:"zhaoliu",nickname:"赵六",email:"zhaoliu@example.com",phone:"13800138005",status:T.ENABLED,roles:["viewer"],createTime:"2024-01-05 10:00:00"}],l=e.ref(!1),s=e.ref([]),a=e.ref(0),r=e.ref(1),u=e.ref(10),o=e.reactive({keyword:"",status:void 0}),h=e.ref(!1),_=e.computed(()=>d.id?"编辑用户":"新增用户"),d=e.reactive({id:0,username:"",nickname:"",email:"",phone:"",status:T.ENABLED,roles:[]}),g={username:[{required:!0,message:"请输入用户名",trigger:"blur"}],nickname:[{required:!0,message:"请输入昵称",trigger:"blur"}],email:[{required:!0,message:"请输入邮箱",trigger:"blur"},{type:"email",message:"请输入正确的邮箱格式",trigger:"blur"}]},x=e.ref(),L=()=>{l.value=!0,setTimeout(()=>{let p=[...n];o.keyword&&(p=p.filter(m=>m.username.includes(o.keyword)||m.nickname.includes(o.keyword))),o.status!==void 0&&(p=p.filter(m=>m.status===o.status)),a.value=p.length,s.value=p.slice((r.value-1)*u.value,r.value*u.value),l.value=!1},300)},D=()=>{r.value=1,L()},V=()=>{o.keyword="",o.status=void 0,r.value=1,L()},N=()=>{Object.assign(d,{id:0,username:"",nickname:"",email:"",phone:"",status:T.ENABLED,roles:[]}),h.value=!0},$=p=>{Object.assign(d,p),h.value=!0},O=p=>{A.Message.success("删除成功"),L()},z=async()=>{var p;try{await((p=x.value)==null?void 0:p.validate()),A.Message.success(d.id?"编辑成功":"新增成功"),h.value=!1,L()}catch(m){console.error(m)}},I=p=>{A.Message.success(`已${p.status===T.ENABLED?"启用":"禁用"}用户 ${p.username}`)};return e.onMounted(()=>{L()}),(p,m)=>(e.openBlock(),e.createElementBlock("div",Ya,[e.createVNode(e.unref(R.Card),{class:"search-card"},{default:e.withCtx(()=>[e.createVNode(e.unref(y.Form),{model:o,inline:""},{default:e.withCtx(()=>[e.createVNode(e.unref(y.FormItem),{label:"关键词"},{default:e.withCtx(()=>[e.createVNode(e.unref(y.Input),{modelValue:o.keyword,"onUpdate:modelValue":m[0]||(m[0]=w=>o.keyword=w),placeholder:"用户名/昵称",clearable:"",onKeyup:e.withKeys(D,["enter"])},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(y.FormItem),{label:"状态"},{default:e.withCtx(()=>[e.createVNode(e.unref(y.Select),{modelValue:o.status,"onUpdate:modelValue":m[1]||(m[1]=w=>o.status=w),options:e.unref(We),placeholder:"请选择",clearable:""},null,8,["modelValue","options"])]),_:1}),e.createVNode(e.unref(y.FormItem),null,{default:e.withCtx(()=>[e.createVNode(e.unref(k.Space),null,{default:e.withCtx(()=>[e.createVNode(e.unref(k.Button),{type:"primary",onClick:D},{default:e.withCtx(()=>[...m[11]||(m[11]=[e.createTextVNode("搜索",-1)])]),_:1}),e.createVNode(e.unref(k.Button),{onClick:V},{default:e.withCtx(()=>[...m[12]||(m[12]=[e.createTextVNode("重置",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),e.createVNode(e.unref(R.Card),{class:"table-card"},{default:e.withCtx(()=>[e.createElementVNode("div",Wa,[e.createVNode(e.unref(k.Button),{type:"primary",onClick:N},{default:e.withCtx(()=>[...m[13]||(m[13]=[e.createTextVNode("新增用户",-1)])]),_:1})]),e.createElementVNode("table",Xa,[m[18]||(m[18]=e.createElementVNode("thead",null,[e.createElementVNode("tr",null,[e.createElementVNode("th",null,"ID"),e.createElementVNode("th",null,"用户名"),e.createElementVNode("th",null,"昵称"),e.createElementVNode("th",null,"邮箱"),e.createElementVNode("th",null,"手机号"),e.createElementVNode("th",null,"角色"),e.createElementVNode("th",null,"状态"),e.createElementVNode("th",null,"创建时间"),e.createElementVNode("th",null,"操作")])],-1)),e.createElementVNode("tbody",null,[l.value?(e.openBlock(),e.createElementBlock("tr",Ga,[...m[14]||(m[14]=[e.createElementVNode("td",{colspan:"9",class:"loading-cell"},"加载中...",-1)])])):s.value.length===0?(e.openBlock(),e.createElementBlock("tr",Ha,[...m[15]||(m[15]=[e.createElementVNode("td",{colspan:"9",class:"empty-cell"},"暂无数据",-1)])])):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:2},e.renderList(s.value,w=>(e.openBlock(),e.createElementBlock("tr",{key:w.id},[e.createElementVNode("td",null,e.toDisplayString(w.id),1),e.createElementVNode("td",null,e.toDisplayString(w.username),1),e.createElementVNode("td",null,e.toDisplayString(w.nickname),1),e.createElementVNode("td",null,e.toDisplayString(w.email),1),e.createElementVNode("td",null,e.toDisplayString(w.phone),1),e.createElementVNode("td",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(w.roles,q=>(e.openBlock(),e.createBlock(e.unref(R.Tag),{key:q,size:"small"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(q),1)]),_:2},1024))),128))]),e.createElementVNode("td",null,[e.createVNode(e.unref(y.Switch),{"model-value":w.status===e.unref(T).ENABLED,"onUpdate:modelValue":q=>{w.status=q?e.unref(T).ENABLED:e.unref(T).DISABLED,I(w)}},null,8,["model-value","onUpdate:modelValue"])]),e.createElementVNode("td",null,e.toDisplayString(w.createTime),1),e.createElementVNode("td",null,[e.createVNode(e.unref(k.Space),null,{default:e.withCtx(()=>[e.createVNode(e.unref(k.Button),{type:"primary",link:"",size:"small",onClick:q=>$(w)},{default:e.withCtx(()=>[...m[16]||(m[16]=[e.createTextVNode("编辑",-1)])]),_:1},8,["onClick"]),e.createVNode(e.unref(A.Popconfirm),{title:"确定删除该用户吗?",onConfirm:q=>O(w.id)},{default:e.withCtx(()=>[e.createVNode(e.unref(k.Button),{type:"danger",link:"",size:"small"},{default:e.withCtx(()=>[...m[17]||(m[17]=[e.createTextVNode("删除",-1)])]),_:1})]),_:1},8,["onConfirm"])]),_:2},1024)])]))),128))])]),e.createElementVNode("div",Ja,[e.createVNode(e.unref(R.Pagination),{"current-page":r.value,"onUpdate:currentPage":m[2]||(m[2]=w=>r.value=w),"page-size":u.value,"onUpdate:pageSize":m[3]||(m[3]=w=>u.value=w),total:a.value,"page-sizes":[10,20,50,100],layout:"total, sizes, prev, pager, next",onCurrentChange:L,onSizeChange:L},null,8,["current-page","page-size","total"])])]),_:1}),e.createVNode(e.unref(A.Modal),{modelValue:h.value,"onUpdate:modelValue":m[10]||(m[10]=w=>h.value=w),title:_.value,width:"500px"},{footer:e.withCtx(()=>[e.createVNode(e.unref(k.Space),null,{default:e.withCtx(()=>[e.createVNode(e.unref(k.Button),{onClick:m[9]||(m[9]=w=>h.value=!1)},{default:e.withCtx(()=>[...m[19]||(m[19]=[e.createTextVNode("取消",-1)])]),_:1}),e.createVNode(e.unref(k.Button),{type:"primary",onClick:z},{default:e.withCtx(()=>[...m[20]||(m[20]=[e.createTextVNode("确定",-1)])]),_:1})]),_:1})]),default:e.withCtx(()=>[e.createVNode(e.unref(y.Form),{ref_key:"formRef",ref:x,model:d,rules:g,"label-width":"80px"},{default:e.withCtx(()=>[e.createVNode(e.unref(y.FormItem),{label:"用户名",prop:"username"},{default:e.withCtx(()=>[e.createVNode(e.unref(y.Input),{modelValue:d.username,"onUpdate:modelValue":m[4]||(m[4]=w=>d.username=w),placeholder:"请输入用户名"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(y.FormItem),{label:"昵称",prop:"nickname"},{default:e.withCtx(()=>[e.createVNode(e.unref(y.Input),{modelValue:d.nickname,"onUpdate:modelValue":m[5]||(m[5]=w=>d.nickname=w),placeholder:"请输入昵称"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(y.FormItem),{label:"邮箱",prop:"email"},{default:e.withCtx(()=>[e.createVNode(e.unref(y.Input),{modelValue:d.email,"onUpdate:modelValue":m[6]||(m[6]=w=>d.email=w),placeholder:"请输入邮箱"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(y.FormItem),{label:"手机号",prop:"phone"},{default:e.withCtx(()=>[e.createVNode(e.unref(y.Input),{modelValue:d.phone,"onUpdate:modelValue":m[7]||(m[7]=w=>d.phone=w),placeholder:"请输入手机号"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(y.FormItem),{label:"状态"},{default:e.withCtx(()=>[e.createVNode(e.unref(y.Switch),{modelValue:d.status,"onUpdate:modelValue":m[8]||(m[8]=w=>d.status=w),"active-value":e.unref(T).ENABLED,"inactive-value":e.unref(T).DISABLED},null,8,["modelValue","active-value","inactive-value"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])]))}}),[["__scopeId","data-v-d2491ae0"]])},Symbol.toStringTag,{value:"Module"})),Qa={class:"role-page"},Za={class:"toolbar"},va={class:"data-table"},es={key:0},ts={key:1},ns={class:"pagination-wrapper"},gt=Object.freeze(Object.defineProperty({__proto__:null,default:K(e.defineComponent({__name:"index",setup(t){const n=[{id:1,name:"超级管理员",code:"admin",description:"拥有所有权限",status:T.ENABLED,permissions:["*"],createTime:"2024-01-01 10:00:00"},{id:2,name:"编辑",code:"editor",description:"内容编辑权限",status:T.ENABLED,permissions:["user:read","user:write"],createTime:"2024-01-02 10:00:00"},{id:3,name:"访客",code:"viewer",description:"只读权限",status:T.ENABLED,permissions:["user:read"],createTime:"2024-01-03 10:00:00"}],l=e.ref(!1),s=e.ref([]),a=e.ref(0),r=e.ref(1),u=e.ref(10),o=e.reactive({keyword:"",status:void 0}),h=e.ref(!1),_=e.computed(()=>d.id?"编辑角色":"新增角色"),d=e.reactive({id:0,name:"",code:"",description:"",status:T.ENABLED,permissions:[]}),g={name:[{required:!0,message:"请输入角色名称",trigger:"blur"}],code:[{required:!0,message:"请输入角色编码",trigger:"blur"}]},x=e.ref(),L=()=>{l.value=!0,setTimeout(()=>{let I=[...n];o.keyword&&(I=I.filter(p=>p.name.includes(o.keyword)||p.code.includes(o.keyword))),o.status!==void 0&&(I=I.filter(p=>p.status===o.status)),a.value=I.length,s.value=I.slice((r.value-1)*u.value,r.value*u.value),l.value=!1},300)},D=()=>{r.value=1,L()},V=()=>{o.keyword="",o.status=void 0,r.value=1,L()},N=()=>{Object.assign(d,{id:0,name:"",code:"",description:"",status:T.ENABLED,permissions:[]}),h.value=!0},$=I=>{Object.assign(d,I),h.value=!0},O=I=>{A.Message.success("删除成功"),L()},z=async()=>{var I;try{await((I=x.value)==null?void 0:I.validate()),A.Message.success(d.id?"编辑成功":"新增成功"),h.value=!1,L()}catch(p){console.error(p)}};return e.onMounted(()=>{L()}),(I,p)=>(e.openBlock(),e.createElementBlock("div",Qa,[e.createVNode(e.unref(R.Card),{class:"search-card"},{default:e.withCtx(()=>[e.createVNode(e.unref(y.Form),{model:o,inline:""},{default:e.withCtx(()=>[e.createVNode(e.unref(y.FormItem),{label:"关键词"},{default:e.withCtx(()=>[e.createVNode(e.unref(y.Input),{modelValue:o.keyword,"onUpdate:modelValue":p[0]||(p[0]=m=>o.keyword=m),placeholder:"角色名称/编码",clearable:"",onKeyup:e.withKeys(D,["enter"])},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(y.FormItem),{label:"状态"},{default:e.withCtx(()=>[e.createVNode(e.unref(y.Select),{modelValue:o.status,"onUpdate:modelValue":p[1]||(p[1]=m=>o.status=m),options:e.unref(We),placeholder:"请选择",clearable:""},null,8,["modelValue","options"])]),_:1}),e.createVNode(e.unref(y.FormItem),null,{default:e.withCtx(()=>[e.createVNode(e.unref(k.Space),null,{default:e.withCtx(()=>[e.createVNode(e.unref(k.Button),{type:"primary",onClick:D},{default:e.withCtx(()=>[...p[10]||(p[10]=[e.createTextVNode("搜索",-1)])]),_:1}),e.createVNode(e.unref(k.Button),{onClick:V},{default:e.withCtx(()=>[...p[11]||(p[11]=[e.createTextVNode("重置",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),e.createVNode(e.unref(R.Card),{class:"table-card"},{default:e.withCtx(()=>[e.createElementVNode("div",Za,[e.createVNode(e.unref(k.Button),{type:"primary",onClick:N},{default:e.withCtx(()=>[...p[12]||(p[12]=[e.createTextVNode("新增角色",-1)])]),_:1})]),e.createElementVNode("table",va,[p[17]||(p[17]=e.createElementVNode("thead",null,[e.createElementVNode("tr",null,[e.createElementVNode("th",null,"ID"),e.createElementVNode("th",null,"角色名称"),e.createElementVNode("th",null,"角色编码"),e.createElementVNode("th",null,"描述"),e.createElementVNode("th",null,"状态"),e.createElementVNode("th",null,"创建时间"),e.createElementVNode("th",null,"操作")])],-1)),e.createElementVNode("tbody",null,[l.value?(e.openBlock(),e.createElementBlock("tr",es,[...p[13]||(p[13]=[e.createElementVNode("td",{colspan:"7",class:"loading-cell"},"加载中...",-1)])])):s.value.length===0?(e.openBlock(),e.createElementBlock("tr",ts,[...p[14]||(p[14]=[e.createElementVNode("td",{colspan:"7",class:"empty-cell"},"暂无数据",-1)])])):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:2},e.renderList(s.value,m=>(e.openBlock(),e.createElementBlock("tr",{key:m.id},[e.createElementVNode("td",null,e.toDisplayString(m.id),1),e.createElementVNode("td",null,e.toDisplayString(m.name),1),e.createElementVNode("td",null,[e.createVNode(e.unref(R.Tag),{type:"primary",size:"small"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(m.code),1)]),_:2},1024)]),e.createElementVNode("td",null,e.toDisplayString(m.description),1),e.createElementVNode("td",null,[e.createVNode(e.unref(R.Tag),{type:m.status===e.unref(T).ENABLED?"success":"danger",size:"small"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(m.status===e.unref(T).ENABLED?"启用":"禁用"),1)]),_:2},1032,["type"])]),e.createElementVNode("td",null,e.toDisplayString(m.createTime),1),e.createElementVNode("td",null,[e.createVNode(e.unref(k.Space),null,{default:e.withCtx(()=>[e.createVNode(e.unref(k.Button),{type:"primary",link:"",size:"small",onClick:w=>$(m)},{default:e.withCtx(()=>[...p[15]||(p[15]=[e.createTextVNode("编辑",-1)])]),_:1},8,["onClick"]),e.createVNode(e.unref(A.Popconfirm),{title:"确定删除该角色吗?",onConfirm:w=>O(m.id)},{default:e.withCtx(()=>[e.createVNode(e.unref(k.Button),{type:"danger",link:"",size:"small"},{default:e.withCtx(()=>[...p[16]||(p[16]=[e.createTextVNode("删除",-1)])]),_:1})]),_:1},8,["onConfirm"])]),_:2},1024)])]))),128))])]),e.createElementVNode("div",ns,[e.createVNode(e.unref(R.Pagination),{"current-page":r.value,"onUpdate:currentPage":p[2]||(p[2]=m=>r.value=m),"page-size":u.value,"onUpdate:pageSize":p[3]||(p[3]=m=>u.value=m),total:a.value,"page-sizes":[10,20,50,100],layout:"total, sizes, prev, pager, next",onCurrentChange:L,onSizeChange:L},null,8,["current-page","page-size","total"])])]),_:1}),e.createVNode(e.unref(A.Modal),{modelValue:h.value,"onUpdate:modelValue":p[9]||(p[9]=m=>h.value=m),title:_.value,width:"500px"},{footer:e.withCtx(()=>[e.createVNode(e.unref(k.Space),null,{default:e.withCtx(()=>[e.createVNode(e.unref(k.Button),{onClick:p[8]||(p[8]=m=>h.value=!1)},{default:e.withCtx(()=>[...p[18]||(p[18]=[e.createTextVNode("取消",-1)])]),_:1}),e.createVNode(e.unref(k.Button),{type:"primary",onClick:z},{default:e.withCtx(()=>[...p[19]||(p[19]=[e.createTextVNode("确定",-1)])]),_:1})]),_:1})]),default:e.withCtx(()=>[e.createVNode(e.unref(y.Form),{ref_key:"formRef",ref:x,model:d,rules:g,"label-width":"80px"},{default:e.withCtx(()=>[e.createVNode(e.unref(y.FormItem),{label:"角色名称",prop:"name"},{default:e.withCtx(()=>[e.createVNode(e.unref(y.Input),{modelValue:d.name,"onUpdate:modelValue":p[4]||(p[4]=m=>d.name=m),placeholder:"请输入角色名称"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(y.FormItem),{label:"角色编码",prop:"code"},{default:e.withCtx(()=>[e.createVNode(e.unref(y.Input),{modelValue:d.code,"onUpdate:modelValue":p[5]||(p[5]=m=>d.code=m),placeholder:"请输入角色编码"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(y.FormItem),{label:"描述"},{default:e.withCtx(()=>[e.createVNode(e.unref(y.Input),{modelValue:d.description,"onUpdate:modelValue":p[6]||(p[6]=m=>d.description=m),placeholder:"请输入描述"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(y.FormItem),{label:"状态"},{default:e.withCtx(()=>[e.createVNode(e.unref(y.Switch),{modelValue:d.status,"onUpdate:modelValue":p[7]||(p[7]=m=>d.status=m),"active-value":e.unref(T).ENABLED,"inactive-value":e.unref(T).DISABLED},null,8,["modelValue","active-value","inactive-value"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])]))}}),[["__scopeId","data-v-8ad30bc6"]])},Symbol.toStringTag,{value:"Module"})),os={class:"menu-page"},ls={class:"toolbar"},as={class:"menu-tree"},ss={class:"tree-table"},rs={class:"tree-row tree-row--level-0"},is=["onClick"],cs=["onClick"],Nt=Object.freeze(Object.defineProperty({__proto__:null,default:K(e.defineComponent({__name:"index",setup(t){const n=[{id:1,parentId:null,name:"Dashboard",path:"/dashboard",component:"dashboard/index",redirect:"",icon:"dashboard",title:"仪表盘",type:j.MENU,sort:1,status:T.ENABLED,hidden:!1,keepAlive:!0},{id:2,parentId:null,name:"System",path:"/system",component:"",redirect:"/system/user",icon:"setting",title:"系统管理",type:j.DIRECTORY,sort:2,status:T.ENABLED,hidden:!1,keepAlive:!1,children:[{id:21,parentId:2,name:"SystemUser",path:"/system/user",component:"system/user/index",redirect:"",icon:"user",title:"用户管理",type:j.MENU,sort:1,status:T.ENABLED,hidden:!1,keepAlive:!0},{id:22,parentId:2,name:"SystemRole",path:"/system/role",component:"system/role/index",redirect:"",icon:"role",title:"角色管理",type:j.MENU,sort:2,status:T.ENABLED,hidden:!1,keepAlive:!0},{id:23,parentId:2,name:"SystemMenu",path:"/system/menu",component:"system/menu/index",redirect:"",icon:"menu",title:"菜单管理",type:j.MENU,sort:3,status:T.ENABLED,hidden:!1,keepAlive:!0}]}],l=e.ref(!1),s=e.ref([]),a=e.ref(!1),r=e.computed(()=>u.id?"编辑菜单":"新增菜单"),u=e.reactive({id:0,parentId:null,name:"",path:"",component:"",redirect:"",icon:"",title:"",type:j.MENU,sort:0,status:T.ENABLED,hidden:!1,keepAlive:!0}),o={name:[{required:!0,message:"请输入菜单名称",trigger:"blur"}],path:[{required:!0,message:"请输入路由路径",trigger:"blur"}],title:[{required:!0,message:"请输入菜单标题",trigger:"blur"}]},h=e.ref(),_=()=>{l.value=!0,setTimeout(()=>{s.value=n,l.value=!1},300)},d=(D=null)=>{Object.assign(u,{id:0,parentId:D,name:"",path:"",component:"",redirect:"",icon:"",title:"",type:j.MENU,sort:0,status:T.ENABLED,hidden:!1,keepAlive:!0}),a.value=!0},g=D=>{Object.assign(u,D),a.value=!0},x=async()=>{var D;try{await((D=h.value)==null?void 0:D.validate()),A.Message.success(u.id?"编辑成功":"新增成功"),a.value=!1,_()}catch(V){console.error(V)}},L=D=>({dashboard:"📊",system:"⚙️",user:"👤",role:"👥",menu:"📋",setting:"🔧"})[D||""]||"📄";return e.onMounted(()=>{_()}),(D,V)=>(e.openBlock(),e.createElementBlock("div",os,[e.createVNode(e.unref(R.Card),{class:"menu-card"},{default:e.withCtx(()=>[e.createElementVNode("div",ls,[e.createVNode(e.unref(k.Button),{type:"primary",onClick:V[0]||(V[0]=N=>d())},{default:e.withCtx(()=>[...V[14]||(V[14]=[e.createTextVNode("新增菜单",-1)])]),_:1})]),e.createElementVNode("div",as,[e.createElementVNode("table",ss,[V[19]||(V[19]=e.createElementVNode("thead",null,[e.createElementVNode("tr",null,[e.createElementVNode("th",null,"菜单名称"),e.createElementVNode("th",null,"图标"),e.createElementVNode("th",null,"路由路径"),e.createElementVNode("th",null,"类型"),e.createElementVNode("th",null,"排序"),e.createElementVNode("th",null,"状态"),e.createElementVNode("th",null,"操作")])],-1)),e.createElementVNode("tbody",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,N=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:N.id},[e.createElementVNode("tr",rs,[e.createElementVNode("td",null,[e.createElementVNode("span",{class:"menu-name",onClick:$=>g(N)},e.toDisplayString(N.title),9,is)]),e.createElementVNode("td",null,e.toDisplayString(L(N.icon)),1),e.createElementVNode("td",null,e.toDisplayString(N.path),1),e.createElementVNode("td",null,[e.createVNode(e.unref(R.Tag),{type:N.type===e.unref(j).DIRECTORY?"primary":N.type===e.unref(j).MENU?"success":"warning",size:"small"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(N.type===e.unref(j).DIRECTORY?"目录":N.type===e.unref(j).MENU?"菜单":"按钮"),1)]),_:2},1032,["type"])]),e.createElementVNode("td",null,e.toDisplayString(N.sort),1),e.createElementVNode("td",null,[e.createVNode(e.unref(R.Tag),{type:N.status===e.unref(T).ENABLED?"success":"danger",size:"small"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(N.status===e.unref(T).ENABLED?"启用":"禁用"),1)]),_:2},1032,["type"])]),e.createElementVNode("td",null,[e.createVNode(e.unref(k.Space),null,{default:e.withCtx(()=>[e.createVNode(e.unref(k.Button),{type:"primary",link:"",size:"small",onClick:$=>d(N.id)},{default:e.withCtx(()=>[...V[15]||(V[15]=[e.createTextVNode("新增",-1)])]),_:1},8,["onClick"]),e.createVNode(e.unref(k.Button),{type:"primary",link:"",size:"small",onClick:$=>g(N)},{default:e.withCtx(()=>[...V[16]||(V[16]=[e.createTextVNode("编辑",-1)])]),_:1},8,["onClick"])]),_:2},1024)])]),N.children?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(N.children,$=>(e.openBlock(),e.createElementBlock("tr",{key:$.id,class:"tree-row tree-row--level-1"},[e.createElementVNode("td",null,[V[17]||(V[17]=e.createElementVNode("span",{class:"tree-indent"},null,-1)),e.createElementVNode("span",{class:"menu-name",onClick:O=>g($)},e.toDisplayString($.title),9,cs)]),e.createElementVNode("td",null,e.toDisplayString(L($.icon)),1),e.createElementVNode("td",null,e.toDisplayString($.path),1),e.createElementVNode("td",null,[e.createVNode(e.unref(R.Tag),{type:$.type===e.unref(j).DIRECTORY?"primary":$.type===e.unref(j).MENU?"success":"warning",size:"small"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString($.type===e.unref(j).DIRECTORY?"目录":$.type===e.unref(j).MENU?"菜单":"按钮"),1)]),_:2},1032,["type"])]),e.createElementVNode("td",null,e.toDisplayString($.sort),1),e.createElementVNode("td",null,[e.createVNode(e.unref(R.Tag),{type:$.status===e.unref(T).ENABLED?"success":"danger",size:"small"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString($.status===e.unref(T).ENABLED?"启用":"禁用"),1)]),_:2},1032,["type"])]),e.createElementVNode("td",null,[e.createVNode(e.unref(k.Space),null,{default:e.withCtx(()=>[e.createVNode(e.unref(k.Button),{type:"primary",link:"",size:"small",onClick:O=>g($)},{default:e.withCtx(()=>[...V[18]||(V[18]=[e.createTextVNode("编辑",-1)])]),_:1},8,["onClick"])]),_:2},1024)])]))),128)):e.createCommentVNode("",!0)],64))),128))])])])]),_:1}),e.createVNode(e.unref(A.Modal),{modelValue:a.value,"onUpdate:modelValue":V[13]||(V[13]=N=>a.value=N),title:r.value,width:"600px"},{footer:e.withCtx(()=>[e.createVNode(e.unref(k.Space),null,{default:e.withCtx(()=>[e.createVNode(e.unref(k.Button),{onClick:V[12]||(V[12]=N=>a.value=!1)},{default:e.withCtx(()=>[...V[20]||(V[20]=[e.createTextVNode("取消",-1)])]),_:1}),e.createVNode(e.unref(k.Button),{type:"primary",onClick:x},{default:e.withCtx(()=>[...V[21]||(V[21]=[e.createTextVNode("确定",-1)])]),_:1})]),_:1})]),default:e.withCtx(()=>[e.createVNode(e.unref(y.Form),{ref_key:"formRef",ref:h,model:u,rules:o,"label-width":"80px"},{default:e.withCtx(()=>[e.createVNode(e.unref(y.FormItem),{label:"上级菜单"},{default:e.withCtx(()=>[e.createVNode(e.unref(y.Input),{modelValue:u.parentId,"onUpdate:modelValue":V[1]||(V[1]=N=>u.parentId=N),placeholder:"上级菜单ID",disabled:""},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(y.FormItem),{label:"菜单类型"},{default:e.withCtx(()=>[e.createVNode(e.unref(y.Select),{modelValue:u.type,"onUpdate:modelValue":V[2]||(V[2]=N=>u.type=N),options:e.unref(ft)},null,8,["modelValue","options"])]),_:1}),e.createVNode(e.unref(y.FormItem),{label:"菜单名称",prop:"name"},{default:e.withCtx(()=>[e.createVNode(e.unref(y.Input),{modelValue:u.name,"onUpdate:modelValue":V[3]||(V[3]=N=>u.name=N),placeholder:"请输入菜单名称(路由name)"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(y.FormItem),{label:"菜单标题",prop:"title"},{default:e.withCtx(()=>[e.createVNode(e.unref(y.Input),{modelValue:u.title,"onUpdate:modelValue":V[4]||(V[4]=N=>u.title=N),placeholder:"请输入菜单标题"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(y.FormItem),{label:"路由路径",prop:"path"},{default:e.withCtx(()=>[e.createVNode(e.unref(y.Input),{modelValue:u.path,"onUpdate:modelValue":V[5]||(V[5]=N=>u.path=N),placeholder:"请输入路由路径"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(y.FormItem),{label:"组件路径"},{default:e.withCtx(()=>[e.createVNode(e.unref(y.Input),{modelValue:u.component,"onUpdate:modelValue":V[6]||(V[6]=N=>u.component=N),placeholder:"请输入组件路径"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(y.FormItem),{label:"图标"},{default:e.withCtx(()=>[e.createVNode(e.unref(y.Input),{modelValue:u.icon,"onUpdate:modelValue":V[7]||(V[7]=N=>u.icon=N),placeholder:"请输入图标名称"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(y.FormItem),{label:"排序"},{default:e.withCtx(()=>[e.createVNode(e.unref(y.InputNumber),{modelValue:u.sort,"onUpdate:modelValue":V[8]||(V[8]=N=>u.sort=N),min:0},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(y.FormItem),{label:"状态"},{default:e.withCtx(()=>[e.createVNode(e.unref(y.Switch),{modelValue:u.status,"onUpdate:modelValue":V[9]||(V[9]=N=>u.status=N),"active-value":e.unref(T).ENABLED,"inactive-value":e.unref(T).DISABLED},null,8,["modelValue","active-value","inactive-value"])]),_:1}),e.createVNode(e.unref(y.FormItem),{label:"隐藏"},{default:e.withCtx(()=>[e.createVNode(e.unref(y.Switch),{modelValue:u.hidden,"onUpdate:modelValue":V[10]||(V[10]=N=>u.hidden=N)},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(y.FormItem),{label:"缓存"},{default:e.withCtx(()=>[e.createVNode(e.unref(y.Switch),{modelValue:u.keepAlive,"onUpdate:modelValue":V[11]||(V[11]=N=>u.keepAlive=N)},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])]))}}),[["__scopeId","data-v-2a272a68"]])},Symbol.toStringTag,{value:"Module"}));c.Footer=Ul,c.Forbidden=Yl,c.Gender=ut,c.GenderOptions=ba,c.GenderText=Ba,c.Header=at,c.Layout=qe,c.Login=it,c.MenuType=j,c.MenuTypeOptions=ft,c.MenuTypeText=xa,c.NotFound=ct,c.Sidebar=Oe,c.Status=T,c.StatusOptions=We,c.StatusText=Ca,c.Tabs=Dl,c.appConfig=Et,c.batchDeleteUsers=Ea,c.clearToken=ie,c.createLayoutRoute=na,c.createMenu=ma,c.createRole=sa,c.createRouter=oa,c.createUser=Na,c.createXtoApp=$a,c.defaultDynamicRoutes=vl,c.deleteMenu=ua,c.deleteRole=ia,c.deleteUser=ka,c.getApiBaseUrl=Ge,c.getAppId=ue,c.getClientId=Ie,c.getCode=xt,c.getMenuList=da,c.getMenuTree=pt,c.getRefreshTime=Bt,c.getRefreshToken=Ct,c.getRoleDetail=aa,c.getRoleList=la,c.getToken=ge,c.getTokenExpire=et,c.getTokenType=Qe,c.getUserDetail=ga,c.getUserInfo=rt,c.getUserList=_a,c.hasPermission=Jl,c.hasRole=Ql,c.hasToken=Pe,c.http=F,c.initAppConfig=Xe,c.isAdmin=Zl,c.isTokenExpired=lt,c.layoutRoute=Ke,c.local=b,c.localStorageUtil=he,c.login=st,c.logout=zl,c.mockMenuData=mt,c.permissionDirective=Sa,c.refreshToken=Al,c.resetPassword=wa,c.resetRouter=ta,c.router=Ye,c.session=yt,c.sessionStorageUtil=_e,c.setCode=ot,c.setRefreshTime=nt,c.setRefreshToken=ve,c.setToken=Je,c.setTokenExpire=tt,c.setTokenInfo=Re,c.setTokenType=Ze,c.setupRouterGuards=ha,c.staticRoutes=je,c.updateMenu=pa,c.updateRole=ra,c.updateRoleStatus=ca,c.updateUser=Va,c.updateUserStatus=ya,c.useApp=Wl,c.useAppStore=ee,c.useAuth=Xl,c.useAuthStore=ce,c.useForm=Gl,c.useMenuStore=oe,c.useTable=Hl,c.useUserStore=X,Object.defineProperty(c,Symbol.toStringTag,{value:"Module"})});
|