xto-fronted 0.4.85 → 0.4.86
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/assets/404-BNfk6aVM.js +1 -0
- package/dist/assets/404-ByYjFnhI.js +1 -0
- package/dist/assets/404-CH5_LdtS.css +1 -0
- package/dist/assets/404-sqW80Hc-.css +1 -0
- package/dist/assets/_plugin-vue_export-helper-DlAUqK2U.js +1 -0
- package/dist/assets/index-BBhC8PX4.js +1 -0
- package/dist/assets/index-BOEFG4lP.css +1 -0
- package/dist/assets/index-BRR97dc6.js +1 -0
- package/dist/assets/index-BSa4SMHI.js +1 -0
- package/dist/assets/index-BihVoviB.js +1 -0
- package/dist/assets/index-Bmux4tGG.js +1 -0
- package/dist/assets/index-BrvR0Fn_.css +1 -0
- package/dist/assets/index-C4ZCZoPp.js +1 -0
- package/dist/assets/index-CMgRqiaT.js +1 -0
- package/dist/assets/index-CUh_s55Z.css +1 -0
- package/dist/assets/index-CV768Wu1.js +1 -0
- package/dist/assets/index-D0OnMilp.js +1 -0
- package/dist/assets/index-D9wlAuR_.js +1 -0
- package/dist/assets/index-DPkO-STg.js +1 -0
- package/dist/assets/index-DawJb02s.css +1 -0
- package/dist/assets/index-DcFOybjo.js +1 -0
- package/dist/assets/index-DiHSZ6SJ.js +2 -0
- package/dist/assets/index-GDP-IkXE.css +1 -0
- package/dist/assets/index-Gx75raue.js +2 -0
- package/dist/assets/index-JsZ6rkQj.js +1 -0
- package/dist/assets/index-PfV8pzQz.css +1 -0
- package/dist/assets/index-Swfu6yvD.css +1 -0
- package/dist/assets/index-eQ-JQMk3.css +1 -0
- package/dist/assets/vendor-42ANG6Sg.js +6 -0
- package/dist/assets/vite-Dw-pgLOX.js +1 -0
- package/dist/assets/vue-vendor-05sbU7Th.js +29 -0
- package/dist/assets/vue-vendor-Br-l7wbK.js +29 -0
- package/dist/assets/xto-base-BSTP-Yn2.js +1 -0
- package/dist/assets/xto-base-C-IBqjVs.js +1 -0
- package/dist/assets/xto-base-C6eqMPdO.css +1 -0
- package/dist/assets/xto-base-CL2NKZJJ.css +1 -0
- package/dist/assets/xto-business--V1F5Gwb.css +1 -0
- package/dist/assets/xto-core-DZK7Cyg0.js +1 -0
- package/dist/assets/xto-core-cL8BAdce.js +1 -0
- package/dist/assets/xto-data-BFpiDgJi.js +1 -0
- package/dist/assets/xto-data-CnAQAQH2.css +1 -0
- package/dist/assets/xto-data-Cw0dv5K5.js +1 -0
- package/dist/assets/xto-data-MxZsiJgi.css +1 -0
- package/dist/assets/xto-feedback-B2M02fn3.js +1 -0
- package/dist/assets/xto-feedback-Bxx38c3P.css +1 -0
- package/dist/assets/xto-feedback-ByaS-C7_.css +1 -0
- package/dist/assets/xto-feedback-CTk0sMCW.js +1 -0
- package/dist/assets/xto-form-C5i2lk3C.js +1 -0
- package/dist/assets/xto-form-CrsyAjyr.css +1 -0
- package/dist/assets/xto-form-Cu6q3VLG.css +1 -0
- package/dist/assets/xto-form-NRjKKNcY.js +1 -0
- package/dist/assets/xto-layout-BDD6sSlM.css +1 -0
- package/dist/assets/xto-layout-D1stVnJI.css +1 -0
- package/dist/assets/xto-navigation-BuRQVoD8.css +1 -0
- package/dist/assets/xto-navigation-DHsTg0WG.js +1 -0
- package/dist/assets/xto-navigation-XfpyMpEo.css +1 -0
- package/dist/assets/xto-navigation-qLRTxo68.js +1 -0
- package/dist/index-0h_oG71z.js +345 -0
- package/dist/index-1EEezXR3.js +142 -0
- package/dist/index-1EkaJDoD.js +142 -0
- package/dist/index-1VN-SSaj.js +2873 -0
- package/dist/index-23nX2t9j.js +142 -0
- package/dist/index-2RwL0s53.js +142 -0
- package/dist/index-2tvOdd6w.js +372 -0
- package/dist/index-3zeoNaqT.js +345 -0
- package/dist/index-8oCLh51t.js +475 -0
- package/dist/index-AF5JN8Up.js +142 -0
- package/dist/index-B02xiP9g.js +372 -0
- package/dist/index-B05xso4D.js +345 -0
- package/dist/index-B1VS4tRU.js +475 -0
- package/dist/index-B3_VQZ-d.js +372 -0
- package/dist/index-B3kL6i_g.js +345 -0
- package/dist/index-B4Wny0vt.js +345 -0
- package/dist/index-B5RdBQ-f.js +475 -0
- package/dist/index-B5rbuoWS.js +2835 -0
- package/dist/index-BAFpPlnI.js +475 -0
- package/dist/index-BAJakzRz.js +142 -0
- package/dist/index-BAOHlfVd.js +142 -0
- package/dist/index-BAzJWzWG.js +2852 -0
- package/dist/index-BEIxh_R3.js +2982 -0
- package/dist/index-BEWrRNps.js +475 -0
- package/dist/index-BFtKVmzo.js +142 -0
- package/dist/index-BHPrW1wN.js +142 -0
- package/dist/index-BHQIqN1E.js +372 -0
- package/dist/index-BHZ_y8lp.js +2067 -0
- package/dist/index-BHvnTk5Z.js +475 -0
- package/dist/index-BIf7CYCW.js +475 -0
- package/dist/index-BK1Y1z9_.js +142 -0
- package/dist/index-BK8qDl14.js +372 -0
- package/dist/index-BKnta6nv.js +372 -0
- package/dist/index-BLIem13z.js +345 -0
- package/dist/index-BNBv_FCu.js +142 -0
- package/dist/index-BNwtCm83.js +345 -0
- package/dist/index-BOEMA7WH.js +345 -0
- package/dist/index-BOwDukt-.js +2346 -0
- package/dist/index-BR9WVjrV.js +2851 -0
- package/dist/index-BRMkw154.js +475 -0
- package/dist/index-BRQBannD.js +345 -0
- package/dist/index-BShKtLTm.js +475 -0
- package/dist/index-BVpqTdd2.js +3132 -0
- package/dist/index-BWGQANAN.js +2851 -0
- package/dist/index-BZKw7U60.js +475 -0
- package/dist/index-BadGWG4q.js +475 -0
- package/dist/index-BbeWpCd3.js +345 -0
- package/dist/index-BeUYNx5P.js +475 -0
- package/dist/index-BgiGtxRr.js +142 -0
- package/dist/index-BhKJLk9M.js +2824 -0
- package/dist/index-BijsKQ3r.js +475 -0
- package/dist/index-BjEfspqP.js +475 -0
- package/dist/index-BjEnT8WQ.js +372 -0
- package/dist/index-BpOcz1m4.js +142 -0
- package/dist/index-BrRdLbLB.js +142 -0
- package/dist/index-BsHOXfCq.js +372 -0
- package/dist/index-Bt5ocakb.js +475 -0
- package/dist/index-BtE24Mt4.js +142 -0
- package/dist/index-BvcBQjw6.js +2836 -0
- package/dist/index-C0krZRWf.js +2859 -0
- package/dist/index-C1cKUqmA.js +372 -0
- package/dist/index-C3ANmIDM.js +475 -0
- package/dist/index-C5JrEkwD.js +345 -0
- package/dist/index-C5m4qNMQ.js +2851 -0
- package/dist/index-C69vu_ot.js +3147 -0
- package/dist/index-C6Um6eFy.js +475 -0
- package/dist/index-C75ePQYC.js +372 -0
- package/dist/index-C7wKLGhC.js +142 -0
- package/dist/index-C8DBDnxx.js +2836 -0
- package/dist/index-CAnqlIjX.js +475 -0
- package/dist/index-CB36fztK.js +345 -0
- package/dist/index-CBKo6Enz.js +345 -0
- package/dist/index-CBcuyFIa.js +2326 -0
- package/dist/index-CCxIu4ex.js +372 -0
- package/dist/index-CD1ZEMzL.js +2836 -0
- package/dist/index-CDx-6tvY.js +345 -0
- package/dist/index-CGrvOpdb.js +372 -0
- package/dist/index-CHJWNf3f.js +475 -0
- package/dist/index-CIb06BxE.js +372 -0
- package/dist/index-CLiJcB9v.js +142 -0
- package/dist/index-CNS6Ohfw.js +2853 -0
- package/dist/index-COkjB5Jm.js +142 -0
- package/dist/index-CS5h1O5W.js +345 -0
- package/dist/index-CT0deRSL.js +372 -0
- package/dist/index-CTQQBaf4.js +345 -0
- package/dist/index-CUAC0ZFB.js +475 -0
- package/dist/index-CVMV9Tfg.js +142 -0
- package/dist/index-CWOx59Vc.js +142 -0
- package/dist/index-CWdSR99B.js +372 -0
- package/dist/index-CWvOcS8Y.js +345 -0
- package/dist/index-C_8yJlf1.js +475 -0
- package/dist/index-C_MzXmh2.js +2830 -0
- package/dist/index-Cb7HXiBR.js +372 -0
- package/dist/index-CbA8oUvZ.js +142 -0
- package/dist/index-CbEIzXG9.js +475 -0
- package/dist/index-Cb_m0zz1.js +475 -0
- package/dist/index-Cc6HgGzc.js +142 -0
- package/dist/index-CcWdW9Mj.js +372 -0
- package/dist/index-CdAqkP8L.js +345 -0
- package/dist/index-CeVUHSt9.js +2847 -0
- package/dist/index-CejRpy0a.js +475 -0
- package/dist/index-Cg5wO_jJ.js +372 -0
- package/dist/index-CgZM1vHq.js +372 -0
- package/dist/index-CgofFg1D.js +372 -0
- package/dist/index-ChheXGDK.js +372 -0
- package/dist/index-ChuFHoI0.js +372 -0
- package/dist/index-CiOJZ6_b.js +372 -0
- package/dist/index-ClCWmz_7.js +2844 -0
- package/dist/index-CmajGrKA.js +142 -0
- package/dist/index-Cn_4o3fi.js +345 -0
- package/dist/index-CoJBI1vE.js +345 -0
- package/dist/index-CqLLaQ-P.js +372 -0
- package/dist/index-CsRhLwmR.js +475 -0
- package/dist/index-CttJvDTG.js +475 -0
- package/dist/index-Cu3m9UeX.js +345 -0
- package/dist/index-CyQbOMHa.js +2859 -0
- package/dist/index-D-NcbLKL.js +345 -0
- package/dist/index-D0gstkiI.js +2836 -0
- package/dist/index-D0krzDtx.js +475 -0
- package/dist/index-D1moFd4V.js +372 -0
- package/dist/index-D2Hs4bZj.js +345 -0
- package/dist/index-D4QhrTZs.js +475 -0
- package/dist/index-D6CC02F-.js +372 -0
- package/dist/index-D6s7Za5s.js +142 -0
- package/dist/index-D7i5bck2.js +3132 -0
- package/dist/index-D8YBeNfn.js +345 -0
- package/dist/index-D93bv6lU.js +372 -0
- package/dist/index-DAX_bFj5.js +142 -0
- package/dist/index-DBii9cjr.js +475 -0
- package/dist/index-DBzpSkNi.js +345 -0
- package/dist/index-DCuKNBck.js +3153 -0
- package/dist/index-DE3uKf0K.js +142 -0
- package/dist/index-DGAqp0QX.js +372 -0
- package/dist/index-DGh_w_v1.js +475 -0
- package/dist/index-DItKvJyI.js +475 -0
- package/dist/index-DKAyB0fv.js +345 -0
- package/dist/index-DKN4xsXi.js +2851 -0
- package/dist/index-DN_iIn8V.js +345 -0
- package/dist/index-DONIBpuJ.js +345 -0
- package/dist/index-DPDK8Ht4.js +2851 -0
- package/dist/index-DPr3ldST.js +2354 -0
- package/dist/index-DS1wfdxM.js +142 -0
- package/dist/index-DUW5cCh8.js +372 -0
- package/dist/index-DUv28uVd.js +142 -0
- package/dist/index-DVS-5SZn.js +475 -0
- package/dist/index-DWI51JAp.js +372 -0
- package/dist/index-DWVmEexu.js +475 -0
- package/dist/index-DXf9wUqQ.js +142 -0
- package/dist/index-DXmB-sjP.js +345 -0
- package/dist/index-DY_e_Dxv.js +372 -0
- package/dist/index-DZar-us7.js +142 -0
- package/dist/index-D_nwqVrw.js +2847 -0
- package/dist/index-DbEeir7h.js +2834 -0
- package/dist/index-Dbf5ypbh.js +142 -0
- package/dist/index-DcSK-2pt.js +345 -0
- package/dist/index-DclK-Mc7.js +2864 -0
- package/dist/index-DcnzaxVi.js +142 -0
- package/dist/index-Dd8PlF0M.js +2857 -0
- package/dist/index-DdkVT39s.js +345 -0
- package/dist/index-DeLbU1t-.js +345 -0
- package/dist/index-DfV_J8Te.js +345 -0
- package/dist/index-DgPnNd8U.js +475 -0
- package/dist/index-Dg_JLa7s.js +345 -0
- package/dist/index-Di2VPQjn.js +345 -0
- package/dist/index-DibHUbqc.js +372 -0
- package/dist/index-DjCVSrpw.js +475 -0
- package/dist/index-Djdb936p.js +142 -0
- package/dist/index-DmFL_GSt.js +142 -0
- package/dist/index-DmP4X2k0.js +372 -0
- package/dist/index-DmtmRd1r.js +372 -0
- package/dist/index-Dn8MA3kh.js +475 -0
- package/dist/index-Do7uXDSi.js +2071 -0
- package/dist/index-Dpv1M9Hu.js +372 -0
- package/dist/index-DqUuZC8f.js +372 -0
- package/dist/index-DtEXQIjn.js +372 -0
- package/dist/index-Dtw-qZ0V.js +372 -0
- package/dist/index-Dv3hIz8H.js +345 -0
- package/dist/index-Dv9jnaWp.js +345 -0
- package/dist/index-Dw8KZwGJ.js +2354 -0
- package/dist/index-DwJILh-Q.js +3149 -0
- package/dist/index-DwzGV3B9.js +142 -0
- package/dist/index-DyybaRkK.js +345 -0
- package/dist/index-DzerABZq.js +372 -0
- package/dist/index-F53NVkhc.js +142 -0
- package/dist/index-Fl0_k4XF.js +475 -0
- package/dist/index-HMYRCPrs.js +2326 -0
- package/dist/index-I49wpmT-.js +372 -0
- package/dist/index-IPv1O8Zq.js +345 -0
- package/dist/index-JLqnaery.js +372 -0
- package/dist/index-JRCQ1CYj.js +142 -0
- package/dist/index-L86-iO8O.js +345 -0
- package/dist/index-Q56EoFor.js +142 -0
- package/dist/index-QxKMr6p0.js +2829 -0
- package/dist/index-THRvW9Xm.js +2856 -0
- package/dist/index-WIUmTlfL.js +345 -0
- package/dist/index-WRrsK0pR.js +475 -0
- package/dist/index-Wq652QGf.js +2836 -0
- package/dist/index-YnSLCdjP.js +475 -0
- package/dist/index-Ynf0lvBE.js +142 -0
- package/dist/index-_OtTmb9i.js +142 -0
- package/dist/index-_oqoy_3D.js +142 -0
- package/dist/index-cl4Y-BWw.js +475 -0
- package/dist/index-d_eHJkDW.js +475 -0
- package/dist/index-dnmEyUWB.js +372 -0
- package/dist/index-dz6CwD6A.js +142 -0
- package/dist/index-g4rkaRry.js +475 -0
- package/dist/index-g9bRMdAX.js +142 -0
- package/dist/index-h4z4-a2p.js +2852 -0
- package/dist/index-h7BhcQYM.js +475 -0
- package/dist/index-hI3qofTF.js +345 -0
- package/dist/index-iyQQumAA.js +372 -0
- package/dist/index-js_OhKON.js +345 -0
- package/dist/index-kgb4MdHr.js +475 -0
- package/dist/index-logKl0VM.js +3144 -0
- package/dist/index-lrFMrOlR.js +3132 -0
- package/dist/index-mEHxtQWj.js +372 -0
- package/dist/index-mNm1BV3n.js +2857 -0
- package/dist/index-oOzAFXfr.js +142 -0
- package/dist/index-s3vGq0ro.js +345 -0
- package/dist/index-wt7AbUqc.js +2342 -0
- package/dist/index.es.js +1 -1
- package/dist/index.html +28 -0
- package/dist/index.umd.js +1 -8
- package/dist/style.css +1 -1
- package/package.json +87 -91
- package/src/App.vue +1 -30
- package/src/assets/styles/_root.scss +97 -141
- package/src/assets/styles/_variables.scss +19 -44
- package/src/assets/styles/index.scss +42 -267
- package/src/components/Layout/Sidebar.vue +2 -43
- package/src/components/Layout/TopMenu.vue +12 -37
- package/src/components/Layout/index.vue +0 -1
- package/src/utils/request.ts +1 -18
- package/src/views/dashboard/index.vue +155 -417
- package/src/views/error/403.vue +56 -251
- package/src/views/error/404.vue +56 -253
- package/src/views/login/index.vue +194 -586
- package/src/views/system/menu/index.vue +94 -403
- package/src/views/system/role/index.vue +69 -348
- package/src/views/system/user/index.vue +73 -402
- package/dist/index-BZaqYObA.js +0 -479
- package/dist/index-CbwOysFI.js +0 -641
- package/dist/index-Jynxhhda.js +0 -189
- package/dist/index-XgzSS-fV.js +0 -515
- package/dist/index-_iZKFlCa.js +0 -4178
- package/src/types/json-bigint.d.ts +0 -18
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{d as t,o as a,c as p,a as o,z as n,C as _,u as d,h as i,P as c}from"./vue-vendor-05sbU7Th.js";import{M as l}from"./xto-base-BSTP-Yn2.js";import{_ as m}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./xto-core-cL8BAdce.js";const u={class:"error-page"},f={class:"error-page__content"},g=t({__name:"404",setup(v){const r=c(),s=()=>{r.push("/")};return(x,e)=>(a(),p("div",u,[o("div",f,[e[1]||(e[1]=o("div",{class:"error-page__code"},"404",-1)),e[2]||(e[2]=o("div",{class:"error-page__title"},"页面不存在",-1)),e[3]||(e[3]=o("div",{class:"error-page__desc"},"抱歉,您访问的页面不存在或已被删除",-1)),n(d(l),{type:"primary",onClick:s},{default:_(()=>[...e[0]||(e[0]=[i("返回首页",-1)])]),_:1})])]))}}),V=m(g,[["__scopeId","data-v-3b47f5bc"]]);export{V as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{d as t,o as a,c as p,a as o,B as n,C as _,u as d,h as i,P as c}from"./vue-vendor-Br-l7wbK.js";import{o as l}from"./xto-base-C-IBqjVs.js";import{_ as m}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./xto-core-DZK7Cyg0.js";const u={class:"error-page"},f={class:"error-page__content"},g=t({__name:"404",setup(v){const r=c(),s=()=>{r.push("/")};return(x,e)=>(a(),p("div",u,[o("div",f,[e[1]||(e[1]=o("div",{class:"error-page__code"},"404",-1)),e[2]||(e[2]=o("div",{class:"error-page__title"},"页面不存在",-1)),e[3]||(e[3]=o("div",{class:"error-page__desc"},"抱歉,您访问的页面不存在或已被删除",-1)),n(d(l),{type:"primary",onClick:s},{default:_(()=>[...e[0]||(e[0]=[i("返回首页",-1)])]),_:1})])]))}}),V=m(g,[["__scopeId","data-v-54fcac4c"]]);export{V as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.error-page[data-v-3b47f5bc]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:var(--bg-color-page)}.error-page__content[data-v-3b47f5bc]{text-align:center}.error-page__code[data-v-3b47f5bc]{font-size:120px;font-weight:600;color:var(--color-primary);line-height:1;margin-bottom:20px}.error-page__title[data-v-3b47f5bc]{font-size:24px;font-weight:500;color:var(--color-text-primary);margin-bottom:10px}.error-page__desc[data-v-3b47f5bc]{font-size:14px;color:var(--color-text-secondary);margin-bottom:30px}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.error-page[data-v-54fcac4c]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:var(--bg-color-page)}.error-page__content[data-v-54fcac4c]{text-align:center}.error-page__code[data-v-54fcac4c]{font-size:120px;font-weight:600;color:var(--color-primary);line-height:1;margin-bottom:20px}.error-page__title[data-v-54fcac4c]{font-size:24px;font-weight:500;color:var(--color-text-primary);margin-bottom:10px}.error-page__desc[data-v-54fcac4c]{font-size:14px;color:var(--color-text-secondary);margin-bottom:30px}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const s=(t,r)=>{const o=t.__vccOpts||t;for(const[c,e]of r)o[c]=e;return o};export{s as _};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{d as T,o as x,c as h,a as p,B as t,C as l,u as a,I as B,k as g,P as I,Q as R,R as q,h as k}from"./vue-vendor-Br-l7wbK.js";import{_ as z}from"./vite-Dw-pgLOX.js";import{r as y,o as C}from"./xto-base-C-IBqjVs.js";import{B as j,F as c,w as v,T as P}from"./xto-form-NRjKKNcY.js";import{c as i}from"./xto-feedback-B2M02fn3.js";import{a as U}from"./vendor-42ANG6Sg.js";import{g as L,a as N,c as A,b as D,d as E,s as F}from"./index-DiHSZ6SJ.js";import{_ as K}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./xto-core-DZK7Cyg0.js";import"./xto-data-BFpiDgJi.js";import"./xto-navigation-qLRTxo68.js";/* empty css *//* empty css */const $=()=>{const o=U.create({baseURL:"/api",timeout:3e4,headers:{"Content-Type":"application/json"}});return o.interceptors.request.use(e=>{const r=L(),n=N()||"Bearer";return r&&(e.headers.Authorization=`${n} ${r}`),e},e=>Promise.reject(e)),o.interceptors.response.use(e=>{const{data:r}=e;return r.code===200||r.code===0?r.data:(i.error(r.message||"请求失败"),Promise.reject(new Error(r.message||"请求失败")))},e=>{var n;const{response:r}=e;if(r)switch(r.status){case 401:i.error("登录已过期,请重新登录"),A(),window.location.href="/login";break;case 403:i.error("没有权限访问");break;case 404:i.error("请求资源不存在");break;case 500:i.error("服务器错误");break;default:i.error(((n=r.data)==null?void 0:n.message)||"请求失败")}else i.error("网络连接失败");return Promise.reject(e)}),o},m=$(),M={get(o,e){return m.get(o,e)},post(o,e,r){return m.post(o,e,r)},put(o,e,r){return m.put(o,e,r)},patch(o,e,r){return m.patch(o,e,r)},delete(o,e){return m.delete(o,e)},download(o,e){return m.get(o,{...e,responseType:"blob"})}};function Q(o){return M.post("/user/v1.0/login/by-domain",o)}const X={class:"login"},G={class:"login__container"},H=T({__name:"index",setup(o){const e=I(),r=R(),n=g(!1),_=g(!1),u=B({uid:"",password:""}),V={uid:[{required:!0,message:"请输入用户名",trigger:"blur"}],password:[{required:!0,message:"请输入密码",trigger:"blur"},{min:6,message:"密码长度至少6位",trigger:"blur"}]},w=g(),b=async()=>{var f;try{await((f=w.value)==null?void 0:f.validate()),n.value=!0;const s=await Q({appId:E(),clientId:D(),uid:u.uid,password:u.password,code:!0});F(s),i.success("登录成功");const d=r.query.redirect||"/";e.push(d)}catch(s){console.error("登录失败:",s)}finally{n.value=!1}};return(f,s)=>(x(),h("div",X,[p("div",G,[s[5]||(s[5]=p("div",{class:"login__header"},[p("img",{src:z,alt:"Logo",class:"login__logo"}),p("h1",{class:"login__title"},"Xto Demo"),p("p",{class:"login__subtitle"},"后台管理系统")],-1)),t(a(j),{ref_key:"formRef",ref:w,model:u,rules:V,class:"login__form","label-width":"0"},{default:l(()=>[t(a(c),{prop:"uid"},{default:l(()=>[t(a(v),{modelValue:u.uid,"onUpdate:modelValue":s[0]||(s[0]=d=>u.uid=d),placeholder:"用户名",size:"large"},{prefix:l(()=>[t(a(y),{name:"user",size:18})]),_:1},8,["modelValue"])]),_:1}),t(a(c),{prop:"password"},{default:l(()=>[t(a(v),{modelValue:u.password,"onUpdate:modelValue":s[1]||(s[1]=d=>u.password=d),type:"password",placeholder:"密码",size:"large","show-password":"",onKeyup:q(b,["enter"])},{prefix:l(()=>[t(a(y),{name:"lock",size:18})]),_:1},8,["modelValue"])]),_:1}),t(a(c),null,{default:l(()=>[t(a(P),{modelValue:_.value,"onUpdate:modelValue":s[2]||(s[2]=d=>_.value=d)},{default:l(()=>[...s[3]||(s[3]=[k("记住我",-1)])]),_:1},8,["modelValue"])]),_:1}),t(a(c),null,{default:l(()=>[t(a(C),{type:"primary",size:"large",loading:n.value,class:"login__submit",onClick:b},{default:l(()=>[...s[4]||(s[4]=[k(" 登录 ",-1)])]),_:1},8,["loading"])]),_:1})]),_:1},8,["model"]),s[6]||(s[6]=p("div",{class:"login__footer"},[p("p",null,"请输入您的用户名和密码")],-1))])]))}}),ne=K(H,[["__scopeId","data-v-f3e724b6"]]);export{ne as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.app{width:100%;height:100%;background-color:var(--bg-color-page);transition:background-color .3s}:root{--color-primary: #409eff;--color-primary-light-3: #79bbff;--color-primary-light-5: #a0cfff;--color-primary-light-7: #c6e2ff;--color-primary-light-8: #d9ecff;--color-primary-light-9: #ecf5ff;--color-primary-dark-2: #337ecc;--color-success: #67c23a;--color-success-light: #e1f3d8;--color-success-dark: #529b2e;--color-warning: #e6a23c;--color-warning-light: #fdf6ec;--color-warning-dark: #b88230;--color-danger: #f56c6c;--color-danger-light: #fde2e2;--color-danger-dark: #c45656;--color-info: #909399;--color-info-light: #f4f4f5;--color-info-dark: #73767a;--color-text-primary: #303133;--color-text-regular: #606266;--color-text-secondary: #909399;--color-text-placeholder: #a8abb2;--color-text-disabled: #c0c4cc;--color-border: #dcdfe6;--color-border-light: #e4e7ed;--color-border-lighter: #ebeef5;--color-border-extra-light: #f2f6fc;--color-border-dark: #d4d7de;--color-fill: #f5f7fa;--color-fill-light: #fafafa;--color-fill-lighter: #fafcff;--color-fill-blank: #ffffff;--bg-color: #ffffff;--bg-color-page: #f2f3f5;--bg-color-overlay: #ffffff;--box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1);--box-shadow-light: 0 2px 8px 0 rgba(0, 0, 0, .06);--box-shadow-lighter: 0 1px 4px 0 rgba(0, 0, 0, .04);--box-shadow-dark: 0 4px 16px 0 rgba(0, 0, 0, .12);--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-size-base: 14px;--font-size-small: 12px;--font-size-large: 16px;--font-size-extra-large: 18px;--border-radius-base: 4px;--border-radius-small: 2px;--border-radius-large: 8px;--border-radius-round: 20px;--border-radius-circle: 50%;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--component-size-large: 40px;--component-size-default: 32px;--component-size-small: 24px;--transition-duration: .3s;--transition-duration-fast: .2s;--transition-duration-slow: .5s;--z-index-dropdown: 1000;--z-index-sticky: 1020;--z-index-fixed: 1030;--z-index-modal-backdrop: 1040;--z-index-modal: 1050;--z-index-popover: 1060;--z-index-tooltip: 1070;--sidebar-width: 210px;--sidebar-collapsed-width: 64px;--header-height: 50px;--tabs-height: 40px;--footer-height: 30px}.dark{--color-text-primary: #e5eaf3;--color-text-regular: #cfd3dc;--color-text-secondary: #a3a6ad;--color-text-placeholder: #8d9095;--color-text-disabled: #6c6e72;--color-border: #4c4d4f;--color-border-light: #414243;--color-border-lighter: #363637;--color-border-extra-light: #2b2b2c;--color-border-dark: #58585b;--color-fill: #303030;--color-fill-light: #262727;--color-fill-lighter: #1d1d1d;--color-fill-blank: #141414;--bg-color: #1d1e1f;--bg-color-page: #0a0a0a;--bg-color-overlay: #1d1e1f;--box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .3);--box-shadow-light: 0 2px 8px 0 rgba(0, 0, 0, .24);--box-shadow-lighter: 0 1px 4px 0 rgba(0, 0, 0, .2);--box-shadow-dark: 0 4px 16px 0 rgba(0, 0, 0, .36)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{width:100%;height:100%;font-size:var(--font-size-base);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{width:100%;height:100%;font-family:var(--font-family);font-size:var(--font-size-base);line-height:1.5;color:var(--color-text-primary);background-color:var(--bg-color-page)}#app{width:100%;height:100%}a{color:var(--color-primary);text-decoration:none;cursor:pointer;transition:color var(--transition-duration-fast)}a:hover{color:var(--color-primary-light-3)}ul,ol{list-style:none}img{max-width:100%;height:auto;vertical-align:middle}button{cursor:pointer;font-family:inherit;font-size:inherit;border:none;background:none;outline:none}button:disabled{cursor:not-allowed}input,textarea,select{font-family:inherit;font-size:inherit;outline:none}table{border-collapse:collapse;border-spacing:0}h1,h2,h3,h4,h5,h6{margin:0;font-weight:500;color:var(--color-text-primary)}p{margin:0}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background-color:var(--color-fill-light);border-radius:3px}::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background-color:var(--color-text-secondary)}::selection{background-color:var(--color-primary-light-8);color:var(--color-primary)}.fade-enter-active,.fade-leave-active{transition:opacity var(--transition-duration)}.fade-enter-from,.fade-leave-to{opacity:0}.fade-scale-enter-active,.fade-scale-leave-active{transition:all var(--transition-duration)}.fade-scale-enter-from,.fade-scale-leave-to{opacity:0;transform:scale(.9)}.fade-transform-enter-active,.fade-transform-leave-active{transition:all var(--transition-duration-fast)}.fade-transform-enter-from{opacity:0;transform:translate(-10px)}.fade-transform-leave-to{opacity:0;transform:translate(10px)}.slide-down-enter-active,.slide-down-leave-active{transition:all var(--transition-duration)}.slide-down-enter-from,.slide-down-leave-to{opacity:0;transform:translateY(-20px)}.slide-up-enter-active,.slide-up-leave-active{transition:all var(--transition-duration)}.slide-up-enter-from,.slide-up-leave-to{opacity:0;transform:translateY(20px)}.slide-left-enter-active,.slide-left-leave-active{transition:all var(--transition-duration)}.slide-left-enter-from,.slide-left-leave-to{opacity:0;transform:translate(20px)}.slide-right-enter-active,.slide-right-leave-active{transition:all var(--transition-duration)}.slide-right-enter-from,.slide-right-leave-to{opacity:0;transform:translate(-20px)}.zoom-enter-active,.zoom-leave-active{transition:all var(--transition-duration)}.zoom-enter-from,.zoom-leave-to{opacity:0;transform:scale(.5)}.list-enter-active,.list-leave-active{transition:all var(--transition-duration)}.list-enter-from,.list-leave-to{opacity:0;transform:translateY(30px)}.collapse-transition{transition:width var(--transition-duration),padding var(--transition-duration)}.dark .sidebar,.dark .layout__aside{background-color:#1d1e1f}.dark .sidebar{border-right:1px solid #363637}.dark .sidebar__search-results{background-color:#1d1e1f;border-color:#363637}.dark .sidebar__search-item:hover{background-color:#262727}.dark .sidebar__search-item-title{color:#cfd3dc}.dark .sidebar__search-item-parent{color:#a3a6ad}.dark .sidebar__logo{border-bottom-color:#363637}.dark .sidebar__user{border-top-color:#363637}.dark .sidebar__user-name{color:#cfd3dc}.dark .sidebar__user-role{color:#a3a6ad}.dark .x-menu{background-color:#1d1e1f!important;border-color:#363637;color:#cfd3dc}.dark .x-menu.x-menu--vertical{border-right-color:#363637}.dark .x-menu.x-menu--horizontal{border-bottom-color:#363637;background-color:#1d1e1f!important}.dark .x-menu-item{color:#cfd3dc!important;background-color:transparent!important}.dark .x-menu-item:hover{background-color:#262727!important}.dark .x-menu-item.is-active{color:#409eff!important;background-color:#409eff1a!important}.dark .x-menu-item.is-active:before{background-color:#409eff}.dark .x-menu-item.is-horizontal:hover{background-color:transparent!important}.dark .x-menu-item.is-horizontal.is-active{background-color:transparent!important;border-bottom-color:#409eff}.dark .x-sub-menu__title{color:#cfd3dc!important;background-color:transparent!important}.dark .x-sub-menu__title:hover{background-color:#262727!important}.dark .x-sub-menu__menu{background-color:#1d1e1f!important;border:1px solid #363637;box-shadow:0 2px 12px #00000080}.dark .x-sub-menu__menu .x-menu-item{background-color:transparent!important;color:#cfd3dc!important}.dark .x-sub-menu__menu .x-menu-item:hover{background-color:#262727!important}.dark .x-sub-menu__menu .x-menu-item.is-active{color:#409eff!important;background-color:#409eff1a!important}.dark .x-sub-menu__arrow{color:#a3a6ad}.dark .x-sub-menu.is-active>.x-sub-menu__title{color:#409eff!important}.dark .x-sub-menu--horizontal .x-sub-menu__title:hover{background-color:transparent!important}.dark .x-sub-menu--horizontal .x-sub-menu__menu{background-color:#1d1e1f!important;border:1px solid #363637}.dark .x-sub-menu.is-collapse>.x-sub-menu__menu{background-color:#1d1e1f!important;border:1px solid #363637}.dark .header{background-color:#1d1e1f;border-bottom-color:#363637}.dark .header__collapse{color:#cfd3dc}.dark .header__breadcrumb{color:#a3a6ad}.dark .header__user-name{color:#cfd3dc}.dark .header__user-arrow{color:#a3a6ad}.dark .header__action:hover,.dark .header__user-trigger:hover{background-color:#262727}.dark .header__dropdown{background-color:#1d1e1f;border:1px solid #363637;box-shadow:0 2px 12px #00000080}.dark .header__dropdown-name{color:#e5eaf3}.dark .header__dropdown-role{color:#a3a6ad}.dark .header__dropdown-divider{background-color:#363637}.dark .header__dropdown-item{color:#cfd3dc}.dark .header__dropdown-item:hover{background-color:#262727;color:#e5eaf3}.dark .top-menu{background-color:#1d1e1f}.dark .top-menu__menu{background-color:#1d1e1f!important}.dark .top-menu__menu-char{background-color:#409eff33;color:#79bbff}.dark .top-menu__action{color:#cfd3dc}.dark .top-menu__action:hover{background-color:#262727;color:#409eff}.dark .top-menu__user-trigger:hover{background-color:#262727}.dark .top-menu__user-name{color:#cfd3dc}.dark .top-menu__user-arrow{color:#a3a6ad}.dark .top-menu__dropdown{background-color:#1d1e1f;border:1px solid #363637;box-shadow:0 2px 12px #00000080}.dark .top-menu__dropdown-name{color:#e5eaf3}.dark .top-menu__dropdown-role{color:#a3a6ad}.dark .top-menu__dropdown-divider{background-color:#363637}.dark .top-menu__dropdown-item{color:#cfd3dc}.dark .top-menu__dropdown-item:hover{background-color:#262727;color:#e5eaf3}.dark .x-button.x-button--default{background-color:#1d1e1f;border-color:#4c4d4f;color:#cfd3dc}.dark .x-button.x-button--default:hover{border-color:#409eff;color:#409eff}.dark .x-button.x-button--text{color:#409eff}.dark .x-form-item__label{color:#cfd3dc}.dark .x-form-item__error{color:#f56c6c}.dark .x-input{background-color:#1d1e1f;border-color:#4c4d4f}.dark .x-input.is-focus{border-color:#409eff}.dark .x-input .x-input__inner{background-color:transparent;color:#e5eaf3}.dark .x-input .x-input__inner::placeholder{color:#6c6e72}.dark .x-input .x-input__suffix,.dark .x-input .x-input__prefix{color:#a3a6ad}.dark .x-select{background-color:#1d1e1f;border-color:#4c4d4f}.dark .x-card{background-color:#1d1e1f;border-color:#363637}.dark .x-card__header{border-bottom-color:#363637;color:#e5eaf3}.dark .data-table th{background-color:#262727;color:#cfd3dc;border-bottom-color:#363637}.dark .data-table td{border-bottom-color:#363637;color:#cfd3dc}.dark .data-table tr:hover td{background-color:#262727}.dark .x-modal__wrapper{background-color:#000000b3}.dark .x-modal__container{background-color:#1d1e1f;border:1px solid #363637}.dark .x-modal__header{border-bottom-color:#363637;color:#e5eaf3}.dark .x-modal__footer{border-top-color:#363637}.dark .x-message{background-color:#1d1e1f;border:1px solid #363637}.dark .x-tag.x-tag--primary{background-color:#409eff33;color:#79bbff;border-color:#409eff4d}.dark .x-tag.x-tag--success{background-color:#67c23a33;color:#95d475;border-color:#67c23a4d}.dark .x-tag.x-tag--warning{background-color:#e6a23c33;color:#eebe77;border-color:#e6a23c4d}.dark .x-tag.x-tag--danger{background-color:#f56c6c33;color:#fab6b6;border-color:#f56c6c4d}.dark .x-tag.x-tag--info{background-color:#90939933;color:#c0c4cc;border-color:#9093994d}.dark .x-switch{background-color:#4c4d4f}.dark .x-switch.is-checked{background-color:#409eff}.dark .x-pagination{color:#cfd3dc}.dark .x-pagination__item{background-color:#1d1e1f;border-color:#4c4d4f;color:#cfd3dc}.dark .x-pagination__item:hover{color:#409eff}.dark .x-pagination__item.is-active{background-color:#409eff;border-color:#409eff;color:#fff}.dark .login{background:linear-gradient(135deg,#1a1a2e,#16213e)}.dark .login__container{background-color:#1d1e1f;border:1px solid #363637}.dark .login__title{color:#409eff}.dark .login__subtitle{color:#a3a6ad}.dark .login__footer{color:#6c6e72}.dark .stat-card__title{color:#a3a6ad}.dark .quick-link{background-color:#262727}.dark .quick-link:hover{background-color:#409eff1a}.dark .quick-link__title{color:#cfd3dc}.dark .activity-item{border-bottom-color:#363637}.dark .activity-item__action{color:#cfd3dc}.dark .search-card,.dark .table-card,.dark .x-popconfirm{background-color:#1d1e1f;border:1px solid #363637}.dark .x-drawer{background-color:#1d1e1f}.dark .x-drawer__header{background-color:#1d1e1f;border-bottom-color:#363637;color:#e5eaf3}.dark .x-drawer__body{background-color:#1d1e1f;color:#cfd3dc}.dark .x-drawer__footer{background-color:#1d1e1f;border-top-color:#363637}.dark .settings-drawer .settings-title{color:#e5eaf3}.dark .settings-drawer .settings-section{background-color:transparent}.dark .settings-drawer .layout-option{border-color:#4c4d4f;background-color:transparent}.dark .settings-drawer .layout-option:hover{border-color:#409eff}.dark .settings-drawer .layout-option.is-active{border-color:#409eff;background-color:#409eff1a}.dark .settings-drawer .layout-option__label,.dark .settings-drawer .settings-switch-item span{color:#cfd3dc}.text-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-ellipsis-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.flex{display:flex}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-primary{color:var(--color-primary)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-danger{color:var(--color-danger)}.text-info{color:var(--color-info)}.bg-primary{background-color:var(--color-primary)}.bg-success{background-color:var(--color-success)}.bg-warning{background-color:var(--color-warning)}.bg-danger{background-color:var(--color-danger)}.mt-10{margin-top:10px}.mt-20{margin-top:20px}.mb-10{margin-bottom:10px}.mb-20{margin-bottom:20px}.ml-10{margin-left:10px}.mr-10{margin-right:10px}.p-10{padding:10px}.p-20{padding:20px}.card{background-color:var(--bg-color);border-radius:var(--border-radius-base);box-shadow:var(--box-shadow-light);padding:var(--spacing-md)}.page-container{padding:var(--spacing-md);min-height:100%}.search-bar{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-md)}.table-container{background-color:var(--bg-color);border-radius:var(--border-radius-base);padding:var(--spacing-md)}.pagination-container{display:flex;justify-content:flex-end;margin-top:var(--spacing-md)}.x-menu-item.is-active{color:var(--color-primary)!important;background-color:var(--color-primary-light-9)!important;position:relative}.x-menu-item.is-active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background-color:var(--color-primary);border-radius:0 2px 2px 0}.x-sub-menu__menu .x-menu-item.is-active{color:var(--color-primary)!important;background-color:var(--color-primary-light-9)!important;position:relative}.x-sub-menu__menu .x-menu-item.is-active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background-color:var(--color-primary);border-radius:0 2px 2px 0}html.grey-mode{filter:grayscale(100%);-webkit-filter:grayscale(100%)}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var l=(a=>(a[a.ENABLED=1]="ENABLED",a[a.DISABLED=0]="DISABLED",a))(l||{}),E=(a=>(a[a.DIRECTORY=0]="DIRECTORY",a[a.MENU=1]="MENU",a[a.BUTTON=2]="BUTTON",a))(E||{});const D=[{label:"启用",value:1},{label:"禁用",value:0}],r=[{label:"目录",value:0},{label:"菜单",value:1},{label:"按钮",value:2}];export{E as M,l as S,D as a,r as b};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{d as P,q as Z,o as f,c as E,z as t,C as s,u as l,k as v,e as G,I as U,R as H,h as r,a as n,F as N,A as S,i as g,f as J}from"./vue-vendor-05sbU7Th.js";import{t as _,n as m,j as b,o as Q,Z as T}from"./xto-form-C5i2lk3C.js";import{A as w,L as W,E as X}from"./xto-data-Cw0dv5K5.js";import{r as Y,h as ee,g as A}from"./xto-feedback-CTk0sMCW.js";import{g as B,M as c}from"./xto-base-BSTP-Yn2.js";import{S as d,a as le}from"./index-BRR97dc6.js";import{_ as ae}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./xto-core-cL8BAdce.js";const te={class:"user-page"},se={class:"toolbar"},ne={class:"data-table"},ue={key:0},oe={key:1},de={class:"pagination-wrapper"},ie=P({__name:"index",setup(re){const I=[{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"}],h=v(!1),L=v([]),C=v(0),k=v(1),D=v(10),i=U({keyword:"",status:void 0}),y=v(!1),$=G(()=>o.id?"编辑用户":"新增用户"),o=U({id:0,username:"",nickname:"",email:"",phone:"",status:d.ENABLED,roles:[]}),j={username:[{required:!0,message:"请输入用户名",trigger:"blur"}],nickname:[{required:!0,message:"请输入昵称",trigger:"blur"}],email:[{required:!0,message:"请输入邮箱",trigger:"blur"},{type:"email",message:"请输入正确的邮箱格式",trigger:"blur"}]},x=v(),p=()=>{h.value=!0,setTimeout(()=>{let u=[...I];i.keyword&&(u=u.filter(e=>e.username.includes(i.keyword)||e.nickname.includes(i.keyword))),i.status!==void 0&&(u=u.filter(e=>e.status===i.status)),C.value=u.length,L.value=u.slice((k.value-1)*D.value,k.value*D.value),h.value=!1},300)},z=()=>{k.value=1,p()},q=()=>{i.keyword="",i.status=void 0,k.value=1,p()},R=()=>{Object.assign(o,{id:0,username:"",nickname:"",email:"",phone:"",status:d.ENABLED,roles:[]}),y.value=!0},F=u=>{Object.assign(o,u),y.value=!0},M=u=>{A.success("删除成功"),p()},O=async()=>{var u;try{await((u=x.value)==null?void 0:u.validate()),A.success(o.id?"编辑成功":"新增成功"),y.value=!1,p()}catch(e){console.error(e)}},K=u=>{A.success(`已${u.status===d.ENABLED?"启用":"禁用"}用户 ${u.username}`)};return Z(()=>{p()}),(u,e)=>(f(),E("div",te,[t(l(w),{class:"search-card"},{default:s(()=>[t(l(_),{model:i,inline:""},{default:s(()=>[t(l(m),{label:"关键词"},{default:s(()=>[t(l(b),{modelValue:i.keyword,"onUpdate:modelValue":e[0]||(e[0]=a=>i.keyword=a),placeholder:"用户名/昵称",clearable:"",onKeyup:H(z,["enter"])},null,8,["modelValue"])]),_:1}),t(l(m),{label:"状态"},{default:s(()=>[t(l(Q),{modelValue:i.status,"onUpdate:modelValue":e[1]||(e[1]=a=>i.status=a),options:l(le),placeholder:"请选择",clearable:""},null,8,["modelValue","options"])]),_:1}),t(l(m),null,{default:s(()=>[t(l(B),null,{default:s(()=>[t(l(c),{type:"primary",onClick:z},{default:s(()=>[...e[11]||(e[11]=[r("搜索",-1)])]),_:1}),t(l(c),{onClick:q},{default:s(()=>[...e[12]||(e[12]=[r("重置",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),t(l(w),{class:"table-card"},{default:s(()=>[n("div",se,[t(l(c),{type:"primary",onClick:R},{default:s(()=>[...e[13]||(e[13]=[r("新增用户",-1)])]),_:1})]),n("table",ne,[e[18]||(e[18]=n("thead",null,[n("tr",null,[n("th",null,"ID"),n("th",null,"用户名"),n("th",null,"昵称"),n("th",null,"邮箱"),n("th",null,"手机号"),n("th",null,"角色"),n("th",null,"状态"),n("th",null,"创建时间"),n("th",null,"操作")])],-1)),n("tbody",null,[h.value?(f(),E("tr",ue,[...e[14]||(e[14]=[n("td",{colspan:"9",class:"loading-cell"},"加载中...",-1)])])):L.value.length===0?(f(),E("tr",oe,[...e[15]||(e[15]=[n("td",{colspan:"9",class:"empty-cell"},"暂无数据",-1)])])):(f(!0),E(N,{key:2},S(L.value,a=>(f(),E("tr",{key:a.id},[n("td",null,g(a.id),1),n("td",null,g(a.username),1),n("td",null,g(a.nickname),1),n("td",null,g(a.email),1),n("td",null,g(a.phone),1),n("td",null,[(f(!0),E(N,null,S(a.roles,V=>(f(),J(l(W),{key:V,size:"small"},{default:s(()=>[r(g(V),1)]),_:2},1024))),128))]),n("td",null,[t(l(T),{"model-value":a.status===l(d).ENABLED,"onUpdate:modelValue":V=>{a.status=V?l(d).ENABLED:l(d).DISABLED,K(a)}},null,8,["model-value","onUpdate:modelValue"])]),n("td",null,g(a.createTime),1),n("td",null,[t(l(B),null,{default:s(()=>[t(l(c),{type:"primary",link:"",size:"small",onClick:V=>F(a)},{default:s(()=>[...e[16]||(e[16]=[r("编辑",-1)])]),_:1},8,["onClick"]),t(l(ee),{title:"确定删除该用户吗?",onConfirm:V=>M(a.id)},{default:s(()=>[t(l(c),{type:"danger",link:"",size:"small"},{default:s(()=>[...e[17]||(e[17]=[r("删除",-1)])]),_:1})]),_:1},8,["onConfirm"])]),_:2},1024)])]))),128))])]),n("div",de,[t(l(X),{"current-page":k.value,"onUpdate:currentPage":e[2]||(e[2]=a=>k.value=a),"page-size":D.value,"onUpdate:pageSize":e[3]||(e[3]=a=>D.value=a),total:C.value,"page-sizes":[10,20,50,100],layout:"total, sizes, prev, pager, next",onCurrentChange:p,onSizeChange:p},null,8,["current-page","page-size","total"])])]),_:1}),t(l(Y),{modelValue:y.value,"onUpdate:modelValue":e[10]||(e[10]=a=>y.value=a),title:$.value,width:"500px"},{footer:s(()=>[t(l(B),null,{default:s(()=>[t(l(c),{onClick:e[9]||(e[9]=a=>y.value=!1)},{default:s(()=>[...e[19]||(e[19]=[r("取消",-1)])]),_:1}),t(l(c),{type:"primary",onClick:O},{default:s(()=>[...e[20]||(e[20]=[r("确定",-1)])]),_:1})]),_:1})]),default:s(()=>[t(l(_),{ref_key:"formRef",ref:x,model:o,rules:j,"label-width":"80px"},{default:s(()=>[t(l(m),{label:"用户名",prop:"username"},{default:s(()=>[t(l(b),{modelValue:o.username,"onUpdate:modelValue":e[4]||(e[4]=a=>o.username=a),placeholder:"请输入用户名"},null,8,["modelValue"])]),_:1}),t(l(m),{label:"昵称",prop:"nickname"},{default:s(()=>[t(l(b),{modelValue:o.nickname,"onUpdate:modelValue":e[5]||(e[5]=a=>o.nickname=a),placeholder:"请输入昵称"},null,8,["modelValue"])]),_:1}),t(l(m),{label:"邮箱",prop:"email"},{default:s(()=>[t(l(b),{modelValue:o.email,"onUpdate:modelValue":e[6]||(e[6]=a=>o.email=a),placeholder:"请输入邮箱"},null,8,["modelValue"])]),_:1}),t(l(m),{label:"手机号",prop:"phone"},{default:s(()=>[t(l(b),{modelValue:o.phone,"onUpdate:modelValue":e[7]||(e[7]=a=>o.phone=a),placeholder:"请输入手机号"},null,8,["modelValue"])]),_:1}),t(l(m),{label:"状态"},{default:s(()=>[t(l(T),{modelValue:o.status,"onUpdate:modelValue":e[8]||(e[8]=a=>o.status=a),"active-value":l(d).ENABLED,"inactive-value":l(d).DISABLED},null,8,["modelValue","active-value","inactive-value"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])]))}}),Ve=ae(ie,[["__scopeId","data-v-d2491ae0"]]);export{Ve as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{g as Ae,s as Re,c as Pe,h as Be,u as ge,e as be,f as ye}from"./index-DiHSZ6SJ.js";import{L as Oe,k as f,e as g,d as ke,o as t,c as a,n as T,a as e,x as xe,D as qe,i as u,u as o,g as y,B as m,C as L,F as U,z as V,f as S,h as Ge,Q as $e,P as Ce,q as Me,s as Ne,S as Se,T as re,A as ze,b as he,w as De,j as Ke}from"./vue-vendor-Br-l7wbK.js";import{_ as Ue}from"./vite-Dw-pgLOX.js";import{i as Ee,r as fe,d as Fe}from"./xto-navigation-qLRTxo68.js";import{o as We,r as _}from"./xto-base-C-IBqjVs.js";import{_ as we}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{n as Te}from"./xto-feedback-B2M02fn3.js";import"./xto-form-NRjKKNcY.js";import"./xto-core-DZK7Cyg0.js";import"./xto-data-BFpiDgJi.js";/* empty css *//* empty css */const Le=Oe("auth",()=>{const Q=f(Ae()),C=g(()=>Be()),b=f(""),p=f(""),d=f(""),$=f("/login");return{token:Q,isLoggedIn:C,baseUrl:b,appId:p,clientId:d,loginPath:$,login:x=>{Q.value=x.access_token,Re(x)},logout:()=>{Q.value=null,Pe()},setBaseUrl:x=>{b.value=x},setAppId:x=>{p.value=x},setClientId:x=>{d.value=x},setLoginPath:x=>{$.value=x}}}),He={key:0,class:"sidebar__logo"},je={class:"sidebar__menu-content"},Qe={key:0,class:"sidebar__menu-icon"},Je={key:1,class:"sidebar__menu-char"},Xe={class:"sidebar__menu-text"},Ye={class:"sidebar__menu-content"},Ze={class:"sidebar__menu-icon"},es={key:1,class:"sidebar__menu-char"},ss={class:"sidebar__menu-text"},ts={class:"sidebar__menu-content"},os={key:0,class:"sidebar__menu-icon"},ns={key:1,class:"sidebar__menu-char"},as={class:"sidebar__menu-text"},ls={key:1,class:"sidebar__user"},is={class:"sidebar__user-info"},rs={class:"sidebar__user-name"},cs={class:"sidebar__user-role"},ds=ke({__name:"Sidebar",props:{menuList:{default:()=>[]},showLogo:{type:Boolean,default:!0},showUser:{type:Boolean,default:!0}},setup(Q){const C=Q,b=$e(),p=Ce(),d=ge(),$=be(),O=Le(),M=ye(),E=g(()=>C.menuList.length>0?C.menuList:d.menuList),z=g(()=>M.isCollapsed),D=g(()=>b.path),W=g(()=>M.isDark?"#1d1e1f":"#fff"),x=g(()=>M.isDark?"#cfd3dc":"#303133"),q=g(()=>"#409eff"),G=h=>{h&&h!==b.path&&p.push(h)},J=()=>{O.logout(),$.clearUserInfo(),d.clearMenu(),p.push("/login")},F=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"]),N=h=>{if(!h||h==="")return"";if(h.startsWith("tineco-icon-")){const k=h.replace("tineco-icon-","");return{home:"home",dashboard:"dashboard",system:"system",user:"user",role:"role",menu:"list",setting:"setting",file:"file",folder:"folder",chart:"chart",report:"report",analytics:"analytics"}[k]||k}return{dashboard:"dashboard",system:"system",user:"user",role:"role",menu:"list",setting:"setting",home:"home",chart:"chart",report:"report",analytics:"analytics",permission:"permission",log:"log",notification:"notification",app:"app",list:"list",grid:"grid"}[h]||h},A=h=>h?h.charAt(0):"",I=h=>F.has(h);return(h,R)=>(t(),a("div",{class:T(["sidebar",{"sidebar--collapsed":z.value}])},[C.showLogo?(t(),a("div",He,[R[0]||(R[0]=e("img",{src:Ue,alt:"Logo",class:"sidebar__logo-img"},null,-1)),xe(e("span",{class:"sidebar__logo-text"},u(o(M).appName),513),[[qe,!z.value]])])):y("",!0),m(o(Ee),{"model-value":D.value,mode:"vertical",collapse:z.value,"collapse-transition":!1,"background-color":W.value,"text-color":x.value,"active-text-color":q.value,class:"sidebar__menu",onSelect:G},{default:L(()=>[(t(!0),a(U,null,V(E.value,k=>(t(),a(U,{key:k.menuUrl},[k.children&&k.children.length>0?(t(),S(o(Fe),{key:0,index:k.menuUrl},{title:L(()=>[e("span",je,[k.menuName!=="首页"?(t(),a("span",Qe,[I(N(k.icon))?(t(),S(o(_),{key:0,name:N(k.icon),size:16},null,8,["name"])):(t(),a("span",Je,u(A(k.menuName)),1))])):y("",!0),e("span",Xe,u(k.menuName),1)])]),default:L(()=>[(t(!0),a(U,null,V(k.children,w=>(t(),S(o(fe),{key:w.menuUrl,index:w.menuUrl},{default:L(()=>[e("span",Ye,[e("span",Ze,[I(N(w.icon))?(t(),S(o(_),{key:0,name:N(w.icon),size:16},null,8,["name"])):(t(),a("span",es,u(A(w.menuName)),1))]),e("span",ss,u(w.menuName),1)])]),_:2},1032,["index"]))),128))]),_:2},1032,["index"])):(t(),S(o(fe),{key:1,index:k.menuUrl},{default:L(()=>[e("span",ts,[k.menuName!=="首页"?(t(),a("span",os,[I(N(k.icon))?(t(),S(o(_),{key:0,name:N(k.icon),size:16},null,8,["name"])):(t(),a("span",ns,u(A(k.menuName)),1))])):y("",!0),e("span",as,u(k.menuName),1)])]),_:2},1032,["index"]))],64))),128))]),_:1},8,["model-value","collapse","background-color","text-color","active-text-color"]),C.showUser&&!z.value?(t(),a("div",ls,[e("div",is,[e("span",rs,u(o($).userName),1),e("span",cs,u(o($).departmentName),1)]),m(o(We),{type:"text",size:"small",onClick:J},{default:L(()=>[...R[1]||(R[1]=[Ge("退出",-1)])]),_:1})])):y("",!0)],2))}}),Ve=we(ds,[["__scopeId","data-v-d836d8bb"]]),us={class:"header"},ms={class:"header__left"},ps={key:0,class:"header__breadcrumb"},_s={key:0,class:"breadcrumb-separator"},vs={class:"header__right"},hs={key:0,class:"header__search-dropdown"},fs={key:0,class:"header__search-results"},gs=["onClick"],ys={key:0,class:"header__search-icon"},ks={key:1,class:"header__search-char"},ws={class:"header__search-item-title"},bs={key:1,class:"header__search-item-parent"},xs={key:1,class:"header__search-empty"},$s=["title"],Cs={class:"header__avatar"},Ls={class:"header__user-name"},Ms={key:0,class:"header__dropdown"},Ns={class:"header__dropdown-header"},Ss={class:"header__dropdown-avatar"},zs={class:"header__dropdown-info"},Us={class:"header__dropdown-name"},Es={class:"header__dropdown-role"},Ts={class:"header__dropdown-menu"},Is={class:"settings-drawer"},Ds={class:"settings-section"},Vs={class:"settings-layout-options"},Fs=["onClick"],As={class:"layout-option__preview"},Rs={key:0,class:"layout-preview-sidebar"},Ps={key:1,class:"layout-preview-top"},Bs={key:2,class:"layout-preview-mix"},Os={class:"layout-option__label"},qs={class:"settings-section"},Gs={class:"settings-color-options"},Ks=["title","onClick"],Ws={class:"settings-section"},Hs={class:"settings-switch-list"},js={class:"settings-switch-item"},Qs={class:"settings-switch-item"},Js=ke({__name:"Header",setup(Q){const C=$e(),b=Ce(),p=ye(),d=be(),$=Le(),O=ge(),M=f(!1),E=f(!1),z=f(null),D=f(!1),W=f(!1),x=f(""),q=f(null),G=f(!1),J=[{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:"酱紫"}],N=g(()=>C.matched.filter(i=>i.meta&&i.meta.title).map(i=>({title:i.meta.title,path:i.path}))),A=(v,i="")=>{const P=[];return v.forEach(n=>{n.children&&n.children.length>0?P.push(...A(n.children,n.menuName)):P.push({...n,parentTitle:i,title:n.menuName,path:n.menuUrl})}),P},I=new Set(["arrow-up","arrow-down","arrow-left","arrow-right","caret-down","caret-right","plus","minus","close","check","edit","delete","copy","download","upload","refresh","search","filter","more","setting","share","loading","info","success","warning","error","question","user","user-add","user-group","logout","login","file","folder","folder-open","document","image","video","music","camera","mail","phone","chat","bell","message","eye","eye-off","calendar","clock","history","timer","location","map","globe","star","heart","thumb-up","link","external-link","lock","unlock","key","home","menu","menu-fold","menu-unfold","sidebar-fold","sidebar-expand","sidebar-left","dashboard","chart","chart-pie","chart-line","report","analytics","system","permission","role","user-manage","log","notification","app","list","grid","fullscreen","fullscreen-exit","zoom-in","zoom-out","print","bookmark","tag","code","terminal","database","server","cloud","gift","moon","sun","theme","skin"]),h=v=>{if(!v||v==="")return"";if(v.startsWith("tineco-icon-")){const P=v.replace("tineco-icon-","");return{home:"home",dashboard:"dashboard",system:"system",user:"user",role:"role",menu:"list",setting:"setting",file:"file",folder:"folder",chart:"chart",report:"report",analytics:"analytics"}[P]||P}return{dashboard:"dashboard",system:"system",user:"user",role:"role",menu:"list",setting:"setting",home:"home",chart:"chart",report:"report",analytics:"analytics",permission:"permission",log:"log",notification:"notification",app:"app",list:"list",grid:"grid"}[v]||v},R=v=>v?v.charAt(0):"",k=v=>I.has(v),w=g(()=>x.value.trim()?A(O.menuList).filter(i=>i.title.toLowerCase().includes(x.value.toLowerCase())):[]),H=g(()=>p.layout),Z=()=>{p.toggleCollapse()},ee=()=>{p.toggleTheme()},ae=()=>{E.value=!0},te=v=>{p.setLayout(v),E.value=!1},ce=v=>{G.value=v;const i=document.documentElement;v?i.classList.add("grey-mode"):i.classList.remove("grey-mode")},X=()=>{ce(!G.value),E.value=!1},se=()=>{p.toggleTheme(),E.value=!1},de=()=>{document.fullscreenElement?document.exitFullscreen():document.documentElement.requestFullscreen()},j=()=>{D.value=!!document.fullscreenElement},oe=()=>{M.value=!M.value},Y=()=>{M.value=!1},ne=()=>{W.value=!1,x.value=""},ue=v=>{b.push(v),ne()},me=v=>{p.setPrimaryColor(v),E.value=!1},pe=()=>{Y(),b.push("/profile")},_e=()=>{Y(),b.push("/change-password")},ve=()=>{Y(),$.logout(),d.clearUserInfo(),O.clearMenu(),b.push("/login")},le=v=>{z.value&&!z.value.contains(v.target)&&Y(),q.value&&!q.value.contains(v.target)&&ne()},ie=v=>{v.key==="Escape"&&(ne(),Y())};return Me(()=>{document.addEventListener("click",le),document.addEventListener("fullscreenchange",j),document.addEventListener("keydown",ie),p.initTheme(),G.value=document.documentElement.classList.contains("grey-mode")}),Ne(()=>{document.removeEventListener("click",le),document.removeEventListener("fullscreenchange",j),document.removeEventListener("keydown",ie)}),(v,i)=>{var P;return t(),a("div",us,[e("div",ms,[e("div",{class:"header__collapse",onClick:Z},[m(o(_),{name:o(p).isCollapsed?"menu-unfold":"menu-fold",size:18},null,8,["name"])]),o(p).showBreadcrumb?(t(),a("div",ps,[(t(!0),a(U,null,V(N.value,(n,r)=>(t(),a("span",{key:n.path},[r>0?(t(),a("span",_s,"/")):y("",!0),e("span",{class:T({"is-current":r===N.value.length-1})},u(n.title),3)]))),128))])):y("",!0)]),e("div",vs,[e("div",{class:"header__search",ref_key:"searchRef",ref:q},[m(o(_),{name:"search",size:14,class:"header__search-icon"}),xe(e("input",{"onUpdate:modelValue":i[0]||(i[0]=n=>x.value=n),type:"text",class:"header__search-input",placeholder:"搜索菜单...",onFocus:i[1]||(i[1]=n=>W.value=!0)},null,544),[[Se,x.value]]),m(re,{name:"search-dropdown"},{default:L(()=>[W.value&&(w.value.length>0||x.value)?(t(),a("div",hs,[w.value.length>0?(t(),a("div",fs,[(t(!0),a(U,null,V(w.value,n=>(t(),a("div",{key:n.path,class:"header__search-item",onClick:r=>ue(n.path)},[n.title!=="首页"?(t(),a("span",ys,[k(h(n.icon))?(t(),S(o(_),{key:0,name:h(n.icon),size:16},null,8,["name"])):(t(),a("span",ks,u(R(n.title)),1))])):y("",!0),e("span",ws,u(n.title),1),n.parentTitle?(t(),a("span",bs,u(n.parentTitle),1)):y("",!0)],8,gs))),128))])):(t(),a("div",xs," 未找到匹配的菜单 "))])):y("",!0)]),_:1})],512),e("div",{class:"header__action",onClick:de,title:D.value?"退出全屏":"全屏"},[m(o(_),{name:D.value?"fullscreen-exit":"fullscreen",size:16},null,8,["name"])],8,$s),e("div",{class:"header__action",onClick:ae,title:"换肤设置"},[m(o(_),{name:"skin",size:16})]),e("div",{class:"header__action",onClick:ee,title:"切换主题"},[m(o(_),{name:o(p).isDark?"sun":"moon",size:16},null,8,["name"])]),e("div",{class:"header__user",ref_key:"dropdownRef",ref:z},[e("div",{class:"header__user-trigger",onClick:ze(oe,["stop"])},[e("div",Cs,[e("span",null,u(((P=o(d).userName)==null?void 0:P.charAt(0))||"U"),1)]),e("span",Ls,u(o(d).userName),1),e("span",{class:T(["header__user-arrow",{"is-active":M.value}])},"▼",2)]),m(re,{name:"dropdown"},{default:L(()=>{var n;return[M.value?(t(),a("div",Ms,[e("div",Ns,[e("div",Ss,[e("span",null,u(((n=o(d).userName)==null?void 0:n.charAt(0))||"U"),1)]),e("div",zs,[e("div",Us,u(o(d).userName),1),e("div",Es,u(o(d).departmentName),1)])]),i[7]||(i[7]=e("div",{class:"header__dropdown-divider"},null,-1)),e("div",Ts,[e("div",{class:"header__dropdown-item",onClick:pe},[m(o(_),{name:"user",size:16}),i[3]||(i[3]=e("span",null,"个人信息",-1))]),e("div",{class:"header__dropdown-item",onClick:_e},[m(o(_),{name:"lock",size:16}),i[4]||(i[4]=e("span",null,"修改密码",-1))]),i[6]||(i[6]=e("div",{class:"header__dropdown-divider"},null,-1)),e("div",{class:"header__dropdown-item header__dropdown-item--danger",onClick:ve},[m(o(_),{name:"logout",size:16}),i[5]||(i[5]=e("span",null,"退出登录",-1))])])])):y("",!0)]}),_:1})],512)]),m(o(Te),{modelValue:E.value,"onUpdate:modelValue":i[2]||(i[2]=n=>E.value=n),title:"换肤设置",direction:"rtl",size:"320px"},{default:L(()=>[e("div",Is,[e("div",Ds,[i[11]||(i[11]=e("div",{class:"settings-title"},"布局模式",-1)),e("div",Vs,[(t(),a(U,null,V(J,n=>e("div",{key:n.value,class:T(["layout-option",{"is-active":H.value===n.value}]),onClick:r=>te(n.value)},[e("div",As,[n.value==="sidebar"?(t(),a("div",Rs,[...i[8]||(i[8]=[e("div",{class:"preview-aside"},null,-1),e("div",{class:"preview-main"},[e("div",{class:"preview-header"}),e("div",{class:"preview-content"})],-1)])])):n.value==="top"?(t(),a("div",Ps,[...i[9]||(i[9]=[e("div",{class:"preview-header-full"},null,-1),e("div",{class:"preview-content-full"},null,-1)])])):(t(),a("div",Bs,[...i[10]||(i[10]=[e("div",{class:"preview-header-mix"},[e("div",{class:"preview-mix-left"})],-1),e("div",{class:"preview-mix-body"},[e("div",{class:"preview-mix-aside"}),e("div",{class:"preview-mix-content"})],-1)])]))]),e("span",Os,u(n.label),1)],10,Fs)),64))])]),e("div",qs,[i[12]||(i[12]=e("div",{class:"settings-title"},"主题色",-1)),e("div",Gs,[(t(),a(U,null,V(F,n=>e("div",{key:n.value,class:T(["color-option",{"is-active":o(p).primaryColor===n.value}]),style:he({backgroundColor:n.value}),title:n.label,onClick:r=>me(n.value)},[o(p).primaryColor===n.value?(t(),S(o(_),{key:0,name:"check",size:12,color:"#fff"})):y("",!0)],14,Ks)),64))])]),e("div",Ws,[i[17]||(i[17]=e("div",{class:"settings-title"},"功能设置",-1)),e("div",Hs,[e("div",js,[i[14]||(i[14]=e("span",null,"灰色模式",-1)),e("div",{class:T(["switch-wrapper",{"is-checked":G.value}]),onClick:X},[...i[13]||(i[13]=[e("span",{class:"switch-core"},null,-1)])],2)]),e("div",Qs,[i[16]||(i[16]=e("span",null,"暗黑模式",-1)),e("div",{class:T(["switch-wrapper",{"is-checked":o(p).isDark}]),onClick:se},[...i[15]||(i[15]=[e("span",{class:"switch-core"},null,-1)])],2)])])])])]),_:1},8,["modelValue"])])}}}),Xs=we(Js,[["__scopeId","data-v-916fcfad"]]),Ys={class:"top-menu"},Zs={class:"top-menu__logo"},et={class:"top-menu__logo-text"},st={class:"top-menu__menu-content"},tt={key:0,class:"top-menu__menu-icon"},ot={key:1,class:"top-menu__menu-char"},nt={class:"top-menu__menu-text"},at={class:"top-menu__menu-content"},lt={class:"top-menu__menu-icon"},it={key:1,class:"top-menu__menu-char"},rt={class:"top-menu__menu-text"},ct={class:"top-menu__menu-content"},dt={key:0,class:"top-menu__menu-icon"},ut={key:1,class:"top-menu__menu-char"},mt={class:"top-menu__menu-text"},pt={class:"top-menu__actions"},_t={key:0,class:"top-menu__search-dropdown"},vt={key:0,class:"top-menu__search-results"},ht=["onClick"],ft={key:0,class:"top-menu__search-icon-item"},gt={key:1,class:"top-menu__search-char"},yt={class:"top-menu__search-item-title"},kt={key:1,class:"top-menu__search-item-parent"},wt={key:1,class:"top-menu__search-empty"},bt=["title"],xt={class:"top-menu__avatar"},$t={class:"top-menu__user-name"},Ct={key:0,class:"top-menu__dropdown"},Lt={class:"top-menu__dropdown-header"},Mt={class:"top-menu__dropdown-avatar"},Nt={class:"top-menu__dropdown-info"},St={class:"top-menu__dropdown-name"},zt={class:"top-menu__dropdown-role"},Ut={class:"top-menu__dropdown-menu"},Et={class:"settings-drawer"},Tt={class:"settings-section"},It={class:"settings-layout-options"},Dt=["onClick"],Vt={class:"layout-option__preview"},Ft={key:0,class:"layout-preview-sidebar"},At={key:1,class:"layout-preview-top"},Rt={key:2,class:"layout-preview-mix"},Pt={class:"layout-option__label"},Bt={class:"settings-section"},Ot={class:"settings-color-options"},qt=["title","onClick"],Gt={class:"settings-section"},Kt={class:"settings-switch-list"},Wt={class:"settings-switch-item"},Ht={class:"settings-switch-item"},jt=ke({__name:"TopMenu",setup(Q){const C=$e(),b=Ce(),p=ge(),d=ye(),$=be(),O=Le(),M=g(()=>C.path),E=(n,r="")=>{const K=[];return n.forEach(s=>{s.children&&s.children.length>0?K.push(...E(s.children,s.menuName)):K.push({...s,parentTitle:r,title:s.menuName,path:s.menuUrl})}),K},z=g(()=>I.value.trim()?E(p.menuList).filter(r=>r.title.toLowerCase().includes(I.value.toLowerCase())):[]),D=g(()=>d.isDark?"#1d1e1f":"#fff"),W=g(()=>d.isDark?"#cfd3dc":"#303133"),x=g(()=>"#409eff"),q=f(!1),G=f(null),J=f(!1),F=f(!1),N=f(!1),A=f(!1),I=f(""),h=f(null),R=n=>{n&&n!==C.path&&b.push(n)},k=new Set(["arrow-up","arrow-down","arrow-left","arrow-right","caret-down","caret-right","plus","minus","close","check","edit","delete","copy","download","upload","refresh","search","filter","more","setting","share","loading","info","success","warning","error","question","user","user-add","user-group","logout","login","file","folder","folder-open","document","image","video","music","camera","mail","phone","chat","bell","message","eye","eye-off","calendar","clock","history","timer","location","map","globe","star","heart","thumb-up","link","external-link","lock","unlock","key","home","menu","menu-fold","menu-unfold","sidebar-fold","sidebar-expand","sidebar-left","dashboard","chart","chart-pie","chart-line","report","analytics","system","permission","role","user-manage","log","notification","app","list","grid","fullscreen","fullscreen-exit","zoom-in","zoom-out","print","bookmark","tag","code","terminal","database","server","cloud","gift","moon","sun","theme","skin"]),w=n=>{if(!n||n==="")return"";if(n.startsWith("tineco-icon-")){const K=n.replace("tineco-icon-","");return{home:"home",dashboard:"dashboard",system:"system",user:"user",role:"role",menu:"list",setting:"setting",file:"file",folder:"folder",chart:"chart",report:"report",analytics:"analytics"}[K]||K}return{dashboard:"dashboard",system:"system",user:"user",role:"role",menu:"list",setting:"setting",home:"home",chart:"chart",report:"report",analytics:"analytics",permission:"permission",log:"log",notification:"notification",app:"app",list:"list",grid:"grid"}[n]||n},H=n=>n?n.charAt(0):"",Z=n=>k.has(n),ee=()=>{d.toggleTheme(),F.value=!1},ae=()=>{document.fullscreenElement?document.exitFullscreen():document.documentElement.requestFullscreen()},te=()=>{J.value=!!document.fullscreenElement},ce=()=>{q.value=!q.value},X=()=>{q.value=!1},se=()=>{A.value=!1,I.value=""},de=n=>{b.push(n),se()},j=()=>{F.value=!0},oe=n=>{N.value=n;const r=document.documentElement;n?r.classList.add("grey-mode"):r.classList.remove("grey-mode")},Y=()=>{oe(!N.value),F.value=!1},ne=()=>{d.toggleTheme(),F.value=!1},ue=[{value:"sidebar",label:"左侧菜单",icon:"sidebar-left"},{value:"top",label:"顶部菜单",icon:"menu"},{value:"mix",label:"混合菜单",icon:"grid"}],me=g(()=>d.layout),pe=n=>{d.setLayout(n),F.value=!1},_e=[{value:"#409eff",label:"默认蓝"},{value:"#1890ff",label:"科技蓝"},{value:"#52c41a",label:"极光绿"},{value:"#faad14",label:"日落橙"},{value:"#f5222d",label:"薄暮红"},{value:"#722ed1",label:"酱紫"}],ve=n=>{d.setPrimaryColor(n),F.value=!1},le=()=>{X(),b.push("/profile")},ie=()=>{X(),b.push("/change-password")},v=()=>{X(),O.logout(),$.clearUserInfo(),p.clearMenu(),b.push("/login")},i=n=>{G.value&&!G.value.contains(n.target)&&X(),h.value&&!h.value.contains(n.target)&&se()},P=n=>{n.key==="Escape"&&(se(),X())};return Me(()=>{document.addEventListener("click",i),document.addEventListener("fullscreenchange",te),document.addEventListener("keydown",P),N.value=document.documentElement.classList.contains("grey-mode")}),Ne(()=>{document.removeEventListener("click",i),document.removeEventListener("fullscreenchange",te),document.removeEventListener("keydown",P)}),(n,r)=>{var K;return t(),a("div",Ys,[e("div",Zs,[r[3]||(r[3]=e("img",{src:Ue,alt:"Logo",class:"top-menu__logo-img"},null,-1)),e("span",et,u(o(d).appName),1)]),m(o(Ee),{"model-value":M.value,mode:"horizontal","background-color":D.value,"text-color":W.value,"active-text-color":x.value,class:"top-menu__menu",onSelect:R},{default:L(()=>[(t(!0),a(U,null,V(o(p).menuList,s=>(t(),a(U,{key:s.menuUrl},[s.children&&s.children.length>0?(t(),S(o(Fe),{key:0,index:s.menuUrl},{title:L(()=>[e("span",st,[s.menuName!=="首页"?(t(),a("span",tt,[Z(w(s.icon))?(t(),S(o(_),{key:0,name:w(s.icon),size:16},null,8,["name"])):(t(),a("span",ot,u(H(s.menuName)),1))])):y("",!0),e("span",nt,u(s.menuName),1)])]),default:L(()=>[(t(!0),a(U,null,V(s.children,l=>(t(),S(o(fe),{key:l.menuUrl,index:l.menuUrl},{default:L(()=>[e("span",at,[e("span",lt,[Z(w(l.icon))?(t(),S(o(_),{key:0,name:w(l.icon),size:16},null,8,["name"])):(t(),a("span",it,u(H(l.menuName)),1))]),e("span",rt,u(l.menuName),1)])]),_:2},1032,["index"]))),128))]),_:2},1032,["index"])):(t(),S(o(fe),{key:1,index:s.menuUrl},{default:L(()=>[e("span",ct,[s.menuName!=="首页"?(t(),a("span",dt,[Z(w(s.icon))?(t(),S(o(_),{key:0,name:w(s.icon),size:16},null,8,["name"])):(t(),a("span",ut,u(H(s.menuName)),1))])):y("",!0),e("span",mt,u(s.menuName),1)])]),_:2},1032,["index"]))],64))),128))]),_:1},8,["model-value","background-color","text-color","active-text-color"]),e("div",pt,[e("div",{class:"top-menu__search",ref_key:"searchRef",ref:h},[m(o(_),{name:"search",size:14,class:"top-menu__search-icon"}),xe(e("input",{"onUpdate:modelValue":r[0]||(r[0]=s=>I.value=s),type:"text",class:"top-menu__search-input",placeholder:"搜索菜单...",onFocus:r[1]||(r[1]=s=>A.value=!0)},null,544),[[Se,I.value]]),m(re,{name:"search-dropdown"},{default:L(()=>[A.value&&(z.value.length>0||I.value)?(t(),a("div",_t,[z.value.length>0?(t(),a("div",vt,[(t(!0),a(U,null,V(z.value,s=>(t(),a("div",{key:s.path,class:"top-menu__search-item",onClick:l=>de(s.path)},[s.title!=="首页"?(t(),a("span",ft,[Z(w(s.icon))?(t(),S(o(_),{key:0,name:w(s.icon),size:16},null,8,["name"])):(t(),a("span",gt,u(H(s.title)),1))])):y("",!0),e("span",yt,u(s.title),1),s.parentTitle?(t(),a("span",kt,u(s.parentTitle),1)):y("",!0)],8,ht))),128))])):(t(),a("div",wt," 未找到匹配的菜单 "))])):y("",!0)]),_:1})],512),e("div",{class:"top-menu__action",onClick:ae,title:J.value?"退出全屏":"全屏"},[m(o(_),{name:J.value?"fullscreen-exit":"fullscreen",size:16},null,8,["name"])],8,bt),e("div",{class:"top-menu__action",onClick:j,title:"换肤设置"},[m(o(_),{name:"skin",size:16})]),e("div",{class:"top-menu__action",onClick:ee,title:"切换主题"},[m(o(_),{name:o(d).isDark?"sun":"moon",size:16},null,8,["name"])]),e("div",{class:"top-menu__user",ref_key:"dropdownRef",ref:G},[e("div",{class:"top-menu__user-trigger",onClick:ze(ce,["stop"])},[e("div",xt,[e("span",null,u(((K=o($).userName)==null?void 0:K.charAt(0))||"U"),1)]),e("span",$t,u(o($).userName),1),e("span",{class:T(["top-menu__user-arrow",{"is-active":q.value}])},"▼",2)]),m(re,{name:"dropdown"},{default:L(()=>{var s;return[q.value?(t(),a("div",Ct,[e("div",Lt,[e("div",Mt,[e("span",null,u(((s=o($).userName)==null?void 0:s.charAt(0))||"U"),1)]),e("div",Nt,[e("div",St,u(o($).userName),1),e("div",zt,u(o($).departmentName),1)])]),r[8]||(r[8]=e("div",{class:"top-menu__dropdown-divider"},null,-1)),e("div",Ut,[e("div",{class:"top-menu__dropdown-item",onClick:le},[m(o(_),{name:"user",size:16}),r[4]||(r[4]=e("span",null,"个人信息",-1))]),e("div",{class:"top-menu__dropdown-item",onClick:ie},[m(o(_),{name:"lock",size:16}),r[5]||(r[5]=e("span",null,"修改密码",-1))]),r[7]||(r[7]=e("div",{class:"top-menu__dropdown-divider"},null,-1)),e("div",{class:"top-menu__dropdown-item top-menu__dropdown-item--danger",onClick:v},[m(o(_),{name:"logout",size:16}),r[6]||(r[6]=e("span",null,"退出登录",-1))])])])):y("",!0)]}),_:1})],512)]),m(o(Te),{modelValue:F.value,"onUpdate:modelValue":r[2]||(r[2]=s=>F.value=s),title:"换肤设置",direction:"rtl",size:"320px"},{default:L(()=>[e("div",Et,[e("div",Tt,[r[12]||(r[12]=e("div",{class:"settings-title"},"布局模式",-1)),e("div",It,[(t(),a(U,null,V(ue,s=>e("div",{key:s.value,class:T(["layout-option",{"is-active":me.value===s.value}]),onClick:l=>pe(s.value)},[e("div",Vt,[s.value==="sidebar"?(t(),a("div",Ft,[...r[9]||(r[9]=[e("div",{class:"preview-aside"},null,-1),e("div",{class:"preview-main"},[e("div",{class:"preview-header"}),e("div",{class:"preview-content"})],-1)])])):s.value==="top"?(t(),a("div",At,[...r[10]||(r[10]=[e("div",{class:"preview-header-full"},null,-1),e("div",{class:"preview-content-full"},null,-1)])])):(t(),a("div",Rt,[...r[11]||(r[11]=[e("div",{class:"preview-header-mix"},[e("div",{class:"preview-mix-left"})],-1),e("div",{class:"preview-mix-body"},[e("div",{class:"preview-mix-aside"}),e("div",{class:"preview-mix-content"})],-1)])]))]),e("span",Pt,u(s.label),1)],10,Dt)),64))])]),e("div",Bt,[r[13]||(r[13]=e("div",{class:"settings-title"},"主题色",-1)),e("div",Ot,[(t(),a(U,null,V(_e,s=>e("div",{key:s.value,class:T(["color-option",{"is-active":o(d).primaryColor===s.value}]),style:he({backgroundColor:s.value}),title:s.label,onClick:l=>ve(s.value)},[o(d).primaryColor===s.value?(t(),S(o(_),{key:0,name:"check",size:12,color:"#fff"})):y("",!0)],14,qt)),64))])]),e("div",Gt,[r[18]||(r[18]=e("div",{class:"settings-title"},"功能设置",-1)),e("div",Kt,[e("div",Wt,[r[15]||(r[15]=e("span",null,"灰色模式",-1)),e("div",{class:T(["switch-wrapper",{"is-checked":N.value}]),onClick:Y},[...r[14]||(r[14]=[e("span",{class:"switch-core"},null,-1)])],2)]),e("div",Ht,[r[17]||(r[17]=e("span",null,"暗黑模式",-1)),e("div",{class:T(["switch-wrapper",{"is-checked":o(d).isDark}]),onClick:ne},[...r[16]||(r[16]=[e("span",{class:"switch-core"},null,-1)])],2)])])])])]),_:1},8,["modelValue"])])}}}),Qt=we(jt,[["__scopeId","data-v-ff5f8764"]]),Jt={class:"mix-top-menu"},Xt={class:"mix-top-menu__logo"},Yt={class:"mix-top-menu__logo-text"},Zt={class:"mix-top-menu__menu-content"},eo={key:0,class:"mix-top-menu__menu-icon"},so={key:1,class:"mix-top-menu__menu-char"},to={class:"mix-top-menu__menu-text"},oo={class:"mix-top-menu__actions"},no={key:0,class:"mix-top-menu__search-dropdown"},ao={key:0,class:"mix-top-menu__search-results"},lo=["onClick"],io={key:0,class:"mix-top-menu__search-icon-item"},ro={key:1,class:"mix-top-menu__search-char"},co={class:"mix-top-menu__search-item-title"},uo={key:1,class:"mix-top-menu__search-item-parent"},mo={key:1,class:"mix-top-menu__search-empty"},po=["title"],_o={class:"mix-top-menu__avatar"},vo={class:"mix-top-menu__user-name"},ho={key:0,class:"mix-top-menu__dropdown"},fo={class:"mix-top-menu__dropdown-header"},go={class:"mix-top-menu__dropdown-avatar"},yo={class:"mix-top-menu__dropdown-info"},ko={class:"mix-top-menu__dropdown-name"},wo={class:"mix-top-menu__dropdown-role"},bo={class:"mix-top-menu__dropdown-menu"},xo={class:"settings-drawer"},$o={class:"settings-section"},Co={class:"settings-layout-options"},Lo=["onClick"],Mo={class:"layout-option__preview"},No={key:0,class:"layout-preview-sidebar"},So={key:1,class:"layout-preview-top"},zo={key:2,class:"layout-preview-mix"},Uo={class:"layout-option__label"},Eo={class:"settings-section"},To={class:"settings-color-options"},Io=["title","onClick"],Do={class:"settings-section"},Vo={class:"settings-switch-list"},Fo={class:"settings-switch-item"},Ao={class:"settings-switch-item"},Ro=ke({__name:"MixTopMenu",setup(Q){const C=$e(),b=Ce(),p=ge(),d=ye(),$=be(),O=Le(),M=f(""),E=(s,l="")=>{const B=[];return s.forEach(c=>{c.children&&c.children.length>0?B.push(...E(c.children,c.menuName)):B.push({...c,parentTitle:l,title:c.menuName,path:c.menuUrl})}),B},z=g(()=>w.value.trim()?E(p.menuList).filter(l=>l.title.toLowerCase().includes(w.value.toLowerCase())):[]),D=g(()=>{const s=p.menuList.find(l=>l.menuUrl===M.value);return(s==null?void 0:s.children)||[]}),W=g(()=>p.menuList.find(s=>!!(C.path===s.menuUrl||s.children&&s.children.some(l=>C.path.startsWith(l.menuUrl)||C.path===l.menuUrl)))),x=()=>{W.value?M.value=W.value.menuUrl:p.menuList.length>0&&(M.value=p.menuList[0].menuUrl)},q=s=>{M.value=s;const l=p.menuList.find(B=>B.menuUrl===s);if(l)if(l.children&&l.children.length>0){const B=l.children[0].menuUrl;C.path!==B&&b.push(B)}else C.path!==s&&b.push(s)},G=g(()=>d.isDark?"#1d1e1f":"#fff"),J=g(()=>d.isDark?"#cfd3dc":"#303133"),F=g(()=>"#409eff"),N=f(!1),A=f(null),I=f(!1),h=f(!1),R=f(!1),k=f(!1),w=f(""),H=f(null);De(()=>C.path,()=>{x(),d.setMixSubMenus(D.value)}),De(()=>p.menuList,s=>{s&&s.length>0&&(x(),d.setMixSubMenus(D.value))},{immediate:!0});const 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"]),ee=s=>{if(!s||s==="")return"";if(s.startsWith("tineco-icon-")){const B=s.replace("tineco-icon-","");return{home:"home",dashboard:"dashboard",system:"system",user:"user",role:"role",menu:"list",setting:"setting",file:"file",folder:"folder",chart:"chart",report:"report",analytics:"analytics"}[B]||B}return{dashboard:"dashboard",system:"system",user:"user",role:"role",menu:"list",setting:"setting",home:"home",chart:"chart",report:"report",analytics:"analytics",permission:"permission",log:"log",notification:"notification",app:"app",list:"list",grid:"grid"}[s]||s},ae=s=>s?s.charAt(0):"",te=s=>Z.has(s),ce=()=>{d.toggleTheme(),h.value=!1},X=()=>{document.fullscreenElement?document.exitFullscreen():document.documentElement.requestFullscreen()},se=()=>{I.value=!!document.fullscreenElement},de=()=>{N.value=!N.value},j=()=>{N.value=!1},oe=()=>{k.value=!1,w.value=""},Y=s=>{b.push(s),oe()},ne=()=>{h.value=!0},ue=s=>{R.value=s;const l=document.documentElement;s?l.classList.add("grey-mode"):l.classList.remove("grey-mode")},me=()=>{ue(!R.value),h.value=!1},pe=()=>{d.toggleTheme(),h.value=!1},_e=[{value:"sidebar",label:"左侧菜单",icon:"sidebar-left"},{value:"top",label:"顶部菜单",icon:"menu"},{value:"mix",label:"混合菜单",icon:"grid"}],ve=g(()=>d.layout),le=s=>{d.setLayout(s),h.value=!1},ie=[{value:"#409eff",label:"默认蓝"},{value:"#1890ff",label:"科技蓝"},{value:"#52c41a",label:"极光绿"},{value:"#faad14",label:"日落橙"},{value:"#f5222d",label:"薄暮红"},{value:"#722ed1",label:"酱紫"}],v=s=>{d.setPrimaryColor(s),h.value=!1},i=()=>{j(),b.push("/profile")},P=()=>{j(),b.push("/change-password")},n=()=>{j(),O.logout(),$.clearUserInfo(),p.clearMenu(),b.push("/login")},r=s=>{A.value&&!A.value.contains(s.target)&&j(),H.value&&!H.value.contains(s.target)&&oe()},K=s=>{s.key==="Escape"&&(oe(),j())};return Me(()=>{document.addEventListener("click",r),document.addEventListener("fullscreenchange",se),document.addEventListener("keydown",K),R.value=document.documentElement.classList.contains("grey-mode"),x()}),Ne(()=>{document.removeEventListener("click",r),document.removeEventListener("fullscreenchange",se),document.removeEventListener("keydown",K)}),(s,l)=>{var B;return t(),a("div",Jt,[e("div",Xt,[l[3]||(l[3]=e("img",{src:Ue,alt:"Logo",class:"mix-top-menu__logo-img"},null,-1)),e("span",Yt,u(o(d).appName),1)]),m(o(Ee),{"model-value":M.value,mode:"horizontal","background-color":G.value,"text-color":J.value,"active-text-color":F.value,class:"mix-top-menu__menu",onSelect:q},{default:L(()=>[(t(!0),a(U,null,V(o(p).menuList,c=>(t(),S(o(fe),{key:c.menuUrl,index:c.menuUrl},{default:L(()=>[e("span",Zt,[c.menuName!=="首页"?(t(),a("span",eo,[te(ee(c.icon))?(t(),S(o(_),{key:0,name:ee(c.icon),size:16},null,8,["name"])):(t(),a("span",so,u(ae(c.menuName)),1))])):y("",!0),e("span",to,u(c.menuName),1)])]),_:2},1032,["index"]))),128))]),_:1},8,["model-value","background-color","text-color","active-text-color"]),e("div",oo,[e("div",{class:"mix-top-menu__search",ref_key:"searchRef",ref:H},[m(o(_),{name:"search",size:14,class:"mix-top-menu__search-icon"}),xe(e("input",{"onUpdate:modelValue":l[0]||(l[0]=c=>w.value=c),type:"text",class:"mix-top-menu__search-input",placeholder:"搜索菜单...",onFocus:l[1]||(l[1]=c=>k.value=!0)},null,544),[[Se,w.value]]),m(re,{name:"search-dropdown"},{default:L(()=>[k.value&&(z.value.length>0||w.value)?(t(),a("div",no,[z.value.length>0?(t(),a("div",ao,[(t(!0),a(U,null,V(z.value,c=>(t(),a("div",{key:c.path,class:"mix-top-menu__search-item",onClick:Ie=>Y(c.path)},[c.title!=="首页"?(t(),a("span",io,[te(ee(c.icon))?(t(),S(o(_),{key:0,name:ee(c.icon),size:16},null,8,["name"])):(t(),a("span",ro,u(ae(c.title)),1))])):y("",!0),e("span",co,u(c.title),1),c.parentTitle?(t(),a("span",uo,u(c.parentTitle),1)):y("",!0)],8,lo))),128))])):(t(),a("div",mo," 未找到匹配的菜单 "))])):y("",!0)]),_:1})],512),e("div",{class:"mix-top-menu__action",onClick:X,title:I.value?"退出全屏":"全屏"},[m(o(_),{name:I.value?"fullscreen-exit":"fullscreen",size:16},null,8,["name"])],8,po),e("div",{class:"mix-top-menu__action",onClick:ne,title:"换肤设置"},[m(o(_),{name:"skin",size:16})]),e("div",{class:"mix-top-menu__action",onClick:ce,title:"切换主题"},[m(o(_),{name:o(d).isDark?"sun":"moon",size:16},null,8,["name"])]),e("div",{class:"mix-top-menu__user",ref_key:"dropdownRef",ref:A},[e("div",{class:"mix-top-menu__user-trigger",onClick:ze(de,["stop"])},[e("div",_o,[e("span",null,u(((B=o($).userName)==null?void 0:B.charAt(0))||"U"),1)]),e("span",vo,u(o($).userName),1),e("span",{class:T(["mix-top-menu__user-arrow",{"is-active":N.value}])},"▼",2)]),m(re,{name:"dropdown"},{default:L(()=>{var c;return[N.value?(t(),a("div",ho,[e("div",fo,[e("div",go,[e("span",null,u(((c=o($).userName)==null?void 0:c.charAt(0))||"U"),1)]),e("div",yo,[e("div",ko,u(o($).userName),1),e("div",wo,u(o($).departmentName),1)])]),l[8]||(l[8]=e("div",{class:"mix-top-menu__dropdown-divider"},null,-1)),e("div",bo,[e("div",{class:"mix-top-menu__dropdown-item",onClick:i},[m(o(_),{name:"user",size:16}),l[4]||(l[4]=e("span",null,"个人信息",-1))]),e("div",{class:"mix-top-menu__dropdown-item",onClick:P},[m(o(_),{name:"lock",size:16}),l[5]||(l[5]=e("span",null,"修改密码",-1))]),l[7]||(l[7]=e("div",{class:"mix-top-menu__dropdown-divider"},null,-1)),e("div",{class:"mix-top-menu__dropdown-item mix-top-menu__dropdown-item--danger",onClick:n},[m(o(_),{name:"logout",size:16}),l[6]||(l[6]=e("span",null,"退出登录",-1))])])])):y("",!0)]}),_:1})],512)]),m(o(Te),{modelValue:h.value,"onUpdate:modelValue":l[2]||(l[2]=c=>h.value=c),title:"换肤设置",direction:"rtl",size:"320px"},{default:L(()=>[e("div",xo,[e("div",$o,[l[12]||(l[12]=e("div",{class:"settings-title"},"布局模式",-1)),e("div",Co,[(t(),a(U,null,V(_e,c=>e("div",{key:c.value,class:T(["layout-option",{"is-active":ve.value===c.value}]),onClick:Ie=>le(c.value)},[e("div",Mo,[c.value==="sidebar"?(t(),a("div",No,[...l[9]||(l[9]=[e("div",{class:"preview-aside"},null,-1),e("div",{class:"preview-main"},[e("div",{class:"preview-header"}),e("div",{class:"preview-content"})],-1)])])):c.value==="top"?(t(),a("div",So,[...l[10]||(l[10]=[e("div",{class:"preview-header-full"},null,-1),e("div",{class:"preview-content-full"},null,-1)])])):(t(),a("div",zo,[...l[11]||(l[11]=[e("div",{class:"preview-header-mix"},[e("div",{class:"preview-mix-left"})],-1),e("div",{class:"preview-mix-body"},[e("div",{class:"preview-mix-aside"}),e("div",{class:"preview-mix-content"})],-1)])]))]),e("span",Uo,u(c.label),1)],10,Lo)),64))])]),e("div",Eo,[l[13]||(l[13]=e("div",{class:"settings-title"},"主题色",-1)),e("div",To,[(t(),a(U,null,V(ie,c=>e("div",{key:c.value,class:T(["color-option",{"is-active":o(d).primaryColor===c.value}]),style:he({backgroundColor:c.value}),title:c.label,onClick:Ie=>v(c.value)},[o(d).primaryColor===c.value?(t(),S(o(_),{key:0,name:"check",size:12,color:"#fff"})):y("",!0)],14,Io)),64))])]),e("div",Do,[l[18]||(l[18]=e("div",{class:"settings-title"},"功能设置",-1)),e("div",Vo,[e("div",Fo,[l[15]||(l[15]=e("span",null,"灰色模式",-1)),e("div",{class:T(["switch-wrapper",{"is-checked":R.value}]),onClick:me},[...l[14]||(l[14]=[e("span",{class:"switch-core"},null,-1)])],2)]),e("div",Ao,[l[17]||(l[17]=e("span",null,"暗黑模式",-1)),e("div",{class:T(["switch-wrapper",{"is-checked":o(d).isDark}]),onClick:pe},[...l[16]||(l[16]=[e("span",{class:"switch-core"},null,-1)])],2)])])])])]),_:1},8,["modelValue"])])}}}),Po=we(Ro,[["__scopeId","data-v-25806305"]]),Bo={key:0,class:"layout layout--sidebar"},Oo={class:"layout__main"},qo={class:"layout__header"},Go={class:"layout__content"},Ko={key:1,class:"layout layout--top"},Wo={class:"layout__top-menu"},Ho={class:"layout__main"},jo={class:"layout__content"},Qo={key:2,class:"layout layout--mix"},Jo={class:"layout__mix-top-menu"},Xo={class:"layout__mix-body"},Yo={class:"layout__content"},Zo=ke({__name:"index",setup(Q){const C=ye(),b=ge(),p=g(()=>C.isCollapsed?"64px":"210px"),d=g(()=>C.layout),$=g(()=>d.value==="mix"),O=g(()=>d.value==="sidebar"?b.menuList:d.value==="mix"?C.mixSubMenus:[]),M=g(()=>$.value?O.value.length>0:!1);return(E,z)=>{const D=Ke("router-view");return t(),a(U,null,[d.value==="sidebar"?(t(),a("div",Bo,[e("aside",{class:"layout__aside",style:he({width:p.value})},[m(Ve,{"menu-list":O.value,"show-logo":!0,"show-user":!0},null,8,["menu-list"])],4),e("div",Oo,[e("header",qo,[m(Xs)]),e("main",Go,[m(D)])])])):y("",!0),d.value==="top"?(t(),a("div",Ko,[e("div",Wo,[m(Qt)]),e("div",Ho,[e("main",jo,[m(D)])])])):y("",!0),d.value==="mix"?(t(),a("div",Qo,[e("div",Jo,[m(Po)]),e("div",Xo,[M.value?(t(),a("aside",{key:0,class:"layout__aside",style:he({width:p.value})},[m(Ve,{"menu-list":O.value,"show-logo":!1,"show-user":!1},null,8,["menu-list"])],4)):y("",!0),e("main",Yo,[m(D)])])])):y("",!0)],64)}}}),pn=we(Zo,[["__scopeId","data-v-70b115a5"]]);export{pn as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as z,n as p,j as v,o as O,G as $,Z as N}from"./xto-form-C5i2lk3C.js";import{A as Y,L as g}from"./xto-data-Cw0dv5K5.js";import{r as h,g as j}from"./xto-feedback-CTk0sMCW.js";import{M as E,g as c}from"./xto-base-BSTP-Yn2.js";import{S as r,M as u,b as q}from"./index-BRR97dc6.js";import{d as F,q as G,o as V,c as k,z as a,C as n,u as e,k as A,e as Z,I as H,a as s,h as m,F as D,A as x,i,g as J}from"./vue-vendor-05sbU7Th.js";import{_ as K}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./xto-core-cL8BAdce.js";const P={class:"menu-page"},Q={class:"toolbar"},W={class:"menu-tree"},X={class:"tree-table"},ee={class:"tree-row tree-row--level-0"},te=["onClick"],le=["onClick"],ae=F({__name:"index",setup(se){const R=[{id:1,parentId:null,name:"Dashboard",path:"/dashboard",component:"dashboard/index",redirect:"",icon:"dashboard",title:"仪表盘",type:u.MENU,sort:1,status:r.ENABLED,hidden:!1,keepAlive:!0},{id:2,parentId:null,name:"System",path:"/system",component:"",redirect:"/system/user",icon:"setting",title:"系统管理",type:u.DIRECTORY,sort:2,status:r.ENABLED,hidden:!1,keepAlive:!1,children:[{id:21,parentId:2,name:"SystemUser",path:"/system/user",component:"system/user/index",redirect:"",icon:"user",title:"用户管理",type:u.MENU,sort:1,status:r.ENABLED,hidden:!1,keepAlive:!0},{id:22,parentId:2,name:"SystemRole",path:"/system/role",component:"system/role/index",redirect:"",icon:"role",title:"角色管理",type:u.MENU,sort:2,status:r.ENABLED,hidden:!1,keepAlive:!0},{id:23,parentId:2,name:"SystemMenu",path:"/system/menu",component:"system/menu/index",redirect:"",icon:"menu",title:"菜单管理",type:u.MENU,sort:3,status:r.ENABLED,hidden:!1,keepAlive:!0}]}],U=A(!1),C=A([]),y=A(!1),_=Z(()=>o.id?"编辑菜单":"新增菜单"),o=H({id:0,parentId:null,name:"",path:"",component:"",redirect:"",icon:"",title:"",type:u.MENU,sort:0,status:r.ENABLED,hidden:!1,keepAlive:!0}),w={name:[{required:!0,message:"请输入菜单名称",trigger:"blur"}],path:[{required:!0,message:"请输入路由路径",trigger:"blur"}],title:[{required:!0,message:"请输入菜单标题",trigger:"blur"}]},M=A(),I=()=>{U.value=!0,setTimeout(()=>{C.value=R,U.value=!1},300)},L=(f=null)=>{Object.assign(o,{id:0,parentId:f,name:"",path:"",component:"",redirect:"",icon:"",title:"",type:u.MENU,sort:0,status:r.ENABLED,hidden:!1,keepAlive:!0}),y.value=!0},b=f=>{Object.assign(o,f),y.value=!0},T=async()=>{var f;try{await((f=M.value)==null?void 0:f.validate()),j.success(o.id?"编辑成功":"新增成功"),y.value=!1,I()}catch(t){console.error(t)}},B=f=>({dashboard:"📊",system:"⚙️",user:"👤",role:"👥",menu:"📋",setting:"🔧"})[f||""]||"📄";return G(()=>{I()}),(f,t)=>(V(),k("div",P,[a(e(Y),{class:"menu-card"},{default:n(()=>[s("div",Q,[a(e(E),{type:"primary",onClick:t[0]||(t[0]=l=>L())},{default:n(()=>[...t[14]||(t[14]=[m("新增菜单",-1)])]),_:1})]),s("div",W,[s("table",X,[t[19]||(t[19]=s("thead",null,[s("tr",null,[s("th",null,"菜单名称"),s("th",null,"图标"),s("th",null,"路由路径"),s("th",null,"类型"),s("th",null,"排序"),s("th",null,"状态"),s("th",null,"操作")])],-1)),s("tbody",null,[(V(!0),k(D,null,x(C.value,l=>(V(),k(D,{key:l.id},[s("tr",ee,[s("td",null,[s("span",{class:"menu-name",onClick:d=>b(l)},i(l.title),9,te)]),s("td",null,i(B(l.icon)),1),s("td",null,i(l.path),1),s("td",null,[a(e(g),{type:l.type===e(u).DIRECTORY?"primary":l.type===e(u).MENU?"success":"warning",size:"small"},{default:n(()=>[m(i(l.type===e(u).DIRECTORY?"目录":l.type===e(u).MENU?"菜单":"按钮"),1)]),_:2},1032,["type"])]),s("td",null,i(l.sort),1),s("td",null,[a(e(g),{type:l.status===e(r).ENABLED?"success":"danger",size:"small"},{default:n(()=>[m(i(l.status===e(r).ENABLED?"启用":"禁用"),1)]),_:2},1032,["type"])]),s("td",null,[a(e(c),null,{default:n(()=>[a(e(E),{type:"primary",link:"",size:"small",onClick:d=>L(l.id)},{default:n(()=>[...t[15]||(t[15]=[m("新增",-1)])]),_:1},8,["onClick"]),a(e(E),{type:"primary",link:"",size:"small",onClick:d=>b(l)},{default:n(()=>[...t[16]||(t[16]=[m("编辑",-1)])]),_:1},8,["onClick"])]),_:2},1024)])]),l.children?(V(!0),k(D,{key:0},x(l.children,d=>(V(),k("tr",{key:d.id,class:"tree-row tree-row--level-1"},[s("td",null,[t[17]||(t[17]=s("span",{class:"tree-indent"},null,-1)),s("span",{class:"menu-name",onClick:S=>b(d)},i(d.title),9,le)]),s("td",null,i(B(d.icon)),1),s("td",null,i(d.path),1),s("td",null,[a(e(g),{type:d.type===e(u).DIRECTORY?"primary":d.type===e(u).MENU?"success":"warning",size:"small"},{default:n(()=>[m(i(d.type===e(u).DIRECTORY?"目录":d.type===e(u).MENU?"菜单":"按钮"),1)]),_:2},1032,["type"])]),s("td",null,i(d.sort),1),s("td",null,[a(e(g),{type:d.status===e(r).ENABLED?"success":"danger",size:"small"},{default:n(()=>[m(i(d.status===e(r).ENABLED?"启用":"禁用"),1)]),_:2},1032,["type"])]),s("td",null,[a(e(c),null,{default:n(()=>[a(e(E),{type:"primary",link:"",size:"small",onClick:S=>b(d)},{default:n(()=>[...t[18]||(t[18]=[m("编辑",-1)])]),_:1},8,["onClick"])]),_:2},1024)])]))),128)):J("",!0)],64))),128))])])])]),_:1}),a(e(h),{modelValue:y.value,"onUpdate:modelValue":t[13]||(t[13]=l=>y.value=l),title:_.value,width:"600px"},{footer:n(()=>[a(e(c),null,{default:n(()=>[a(e(E),{onClick:t[12]||(t[12]=l=>y.value=!1)},{default:n(()=>[...t[20]||(t[20]=[m("取消",-1)])]),_:1}),a(e(E),{type:"primary",onClick:T},{default:n(()=>[...t[21]||(t[21]=[m("确定",-1)])]),_:1})]),_:1})]),default:n(()=>[a(e(z),{ref_key:"formRef",ref:M,model:o,rules:w,"label-width":"80px"},{default:n(()=>[a(e(p),{label:"上级菜单"},{default:n(()=>[a(e(v),{modelValue:o.parentId,"onUpdate:modelValue":t[1]||(t[1]=l=>o.parentId=l),placeholder:"上级菜单ID",disabled:""},null,8,["modelValue"])]),_:1}),a(e(p),{label:"菜单类型"},{default:n(()=>[a(e(O),{modelValue:o.type,"onUpdate:modelValue":t[2]||(t[2]=l=>o.type=l),options:e(q)},null,8,["modelValue","options"])]),_:1}),a(e(p),{label:"菜单名称",prop:"name"},{default:n(()=>[a(e(v),{modelValue:o.name,"onUpdate:modelValue":t[3]||(t[3]=l=>o.name=l),placeholder:"请输入菜单名称(路由name)"},null,8,["modelValue"])]),_:1}),a(e(p),{label:"菜单标题",prop:"title"},{default:n(()=>[a(e(v),{modelValue:o.title,"onUpdate:modelValue":t[4]||(t[4]=l=>o.title=l),placeholder:"请输入菜单标题"},null,8,["modelValue"])]),_:1}),a(e(p),{label:"路由路径",prop:"path"},{default:n(()=>[a(e(v),{modelValue:o.path,"onUpdate:modelValue":t[5]||(t[5]=l=>o.path=l),placeholder:"请输入路由路径"},null,8,["modelValue"])]),_:1}),a(e(p),{label:"组件路径"},{default:n(()=>[a(e(v),{modelValue:o.component,"onUpdate:modelValue":t[6]||(t[6]=l=>o.component=l),placeholder:"请输入组件路径"},null,8,["modelValue"])]),_:1}),a(e(p),{label:"图标"},{default:n(()=>[a(e(v),{modelValue:o.icon,"onUpdate:modelValue":t[7]||(t[7]=l=>o.icon=l),placeholder:"请输入图标名称"},null,8,["modelValue"])]),_:1}),a(e(p),{label:"排序"},{default:n(()=>[a(e($),{modelValue:o.sort,"onUpdate:modelValue":t[8]||(t[8]=l=>o.sort=l),min:0},null,8,["modelValue"])]),_:1}),a(e(p),{label:"状态"},{default:n(()=>[a(e(N),{modelValue:o.status,"onUpdate:modelValue":t[9]||(t[9]=l=>o.status=l),"active-value":e(r).ENABLED,"inactive-value":e(r).DISABLED},null,8,["modelValue","active-value","inactive-value"])]),_:1}),a(e(p),{label:"隐藏"},{default:n(()=>[a(e(N),{modelValue:o.hidden,"onUpdate:modelValue":t[10]||(t[10]=l=>o.hidden=l)},null,8,["modelValue"])]),_:1}),a(e(p),{label:"缓存"},{default:n(()=>[a(e(N),{modelValue:o.keepAlive,"onUpdate:modelValue":t[11]||(t[11]=l=>o.keepAlive=l)},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])]))}}),fe=K(ae,[["__scopeId","data-v-2a272a68"]]);export{fe as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.sidebar[data-v-d836d8bb]{height:100%;display:flex;flex-direction:column;background-color:var(--bg-color);border-right:1px solid var(--color-border-lighter)}.sidebar--collapsed .sidebar__logo[data-v-d836d8bb]{justify-content:center;padding:0}.sidebar__logo[data-v-d836d8bb]{height:50px;display:flex;align-items:center;padding:0 20px;gap:10px;border-bottom:1px solid var(--color-border-lighter)}.sidebar__logo-img[data-v-d836d8bb]{width:32px;height:32px}.sidebar__logo-text[data-v-d836d8bb]{font-size:16px;font-weight:600;color:var(--color-primary)}.sidebar__menu[data-v-d836d8bb]{flex:1;border-right:none;overflow-y:auto}.sidebar__menu-content[data-v-d836d8bb]{display:inline-flex;align-items:center;line-height:1}.sidebar__menu-text[data-v-d836d8bb]{flex:1;line-height:1}.sidebar__menu-icon[data-v-d836d8bb]{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;margin-right:8px;flex-shrink:0}.sidebar__menu-char[data-v-d836d8bb]{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;font-size:12px;font-weight:600;color:var(--color-primary);background-color:var(--color-primary-light-8);border-radius:4px}.sidebar__user[data-v-d836d8bb]{padding:10px;border-top:1px solid var(--color-border-lighter);display:flex;align-items:center;justify-content:space-between}.sidebar__user-info[data-v-d836d8bb]{display:flex;flex-direction:column;gap:2px}.sidebar__user-name[data-v-d836d8bb]{font-size:14px;font-weight:500}.sidebar__user-role[data-v-d836d8bb]{font-size:12px;color:var(--color-text-secondary)}.header[data-v-916fcfad]{display:flex;align-items:center;justify-content:space-between;padding:0 20px;height:100%;background-color:var(--bg-color);border-bottom:1px solid var(--color-border-lighter)}.header__left[data-v-916fcfad]{display:flex;align-items:center;gap:15px}.header__collapse[data-v-916fcfad]{width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-text-regular);transition:color .2s}.header__collapse[data-v-916fcfad]:hover{color:var(--color-primary)}.header__breadcrumb[data-v-916fcfad]{font-size:14px;color:var(--color-text-secondary)}.header__breadcrumb .breadcrumb-separator[data-v-916fcfad]{margin:0 8px;color:var(--color-text-placeholder)}.header__breadcrumb .is-current[data-v-916fcfad]{color:var(--color-text-primary);font-weight:500}.header__right[data-v-916fcfad]{display:flex;align-items:center;gap:8px}.header__search[data-v-916fcfad]{position:relative;display:flex;align-items:center;background-color:var(--color-fill-light);border-radius:var(--border-radius-base);padding:0 12px;height:32px;width:200px}.header__search-icon[data-v-916fcfad]{color:var(--color-text-secondary)}.header__search-input[data-v-916fcfad]{flex:1;height:100%;font-size:14px;color:var(--color-text-primary);background:transparent;border:none;outline:none;padding-left:8px}.header__search-input[data-v-916fcfad]::placeholder{color:var(--color-text-placeholder)}.header__search-dropdown[data-v-916fcfad]{position:absolute;top:calc(100% + 4px);left:0;right:0;min-width:200px;max-height:300px;overflow-y:auto;background-color:var(--bg-color);border-radius:var(--border-radius-base);box-shadow:var(--box-shadow);z-index:100}.header__search-results[data-v-916fcfad]{padding:8px 0}.header__search-item[data-v-916fcfad]{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;transition:background-color .2s}.header__search-item[data-v-916fcfad]:hover{background-color:var(--color-fill)}.header__search-item-title[data-v-916fcfad]{font-size:14px;color:var(--color-text-primary)}.header__search-item-parent[data-v-916fcfad]{font-size:12px;color:var(--color-text-secondary);margin-left:auto}.header__search-icon[data-v-916fcfad]{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0}.header__search-char[data-v-916fcfad]{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;font-size:12px;font-weight:600;color:var(--color-primary);background-color:var(--color-primary-light-8);border-radius:4px}.header__search-empty[data-v-916fcfad]{padding:16px 12px;text-align:center;color:var(--color-text-secondary);font-size:14px}.header__action[data-v-916fcfad]{width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:var(--border-radius-base);color:var(--color-text-regular);transition:all .2s}.header__action[data-v-916fcfad]:hover{background-color:var(--color-fill);color:var(--color-primary)}.header__user[data-v-916fcfad]{position:relative;margin-left:8px}.header__user-trigger[data-v-916fcfad]{display:flex;align-items:center;gap:8px;cursor:pointer;padding:4px 8px;border-radius:var(--border-radius-base);transition:background-color .2s}.header__user-trigger[data-v-916fcfad]:hover{background-color:var(--color-fill)}.header__user-name[data-v-916fcfad]{font-size:14px;color:var(--color-text-primary);max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header__user-arrow[data-v-916fcfad]{font-size:10px;color:var(--color-text-secondary);transition:transform .2s}.header__user-arrow.is-active[data-v-916fcfad]{transform:rotate(180deg)}.header__avatar[data-v-916fcfad]{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light-3));display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;font-weight:500}.header__dropdown[data-v-916fcfad]{position:absolute;top:calc(100% + 8px);right:0;min-width:200px;background-color:var(--bg-color);border-radius:var(--border-radius-base);box-shadow:var(--box-shadow);overflow:hidden;z-index:100}.header__dropdown-header[data-v-916fcfad]{display:flex;align-items:center;gap:12px;padding:16px}.header__dropdown-avatar[data-v-916fcfad]{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light-3));display:flex;align-items:center;justify-content:center;color:#fff;font-size:16px;font-weight:500}.header__dropdown-info[data-v-916fcfad]{flex:1}.header__dropdown-name[data-v-916fcfad]{font-size:14px;font-weight:500;color:var(--color-text-primary)}.header__dropdown-role[data-v-916fcfad]{font-size:12px;color:var(--color-text-secondary);margin-top:2px}.header__dropdown-divider[data-v-916fcfad]{height:1px;background-color:var(--color-border-lighter)}.header__dropdown-menu[data-v-916fcfad]{padding:8px 0}.header__dropdown-item[data-v-916fcfad]{display:flex;align-items:center;gap:10px;padding:10px 16px;cursor:pointer;font-size:14px;color:var(--color-text-regular);transition:all .2s}.header__dropdown-item[data-v-916fcfad]:hover{background-color:var(--color-fill);color:var(--color-text-primary)}.header__dropdown-item--danger[data-v-916fcfad]{color:var(--color-danger)}.header__dropdown-item--danger[data-v-916fcfad]:hover{background-color:var(--color-danger-light);color:var(--color-danger)}.settings-drawer .settings-section[data-v-916fcfad]{margin-bottom:24px}.settings-drawer .settings-title[data-v-916fcfad]{font-size:14px;font-weight:500;color:var(--color-text-primary);margin-bottom:12px}.settings-drawer .settings-layout-options[data-v-916fcfad]{display:flex;gap:12px}.settings-drawer .layout-option[data-v-916fcfad]{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px;border:1px solid var(--color-border);border-radius:var(--border-radius-base);cursor:pointer;transition:all .2s}.settings-drawer .layout-option[data-v-916fcfad]:hover{border-color:var(--color-primary-light-5)}.settings-drawer .layout-option.is-active[data-v-916fcfad]{border-color:var(--color-primary);background-color:var(--color-primary-light-9)}.settings-drawer .layout-option__preview[data-v-916fcfad]{width:48px;height:36px;border:1px solid var(--color-border-light);border-radius:2px;overflow:hidden}.settings-drawer .layout-option__label[data-v-916fcfad]{font-size:12px;color:var(--color-text-regular)}.settings-drawer .layout-preview-sidebar[data-v-916fcfad]{display:flex;height:100%}.settings-drawer .layout-preview-sidebar .preview-aside[data-v-916fcfad]{width:25%;height:100%;background-color:var(--color-primary-light-7)}.settings-drawer .layout-preview-sidebar .preview-main[data-v-916fcfad]{flex:1;display:flex;flex-direction:column}.settings-drawer .layout-preview-sidebar .preview-main .preview-header[data-v-916fcfad]{height:20%;background-color:var(--color-border-light)}.settings-drawer .layout-preview-sidebar .preview-main .preview-content[data-v-916fcfad]{flex:1;background-color:var(--bg-color-page)}.settings-drawer .layout-preview-top[data-v-916fcfad]{display:flex;flex-direction:column;height:100%}.settings-drawer .layout-preview-top .preview-header-full[data-v-916fcfad]{height:25%;background-color:var(--color-primary-light-7)}.settings-drawer .layout-preview-top .preview-content-full[data-v-916fcfad]{flex:1;background-color:var(--bg-color-page)}.settings-drawer .layout-preview-mix[data-v-916fcfad]{display:flex;flex-direction:column;height:100%}.settings-drawer .layout-preview-mix .preview-header-mix[data-v-916fcfad]{height:25%;background-color:var(--color-primary-light-7);display:flex}.settings-drawer .layout-preview-mix .preview-header-mix .preview-mix-left[data-v-916fcfad]{width:30%;background-color:var(--color-primary)}.settings-drawer .layout-preview-mix .preview-mix-body[data-v-916fcfad]{flex:1;display:flex}.settings-drawer .layout-preview-mix .preview-mix-body .preview-mix-aside[data-v-916fcfad]{width:25%;background-color:var(--color-primary-light-8)}.settings-drawer .layout-preview-mix .preview-mix-body .preview-mix-content[data-v-916fcfad]{flex:1;background-color:var(--bg-color-page)}.settings-drawer .settings-color-options[data-v-916fcfad]{display:flex;gap:12px}.settings-drawer .color-option[data-v-916fcfad]{width:24px;height:24px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .2s}.settings-drawer .color-option[data-v-916fcfad]:hover{transform:scale(1.1)}.settings-drawer .color-option.is-active[data-v-916fcfad]{box-shadow:0 0 0 2px var(--bg-color),0 0 0 4px var(--color-primary)}.settings-drawer .settings-switch-list[data-v-916fcfad]{display:flex;flex-direction:column;gap:12px}.settings-drawer .settings-switch-item[data-v-916fcfad]{display:flex;align-items:center;justify-content:space-between}.settings-drawer .settings-switch-item span[data-v-916fcfad]{font-size:14px;color:var(--color-text-regular)}.settings-drawer .switch-wrapper[data-v-916fcfad]{width:44px;height:22px;display:flex;align-items:center;cursor:pointer}.settings-drawer .switch-wrapper .switch-core[data-v-916fcfad]{width:100%;height:100%;border-radius:11px;background-color:var(--color-border);position:relative;transition:background-color .2s}.settings-drawer .switch-wrapper .switch-core[data-v-916fcfad]:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;background-color:#fff;border-radius:50%;transition:left .2s}.settings-drawer .switch-wrapper.is-checked .switch-core[data-v-916fcfad]{background-color:var(--color-primary)}.settings-drawer .switch-wrapper.is-checked .switch-core[data-v-916fcfad]:after{left:24px}.dropdown-enter-active[data-v-916fcfad],.dropdown-leave-active[data-v-916fcfad]{transition:all .2s ease}.dropdown-enter-from[data-v-916fcfad],.dropdown-leave-to[data-v-916fcfad]{opacity:0;transform:translateY(-10px)}.search-dropdown-enter-active[data-v-916fcfad],.search-dropdown-leave-active[data-v-916fcfad]{transition:all .2s ease}.search-dropdown-enter-from[data-v-916fcfad],.search-dropdown-leave-to[data-v-916fcfad]{opacity:0;transform:translateY(-4px)}.top-menu[data-v-ff5f8764]{width:100%;height:100%;display:flex;align-items:center;padding:0 20px}.top-menu__logo[data-v-ff5f8764]{display:flex;align-items:center;gap:10px;margin-right:20px}.top-menu__logo-img[data-v-ff5f8764]{width:32px;height:32px}.top-menu__logo-text[data-v-ff5f8764]{font-size:16px;font-weight:600;color:var(--color-primary)}.top-menu__menu[data-v-ff5f8764]{flex:1;border-bottom:none;height:49px;display:flex;align-items:center;line-height:49px}.top-menu__menu[data-v-ff5f8764] .x-menu{height:49px;line-height:49px;border-bottom:none}.top-menu__menu[data-v-ff5f8764] .x-menu--horizontal{height:49px;display:flex;align-items:center;border-bottom:none;line-height:49px}.top-menu__menu[data-v-ff5f8764] .x-menu-item{height:49px;line-height:49px;box-sizing:border-box;border-bottom:none}.top-menu__menu[data-v-ff5f8764] .x-menu-item.is-horizontal{height:49px;line-height:49px}.top-menu__menu[data-v-ff5f8764] .x-menu-item__content{height:49px}.top-menu__menu[data-v-ff5f8764] .x-sub-menu{height:49px;line-height:49px;box-sizing:border-box;border-bottom:none}.top-menu__menu[data-v-ff5f8764] .x-sub-menu--horizontal{height:49px}.top-menu__menu[data-v-ff5f8764] .x-sub-menu__title{height:49px;line-height:49px;box-sizing:border-box;border-bottom:none}.top-menu__menu[data-v-ff5f8764] .x-sub-menu__content{height:49px}.top-menu__menu-content[data-v-ff5f8764]{align-items:center;line-height:1}.top-menu__menu-text[data-v-ff5f8764]{line-height:1}.top-menu__menu-icon[data-v-ff5f8764]{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;margin-right:8px;flex-shrink:0}.top-menu__menu-char[data-v-ff5f8764]{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;font-size:12px;font-weight:600;color:var(--color-primary);background-color:var(--color-primary-light-8);border-radius:4px}.top-menu__actions[data-v-ff5f8764]{display:flex;align-items:center;gap:8px}.top-menu__search[data-v-ff5f8764]{position:relative;display:flex;align-items:center;background-color:var(--color-fill-light);border-radius:var(--border-radius-base);padding:0 12px;height:32px;width:200px}.top-menu__search-icon[data-v-ff5f8764]{color:var(--color-text-secondary)}.top-menu__search-input[data-v-ff5f8764]{flex:1;height:100%;font-size:14px;color:var(--color-text-primary);background:transparent;border:none;outline:none;padding-left:8px}.top-menu__search-input[data-v-ff5f8764]::placeholder{color:var(--color-text-placeholder)}.top-menu__search-dropdown[data-v-ff5f8764]{position:absolute;top:calc(100% + 4px);left:0;right:0;min-width:200px;max-height:300px;overflow-y:auto;background-color:var(--bg-color);border-radius:var(--border-radius-base);box-shadow:var(--box-shadow);z-index:100}.top-menu__search-results[data-v-ff5f8764]{padding:8px 0}.top-menu__search-item[data-v-ff5f8764]{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;transition:background-color .2s}.top-menu__search-item[data-v-ff5f8764]:hover{background-color:var(--color-fill)}.top-menu__search-item-title[data-v-ff5f8764]{font-size:14px;color:var(--color-text-primary)}.top-menu__search-item-parent[data-v-ff5f8764]{font-size:12px;color:var(--color-text-secondary);margin-left:auto}.top-menu__search-icon-item[data-v-ff5f8764]{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0}.top-menu__search-char[data-v-ff5f8764]{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;font-size:12px;font-weight:600;color:var(--color-primary);background-color:var(--color-primary-light-8);border-radius:4px}.top-menu__search-empty[data-v-ff5f8764]{padding:16px 12px;text-align:center;color:var(--color-text-secondary);font-size:14px}.top-menu__action[data-v-ff5f8764]{width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:var(--border-radius-base);color:var(--color-text-regular);transition:all .2s}.top-menu__action[data-v-ff5f8764]:hover{background-color:var(--color-fill);color:var(--color-primary)}.top-menu__user[data-v-ff5f8764]{position:relative;margin-left:8px}.top-menu__user-trigger[data-v-ff5f8764]{display:flex;align-items:center;gap:8px;cursor:pointer;padding:4px 8px;border-radius:var(--border-radius-base);transition:background-color .2s}.top-menu__user-trigger[data-v-ff5f8764]:hover{background-color:var(--color-fill)}.top-menu__user-name[data-v-ff5f8764]{font-size:14px;color:var(--color-text-primary);max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-menu__user-arrow[data-v-ff5f8764]{font-size:10px;color:var(--color-text-secondary);transition:transform .2s}.top-menu__user-arrow.is-active[data-v-ff5f8764]{transform:rotate(180deg)}.top-menu__avatar[data-v-ff5f8764]{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light-3));display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;font-weight:500}.top-menu__dropdown[data-v-ff5f8764]{position:absolute;top:calc(100% + 8px);right:0;min-width:200px;background-color:var(--bg-color);border-radius:var(--border-radius-base);box-shadow:var(--box-shadow);overflow:hidden;z-index:100}.top-menu__dropdown-header[data-v-ff5f8764]{display:flex;align-items:center;gap:12px;padding:16px}.top-menu__dropdown-avatar[data-v-ff5f8764]{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light-3));display:flex;align-items:center;justify-content:center;color:#fff;font-size:16px;font-weight:500}.top-menu__dropdown-info[data-v-ff5f8764]{flex:1}.top-menu__dropdown-name[data-v-ff5f8764]{font-size:14px;font-weight:500;color:var(--color-text-primary)}.top-menu__dropdown-role[data-v-ff5f8764]{font-size:12px;color:var(--color-text-secondary);margin-top:2px}.top-menu__dropdown-divider[data-v-ff5f8764]{height:1px;background-color:var(--color-border-lighter)}.top-menu__dropdown-menu[data-v-ff5f8764]{padding:8px 0}.top-menu__dropdown-item[data-v-ff5f8764]{display:flex;align-items:center;gap:10px;padding:10px 16px;cursor:pointer;font-size:14px;color:var(--color-text-regular);transition:all .2s}.top-menu__dropdown-item[data-v-ff5f8764]:hover{background-color:var(--color-fill);color:var(--color-text-primary)}.top-menu__dropdown-item--danger[data-v-ff5f8764]{color:var(--color-danger)}.top-menu__dropdown-item--danger[data-v-ff5f8764]:hover{background-color:var(--color-danger-light);color:var(--color-danger)}.settings-drawer .settings-section[data-v-ff5f8764]{margin-bottom:24px}.settings-drawer .settings-title[data-v-ff5f8764]{font-size:14px;font-weight:500;color:var(--color-text-primary);margin-bottom:12px}.settings-drawer .settings-layout-options[data-v-ff5f8764]{display:flex;gap:12px}.settings-drawer .layout-option[data-v-ff5f8764]{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px;border:1px solid var(--color-border);border-radius:var(--border-radius-base);cursor:pointer;transition:all .2s}.settings-drawer .layout-option[data-v-ff5f8764]:hover{border-color:var(--color-primary-light-5)}.settings-drawer .layout-option.is-active[data-v-ff5f8764]{border-color:var(--color-primary);background-color:var(--color-primary-light-9)}.settings-drawer .layout-option__preview[data-v-ff5f8764]{width:48px;height:36px;border:1px solid var(--color-border-light);border-radius:2px;overflow:hidden}.settings-drawer .layout-option__label[data-v-ff5f8764]{font-size:12px;color:var(--color-text-regular)}.settings-drawer .layout-preview-sidebar[data-v-ff5f8764]{display:flex;height:100%}.settings-drawer .layout-preview-sidebar .preview-aside[data-v-ff5f8764]{width:25%;height:100%;background-color:var(--color-primary-light-7)}.settings-drawer .layout-preview-sidebar .preview-main[data-v-ff5f8764]{flex:1;display:flex;flex-direction:column}.settings-drawer .layout-preview-sidebar .preview-main .preview-header[data-v-ff5f8764]{height:20%;background-color:var(--color-border-light)}.settings-drawer .layout-preview-sidebar .preview-main .preview-content[data-v-ff5f8764]{flex:1;background-color:var(--bg-color-page)}.settings-drawer .layout-preview-top[data-v-ff5f8764]{display:flex;flex-direction:column;height:100%}.settings-drawer .layout-preview-top .preview-header-full[data-v-ff5f8764]{height:25%;background-color:var(--color-primary-light-7)}.settings-drawer .layout-preview-top .preview-content-full[data-v-ff5f8764]{flex:1;background-color:var(--bg-color-page)}.settings-drawer .layout-preview-mix[data-v-ff5f8764]{display:flex;flex-direction:column;height:100%}.settings-drawer .layout-preview-mix .preview-header-mix[data-v-ff5f8764]{height:25%;background-color:var(--color-primary-light-7);display:flex}.settings-drawer .layout-preview-mix .preview-header-mix .preview-mix-left[data-v-ff5f8764]{width:30%;background-color:var(--color-primary)}.settings-drawer .layout-preview-mix .preview-mix-body[data-v-ff5f8764]{flex:1;display:flex}.settings-drawer .layout-preview-mix .preview-mix-body .preview-mix-aside[data-v-ff5f8764]{width:25%;background-color:var(--color-primary-light-8)}.settings-drawer .layout-preview-mix .preview-mix-body .preview-mix-content[data-v-ff5f8764]{flex:1;background-color:var(--bg-color-page)}.settings-drawer .settings-color-options[data-v-ff5f8764]{display:flex;gap:12px}.settings-drawer .color-option[data-v-ff5f8764]{width:24px;height:24px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .2s}.settings-drawer .color-option[data-v-ff5f8764]:hover{transform:scale(1.1)}.settings-drawer .color-option.is-active[data-v-ff5f8764]{box-shadow:0 0 0 2px var(--bg-color),0 0 0 4px var(--color-primary)}.settings-drawer .settings-switch-list[data-v-ff5f8764]{display:flex;flex-direction:column;gap:12px}.settings-drawer .settings-switch-item[data-v-ff5f8764]{display:flex;align-items:center;justify-content:space-between}.settings-drawer .settings-switch-item span[data-v-ff5f8764]{font-size:14px;color:var(--color-text-regular)}.settings-drawer .switch-wrapper[data-v-ff5f8764]{width:44px;height:22px;display:flex;align-items:center;cursor:pointer}.settings-drawer .switch-wrapper .switch-core[data-v-ff5f8764]{width:100%;height:100%;border-radius:11px;background-color:var(--color-border);position:relative;transition:background-color .2s}.settings-drawer .switch-wrapper .switch-core[data-v-ff5f8764]:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;background-color:#fff;border-radius:50%;transition:left .2s}.settings-drawer .switch-wrapper.is-checked .switch-core[data-v-ff5f8764]{background-color:var(--color-primary)}.settings-drawer .switch-wrapper.is-checked .switch-core[data-v-ff5f8764]:after{left:24px}.dropdown-enter-active[data-v-ff5f8764],.dropdown-leave-active[data-v-ff5f8764]{transition:all .2s ease}.dropdown-enter-from[data-v-ff5f8764],.dropdown-leave-to[data-v-ff5f8764]{opacity:0;transform:translateY(-10px)}.search-dropdown-enter-active[data-v-ff5f8764],.search-dropdown-leave-active[data-v-ff5f8764]{transition:all .2s ease}.search-dropdown-enter-from[data-v-ff5f8764],.search-dropdown-leave-to[data-v-ff5f8764]{opacity:0;transform:translateY(-4px)}.mix-top-menu[data-v-25806305]{width:100%;height:100%;display:flex;align-items:center;padding:0 20px}.mix-top-menu__logo[data-v-25806305]{display:flex;align-items:center;gap:10px;margin-right:20px}.mix-top-menu__logo-img[data-v-25806305]{width:32px;height:32px}.mix-top-menu__logo-text[data-v-25806305]{font-size:16px;font-weight:600;color:var(--color-primary)}.mix-top-menu__menu[data-v-25806305]{flex:1;border-bottom:none;height:49px;display:flex;align-items:center;line-height:49px}.mix-top-menu__menu[data-v-25806305] .x-menu{height:49px;line-height:49px;border-bottom:none}.mix-top-menu__menu[data-v-25806305] .x-menu--horizontal{height:49px;display:flex;align-items:center;border-bottom:none;line-height:49px}.mix-top-menu__menu[data-v-25806305] .x-menu-item{height:49px;line-height:49px;box-sizing:border-box;border-bottom:none}.mix-top-menu__menu[data-v-25806305] .x-menu-item.is-horizontal{height:49px;line-height:49px}.mix-top-menu__menu[data-v-25806305] .x-menu-item__content{height:49px}.mix-top-menu__menu[data-v-25806305] .x-sub-menu{height:49px;line-height:49px;box-sizing:border-box;border-bottom:none}.mix-top-menu__menu[data-v-25806305] .x-sub-menu--horizontal{height:49px}.mix-top-menu__menu[data-v-25806305] .x-sub-menu__title{height:49px;line-height:49px;box-sizing:border-box;border-bottom:none}.mix-top-menu__menu[data-v-25806305] .x-sub-menu__content{height:49px}.mix-top-menu__menu-content[data-v-25806305]{align-items:center;line-height:1}.mix-top-menu__menu-text[data-v-25806305]{line-height:1}.mix-top-menu__menu-icon[data-v-25806305]{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;margin-right:8px;flex-shrink:0}.mix-top-menu__menu-char[data-v-25806305]{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;font-size:12px;font-weight:600;color:var(--color-primary);background-color:var(--color-primary-light-8);border-radius:4px}.mix-top-menu__actions[data-v-25806305]{display:flex;align-items:center;gap:8px}.mix-top-menu__search[data-v-25806305]{position:relative;display:flex;align-items:center;background-color:var(--color-fill-light);border-radius:var(--border-radius-base);padding:0 12px;height:32px;width:200px}.mix-top-menu__search-icon[data-v-25806305]{color:var(--color-text-secondary)}.mix-top-menu__search-input[data-v-25806305]{flex:1;height:100%;font-size:14px;color:var(--color-text-primary);background:transparent;border:none;outline:none;padding-left:8px}.mix-top-menu__search-input[data-v-25806305]::placeholder{color:var(--color-text-placeholder)}.mix-top-menu__search-dropdown[data-v-25806305]{position:absolute;top:calc(100% + 4px);left:0;right:0;min-width:200px;max-height:300px;overflow-y:auto;background-color:var(--bg-color);border-radius:var(--border-radius-base);box-shadow:var(--box-shadow);z-index:100}.mix-top-menu__search-results[data-v-25806305]{padding:8px 0}.mix-top-menu__search-item[data-v-25806305]{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;transition:background-color .2s}.mix-top-menu__search-item[data-v-25806305]:hover{background-color:var(--color-fill)}.mix-top-menu__search-item-title[data-v-25806305]{font-size:14px;color:var(--color-text-primary)}.mix-top-menu__search-item-parent[data-v-25806305]{font-size:12px;color:var(--color-text-secondary);margin-left:auto}.mix-top-menu__search-icon-item[data-v-25806305]{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0}.mix-top-menu__search-char[data-v-25806305]{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;font-size:12px;font-weight:600;color:var(--color-primary);background-color:var(--color-primary-light-8);border-radius:4px}.mix-top-menu__search-empty[data-v-25806305]{padding:16px 12px;text-align:center;color:var(--color-text-secondary);font-size:14px}.mix-top-menu__action[data-v-25806305]{width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:var(--border-radius-base);color:var(--color-text-regular);transition:all .2s}.mix-top-menu__action[data-v-25806305]:hover{background-color:var(--color-fill);color:var(--color-primary)}.mix-top-menu__user[data-v-25806305]{position:relative;margin-left:8px}.mix-top-menu__user-trigger[data-v-25806305]{display:flex;align-items:center;gap:8px;cursor:pointer;padding:4px 8px;border-radius:var(--border-radius-base);transition:background-color .2s}.mix-top-menu__user-trigger[data-v-25806305]:hover{background-color:var(--color-fill)}.mix-top-menu__user-name[data-v-25806305]{font-size:14px;color:var(--color-text-primary);max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mix-top-menu__user-arrow[data-v-25806305]{font-size:10px;color:var(--color-text-secondary);transition:transform .2s}.mix-top-menu__user-arrow.is-active[data-v-25806305]{transform:rotate(180deg)}.mix-top-menu__avatar[data-v-25806305]{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light-3));display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;font-weight:500}.mix-top-menu__dropdown[data-v-25806305]{position:absolute;top:calc(100% + 8px);right:0;min-width:200px;background-color:var(--bg-color);border-radius:var(--border-radius-base);box-shadow:var(--box-shadow);overflow:hidden;z-index:100}.mix-top-menu__dropdown-header[data-v-25806305]{display:flex;align-items:center;gap:12px;padding:16px}.mix-top-menu__dropdown-avatar[data-v-25806305]{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light-3));display:flex;align-items:center;justify-content:center;color:#fff;font-size:16px;font-weight:500}.mix-top-menu__dropdown-info[data-v-25806305]{flex:1}.mix-top-menu__dropdown-name[data-v-25806305]{font-size:14px;font-weight:500;color:var(--color-text-primary)}.mix-top-menu__dropdown-role[data-v-25806305]{font-size:12px;color:var(--color-text-secondary);margin-top:2px}.mix-top-menu__dropdown-divider[data-v-25806305]{height:1px;background-color:var(--color-border-lighter)}.mix-top-menu__dropdown-menu[data-v-25806305]{padding:8px 0}.mix-top-menu__dropdown-item[data-v-25806305]{display:flex;align-items:center;gap:10px;padding:10px 16px;cursor:pointer;font-size:14px;color:var(--color-text-regular);transition:all .2s}.mix-top-menu__dropdown-item[data-v-25806305]:hover{background-color:var(--color-fill);color:var(--color-text-primary)}.mix-top-menu__dropdown-item--danger[data-v-25806305]{color:var(--color-danger)}.mix-top-menu__dropdown-item--danger[data-v-25806305]:hover{background-color:var(--color-danger-light);color:var(--color-danger)}.settings-drawer .settings-section[data-v-25806305]{margin-bottom:24px}.settings-drawer .settings-title[data-v-25806305]{font-size:14px;font-weight:500;color:var(--color-text-primary);margin-bottom:12px}.settings-drawer .settings-layout-options[data-v-25806305]{display:flex;gap:12px}.settings-drawer .layout-option[data-v-25806305]{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px;border:1px solid var(--color-border);border-radius:var(--border-radius-base);cursor:pointer;transition:all .2s}.settings-drawer .layout-option[data-v-25806305]:hover{border-color:var(--color-primary-light-5)}.settings-drawer .layout-option.is-active[data-v-25806305]{border-color:var(--color-primary);background-color:var(--color-primary-light-9)}.settings-drawer .layout-option__preview[data-v-25806305]{width:48px;height:36px;border:1px solid var(--color-border-light);border-radius:2px;overflow:hidden}.settings-drawer .layout-option__label[data-v-25806305]{font-size:12px;color:var(--color-text-regular)}.settings-drawer .layout-preview-sidebar[data-v-25806305]{display:flex;height:100%}.settings-drawer .layout-preview-sidebar .preview-aside[data-v-25806305]{width:25%;height:100%;background-color:var(--color-primary-light-7)}.settings-drawer .layout-preview-sidebar .preview-main[data-v-25806305]{flex:1;display:flex;flex-direction:column}.settings-drawer .layout-preview-sidebar .preview-main .preview-header[data-v-25806305]{height:20%;background-color:var(--color-border-light)}.settings-drawer .layout-preview-sidebar .preview-main .preview-content[data-v-25806305]{flex:1;background-color:var(--bg-color-page)}.settings-drawer .layout-preview-top[data-v-25806305]{display:flex;flex-direction:column;height:100%}.settings-drawer .layout-preview-top .preview-header-full[data-v-25806305]{height:25%;background-color:var(--color-primary-light-7)}.settings-drawer .layout-preview-top .preview-content-full[data-v-25806305]{flex:1;background-color:var(--bg-color-page)}.settings-drawer .layout-preview-mix[data-v-25806305]{display:flex;flex-direction:column;height:100%}.settings-drawer .layout-preview-mix .preview-header-mix[data-v-25806305]{height:25%;background-color:var(--color-primary-light-7);display:flex}.settings-drawer .layout-preview-mix .preview-header-mix .preview-mix-left[data-v-25806305]{width:30%;background-color:var(--color-primary)}.settings-drawer .layout-preview-mix .preview-mix-body[data-v-25806305]{flex:1;display:flex}.settings-drawer .layout-preview-mix .preview-mix-body .preview-mix-aside[data-v-25806305]{width:25%;background-color:var(--color-primary-light-8)}.settings-drawer .layout-preview-mix .preview-mix-body .preview-mix-content[data-v-25806305]{flex:1;background-color:var(--bg-color-page)}.settings-drawer .settings-color-options[data-v-25806305]{display:flex;gap:12px}.settings-drawer .color-option[data-v-25806305]{width:24px;height:24px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .2s}.settings-drawer .color-option[data-v-25806305]:hover{transform:scale(1.1)}.settings-drawer .color-option.is-active[data-v-25806305]{box-shadow:0 0 0 2px var(--bg-color),0 0 0 4px var(--color-primary)}.settings-drawer .settings-switch-list[data-v-25806305]{display:flex;flex-direction:column;gap:12px}.settings-drawer .settings-switch-item[data-v-25806305]{display:flex;align-items:center;justify-content:space-between}.settings-drawer .settings-switch-item span[data-v-25806305]{font-size:14px;color:var(--color-text-regular)}.settings-drawer .switch-wrapper[data-v-25806305]{width:44px;height:22px;display:flex;align-items:center;cursor:pointer}.settings-drawer .switch-wrapper .switch-core[data-v-25806305]{width:100%;height:100%;border-radius:11px;background-color:var(--color-border);position:relative;transition:background-color .2s}.settings-drawer .switch-wrapper .switch-core[data-v-25806305]:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;background-color:#fff;border-radius:50%;transition:left .2s}.settings-drawer .switch-wrapper.is-checked .switch-core[data-v-25806305]{background-color:var(--color-primary)}.settings-drawer .switch-wrapper.is-checked .switch-core[data-v-25806305]:after{left:24px}.dropdown-enter-active[data-v-25806305],.dropdown-leave-active[data-v-25806305]{transition:all .2s ease}.dropdown-enter-from[data-v-25806305],.dropdown-leave-to[data-v-25806305]{opacity:0;transform:translateY(-10px)}.search-dropdown-enter-active[data-v-25806305],.search-dropdown-leave-active[data-v-25806305]{transition:all .2s ease}.search-dropdown-enter-from[data-v-25806305],.search-dropdown-leave-to[data-v-25806305]{opacity:0;transform:translateY(-4px)}.layout[data-v-70b115a5]{display:flex;width:100%;height:100%}.layout--sidebar[data-v-70b115a5]{flex-direction:row}.layout--sidebar .layout__aside[data-v-70b115a5]{height:100%}.layout--sidebar .layout__main[data-v-70b115a5]{flex:1;display:flex;flex-direction:column;height:100%}.layout--top[data-v-70b115a5]{flex-direction:column}.layout--top .layout__main[data-v-70b115a5]{flex:1;display:flex;flex-direction:column;height:calc(100% - 50px)}.layout--top .layout__content[data-v-70b115a5]{flex:1}.layout--mix[data-v-70b115a5]{flex-direction:column}.layout--mix .layout__mix-top-menu[data-v-70b115a5]{width:100%;height:50px;background-color:var(--bg-color);border-bottom:1px solid var(--color-border-lighter);flex-shrink:0}.layout--mix .layout__mix-body[data-v-70b115a5]{flex:1;display:flex;flex-direction:row;height:calc(100% - 50px)}.layout__aside[data-v-70b115a5]{transition:width .3s;overflow:hidden;flex-shrink:0;height:100%}.layout__top-menu[data-v-70b115a5]{width:100%;height:50px;box-sizing:border-box;background-color:var(--bg-color);border-bottom:1px solid var(--color-border-lighter);flex-shrink:0}.layout__mix-top-menu[data-v-70b115a5]{width:100%;height:50px;box-sizing:border-box;flex-shrink:0}.layout__main[data-v-70b115a5]{flex:1;display:flex;flex-direction:column;overflow:hidden;height:100%}.layout__header[data-v-70b115a5]{height:50px;box-sizing:border-box;background-color:var(--bg-color);border-bottom:1px solid var(--color-border-lighter);flex-shrink:0}.layout__content[data-v-70b115a5]{flex:1;overflow:auto;background-color:var(--bg-color-page)}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{B as z,F as p,w as v,P as O,V as $,D}from"./xto-form-NRjKKNcY.js";import{p as h,f as N}from"./xto-data-BFpiDgJi.js";import{o as Y,c as q}from"./xto-feedback-B2M02fn3.js";import{o as V,h as g}from"./xto-base-C-IBqjVs.js";import{S as r,M as u,b as F}from"./index-BRR97dc6.js";import{d as j,q as P,o as E,c as k,B as a,C as n,u as e,k as c,e as G,I as H,a as s,h as m,F as A,z as x,i,g as J}from"./vue-vendor-Br-l7wbK.js";import{_ as K}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./xto-core-DZK7Cyg0.js";const Q={class:"menu-page"},W={class:"toolbar"},X={class:"menu-tree"},Z={class:"tree-table"},ee={class:"tree-row tree-row--level-0"},te=["onClick"],le=["onClick"],ae=j({__name:"index",setup(se){const R=[{id:1,parentId:null,name:"Dashboard",path:"/dashboard",component:"dashboard/index",redirect:"",icon:"dashboard",title:"仪表盘",type:u.MENU,sort:1,status:r.ENABLED,hidden:!1,keepAlive:!0},{id:2,parentId:null,name:"System",path:"/system",component:"",redirect:"/system/user",icon:"setting",title:"系统管理",type:u.DIRECTORY,sort:2,status:r.ENABLED,hidden:!1,keepAlive:!1,children:[{id:21,parentId:2,name:"SystemUser",path:"/system/user",component:"system/user/index",redirect:"",icon:"user",title:"用户管理",type:u.MENU,sort:1,status:r.ENABLED,hidden:!1,keepAlive:!0},{id:22,parentId:2,name:"SystemRole",path:"/system/role",component:"system/role/index",redirect:"",icon:"role",title:"角色管理",type:u.MENU,sort:2,status:r.ENABLED,hidden:!1,keepAlive:!0},{id:23,parentId:2,name:"SystemMenu",path:"/system/menu",component:"system/menu/index",redirect:"",icon:"menu",title:"菜单管理",type:u.MENU,sort:3,status:r.ENABLED,hidden:!1,keepAlive:!0}]}],U=c(!1),C=c([]),y=c(!1),w=G(()=>o.id?"编辑菜单":"新增菜单"),o=H({id:0,parentId:null,name:"",path:"",component:"",redirect:"",icon:"",title:"",type:u.MENU,sort:0,status:r.ENABLED,hidden:!1,keepAlive:!0}),_={name:[{required:!0,message:"请输入菜单名称",trigger:"blur"}],path:[{required:!0,message:"请输入路由路径",trigger:"blur"}],title:[{required:!0,message:"请输入菜单标题",trigger:"blur"}]},M=c(),B=()=>{U.value=!0,setTimeout(()=>{C.value=R,U.value=!1},300)},I=(f=null)=>{Object.assign(o,{id:0,parentId:f,name:"",path:"",component:"",redirect:"",icon:"",title:"",type:u.MENU,sort:0,status:r.ENABLED,hidden:!1,keepAlive:!0}),y.value=!0},b=f=>{Object.assign(o,f),y.value=!0},T=async()=>{var f;try{await((f=M.value)==null?void 0:f.validate()),q.success(o.id?"编辑成功":"新增成功"),y.value=!1,B()}catch(t){console.error(t)}},L=f=>({dashboard:"📊",system:"⚙️",user:"👤",role:"👥",menu:"📋",setting:"🔧"})[f||""]||"📄";return P(()=>{B()}),(f,t)=>(E(),k("div",Q,[a(e(h),{class:"menu-card"},{default:n(()=>[s("div",W,[a(e(V),{type:"primary",onClick:t[0]||(t[0]=l=>I())},{default:n(()=>[...t[14]||(t[14]=[m("新增菜单",-1)])]),_:1})]),s("div",X,[s("table",Z,[t[19]||(t[19]=s("thead",null,[s("tr",null,[s("th",null,"菜单名称"),s("th",null,"图标"),s("th",null,"路由路径"),s("th",null,"类型"),s("th",null,"排序"),s("th",null,"状态"),s("th",null,"操作")])],-1)),s("tbody",null,[(E(!0),k(A,null,x(C.value,l=>(E(),k(A,{key:l.id},[s("tr",ee,[s("td",null,[s("span",{class:"menu-name",onClick:d=>b(l)},i(l.title),9,te)]),s("td",null,i(L(l.icon)),1),s("td",null,i(l.path),1),s("td",null,[a(e(N),{type:l.type===e(u).DIRECTORY?"primary":l.type===e(u).MENU?"success":"warning",size:"small"},{default:n(()=>[m(i(l.type===e(u).DIRECTORY?"目录":l.type===e(u).MENU?"菜单":"按钮"),1)]),_:2},1032,["type"])]),s("td",null,i(l.sort),1),s("td",null,[a(e(N),{type:l.status===e(r).ENABLED?"success":"danger",size:"small"},{default:n(()=>[m(i(l.status===e(r).ENABLED?"启用":"禁用"),1)]),_:2},1032,["type"])]),s("td",null,[a(e(g),null,{default:n(()=>[a(e(V),{type:"primary",link:"",size:"small",onClick:d=>I(l.id)},{default:n(()=>[...t[15]||(t[15]=[m("新增",-1)])]),_:1},8,["onClick"]),a(e(V),{type:"primary",link:"",size:"small",onClick:d=>b(l)},{default:n(()=>[...t[16]||(t[16]=[m("编辑",-1)])]),_:1},8,["onClick"])]),_:2},1024)])]),l.children?(E(!0),k(A,{key:0},x(l.children,d=>(E(),k("tr",{key:d.id,class:"tree-row tree-row--level-1"},[s("td",null,[t[17]||(t[17]=s("span",{class:"tree-indent"},null,-1)),s("span",{class:"menu-name",onClick:S=>b(d)},i(d.title),9,le)]),s("td",null,i(L(d.icon)),1),s("td",null,i(d.path),1),s("td",null,[a(e(N),{type:d.type===e(u).DIRECTORY?"primary":d.type===e(u).MENU?"success":"warning",size:"small"},{default:n(()=>[m(i(d.type===e(u).DIRECTORY?"目录":d.type===e(u).MENU?"菜单":"按钮"),1)]),_:2},1032,["type"])]),s("td",null,i(d.sort),1),s("td",null,[a(e(N),{type:d.status===e(r).ENABLED?"success":"danger",size:"small"},{default:n(()=>[m(i(d.status===e(r).ENABLED?"启用":"禁用"),1)]),_:2},1032,["type"])]),s("td",null,[a(e(g),null,{default:n(()=>[a(e(V),{type:"primary",link:"",size:"small",onClick:S=>b(d)},{default:n(()=>[...t[18]||(t[18]=[m("编辑",-1)])]),_:1},8,["onClick"])]),_:2},1024)])]))),128)):J("",!0)],64))),128))])])])]),_:1}),a(e(Y),{modelValue:y.value,"onUpdate:modelValue":t[13]||(t[13]=l=>y.value=l),title:w.value,width:"600px"},{footer:n(()=>[a(e(g),null,{default:n(()=>[a(e(V),{onClick:t[12]||(t[12]=l=>y.value=!1)},{default:n(()=>[...t[20]||(t[20]=[m("取消",-1)])]),_:1}),a(e(V),{type:"primary",onClick:T},{default:n(()=>[...t[21]||(t[21]=[m("确定",-1)])]),_:1})]),_:1})]),default:n(()=>[a(e(z),{ref_key:"formRef",ref:M,model:o,rules:_,"label-width":"80px"},{default:n(()=>[a(e(p),{label:"上级菜单"},{default:n(()=>[a(e(v),{modelValue:o.parentId,"onUpdate:modelValue":t[1]||(t[1]=l=>o.parentId=l),placeholder:"上级菜单ID",disabled:""},null,8,["modelValue"])]),_:1}),a(e(p),{label:"菜单类型"},{default:n(()=>[a(e(O),{modelValue:o.type,"onUpdate:modelValue":t[2]||(t[2]=l=>o.type=l),options:e(F)},null,8,["modelValue","options"])]),_:1}),a(e(p),{label:"菜单名称",prop:"name"},{default:n(()=>[a(e(v),{modelValue:o.name,"onUpdate:modelValue":t[3]||(t[3]=l=>o.name=l),placeholder:"请输入菜单名称(路由name)"},null,8,["modelValue"])]),_:1}),a(e(p),{label:"菜单标题",prop:"title"},{default:n(()=>[a(e(v),{modelValue:o.title,"onUpdate:modelValue":t[4]||(t[4]=l=>o.title=l),placeholder:"请输入菜单标题"},null,8,["modelValue"])]),_:1}),a(e(p),{label:"路由路径",prop:"path"},{default:n(()=>[a(e(v),{modelValue:o.path,"onUpdate:modelValue":t[5]||(t[5]=l=>o.path=l),placeholder:"请输入路由路径"},null,8,["modelValue"])]),_:1}),a(e(p),{label:"组件路径"},{default:n(()=>[a(e(v),{modelValue:o.component,"onUpdate:modelValue":t[6]||(t[6]=l=>o.component=l),placeholder:"请输入组件路径"},null,8,["modelValue"])]),_:1}),a(e(p),{label:"图标"},{default:n(()=>[a(e(v),{modelValue:o.icon,"onUpdate:modelValue":t[7]||(t[7]=l=>o.icon=l),placeholder:"请输入图标名称"},null,8,["modelValue"])]),_:1}),a(e(p),{label:"排序"},{default:n(()=>[a(e($),{modelValue:o.sort,"onUpdate:modelValue":t[8]||(t[8]=l=>o.sort=l),min:0},null,8,["modelValue"])]),_:1}),a(e(p),{label:"状态"},{default:n(()=>[a(e(D),{modelValue:o.status,"onUpdate:modelValue":t[9]||(t[9]=l=>o.status=l),"active-value":e(r).ENABLED,"inactive-value":e(r).DISABLED},null,8,["modelValue","active-value","inactive-value"])]),_:1}),a(e(p),{label:"隐藏"},{default:n(()=>[a(e(D),{modelValue:o.hidden,"onUpdate:modelValue":t[10]||(t[10]=l=>o.hidden=l)},null,8,["modelValue"])]),_:1}),a(e(p),{label:"缓存"},{default:n(()=>[a(e(D),{modelValue:o.keepAlive,"onUpdate:modelValue":t[11]||(t[11]=l=>o.keepAlive=l)},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])]))}}),fe=K(ae,[["__scopeId","data-v-2a272a68"]]);export{fe as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{d as $,q as K,o as k,c as V,z as t,C as s,u as l,k as p,e as P,I as _,R as Z,h as i,a as o,F as h,A as G,i as y}from"./vue-vendor-05sbU7Th.js";import{t as N,n as f,j as E,o as H,Z as J}from"./xto-form-C5i2lk3C.js";import{A as x,L as S,E as Q}from"./xto-data-Cw0dv5K5.js";import{r as W,h as X,g as U}from"./xto-feedback-CTk0sMCW.js";import{g as L,M as v}from"./xto-base-BSTP-Yn2.js";import{S as r,a as Y}from"./index-BRR97dc6.js";import{_ as ee}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./xto-core-cL8BAdce.js";const le={class:"role-page"},te={class:"toolbar"},ae={class:"data-table"},se={key:0},oe={key:1},de={class:"pagination-wrapper"},ne=$({__name:"index",setup(ue){const T=[{id:1,name:"超级管理员",code:"admin",description:"拥有所有权限",status:r.ENABLED,permissions:["*"],createTime:"2024-01-01 10:00:00"},{id:2,name:"编辑",code:"editor",description:"内容编辑权限",status:r.ENABLED,permissions:["user:read","user:write"],createTime:"2024-01-02 10:00:00"},{id:3,name:"访客",code:"viewer",description:"只读权限",status:r.ENABLED,permissions:["user:read"],createTime:"2024-01-03 10:00:00"}],C=p(!1),D=p([]),A=p(0),c=p(1),b=p(10),u=_({keyword:"",status:void 0}),g=p(!1),w=P(()=>d.id?"编辑角色":"新增角色"),d=_({id:0,name:"",code:"",description:"",status:r.ENABLED,permissions:[]}),R={name:[{required:!0,message:"请输入角色名称",trigger:"blur"}],code:[{required:!0,message:"请输入角色编码",trigger:"blur"}]},z=p(),m=()=>{C.value=!0,setTimeout(()=>{let n=[...T];u.keyword&&(n=n.filter(e=>e.name.includes(u.keyword)||e.code.includes(u.keyword))),u.status!==void 0&&(n=n.filter(e=>e.status===u.status)),A.value=n.length,D.value=n.slice((c.value-1)*b.value,c.value*b.value),C.value=!1},300)},B=()=>{c.value=1,m()},j=()=>{u.keyword="",u.status=void 0,c.value=1,m()},I=()=>{Object.assign(d,{id:0,name:"",code:"",description:"",status:r.ENABLED,permissions:[]}),g.value=!0},q=n=>{Object.assign(d,n),g.value=!0},F=n=>{U.success("删除成功"),m()},M=async()=>{var n;try{await((n=z.value)==null?void 0:n.validate()),U.success(d.id?"编辑成功":"新增成功"),g.value=!1,m()}catch(e){console.error(e)}};return K(()=>{m()}),(n,e)=>(k(),V("div",le,[t(l(x),{class:"search-card"},{default:s(()=>[t(l(N),{model:u,inline:""},{default:s(()=>[t(l(f),{label:"关键词"},{default:s(()=>[t(l(E),{modelValue:u.keyword,"onUpdate:modelValue":e[0]||(e[0]=a=>u.keyword=a),placeholder:"角色名称/编码",clearable:"",onKeyup:Z(B,["enter"])},null,8,["modelValue"])]),_:1}),t(l(f),{label:"状态"},{default:s(()=>[t(l(H),{modelValue:u.status,"onUpdate:modelValue":e[1]||(e[1]=a=>u.status=a),options:l(Y),placeholder:"请选择",clearable:""},null,8,["modelValue","options"])]),_:1}),t(l(f),null,{default:s(()=>[t(l(L),null,{default:s(()=>[t(l(v),{type:"primary",onClick:B},{default:s(()=>[...e[10]||(e[10]=[i("搜索",-1)])]),_:1}),t(l(v),{onClick:j},{default:s(()=>[...e[11]||(e[11]=[i("重置",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),t(l(x),{class:"table-card"},{default:s(()=>[o("div",te,[t(l(v),{type:"primary",onClick:I},{default:s(()=>[...e[12]||(e[12]=[i("新增角色",-1)])]),_:1})]),o("table",ae,[e[17]||(e[17]=o("thead",null,[o("tr",null,[o("th",null,"ID"),o("th",null,"角色名称"),o("th",null,"角色编码"),o("th",null,"描述"),o("th",null,"状态"),o("th",null,"创建时间"),o("th",null,"操作")])],-1)),o("tbody",null,[C.value?(k(),V("tr",se,[...e[13]||(e[13]=[o("td",{colspan:"7",class:"loading-cell"},"加载中...",-1)])])):D.value.length===0?(k(),V("tr",oe,[...e[14]||(e[14]=[o("td",{colspan:"7",class:"empty-cell"},"暂无数据",-1)])])):(k(!0),V(h,{key:2},G(D.value,a=>(k(),V("tr",{key:a.id},[o("td",null,y(a.id),1),o("td",null,y(a.name),1),o("td",null,[t(l(S),{type:"primary",size:"small"},{default:s(()=>[i(y(a.code),1)]),_:2},1024)]),o("td",null,y(a.description),1),o("td",null,[t(l(S),{type:a.status===l(r).ENABLED?"success":"danger",size:"small"},{default:s(()=>[i(y(a.status===l(r).ENABLED?"启用":"禁用"),1)]),_:2},1032,["type"])]),o("td",null,y(a.createTime),1),o("td",null,[t(l(L),null,{default:s(()=>[t(l(v),{type:"primary",link:"",size:"small",onClick:O=>q(a)},{default:s(()=>[...e[15]||(e[15]=[i("编辑",-1)])]),_:1},8,["onClick"]),t(l(X),{title:"确定删除该角色吗?",onConfirm:O=>F(a.id)},{default:s(()=>[t(l(v),{type:"danger",link:"",size:"small"},{default:s(()=>[...e[16]||(e[16]=[i("删除",-1)])]),_:1})]),_:1},8,["onConfirm"])]),_:2},1024)])]))),128))])]),o("div",de,[t(l(Q),{"current-page":c.value,"onUpdate:currentPage":e[2]||(e[2]=a=>c.value=a),"page-size":b.value,"onUpdate:pageSize":e[3]||(e[3]=a=>b.value=a),total:A.value,"page-sizes":[10,20,50,100],layout:"total, sizes, prev, pager, next",onCurrentChange:m,onSizeChange:m},null,8,["current-page","page-size","total"])])]),_:1}),t(l(W),{modelValue:g.value,"onUpdate:modelValue":e[9]||(e[9]=a=>g.value=a),title:w.value,width:"500px"},{footer:s(()=>[t(l(L),null,{default:s(()=>[t(l(v),{onClick:e[8]||(e[8]=a=>g.value=!1)},{default:s(()=>[...e[18]||(e[18]=[i("取消",-1)])]),_:1}),t(l(v),{type:"primary",onClick:M},{default:s(()=>[...e[19]||(e[19]=[i("确定",-1)])]),_:1})]),_:1})]),default:s(()=>[t(l(N),{ref_key:"formRef",ref:z,model:d,rules:R,"label-width":"80px"},{default:s(()=>[t(l(f),{label:"角色名称",prop:"name"},{default:s(()=>[t(l(E),{modelValue:d.name,"onUpdate:modelValue":e[4]||(e[4]=a=>d.name=a),placeholder:"请输入角色名称"},null,8,["modelValue"])]),_:1}),t(l(f),{label:"角色编码",prop:"code"},{default:s(()=>[t(l(E),{modelValue:d.code,"onUpdate:modelValue":e[5]||(e[5]=a=>d.code=a),placeholder:"请输入角色编码"},null,8,["modelValue"])]),_:1}),t(l(f),{label:"描述"},{default:s(()=>[t(l(E),{modelValue:d.description,"onUpdate:modelValue":e[6]||(e[6]=a=>d.description=a),placeholder:"请输入描述"},null,8,["modelValue"])]),_:1}),t(l(f),{label:"状态"},{default:s(()=>[t(l(J),{modelValue:d.status,"onUpdate:modelValue":e[7]||(e[7]=a=>d.status=a),"active-value":l(r).ENABLED,"inactive-value":l(r).DISABLED},null,8,["modelValue","active-value","inactive-value"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])]))}}),ye=ee(ne,[["__scopeId","data-v-8ad30bc6"]]);export{ye as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.user-page[data-v-d2491ae0]{padding:20px}.user-page .search-card[data-v-d2491ae0]{margin-bottom:20px}.user-page .toolbar[data-v-d2491ae0]{margin-bottom:15px}.data-table[data-v-d2491ae0]{width:100%;border-collapse:collapse}.data-table th[data-v-d2491ae0],.data-table td[data-v-d2491ae0]{padding:12px;text-align:left;border-bottom:1px solid var(--color-border-lighter)}.data-table th[data-v-d2491ae0]{font-weight:500;color:var(--color-text-regular);background-color:var(--color-fill-light)}.data-table .loading-cell[data-v-d2491ae0],.data-table .empty-cell[data-v-d2491ae0]{text-align:center;color:var(--color-text-secondary);padding:40px}.pagination-wrapper[data-v-d2491ae0]{display:flex;justify-content:flex-end;margin-top:20px}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{d as x,o as I,c as T,a as p,z as s,C as l,u as a,I as R,k as _,P as j,Q as z,R as P,h as y}from"./vue-vendor-05sbU7Th.js";import{_ as q}from"./vite-Dw-pgLOX.js";import{n as v,M as C}from"./xto-base-BSTP-Yn2.js";import{t as E,n as f,j as V,l as N}from"./xto-form-C5i2lk3C.js";import{g as n}from"./xto-feedback-CTk0sMCW.js";import{a as B}from"./vendor-42ANG6Sg.js";import{g as D,a as L,c as w,b as U,d as A,s as K}from"./index-Gx75raue.js";import{_ as M}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./xto-core-cL8BAdce.js";import"./xto-data-Cw0dv5K5.js";import"./xto-navigation-DHsTg0WG.js";/* empty css *//* empty css */const O=()=>{const o=B.create({baseURL:"/api",timeout:3e4,headers:{"Content-Type":"application/json"}});return o.interceptors.request.use(e=>{const r=D(),i=L()||"Bearer";return r&&(e.headers.Authorization=`${i} ${r}`),e},e=>Promise.reject(e)),o.interceptors.response.use(e=>{const{data:r}=e;return r.code===200||r.code===0?r.data:r.code===9121?(n.error("登录已过期,请重新登录"),w(),window.location.href="/login",Promise.reject(new Error(r.message||"EXPIRED OR INVALID TOKEN"))):(n.error(r.message||"请求失败"),Promise.reject(new Error(r.message||"请求失败")))},e=>{var i;const{response:r}=e;if(r){const{data:m}=r;if((m==null?void 0:m.code)===9121)return n.error("登录已过期,请重新登录"),w(),window.location.href="/login",Promise.reject(e);switch(r.status){case 401:n.error("登录已过期,请重新登录"),w(),window.location.href="/login";break;case 403:n.error("没有权限访问");break;case 404:n.error("请求资源不存在");break;case 500:n.error("服务器错误");break;default:n.error(((i=r.data)==null?void 0:i.message)||"请求失败")}}else n.error("网络连接失败");return Promise.reject(e)}),o},c=O(),X={get(o,e){return c.get(o,e)},post(o,e,r){return c.post(o,e,r)},put(o,e,r){return c.put(o,e,r)},patch(o,e,r){return c.patch(o,e,r)},delete(o,e){return c.delete(o,e)},download(o,e){return c.get(o,{...e,responseType:"blob"})}};function $(o){return X.post("/user/v1.0/login/by-domain",o)}const Q={class:"login"},F={class:"login__container"},G=x({__name:"index",setup(o){const e=j(),r=z(),i=_(!1),m=_(!1),u=R({uid:"",password:""}),h={uid:[{required:!0,message:"请输入用户名",trigger:"blur"}],password:[{required:!0,message:"请输入密码",trigger:"blur"},{min:6,message:"密码长度至少6位",trigger:"blur"}]},b=_(),k=async()=>{var g;try{await((g=b.value)==null?void 0:g.validate()),i.value=!0;const t=await $({appId:A(),clientId:U(),uid:u.uid,password:u.password,code:!0});K(t),n.success("登录成功");const d=r.query.redirect||"/";e.push(d)}catch(t){console.error("登录失败:",t)}finally{i.value=!1}};return(g,t)=>(I(),T("div",Q,[p("div",F,[t[5]||(t[5]=p("div",{class:"login__header"},[p("img",{src:q,alt:"Logo",class:"login__logo"}),p("h1",{class:"login__title"},"Xto Demo"),p("p",{class:"login__subtitle"},"后台管理系统")],-1)),s(a(E),{ref_key:"formRef",ref:b,model:u,rules:h,class:"login__form","label-width":"0"},{default:l(()=>[s(a(f),{prop:"uid"},{default:l(()=>[s(a(V),{modelValue:u.uid,"onUpdate:modelValue":t[0]||(t[0]=d=>u.uid=d),placeholder:"用户名",size:"large"},{prefix:l(()=>[s(a(v),{name:"user",size:18})]),_:1},8,["modelValue"])]),_:1}),s(a(f),{prop:"password"},{default:l(()=>[s(a(V),{modelValue:u.password,"onUpdate:modelValue":t[1]||(t[1]=d=>u.password=d),type:"password",placeholder:"密码",size:"large","show-password":"",onKeyup:P(k,["enter"])},{prefix:l(()=>[s(a(v),{name:"lock",size:18})]),_:1},8,["modelValue"])]),_:1}),s(a(f),null,{default:l(()=>[s(a(N),{modelValue:m.value,"onUpdate:modelValue":t[2]||(t[2]=d=>m.value=d)},{default:l(()=>[...t[3]||(t[3]=[y("记住我",-1)])]),_:1},8,["modelValue"])]),_:1}),s(a(f),null,{default:l(()=>[s(a(C),{type:"primary",size:"large",loading:i.value,class:"login__submit",onClick:k},{default:l(()=>[...t[4]||(t[4]=[y(" 登录 ",-1)])]),_:1},8,["loading"])]),_:1})]),_:1},8,["model"]),t[6]||(t[6]=p("div",{class:"login__footer"},[p("p",null,"请输入您的用户名和密码")],-1))])]))}}),le=M(G,[["__scopeId","data-v-f3e724b6"]]);export{le as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{d as $,q as j,o as k,c as V,B as t,C as s,u as l,k as p,e as h,I as N,R as M,h as i,a as o,F as G,z as H,i as g}from"./vue-vendor-Br-l7wbK.js";import{B as x,F as f,w as E,P as J,D as Q}from"./xto-form-NRjKKNcY.js";import{p as A,f as S,K as W}from"./xto-data-BFpiDgJi.js";import{o as X,i as Y,c as U}from"./xto-feedback-B2M02fn3.js";import{h as C,o as v}from"./xto-base-C-IBqjVs.js";import{S as r,a as Z}from"./index-BRR97dc6.js";import{_ as ee}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./xto-core-DZK7Cyg0.js";const le={class:"role-page"},te={class:"toolbar"},ae={class:"data-table"},se={key:0},oe={key:1},de={class:"pagination-wrapper"},ne=$({__name:"index",setup(ue){const w=[{id:1,name:"超级管理员",code:"admin",description:"拥有所有权限",status:r.ENABLED,permissions:["*"],createTime:"2024-01-01 10:00:00"},{id:2,name:"编辑",code:"editor",description:"内容编辑权限",status:r.ENABLED,permissions:["user:read","user:write"],createTime:"2024-01-02 10:00:00"},{id:3,name:"访客",code:"viewer",description:"只读权限",status:r.ENABLED,permissions:["user:read"],createTime:"2024-01-03 10:00:00"}],D=p(!1),B=p([]),z=p(0),c=p(1),b=p(10),u=N({keyword:"",status:void 0}),y=p(!1),T=h(()=>d.id?"编辑角色":"新增角色"),d=N({id:0,name:"",code:"",description:"",status:r.ENABLED,permissions:[]}),R={name:[{required:!0,message:"请输入角色名称",trigger:"blur"}],code:[{required:!0,message:"请输入角色编码",trigger:"blur"}]},L=p(),m=()=>{D.value=!0,setTimeout(()=>{let n=[...w];u.keyword&&(n=n.filter(e=>e.name.includes(u.keyword)||e.code.includes(u.keyword))),u.status!==void 0&&(n=n.filter(e=>e.status===u.status)),z.value=n.length,B.value=n.slice((c.value-1)*b.value,c.value*b.value),D.value=!1},300)},_=()=>{c.value=1,m()},F=()=>{u.keyword="",u.status=void 0,c.value=1,m()},I=()=>{Object.assign(d,{id:0,name:"",code:"",description:"",status:r.ENABLED,permissions:[]}),y.value=!0},K=n=>{Object.assign(d,n),y.value=!0},P=n=>{U.success("删除成功"),m()},q=async()=>{var n;try{await((n=L.value)==null?void 0:n.validate()),U.success(d.id?"编辑成功":"新增成功"),y.value=!1,m()}catch(e){console.error(e)}};return j(()=>{m()}),(n,e)=>(k(),V("div",le,[t(l(A),{class:"search-card"},{default:s(()=>[t(l(x),{model:u,inline:""},{default:s(()=>[t(l(f),{label:"关键词"},{default:s(()=>[t(l(E),{modelValue:u.keyword,"onUpdate:modelValue":e[0]||(e[0]=a=>u.keyword=a),placeholder:"角色名称/编码",clearable:"",onKeyup:M(_,["enter"])},null,8,["modelValue"])]),_:1}),t(l(f),{label:"状态"},{default:s(()=>[t(l(J),{modelValue:u.status,"onUpdate:modelValue":e[1]||(e[1]=a=>u.status=a),options:l(Z),placeholder:"请选择",clearable:""},null,8,["modelValue","options"])]),_:1}),t(l(f),null,{default:s(()=>[t(l(C),null,{default:s(()=>[t(l(v),{type:"primary",onClick:_},{default:s(()=>[...e[10]||(e[10]=[i("搜索",-1)])]),_:1}),t(l(v),{onClick:F},{default:s(()=>[...e[11]||(e[11]=[i("重置",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),t(l(A),{class:"table-card"},{default:s(()=>[o("div",te,[t(l(v),{type:"primary",onClick:I},{default:s(()=>[...e[12]||(e[12]=[i("新增角色",-1)])]),_:1})]),o("table",ae,[e[17]||(e[17]=o("thead",null,[o("tr",null,[o("th",null,"ID"),o("th",null,"角色名称"),o("th",null,"角色编码"),o("th",null,"描述"),o("th",null,"状态"),o("th",null,"创建时间"),o("th",null,"操作")])],-1)),o("tbody",null,[D.value?(k(),V("tr",se,[...e[13]||(e[13]=[o("td",{colspan:"7",class:"loading-cell"},"加载中...",-1)])])):B.value.length===0?(k(),V("tr",oe,[...e[14]||(e[14]=[o("td",{colspan:"7",class:"empty-cell"},"暂无数据",-1)])])):(k(!0),V(G,{key:2},H(B.value,a=>(k(),V("tr",{key:a.id},[o("td",null,g(a.id),1),o("td",null,g(a.name),1),o("td",null,[t(l(S),{type:"primary",size:"small"},{default:s(()=>[i(g(a.code),1)]),_:2},1024)]),o("td",null,g(a.description),1),o("td",null,[t(l(S),{type:a.status===l(r).ENABLED?"success":"danger",size:"small"},{default:s(()=>[i(g(a.status===l(r).ENABLED?"启用":"禁用"),1)]),_:2},1032,["type"])]),o("td",null,g(a.createTime),1),o("td",null,[t(l(C),null,{default:s(()=>[t(l(v),{type:"primary",link:"",size:"small",onClick:O=>K(a)},{default:s(()=>[...e[15]||(e[15]=[i("编辑",-1)])]),_:1},8,["onClick"]),t(l(Y),{title:"确定删除该角色吗?",onConfirm:O=>P(a.id)},{default:s(()=>[t(l(v),{type:"danger",link:"",size:"small"},{default:s(()=>[...e[16]||(e[16]=[i("删除",-1)])]),_:1})]),_:1},8,["onConfirm"])]),_:2},1024)])]))),128))])]),o("div",de,[t(l(W),{"current-page":c.value,"onUpdate:currentPage":e[2]||(e[2]=a=>c.value=a),"page-size":b.value,"onUpdate:pageSize":e[3]||(e[3]=a=>b.value=a),total:z.value,"page-sizes":[10,20,50,100],layout:"total, sizes, prev, pager, next",onCurrentChange:m,onSizeChange:m},null,8,["current-page","page-size","total"])])]),_:1}),t(l(X),{modelValue:y.value,"onUpdate:modelValue":e[9]||(e[9]=a=>y.value=a),title:T.value,width:"500px"},{footer:s(()=>[t(l(C),null,{default:s(()=>[t(l(v),{onClick:e[8]||(e[8]=a=>y.value=!1)},{default:s(()=>[...e[18]||(e[18]=[i("取消",-1)])]),_:1}),t(l(v),{type:"primary",onClick:q},{default:s(()=>[...e[19]||(e[19]=[i("确定",-1)])]),_:1})]),_:1})]),default:s(()=>[t(l(x),{ref_key:"formRef",ref:L,model:d,rules:R,"label-width":"80px"},{default:s(()=>[t(l(f),{label:"角色名称",prop:"name"},{default:s(()=>[t(l(E),{modelValue:d.name,"onUpdate:modelValue":e[4]||(e[4]=a=>d.name=a),placeholder:"请输入角色名称"},null,8,["modelValue"])]),_:1}),t(l(f),{label:"角色编码",prop:"code"},{default:s(()=>[t(l(E),{modelValue:d.code,"onUpdate:modelValue":e[5]||(e[5]=a=>d.code=a),placeholder:"请输入角色编码"},null,8,["modelValue"])]),_:1}),t(l(f),{label:"描述"},{default:s(()=>[t(l(E),{modelValue:d.description,"onUpdate:modelValue":e[6]||(e[6]=a=>d.description=a),placeholder:"请输入描述"},null,8,["modelValue"])]),_:1}),t(l(f),{label:"状态"},{default:s(()=>[t(l(Q),{modelValue:d.status,"onUpdate:modelValue":e[7]||(e[7]=a=>d.status=a),"active-value":l(r).ENABLED,"inactive-value":l(r).DISABLED},null,8,["modelValue","active-value","inactive-value"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])]))}}),ge=ee(ne,[["__scopeId","data-v-8ad30bc6"]]);export{ge as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{p as _,y as u,f as g}from"./xto-data-BFpiDgJi.js";import{d as x,o,c,a as s,F as r,z as d,B as n,C as a,u as l,k as m,j as q,f as p,b as y,i,h as B}from"./vue-vendor-Br-l7wbK.js";import{_ as C}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./xto-core-DZK7Cyg0.js";const V={class:"dashboard"},z={class:"dashboard__stats"},L={class:"stat-card__content"},N={class:"stat-card__info"},S={class:"stat-card__title"},w={class:"dashboard__main"},F={class:"quick-links"},I={class:"quick-link__icon"},j={class:"quick-link__title"},D={class:"activity-list"},E={class:"activity-item__action"},T={class:"activity-item__time"},U={class:"system-info"},A={class:"system-info__item"},G={class:"system-info__item"},H=x({__name:"index",setup(J){const f=m([{title:"用户总数",value:1234,icon:"👥",color:"#409eff"},{title:"今日访问",value:567,icon:"👀",color:"#67c23a"},{title:"订单数量",value:890,icon:"📦",color:"#e6a23c"},{title:"销售金额",value:123456,icon:"💰",color:"#f56c6c"}]),v=m([{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"}]),k=m([{title:"用户管理",path:"/system/user",icon:"👤"},{title:"角色管理",path:"/system/role",icon:"👥"},{title:"菜单管理",path:"/system/menu",icon:"📋"},{title:"系统设置",path:"/system",icon:"⚙️"}]);return(K,t)=>{const b=q("router-link");return o(),c("div",V,[s("div",z,[(o(!0),c(r,null,d(f.value,e=>(o(),p(l(_),{key:e.title,class:"stat-card"},{default:a(()=>[s("div",L,[s("div",{class:"stat-card__icon",style:y({backgroundColor:e.color+"20"})},i(e.icon),5),s("div",N,[s("div",S,i(e.title),1),s("div",{class:"stat-card__value",style:y({color:e.color})},i(e.value.toLocaleString()),5)])])]),_:2},1024))),128))]),s("div",w,[n(l(_),{class:"dashboard__quick"},{header:a(()=>[...t[0]||(t[0]=[s("span",{class:"card-title"},"快捷入口",-1)])]),default:a(()=>[s("div",F,[(o(!0),c(r,null,d(k.value,e=>(o(),p(b,{key:e.path,to:e.path,class:"quick-link"},{default:a(()=>[s("span",I,i(e.icon),1),s("span",j,i(e.title),1)]),_:2},1032,["to"]))),128))])]),_:1}),n(l(_),{class:"dashboard__activity"},{header:a(()=>[...t[1]||(t[1]=[s("span",{class:"card-title"},"最近活动",-1)])]),default:a(()=>[s("div",D,[(o(!0),c(r,null,d(v.value,(e,h)=>(o(),c("div",{key:h,class:"activity-item"},[n(l(g),{type:e.type,size:"small"},{default:a(()=>[B(i(e.user),1)]),_:2},1032,["type"]),s("span",E,i(e.action),1),s("span",T,i(e.time),1)]))),128))])]),_:1})]),n(l(_),{class:"dashboard__system"},{header:a(()=>[...t[2]||(t[2]=[s("span",{class:"card-title"},"系统信息",-1)])]),default:a(()=>[s("div",U,[t[5]||(t[5]=s("div",{class:"system-info__item"},[s("span",{class:"system-info__label"},"系统版本"),s("span",{class:"system-info__value"},"v1.0.0")],-1)),t[6]||(t[6]=s("div",{class:"system-info__item"},[s("span",{class:"system-info__label"},"Vue 版本"),s("span",{class:"system-info__value"},"3.4.21")],-1)),t[7]||(t[7]=s("div",{class:"system-info__item"},[s("span",{class:"system-info__label"},"构建工具"),s("span",{class:"system-info__value"},"Vite 5")],-1)),t[8]||(t[8]=s("div",{class:"system-info__item"},[s("span",{class:"system-info__label"},"UI 组件库"),s("span",{class:"system-info__value"},"xto")],-1)),s("div",A,[t[3]||(t[3]=s("span",{class:"system-info__label"},"服务器状态",-1)),n(l(u),{percentage:75,status:"success"})]),s("div",G,[t[4]||(t[4]=s("span",{class:"system-info__label"},"内存使用",-1)),n(l(u),{percentage:45})])])]),_:1})])}}}),R=C(H,[["__scopeId","data-v-44648cb1"]]);export{R as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{d as M,q as G,o as f,c as E,B as t,C as s,u as l,k as v,e as H,I as U,R as J,h as r,a as n,F as N,z as S,i as c,f as Q}from"./vue-vendor-Br-l7wbK.js";import{B as _,F as m,w as b,P as W,D as T}from"./xto-form-NRjKKNcY.js";import{p as w,f as X,K as Y}from"./xto-data-BFpiDgJi.js";import{o as Z,i as ee,c as C}from"./xto-feedback-B2M02fn3.js";import{h as L,o as g}from"./xto-base-C-IBqjVs.js";import{S as d,a as le}from"./index-BRR97dc6.js";import{_ as ae}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./xto-core-DZK7Cyg0.js";const te={class:"user-page"},se={class:"toolbar"},ne={class:"data-table"},ue={key:0},oe={key:1},de={class:"pagination-wrapper"},ie=M({__name:"index",setup(re){const I=[{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"}],B=v(!1),h=v([]),x=v(0),k=v(1),D=v(10),i=U({keyword:"",status:void 0}),y=v(!1),F=H(()=>o.id?"编辑用户":"新增用户"),o=U({id:0,username:"",nickname:"",email:"",phone:"",status:d.ENABLED,roles:[]}),$={username:[{required:!0,message:"请输入用户名",trigger:"blur"}],nickname:[{required:!0,message:"请输入昵称",trigger:"blur"}],email:[{required:!0,message:"请输入邮箱",trigger:"blur"},{type:"email",message:"请输入正确的邮箱格式",trigger:"blur"}]},z=v(),p=()=>{B.value=!0,setTimeout(()=>{let u=[...I];i.keyword&&(u=u.filter(e=>e.username.includes(i.keyword)||e.nickname.includes(i.keyword))),i.status!==void 0&&(u=u.filter(e=>e.status===i.status)),x.value=u.length,h.value=u.slice((k.value-1)*D.value,k.value*D.value),B.value=!1},300)},A=()=>{k.value=1,p()},q=()=>{i.keyword="",i.status=void 0,k.value=1,p()},K=()=>{Object.assign(o,{id:0,username:"",nickname:"",email:"",phone:"",status:d.ENABLED,roles:[]}),y.value=!0},P=u=>{Object.assign(o,u),y.value=!0},R=u=>{C.success("删除成功"),p()},O=async()=>{var u;try{await((u=z.value)==null?void 0:u.validate()),C.success(o.id?"编辑成功":"新增成功"),y.value=!1,p()}catch(e){console.error(e)}},j=u=>{C.success(`已${u.status===d.ENABLED?"启用":"禁用"}用户 ${u.username}`)};return G(()=>{p()}),(u,e)=>(f(),E("div",te,[t(l(w),{class:"search-card"},{default:s(()=>[t(l(_),{model:i,inline:""},{default:s(()=>[t(l(m),{label:"关键词"},{default:s(()=>[t(l(b),{modelValue:i.keyword,"onUpdate:modelValue":e[0]||(e[0]=a=>i.keyword=a),placeholder:"用户名/昵称",clearable:"",onKeyup:J(A,["enter"])},null,8,["modelValue"])]),_:1}),t(l(m),{label:"状态"},{default:s(()=>[t(l(W),{modelValue:i.status,"onUpdate:modelValue":e[1]||(e[1]=a=>i.status=a),options:l(le),placeholder:"请选择",clearable:""},null,8,["modelValue","options"])]),_:1}),t(l(m),null,{default:s(()=>[t(l(L),null,{default:s(()=>[t(l(g),{type:"primary",onClick:A},{default:s(()=>[...e[11]||(e[11]=[r("搜索",-1)])]),_:1}),t(l(g),{onClick:q},{default:s(()=>[...e[12]||(e[12]=[r("重置",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),t(l(w),{class:"table-card"},{default:s(()=>[n("div",se,[t(l(g),{type:"primary",onClick:K},{default:s(()=>[...e[13]||(e[13]=[r("新增用户",-1)])]),_:1})]),n("table",ne,[e[18]||(e[18]=n("thead",null,[n("tr",null,[n("th",null,"ID"),n("th",null,"用户名"),n("th",null,"昵称"),n("th",null,"邮箱"),n("th",null,"手机号"),n("th",null,"角色"),n("th",null,"状态"),n("th",null,"创建时间"),n("th",null,"操作")])],-1)),n("tbody",null,[B.value?(f(),E("tr",ue,[...e[14]||(e[14]=[n("td",{colspan:"9",class:"loading-cell"},"加载中...",-1)])])):h.value.length===0?(f(),E("tr",oe,[...e[15]||(e[15]=[n("td",{colspan:"9",class:"empty-cell"},"暂无数据",-1)])])):(f(!0),E(N,{key:2},S(h.value,a=>(f(),E("tr",{key:a.id},[n("td",null,c(a.id),1),n("td",null,c(a.username),1),n("td",null,c(a.nickname),1),n("td",null,c(a.email),1),n("td",null,c(a.phone),1),n("td",null,[(f(!0),E(N,null,S(a.roles,V=>(f(),Q(l(X),{key:V,size:"small"},{default:s(()=>[r(c(V),1)]),_:2},1024))),128))]),n("td",null,[t(l(T),{"model-value":a.status===l(d).ENABLED,"onUpdate:modelValue":V=>{a.status=V?l(d).ENABLED:l(d).DISABLED,j(a)}},null,8,["model-value","onUpdate:modelValue"])]),n("td",null,c(a.createTime),1),n("td",null,[t(l(L),null,{default:s(()=>[t(l(g),{type:"primary",link:"",size:"small",onClick:V=>P(a)},{default:s(()=>[...e[16]||(e[16]=[r("编辑",-1)])]),_:1},8,["onClick"]),t(l(ee),{title:"确定删除该用户吗?",onConfirm:V=>R(a.id)},{default:s(()=>[t(l(g),{type:"danger",link:"",size:"small"},{default:s(()=>[...e[17]||(e[17]=[r("删除",-1)])]),_:1})]),_:1},8,["onConfirm"])]),_:2},1024)])]))),128))])]),n("div",de,[t(l(Y),{"current-page":k.value,"onUpdate:currentPage":e[2]||(e[2]=a=>k.value=a),"page-size":D.value,"onUpdate:pageSize":e[3]||(e[3]=a=>D.value=a),total:x.value,"page-sizes":[10,20,50,100],layout:"total, sizes, prev, pager, next",onCurrentChange:p,onSizeChange:p},null,8,["current-page","page-size","total"])])]),_:1}),t(l(Z),{modelValue:y.value,"onUpdate:modelValue":e[10]||(e[10]=a=>y.value=a),title:F.value,width:"500px"},{footer:s(()=>[t(l(L),null,{default:s(()=>[t(l(g),{onClick:e[9]||(e[9]=a=>y.value=!1)},{default:s(()=>[...e[19]||(e[19]=[r("取消",-1)])]),_:1}),t(l(g),{type:"primary",onClick:O},{default:s(()=>[...e[20]||(e[20]=[r("确定",-1)])]),_:1})]),_:1})]),default:s(()=>[t(l(_),{ref_key:"formRef",ref:z,model:o,rules:$,"label-width":"80px"},{default:s(()=>[t(l(m),{label:"用户名",prop:"username"},{default:s(()=>[t(l(b),{modelValue:o.username,"onUpdate:modelValue":e[4]||(e[4]=a=>o.username=a),placeholder:"请输入用户名"},null,8,["modelValue"])]),_:1}),t(l(m),{label:"昵称",prop:"nickname"},{default:s(()=>[t(l(b),{modelValue:o.nickname,"onUpdate:modelValue":e[5]||(e[5]=a=>o.nickname=a),placeholder:"请输入昵称"},null,8,["modelValue"])]),_:1}),t(l(m),{label:"邮箱",prop:"email"},{default:s(()=>[t(l(b),{modelValue:o.email,"onUpdate:modelValue":e[6]||(e[6]=a=>o.email=a),placeholder:"请输入邮箱"},null,8,["modelValue"])]),_:1}),t(l(m),{label:"手机号",prop:"phone"},{default:s(()=>[t(l(b),{modelValue:o.phone,"onUpdate:modelValue":e[7]||(e[7]=a=>o.phone=a),placeholder:"请输入手机号"},null,8,["modelValue"])]),_:1}),t(l(m),{label:"状态"},{default:s(()=>[t(l(T),{modelValue:o.status,"onUpdate:modelValue":e[8]||(e[8]=a=>o.status=a),"active-value":l(d).ENABLED,"inactive-value":l(d).DISABLED},null,8,["modelValue","active-value","inactive-value"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])]))}}),Ve=ae(ie,[["__scopeId","data-v-d2491ae0"]]);export{Ve as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.role-page[data-v-8ad30bc6]{padding:20px}.role-page .search-card[data-v-8ad30bc6]{margin-bottom:20px}.role-page .toolbar[data-v-8ad30bc6]{margin-bottom:15px}.data-table[data-v-8ad30bc6]{width:100%;border-collapse:collapse}.data-table th[data-v-8ad30bc6],.data-table td[data-v-8ad30bc6]{padding:12px;text-align:left;border-bottom:1px solid var(--color-border-lighter)}.data-table th[data-v-8ad30bc6]{font-weight:500;color:var(--color-text-regular);background-color:var(--color-fill-light)}.data-table .loading-cell[data-v-8ad30bc6],.data-table .empty-cell[data-v-8ad30bc6]{text-align:center;color:var(--color-text-secondary);padding:40px}.pagination-wrapper[data-v-8ad30bc6]{display:flex;justify-content:flex-end;margin-top:20px}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{A as _,D as u,L as g}from"./xto-data-Cw0dv5K5.js";import{d as x,o,c,a as s,F as r,A as d,z as n,C as a,u as l,k as m,j as q,f as p,b as y,i,h as C}from"./vue-vendor-05sbU7Th.js";import{_ as L}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./xto-core-cL8BAdce.js";const V={class:"dashboard"},B={class:"dashboard__stats"},z={class:"stat-card__content"},A={class:"stat-card__info"},D={class:"stat-card__title"},N={class:"dashboard__main"},S={class:"quick-links"},w={class:"quick-link__icon"},F={class:"quick-link__title"},I={class:"activity-list"},j={class:"activity-item__action"},E={class:"activity-item__time"},T={class:"system-info"},U={class:"system-info__item"},G={class:"system-info__item"},H=x({__name:"index",setup(J){const f=m([{title:"用户总数",value:1234,icon:"👥",color:"#409eff"},{title:"今日访问",value:567,icon:"👀",color:"#67c23a"},{title:"订单数量",value:890,icon:"📦",color:"#e6a23c"},{title:"销售金额",value:123456,icon:"💰",color:"#f56c6c"}]),v=m([{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"}]),k=m([{title:"用户管理",path:"/system/user",icon:"👤"},{title:"角色管理",path:"/system/role",icon:"👥"},{title:"菜单管理",path:"/system/menu",icon:"📋"},{title:"系统设置",path:"/system",icon:"⚙️"}]);return(K,t)=>{const b=q("router-link");return o(),c("div",V,[s("div",B,[(o(!0),c(r,null,d(f.value,e=>(o(),p(l(_),{key:e.title,class:"stat-card"},{default:a(()=>[s("div",z,[s("div",{class:"stat-card__icon",style:y({backgroundColor:e.color+"20"})},i(e.icon),5),s("div",A,[s("div",D,i(e.title),1),s("div",{class:"stat-card__value",style:y({color:e.color})},i(e.value.toLocaleString()),5)])])]),_:2},1024))),128))]),s("div",N,[n(l(_),{class:"dashboard__quick"},{header:a(()=>[...t[0]||(t[0]=[s("span",{class:"card-title"},"快捷入口",-1)])]),default:a(()=>[s("div",S,[(o(!0),c(r,null,d(k.value,e=>(o(),p(b,{key:e.path,to:e.path,class:"quick-link"},{default:a(()=>[s("span",w,i(e.icon),1),s("span",F,i(e.title),1)]),_:2},1032,["to"]))),128))])]),_:1}),n(l(_),{class:"dashboard__activity"},{header:a(()=>[...t[1]||(t[1]=[s("span",{class:"card-title"},"最近活动",-1)])]),default:a(()=>[s("div",I,[(o(!0),c(r,null,d(v.value,(e,h)=>(o(),c("div",{key:h,class:"activity-item"},[n(l(g),{type:e.type,size:"small"},{default:a(()=>[C(i(e.user),1)]),_:2},1032,["type"]),s("span",j,i(e.action),1),s("span",E,i(e.time),1)]))),128))])]),_:1})]),n(l(_),{class:"dashboard__system"},{header:a(()=>[...t[2]||(t[2]=[s("span",{class:"card-title"},"系统信息",-1)])]),default:a(()=>[s("div",T,[t[5]||(t[5]=s("div",{class:"system-info__item"},[s("span",{class:"system-info__label"},"系统版本"),s("span",{class:"system-info__value"},"v1.0.0")],-1)),t[6]||(t[6]=s("div",{class:"system-info__item"},[s("span",{class:"system-info__label"},"Vue 版本"),s("span",{class:"system-info__value"},"3.4.21")],-1)),t[7]||(t[7]=s("div",{class:"system-info__item"},[s("span",{class:"system-info__label"},"构建工具"),s("span",{class:"system-info__value"},"Vite 5")],-1)),t[8]||(t[8]=s("div",{class:"system-info__item"},[s("span",{class:"system-info__label"},"UI 组件库"),s("span",{class:"system-info__value"},"xto")],-1)),s("div",U,[t[3]||(t[3]=s("span",{class:"system-info__label"},"服务器状态",-1)),n(l(u),{percentage:75,status:"success"})]),s("div",G,[t[4]||(t[4]=s("span",{class:"system-info__label"},"内存使用",-1)),n(l(u),{percentage:45})])])]),_:1})])}}}),R=L(H,[["__scopeId","data-v-44648cb1"]]);export{R as default};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-BBhC8PX4.js","assets/vue-vendor-Br-l7wbK.js","assets/vite-Dw-pgLOX.js","assets/xto-base-C-IBqjVs.js","assets/xto-core-DZK7Cyg0.js","assets/xto-base-C6eqMPdO.css","assets/xto-form-NRjKKNcY.js","assets/xto-form-CrsyAjyr.css","assets/xto-feedback-B2M02fn3.js","assets/xto-feedback-ByaS-C7_.css","assets/vendor-42ANG6Sg.js","assets/_plugin-vue_export-helper-DlAUqK2U.js","assets/xto-data-BFpiDgJi.js","assets/xto-data-CnAQAQH2.css","assets/xto-navigation-qLRTxo68.js","assets/xto-navigation-BuRQVoD8.css","assets/index-PfV8pzQz.css","assets/xto-layout-D1stVnJI.css","assets/xto-business--V1F5Gwb.css","assets/index-BihVoviB.js","assets/index-BrvR0Fn_.css","assets/index-D9wlAuR_.js","assets/index-GDP-IkXE.css","assets/index-DPkO-STg.js","assets/index-BRR97dc6.js","assets/index-CUh_s55Z.css","assets/index-D0OnMilp.js","assets/index-DawJb02s.css","assets/index-C4ZCZoPp.js","assets/index-Swfu6yvD.css","assets/404-ByYjFnhI.js","assets/404-sqW80Hc-.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{L as N,k as m,w as Q,e as f,d as Z,c as ee,B as te,n as oe,u as se,j as re,o as ne,M as ae,N as ce,J as le,O as ue}from"./vue-vendor-Br-l7wbK.js";import{c as ie}from"./xto-base-C-IBqjVs.js";import"./xto-form-NRjKKNcY.js";import{t as me}from"./xto-data-BFpiDgJi.js";import"./xto-feedback-B2M02fn3.js";import"./xto-navigation-qLRTxo68.js";/* empty css *//* empty css */import"./xto-core-DZK7Cyg0.js";(function(){const a=document.createElement("link").relList;if(a&&a.supports&&a.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))u(r);new MutationObserver(r=>{for(const c of r)if(c.type==="childList")for(const l of c.addedNodes)l.tagName==="LINK"&&l.rel==="modulepreload"&&u(l)}).observe(document,{childList:!0,subtree:!0});function o(r){const c={};return r.integrity&&(c.integrity=r.integrity),r.referrerPolicy&&(c.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?c.credentials="include":r.crossOrigin==="anonymous"?c.credentials="omit":c.credentials="same-origin",c}function u(r){if(r.ep)return;r.ep=!0;const c=o(r);fetch(r.href,c)}})();const _="xto_",de=e=>({get(a){const o=e.getItem(_+a);if(!o)return null;try{return JSON.parse(o)}catch{return o}},set(a,o){if(o==null){e.removeItem(_+a);return}const u=typeof o=="string"?o:JSON.stringify(o);e.setItem(_+a,u)},remove(a){e.removeItem(_+a)},clear(){Object.keys(e).forEach(o=>{o.startsWith(_)&&e.removeItem(o)})}}),E=de(window.localStorage),t={get:E.get,set:E.set,remove:E.remove,clear:E.clear},D=N("app",()=>{const e=m(t.get("appName")||"XTO App"),a=m(t.get("indexPath")||"/dashboard"),o=m(t.get("isDark")||!1),u=m(t.get("theme")||"light"),r=m(t.get("layout")||"sidebar"),c=m(t.get("isCollapsed")||!1),l=m(t.get("showTabs")??!0),i=m(t.get("showFooter")??!0),d=m(t.get("showBreadcrumb")??!0),p=m(t.get("primaryColor")||"#409eff"),h=m([]),s=m([]),T=f(()=>o.value?"dark":"light"),b=n=>{e.value=n,t.set("appName",n)},V=n=>{a.value=n,t.set("indexPath",n)},K=()=>{o.value=!o.value,u.value=o.value?"dark":"light",y()},B=n=>{u.value=n,o.value=n==="dark",y()},y=()=>{const n=document.documentElement;o.value?n.classList.add("dark"):n.classList.remove("dark"),t.set("isDark",o.value),t.set("theme",u.value)},Y=()=>{c.value=!c.value,t.set("isCollapsed",c.value)},F=n=>{r.value=n,t.set("layout",n)},j=()=>{l.value=!l.value,t.set("showTabs",l.value)},q=()=>{i.value=!i.value,t.set("showFooter",i.value)},H=()=>{d.value=!d.value,t.set("showBreadcrumb",d.value)},J=n=>{p.value=n,document.documentElement.style.setProperty("--color-primary",n),t.set("primaryColor",n)},W=n=>{h.value.includes(n)||h.value.push(n)},$=n=>{const w=h.value.indexOf(n);w>-1&&h.value.splice(w,1)},X=()=>{h.value=[]},z=n=>{s.value=n},G=()=>{y(),p.value!=="#409eff"&&document.documentElement.style.setProperty("--color-primary",p.value)};return Q(o,y),{appName:e,indexPath:a,isDark:o,theme:u,layout:r,isCollapsed:c,showTabs:l,showFooter:i,showBreadcrumb:d,primaryColor:p,cachedViews:h,mixSubMenus:s,themeClass:T,setAppName:b,setIndexPath:V,toggleTheme:K,toggleCollapse:Y,setTheme:B,setLayout:F,toggleTabs:j,toggleFooter:q,toggleBreadcrumb:H,setPrimaryColor:J,addCachedView:W,removeCachedView:$,clearCachedViews:X,setMixSubMenus:z,initTheme:G}}),pe=Z({__name:"App",setup(e){const a=D();return(o,u)=>{const r=re("router-view");return ne(),ee("div",{class:oe(["app",{dark:se(a).isDark}])},[te(r)],2)}}}),fe="modulepreload",he=function(e){return"/"+e},C={},v=function(a,o,u){let r=Promise.resolve();if(o&&o.length>0){document.getElementsByTagName("link");const l=document.querySelector("meta[property=csp-nonce]"),i=(l==null?void 0:l.nonce)||(l==null?void 0:l.getAttribute("nonce"));r=Promise.allSettled(o.map(d=>{if(d=he(d),d in C)return;C[d]=!0;const p=d.endsWith(".css"),h=p?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${d}"]${h}`))return;const s=document.createElement("link");if(s.rel=p?"stylesheet":fe,p||(s.as="script"),s.crossOrigin="",s.href=d,i&&s.setAttribute("nonce",i),document.head.appendChild(s),p)return new Promise((T,b)=>{s.addEventListener("load",T),s.addEventListener("error",()=>b(new Error(`Unable to preload CSS for ${d}`)))})}))}function c(l){const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=l,window.dispatchEvent(i),!i.defaultPrevented)throw l}return r.then(l=>{for(const i of l||[])i.status==="rejected"&&c(i.reason);return a().catch(c)})},ve=[{path:"/login",name:"Login",component:()=>v(()=>import("./index-BBhC8PX4.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18])),meta:{title:"登录",hidden:!0}}],_e={path:"/",name:"Layout",component:()=>v(()=>import("./index-BihVoviB.js"),__vite__mapDeps([19,1,2,14,4,15,3,5,11,8,9,6,7,12,13,20,17,18])),redirect:"/dashboard",children:[{path:"/dashboard",name:"Dashboard",component:()=>v(()=>import("./index-D9wlAuR_.js"),__vite__mapDeps([21,12,4,1,13,11,22])),meta:{title:"仪表盘",icon:"dashboard",keepAlive:!0,affix:!0}},{path:"/system/user",name:"SystemUser",component:()=>v(()=>import("./index-DPkO-STg.js"),__vite__mapDeps([23,1,6,4,7,12,13,8,9,3,5,24,11,25])),meta:{title:"用户管理",icon:"user",keepAlive:!0}},{path:"/system/role",name:"SystemRole",component:()=>v(()=>import("./index-D0OnMilp.js"),__vite__mapDeps([26,1,6,4,7,12,13,8,9,3,5,24,11,27])),meta:{title:"角色管理",icon:"role",keepAlive:!0}},{path:"/system/menu",name:"SystemMenu",component:()=>v(()=>import("./index-C4ZCZoPp.js"),__vite__mapDeps([28,6,1,4,7,12,13,8,9,3,5,24,11,29])),meta:{title:"菜单管理",icon:"menu",keepAlive:!0}},{path:"/:pathMatch(.*)*",name:"CatchAll",component:()=>v(()=>import("./404-ByYjFnhI.js"),__vite__mapDeps([30,1,3,4,5,11,31])),meta:{title:"404",hidden:!0}}]},ge=[{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}]}],O="token",P="token_type",R="refresh_token",S="expires_time",x="refresh_time",U="code",ye=()=>t.get(O),Ee=e=>{t.set(O,e)},je=()=>t.get(P),Te=e=>{t.set(P,e)},be=e=>{t.set(R,e)},ke=()=>t.get(S),Ie=e=>{t.set(S,e)},Ne=e=>{t.set(x,e)},Oe=e=>{t.set(U,e)},qe=e=>{Ee(e.access_token),Te(e.token_type||"Bearer"),be(e.refresh_token),Ie(e.expires_time),Ne(e.refresh_time),e.code&&Oe(e.code)},He=()=>{t.remove(O),t.remove(P),t.remove(R),t.remove(S),t.remove(x),t.remove(U)},Pe=()=>{const e=ke();return e?Date.now()>e:!0},Se=()=>!!ye()&&!Pe(),L=m(""),A=m("");function we(){if(L.value)return L.value;try{return"your-app-id"}catch{return""}}function Je(){if(A.value)return A.value;try{return"your-client-id"}catch{return""}}const k="user_info",Ce=N("user",()=>{const e=m(t.get(k)),a=f(()=>!!e.value),o=f(()=>{var s;return((s=e.value)==null?void 0:s.userId)||""}),u=f(()=>{var s;return((s=e.value)==null?void 0:s.userName)||""}),r=f(()=>{var s;return((s=e.value)==null?void 0:s.departmentName)||""}),c=f(()=>{var s;return((s=e.value)==null?void 0:s.email)||""}),l=f(()=>{var s;return((s=e.value)==null?void 0:s.mobilePhone)||""}),i=f(()=>{var s;return((s=e.value)==null?void 0:s.positionName)||""}),d=f(()=>{var s;return((s=e.value)==null?void 0:s.avatar)||""});return{userInfo:e,isLoggedIn:a,userId:o,userName:u,departmentName:r,email:c,mobilePhone:l,positionName:i,avatar:d,setUserInfo:s=>{e.value=s,t.set(k,s)},clearUserInfo:()=>{e.value=null,t.remove(k)}}}),I="menu_list",Le={menuCode:"home",menuName:"首页",menuUrl:"/dashboard",icon:"home",closable:!1,isDefault:!1,isOut:!1},Ae=N("menu",()=>{const e=m(t.get(I)||[]),a=f(()=>e.value.length>0);return{menuList:e,hasMenu:a,setMenuList:r=>{e.value=[Le,...r],t.set(I,e.value)},clearMenu:()=>{e.value=[],t.remove(I)}}}),M=ae({history:ce(),routes:[...ve,_e],scrollBehavior:()=>({left:0,top:0})}),De=["/login"];M.beforeEach(async(e,a,o)=>{const u=D();if(u.initTheme(),Se())if(e.path==="/login")o({path:"/"});else{const r=Ce();r.isLoggedIn||(r.setUserInfo({appId:we(),userId:"1",userName:"管理员",departmentName:"技术部",email:"admin@example.com",mobilePhone:"13800138000",positionName:"管理员",avatar:""}),Ae().setMenuList(ge)),e.name&&e.meta.keepAlive&&u.addCachedView(e.name),o()}else De.includes(e.path)?o():o("/login")});const g=le(pe);g.component("x-loading",ie);g.component("TreeNode",me);g.use(ue());g.use(M);g.mount("#app");export{je as a,Je as b,He as c,we as d,Ce as e,D as f,ye as g,Se as h,qe as s,Ae as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.dashboard[data-v-44648cb1]{padding:20px}.dashboard__stats[data-v-44648cb1]{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:20px}@media (max-width: 1200px){.dashboard__stats[data-v-44648cb1]{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.dashboard__stats[data-v-44648cb1]{grid-template-columns:1fr}}.dashboard__main[data-v-44648cb1]{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:20px}@media (max-width: 992px){.dashboard__main[data-v-44648cb1]{grid-template-columns:1fr}}.dashboard__quick[data-v-44648cb1],.dashboard__activity[data-v-44648cb1]{min-height:300px}.card-title[data-v-44648cb1]{font-size:16px;font-weight:500}.stat-card__content[data-v-44648cb1]{display:flex;align-items:center;gap:15px}.stat-card__icon[data-v-44648cb1]{width:50px;height:50px;display:flex;align-items:center;justify-content:center;font-size:24px;border-radius:var(--border-radius-base)}.stat-card__info[data-v-44648cb1]{flex:1}.stat-card__title[data-v-44648cb1]{font-size:14px;color:var(--color-text-secondary);margin-bottom:5px}.stat-card__value[data-v-44648cb1]{font-size:24px;font-weight:600}.quick-links[data-v-44648cb1]{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}@media (max-width: 768px){.quick-links[data-v-44648cb1]{grid-template-columns:repeat(2,1fr)}}.quick-link[data-v-44648cb1]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;border-radius:var(--border-radius-base);background-color:var(--color-fill);text-decoration:none;transition:all var(--transition-duration-fast)}.quick-link[data-v-44648cb1]:hover{background-color:var(--color-primary-light-9);transform:translateY(-2px)}.quick-link__icon[data-v-44648cb1]{font-size:28px;margin-bottom:10px}.quick-link__title[data-v-44648cb1]{font-size:14px;color:var(--color-text-primary)}.activity-list[data-v-44648cb1]{display:flex;flex-direction:column;gap:15px}.activity-item[data-v-44648cb1]{display:flex;align-items:center;gap:10px;padding-bottom:15px;border-bottom:1px solid var(--color-border-lighter)}.activity-item[data-v-44648cb1]:last-child{border-bottom:none;padding-bottom:0}.activity-item__action[data-v-44648cb1]{flex:1;font-size:14px;color:var(--color-text-regular)}.activity-item__time[data-v-44648cb1]{font-size:12px;color:var(--color-text-placeholder)}.system-info[data-v-44648cb1]{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}@media (max-width: 768px){.system-info[data-v-44648cb1]{grid-template-columns:1fr}}.system-info__item[data-v-44648cb1]{display:flex;align-items:center;gap:10px}.system-info__label[data-v-44648cb1]{font-size:14px;color:var(--color-text-secondary);min-width:80px}.system-info__value[data-v-44648cb1]{font-size:14px;color:var(--color-text-primary)}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-CV768Wu1.js","assets/vue-vendor-05sbU7Th.js","assets/vite-Dw-pgLOX.js","assets/xto-base-BSTP-Yn2.js","assets/xto-core-cL8BAdce.js","assets/xto-base-CL2NKZJJ.css","assets/xto-form-C5i2lk3C.js","assets/xto-form-Cu6q3VLG.css","assets/xto-feedback-CTk0sMCW.js","assets/xto-feedback-Bxx38c3P.css","assets/vendor-42ANG6Sg.js","assets/_plugin-vue_export-helper-DlAUqK2U.js","assets/xto-data-Cw0dv5K5.js","assets/xto-data-MxZsiJgi.css","assets/xto-navigation-DHsTg0WG.js","assets/xto-navigation-XfpyMpEo.css","assets/index-PfV8pzQz.css","assets/xto-layout-BDD6sSlM.css","assets/xto-business--V1F5Gwb.css","assets/index-JsZ6rkQj.js","assets/index-eQ-JQMk3.css","assets/index-DcFOybjo.js","assets/index-GDP-IkXE.css","assets/index-BSa4SMHI.js","assets/index-BRR97dc6.js","assets/index-CUh_s55Z.css","assets/index-CMgRqiaT.js","assets/index-DawJb02s.css","assets/index-Bmux4tGG.js","assets/index-Swfu6yvD.css","assets/404-BNfk6aVM.js","assets/404-CH5_LdtS.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{L as I,k as l,w as Q,e as m,d as Z,c as $,z as ee,n as te,u as se,j as oe,o as re,M as ne,N as ae,J as ue,O as ce}from"./vue-vendor-05sbU7Th.js";import{_ as d}from"./xto-form-C5i2lk3C.js";import{f as le}from"./xto-base-BSTP-Yn2.js";import{n as ie}from"./xto-data-Cw0dv5K5.js";import"./xto-feedback-CTk0sMCW.js";import"./xto-navigation-DHsTg0WG.js";/* empty css *//* empty css */import"./xto-core-cL8BAdce.js";(function(){const a=document.createElement("link").relList;if(a&&a.supports&&a.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))c(o);new MutationObserver(o=>{for(const u of o)if(u.type==="childList")for(const i of u.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&c(i)}).observe(document,{childList:!0,subtree:!0});function s(o){const u={};return o.integrity&&(u.integrity=o.integrity),o.referrerPolicy&&(u.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?u.credentials="include":o.crossOrigin==="anonymous"?u.credentials="omit":u.credentials="same-origin",u}function c(o){if(o.ep)return;o.ep=!0;const u=s(o);fetch(o.href,u)}})();const _="xto_",me=e=>({get(a){const s=e.getItem(_+a);if(!s)return null;try{return JSON.parse(s)}catch{return s}},set(a,s){if(s==null){e.removeItem(_+a);return}const c=typeof s=="string"?s:JSON.stringify(s);e.setItem(_+a,c)},remove(a){e.removeItem(_+a)},clear(){Object.keys(e).forEach(s=>{s.startsWith(_)&&e.removeItem(s)})}}),E=me(window.localStorage),t={get:E.get,set:E.set,remove:E.remove,clear:E.clear},S=I("app",()=>{const e=l(t.get("appName")||"XTO App"),a=l(t.get("indexPath")||"/dashboard"),s=l(t.get("isDark")||!1),c=l(t.get("theme")||"light"),o=l(t.get("layout")||"sidebar"),u=l(t.get("isCollapsed")||!1),i=l(t.get("showTabs")??!0),f=l(t.get("showFooter")??!0),h=l(t.get("showBreadcrumb")??!0),v=l(t.get("primaryColor")||"#409eff"),p=l([]),r=l([]),R=m(()=>s.value?"dark":"light"),M=n=>{e.value=n,t.set("appName",n)},U=n=>{a.value=n,t.set("indexPath",n)},V=()=>{s.value=!s.value,c.value=s.value?"dark":"light",y()},K=n=>{c.value=n,s.value=n==="dark",y()},y=()=>{const n=document.documentElement;s.value?n.classList.add("dark"):n.classList.remove("dark"),t.set("isDark",s.value),t.set("theme",c.value)},Y=()=>{u.value=!u.value,t.set("isCollapsed",u.value)},B=n=>{o.value=n,t.set("layout",n)},F=()=>{i.value=!i.value,t.set("showTabs",i.value)},H=()=>{f.value=!f.value,t.set("showFooter",f.value)},J=()=>{h.value=!h.value,t.set("showBreadcrumb",h.value)},j=n=>{v.value=n,document.documentElement.style.setProperty("--color-primary",n),t.set("primaryColor",n)},z=n=>{p.value.includes(n)||p.value.push(n)},W=n=>{const C=p.value.indexOf(n);C>-1&&p.value.splice(C,1)},X=()=>{p.value=[]},q=n=>{r.value=n},G=()=>{y(),v.value!=="#409eff"&&document.documentElement.style.setProperty("--color-primary",v.value)};return Q(s,y),{appName:e,indexPath:a,isDark:s,theme:c,layout:o,isCollapsed:u,showTabs:i,showFooter:f,showBreadcrumb:h,primaryColor:v,cachedViews:p,mixSubMenus:r,themeClass:R,setAppName:M,setIndexPath:U,toggleTheme:V,toggleCollapse:Y,setTheme:K,setLayout:B,toggleTabs:F,toggleFooter:H,toggleBreadcrumb:J,setPrimaryColor:j,addCachedView:z,removeCachedView:W,clearCachedViews:X,setMixSubMenus:q,initTheme:G}}),pe=Z({__name:"App",setup(e){const a=S();return(s,c)=>{const o=oe("router-view");return re(),$("div",{class:te(["app",{dark:se(a).isDark}])},[ee(o)],2)}}}),de=[{path:"/login",name:"Login",component:()=>d(()=>import("./index-CV768Wu1.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18])),meta:{title:"登录",hidden:!0}}],fe={path:"/",name:"Layout",component:()=>d(()=>import("./index-JsZ6rkQj.js"),__vite__mapDeps([19,1,2,14,4,15,3,5,11,8,9,6,7,12,13,20,17,18])),redirect:"/dashboard",children:[{path:"/dashboard",name:"Dashboard",component:()=>d(()=>import("./index-DcFOybjo.js"),__vite__mapDeps([21,12,4,1,13,11,22])),meta:{title:"仪表盘",icon:"dashboard",keepAlive:!0,affix:!0}},{path:"/system/user",name:"SystemUser",component:()=>d(()=>import("./index-BSa4SMHI.js"),__vite__mapDeps([23,1,6,4,7,12,13,8,9,3,5,24,11,25])),meta:{title:"用户管理",icon:"user",keepAlive:!0}},{path:"/system/role",name:"SystemRole",component:()=>d(()=>import("./index-CMgRqiaT.js"),__vite__mapDeps([26,1,6,4,7,12,13,8,9,3,5,24,11,27])),meta:{title:"角色管理",icon:"role",keepAlive:!0}},{path:"/system/menu",name:"SystemMenu",component:()=>d(()=>import("./index-Bmux4tGG.js"),__vite__mapDeps([28,6,1,4,7,12,13,8,9,3,5,24,11,29])),meta:{title:"菜单管理",icon:"menu",keepAlive:!0}},{path:"/:pathMatch(.*)*",name:"CatchAll",component:()=>d(()=>import("./404-BNfk6aVM.js"),__vite__mapDeps([30,1,3,4,5,11,31])),meta:{title:"404",hidden:!0}}]},he=[{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}]}],k="token",N="token_type",w="refresh_token",O="expires_time",D="refresh_time",A="code",ve=()=>t.get(k),_e=e=>{t.set(k,e)},Ye=()=>t.get(N),ge=e=>{t.set(N,e)},ye=e=>{t.set(w,e)},Ee=()=>t.get(O),Te=e=>{t.set(O,e)},be=e=>{t.set(D,e)},Ie=e=>{t.set(A,e)},Be=e=>{_e(e.access_token),ge(e.token_type||"Bearer"),ye(e.refresh_token),Te(e.expires_time),be(e.refresh_time),e.code&&Ie(e.code)},Fe=()=>{t.remove(k),t.remove(N),t.remove(w),t.remove(O),t.remove(D),t.remove(A)},ke=()=>{const e=Ee();return e?Date.now()>e:!0},Ne=()=>!!ve()&&!ke(),L=l(""),P=l("");function Oe(){if(L.value)return L.value;try{return"your-app-id"}catch{return""}}function He(){if(P.value)return P.value;try{return"your-client-id"}catch{return""}}const T="user_info",Ce=I("user",()=>{const e=l(t.get(T)),a=m(()=>!!e.value),s=m(()=>{var r;return((r=e.value)==null?void 0:r.userId)||""}),c=m(()=>{var r;return((r=e.value)==null?void 0:r.userName)||""}),o=m(()=>{var r;return((r=e.value)==null?void 0:r.departmentName)||""}),u=m(()=>{var r;return((r=e.value)==null?void 0:r.email)||""}),i=m(()=>{var r;return((r=e.value)==null?void 0:r.mobilePhone)||""}),f=m(()=>{var r;return((r=e.value)==null?void 0:r.positionName)||""}),h=m(()=>{var r;return((r=e.value)==null?void 0:r.avatar)||""});return{userInfo:e,isLoggedIn:a,userId:s,userName:c,departmentName:o,email:u,mobilePhone:i,positionName:f,avatar:h,setUserInfo:r=>{e.value=r,t.set(T,r)},clearUserInfo:()=>{e.value=null,t.remove(T)}}}),b="menu_list",Le={menuCode:"home",menuName:"首页",menuUrl:"/dashboard",icon:"home",closable:!1,isDefault:!1,isOut:!1},Pe=I("menu",()=>{const e=l(t.get(b)||[]),a=m(()=>e.value.length>0);return{menuList:e,hasMenu:a,setMenuList:o=>{e.value=[Le,...o],t.set(b,e.value)},clearMenu:()=>{e.value=[],t.remove(b)}}}),x=ne({history:ae(),routes:[...de,fe],scrollBehavior:()=>({left:0,top:0})}),Se=["/login"];x.beforeEach(async(e,a,s)=>{const c=S();if(c.initTheme(),Ne())if(e.path==="/login")s({path:"/"});else{const o=Ce();o.isLoggedIn||(o.setUserInfo({appId:Oe(),userId:"1",userName:"管理员",departmentName:"技术部",email:"admin@example.com",mobilePhone:"13800138000",positionName:"管理员",avatar:""}),Pe().setMenuList(he)),e.name&&e.meta.keepAlive&&c.addCachedView(e.name),s()}else Se.includes(e.path)?s():s("/login")});const g=ue(pe);g.component("x-loading",le);g.component("TreeNode",ie);g.use(ce());g.use(x);g.mount("#app");export{Ye as a,He as b,Fe as c,Oe as d,Ce as e,S as f,ve as g,Ne as h,Be as s,Pe as u};
|