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.
Files changed (303) hide show
  1. package/dist/assets/404-BNfk6aVM.js +1 -0
  2. package/dist/assets/404-ByYjFnhI.js +1 -0
  3. package/dist/assets/404-CH5_LdtS.css +1 -0
  4. package/dist/assets/404-sqW80Hc-.css +1 -0
  5. package/dist/assets/_plugin-vue_export-helper-DlAUqK2U.js +1 -0
  6. package/dist/assets/index-BBhC8PX4.js +1 -0
  7. package/dist/assets/index-BOEFG4lP.css +1 -0
  8. package/dist/assets/index-BRR97dc6.js +1 -0
  9. package/dist/assets/index-BSa4SMHI.js +1 -0
  10. package/dist/assets/index-BihVoviB.js +1 -0
  11. package/dist/assets/index-Bmux4tGG.js +1 -0
  12. package/dist/assets/index-BrvR0Fn_.css +1 -0
  13. package/dist/assets/index-C4ZCZoPp.js +1 -0
  14. package/dist/assets/index-CMgRqiaT.js +1 -0
  15. package/dist/assets/index-CUh_s55Z.css +1 -0
  16. package/dist/assets/index-CV768Wu1.js +1 -0
  17. package/dist/assets/index-D0OnMilp.js +1 -0
  18. package/dist/assets/index-D9wlAuR_.js +1 -0
  19. package/dist/assets/index-DPkO-STg.js +1 -0
  20. package/dist/assets/index-DawJb02s.css +1 -0
  21. package/dist/assets/index-DcFOybjo.js +1 -0
  22. package/dist/assets/index-DiHSZ6SJ.js +2 -0
  23. package/dist/assets/index-GDP-IkXE.css +1 -0
  24. package/dist/assets/index-Gx75raue.js +2 -0
  25. package/dist/assets/index-JsZ6rkQj.js +1 -0
  26. package/dist/assets/index-PfV8pzQz.css +1 -0
  27. package/dist/assets/index-Swfu6yvD.css +1 -0
  28. package/dist/assets/index-eQ-JQMk3.css +1 -0
  29. package/dist/assets/vendor-42ANG6Sg.js +6 -0
  30. package/dist/assets/vite-Dw-pgLOX.js +1 -0
  31. package/dist/assets/vue-vendor-05sbU7Th.js +29 -0
  32. package/dist/assets/vue-vendor-Br-l7wbK.js +29 -0
  33. package/dist/assets/xto-base-BSTP-Yn2.js +1 -0
  34. package/dist/assets/xto-base-C-IBqjVs.js +1 -0
  35. package/dist/assets/xto-base-C6eqMPdO.css +1 -0
  36. package/dist/assets/xto-base-CL2NKZJJ.css +1 -0
  37. package/dist/assets/xto-business--V1F5Gwb.css +1 -0
  38. package/dist/assets/xto-core-DZK7Cyg0.js +1 -0
  39. package/dist/assets/xto-core-cL8BAdce.js +1 -0
  40. package/dist/assets/xto-data-BFpiDgJi.js +1 -0
  41. package/dist/assets/xto-data-CnAQAQH2.css +1 -0
  42. package/dist/assets/xto-data-Cw0dv5K5.js +1 -0
  43. package/dist/assets/xto-data-MxZsiJgi.css +1 -0
  44. package/dist/assets/xto-feedback-B2M02fn3.js +1 -0
  45. package/dist/assets/xto-feedback-Bxx38c3P.css +1 -0
  46. package/dist/assets/xto-feedback-ByaS-C7_.css +1 -0
  47. package/dist/assets/xto-feedback-CTk0sMCW.js +1 -0
  48. package/dist/assets/xto-form-C5i2lk3C.js +1 -0
  49. package/dist/assets/xto-form-CrsyAjyr.css +1 -0
  50. package/dist/assets/xto-form-Cu6q3VLG.css +1 -0
  51. package/dist/assets/xto-form-NRjKKNcY.js +1 -0
  52. package/dist/assets/xto-layout-BDD6sSlM.css +1 -0
  53. package/dist/assets/xto-layout-D1stVnJI.css +1 -0
  54. package/dist/assets/xto-navigation-BuRQVoD8.css +1 -0
  55. package/dist/assets/xto-navigation-DHsTg0WG.js +1 -0
  56. package/dist/assets/xto-navigation-XfpyMpEo.css +1 -0
  57. package/dist/assets/xto-navigation-qLRTxo68.js +1 -0
  58. package/dist/index-0h_oG71z.js +345 -0
  59. package/dist/index-1EEezXR3.js +142 -0
  60. package/dist/index-1EkaJDoD.js +142 -0
  61. package/dist/index-1VN-SSaj.js +2873 -0
  62. package/dist/index-23nX2t9j.js +142 -0
  63. package/dist/index-2RwL0s53.js +142 -0
  64. package/dist/index-2tvOdd6w.js +372 -0
  65. package/dist/index-3zeoNaqT.js +345 -0
  66. package/dist/index-8oCLh51t.js +475 -0
  67. package/dist/index-AF5JN8Up.js +142 -0
  68. package/dist/index-B02xiP9g.js +372 -0
  69. package/dist/index-B05xso4D.js +345 -0
  70. package/dist/index-B1VS4tRU.js +475 -0
  71. package/dist/index-B3_VQZ-d.js +372 -0
  72. package/dist/index-B3kL6i_g.js +345 -0
  73. package/dist/index-B4Wny0vt.js +345 -0
  74. package/dist/index-B5RdBQ-f.js +475 -0
  75. package/dist/index-B5rbuoWS.js +2835 -0
  76. package/dist/index-BAFpPlnI.js +475 -0
  77. package/dist/index-BAJakzRz.js +142 -0
  78. package/dist/index-BAOHlfVd.js +142 -0
  79. package/dist/index-BAzJWzWG.js +2852 -0
  80. package/dist/index-BEIxh_R3.js +2982 -0
  81. package/dist/index-BEWrRNps.js +475 -0
  82. package/dist/index-BFtKVmzo.js +142 -0
  83. package/dist/index-BHPrW1wN.js +142 -0
  84. package/dist/index-BHQIqN1E.js +372 -0
  85. package/dist/index-BHZ_y8lp.js +2067 -0
  86. package/dist/index-BHvnTk5Z.js +475 -0
  87. package/dist/index-BIf7CYCW.js +475 -0
  88. package/dist/index-BK1Y1z9_.js +142 -0
  89. package/dist/index-BK8qDl14.js +372 -0
  90. package/dist/index-BKnta6nv.js +372 -0
  91. package/dist/index-BLIem13z.js +345 -0
  92. package/dist/index-BNBv_FCu.js +142 -0
  93. package/dist/index-BNwtCm83.js +345 -0
  94. package/dist/index-BOEMA7WH.js +345 -0
  95. package/dist/index-BOwDukt-.js +2346 -0
  96. package/dist/index-BR9WVjrV.js +2851 -0
  97. package/dist/index-BRMkw154.js +475 -0
  98. package/dist/index-BRQBannD.js +345 -0
  99. package/dist/index-BShKtLTm.js +475 -0
  100. package/dist/index-BVpqTdd2.js +3132 -0
  101. package/dist/index-BWGQANAN.js +2851 -0
  102. package/dist/index-BZKw7U60.js +475 -0
  103. package/dist/index-BadGWG4q.js +475 -0
  104. package/dist/index-BbeWpCd3.js +345 -0
  105. package/dist/index-BeUYNx5P.js +475 -0
  106. package/dist/index-BgiGtxRr.js +142 -0
  107. package/dist/index-BhKJLk9M.js +2824 -0
  108. package/dist/index-BijsKQ3r.js +475 -0
  109. package/dist/index-BjEfspqP.js +475 -0
  110. package/dist/index-BjEnT8WQ.js +372 -0
  111. package/dist/index-BpOcz1m4.js +142 -0
  112. package/dist/index-BrRdLbLB.js +142 -0
  113. package/dist/index-BsHOXfCq.js +372 -0
  114. package/dist/index-Bt5ocakb.js +475 -0
  115. package/dist/index-BtE24Mt4.js +142 -0
  116. package/dist/index-BvcBQjw6.js +2836 -0
  117. package/dist/index-C0krZRWf.js +2859 -0
  118. package/dist/index-C1cKUqmA.js +372 -0
  119. package/dist/index-C3ANmIDM.js +475 -0
  120. package/dist/index-C5JrEkwD.js +345 -0
  121. package/dist/index-C5m4qNMQ.js +2851 -0
  122. package/dist/index-C69vu_ot.js +3147 -0
  123. package/dist/index-C6Um6eFy.js +475 -0
  124. package/dist/index-C75ePQYC.js +372 -0
  125. package/dist/index-C7wKLGhC.js +142 -0
  126. package/dist/index-C8DBDnxx.js +2836 -0
  127. package/dist/index-CAnqlIjX.js +475 -0
  128. package/dist/index-CB36fztK.js +345 -0
  129. package/dist/index-CBKo6Enz.js +345 -0
  130. package/dist/index-CBcuyFIa.js +2326 -0
  131. package/dist/index-CCxIu4ex.js +372 -0
  132. package/dist/index-CD1ZEMzL.js +2836 -0
  133. package/dist/index-CDx-6tvY.js +345 -0
  134. package/dist/index-CGrvOpdb.js +372 -0
  135. package/dist/index-CHJWNf3f.js +475 -0
  136. package/dist/index-CIb06BxE.js +372 -0
  137. package/dist/index-CLiJcB9v.js +142 -0
  138. package/dist/index-CNS6Ohfw.js +2853 -0
  139. package/dist/index-COkjB5Jm.js +142 -0
  140. package/dist/index-CS5h1O5W.js +345 -0
  141. package/dist/index-CT0deRSL.js +372 -0
  142. package/dist/index-CTQQBaf4.js +345 -0
  143. package/dist/index-CUAC0ZFB.js +475 -0
  144. package/dist/index-CVMV9Tfg.js +142 -0
  145. package/dist/index-CWOx59Vc.js +142 -0
  146. package/dist/index-CWdSR99B.js +372 -0
  147. package/dist/index-CWvOcS8Y.js +345 -0
  148. package/dist/index-C_8yJlf1.js +475 -0
  149. package/dist/index-C_MzXmh2.js +2830 -0
  150. package/dist/index-Cb7HXiBR.js +372 -0
  151. package/dist/index-CbA8oUvZ.js +142 -0
  152. package/dist/index-CbEIzXG9.js +475 -0
  153. package/dist/index-Cb_m0zz1.js +475 -0
  154. package/dist/index-Cc6HgGzc.js +142 -0
  155. package/dist/index-CcWdW9Mj.js +372 -0
  156. package/dist/index-CdAqkP8L.js +345 -0
  157. package/dist/index-CeVUHSt9.js +2847 -0
  158. package/dist/index-CejRpy0a.js +475 -0
  159. package/dist/index-Cg5wO_jJ.js +372 -0
  160. package/dist/index-CgZM1vHq.js +372 -0
  161. package/dist/index-CgofFg1D.js +372 -0
  162. package/dist/index-ChheXGDK.js +372 -0
  163. package/dist/index-ChuFHoI0.js +372 -0
  164. package/dist/index-CiOJZ6_b.js +372 -0
  165. package/dist/index-ClCWmz_7.js +2844 -0
  166. package/dist/index-CmajGrKA.js +142 -0
  167. package/dist/index-Cn_4o3fi.js +345 -0
  168. package/dist/index-CoJBI1vE.js +345 -0
  169. package/dist/index-CqLLaQ-P.js +372 -0
  170. package/dist/index-CsRhLwmR.js +475 -0
  171. package/dist/index-CttJvDTG.js +475 -0
  172. package/dist/index-Cu3m9UeX.js +345 -0
  173. package/dist/index-CyQbOMHa.js +2859 -0
  174. package/dist/index-D-NcbLKL.js +345 -0
  175. package/dist/index-D0gstkiI.js +2836 -0
  176. package/dist/index-D0krzDtx.js +475 -0
  177. package/dist/index-D1moFd4V.js +372 -0
  178. package/dist/index-D2Hs4bZj.js +345 -0
  179. package/dist/index-D4QhrTZs.js +475 -0
  180. package/dist/index-D6CC02F-.js +372 -0
  181. package/dist/index-D6s7Za5s.js +142 -0
  182. package/dist/index-D7i5bck2.js +3132 -0
  183. package/dist/index-D8YBeNfn.js +345 -0
  184. package/dist/index-D93bv6lU.js +372 -0
  185. package/dist/index-DAX_bFj5.js +142 -0
  186. package/dist/index-DBii9cjr.js +475 -0
  187. package/dist/index-DBzpSkNi.js +345 -0
  188. package/dist/index-DCuKNBck.js +3153 -0
  189. package/dist/index-DE3uKf0K.js +142 -0
  190. package/dist/index-DGAqp0QX.js +372 -0
  191. package/dist/index-DGh_w_v1.js +475 -0
  192. package/dist/index-DItKvJyI.js +475 -0
  193. package/dist/index-DKAyB0fv.js +345 -0
  194. package/dist/index-DKN4xsXi.js +2851 -0
  195. package/dist/index-DN_iIn8V.js +345 -0
  196. package/dist/index-DONIBpuJ.js +345 -0
  197. package/dist/index-DPDK8Ht4.js +2851 -0
  198. package/dist/index-DPr3ldST.js +2354 -0
  199. package/dist/index-DS1wfdxM.js +142 -0
  200. package/dist/index-DUW5cCh8.js +372 -0
  201. package/dist/index-DUv28uVd.js +142 -0
  202. package/dist/index-DVS-5SZn.js +475 -0
  203. package/dist/index-DWI51JAp.js +372 -0
  204. package/dist/index-DWVmEexu.js +475 -0
  205. package/dist/index-DXf9wUqQ.js +142 -0
  206. package/dist/index-DXmB-sjP.js +345 -0
  207. package/dist/index-DY_e_Dxv.js +372 -0
  208. package/dist/index-DZar-us7.js +142 -0
  209. package/dist/index-D_nwqVrw.js +2847 -0
  210. package/dist/index-DbEeir7h.js +2834 -0
  211. package/dist/index-Dbf5ypbh.js +142 -0
  212. package/dist/index-DcSK-2pt.js +345 -0
  213. package/dist/index-DclK-Mc7.js +2864 -0
  214. package/dist/index-DcnzaxVi.js +142 -0
  215. package/dist/index-Dd8PlF0M.js +2857 -0
  216. package/dist/index-DdkVT39s.js +345 -0
  217. package/dist/index-DeLbU1t-.js +345 -0
  218. package/dist/index-DfV_J8Te.js +345 -0
  219. package/dist/index-DgPnNd8U.js +475 -0
  220. package/dist/index-Dg_JLa7s.js +345 -0
  221. package/dist/index-Di2VPQjn.js +345 -0
  222. package/dist/index-DibHUbqc.js +372 -0
  223. package/dist/index-DjCVSrpw.js +475 -0
  224. package/dist/index-Djdb936p.js +142 -0
  225. package/dist/index-DmFL_GSt.js +142 -0
  226. package/dist/index-DmP4X2k0.js +372 -0
  227. package/dist/index-DmtmRd1r.js +372 -0
  228. package/dist/index-Dn8MA3kh.js +475 -0
  229. package/dist/index-Do7uXDSi.js +2071 -0
  230. package/dist/index-Dpv1M9Hu.js +372 -0
  231. package/dist/index-DqUuZC8f.js +372 -0
  232. package/dist/index-DtEXQIjn.js +372 -0
  233. package/dist/index-Dtw-qZ0V.js +372 -0
  234. package/dist/index-Dv3hIz8H.js +345 -0
  235. package/dist/index-Dv9jnaWp.js +345 -0
  236. package/dist/index-Dw8KZwGJ.js +2354 -0
  237. package/dist/index-DwJILh-Q.js +3149 -0
  238. package/dist/index-DwzGV3B9.js +142 -0
  239. package/dist/index-DyybaRkK.js +345 -0
  240. package/dist/index-DzerABZq.js +372 -0
  241. package/dist/index-F53NVkhc.js +142 -0
  242. package/dist/index-Fl0_k4XF.js +475 -0
  243. package/dist/index-HMYRCPrs.js +2326 -0
  244. package/dist/index-I49wpmT-.js +372 -0
  245. package/dist/index-IPv1O8Zq.js +345 -0
  246. package/dist/index-JLqnaery.js +372 -0
  247. package/dist/index-JRCQ1CYj.js +142 -0
  248. package/dist/index-L86-iO8O.js +345 -0
  249. package/dist/index-Q56EoFor.js +142 -0
  250. package/dist/index-QxKMr6p0.js +2829 -0
  251. package/dist/index-THRvW9Xm.js +2856 -0
  252. package/dist/index-WIUmTlfL.js +345 -0
  253. package/dist/index-WRrsK0pR.js +475 -0
  254. package/dist/index-Wq652QGf.js +2836 -0
  255. package/dist/index-YnSLCdjP.js +475 -0
  256. package/dist/index-Ynf0lvBE.js +142 -0
  257. package/dist/index-_OtTmb9i.js +142 -0
  258. package/dist/index-_oqoy_3D.js +142 -0
  259. package/dist/index-cl4Y-BWw.js +475 -0
  260. package/dist/index-d_eHJkDW.js +475 -0
  261. package/dist/index-dnmEyUWB.js +372 -0
  262. package/dist/index-dz6CwD6A.js +142 -0
  263. package/dist/index-g4rkaRry.js +475 -0
  264. package/dist/index-g9bRMdAX.js +142 -0
  265. package/dist/index-h4z4-a2p.js +2852 -0
  266. package/dist/index-h7BhcQYM.js +475 -0
  267. package/dist/index-hI3qofTF.js +345 -0
  268. package/dist/index-iyQQumAA.js +372 -0
  269. package/dist/index-js_OhKON.js +345 -0
  270. package/dist/index-kgb4MdHr.js +475 -0
  271. package/dist/index-logKl0VM.js +3144 -0
  272. package/dist/index-lrFMrOlR.js +3132 -0
  273. package/dist/index-mEHxtQWj.js +372 -0
  274. package/dist/index-mNm1BV3n.js +2857 -0
  275. package/dist/index-oOzAFXfr.js +142 -0
  276. package/dist/index-s3vGq0ro.js +345 -0
  277. package/dist/index-wt7AbUqc.js +2342 -0
  278. package/dist/index.es.js +1 -1
  279. package/dist/index.html +28 -0
  280. package/dist/index.umd.js +1 -8
  281. package/dist/style.css +1 -1
  282. package/package.json +87 -91
  283. package/src/App.vue +1 -30
  284. package/src/assets/styles/_root.scss +97 -141
  285. package/src/assets/styles/_variables.scss +19 -44
  286. package/src/assets/styles/index.scss +42 -267
  287. package/src/components/Layout/Sidebar.vue +2 -43
  288. package/src/components/Layout/TopMenu.vue +12 -37
  289. package/src/components/Layout/index.vue +0 -1
  290. package/src/utils/request.ts +1 -18
  291. package/src/views/dashboard/index.vue +155 -417
  292. package/src/views/error/403.vue +56 -251
  293. package/src/views/error/404.vue +56 -253
  294. package/src/views/login/index.vue +194 -586
  295. package/src/views/system/menu/index.vue +94 -403
  296. package/src/views/system/role/index.vue +69 -348
  297. package/src/views/system/user/index.vue +73 -402
  298. package/dist/index-BZaqYObA.js +0 -479
  299. package/dist/index-CbwOysFI.js +0 -641
  300. package/dist/index-Jynxhhda.js +0 -189
  301. package/dist/index-XgzSS-fV.js +0 -515
  302. package/dist/index-_iZKFlCa.js +0 -4178
  303. package/src/types/json-bigint.d.ts +0 -18
package/dist/index.umd.js CHANGED
@@ -1,8 +1 @@
1
- (function($,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("pinia"),require("vue-router"),require("@xto/navigation"),require("@xto/base"),require("@xto/feedback"),require("@xto/form"),require("axios"),require("@xto/data")):typeof define=="function"&&define.amd?define(["exports","vue","pinia","vue-router","@xto/navigation","@xto/base","@xto/feedback","@xto/form","axios","@xto/data"],e):($=typeof globalThis<"u"?globalThis:$||self,e($.XtoFronted={},$.Vue,$.Pinia,$.VueRouter,$.navigation,$.base,$.feedback,$.form,$.axios,$.data))})(this,function($,e,Pe,ce,_e,A,oe,F,Kt,we){"use strict";const qe=e.ref(""),je=e.ref(""),He=e.ref("");function ut(s){s.appId&&(qe.value=s.appId),s.clientId&&(je.value=s.clientId),s.apiBaseUrl&&(He.value=s.apiBaseUrl)}function Ae(){if(qe.value)return qe.value;try{return""}catch{return""}}function Xe(){if(je.value)return je.value;try{return""}catch{return""}}function ht(){if(He.value)return He.value;try{return""}catch{return""}}const Wt={appId:qe,clientId:je,apiBaseUrl:He},Ue="xto_",gt=s=>({get(u){const E=s.getItem(Ue+u);if(!E)return null;try{return JSON.parse(E)}catch{return E}},set(u,E){if(E==null){s.removeItem(Ue+u);return}const m=typeof E=="string"?E:JSON.stringify(E);s.setItem(Ue+u,m)},remove(u){s.removeItem(Ue+u)},clear(){Object.keys(s).forEach(E=>{E.startsWith(Ue)&&s.removeItem(E)})}}),ze=gt(window.localStorage),Oe=gt(window.sessionStorage),G={get:ze.get,set:ze.set,remove:ze.remove,clear:ze.clear},Xt={get:Oe.get,set:Oe.set,remove:Oe.remove,clear:Oe.clear},Ce=Pe.defineStore("app",()=>{const s=e.ref(G.get("appName")||"XTO App"),u=e.ref(G.get("indexPath")||"/dashboard"),E=e.ref(G.get("isDark")||!1),m=e.ref(G.get("theme")||"light"),f=e.ref(G.get("layout")||"sidebar"),C=e.ref(G.get("isCollapsed")||!1),V=e.ref(G.get("showTabs")??!0),g=e.ref(G.get("showFooter")??!0),x=e.ref(G.get("showBreadcrumb")??!0),k=e.ref(G.get("primaryColor")||"#409eff"),y=e.ref([]),M=e.ref([]),S=e.computed(()=>E.value?"dark":"light"),U=q=>{s.value=q,G.set("appName",q)},Y=q=>{u.value=q,G.set("indexPath",q)},T=()=>{E.value=!E.value,m.value=E.value?"dark":"light",B()},D=q=>{m.value=q,E.value=q==="dark",B()},B=()=>{const q=document.documentElement;E.value?q.classList.add("dark"):q.classList.remove("dark"),G.set("isDark",E.value),G.set("theme",m.value)},w=()=>{C.value=!C.value,G.set("isCollapsed",C.value)},z=q=>{f.value=q,G.set("layout",q)},K=()=>{V.value=!V.value,G.set("showTabs",V.value)},R=()=>{g.value=!g.value,G.set("showFooter",g.value)},i=()=>{x.value=!x.value,G.set("showBreadcrumb",x.value)},_=q=>{k.value=q,document.documentElement.style.setProperty("--color-primary",q),G.set("primaryColor",q)},H=q=>{y.value.includes(q)||y.value.push(q)},J=q=>{const ne=y.value.indexOf(q);ne>-1&&y.value.splice(ne,1)},L=()=>{y.value=[]},ee=q=>{M.value=q},Z=()=>{B(),k.value!=="#409eff"&&document.documentElement.style.setProperty("--color-primary",k.value)};return e.watch(E,B),{appName:s,indexPath:u,isDark:E,theme:m,layout:f,isCollapsed:C,showTabs:V,showFooter:g,showBreadcrumb:x,primaryColor:k,cachedViews:y,mixSubMenus:M,themeClass:S,setAppName:U,setIndexPath:Y,toggleTheme:T,toggleCollapse:w,setTheme:D,setLayout:z,toggleTabs:K,toggleFooter:R,toggleBreadcrumb:i,setPrimaryColor:_,addCachedView:H,removeCachedView:J,clearCachedViews:L,setMixSubMenus:ee,initTheme:Z}}),Ye="menu_list",Yt={menuCode:"home",menuName:"首页",menuUrl:"/dashboard",icon:"home",closable:!1,isDefault:!1,isOut:!1},De=Pe.defineStore("menu",()=>{const s=e.ref(G.get(Ye)||[]),u=e.computed(()=>s.value.length>0);return{menuList:s,hasMenu:u,setMenuList:f=>{s.value=[Yt,...f],G.set(Ye,s.value)},clearMenu:()=>{s.value=[],G.remove(Ye)}}}),Je="/vite.svg",Ze="user_info",ke=Pe.defineStore("user",()=>{const s=e.ref(G.get(Ze)),u=e.computed(()=>!!s.value),E=e.computed(()=>{var M;return((M=s.value)==null?void 0:M.userId)||""}),m=e.computed(()=>{var M;return((M=s.value)==null?void 0:M.userName)||""}),f=e.computed(()=>{var M;return((M=s.value)==null?void 0:M.departmentName)||""}),C=e.computed(()=>{var M;return((M=s.value)==null?void 0:M.email)||""}),V=e.computed(()=>{var M;return((M=s.value)==null?void 0:M.mobilePhone)||""}),g=e.computed(()=>{var M;return((M=s.value)==null?void 0:M.positionName)||""}),x=e.computed(()=>{var M;return((M=s.value)==null?void 0:M.avatar)||""});return{userInfo:s,isLoggedIn:u,userId:E,userName:m,departmentName:f,email:C,mobilePhone:V,positionName:g,avatar:x,setUserInfo:M=>{s.value=M,G.set(Ze,M)},clearUserInfo:()=>{s.value=null,G.remove(Ze)}}}),Qe="token",ve="token_type",et="refresh_token",tt="expires_time",nt="refresh_time",ot="code",Fe=()=>G.get(Qe),_t=s=>{G.set(Qe,s)},Nt=()=>G.get(ve),Et=s=>{G.set(ve,s)},Jt=()=>G.get(et),Vt=s=>{G.set(et,s)},kt=()=>G.get(tt),yt=s=>{G.set(tt,s)},Zt=()=>G.get(nt),wt=s=>{G.set(nt,s)},Qt=()=>G.get(ot),xt=s=>{G.set(ot,s)},lt=s=>{_t(s.access_token),Et(s.token_type||"Bearer"),Vt(s.refresh_token),yt(s.expires_time),wt(s.refresh_time),s.code&&xt(s.code)},Me=()=>{G.remove(Qe),G.remove(ve),G.remove(et),G.remove(tt),G.remove(nt),G.remove(ot)},Bt=()=>{const s=kt();return s?Date.now()>s:!0},st=()=>!!Fe()&&!Bt(),Le=Pe.defineStore("auth",()=>{const s=e.ref(Fe()),u=e.computed(()=>st()),E=e.ref(""),m=e.ref(""),f=e.ref(""),C=e.ref("/login");return{token:s,isLoggedIn:u,baseUrl:E,appId:m,clientId:f,loginPath:C,login:S=>{s.value=S.access_token,lt(S)},logout:()=>{s.value=null,Me()},setBaseUrl:S=>{E.value=S},setAppId:S=>{m.value=S},setClientId:S=>{f.value=S},setLoginPath:S=>{C.value=S}}}),vt={class:"menu-item__content"},en={class:"menu-item__icon"},tn={key:1,class:"menu-item__char"},nn={class:"menu-item__text"},on={class:"menu-item__content"},ln={key:0,class:"menu-item__icon"},sn={key:1,class:"menu-item__char"},rn={class:"menu-item__text"},an=e.defineComponent({__name:"SidebarMenuItem",props:{menu:{}},setup(s){const u=s,E=new Set(["arrow-up","arrow-down","arrow-left","arrow-right","caret-down","caret-right","plus","minus","close","check","edit","delete","copy","download","upload","refresh","search","filter","more","setting","share","loading","info","success","warning","error","question","user","user-add","user-group","logout","login","file","folder","folder-open","document","image","video","music","camera","mail","phone","chat","bell","message","eye","eye-off","calendar","clock","history","timer","location","map","globe","star","heart","thumb-up","link","external-link","lock","unlock","key","home","menu","menu-fold","menu-unfold","sidebar-fold","sidebar-expand","sidebar-left","dashboard","chart","chart-pie","chart-line","report","analytics","system","permission","role","user-manage","log","notification","app","list","grid","fullscreen","fullscreen-exit","zoom-in","zoom-out","print","bookmark","tag","code","terminal","database","server","cloud","gift","moon","sun","theme","skin"]),m=g=>{if(!g||g==="")return"";if(g.startsWith("tineco-icon-")){const k=g.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"}[g]||g},f=g=>g?g.charAt(0):"",C=g=>E.has(g),V=e.computed(()=>u.menu.children&&u.menu.children.length>0);return(g,x)=>{const k=e.resolveComponent("SidebarMenuItem",!0);return V.value?(e.openBlock(),e.createBlock(e.unref(_e.SubMenu),{key:0,index:s.menu.menuUrl},{title:e.withCtx(()=>[e.createElementVNode("span",vt,[e.createElementVNode("span",en,[C(m(s.menu.icon))?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:m(s.menu.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",tn,e.toDisplayString(f(s.menu.menuName)),1))]),e.createElementVNode("span",nn,e.toDisplayString(s.menu.menuName),1)])]),default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.menu.children,y=>(e.openBlock(),e.createBlock(k,{key:y.menuUrl,menu:y},null,8,["menu"]))),128))]),_:1},8,["index"])):(e.openBlock(),e.createBlock(e.unref(_e.MenuItem),{key:1,index:s.menu.menuUrl},{default:e.withCtx(()=>[e.createElementVNode("span",on,[s.menu.menuName!=="首页"?(e.openBlock(),e.createElementBlock("span",ln,[C(m(s.menu.icon))?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:m(s.menu.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",sn,e.toDisplayString(f(s.menu.menuName)),1))])):e.createCommentVNode("",!0),e.createElementVNode("span",rn,e.toDisplayString(s.menu.menuName),1)])]),_:1},8,["index"]))}}}),fe=(s,u)=>{const E=s.__vccOpts||s;for(const[m,f]of u)E[m]=f;return E},cn=fe(an,[["__scopeId","data-v-d160ae6a"]]),dn={key:0,class:"sidebar__logo"},mn={key:1,class:"sidebar__user"},pn={class:"sidebar__user-info"},fn={class:"sidebar__user-name"},un={class:"sidebar__user-role"},Ct="sidebar_opened_menus",rt=fe(e.defineComponent({__name:"Sidebar",props:{menuList:{default:()=>[]},showLogo:{type:Boolean,default:!0},showUser:{type:Boolean,default:!0}},setup(s){const u=s,E=ce.useRoute(),m=ce.useRouter(),f=De(),C=ke(),V=Le(),g=Ce(),x=e.computed(()=>u.menuList.length>0?u.menuList:f.menuList),k=e.computed(()=>g.isCollapsed),y=e.computed(()=>E.path),M=e.ref(G.get(Ct)||[]);e.watch(M,w=>{G.set(Ct,w)},{deep:!0});const S=(w,z,K=[])=>{var R;for(const i of w){if(z===i.menuUrl||z.startsWith(i.menuUrl+"/"))return[...K,i.menuUrl];if((R=i.children)!=null&&R.length){const _=S(i.children,z,[...K,i.menuUrl]);if(_)return _}}return null};e.watch([()=>E.path,x],([w,z])=>{if(z.length>0){const K=S(z,w);K?M.value=K.slice(0,-1):M.value=[]}},{immediate:!0});const U=e.computed(()=>g.isDark?"#1d1e1f":"#fff"),Y=e.computed(()=>g.isDark?"#cfd3dc":"#303133"),T=e.computed(()=>"#409eff"),D=w=>{w&&w!==E.path&&m.push(w)},B=()=>{V.logout(),C.clearUserInfo(),f.clearMenu(),m.push("/login")};return(w,z)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["sidebar",{"sidebar--collapsed":k.value}])},[u.showLogo?(e.openBlock(),e.createElementBlock("div",dn,[z[2]||(z[2]=e.createElementVNode("img",{src:Je,alt:"Logo",class:"sidebar__logo-img"},null,-1)),e.withDirectives(e.createElementVNode("span",{class:"sidebar__logo-text"},e.toDisplayString(e.unref(g).appName),513),[[e.vShow,!k.value]])])):e.createCommentVNode("",!0),e.createVNode(e.unref(_e.Menu),{modelValue:y.value,"onUpdate:modelValue":z[0]||(z[0]=K=>y.value=K),openeds:M.value,"onUpdate:openeds":z[1]||(z[1]=K=>M.value=K),mode:"vertical",collapse:k.value,"collapse-transition":!1,"background-color":U.value,"text-color":Y.value,"active-text-color":T.value,class:"sidebar__menu",onSelect:D},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(x.value,K=>(e.openBlock(),e.createBlock(cn,{key:K.menuUrl,menu:K},null,8,["menu"]))),128))]),_:1},8,["modelValue","openeds","collapse","background-color","text-color","active-text-color"]),u.showUser&&!k.value?(e.openBlock(),e.createElementBlock("div",mn,[e.createElementVNode("div",pn,[e.createElementVNode("span",fn,e.toDisplayString(e.unref(C).userName),1),e.createElementVNode("span",un,e.toDisplayString(e.unref(C).departmentName),1)]),e.createVNode(e.unref(A.Button),{type:"text",size:"small",onClick:B},{default:e.withCtx(()=>[...z[3]||(z[3]=[e.createTextVNode("退出",-1)])]),_:1})])):e.createCommentVNode("",!0)],2))}}),[["__scopeId","data-v-3c79a9c4"]]),hn={class:"header"},gn={class:"header__left"},_n={key:0,class:"header__breadcrumb"},Nn={key:0,class:"breadcrumb-separator"},En={class:"header__right"},Vn={key:0,class:"header__search-dropdown"},kn={key:0,class:"header__search-results"},yn=["onClick"],wn={key:0,class:"header__search-icon"},xn={key:1,class:"header__search-char"},Bn={class:"header__search-item-title"},Cn={key:1,class:"header__search-item-parent"},bn={key:1,class:"header__search-empty"},$n=["title"],Sn={class:"header__avatar"},In={class:"header__user-name"},Dn={key:0,class:"header__dropdown"},Mn={class:"header__dropdown-header"},Ln={class:"header__dropdown-avatar"},Tn={class:"header__dropdown-info"},An={class:"header__dropdown-name"},Un={class:"header__dropdown-role"},zn={class:"header__dropdown-menu"},On={class:"settings-drawer"},Fn={class:"settings-section"},Rn={class:"settings-layout-options"},Pn=["onClick"],qn={class:"layout-option__preview"},jn={key:0,class:"layout-preview-sidebar"},Hn={key:1,class:"layout-preview-top"},Gn={key:2,class:"layout-preview-mix"},Kn={class:"layout-option__label"},Wn={class:"settings-section"},Xn={class:"settings-color-options"},Yn=["title","onClick"],Jn={class:"settings-section"},Zn={class:"settings-switch-list"},Qn={class:"settings-switch-item"},vn={class:"settings-switch-item"},bt=fe(e.defineComponent({__name:"Header",setup(s){const u=ce.useRoute(),E=ce.useRouter(),m=Ce(),f=ke(),C=Le(),V=De(),g=e.ref(!1),x=e.ref(!1),k=e.ref(null),y=e.ref(!1),M=e.ref(!1),S=e.ref(""),U=e.ref(null),Y=e.ref(!1),T=[{value:"sidebar",label:"左侧菜单",icon:"sidebar-left"},{value:"top",label:"顶部菜单",icon:"menu"},{value:"mix",label:"混合菜单",icon:"grid"}],D=[{value:"#409eff",label:"默认蓝"},{value:"#1890ff",label:"科技蓝"},{value:"#52c41a",label:"极光绿"},{value:"#faad14",label:"日落橙"},{value:"#f5222d",label:"薄暮红"},{value:"#722ed1",label:"酱紫"}],B=e.computed(()=>u.matched.filter(O=>O.meta&&O.meta.title).map(O=>({title:O.meta.title,path:O.path}))),w=(W,O="")=>{const n=[];return W.forEach(t=>{t.children&&t.children.length>0?n.push(...w(t.children,t.menuName)):n.push({...t,parentTitle:O,title:t.menuName,path:t.menuUrl})}),n},z=new Set(["arrow-up","arrow-down","arrow-left","arrow-right","caret-down","caret-right","plus","minus","close","check","edit","delete","copy","download","upload","refresh","search","filter","more","setting","share","loading","info","success","warning","error","question","user","user-add","user-group","logout","login","file","folder","folder-open","document","image","video","music","camera","mail","phone","chat","bell","message","eye","eye-off","calendar","clock","history","timer","location","map","globe","star","heart","thumb-up","link","external-link","lock","unlock","key","home","menu","menu-fold","menu-unfold","sidebar-fold","sidebar-expand","sidebar-left","dashboard","chart","chart-pie","chart-line","report","analytics","system","permission","role","user-manage","log","notification","app","list","grid","fullscreen","fullscreen-exit","zoom-in","zoom-out","print","bookmark","tag","code","terminal","database","server","cloud","gift","moon","sun","theme","skin"]),K=W=>{if(!W||W==="")return"";if(W.startsWith("tineco-icon-")){const n=W.replace("tineco-icon-","");return{home:"home",dashboard:"dashboard",system:"system",user:"user",role:"role",menu:"list",setting:"setting",file:"file",folder:"folder",chart:"chart",report:"report",analytics:"analytics"}[n]||n}return{dashboard:"dashboard",system:"system",user:"user",role:"role",menu:"list",setting:"setting",home:"home",chart:"chart",report:"report",analytics:"analytics",permission:"permission",log:"log",notification:"notification",app:"app",list:"list",grid:"grid"}[W]||W},R=W=>W?W.charAt(0):"",i=W=>z.has(W),_=e.computed(()=>S.value.trim()?w(V.menuList).filter(O=>O.title.toLowerCase().includes(S.value.toLowerCase())):[]),H=e.computed(()=>m.layout),J=()=>{m.toggleCollapse()},L=()=>{m.toggleTheme()},ee=()=>{x.value=!0},Z=W=>{m.setLayout(W),x.value=!1},q=W=>{Y.value=W;const O=document.documentElement;W?O.classList.add("grey-mode"):O.classList.remove("grey-mode")},ne=()=>{q(!Y.value),x.value=!1},se=()=>{m.toggleTheme(),x.value=!1},Ee=()=>{document.fullscreenElement?document.exitFullscreen():document.documentElement.requestFullscreen()},re=()=>{y.value=!!document.fullscreenElement},ue=()=>{g.value=!g.value},he=()=>{g.value=!1},me=()=>{M.value=!1,S.value=""},be=W=>{E.push(W),me()},Ve=W=>{m.setPrimaryColor(W),x.value=!1},$e=()=>{he(),E.push("/profile")},I=()=>{he(),E.push("/change-password")},Se=()=>{he(),C.logout(),f.clearUserInfo(),V.clearMenu(),E.push("/login")},Ie=W=>{k.value&&!k.value.contains(W.target)&&he(),U.value&&!U.value.contains(W.target)&&me()},xe=W=>{W.key==="Escape"&&(me(),he())};return e.onMounted(()=>{document.addEventListener("click",Ie),document.addEventListener("fullscreenchange",re),document.addEventListener("keydown",xe),m.initTheme(),Y.value=document.documentElement.classList.contains("grey-mode")}),e.onUnmounted(()=>{document.removeEventListener("click",Ie),document.removeEventListener("fullscreenchange",re),document.removeEventListener("keydown",xe)}),(W,O)=>{var n;return e.openBlock(),e.createElementBlock("div",hn,[e.createElementVNode("div",gn,[e.createElementVNode("div",{class:"header__collapse",onClick:J},[e.createVNode(e.unref(A.Icon),{name:e.unref(m).isCollapsed?"menu-unfold":"menu-fold",size:18},null,8,["name"])]),e.unref(m).showBreadcrumb?(e.openBlock(),e.createElementBlock("div",_n,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(B.value,(t,l)=>(e.openBlock(),e.createElementBlock("span",{key:t.path},[l>0?(e.openBlock(),e.createElementBlock("span",Nn,"/")):e.createCommentVNode("",!0),e.createElementVNode("span",{class:e.normalizeClass({"is-current":l===B.value.length-1})},e.toDisplayString(t.title),3)]))),128))])):e.createCommentVNode("",!0)]),e.createElementVNode("div",En,[e.createElementVNode("div",{class:"header__search",ref_key:"searchRef",ref:U},[e.createVNode(e.unref(A.Icon),{name:"search",size:14,class:"header__search-icon"}),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":O[0]||(O[0]=t=>S.value=t),type:"text",class:"header__search-input",placeholder:"搜索菜单...",onFocus:O[1]||(O[1]=t=>M.value=!0)},null,544),[[e.vModelText,S.value]]),e.createVNode(e.Transition,{name:"search-dropdown"},{default:e.withCtx(()=>[M.value&&(_.value.length>0||S.value)?(e.openBlock(),e.createElementBlock("div",Vn,[_.value.length>0?(e.openBlock(),e.createElementBlock("div",kn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(_.value,t=>(e.openBlock(),e.createElementBlock("div",{key:t.path,class:"header__search-item",onClick:l=>be(t.path)},[t.title!=="首页"?(e.openBlock(),e.createElementBlock("span",wn,[i(K(t.icon))?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:K(t.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",xn,e.toDisplayString(R(t.title)),1))])):e.createCommentVNode("",!0),e.createElementVNode("span",Bn,e.toDisplayString(t.title),1),t.parentTitle?(e.openBlock(),e.createElementBlock("span",Cn,e.toDisplayString(t.parentTitle),1)):e.createCommentVNode("",!0)],8,yn))),128))])):(e.openBlock(),e.createElementBlock("div",bn," 未找到匹配的菜单 "))])):e.createCommentVNode("",!0)]),_:1})],512),e.createElementVNode("div",{class:"header__action",onClick:Ee,title:y.value?"退出全屏":"全屏"},[e.createVNode(e.unref(A.Icon),{name:y.value?"fullscreen-exit":"fullscreen",size:16},null,8,["name"])],8,$n),e.createElementVNode("div",{class:"header__action",onClick:ee,title:"换肤设置"},[e.createVNode(e.unref(A.Icon),{name:"skin",size:16})]),e.createElementVNode("div",{class:"header__action",onClick:L,title:"切换主题"},[e.createVNode(e.unref(A.Icon),{name:e.unref(m).isDark?"sun":"moon",size:16},null,8,["name"])]),e.createElementVNode("div",{class:"header__user",ref_key:"dropdownRef",ref:k},[e.createElementVNode("div",{class:"header__user-trigger",onClick:e.withModifiers(ue,["stop"])},[e.createElementVNode("div",Sn,[e.createElementVNode("span",null,e.toDisplayString(((n=e.unref(f).userName)==null?void 0:n.charAt(0))||"U"),1)]),e.createElementVNode("span",In,e.toDisplayString(e.unref(f).userName),1),e.createElementVNode("span",{class:e.normalizeClass(["header__user-arrow",{"is-active":g.value}])},"▼",2)]),e.createVNode(e.Transition,{name:"dropdown"},{default:e.withCtx(()=>{var t;return[g.value?(e.openBlock(),e.createElementBlock("div",Dn,[e.createElementVNode("div",Mn,[e.createElementVNode("div",Ln,[e.createElementVNode("span",null,e.toDisplayString(((t=e.unref(f).userName)==null?void 0:t.charAt(0))||"U"),1)]),e.createElementVNode("div",Tn,[e.createElementVNode("div",An,e.toDisplayString(e.unref(f).userName),1),e.createElementVNode("div",Un,e.toDisplayString(e.unref(f).departmentName),1)])]),O[7]||(O[7]=e.createElementVNode("div",{class:"header__dropdown-divider"},null,-1)),e.createElementVNode("div",zn,[e.createElementVNode("div",{class:"header__dropdown-item",onClick:$e},[e.createVNode(e.unref(A.Icon),{name:"user",size:16}),O[3]||(O[3]=e.createElementVNode("span",null,"个人信息",-1))]),e.createElementVNode("div",{class:"header__dropdown-item",onClick:I},[e.createVNode(e.unref(A.Icon),{name:"lock",size:16}),O[4]||(O[4]=e.createElementVNode("span",null,"修改密码",-1))]),O[6]||(O[6]=e.createElementVNode("div",{class:"header__dropdown-divider"},null,-1)),e.createElementVNode("div",{class:"header__dropdown-item header__dropdown-item--danger",onClick:Se},[e.createVNode(e.unref(A.Icon),{name:"logout",size:16}),O[5]||(O[5]=e.createElementVNode("span",null,"退出登录",-1))])])])):e.createCommentVNode("",!0)]}),_:1})],512)]),e.createVNode(e.unref(oe.Drawer),{modelValue:x.value,"onUpdate:modelValue":O[2]||(O[2]=t=>x.value=t),title:"换肤设置",direction:"rtl",size:"320px"},{default:e.withCtx(()=>[e.createElementVNode("div",On,[e.createElementVNode("div",Fn,[O[11]||(O[11]=e.createElementVNode("div",{class:"settings-title"},"布局模式",-1)),e.createElementVNode("div",Rn,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(T,t=>e.createElementVNode("div",{key:t.value,class:e.normalizeClass(["layout-option",{"is-active":H.value===t.value}]),onClick:l=>Z(t.value)},[e.createElementVNode("div",qn,[t.value==="sidebar"?(e.openBlock(),e.createElementBlock("div",jn,[...O[8]||(O[8]=[e.createElementVNode("div",{class:"preview-aside"},null,-1),e.createElementVNode("div",{class:"preview-main"},[e.createElementVNode("div",{class:"preview-header"}),e.createElementVNode("div",{class:"preview-content"})],-1)])])):t.value==="top"?(e.openBlock(),e.createElementBlock("div",Hn,[...O[9]||(O[9]=[e.createElementVNode("div",{class:"preview-header-full"},null,-1),e.createElementVNode("div",{class:"preview-content-full"},null,-1)])])):(e.openBlock(),e.createElementBlock("div",Gn,[...O[10]||(O[10]=[e.createElementVNode("div",{class:"preview-header-mix"},[e.createElementVNode("div",{class:"preview-mix-left"})],-1),e.createElementVNode("div",{class:"preview-mix-body"},[e.createElementVNode("div",{class:"preview-mix-aside"}),e.createElementVNode("div",{class:"preview-mix-content"})],-1)])]))]),e.createElementVNode("span",Kn,e.toDisplayString(t.label),1)],10,Pn)),64))])]),e.createElementVNode("div",Wn,[O[12]||(O[12]=e.createElementVNode("div",{class:"settings-title"},"主题色",-1)),e.createElementVNode("div",Xn,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(D,t=>e.createElementVNode("div",{key:t.value,class:e.normalizeClass(["color-option",{"is-active":e.unref(m).primaryColor===t.value}]),style:e.normalizeStyle({backgroundColor:t.value}),title:t.label,onClick:l=>Ve(t.value)},[e.unref(m).primaryColor===t.value?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:"check",size:12,color:"#fff"})):e.createCommentVNode("",!0)],14,Yn)),64))])]),e.createElementVNode("div",Jn,[O[17]||(O[17]=e.createElementVNode("div",{class:"settings-title"},"功能设置",-1)),e.createElementVNode("div",Zn,[e.createElementVNode("div",Qn,[O[14]||(O[14]=e.createElementVNode("span",null,"灰色模式",-1)),e.createElementVNode("div",{class:e.normalizeClass(["switch-wrapper",{"is-checked":Y.value}]),onClick:ne},[...O[13]||(O[13]=[e.createElementVNode("span",{class:"switch-core"},null,-1)])],2)]),e.createElementVNode("div",vn,[O[16]||(O[16]=e.createElementVNode("span",null,"暗黑模式",-1)),e.createElementVNode("div",{class:e.normalizeClass(["switch-wrapper",{"is-checked":e.unref(m).isDark}]),onClick:se},[...O[15]||(O[15]=[e.createElementVNode("span",{class:"switch-core"},null,-1)])],2)])])])])]),_:1},8,["modelValue"])])}}}),[["__scopeId","data-v-89179947"]]),eo={class:"top-menu"},to={class:"top-menu__logo"},no={class:"top-menu__logo-text"},oo={class:"top-menu__menu-content"},lo={key:0,class:"top-menu__menu-icon"},so={key:1,class:"top-menu__menu-char"},ro={class:"top-menu__menu-text"},ao={class:"top-menu__menu-content"},io={class:"top-menu__menu-icon"},co={key:1,class:"top-menu__menu-char"},mo={class:"top-menu__menu-text"},po={class:"top-menu__menu-content"},fo={class:"top-menu__menu-icon"},uo={key:1,class:"top-menu__menu-char"},ho={class:"top-menu__menu-text"},go={class:"top-menu__menu-content"},_o={class:"top-menu__menu-icon"},No={key:1,class:"top-menu__menu-char"},Eo={class:"top-menu__menu-text"},Vo={class:"top-menu__menu-content"},ko={key:0,class:"top-menu__menu-icon"},yo={key:1,class:"top-menu__menu-char"},wo={class:"top-menu__menu-text"},xo={class:"top-menu__actions"},Bo={key:0,class:"top-menu__search-dropdown"},Co={key:0,class:"top-menu__search-results"},bo=["onClick"],$o={key:0,class:"top-menu__search-icon-item"},So={key:1,class:"top-menu__search-char"},Io={class:"top-menu__search-item-title"},Do={key:1,class:"top-menu__search-item-parent"},Mo={key:1,class:"top-menu__search-empty"},Lo=["title"],To={class:"top-menu__avatar"},Ao={class:"top-menu__user-name"},Uo={key:0,class:"top-menu__dropdown"},zo={class:"top-menu__dropdown-header"},Oo={class:"top-menu__dropdown-avatar"},Fo={class:"top-menu__dropdown-info"},Ro={class:"top-menu__dropdown-name"},Po={class:"top-menu__dropdown-role"},qo={class:"top-menu__dropdown-menu"},jo={class:"settings-drawer"},Ho={class:"settings-section"},Go={class:"settings-layout-options"},Ko=["onClick"],Wo={class:"layout-option__preview"},Xo={key:0,class:"layout-preview-sidebar"},Yo={key:1,class:"layout-preview-top"},Jo={key:2,class:"layout-preview-mix"},Zo={class:"layout-option__label"},Qo={class:"settings-section"},vo={class:"settings-color-options"},el=["title","onClick"],tl={class:"settings-section"},nl={class:"settings-switch-list"},ol={class:"settings-switch-item"},ll={class:"settings-switch-item"},sl=fe(e.defineComponent({__name:"TopMenu",setup(s){const u=ce.useRoute(),E=ce.useRouter(),m=De(),f=Ce(),C=ke(),V=Le(),g=e.computed(()=>u.path),x=(t,l="")=>{const d=[];return t.forEach(o=>{o.children&&o.children.length>0?d.push(...x(o.children,o.menuName)):d.push({...o,parentTitle:l,title:o.menuName,path:o.menuUrl})}),d},k=e.computed(()=>z.value.trim()?x(m.menuList).filter(l=>l.title.toLowerCase().includes(z.value.toLowerCase())):[]),y=e.computed(()=>f.isDark?"#1d1e1f":"#fff"),M=e.computed(()=>f.isDark?"#cfd3dc":"#303133"),S=e.computed(()=>"#409eff"),U=e.ref(!1),Y=e.ref(null),T=e.ref(!1),D=e.ref(!1),B=e.ref(!1),w=e.ref(!1),z=e.ref(""),K=e.ref(null),R=t=>{t&&t!==u.path&&E.push(t)},i=new Set(["arrow-up","arrow-down","arrow-left","arrow-right","caret-down","caret-right","plus","minus","close","check","edit","delete","copy","download","upload","refresh","search","filter","more","setting","share","loading","info","success","warning","error","question","user","user-add","user-group","logout","login","file","folder","folder-open","document","image","video","music","camera","mail","phone","chat","bell","message","eye","eye-off","calendar","clock","history","timer","location","map","globe","star","heart","thumb-up","link","external-link","lock","unlock","key","home","menu","menu-fold","menu-unfold","sidebar-fold","sidebar-expand","sidebar-left","dashboard","chart","chart-pie","chart-line","report","analytics","system","permission","role","user-manage","log","notification","app","list","grid","fullscreen","fullscreen-exit","zoom-in","zoom-out","print","bookmark","tag","code","terminal","database","server","cloud","gift","moon","sun","theme","skin"]),_=t=>{if(!t||t==="")return"";if(t.startsWith("tineco-icon-")){const d=t.replace("tineco-icon-","");return{home:"home",dashboard:"dashboard",system:"system",user:"user",role:"role",menu:"list",setting:"setting",file:"file",folder:"folder",chart:"chart",report:"report",analytics:"analytics"}[d]||d}return{dashboard:"dashboard",system:"system",user:"user",role:"role",menu:"list",setting:"setting",home:"home",chart:"chart",report:"report",analytics:"analytics",permission:"permission",log:"log",notification:"notification",app:"app",list:"list",grid:"grid"}[t]||t},H=t=>t?t.charAt(0):"",J=t=>i.has(t),L=()=>{f.toggleTheme(),D.value=!1},ee=()=>{document.fullscreenElement?document.exitFullscreen():document.documentElement.requestFullscreen()},Z=()=>{T.value=!!document.fullscreenElement},q=()=>{U.value=!U.value},ne=()=>{U.value=!1},se=()=>{w.value=!1,z.value=""},Ee=t=>{E.push(t),se()},re=()=>{D.value=!0},ue=t=>{B.value=t;const l=document.documentElement;t?l.classList.add("grey-mode"):l.classList.remove("grey-mode")},he=()=>{ue(!B.value),D.value=!1},me=()=>{f.toggleTheme(),D.value=!1},be=[{value:"sidebar",label:"左侧菜单",icon:"sidebar-left"},{value:"top",label:"顶部菜单",icon:"menu"},{value:"mix",label:"混合菜单",icon:"grid"}],Ve=e.computed(()=>f.layout),$e=t=>{f.setLayout(t),D.value=!1},I=[{value:"#409eff",label:"默认蓝"},{value:"#1890ff",label:"科技蓝"},{value:"#52c41a",label:"极光绿"},{value:"#faad14",label:"日落橙"},{value:"#f5222d",label:"薄暮红"},{value:"#722ed1",label:"酱紫"}],Se=t=>{f.setPrimaryColor(t),D.value=!1},Ie=()=>{ne(),E.push("/profile")},xe=()=>{ne(),E.push("/change-password")},W=()=>{ne(),V.logout(),C.clearUserInfo(),m.clearMenu(),E.push("/login")},O=t=>{Y.value&&!Y.value.contains(t.target)&&ne(),K.value&&!K.value.contains(t.target)&&se()},n=t=>{t.key==="Escape"&&(se(),ne())};return e.onMounted(()=>{document.addEventListener("click",O),document.addEventListener("fullscreenchange",Z),document.addEventListener("keydown",n),B.value=document.documentElement.classList.contains("grey-mode")}),e.onUnmounted(()=>{document.removeEventListener("click",O),document.removeEventListener("fullscreenchange",Z),document.removeEventListener("keydown",n)}),(t,l)=>{var d;return e.openBlock(),e.createElementBlock("div",eo,[e.createElementVNode("div",to,[l[3]||(l[3]=e.createElementVNode("img",{src:Je,alt:"Logo",class:"top-menu__logo-img"},null,-1)),e.createElementVNode("span",no,e.toDisplayString(e.unref(f).appName),1)]),e.createVNode(e.unref(_e.Menu),{"model-value":g.value,mode:"horizontal","background-color":y.value,"text-color":M.value,"active-text-color":S.value,class:"top-menu__menu",onSelect:R},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(m).menuList,o=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:o.menuUrl},[o.children&&o.children.length>0?(e.openBlock(),e.createBlock(e.unref(_e.SubMenu),{key:0,index:o.menuUrl},{title:e.withCtx(()=>[e.createElementVNode("span",oo,[o.menuName!=="首页"?(e.openBlock(),e.createElementBlock("span",lo,[J(_(o.icon))?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:_(o.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",so,e.toDisplayString(H(o.menuName)),1))])):e.createCommentVNode("",!0),e.createElementVNode("span",ro,e.toDisplayString(o.menuName),1)])]),default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.children,r=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:r.menuUrl},[r.children&&r.children.length>0?(e.openBlock(),e.createBlock(e.unref(_e.SubMenu),{key:0,index:r.menuUrl},{title:e.withCtx(()=>[e.createElementVNode("span",ao,[e.createElementVNode("span",io,[J(_(r.icon))?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:_(r.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",co,e.toDisplayString(H(r.menuName)),1))]),e.createElementVNode("span",mo,e.toDisplayString(r.menuName),1)])]),default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.children,p=>(e.openBlock(),e.createBlock(e.unref(_e.MenuItem),{key:p.menuUrl,index:p.menuUrl},{default:e.withCtx(()=>[e.createElementVNode("span",po,[e.createElementVNode("span",fo,[J(_(p.icon))?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:_(p.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",uo,e.toDisplayString(H(p.menuName)),1))]),e.createElementVNode("span",ho,e.toDisplayString(p.menuName),1)])]),_:2},1032,["index"]))),128))]),_:2},1032,["index"])):(e.openBlock(),e.createBlock(e.unref(_e.MenuItem),{key:1,index:r.menuUrl},{default:e.withCtx(()=>[e.createElementVNode("span",go,[e.createElementVNode("span",_o,[J(_(r.icon))?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:_(r.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",No,e.toDisplayString(H(r.menuName)),1))]),e.createElementVNode("span",Eo,e.toDisplayString(r.menuName),1)])]),_:2},1032,["index"]))],64))),128))]),_:2},1032,["index"])):(e.openBlock(),e.createBlock(e.unref(_e.MenuItem),{key:1,index:o.menuUrl},{default:e.withCtx(()=>[e.createElementVNode("span",Vo,[o.menuName!=="首页"?(e.openBlock(),e.createElementBlock("span",ko,[J(_(o.icon))?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:_(o.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",yo,e.toDisplayString(H(o.menuName)),1))])):e.createCommentVNode("",!0),e.createElementVNode("span",wo,e.toDisplayString(o.menuName),1)])]),_:2},1032,["index"]))],64))),128))]),_:1},8,["model-value","background-color","text-color","active-text-color"]),e.createElementVNode("div",xo,[e.createElementVNode("div",{class:"top-menu__search",ref_key:"searchRef",ref:K},[e.createVNode(e.unref(A.Icon),{name:"search",size:14,class:"top-menu__search-icon"}),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":l[0]||(l[0]=o=>z.value=o),type:"text",class:"top-menu__search-input",placeholder:"搜索菜单...",onFocus:l[1]||(l[1]=o=>w.value=!0)},null,544),[[e.vModelText,z.value]]),e.createVNode(e.Transition,{name:"search-dropdown"},{default:e.withCtx(()=>[w.value&&(k.value.length>0||z.value)?(e.openBlock(),e.createElementBlock("div",Bo,[k.value.length>0?(e.openBlock(),e.createElementBlock("div",Co,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k.value,o=>(e.openBlock(),e.createElementBlock("div",{key:o.path,class:"top-menu__search-item",onClick:r=>Ee(o.path)},[o.title!=="首页"?(e.openBlock(),e.createElementBlock("span",$o,[J(_(o.icon))?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:_(o.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",So,e.toDisplayString(H(o.title)),1))])):e.createCommentVNode("",!0),e.createElementVNode("span",Io,e.toDisplayString(o.title),1),o.parentTitle?(e.openBlock(),e.createElementBlock("span",Do,e.toDisplayString(o.parentTitle),1)):e.createCommentVNode("",!0)],8,bo))),128))])):(e.openBlock(),e.createElementBlock("div",Mo," 未找到匹配的菜单 "))])):e.createCommentVNode("",!0)]),_:1})],512),e.createElementVNode("div",{class:"top-menu__action",onClick:ee,title:T.value?"退出全屏":"全屏"},[e.createVNode(e.unref(A.Icon),{name:T.value?"fullscreen-exit":"fullscreen",size:16},null,8,["name"])],8,Lo),e.createElementVNode("div",{class:"top-menu__action",onClick:re,title:"换肤设置"},[e.createVNode(e.unref(A.Icon),{name:"skin",size:16})]),e.createElementVNode("div",{class:"top-menu__action",onClick:L,title:"切换主题"},[e.createVNode(e.unref(A.Icon),{name:e.unref(f).isDark?"sun":"moon",size:16},null,8,["name"])]),e.createElementVNode("div",{class:"top-menu__user",ref_key:"dropdownRef",ref:Y},[e.createElementVNode("div",{class:"top-menu__user-trigger",onClick:e.withModifiers(q,["stop"])},[e.createElementVNode("div",To,[e.createElementVNode("span",null,e.toDisplayString(((d=e.unref(C).userName)==null?void 0:d.charAt(0))||"U"),1)]),e.createElementVNode("span",Ao,e.toDisplayString(e.unref(C).userName),1),e.createElementVNode("span",{class:e.normalizeClass(["top-menu__user-arrow",{"is-active":U.value}])},"▼",2)]),e.createVNode(e.Transition,{name:"dropdown"},{default:e.withCtx(()=>{var o;return[U.value?(e.openBlock(),e.createElementBlock("div",Uo,[e.createElementVNode("div",zo,[e.createElementVNode("div",Oo,[e.createElementVNode("span",null,e.toDisplayString(((o=e.unref(C).userName)==null?void 0:o.charAt(0))||"U"),1)]),e.createElementVNode("div",Fo,[e.createElementVNode("div",Ro,e.toDisplayString(e.unref(C).userName),1),e.createElementVNode("div",Po,e.toDisplayString(e.unref(C).departmentName),1)])]),l[8]||(l[8]=e.createElementVNode("div",{class:"top-menu__dropdown-divider"},null,-1)),e.createElementVNode("div",qo,[e.createElementVNode("div",{class:"top-menu__dropdown-item",onClick:Ie},[e.createVNode(e.unref(A.Icon),{name:"user",size:16}),l[4]||(l[4]=e.createElementVNode("span",null,"个人信息",-1))]),e.createElementVNode("div",{class:"top-menu__dropdown-item",onClick:xe},[e.createVNode(e.unref(A.Icon),{name:"lock",size:16}),l[5]||(l[5]=e.createElementVNode("span",null,"修改密码",-1))]),l[7]||(l[7]=e.createElementVNode("div",{class:"top-menu__dropdown-divider"},null,-1)),e.createElementVNode("div",{class:"top-menu__dropdown-item top-menu__dropdown-item--danger",onClick:W},[e.createVNode(e.unref(A.Icon),{name:"logout",size:16}),l[6]||(l[6]=e.createElementVNode("span",null,"退出登录",-1))])])])):e.createCommentVNode("",!0)]}),_:1})],512)]),e.createVNode(e.unref(oe.Drawer),{modelValue:D.value,"onUpdate:modelValue":l[2]||(l[2]=o=>D.value=o),title:"换肤设置",direction:"rtl",size:"320px"},{default:e.withCtx(()=>[e.createElementVNode("div",jo,[e.createElementVNode("div",Ho,[l[12]||(l[12]=e.createElementVNode("div",{class:"settings-title"},"布局模式",-1)),e.createElementVNode("div",Go,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(be,o=>e.createElementVNode("div",{key:o.value,class:e.normalizeClass(["layout-option",{"is-active":Ve.value===o.value}]),onClick:r=>$e(o.value)},[e.createElementVNode("div",Wo,[o.value==="sidebar"?(e.openBlock(),e.createElementBlock("div",Xo,[...l[9]||(l[9]=[e.createElementVNode("div",{class:"preview-aside"},null,-1),e.createElementVNode("div",{class:"preview-main"},[e.createElementVNode("div",{class:"preview-header"}),e.createElementVNode("div",{class:"preview-content"})],-1)])])):o.value==="top"?(e.openBlock(),e.createElementBlock("div",Yo,[...l[10]||(l[10]=[e.createElementVNode("div",{class:"preview-header-full"},null,-1),e.createElementVNode("div",{class:"preview-content-full"},null,-1)])])):(e.openBlock(),e.createElementBlock("div",Jo,[...l[11]||(l[11]=[e.createElementVNode("div",{class:"preview-header-mix"},[e.createElementVNode("div",{class:"preview-mix-left"})],-1),e.createElementVNode("div",{class:"preview-mix-body"},[e.createElementVNode("div",{class:"preview-mix-aside"}),e.createElementVNode("div",{class:"preview-mix-content"})],-1)])]))]),e.createElementVNode("span",Zo,e.toDisplayString(o.label),1)],10,Ko)),64))])]),e.createElementVNode("div",Qo,[l[13]||(l[13]=e.createElementVNode("div",{class:"settings-title"},"主题色",-1)),e.createElementVNode("div",vo,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(I,o=>e.createElementVNode("div",{key:o.value,class:e.normalizeClass(["color-option",{"is-active":e.unref(f).primaryColor===o.value}]),style:e.normalizeStyle({backgroundColor:o.value}),title:o.label,onClick:r=>Se(o.value)},[e.unref(f).primaryColor===o.value?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:"check",size:12,color:"#fff"})):e.createCommentVNode("",!0)],14,el)),64))])]),e.createElementVNode("div",tl,[l[18]||(l[18]=e.createElementVNode("div",{class:"settings-title"},"功能设置",-1)),e.createElementVNode("div",nl,[e.createElementVNode("div",ol,[l[15]||(l[15]=e.createElementVNode("span",null,"灰色模式",-1)),e.createElementVNode("div",{class:e.normalizeClass(["switch-wrapper",{"is-checked":B.value}]),onClick:he},[...l[14]||(l[14]=[e.createElementVNode("span",{class:"switch-core"},null,-1)])],2)]),e.createElementVNode("div",ll,[l[17]||(l[17]=e.createElementVNode("span",null,"暗黑模式",-1)),e.createElementVNode("div",{class:e.normalizeClass(["switch-wrapper",{"is-checked":e.unref(f).isDark}]),onClick:me},[...l[16]||(l[16]=[e.createElementVNode("span",{class:"switch-core"},null,-1)])],2)])])])])]),_:1},8,["modelValue"])])}}}),[["__scopeId","data-v-5b8c9d39"]]),rl={class:"mix-top-menu"},al={class:"mix-top-menu__logo"},il={class:"mix-top-menu__logo-text"},cl={class:"mix-top-menu__menu-content"},dl={key:0,class:"mix-top-menu__menu-icon"},ml={key:1,class:"mix-top-menu__menu-char"},pl={class:"mix-top-menu__menu-text"},fl={class:"mix-top-menu__actions"},ul={key:0,class:"mix-top-menu__search-dropdown"},hl={key:0,class:"mix-top-menu__search-results"},gl=["onClick"],_l={key:0,class:"mix-top-menu__search-icon-item"},Nl={key:1,class:"mix-top-menu__search-char"},El={class:"mix-top-menu__search-item-title"},Vl={key:1,class:"mix-top-menu__search-item-parent"},kl={key:1,class:"mix-top-menu__search-empty"},yl=["title"],wl={class:"mix-top-menu__avatar"},xl={class:"mix-top-menu__user-name"},Bl={key:0,class:"mix-top-menu__dropdown"},Cl={class:"mix-top-menu__dropdown-header"},bl={class:"mix-top-menu__dropdown-avatar"},$l={class:"mix-top-menu__dropdown-info"},Sl={class:"mix-top-menu__dropdown-name"},Il={class:"mix-top-menu__dropdown-role"},Dl={class:"mix-top-menu__dropdown-menu"},Ml={class:"settings-drawer"},Ll={class:"settings-section"},Tl={class:"settings-layout-options"},Al=["onClick"],Ul={class:"layout-option__preview"},zl={key:0,class:"layout-preview-sidebar"},Ol={key:1,class:"layout-preview-top"},Fl={key:2,class:"layout-preview-mix"},Rl={class:"layout-option__label"},Pl={class:"settings-section"},ql={class:"settings-color-options"},jl=["title","onClick"],Hl={class:"settings-section"},Gl={class:"settings-switch-list"},Kl={class:"settings-switch-item"},Wl={class:"settings-switch-item"},Xl=fe(e.defineComponent({__name:"MixTopMenu",setup(s){const u=ce.useRoute(),E=ce.useRouter(),m=De(),f=Ce(),C=ke(),V=Le(),g=e.ref(""),x=(o,r="")=>{const p=[];return o.forEach(a=>{a.children&&a.children.length>0?p.push(...x(a.children,a.menuName)):p.push({...a,parentTitle:r,title:a.menuName,path:a.menuUrl})}),p},k=e.computed(()=>_.value.trim()?x(m.menuList).filter(r=>r.title.toLowerCase().includes(_.value.toLowerCase())):[]),y=e.computed(()=>{const o=m.menuList.find(r=>r.menuUrl===g.value);return(o==null?void 0:o.children)||[]}),M=e.computed(()=>m.menuList.find(o=>!!(u.path===o.menuUrl||o.children&&o.children.some(r=>u.path.startsWith(r.menuUrl)||u.path===r.menuUrl)))),S=()=>{M.value?g.value=M.value.menuUrl:m.menuList.length>0&&(g.value=m.menuList[0].menuUrl)},U=o=>{g.value=o;const r=m.menuList.find(p=>p.menuUrl===o);if(r)if(r.children&&r.children.length>0){const p=r.children[0].menuUrl;u.path!==p&&E.push(p)}else u.path!==o&&E.push(o)},Y=e.computed(()=>f.isDark?"#1d1e1f":"#fff"),T=e.computed(()=>f.isDark?"#cfd3dc":"#303133"),D=e.computed(()=>"#409eff"),B=e.ref(!1),w=e.ref(null),z=e.ref(!1),K=e.ref(!1),R=e.ref(!1),i=e.ref(!1),_=e.ref(""),H=e.ref(null);e.watch(()=>u.path,()=>{S(),f.setMixSubMenus(y.value)}),e.watch(()=>m.menuList,o=>{o&&o.length>0&&(S(),f.setMixSubMenus(y.value))},{immediate:!0});const J=new Set(["arrow-up","arrow-down","arrow-left","arrow-right","caret-down","caret-right","plus","minus","close","check","edit","delete","copy","download","upload","refresh","search","filter","more","setting","share","loading","info","success","warning","error","question","user","user-add","user-group","logout","login","file","folder","folder-open","document","image","video","music","camera","mail","phone","chat","bell","message","eye","eye-off","calendar","clock","history","timer","location","map","globe","star","heart","thumb-up","link","external-link","lock","unlock","key","home","menu","menu-fold","menu-unfold","sidebar-fold","sidebar-expand","sidebar-left","dashboard","chart","chart-pie","chart-line","report","analytics","system","permission","role","user-manage","log","notification","app","list","grid","fullscreen","fullscreen-exit","zoom-in","zoom-out","print","bookmark","tag","code","terminal","database","server","cloud","gift","moon","sun","theme","skin"]),L=o=>{if(!o||o==="")return"";if(o.startsWith("tineco-icon-")){const p=o.replace("tineco-icon-","");return{home:"home",dashboard:"dashboard",system:"system",user:"user",role:"role",menu:"list",setting:"setting",file:"file",folder:"folder",chart:"chart",report:"report",analytics:"analytics"}[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"}[o]||o},ee=o=>o?o.charAt(0):"",Z=o=>J.has(o),q=()=>{f.toggleTheme(),K.value=!1},ne=()=>{document.fullscreenElement?document.exitFullscreen():document.documentElement.requestFullscreen()},se=()=>{z.value=!!document.fullscreenElement},Ee=()=>{B.value=!B.value},re=()=>{B.value=!1},ue=()=>{i.value=!1,_.value=""},he=o=>{E.push(o),ue()},me=()=>{K.value=!0},be=o=>{R.value=o;const r=document.documentElement;o?r.classList.add("grey-mode"):r.classList.remove("grey-mode")},Ve=()=>{be(!R.value),K.value=!1},$e=()=>{f.toggleTheme(),K.value=!1},I=[{value:"sidebar",label:"左侧菜单",icon:"sidebar-left"},{value:"top",label:"顶部菜单",icon:"menu"},{value:"mix",label:"混合菜单",icon:"grid"}],Se=e.computed(()=>f.layout),Ie=o=>{f.setLayout(o),K.value=!1},xe=[{value:"#409eff",label:"默认蓝"},{value:"#1890ff",label:"科技蓝"},{value:"#52c41a",label:"极光绿"},{value:"#faad14",label:"日落橙"},{value:"#f5222d",label:"薄暮红"},{value:"#722ed1",label:"酱紫"}],W=o=>{f.setPrimaryColor(o),K.value=!1},O=()=>{re(),E.push("/profile")},n=()=>{re(),E.push("/change-password")},t=()=>{re(),V.logout(),C.clearUserInfo(),m.clearMenu(),E.push("/login")},l=o=>{w.value&&!w.value.contains(o.target)&&re(),H.value&&!H.value.contains(o.target)&&ue()},d=o=>{o.key==="Escape"&&(ue(),re())};return e.onMounted(()=>{document.addEventListener("click",l),document.addEventListener("fullscreenchange",se),document.addEventListener("keydown",d),R.value=document.documentElement.classList.contains("grey-mode"),S()}),e.onUnmounted(()=>{document.removeEventListener("click",l),document.removeEventListener("fullscreenchange",se),document.removeEventListener("keydown",d)}),(o,r)=>{var p;return e.openBlock(),e.createElementBlock("div",rl,[e.createElementVNode("div",al,[r[3]||(r[3]=e.createElementVNode("img",{src:Je,alt:"Logo",class:"mix-top-menu__logo-img"},null,-1)),e.createElementVNode("span",il,e.toDisplayString(e.unref(f).appName),1)]),e.createVNode(e.unref(_e.Menu),{"model-value":g.value,mode:"horizontal","background-color":Y.value,"text-color":T.value,"active-text-color":D.value,class:"mix-top-menu__menu",onSelect:U},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(m).menuList,a=>(e.openBlock(),e.createBlock(e.unref(_e.MenuItem),{key:a.menuUrl,index:a.menuUrl},{default:e.withCtx(()=>[e.createElementVNode("span",cl,[a.menuName!=="首页"?(e.openBlock(),e.createElementBlock("span",dl,[Z(L(a.icon))?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:L(a.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",ml,e.toDisplayString(ee(a.menuName)),1))])):e.createCommentVNode("",!0),e.createElementVNode("span",pl,e.toDisplayString(a.menuName),1)])]),_:2},1032,["index"]))),128))]),_:1},8,["model-value","background-color","text-color","active-text-color"]),e.createElementVNode("div",fl,[e.createElementVNode("div",{class:"mix-top-menu__search",ref_key:"searchRef",ref:H},[e.createVNode(e.unref(A.Icon),{name:"search",size:14,class:"mix-top-menu__search-icon"}),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":r[0]||(r[0]=a=>_.value=a),type:"text",class:"mix-top-menu__search-input",placeholder:"搜索菜单...",onFocus:r[1]||(r[1]=a=>i.value=!0)},null,544),[[e.vModelText,_.value]]),e.createVNode(e.Transition,{name:"search-dropdown"},{default:e.withCtx(()=>[i.value&&(k.value.length>0||_.value)?(e.openBlock(),e.createElementBlock("div",ul,[k.value.length>0?(e.openBlock(),e.createElementBlock("div",hl,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k.value,a=>(e.openBlock(),e.createElementBlock("div",{key:a.path,class:"mix-top-menu__search-item",onClick:c=>he(a.path)},[a.title!=="首页"?(e.openBlock(),e.createElementBlock("span",_l,[Z(L(a.icon))?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:L(a.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",Nl,e.toDisplayString(ee(a.title)),1))])):e.createCommentVNode("",!0),e.createElementVNode("span",El,e.toDisplayString(a.title),1),a.parentTitle?(e.openBlock(),e.createElementBlock("span",Vl,e.toDisplayString(a.parentTitle),1)):e.createCommentVNode("",!0)],8,gl))),128))])):(e.openBlock(),e.createElementBlock("div",kl," 未找到匹配的菜单 "))])):e.createCommentVNode("",!0)]),_:1})],512),e.createElementVNode("div",{class:"mix-top-menu__action",onClick:ne,title:z.value?"退出全屏":"全屏"},[e.createVNode(e.unref(A.Icon),{name:z.value?"fullscreen-exit":"fullscreen",size:16},null,8,["name"])],8,yl),e.createElementVNode("div",{class:"mix-top-menu__action",onClick:me,title:"换肤设置"},[e.createVNode(e.unref(A.Icon),{name:"skin",size:16})]),e.createElementVNode("div",{class:"mix-top-menu__action",onClick:q,title:"切换主题"},[e.createVNode(e.unref(A.Icon),{name:e.unref(f).isDark?"sun":"moon",size:16},null,8,["name"])]),e.createElementVNode("div",{class:"mix-top-menu__user",ref_key:"dropdownRef",ref:w},[e.createElementVNode("div",{class:"mix-top-menu__user-trigger",onClick:e.withModifiers(Ee,["stop"])},[e.createElementVNode("div",wl,[e.createElementVNode("span",null,e.toDisplayString(((p=e.unref(C).userName)==null?void 0:p.charAt(0))||"U"),1)]),e.createElementVNode("span",xl,e.toDisplayString(e.unref(C).userName),1),e.createElementVNode("span",{class:e.normalizeClass(["mix-top-menu__user-arrow",{"is-active":B.value}])},"▼",2)]),e.createVNode(e.Transition,{name:"dropdown"},{default:e.withCtx(()=>{var a;return[B.value?(e.openBlock(),e.createElementBlock("div",Bl,[e.createElementVNode("div",Cl,[e.createElementVNode("div",bl,[e.createElementVNode("span",null,e.toDisplayString(((a=e.unref(C).userName)==null?void 0:a.charAt(0))||"U"),1)]),e.createElementVNode("div",$l,[e.createElementVNode("div",Sl,e.toDisplayString(e.unref(C).userName),1),e.createElementVNode("div",Il,e.toDisplayString(e.unref(C).departmentName),1)])]),r[8]||(r[8]=e.createElementVNode("div",{class:"mix-top-menu__dropdown-divider"},null,-1)),e.createElementVNode("div",Dl,[e.createElementVNode("div",{class:"mix-top-menu__dropdown-item",onClick:O},[e.createVNode(e.unref(A.Icon),{name:"user",size:16}),r[4]||(r[4]=e.createElementVNode("span",null,"个人信息",-1))]),e.createElementVNode("div",{class:"mix-top-menu__dropdown-item",onClick:n},[e.createVNode(e.unref(A.Icon),{name:"lock",size:16}),r[5]||(r[5]=e.createElementVNode("span",null,"修改密码",-1))]),r[7]||(r[7]=e.createElementVNode("div",{class:"mix-top-menu__dropdown-divider"},null,-1)),e.createElementVNode("div",{class:"mix-top-menu__dropdown-item mix-top-menu__dropdown-item--danger",onClick:t},[e.createVNode(e.unref(A.Icon),{name:"logout",size:16}),r[6]||(r[6]=e.createElementVNode("span",null,"退出登录",-1))])])])):e.createCommentVNode("",!0)]}),_:1})],512)]),e.createVNode(e.unref(oe.Drawer),{modelValue:K.value,"onUpdate:modelValue":r[2]||(r[2]=a=>K.value=a),title:"换肤设置",direction:"rtl",size:"320px"},{default:e.withCtx(()=>[e.createElementVNode("div",Ml,[e.createElementVNode("div",Ll,[r[12]||(r[12]=e.createElementVNode("div",{class:"settings-title"},"布局模式",-1)),e.createElementVNode("div",Tl,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(I,a=>e.createElementVNode("div",{key:a.value,class:e.normalizeClass(["layout-option",{"is-active":Se.value===a.value}]),onClick:c=>Ie(a.value)},[e.createElementVNode("div",Ul,[a.value==="sidebar"?(e.openBlock(),e.createElementBlock("div",zl,[...r[9]||(r[9]=[e.createElementVNode("div",{class:"preview-aside"},null,-1),e.createElementVNode("div",{class:"preview-main"},[e.createElementVNode("div",{class:"preview-header"}),e.createElementVNode("div",{class:"preview-content"})],-1)])])):a.value==="top"?(e.openBlock(),e.createElementBlock("div",Ol,[...r[10]||(r[10]=[e.createElementVNode("div",{class:"preview-header-full"},null,-1),e.createElementVNode("div",{class:"preview-content-full"},null,-1)])])):(e.openBlock(),e.createElementBlock("div",Fl,[...r[11]||(r[11]=[e.createElementVNode("div",{class:"preview-header-mix"},[e.createElementVNode("div",{class:"preview-mix-left"})],-1),e.createElementVNode("div",{class:"preview-mix-body"},[e.createElementVNode("div",{class:"preview-mix-aside"}),e.createElementVNode("div",{class:"preview-mix-content"})],-1)])]))]),e.createElementVNode("span",Rl,e.toDisplayString(a.label),1)],10,Al)),64))])]),e.createElementVNode("div",Pl,[r[13]||(r[13]=e.createElementVNode("div",{class:"settings-title"},"主题色",-1)),e.createElementVNode("div",ql,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(xe,a=>e.createElementVNode("div",{key:a.value,class:e.normalizeClass(["color-option",{"is-active":e.unref(f).primaryColor===a.value}]),style:e.normalizeStyle({backgroundColor:a.value}),title:a.label,onClick:c=>W(a.value)},[e.unref(f).primaryColor===a.value?(e.openBlock(),e.createBlock(e.unref(A.Icon),{key:0,name:"check",size:12,color:"#fff"})):e.createCommentVNode("",!0)],14,jl)),64))])]),e.createElementVNode("div",Hl,[r[18]||(r[18]=e.createElementVNode("div",{class:"settings-title"},"功能设置",-1)),e.createElementVNode("div",Gl,[e.createElementVNode("div",Kl,[r[15]||(r[15]=e.createElementVNode("span",null,"灰色模式",-1)),e.createElementVNode("div",{class:e.normalizeClass(["switch-wrapper",{"is-checked":R.value}]),onClick:Ve},[...r[14]||(r[14]=[e.createElementVNode("span",{class:"switch-core"},null,-1)])],2)]),e.createElementVNode("div",Wl,[r[17]||(r[17]=e.createElementVNode("span",null,"暗黑模式",-1)),e.createElementVNode("div",{class:e.normalizeClass(["switch-wrapper",{"is-checked":e.unref(f).isDark}]),onClick:$e},[...r[16]||(r[16]=[e.createElementVNode("span",{class:"switch-core"},null,-1)])],2)])])])])]),_:1},8,["modelValue"])])}}}),[["__scopeId","data-v-25806305"]]),Yl={key:0,class:"layout layout--sidebar"},Jl={class:"layout__main"},Zl={class:"layout__header"},Ql={class:"layout__content"},vl={key:1,class:"layout layout--top"},es={class:"layout__top-menu"},ts={class:"layout__main"},ns={class:"layout__content"},os={key:2,class:"layout layout--mix"},ls={class:"layout__mix-top-menu"},ss={class:"layout__mix-body"},rs={class:"layout__content"},at=fe(e.defineComponent({__name:"index",setup(s){const u=Ce(),E=De(),m=e.computed(()=>u.isCollapsed?"64px":"210px"),f=e.computed(()=>u.layout),C=e.computed(()=>f.value==="mix"),V=e.computed(()=>f.value==="sidebar"?E.menuList:f.value==="mix"?u.mixSubMenus:[]),g=e.computed(()=>C.value?V.value.length>0:!1);return(x,k)=>{const y=e.resolveComponent("router-view");return e.openBlock(),e.createElementBlock(e.Fragment,null,[f.value==="sidebar"?(e.openBlock(),e.createElementBlock("div",Yl,[e.createElementVNode("aside",{class:"layout__aside",style:e.normalizeStyle({width:m.value})},[e.createVNode(rt,{"menu-list":V.value,"show-logo":!0,"show-user":!0},null,8,["menu-list"])],4),e.createElementVNode("div",Jl,[e.createElementVNode("header",Zl,[e.createVNode(bt)]),e.createElementVNode("main",Ql,[e.createVNode(y)])])])):e.createCommentVNode("",!0),f.value==="top"?(e.openBlock(),e.createElementBlock("div",vl,[e.createElementVNode("div",es,[e.createVNode(sl)]),e.createElementVNode("div",ts,[e.createElementVNode("main",ns,[e.createVNode(y)])])])):e.createCommentVNode("",!0),f.value==="mix"?(e.openBlock(),e.createElementBlock("div",os,[e.createElementVNode("div",ls,[e.createVNode(Xl)]),e.createElementVNode("div",ss,[g.value?(e.openBlock(),e.createElementBlock("aside",{key:0,class:"layout__aside",style:e.normalizeStyle({width:m.value})},[e.createVNode(rt,{"menu-list":V.value,"show-logo":!1,"show-user":!1},null,8,["menu-list"])],4)):e.createCommentVNode("",!0),e.createElementVNode("main",rs,[e.createVNode(y)])])])):e.createCommentVNode("",!0)],64)}}}),[["__scopeId","data-v-fb6a0b14"]]),as=Object.freeze(Object.defineProperty({__proto__:null,default:at},Symbol.toStringTag,{value:"Module"})),is={class:"tabs-wrapper"},cs={class:"tab-label"},ds=["onClick"],ms=fe(e.defineComponent({__name:"Tabs",setup(s){const u=ce.useRoute(),E=ce.useRouter(),m=e.computed(()=>{const g=[];return u.matched.forEach(x=>{var k;(k=x.meta)!=null&&k.affix&&g.push({name:x.name,title:x.meta.title,path:x.path,affix:!0})}),g}),f=e.computed(()=>u.path),C=g=>{E.push(g)},V=g=>{const x=m.value.find(k=>k.path===g);if(!(x!=null&&x.affix)&&g===f.value){const k=m.value.findIndex(M=>M.path===g),y=m.value[k-1]||m.value[k+1];y&&E.push(y.path)}};return(g,x)=>(e.openBlock(),e.createElementBlock("div",is,[e.createVNode(e.unref(_e.Tabs),{modelValue:f.value,"onUpdate:modelValue":x[0]||(x[0]=k=>f.value=k),type:"card",onTabClick:C},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,k=>(e.openBlock(),e.createBlock(e.unref(_e.TabPane),{key:k.path,name:k.path,label:k.title,closable:!k.affix},{label:e.withCtx(()=>[e.createElementVNode("span",cs,[e.createTextVNode(e.toDisplayString(k.title)+" ",1),k.affix?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",{key:0,class:"tab-close",onClick:e.withModifiers(y=>V(k.path),["stop"])}," ✕ ",8,ds))])]),_:2},1032,["name","label","closable"]))),128))]),_:1},8,["modelValue"])]))}}),[["__scopeId","data-v-9156d8cd"]]),ps={},fs={class:"footer"};function us(s,u){return e.openBlock(),e.createElementBlock("div",fs,[...u[0]||(u[0]=[e.createElementVNode("span",null,"Copyright © 2024 Xto Demo. All Rights Reserved.",-1)])])}const hs=fe(ps,[["render",us],["__scopeId","data-v-4852826a"]]);var gs=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function _s(s){return s&&s.__esModule&&Object.prototype.hasOwnProperty.call(s,"default")?s.default:s}var Ge={exports:{}},$t={exports:{}},St={exports:{}};(function(s){(function(u){var E,m=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,f=Math.ceil,C=Math.floor,V="[BigNumber Error] ",g=V+"Number primitive has more than 15 significant digits: ",x=1e14,k=14,y=9007199254740991,M=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],S=1e7,U=1e9;function Y(i){var _,H,J,L=I.prototype={constructor:I,toString:null,valueOf:null},ee=new I(1),Z=20,q=4,ne=-7,se=21,Ee=-1e7,re=1e7,ue=!1,he=1,me=0,be={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:" ",suffix:""},Ve="0123456789abcdefghijklmnopqrstuvwxyz",$e=!0;function I(n,t){var l,d,o,r,p,a,c,N,h=this;if(!(h instanceof I))return new I(n,t);if(t==null){if(n&&n._isBigNumber===!0){h.s=n.s,!n.c||n.e>re?h.c=h.e=null:n.e<Ee?h.c=[h.e=0]:(h.e=n.e,h.c=n.c.slice());return}if((a=typeof n=="number")&&n*0==0){if(h.s=1/n<0?(n=-n,-1):1,n===~~n){for(r=0,p=n;p>=10;p/=10,r++);r>re?h.c=h.e=null:(h.e=r,h.c=[n]);return}N=String(n)}else{if(!m.test(N=String(n)))return J(h,N,a);h.s=N.charCodeAt(0)==45?(N=N.slice(1),-1):1}(r=N.indexOf("."))>-1&&(N=N.replace(".","")),(p=N.search(/e/i))>0?(r<0&&(r=p),r+=+N.slice(p+1),N=N.substring(0,p)):r<0&&(r=N.length)}else{if(w(t,2,Ve.length,"Base"),t==10&&$e)return h=new I(n),W(h,Z+h.e+1,q);if(N=String(n),a=typeof n=="number"){if(n*0!=0)return J(h,N,a,t);if(h.s=1/n<0?(N=N.slice(1),-1):1,I.DEBUG&&N.replace(/^0\.0*|\./,"").length>15)throw Error(g+n)}else h.s=N.charCodeAt(0)===45?(N=N.slice(1),-1):1;for(l=Ve.slice(0,t),r=p=0,c=N.length;p<c;p++)if(l.indexOf(d=N.charAt(p))<0){if(d=="."){if(p>r){r=c;continue}}else if(!o&&(N==N.toUpperCase()&&(N=N.toLowerCase())||N==N.toLowerCase()&&(N=N.toUpperCase()))){o=!0,p=-1,r=0;continue}return J(h,String(n),a,t)}a=!1,N=H(N,t,10,h.s),(r=N.indexOf("."))>-1?N=N.replace(".",""):r=N.length}for(p=0;N.charCodeAt(p)===48;p++);for(c=N.length;N.charCodeAt(--c)===48;);if(N=N.slice(p,++c)){if(c-=p,a&&I.DEBUG&&c>15&&(n>y||n!==C(n)))throw Error(g+h.s*n);if((r=r-p-1)>re)h.c=h.e=null;else if(r<Ee)h.c=[h.e=0];else{if(h.e=r,h.c=[],p=(r+1)%k,r<0&&(p+=k),p<c){for(p&&h.c.push(+N.slice(0,p)),c-=k;p<c;)h.c.push(+N.slice(p,p+=k));p=k-(N=N.slice(p)).length}else p-=c;for(;p--;N+="0");h.c.push(+N)}}else h.c=[h.e=0]}I.clone=Y,I.ROUND_UP=0,I.ROUND_DOWN=1,I.ROUND_CEIL=2,I.ROUND_FLOOR=3,I.ROUND_HALF_UP=4,I.ROUND_HALF_DOWN=5,I.ROUND_HALF_EVEN=6,I.ROUND_HALF_CEIL=7,I.ROUND_HALF_FLOOR=8,I.EUCLID=9,I.config=I.set=function(n){var t,l;if(n!=null)if(typeof n=="object"){if(n.hasOwnProperty(t="DECIMAL_PLACES")&&(l=n[t],w(l,0,U,t),Z=l),n.hasOwnProperty(t="ROUNDING_MODE")&&(l=n[t],w(l,0,8,t),q=l),n.hasOwnProperty(t="EXPONENTIAL_AT")&&(l=n[t],l&&l.pop?(w(l[0],-U,0,t),w(l[1],0,U,t),ne=l[0],se=l[1]):(w(l,-U,U,t),ne=-(se=l<0?-l:l))),n.hasOwnProperty(t="RANGE"))if(l=n[t],l&&l.pop)w(l[0],-U,-1,t),w(l[1],1,U,t),Ee=l[0],re=l[1];else if(w(l,-U,U,t),l)Ee=-(re=l<0?-l:l);else throw Error(V+t+" cannot be zero: "+l);if(n.hasOwnProperty(t="CRYPTO"))if(l=n[t],l===!!l)if(l)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))ue=l;else throw ue=!l,Error(V+"crypto unavailable");else ue=l;else throw Error(V+t+" not true or false: "+l);if(n.hasOwnProperty(t="MODULO_MODE")&&(l=n[t],w(l,0,9,t),he=l),n.hasOwnProperty(t="POW_PRECISION")&&(l=n[t],w(l,0,U,t),me=l),n.hasOwnProperty(t="FORMAT"))if(l=n[t],typeof l=="object")be=l;else throw Error(V+t+" not an object: "+l);if(n.hasOwnProperty(t="ALPHABET"))if(l=n[t],typeof l=="string"&&!/^.?$|[+\-.\s]|(.).*\1/.test(l))$e=l.slice(0,10)=="0123456789",Ve=l;else throw Error(V+t+" invalid: "+l)}else throw Error(V+"Object expected: "+n);return{DECIMAL_PLACES:Z,ROUNDING_MODE:q,EXPONENTIAL_AT:[ne,se],RANGE:[Ee,re],CRYPTO:ue,MODULO_MODE:he,POW_PRECISION:me,FORMAT:be,ALPHABET:Ve}},I.isBigNumber=function(n){if(!n||n._isBigNumber!==!0)return!1;if(!I.DEBUG)return!0;var t,l,d=n.c,o=n.e,r=n.s;e:if({}.toString.call(d)=="[object Array]"){if((r===1||r===-1)&&o>=-U&&o<=U&&o===C(o)){if(d[0]===0){if(o===0&&d.length===1)return!0;break e}if(t=(o+1)%k,t<1&&(t+=k),String(d[0]).length==t){for(t=0;t<d.length;t++)if(l=d[t],l<0||l>=x||l!==C(l))break e;if(l!==0)return!0}}}else if(d===null&&o===null&&(r===null||r===1||r===-1))return!0;throw Error(V+"Invalid BigNumber: "+n)},I.maximum=I.max=function(){return Ie(arguments,-1)},I.minimum=I.min=function(){return Ie(arguments,1)},I.random=function(){var n=9007199254740992,t=Math.random()*n&2097151?function(){return C(Math.random()*n)}:function(){return(Math.random()*1073741824|0)*8388608+(Math.random()*8388608|0)};return function(l){var d,o,r,p,a,c=0,N=[],h=new I(ee);if(l==null?l=Z:w(l,0,U),p=f(l/k),ue)if(crypto.getRandomValues){for(d=crypto.getRandomValues(new Uint32Array(p*=2));c<p;)a=d[c]*131072+(d[c+1]>>>11),a>=9e15?(o=crypto.getRandomValues(new Uint32Array(2)),d[c]=o[0],d[c+1]=o[1]):(N.push(a%1e14),c+=2);c=p/2}else if(crypto.randomBytes){for(d=crypto.randomBytes(p*=7);c<p;)a=(d[c]&31)*281474976710656+d[c+1]*1099511627776+d[c+2]*4294967296+d[c+3]*16777216+(d[c+4]<<16)+(d[c+5]<<8)+d[c+6],a>=9e15?crypto.randomBytes(7).copy(d,c):(N.push(a%1e14),c+=7);c=p/7}else throw ue=!1,Error(V+"crypto unavailable");if(!ue)for(;c<p;)a=t(),a<9e15&&(N[c++]=a%1e14);for(p=N[--c],l%=k,p&&l&&(a=M[k-l],N[c]=C(p/a)*a);N[c]===0;N.pop(),c--);if(c<0)N=[r=0];else{for(r=-1;N[0]===0;N.splice(0,1),r-=k);for(c=1,a=N[0];a>=10;a/=10,c++);c<k&&(r-=k-c)}return h.e=r,h.c=N,h}}(),I.sum=function(){for(var n=1,t=arguments,l=new I(t[0]);n<t.length;)l=l.plus(t[n++]);return l},H=function(){var n="0123456789";function t(l,d,o,r){for(var p,a=[0],c,N=0,h=l.length;N<h;){for(c=a.length;c--;a[c]*=d);for(a[0]+=r.indexOf(l.charAt(N++)),p=0;p<a.length;p++)a[p]>o-1&&(a[p+1]==null&&(a[p+1]=0),a[p+1]+=a[p]/o|0,a[p]%=o)}return a.reverse()}return function(l,d,o,r,p){var a,c,N,h,b,P,j,v,ae=l.indexOf("."),de=Z,Q=q;for(ae>=0&&(h=me,me=0,l=l.replace(".",""),v=new I(d),P=v.pow(l.length-ae),me=h,v.c=t(R(D(P.c),P.e,"0"),10,o,n),v.e=v.c.length),j=t(l,d,o,p?(a=Ve,n):(a=n,Ve)),N=h=j.length;j[--h]==0;j.pop());if(!j[0])return a.charAt(0);if(ae<0?--N:(P.c=j,P.e=N,P.s=r,P=_(P,v,de,Q,o),j=P.c,b=P.r,N=P.e),c=N+de+1,ae=j[c],h=o/2,b=b||c<0||j[c+1]!=null,b=Q<4?(ae!=null||b)&&(Q==0||Q==(P.s<0?3:2)):ae>h||ae==h&&(Q==4||b||Q==6&&j[c-1]&1||Q==(P.s<0?8:7)),c<1||!j[0])l=b?R(a.charAt(1),-de,a.charAt(0)):a.charAt(0);else{if(j.length=c,b)for(--o;++j[--c]>o;)j[c]=0,c||(++N,j=[1].concat(j));for(h=j.length;!j[--h];);for(ae=0,l="";ae<=h;l+=a.charAt(j[ae++]));l=R(l,N,a.charAt(0))}return l}}(),_=function(){function n(d,o,r){var p,a,c,N,h=0,b=d.length,P=o%S,j=o/S|0;for(d=d.slice();b--;)c=d[b]%S,N=d[b]/S|0,p=j*c+N*P,a=P*c+p%S*S+h,h=(a/r|0)+(p/S|0)+j*N,d[b]=a%r;return h&&(d=[h].concat(d)),d}function t(d,o,r,p){var a,c;if(r!=p)c=r>p?1:-1;else for(a=c=0;a<r;a++)if(d[a]!=o[a]){c=d[a]>o[a]?1:-1;break}return c}function l(d,o,r,p){for(var a=0;r--;)d[r]-=a,a=d[r]<o[r]?1:0,d[r]=a*p+d[r]-o[r];for(;!d[0]&&d.length>1;d.splice(0,1));}return function(d,o,r,p,a){var c,N,h,b,P,j,v,ae,de,Q,te,pe,We,pt,ft,Be,Re,ye=d.s==o.s?1:-1,ge=d.c,ie=o.c;if(!ge||!ge[0]||!ie||!ie[0])return new I(!d.s||!o.s||(ge?ie&&ge[0]==ie[0]:!ie)?NaN:ge&&ge[0]==0||!ie?ye*0:ye/0);for(ae=new I(ye),de=ae.c=[],N=d.e-o.e,ye=r+N+1,a||(a=x,N=T(d.e/k)-T(o.e/k),ye=ye/k|0),h=0;ie[h]==(ge[h]||0);h++);if(ie[h]>(ge[h]||0)&&N--,ye<0)de.push(1),b=!0;else{for(pt=ge.length,Be=ie.length,h=0,ye+=2,P=C(a/(ie[0]+1)),P>1&&(ie=n(ie,P,a),ge=n(ge,P,a),Be=ie.length,pt=ge.length),We=Be,Q=ge.slice(0,Be),te=Q.length;te<Be;Q[te++]=0);Re=ie.slice(),Re=[0].concat(Re),ft=ie[0],ie[1]>=a/2&&ft++;do{if(P=0,c=t(ie,Q,Be,te),c<0){if(pe=Q[0],Be!=te&&(pe=pe*a+(Q[1]||0)),P=C(pe/ft),P>1)for(P>=a&&(P=a-1),j=n(ie,P,a),v=j.length,te=Q.length;t(j,Q,v,te)==1;)P--,l(j,Be<v?Re:ie,v,a),v=j.length,c=1;else P==0&&(c=P=1),j=ie.slice(),v=j.length;if(v<te&&(j=[0].concat(j)),l(Q,j,te,a),te=Q.length,c==-1)for(;t(ie,Q,Be,te)<1;)P++,l(Q,Be<te?Re:ie,te,a),te=Q.length}else c===0&&(P++,Q=[0]);de[h++]=P,Q[0]?Q[te++]=ge[We]||0:(Q=[ge[We]],te=1)}while((We++<pt||Q[0]!=null)&&ye--);b=Q[0]!=null,de[0]||de.splice(0,1)}if(a==x){for(h=1,ye=de[0];ye>=10;ye/=10,h++);W(ae,r+(ae.e=h+N*k-1)+1,p,b)}else ae.e=N,ae.r=+b;return ae}}();function Se(n,t,l,d){var o,r,p,a,c;if(l==null?l=q:w(l,0,8),!n.c)return n.toString();if(o=n.c[0],p=n.e,t==null)c=D(n.c),c=d==1||d==2&&(p<=ne||p>=se)?K(c,p):R(c,p,"0");else if(n=W(new I(n),t,l),r=n.e,c=D(n.c),a=c.length,d==1||d==2&&(t<=r||r<=ne)){for(;a<t;c+="0",a++);c=K(c,r)}else if(t-=p+(d===2&&r>p),c=R(c,r,"0"),r+1>a){if(--t>0)for(c+=".";t--;c+="0");}else if(t+=r-a,t>0)for(r+1==a&&(c+=".");t--;c+="0");return n.s<0&&o?"-"+c:c}function Ie(n,t){for(var l,d,o=1,r=new I(n[0]);o<n.length;o++)d=new I(n[o]),(!d.s||(l=B(r,d))===t||l===0&&r.s===t)&&(r=d);return r}function xe(n,t,l){for(var d=1,o=t.length;!t[--o];t.pop());for(o=t[0];o>=10;o/=10,d++);return(l=d+l*k-1)>re?n.c=n.e=null:l<Ee?n.c=[n.e=0]:(n.e=l,n.c=t),n}J=function(){var n=/^(-?)0([xbo])(?=\w[\w.]*$)/i,t=/^([^.]+)\.$/,l=/^\.([^.]+)$/,d=/^-?(Infinity|NaN)$/,o=/^\s*\+(?=[\w.])|^\s+|\s+$/g;return function(r,p,a,c){var N,h=a?p:p.replace(o,"");if(d.test(h))r.s=isNaN(h)?null:h<0?-1:1;else{if(!a&&(h=h.replace(n,function(b,P,j){return N=(j=j.toLowerCase())=="x"?16:j=="b"?2:8,!c||c==N?P:b}),c&&(N=c,h=h.replace(t,"$1").replace(l,"0.$1")),p!=h))return new I(h,N);if(I.DEBUG)throw Error(V+"Not a"+(c?" base "+c:"")+" number: "+p);r.s=null}r.c=r.e=null}}();function W(n,t,l,d){var o,r,p,a,c,N,h,b=n.c,P=M;if(b){e:{for(o=1,a=b[0];a>=10;a/=10,o++);if(r=t-o,r<0)r+=k,p=t,c=b[N=0],h=C(c/P[o-p-1]%10);else if(N=f((r+1)/k),N>=b.length)if(d){for(;b.length<=N;b.push(0));c=h=0,o=1,r%=k,p=r-k+1}else break e;else{for(c=a=b[N],o=1;a>=10;a/=10,o++);r%=k,p=r-k+o,h=p<0?0:C(c/P[o-p-1]%10)}if(d=d||t<0||b[N+1]!=null||(p<0?c:c%P[o-p-1]),d=l<4?(h||d)&&(l==0||l==(n.s<0?3:2)):h>5||h==5&&(l==4||d||l==6&&(r>0?p>0?c/P[o-p]:0:b[N-1])%10&1||l==(n.s<0?8:7)),t<1||!b[0])return b.length=0,d?(t-=n.e+1,b[0]=P[(k-t%k)%k],n.e=-t||0):b[0]=n.e=0,n;if(r==0?(b.length=N,a=1,N--):(b.length=N+1,a=P[k-r],b[N]=p>0?C(c/P[o-p]%P[p])*a:0),d)for(;;)if(N==0){for(r=1,p=b[0];p>=10;p/=10,r++);for(p=b[0]+=a,a=1;p>=10;p/=10,a++);r!=a&&(n.e++,b[0]==x&&(b[0]=1));break}else{if(b[N]+=a,b[N]!=x)break;b[N--]=0,a=1}for(r=b.length;b[--r]===0;b.pop());}n.e>re?n.c=n.e=null:n.e<Ee&&(n.c=[n.e=0])}return n}function O(n){var t,l=n.e;return l===null?n.toString():(t=D(n.c),t=l<=ne||l>=se?K(t,l):R(t,l,"0"),n.s<0?"-"+t:t)}return L.absoluteValue=L.abs=function(){var n=new I(this);return n.s<0&&(n.s=1),n},L.comparedTo=function(n,t){return B(this,new I(n,t))},L.decimalPlaces=L.dp=function(n,t){var l,d,o,r=this;if(n!=null)return w(n,0,U),t==null?t=q:w(t,0,8),W(new I(r),n+r.e+1,t);if(!(l=r.c))return null;if(d=((o=l.length-1)-T(this.e/k))*k,o=l[o])for(;o%10==0;o/=10,d--);return d<0&&(d=0),d},L.dividedBy=L.div=function(n,t){return _(this,new I(n,t),Z,q)},L.dividedToIntegerBy=L.idiv=function(n,t){return _(this,new I(n,t),0,1)},L.exponentiatedBy=L.pow=function(n,t){var l,d,o,r,p,a,c,N,h,b=this;if(n=new I(n),n.c&&!n.isInteger())throw Error(V+"Exponent not an integer: "+O(n));if(t!=null&&(t=new I(t)),a=n.e>14,!b.c||!b.c[0]||b.c[0]==1&&!b.e&&b.c.length==1||!n.c||!n.c[0])return h=new I(Math.pow(+O(b),a?n.s*(2-z(n)):+O(n))),t?h.mod(t):h;if(c=n.s<0,t){if(t.c?!t.c[0]:!t.s)return new I(NaN);d=!c&&b.isInteger()&&t.isInteger(),d&&(b=b.mod(t))}else{if(n.e>9&&(b.e>0||b.e<-1||(b.e==0?b.c[0]>1||a&&b.c[1]>=24e7:b.c[0]<8e13||a&&b.c[0]<=9999975e7)))return r=b.s<0&&z(n)?-0:0,b.e>-1&&(r=1/r),new I(c?1/r:r);me&&(r=f(me/k+2))}for(a?(l=new I(.5),c&&(n.s=1),N=z(n)):(o=Math.abs(+O(n)),N=o%2),h=new I(ee);;){if(N){if(h=h.times(b),!h.c)break;r?h.c.length>r&&(h.c.length=r):d&&(h=h.mod(t))}if(o){if(o=C(o/2),o===0)break;N=o%2}else if(n=n.times(l),W(n,n.e+1,1),n.e>14)N=z(n);else{if(o=+O(n),o===0)break;N=o%2}b=b.times(b),r?b.c&&b.c.length>r&&(b.c.length=r):d&&(b=b.mod(t))}return d?h:(c&&(h=ee.div(h)),t?h.mod(t):r?W(h,me,q,p):h)},L.integerValue=function(n){var t=new I(this);return n==null?n=q:w(n,0,8),W(t,t.e+1,n)},L.isEqualTo=L.eq=function(n,t){return B(this,new I(n,t))===0},L.isFinite=function(){return!!this.c},L.isGreaterThan=L.gt=function(n,t){return B(this,new I(n,t))>0},L.isGreaterThanOrEqualTo=L.gte=function(n,t){return(t=B(this,new I(n,t)))===1||t===0},L.isInteger=function(){return!!this.c&&T(this.e/k)>this.c.length-2},L.isLessThan=L.lt=function(n,t){return B(this,new I(n,t))<0},L.isLessThanOrEqualTo=L.lte=function(n,t){return(t=B(this,new I(n,t)))===-1||t===0},L.isNaN=function(){return!this.s},L.isNegative=function(){return this.s<0},L.isPositive=function(){return this.s>0},L.isZero=function(){return!!this.c&&this.c[0]==0},L.minus=function(n,t){var l,d,o,r,p=this,a=p.s;if(n=new I(n,t),t=n.s,!a||!t)return new I(NaN);if(a!=t)return n.s=-t,p.plus(n);var c=p.e/k,N=n.e/k,h=p.c,b=n.c;if(!c||!N){if(!h||!b)return h?(n.s=-t,n):new I(b?p:NaN);if(!h[0]||!b[0])return b[0]?(n.s=-t,n):new I(h[0]?p:q==3?-0:0)}if(c=T(c),N=T(N),h=h.slice(),a=c-N){for((r=a<0)?(a=-a,o=h):(N=c,o=b),o.reverse(),t=a;t--;o.push(0));o.reverse()}else for(d=(r=(a=h.length)<(t=b.length))?a:t,a=t=0;t<d;t++)if(h[t]!=b[t]){r=h[t]<b[t];break}if(r&&(o=h,h=b,b=o,n.s=-n.s),t=(d=b.length)-(l=h.length),t>0)for(;t--;h[l++]=0);for(t=x-1;d>a;){if(h[--d]<b[d]){for(l=d;l&&!h[--l];h[l]=t);--h[l],h[d]+=x}h[d]-=b[d]}for(;h[0]==0;h.splice(0,1),--N);return h[0]?xe(n,h,N):(n.s=q==3?-1:1,n.c=[n.e=0],n)},L.modulo=L.mod=function(n,t){var l,d,o=this;return n=new I(n,t),!o.c||!n.s||n.c&&!n.c[0]?new I(NaN):!n.c||o.c&&!o.c[0]?new I(o):(he==9?(d=n.s,n.s=1,l=_(o,n,0,3),n.s=d,l.s*=d):l=_(o,n,0,he),n=o.minus(l.times(n)),!n.c[0]&&he==1&&(n.s=o.s),n)},L.multipliedBy=L.times=function(n,t){var l,d,o,r,p,a,c,N,h,b,P,j,v,ae,de,Q=this,te=Q.c,pe=(n=new I(n,t)).c;if(!te||!pe||!te[0]||!pe[0])return!Q.s||!n.s||te&&!te[0]&&!pe||pe&&!pe[0]&&!te?n.c=n.e=n.s=null:(n.s*=Q.s,!te||!pe?n.c=n.e=null:(n.c=[0],n.e=0)),n;for(d=T(Q.e/k)+T(n.e/k),n.s*=Q.s,c=te.length,b=pe.length,c<b&&(v=te,te=pe,pe=v,o=c,c=b,b=o),o=c+b,v=[];o--;v.push(0));for(ae=x,de=S,o=b;--o>=0;){for(l=0,P=pe[o]%de,j=pe[o]/de|0,p=c,r=o+p;r>o;)N=te[--p]%de,h=te[p]/de|0,a=j*N+h*P,N=P*N+a%de*de+v[r]+l,l=(N/ae|0)+(a/de|0)+j*h,v[r--]=N%ae;v[r]=l}return l?++d:v.splice(0,1),xe(n,v,d)},L.negated=function(){var n=new I(this);return n.s=-n.s||null,n},L.plus=function(n,t){var l,d=this,o=d.s;if(n=new I(n,t),t=n.s,!o||!t)return new I(NaN);if(o!=t)return n.s=-t,d.minus(n);var r=d.e/k,p=n.e/k,a=d.c,c=n.c;if(!r||!p){if(!a||!c)return new I(o/0);if(!a[0]||!c[0])return c[0]?n:new I(a[0]?d:o*0)}if(r=T(r),p=T(p),a=a.slice(),o=r-p){for(o>0?(p=r,l=c):(o=-o,l=a),l.reverse();o--;l.push(0));l.reverse()}for(o=a.length,t=c.length,o-t<0&&(l=c,c=a,a=l,t=o),o=0;t;)o=(a[--t]=a[t]+c[t]+o)/x|0,a[t]=x===a[t]?0:a[t]%x;return o&&(a=[o].concat(a),++p),xe(n,a,p)},L.precision=L.sd=function(n,t){var l,d,o,r=this;if(n!=null&&n!==!!n)return w(n,1,U),t==null?t=q:w(t,0,8),W(new I(r),n,t);if(!(l=r.c))return null;if(o=l.length-1,d=o*k+1,o=l[o]){for(;o%10==0;o/=10,d--);for(o=l[0];o>=10;o/=10,d++);}return n&&r.e+1>d&&(d=r.e+1),d},L.shiftedBy=function(n){return w(n,-y,y),this.times("1e"+n)},L.squareRoot=L.sqrt=function(){var n,t,l,d,o,r=this,p=r.c,a=r.s,c=r.e,N=Z+4,h=new I("0.5");if(a!==1||!p||!p[0])return new I(!a||a<0&&(!p||p[0])?NaN:p?r:1/0);if(a=Math.sqrt(+O(r)),a==0||a==1/0?(t=D(p),(t.length+c)%2==0&&(t+="0"),a=Math.sqrt(+t),c=T((c+1)/2)-(c<0||c%2),a==1/0?t="5e"+c:(t=a.toExponential(),t=t.slice(0,t.indexOf("e")+1)+c),l=new I(t)):l=new I(a+""),l.c[0]){for(c=l.e,a=c+N,a<3&&(a=0);;)if(o=l,l=h.times(o.plus(_(r,o,N,1))),D(o.c).slice(0,a)===(t=D(l.c)).slice(0,a))if(l.e<c&&--a,t=t.slice(a-3,a+1),t=="9999"||!d&&t=="4999"){if(!d&&(W(o,o.e+Z+2,0),o.times(o).eq(r))){l=o;break}N+=4,a+=4,d=1}else{(!+t||!+t.slice(1)&&t.charAt(0)=="5")&&(W(l,l.e+Z+2,1),n=!l.times(l).eq(r));break}}return W(l,l.e+Z+1,q,n)},L.toExponential=function(n,t){return n!=null&&(w(n,0,U),n++),Se(this,n,t,1)},L.toFixed=function(n,t){return n!=null&&(w(n,0,U),n=n+this.e+1),Se(this,n,t)},L.toFormat=function(n,t,l){var d,o=this;if(l==null)n!=null&&t&&typeof t=="object"?(l=t,t=null):n&&typeof n=="object"?(l=n,n=t=null):l=be;else if(typeof l!="object")throw Error(V+"Argument not an object: "+l);if(d=o.toFixed(n,t),o.c){var r,p=d.split("."),a=+l.groupSize,c=+l.secondaryGroupSize,N=l.groupSeparator||"",h=p[0],b=p[1],P=o.s<0,j=P?h.slice(1):h,v=j.length;if(c&&(r=a,a=c,c=r,v-=r),a>0&&v>0){for(r=v%a||a,h=j.substr(0,r);r<v;r+=a)h+=N+j.substr(r,a);c>0&&(h+=N+j.slice(r)),P&&(h="-"+h)}d=b?h+(l.decimalSeparator||"")+((c=+l.fractionGroupSize)?b.replace(new RegExp("\\d{"+c+"}\\B","g"),"$&"+(l.fractionGroupSeparator||"")):b):h}return(l.prefix||"")+d+(l.suffix||"")},L.toFraction=function(n){var t,l,d,o,r,p,a,c,N,h,b,P,j=this,v=j.c;if(n!=null&&(a=new I(n),!a.isInteger()&&(a.c||a.s!==1)||a.lt(ee)))throw Error(V+"Argument "+(a.isInteger()?"out of range: ":"not an integer: ")+O(a));if(!v)return new I(j);for(t=new I(ee),N=l=new I(ee),d=c=new I(ee),P=D(v),r=t.e=P.length-j.e-1,t.c[0]=M[(p=r%k)<0?k+p:p],n=!n||a.comparedTo(t)>0?r>0?t:N:a,p=re,re=1/0,a=new I(P),c.c[0]=0;h=_(a,t,0,1),o=l.plus(h.times(d)),o.comparedTo(n)!=1;)l=d,d=o,N=c.plus(h.times(o=N)),c=o,t=a.minus(h.times(o=t)),a=o;return o=_(n.minus(l),d,0,1),c=c.plus(o.times(N)),l=l.plus(o.times(d)),c.s=N.s=j.s,r=r*2,b=_(N,d,r,q).minus(j).abs().comparedTo(_(c,l,r,q).minus(j).abs())<1?[N,d]:[c,l],re=p,b},L.toNumber=function(){return+O(this)},L.toPrecision=function(n,t){return n!=null&&w(n,1,U),Se(this,n,t,2)},L.toString=function(n){var t,l=this,d=l.s,o=l.e;return o===null?d?(t="Infinity",d<0&&(t="-"+t)):t="NaN":(n==null?t=o<=ne||o>=se?K(D(l.c),o):R(D(l.c),o,"0"):n===10&&$e?(l=W(new I(l),Z+o+1,q),t=R(D(l.c),l.e,"0")):(w(n,2,Ve.length,"Base"),t=H(R(D(l.c),o,"0"),10,n,d,!0)),d<0&&l.c[0]&&(t="-"+t)),t},L.valueOf=L.toJSON=function(){return O(this)},L._isBigNumber=!0,i!=null&&I.set(i),I}function T(i){var _=i|0;return i>0||i===_?_:_-1}function D(i){for(var _,H,J=1,L=i.length,ee=i[0]+"";J<L;){for(_=i[J++]+"",H=k-_.length;H--;_="0"+_);ee+=_}for(L=ee.length;ee.charCodeAt(--L)===48;);return ee.slice(0,L+1||1)}function B(i,_){var H,J,L=i.c,ee=_.c,Z=i.s,q=_.s,ne=i.e,se=_.e;if(!Z||!q)return null;if(H=L&&!L[0],J=ee&&!ee[0],H||J)return H?J?0:-q:Z;if(Z!=q)return Z;if(H=Z<0,J=ne==se,!L||!ee)return J?0:!L^H?1:-1;if(!J)return ne>se^H?1:-1;for(q=(ne=L.length)<(se=ee.length)?ne:se,Z=0;Z<q;Z++)if(L[Z]!=ee[Z])return L[Z]>ee[Z]^H?1:-1;return ne==se?0:ne>se^H?1:-1}function w(i,_,H,J){if(i<_||i>H||i!==C(i))throw Error(V+(J||"Argument")+(typeof i=="number"?i<_||i>H?" out of range: ":" not an integer: ":" not a primitive number: ")+String(i))}function z(i){var _=i.c.length-1;return T(i.e/k)==_&&i.c[_]%2!=0}function K(i,_){return(i.length>1?i.charAt(0)+"."+i.slice(1):i)+(_<0?"e":"e+")+_}function R(i,_,H){var J,L;if(_<0){for(L=H+".";++_;L+=H);i=L+i}else if(J=i.length,++_>J){for(L=H,_-=J;--_;L+=H);i+=L}else _<J&&(i=i.slice(0,_)+"."+i.slice(_));return i}E=Y(),E.default=E.BigNumber=E,s.exports?s.exports=E:(u||(u=typeof self<"u"&&self?self:window),u.BigNumber=E)})(gs)})(St);var It=St.exports;(function(s){var u=It,E=s.exports;(function(){var m=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,f,C,V={"\b":"\\b"," ":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},g;function x(y){return m.lastIndex=0,m.test(y)?'"'+y.replace(m,function(M){var S=V[M];return typeof S=="string"?S:"\\u"+("0000"+M.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+y+'"'}function k(y,M){var S,U,Y,T,D=f,B,w=M[y],z=w!=null&&(w instanceof u||u.isBigNumber(w));switch(w&&typeof w=="object"&&typeof w.toJSON=="function"&&(w=w.toJSON(y)),typeof g=="function"&&(w=g.call(M,y,w)),typeof w){case"string":return z?w:x(w);case"number":return isFinite(w)?String(w):"null";case"boolean":case"null":case"bigint":return String(w);case"object":if(!w)return"null";if(f+=C,B=[],Object.prototype.toString.apply(w)==="[object Array]"){for(T=w.length,S=0;S<T;S+=1)B[S]=k(S,w)||"null";return Y=B.length===0?"[]":f?`[
2
- `+f+B.join(`,
3
- `+f)+`
4
- `+D+"]":"["+B.join(",")+"]",f=D,Y}if(g&&typeof g=="object")for(T=g.length,S=0;S<T;S+=1)typeof g[S]=="string"&&(U=g[S],Y=k(U,w),Y&&B.push(x(U)+(f?": ":":")+Y));else Object.keys(w).forEach(function(K){var R=k(K,w);R&&B.push(x(K)+(f?": ":":")+R)});return Y=B.length===0?"{}":f?`{
5
- `+f+B.join(`,
6
- `+f)+`
7
- `+D+"}":"{"+B.join(",")+"}",f=D,Y}}typeof E.stringify!="function"&&(E.stringify=function(y,M,S){var U;if(f="",C="",typeof S=="number")for(U=0;U<S;U+=1)C+=" ";else typeof S=="string"&&(C=S);if(g=M,M&&typeof M!="function"&&(typeof M!="object"||typeof M.length!="number"))throw new Error("JSON.stringify");return k("",{"":y})})})()})($t);var Ns=$t.exports,Ke=null;const Es=/(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])/,Vs=/(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)/;var ks=function(s){var u={strict:!1,storeAsString:!1,alwaysParseAsBig:!1,useNativeBigInt:!1,protoAction:"error",constructorAction:"error"};if(s!=null){if(s.strict===!0&&(u.strict=!0),s.storeAsString===!0&&(u.storeAsString=!0),u.alwaysParseAsBig=s.alwaysParseAsBig===!0?s.alwaysParseAsBig:!1,u.useNativeBigInt=s.useNativeBigInt===!0?s.useNativeBigInt:!1,typeof s.constructorAction<"u")if(s.constructorAction==="error"||s.constructorAction==="ignore"||s.constructorAction==="preserve")u.constructorAction=s.constructorAction;else throw new Error(`Incorrect value for constructorAction option, must be "error", "ignore" or undefined but passed ${s.constructorAction}`);if(typeof s.protoAction<"u")if(s.protoAction==="error"||s.protoAction==="ignore"||s.protoAction==="preserve")u.protoAction=s.protoAction;else throw new Error(`Incorrect value for protoAction option, must be "error", "ignore" or undefined but passed ${s.protoAction}`)}var E,m,f={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:`
8
- `,r:"\r",t:" "},C,V=function(T){throw{name:"SyntaxError",message:T,at:E,text:C}},g=function(T){return T&&T!==m&&V("Expected '"+T+"' instead of '"+m+"'"),m=C.charAt(E),E+=1,m},x=function(){var T,D="";for(m==="-"&&(D="-",g("-"));m>="0"&&m<="9";)D+=m,g();if(m===".")for(D+=".";g()&&m>="0"&&m<="9";)D+=m;if(m==="e"||m==="E")for(D+=m,g(),(m==="-"||m==="+")&&(D+=m,g());m>="0"&&m<="9";)D+=m,g();if(T=+D,!isFinite(T))V("Bad number");else return Ke==null&&(Ke=It),D.length>15?u.storeAsString?D:u.useNativeBigInt?BigInt(D):new Ke(D):u.alwaysParseAsBig?u.useNativeBigInt?BigInt(T):new Ke(T):T},k=function(){var T,D,B="",w;if(m==='"')for(var z=E;g();){if(m==='"')return E-1>z&&(B+=C.substring(z,E-1)),g(),B;if(m==="\\"){if(E-1>z&&(B+=C.substring(z,E-1)),g(),m==="u"){for(w=0,D=0;D<4&&(T=parseInt(g(),16),!!isFinite(T));D+=1)w=w*16+T;B+=String.fromCharCode(w)}else if(typeof f[m]=="string")B+=f[m];else break;z=E}}V("Bad string")},y=function(){for(;m&&m<=" ";)g()},M=function(){switch(m){case"t":return g("t"),g("r"),g("u"),g("e"),!0;case"f":return g("f"),g("a"),g("l"),g("s"),g("e"),!1;case"n":return g("n"),g("u"),g("l"),g("l"),null}V("Unexpected '"+m+"'")},S,U=function(){var T=[];if(m==="["){if(g("["),y(),m==="]")return g("]"),T;for(;m;){if(T.push(S()),y(),m==="]")return g("]"),T;g(","),y()}}V("Bad array")},Y=function(){var T,D=Object.create(null);if(m==="{"){if(g("{"),y(),m==="}")return g("}"),D;for(;m;){if(T=k(),y(),g(":"),u.strict===!0&&Object.hasOwnProperty.call(D,T)&&V('Duplicate key "'+T+'"'),Es.test(T)===!0?u.protoAction==="error"?V("Object contains forbidden prototype property"):u.protoAction==="ignore"?S():D[T]=S():Vs.test(T)===!0?u.constructorAction==="error"?V("Object contains forbidden constructor property"):u.constructorAction==="ignore"?S():D[T]=S():D[T]=S(),y(),m==="}")return g("}"),D;g(","),y()}}V("Bad object")};return S=function(){switch(y(),m){case"{":return Y();case"[":return U();case'"':return k();case"-":return x();default:return m>="0"&&m<="9"?x():M()}},function(T,D){var B;return C=T+"",E=0,m=" ",B=S(),y(),m&&V("Syntax error"),typeof D=="function"?function w(z,K){var R,i=z[K];return i&&typeof i=="object"&&Object.keys(i).forEach(function(_){R=w(i,_),R!==void 0?i[_]=R:delete i[_]}),D.call(z,K,i)}({"":B},""):B}},ys=ks,Dt=Ns.stringify,Mt=ys;Ge.exports=function(s){return{parse:Mt(s),stringify:Dt}},Ge.exports.parse=Mt(),Ge.exports.stringify=Dt;var ws=Ge.exports;const xs=_s(ws)({storeAsString:!0}),Te=(()=>{const s=Kt.create({baseURL:void 0,timeout:3e4,headers:{"Content-Type":"application/json"},transformResponse:[u=>{if(typeof u=="string")try{return xs.parse(u)}catch{return u}return u}]});return s.interceptors.request.use(u=>{const E=Fe(),m=Nt()||"Bearer";return E&&(u.headers.Authorization=`${m} ${E}`),u},u=>Promise.reject(u)),s.interceptors.response.use(u=>{const{data:E}=u;return E.code===200||E.code===0?E.data:E.code===9121?(oe.Message.error("登录已过期,请重新登录"),Me(),window.location.href="/login",Promise.reject(new Error(E.message||"EXPIRED OR INVALID TOKEN"))):(oe.Message.error(E.message||"请求失败"),Promise.reject(new Error(E.message||"请求失败")))},u=>{var m;const{response:E}=u;if(E){const{data:f}=E;if((f==null?void 0:f.code)===9121)return oe.Message.error("登录已过期,请重新登录"),Me(),window.location.href="/login",Promise.reject(u);switch(E.status){case 401:oe.Message.error("登录已过期,请重新登录"),Me(),window.location.href="/login";break;case 403:oe.Message.error("没有权限访问");break;case 404:oe.Message.error("请求资源不存在");break;case 500:oe.Message.error("服务器错误");break;default:oe.Message.error(((m=E.data)==null?void 0:m.message)||"请求失败")}}else oe.Message.error("网络连接失败");return Promise.reject(u)}),s})(),le={get(s,u){return Te.get(s,u)},post(s,u,E){return Te.post(s,u,E)},put(s,u,E){return Te.put(s,u,E)},patch(s,u,E){return Te.patch(s,u,E)},delete(s,u){return Te.delete(s,u)},download(s,u){return Te.get(s,{...u,responseType:"blob"})}};function Lt(s){return le.post("/user/v1.0/login/by-domain",s)}function Bs(){return le.put("/user/v1.0/user/logout")}function Tt(){return le.get("/user/v1.0/user/get-me")}function Cs(s){return le.post("/user/v1.0/refresh",{refreshToken:s})}const bs={class:"login-page"},$s={class:"login-form-section"},Ss={class:"form-container"},Is={class:"input-wrapper"},Ds={class:"input-wrapper"},Ms={class:"form-options"},Ls={key:0},Ts={key:1},At=fe(e.defineComponent({__name:"index",setup(s){const u=ce.useRouter(),E=ce.useRoute(),m=e.ref(!1),f=e.ref(!1),C=e.reactive({uid:"",password:""}),V={uid:[{required:!0,message:"请输入用户名",trigger:"blur"}],password:[{required:!0,message:"请输入密码",trigger:"blur"},{min:6,message:"密码长度至少6位",trigger:"blur"}]},g=e.ref(),x=async()=>{var k;try{await((k=g.value)==null?void 0:k.validate()),m.value=!0;const y=await Lt({appId:Ae(),clientId:Xe(),uid:C.uid,password:C.password,code:!0});lt(y),oe.Message.success("登录成功");const M=E.query.redirect||"/";u.push(M)}catch(y){console.error("登录失败:",y)}finally{m.value=!1}};return(k,y)=>(e.openBlock(),e.createElementBlock("div",bs,[y[10]||(y[10]=e.createStaticVNode('<div class="login-brand" data-v-102cb5d3><div class="brand-content" data-v-102cb5d3><div class="brand-logo" data-v-102cb5d3><div class="logo-icon" data-v-102cb5d3><svg viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg" data-v-102cb5d3><rect width="48" height="48" rx="12" fill="currentColor" data-v-102cb5d3></rect><path d="M14 24L20 30L34 16" stroke="white" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" data-v-102cb5d3></path></svg></div><span class="logo-text" data-v-102cb5d3>XTO</span></div><div class="brand-slogan" data-v-102cb5d3><h1 data-v-102cb5d3>企业级后台管理解决方案</h1><p data-v-102cb5d3>开箱即用的中后台前端/设计解决方案</p></div><div class="brand-features" data-v-102cb5d3><div class="feature-item" data-v-102cb5d3><div class="feature-icon" data-v-102cb5d3><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" data-v-102cb5d3><path d="M13 2L3 14h9l-1 8 10-12h-9l1-8z" data-v-102cb5d3></path></svg></div><div class="feature-text" data-v-102cb5d3><h4 data-v-102cb5d3>高性能</h4><p data-v-102cb5d3>极致的渲染性能与响应速度</p></div></div><div class="feature-item" data-v-102cb5d3><div class="feature-icon" data-v-102cb5d3><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" data-v-102cb5d3><rect x="3" y="3" width="18" height="18" rx="2" data-v-102cb5d3></rect><path d="M9 9h6M9 12h6M9 15h4" data-v-102cb5d3></path></svg></div><div class="feature-text" data-v-102cb5d3><h4 data-v-102cb5d3>丰富组件</h4><p data-v-102cb5d3>60+ 高质量业务组件</p></div></div><div class="feature-item" data-v-102cb5d3><div class="feature-icon" data-v-102cb5d3><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" data-v-102cb5d3><circle cx="12" cy="12" r="10" data-v-102cb5d3></circle><path d="M12 6v6l4 2" data-v-102cb5d3></path></svg></div><div class="feature-text" data-v-102cb5d3><h4 data-v-102cb5d3>持续更新</h4><p data-v-102cb5d3>活跃的社区与快速迭代</p></div></div></div><div class="brand-decoration" data-v-102cb5d3><div class="decoration-line" data-v-102cb5d3></div><div class="decoration-dots" data-v-102cb5d3><span data-v-102cb5d3></span><span data-v-102cb5d3></span><span data-v-102cb5d3></span></div></div></div><div class="brand-bg" data-v-102cb5d3><div class="bg-grid" data-v-102cb5d3></div><div class="bg-glow" data-v-102cb5d3></div><div class="bg-pattern" data-v-102cb5d3></div></div></div>',1)),e.createElementVNode("div",$s,[e.createElementVNode("div",Ss,[y[7]||(y[7]=e.createElementVNode("div",{class:"form-header"},[e.createElementVNode("h2",null,"欢迎登录"),e.createElementVNode("p",null,"请输入您的账户信息")],-1)),e.createVNode(e.unref(F.Form),{ref_key:"formRef",ref:g,model:C,rules:V,class:"login-form","label-width":"0"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.FormItem),{prop:"uid"},{default:e.withCtx(()=>[e.createElementVNode("div",Is,[y[3]||(y[3]=e.createElementVNode("label",{class:"input-label"},"用户名",-1)),e.createVNode(e.unref(F.Input),{modelValue:C.uid,"onUpdate:modelValue":y[0]||(y[0]=M=>C.uid=M),placeholder:"请输入用户名",size:"large"},{prefix:e.withCtx(()=>[e.createVNode(e.unref(A.Icon),{name:"user",size:18})]),_:1},8,["modelValue"])])]),_:1}),e.createVNode(e.unref(F.FormItem),{prop:"password"},{default:e.withCtx(()=>[e.createElementVNode("div",Ds,[y[4]||(y[4]=e.createElementVNode("label",{class:"input-label"},"密码",-1)),e.createVNode(e.unref(F.Input),{modelValue:C.password,"onUpdate:modelValue":y[1]||(y[1]=M=>C.password=M),type:"password",placeholder:"请输入密码",size:"large","show-password":"",onKeyup:e.withKeys(x,["enter"])},{prefix:e.withCtx(()=>[e.createVNode(e.unref(A.Icon),{name:"lock",size:18})]),_:1},8,["modelValue"])])]),_:1}),e.createElementVNode("div",Ms,[e.createVNode(e.unref(F.Checkbox),{modelValue:f.value,"onUpdate:modelValue":y[2]||(y[2]=M=>f.value=M)},{default:e.withCtx(()=>[...y[5]||(y[5]=[e.createTextVNode("记住我",-1)])]),_:1},8,["modelValue"]),y[6]||(y[6]=e.createElementVNode("a",{href:"#",class:"forgot-link"},"忘记密码?",-1))]),e.createVNode(e.unref(F.FormItem),null,{default:e.withCtx(()=>[e.createVNode(e.unref(A.Button),{type:"primary",size:"large",loading:m.value,class:"login-btn",onClick:x},{default:e.withCtx(()=>[m.value?(e.openBlock(),e.createElementBlock("span",Ts,"登录中...")):(e.openBlock(),e.createElementBlock("span",Ls,"登 录"))]),_:1},8,["loading"])]),_:1})]),_:1},8,["model"]),y[8]||(y[8]=e.createStaticVNode('<div class="form-footer" data-v-102cb5d3><p data-v-102cb5d3>其他登录方式</p><div class="social-login" data-v-102cb5d3><button class="social-btn" title="企业微信" data-v-102cb5d3><svg viewBox="0 0 24 24" fill="currentColor" data-v-102cb5d3><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1 17.93c-3.95-.49-7-3.85-7-7.93 0-.62.08-1.21.21-1.79L9 15v1c0 1.1.9 2 2 2v1.93zm6.9-2.54c-.26-.81-1-1.39-1.9-1.39h-1v-3c0-.55-.45-1-1-1H8v-2h2c.55 0 1-.45 1-1V7h2c1.1 0 2-.9 2-2v-.41c2.93 1.19 5 4.06 5 7.41 0 2.08-.8 3.97-2.1 5.39z" data-v-102cb5d3></path></svg></button><button class="social-btn" title="钉钉" data-v-102cb5d3><svg viewBox="0 0 24 24" fill="currentColor" data-v-102cb5d3><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm4.64 6.8c-.15 1.58-.8 5.42-1.13 7.19-.14.75-.42 1-.68 1.03-.58.05-1.02-.38-1.58-.75-.88-.58-1.38-.94-2.23-1.5-.99-.65-.35-1.01.22-1.59.15-.15 2.71-2.48 2.76-2.69a.2.2 0 00-.05-.18c-.06-.05-.14-.03-.21-.02-.09.02-1.49.95-4.22 2.79-.4.27-.76.41-1.08.4-.36-.01-1.04-.2-1.55-.37-.63-.2-1.12-.31-1.08-.66.02-.18.27-.36.74-.55 2.92-1.27 4.86-2.11 5.83-2.51 2.78-1.16 3.35-1.36 3.73-1.36.08 0 .27.02.39.12.1.08.13.19.14.27-.01.06.01.24 0 .38z" data-v-102cb5d3></path></svg></button><button class="social-btn" title="飞书" data-v-102cb5d3><svg viewBox="0 0 24 24" fill="currentColor" data-v-102cb5d3><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-6h2v6zm0-8h-2V7h2v2z" data-v-102cb5d3></path></svg></button></div></div>',1))]),y[9]||(y[9]=e.createElementVNode("div",{class:"copyright"},[e.createElementVNode("p",null,"© 2024 XTO Team. All rights reserved.")],-1))])]))}}),[["__scopeId","data-v-102cb5d3"]]),As=Object.freeze(Object.defineProperty({__proto__:null,default:At},Symbol.toStringTag,{value:"Module"})),Us={class:"error-page"},zs={class:"error-container"},Os={class:"error-content"},Fs={class:"error-actions"},Ut=fe(e.defineComponent({__name:"404",setup(s){const u=ce.useRouter(),E=()=>{u.push("/")};return(m,f)=>(e.openBlock(),e.createElementBlock("div",Us,[e.createElementVNode("div",zs,[f[7]||(f[7]=e.createElementVNode("div",{class:"error-bg"},[e.createElementVNode("div",{class:"bg-circle circle-1"}),e.createElementVNode("div",{class:"bg-circle circle-2"}),e.createElementVNode("div",{class:"bg-circle circle-3"})],-1)),e.createElementVNode("div",Os,[f[5]||(f[5]=e.createStaticVNode('<div class="error-code" data-v-1b083153><span class="code-digit" data-v-1b083153>4</span><span class="code-zero" data-v-1b083153><span class="zero-inner" data-v-1b083153>0</span></span><span class="code-digit" data-v-1b083153>4</span></div><div class="error-illustration" data-v-1b083153><svg viewBox="0 0 200 120" fill="none" xmlns="http://www.w3.org/2000/svg" data-v-1b083153><rect x="40" y="20" width="120" height="80" rx="8" fill="var(--color-fill)" stroke="var(--color-border)" stroke-width="2" data-v-1b083153></rect><rect x="50" y="30" width="100" height="60" rx="4" fill="var(--bg-color)" data-v-1b083153></rect><line x1="60" y1="45" x2="140" y2="45" stroke="var(--color-border-light)" stroke-width="2" data-v-1b083153></line><line x1="60" y1="55" x2="120" y2="55" stroke="var(--color-border-light)" stroke-width="2" data-v-1b083153></line><line x1="60" y1="65" x2="100" y2="65" stroke="var(--color-border-light)" stroke-width="2" data-v-1b083153></line><text x="100" y="75" text-anchor="middle" fill="var(--color-primary)" font-size="24" font-weight="600" data-v-1b083153>?</text><circle cx="150" cy="35" r="12" stroke="var(--color-primary)" stroke-width="2" fill="none" data-v-1b083153></circle><line x1="158" y1="43" x2="168" y2="53" stroke="var(--color-primary)" stroke-width="2" stroke-linecap="round" data-v-1b083153></line></svg></div><h1 class="error-title" data-v-1b083153>页面不存在</h1><p class="error-desc" data-v-1b083153>抱歉,您访问的页面不存在或已被删除</p>',4)),e.createElementVNode("div",Fs,[e.createVNode(e.unref(A.Button),{type:"primary",size:"large",onClick:E},{icon:e.withCtx(()=>[...f[1]||(f[1]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("path",{d:"M3 9l9-7 9 7v11a2 2 0 01-2 2H5a2 2 0 01-2-2V9z"}),e.createElementVNode("polyline",{points:"9,22 9,12 15,12 15,22"})],-1)])]),default:e.withCtx(()=>[f[2]||(f[2]=e.createTextVNode(" 返回首页 ",-1))]),_:1}),e.createVNode(e.unref(A.Button),{size:"large",onClick:f[0]||(f[0]=C=>e.unref(u).go(-1))},{icon:e.withCtx(()=>[...f[3]||(f[3]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("path",{d:"M19 12H5M12 19l-7-7 7-7"})],-1)])]),default:e.withCtx(()=>[f[4]||(f[4]=e.createTextVNode(" 返回上一页 ",-1))]),_:1})]),f[6]||(f[6]=e.createElementVNode("div",{class:"error-tip"},[e.createElementVNode("p",null,"您可以尝试:"),e.createElementVNode("ul",null,[e.createElementVNode("li",null,"检查您输入的网址是否正确"),e.createElementVNode("li",null,"返回首页重新浏览"),e.createElementVNode("li",null,"联系管理员反馈问题")])],-1))])])]))}}),[["__scopeId","data-v-1b083153"]]),zt=Object.freeze(Object.defineProperty({__proto__:null,default:Ut},Symbol.toStringTag,{value:"Module"})),Rs={class:"error-page"},Ps={class:"error-container"},qs={class:"error-content"},js={class:"error-actions"},Hs=fe(e.defineComponent({__name:"403",setup(s){const u=ce.useRouter(),E=()=>{u.push("/")};return(m,f)=>(e.openBlock(),e.createElementBlock("div",Rs,[e.createElementVNode("div",Ps,[f[7]||(f[7]=e.createElementVNode("div",{class:"error-bg"},[e.createElementVNode("div",{class:"bg-circle circle-1"}),e.createElementVNode("div",{class:"bg-circle circle-2"}),e.createElementVNode("div",{class:"bg-circle circle-3"})],-1)),e.createElementVNode("div",qs,[f[5]||(f[5]=e.createStaticVNode('<div class="error-code" data-v-d167f981><span class="code-digit" data-v-d167f981>4</span><span class="code-zero warning" data-v-d167f981><span class="zero-inner" data-v-d167f981>0</span></span><span class="code-digit" data-v-d167f981>3</span></div><div class="error-illustration" data-v-d167f981><svg viewBox="0 0 200 120" fill="none" xmlns="http://www.w3.org/2000/svg" data-v-d167f981><path d="M100 15 L150 35 L150 70 C150 95 100 110 100 110 C100 110 50 95 50 70 L50 35 Z" fill="var(--color-warning-lighter)" stroke="var(--color-warning)" stroke-width="2" data-v-d167f981></path><rect x="85" y="55" width="30" height="25" rx="4" fill="var(--color-warning)" data-v-d167f981></rect><path d="M92 55 V48 A8 8 0 0 1 108 48 V55" fill="none" stroke="var(--color-warning)" stroke-width="3" data-v-d167f981></path><circle cx="100" cy="67" r="6" fill="none" stroke="#fff" stroke-width="2" data-v-d167f981></circle><line x1="96" y1="63" x2="104" y2="71" stroke="#fff" stroke-width="2" data-v-d167f981></line></svg></div><h1 class="error-title" data-v-d167f981>无访问权限</h1><p class="error-desc" data-v-d167f981>抱歉,您没有权限访问此页面,请联系管理员获取权限</p>',4)),e.createElementVNode("div",js,[e.createVNode(e.unref(A.Button),{type:"primary",size:"large",onClick:E},{icon:e.withCtx(()=>[...f[1]||(f[1]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("path",{d:"M3 9l9-7 9 7v11a2 2 0 01-2 2H5a2 2 0 01-2-2V9z"}),e.createElementVNode("polyline",{points:"9,22 9,12 15,12 15,22"})],-1)])]),default:e.withCtx(()=>[f[2]||(f[2]=e.createTextVNode(" 返回首页 ",-1))]),_:1}),e.createVNode(e.unref(A.Button),{size:"large",onClick:f[0]||(f[0]=C=>e.unref(u).go(-1))},{icon:e.withCtx(()=>[...f[3]||(f[3]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("path",{d:"M19 12H5M12 19l-7-7 7-7"})],-1)])]),default:e.withCtx(()=>[f[4]||(f[4]=e.createTextVNode(" 返回上一页 ",-1))]),_:1})]),f[6]||(f[6]=e.createElementVNode("div",{class:"error-tip"},[e.createElementVNode("p",null,"可能的原因:"),e.createElementVNode("ul",null,[e.createElementVNode("li",null,"您的账号权限不足"),e.createElementVNode("li",null,"该页面需要特定角色才能访问"),e.createElementVNode("li",null,"您的登录状态已过期")])],-1))])])]))}}),[["__scopeId","data-v-d167f981"]]);function Gs(){const s=Ce(),u=ke(),E=Le(),m=e.computed(()=>u.userName||""),f=e.computed(()=>u.userInfo),C=e.computed(()=>s.appName),V=e.computed(()=>E.isLoggedIn),g=e.computed(()=>s.isDark),x=e.computed(()=>s.theme),k=e.computed(()=>s.isCollapsed),y=e.computed(()=>s.layout);return{userName:m,userInfo:f,appName:C,isLoggedIn:V,isDark:g,theme:x,isCollapsed:k,layout:y,toggleTheme:()=>{s.toggleTheme()},toggleCollapse:()=>{s.toggleCollapse()}}}function Ks(){const s=ke();return{isLoggedIn:e.computed(()=>s.isLoggedIn)}}function Ws(s,u={}){const{rules:E,onSubmit:m}=u,f=e.ref(),C=e.reactive({...s}),V=e.ref(!1),g=e.ref(!1),x=e.ref(!1),k=()=>{S(),x.value=!1,g.value=!0},y=Y=>{Object.assign(C,Y),x.value=!0,g.value=!0},M=()=>{g.value=!1,S()},S=()=>{var Y;Object.keys(s).forEach(T=>{C[T]=s[T]}),(Y=f.value)==null||Y.resetFields()};return{formRef:f,formData:C,rules:E,loading:V,visible:g,isEdit:x,openAdd:k,openEdit:y,close:M,resetForm:S,handleSubmit:async()=>{var Y;try{await((Y=f.value)==null?void 0:Y.validate()),V.value=!0,await(m==null?void 0:m(C)),M()}catch(T){console.error(T)}finally{V.value=!1}}}}function Xs(s){const{fetchData:u,defaultPageSize:E=10}=s,m=e.ref(!1),f=e.ref([]),C=e.ref(0),V=e.ref(1),g=e.ref(E),x=e.reactive({}),k=async()=>{m.value=!0;try{const D={...x,page:V.value,pageSize:g.value},B=await u(D);f.value=B.list,C.value=B.total}catch(D){console.error(D)}finally{m.value=!1}},y=()=>{V.value=1,k()},M=()=>{Object.keys(x).forEach(D=>{x[D]=void 0}),V.value=1,k()},S=D=>{V.value=D,k()},U=D=>{g.value=D,V.value=1,k()},Y=()=>{k()},T=e.computed(()=>({current:V.value,pageSize:g.value,total:C.value}));return{loading:m,data:f,total:C,currentPage:V,pageSize:g,searchParams:x,pagination:T,getData:k,handleSearch:y,handleReset:M,handlePageChange:S,handleSizeChange:U,refresh:Y}}function Ys(s){return ke().isLoggedIn}function Js(s){return ke().isLoggedIn}function Zs(){return!0}const it=[{path:"/login",name:"Login",component:()=>Promise.resolve().then(()=>As),meta:{title:"登录",hidden:!0}}],ct={path:"/",name:"Layout",component:()=>Promise.resolve().then(()=>as),redirect:"/dashboard",children:[{path:"/dashboard",name:"Dashboard",component:()=>Promise.resolve().then(()=>qt),meta:{title:"仪表盘",icon:"dashboard",keepAlive:!0,affix:!0}},{path:"/system/user",name:"SystemUser",component:()=>Promise.resolve().then(()=>jt),meta:{title:"用户管理",icon:"user",keepAlive:!0}},{path:"/system/role",name:"SystemRole",component:()=>Promise.resolve().then(()=>Ht),meta:{title:"角色管理",icon:"role",keepAlive:!0}},{path:"/system/menu",name:"SystemMenu",component:()=>Promise.resolve().then(()=>Gt),meta:{title:"菜单管理",icon:"menu",keepAlive:!0}},{path:"/:pathMatch(.*)*",name:"CatchAll",component:()=>Promise.resolve().then(()=>zt),meta:{title:"404",hidden:!0}}]},Qs=[{path:"/dashboard",name:"Dashboard",component:()=>Promise.resolve().then(()=>qt),meta:{title:"仪表盘",icon:"dashboard",keepAlive:!0,affix:!0}},{path:"/system",name:"System",redirect:"/system/user",meta:{title:"系统管理",icon:"setting"},children:[{path:"user",name:"SystemUser",component:()=>Promise.resolve().then(()=>jt),meta:{title:"用户管理",icon:"user",keepAlive:!0}},{path:"role",name:"SystemRole",component:()=>Promise.resolve().then(()=>Ht),meta:{title:"角色管理",icon:"role",keepAlive:!0}},{path:"menu",name:"SystemMenu",component:()=>Promise.resolve().then(()=>Gt),meta:{title:"菜单管理",icon:"menu",keepAlive:!0}}]}],Ot=[{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}]}],dt=ce.createRouter({history:ce.createWebHistory(),routes:[...it,ct],scrollBehavior:()=>({left:0,top:0})}),vs=["/login"];dt.beforeEach(async(s,u,E)=>{const m=Ce();if(m.initTheme(),st())if(s.path==="/login")E({path:"/"});else{const f=ke();f.isLoggedIn||(f.setUserInfo({appId:Ae(),userId:"1",userName:"管理员",departmentName:"技术部",email:"admin@example.com",mobilePhone:"13800138000",positionName:"管理员",avatar:""}),De().setMenuList(Ot)),s.name&&s.meta.keepAlive&&m.addCachedView(s.name),E()}else vs.includes(s.path)?E():E("/login")});function er(){const s=ce.createRouter({history:ce.createWebHistory(),routes:[...it,ct]});dt.matcher=s.matcher}function tr(s,u={}){const E=u.indexPath||"/dashboard",m={path:"/:pathMatch(.*)*",name:"CatchAll",component:()=>Promise.resolve().then(()=>zt),meta:{title:"404"}};return{path:"/",name:"Layout",component:at,redirect:E,children:[...s,m]}}function nr(s){return ce.createRouter({history:ce.createWebHistory(),routes:s,scrollBehavior:()=>({left:0,top:0})})}function or(s){return le.get("/role/list",{params:s})}function lr(s){return le.get(`/role/${s}`)}function sr(s){return le.post("/role",s)}function rr(s,u){return le.put(`/role/${s}`,u)}function ar(s){return le.delete(`/role/${s}`)}function ir(s,u){return le.patch(`/role/${s}/status`,{status:u})}function cr(){return le.get("/user/v1.0/menu/list")}function Ft(s){const u=s||Ae();return le.get(`/user/v1.0/menu/get-menu?appId=${u}`)}function dr(s){return le.post("/menu",s)}function mr(s,u){return le.put(`/menu/${s}`,u)}function pr(s){return le.delete(`/menu/${s}`)}const fr=["/login","/404","/403"];function ur(s,u={}){const E=u.whiteList||fr,m=u.loginPath||"/login",f=u.homePath||"/";s.beforeEach(async(C,V,g)=>{const x=Ce(),k=ke(),y=De();if(x.initTheme(),Fe())if(C.path===m)g({path:f});else if(k.isLoggedIn)C.name&&C.meta.keepAlive&&x.addCachedView(C.name),g();else try{if(u.fetchUserInfo){const S=await u.fetchUserInfo();k.setUserInfo(S)}else{const S=await Tt();k.setUserInfo(S)}if(u.fetchMenu){const S=await u.fetchMenu();y.setMenuList(S)}else{const S=await Ft(u.appId);y.setMenuList(S)}u.onLoginSuccess&&u.onLoginSuccess(),C.name&&C.meta.keepAlive&&x.addCachedView(C.name),g({...C,replace:!0})}catch(S){console.error("获取用户信息失败:",S),k.clearUserInfo(),y.clearMenu(),Me(),g({path:m,query:{redirect:C.fullPath}})}else E.includes(C.path)?g():g({path:m,query:{redirect:C.fullPath}})}),s.afterEach(()=>{})}function hr(s){return le.get("/user/list",{params:s})}function gr(s){return le.get(`/user/${s}`)}function _r(s){return le.post("/user",s)}function Nr(s,u){return le.put(`/user/${s}`,u)}function Er(s){return le.delete(`/user/${s}`)}function Vr(s){return le.post("/user/batch-delete",{ids:s})}function kr(s,u){return le.patch(`/user/${s}/status`,{status:u})}function yr(s){return le.post(`/user/${s}/reset-password`)}var X=(s=>(s[s.ENABLED=1]="ENABLED",s[s.DISABLED=0]="DISABLED",s))(X||{}),Rt=(s=>(s[s.UNKNOWN=0]="UNKNOWN",s[s.MALE=1]="MALE",s[s.FEMALE=2]="FEMALE",s))(Rt||{}),Ne=(s=>(s[s.DIRECTORY=0]="DIRECTORY",s[s.MENU=1]="MENU",s[s.BUTTON=2]="BUTTON",s))(Ne||{});const wr={1:"启用",0:"禁用"},xr={0:"未知",1:"男",2:"女"},Br={0:"目录",1:"菜单",2:"按钮"},mt=[{label:"启用",value:1},{label:"禁用",value:0}],Cr=[{label:"未知",value:0},{label:"男",value:1},{label:"女",value:2}],Pt=[{label:"目录",value:0},{label:"菜单",value:1},{label:"按钮",value:2}],br={mounted(s,u){var m;ke().isLoggedIn||(m=s.parentNode)==null||m.removeChild(s)}};function $r(s){return ut({appId:s.appId,clientId:s.clientId,apiBaseUrl:s.apiBaseUrl}),{config:{appName:s.appName||"XTO App",appId:Ae(),clientId:Xe(),apiBaseUrl:ht(),indexPath:s.indexPath||"/dashboard",loginPath:s.loginPath||"/login"}}}const Sr={class:"dashboard"},Ir={class:"stats-section"},Dr={class:"stat-content"},Mr={class:"stat-title"},Lr={key:0,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},Tr={key:1,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},Ar={class:"main-section"},Ur={class:"quick-section"},zr={class:"quick-grid"},Or={class:"quick-icon"},Fr={class:"quick-info"},Rr={class:"quick-title"},Pr={class:"quick-desc"},qr={class:"activity-section"},jr={class:"activity-list"},Hr={class:"activity-content"},Gr={class:"activity-main"},Kr={class:"activity-user"},Wr={class:"activity-action"},Xr={class:"activity-time"},Yr={class:"system-section"},Jr={class:"system-grid"},Zr={class:"system-info-list"},Qr={class:"info-label"},vr={class:"info-value"},ea={class:"system-status"},ta={class:"status-item"},na={class:"status-item"},oa={class:"status-item"},qt=Object.freeze(Object.defineProperty({__proto__:null,default:fe(e.defineComponent({__name:"index",setup(s){const u=e.ref([{title:"用户总数",value:1234,icon:"👥",color:"#1677ff",trend:"+12.5%",trendUp:!0},{title:"今日访问",value:567,icon:"👀",color:"#52c41a",trend:"+8.2%",trendUp:!0},{title:"订单数量",value:890,icon:"📦",color:"#faad14",trend:"-3.1%",trendUp:!1},{title:"销售金额",value:123456,icon:"💰",color:"#ff4d4f",trend:"+15.8%",trendUp:!0}]),E=e.ref([{user:"张三",action:"登录系统",time:"2分钟前",type:"success",avatar:"张"},{user:"李四",action:"修改了用户信息",time:"5分钟前",type:"warning",avatar:"李"},{user:"王五",action:"创建了新订单",time:"10分钟前",type:"info",avatar:"王"},{user:"赵六",action:"删除了测试数据",time:"30分钟前",type:"danger",avatar:"赵"},{user:"钱七",action:"更新了系统配置",time:"1小时前",type:"primary",avatar:"钱"}]),m=e.ref([{title:"用户管理",path:"/system/user",icon:"👤",desc:"管理系统用户"},{title:"角色管理",path:"/system/role",icon:"👥",desc:"角色权限配置"},{title:"菜单管理",path:"/system/menu",icon:"📋",desc:"菜单路由管理"},{title:"系统设置",path:"/system",icon:"⚙️",desc:"系统参数配置"}]),f=e.ref([{label:"系统版本",value:"v1.0.0"},{label:"Vue 版本",value:"3.4.21"},{label:"构建工具",value:"Vite 5"},{label:"UI 组件库",value:"XTO UI"}]);return(C,V)=>{const g=e.resolveComponent("router-link");return e.openBlock(),e.createElementBlock("div",Sr,[e.createElementVNode("div",Ir,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value,x=>(e.openBlock(),e.createElementBlock("div",{key:x.title,class:"stat-card"},[e.createElementVNode("div",{class:"stat-icon",style:e.normalizeStyle({background:`linear-gradient(135deg, ${x.color}20 0%, ${x.color}10 100%)`})},[e.createElementVNode("span",null,e.toDisplayString(x.icon),1)],4),e.createElementVNode("div",Dr,[e.createElementVNode("div",Mr,e.toDisplayString(x.title),1),e.createElementVNode("div",{class:"stat-value",style:e.normalizeStyle({color:x.color})},e.toDisplayString(x.value.toLocaleString()),5),e.createElementVNode("div",{class:e.normalizeClass(["stat-trend",{up:x.trendUp,down:!x.trendUp}])},[x.trendUp?(e.openBlock(),e.createElementBlock("svg",Lr,[...V[0]||(V[0]=[e.createElementVNode("path",{d:"M7 17l5-5 5 5M7 7l5 5 5-5"},null,-1)])])):(e.openBlock(),e.createElementBlock("svg",Tr,[...V[1]||(V[1]=[e.createElementVNode("path",{d:"M7 7l5 5 5-5M7 17l5-5 5 5"},null,-1)])])),e.createElementVNode("span",null,e.toDisplayString(x.trend),1)],2)]),e.createElementVNode("div",{class:"stat-decoration",style:e.normalizeStyle({background:`linear-gradient(135deg, ${x.color}08 0%, transparent 100%)`})},null,4)]))),128))]),e.createElementVNode("div",Ar,[e.createElementVNode("div",Ur,[V[3]||(V[3]=e.createElementVNode("div",{class:"section-header"},[e.createElementVNode("h3",null,"快捷入口"),e.createElementVNode("span",{class:"section-badge"},"4 个入口")],-1)),e.createElementVNode("div",zr,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,x=>(e.openBlock(),e.createBlock(g,{key:x.path,to:x.path,class:"quick-card"},{default:e.withCtx(()=>[e.createElementVNode("div",Or,e.toDisplayString(x.icon),1),e.createElementVNode("div",Fr,[e.createElementVNode("div",Rr,e.toDisplayString(x.title),1),e.createElementVNode("div",Pr,e.toDisplayString(x.desc),1)]),V[2]||(V[2]=e.createElementVNode("div",{class:"quick-arrow"},[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("path",{d:"M9 18l6-6-6-6"})])],-1))]),_:2},1032,["to"]))),128))])]),e.createElementVNode("div",qr,[V[4]||(V[4]=e.createElementVNode("div",{class:"section-header"},[e.createElementVNode("h3",null,"最近活动"),e.createElementVNode("a",{href:"#",class:"section-link"},"查看全部")],-1)),e.createElementVNode("div",jr,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(E.value,(x,k)=>(e.openBlock(),e.createElementBlock("div",{key:k,class:"activity-item"},[e.createElementVNode("div",{class:e.normalizeClass(["activity-avatar",x.type])},e.toDisplayString(x.avatar),3),e.createElementVNode("div",Hr,[e.createElementVNode("div",Gr,[e.createElementVNode("span",Kr,e.toDisplayString(x.user),1),e.createElementVNode("span",Wr,e.toDisplayString(x.action),1)]),e.createElementVNode("div",Xr,e.toDisplayString(x.time),1)]),e.createElementVNode("div",{class:e.normalizeClass(["activity-dot",x.type])},null,2)]))),128))])])]),e.createElementVNode("div",Yr,[V[8]||(V[8]=e.createElementVNode("div",{class:"section-header"},[e.createElementVNode("h3",null,"系统信息")],-1)),e.createElementVNode("div",Jr,[e.createElementVNode("div",Zr,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value,x=>(e.openBlock(),e.createElementBlock("div",{key:x.label,class:"info-item"},[e.createElementVNode("span",Qr,e.toDisplayString(x.label),1),e.createElementVNode("span",vr,e.toDisplayString(x.value),1)]))),128))]),e.createElementVNode("div",ea,[e.createElementVNode("div",ta,[V[5]||(V[5]=e.createElementVNode("div",{class:"status-header"},[e.createElementVNode("span",{class:"status-label"},"服务器状态"),e.createElementVNode("span",{class:"status-value"},"75%")],-1)),e.createVNode(e.unref(we.Progress),{percentage:75,status:"success"})]),e.createElementVNode("div",na,[V[6]||(V[6]=e.createElementVNode("div",{class:"status-header"},[e.createElementVNode("span",{class:"status-label"},"内存使用"),e.createElementVNode("span",{class:"status-value"},"45%")],-1)),e.createVNode(e.unref(we.Progress),{percentage:45})]),e.createElementVNode("div",oa,[V[7]||(V[7]=e.createElementVNode("div",{class:"status-header"},[e.createElementVNode("span",{class:"status-label"},"CPU 使用率"),e.createElementVNode("span",{class:"status-value"},"32%")],-1)),e.createVNode(e.unref(we.Progress),{percentage:32})])])])])])}}}),[["__scopeId","data-v-545d4c27"]])},Symbol.toStringTag,{value:"Module"})),la={class:"user-page"},sa={class:"search-section"},ra={class:"table-section"},aa={class:"table-toolbar"},ia={class:"toolbar-left"},ca={class:"toolbar-right"},da={class:"table-count"},ma={class:"table-wrapper"},pa={class:"data-table"},fa={key:0},ua={key:1},ha={class:"col-id"},ga={class:"id-badge"},_a={class:"col-user"},Na={class:"user-info"},Ea={class:"user-avatar"},Va={class:"user-detail"},ka={class:"user-nickname"},ya={class:"user-username"},wa={class:"col-contact"},xa={class:"contact-info"},Ba={class:"contact-email"},Ca={class:"contact-phone"},ba={class:"col-roles"},$a={class:"role-tags"},Sa={class:"col-status"},Ia={class:"status-switch"},Da={class:"col-time"},Ma={class:"time-text"},La={class:"col-actions"},Ta={class:"pagination-wrapper"},Aa={class:"status-field"},Ua={class:"status-label"},jt=Object.freeze(Object.defineProperty({__proto__:null,default:fe(e.defineComponent({__name:"index",setup(s){const u=[{id:1,username:"admin",nickname:"管理员",email:"admin@example.com",phone:"13800138001",status:X.ENABLED,roles:["admin"],createTime:"2024-01-01 10:00:00"},{id:2,username:"zhangsan",nickname:"张三",email:"zhangsan@example.com",phone:"13800138002",status:X.ENABLED,roles:["editor"],createTime:"2024-01-02 10:00:00"},{id:3,username:"lisi",nickname:"李四",email:"lisi@example.com",phone:"13800138003",status:X.DISABLED,roles:["viewer"],createTime:"2024-01-03 10:00:00"},{id:4,username:"wangwu",nickname:"王五",email:"wangwu@example.com",phone:"13800138004",status:X.ENABLED,roles:["editor"],createTime:"2024-01-04 10:00:00"},{id:5,username:"zhaoliu",nickname:"赵六",email:"zhaoliu@example.com",phone:"13800138005",status:X.ENABLED,roles:["viewer"],createTime:"2024-01-05 10:00:00"}],E=e.ref(!1),m=e.ref([]),f=e.ref(0),C=e.ref(1),V=e.ref(10),g=e.reactive({keyword:"",status:void 0}),x=e.ref(!1),k=e.computed(()=>y.id?"编辑用户":"新增用户"),y=e.reactive({id:0,username:"",nickname:"",email:"",phone:"",status:X.ENABLED,roles:[]}),M={username:[{required:!0,message:"请输入用户名",trigger:"blur"}],nickname:[{required:!0,message:"请输入昵称",trigger:"blur"}],email:[{required:!0,message:"请输入邮箱",trigger:"blur"},{type:"email",message:"请输入正确的邮箱格式",trigger:"blur"}]},S=e.ref(),U=()=>{E.value=!0,setTimeout(()=>{let R=[...u];g.keyword&&(R=R.filter(i=>i.username.includes(g.keyword)||i.nickname.includes(g.keyword))),g.status!==void 0&&(R=R.filter(i=>i.status===g.status)),f.value=R.length,m.value=R.slice((C.value-1)*V.value,C.value*V.value),E.value=!1},300)},Y=()=>{C.value=1,U()},T=()=>{g.keyword="",g.status=void 0,C.value=1,U()},D=()=>{Object.assign(y,{id:0,username:"",nickname:"",email:"",phone:"",status:X.ENABLED,roles:[]}),x.value=!0},B=R=>{Object.assign(y,R),x.value=!0},w=R=>{oe.Message.success("删除成功"),U()},z=async()=>{var R;try{await((R=S.value)==null?void 0:R.validate()),oe.Message.success(y.id?"编辑成功":"新增成功"),x.value=!1,U()}catch(i){console.error(i)}},K=R=>{oe.Message.success(`已${R.status===X.ENABLED?"启用":"禁用"}用户 ${R.username}`)};return e.onMounted(()=>{U()}),(R,i)=>(e.openBlock(),e.createElementBlock("div",la,[e.createElementVNode("div",sa,[e.createVNode(e.unref(F.Form),{model:g,inline:"",class:"search-form"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.FormItem),{label:"关键词"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.Input),{modelValue:g.keyword,"onUpdate:modelValue":i[0]||(i[0]=_=>g.keyword=_),placeholder:"用户名/昵称",clearable:"",onKeyup:e.withKeys(Y,["enter"])},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(F.FormItem),{label:"状态"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.Select),{modelValue:g.status,"onUpdate:modelValue":i[1]||(i[1]=_=>g.status=_),options:e.unref(mt),placeholder:"请选择",clearable:""},null,8,["modelValue","options"])]),_:1}),e.createVNode(e.unref(F.FormItem),null,{default:e.withCtx(()=>[e.createVNode(e.unref(A.Space),null,{default:e.withCtx(()=>[e.createVNode(e.unref(A.Button),{type:"primary",onClick:Y},{icon:e.withCtx(()=>[...i[11]||(i[11]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("circle",{cx:"11",cy:"11",r:"8"}),e.createElementVNode("path",{d:"M21 21l-4.35-4.35"})],-1)])]),default:e.withCtx(()=>[i[12]||(i[12]=e.createTextVNode(" 搜索 ",-1))]),_:1}),e.createVNode(e.unref(A.Button),{onClick:T},{icon:e.withCtx(()=>[...i[13]||(i[13]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("path",{d:"M3 12a9 9 0 109-9 9.75 9.75 0 00-6.74 2.74L3 8"}),e.createElementVNode("path",{d:"M3 3v5h5"})],-1)])]),default:e.withCtx(()=>[i[14]||(i[14]=e.createTextVNode(" 重置 ",-1))]),_:1})]),_:1})]),_:1})]),_:1},8,["model"])]),e.createElementVNode("div",ra,[e.createElementVNode("div",aa,[e.createElementVNode("div",ia,[e.createVNode(e.unref(A.Button),{type:"primary",onClick:D},{icon:e.withCtx(()=>[...i[15]||(i[15]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),e.createElementVNode("line",{x1:"5",y1:"12",x2:"19",y2:"12"})],-1)])]),default:e.withCtx(()=>[i[16]||(i[16]=e.createTextVNode(" 新增用户 ",-1))]),_:1})]),e.createElementVNode("div",ca,[e.createElementVNode("span",da,"共 "+e.toDisplayString(f.value)+" 条数据",1)])]),e.createElementVNode("div",ma,[e.createElementVNode("table",pa,[i[23]||(i[23]=e.createElementVNode("thead",null,[e.createElementVNode("tr",null,[e.createElementVNode("th",{class:"col-id"},"ID"),e.createElementVNode("th",{class:"col-user"},"用户信息"),e.createElementVNode("th",{class:"col-contact"},"联系方式"),e.createElementVNode("th",{class:"col-roles"},"角色"),e.createElementVNode("th",{class:"col-status"},"状态"),e.createElementVNode("th",{class:"col-time"},"创建时间"),e.createElementVNode("th",{class:"col-actions"},"操作")])],-1)),e.createElementVNode("tbody",null,[E.value?(e.openBlock(),e.createElementBlock("tr",fa,[...i[17]||(i[17]=[e.createElementVNode("td",{colspan:"7",class:"loading-cell"},[e.createElementVNode("div",{class:"loading-content"},[e.createElementVNode("div",{class:"loading-spinner"}),e.createElementVNode("span",null,"加载中...")])],-1)])])):m.value.length===0?(e.openBlock(),e.createElementBlock("tr",ua,[...i[18]||(i[18]=[e.createElementVNode("td",{colspan:"7",class:"empty-cell"},[e.createElementVNode("div",{class:"empty-content"},[e.createElementVNode("svg",{viewBox:"0 0 64 41",fill:"none"},[e.createElementVNode("g",{transform:"translate(0 1)"},[e.createElementVNode("ellipse",{fill:"#f5f5f5",cx:"32",cy:"33",rx:"32",ry:"7"}),e.createElementVNode("g",{stroke:"var(--color-text-placeholder)","stroke-width":"2"},[e.createElementVNode("path",{d:"M55 12.76L44.854 1.258C44.367.474 43.656 0 42.907 0H21.093c-.749 0-1.46.474-1.947 1.257L9 12.761V22h46v-9.24z"}),e.createElementVNode("path",{d:"M41.613 15.931c0-1.605.994-2.93 2.227-2.931H55v18.137C55 33.26 53.68 35 52.05 35H11.95C10.32 35 9 33.259 9 31.137V13h11.16c1.233 0 2.227 1.323 2.227 2.928v.022c0 1.605 1.005 2.901 2.237 2.901h14.752c1.232 0 2.237-1.308 2.237-2.913v-.007z",fill:"var(--color-fill)"})])])]),e.createElementVNode("span",null,"暂无数据")])],-1)])])):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:2},e.renderList(m.value,_=>(e.openBlock(),e.createElementBlock("tr",{key:_.id,class:"data-row"},[e.createElementVNode("td",ha,[e.createElementVNode("span",ga,e.toDisplayString(_.id),1)]),e.createElementVNode("td",_a,[e.createElementVNode("div",Na,[e.createElementVNode("div",Ea,e.toDisplayString(_.nickname.charAt(0)),1),e.createElementVNode("div",Va,[e.createElementVNode("span",ka,e.toDisplayString(_.nickname),1),e.createElementVNode("span",ya,"@"+e.toDisplayString(_.username),1)])])]),e.createElementVNode("td",wa,[e.createElementVNode("div",xa,[e.createElementVNode("span",Ba,e.toDisplayString(_.email),1),e.createElementVNode("span",Ca,e.toDisplayString(_.phone),1)])]),e.createElementVNode("td",ba,[e.createElementVNode("div",$a,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(_.roles,H=>(e.openBlock(),e.createBlock(e.unref(we.Tag),{key:H,size:"small",type:H==="admin"?"primary":"info"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(H),1)]),_:2},1032,["type"]))),128))])]),e.createElementVNode("td",Sa,[e.createElementVNode("div",Ia,[e.createVNode(e.unref(F.Switch),{"model-value":_.status===e.unref(X).ENABLED,"onUpdate:modelValue":H=>{_.status=H?e.unref(X).ENABLED:e.unref(X).DISABLED,K(_)}},null,8,["model-value","onUpdate:modelValue"]),e.createElementVNode("span",{class:e.normalizeClass(["status-text",{enabled:_.status===e.unref(X).ENABLED}])},e.toDisplayString(_.status===e.unref(X).ENABLED?"已启用":"已禁用"),3)])]),e.createElementVNode("td",Da,[e.createElementVNode("span",Ma,e.toDisplayString(_.createTime),1)]),e.createElementVNode("td",La,[e.createVNode(e.unref(A.Space),{class:"action-buttons"},{default:e.withCtx(()=>[e.createVNode(e.unref(A.Button),{type:"primary",link:"",size:"small",onClick:H=>B(_)},{icon:e.withCtx(()=>[...i[19]||(i[19]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("path",{d:"M11 4H4a2 2 0 00-2 2v14a2 2 0 002 2h14a2 2 0 002-2v-7"}),e.createElementVNode("path",{d:"M18.5 2.5a2.121 2.121 0 013 3L12 15l-4 1 1-4 9.5-9.5z"})],-1)])]),default:e.withCtx(()=>[i[20]||(i[20]=e.createTextVNode(" 编辑 ",-1))]),_:1},8,["onClick"]),e.createVNode(e.unref(oe.Popconfirm),{title:"确定删除该用户吗?",onConfirm:H=>w(_.id)},{default:e.withCtx(()=>[e.createVNode(e.unref(A.Button),{type:"danger",link:"",size:"small"},{icon:e.withCtx(()=>[...i[21]||(i[21]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("polyline",{points:"3,6 5,6 21,6"}),e.createElementVNode("path",{d:"M19 6v14a2 2 0 01-2 2H7a2 2 0 01-2-2V6m3 0V4a2 2 0 012-2h4a2 2 0 012 2v2"}),e.createElementVNode("line",{x1:"10",y1:"11",x2:"10",y2:"17"}),e.createElementVNode("line",{x1:"14",y1:"11",x2:"14",y2:"17"})],-1)])]),default:e.withCtx(()=>[i[22]||(i[22]=e.createTextVNode(" 删除 ",-1))]),_:1})]),_:1},8,["onConfirm"])]),_:2},1024)])]))),128))])])]),e.createElementVNode("div",Ta,[e.createVNode(e.unref(we.Pagination),{"current-page":C.value,"onUpdate:currentPage":i[2]||(i[2]=_=>C.value=_),"page-size":V.value,"onUpdate:pageSize":i[3]||(i[3]=_=>V.value=_),total:f.value,"page-sizes":[10,20,50,100],layout:"total, sizes, prev, pager, next",onCurrentChange:U,onSizeChange:U},null,8,["current-page","page-size","total"])])]),e.createVNode(e.unref(oe.Modal),{modelValue:x.value,"onUpdate:modelValue":i[10]||(i[10]=_=>x.value=_),title:k.value,width:"520px",class:"user-modal"},{footer:e.withCtx(()=>[e.createVNode(e.unref(A.Space),null,{default:e.withCtx(()=>[e.createVNode(e.unref(A.Button),{onClick:i[9]||(i[9]=_=>x.value=!1)},{default:e.withCtx(()=>[...i[24]||(i[24]=[e.createTextVNode("取消",-1)])]),_:1}),e.createVNode(e.unref(A.Button),{type:"primary",onClick:z},{default:e.withCtx(()=>[...i[25]||(i[25]=[e.createTextVNode("确定",-1)])]),_:1})]),_:1})]),default:e.withCtx(()=>[e.createVNode(e.unref(F.Form),{ref_key:"formRef",ref:S,model:y,rules:M,"label-width":"80px",class:"user-form"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.FormItem),{label:"用户名",prop:"username"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.Input),{modelValue:y.username,"onUpdate:modelValue":i[4]||(i[4]=_=>y.username=_),placeholder:"请输入用户名"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(F.FormItem),{label:"昵称",prop:"nickname"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.Input),{modelValue:y.nickname,"onUpdate:modelValue":i[5]||(i[5]=_=>y.nickname=_),placeholder:"请输入昵称"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(F.FormItem),{label:"邮箱",prop:"email"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.Input),{modelValue:y.email,"onUpdate:modelValue":i[6]||(i[6]=_=>y.email=_),placeholder:"请输入邮箱"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(F.FormItem),{label:"手机号",prop:"phone"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.Input),{modelValue:y.phone,"onUpdate:modelValue":i[7]||(i[7]=_=>y.phone=_),placeholder:"请输入手机号"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(F.FormItem),{label:"状态"},{default:e.withCtx(()=>[e.createElementVNode("div",Aa,[e.createVNode(e.unref(F.Switch),{modelValue:y.status,"onUpdate:modelValue":i[8]||(i[8]=_=>y.status=_),"active-value":e.unref(X).ENABLED,"inactive-value":e.unref(X).DISABLED},null,8,["modelValue","active-value","inactive-value"]),e.createElementVNode("span",Ua,e.toDisplayString(y.status===e.unref(X).ENABLED?"启用":"禁用"),1)])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])]))}}),[["__scopeId","data-v-5d3ed390"]])},Symbol.toStringTag,{value:"Module"})),za={class:"role-page"},Oa={class:"search-section"},Fa={class:"table-section"},Ra={class:"table-toolbar"},Pa={class:"toolbar-left"},qa={class:"toolbar-right"},ja={class:"table-count"},Ha={class:"table-wrapper"},Ga={class:"data-table"},Ka={key:0},Wa={key:1},Xa={class:"col-id"},Ya={class:"id-badge"},Ja={class:"col-name"},Za={class:"role-name"},Qa={class:"col-code"},va={class:"col-desc"},ei={class:"desc-text"},ti={class:"col-status"},ni={class:"status-switch"},oi={class:"col-time"},li={class:"time-text"},si={class:"col-actions"},ri={class:"pagination-wrapper"},ai={class:"status-field"},ii={class:"status-label"},Ht=Object.freeze(Object.defineProperty({__proto__:null,default:fe(e.defineComponent({__name:"index",setup(s){const u=[{id:1,name:"超级管理员",code:"admin",description:"拥有所有权限",status:X.ENABLED,permissions:["*"],createTime:"2024-01-01 10:00:00"},{id:2,name:"编辑",code:"editor",description:"内容编辑权限",status:X.ENABLED,permissions:["user:read","user:write"],createTime:"2024-01-02 10:00:00"},{id:3,name:"访客",code:"viewer",description:"只读权限",status:X.ENABLED,permissions:["user:read"],createTime:"2024-01-03 10:00:00"}],E=e.ref(!1),m=e.ref([]),f=e.ref(0),C=e.ref(1),V=e.ref(10),g=e.reactive({keyword:"",status:void 0}),x=e.ref(!1),k=e.computed(()=>y.id?"编辑角色":"新增角色"),y=e.reactive({id:0,name:"",code:"",description:"",status:X.ENABLED,permissions:[]}),M={name:[{required:!0,message:"请输入角色名称",trigger:"blur"}],code:[{required:!0,message:"请输入角色编码",trigger:"blur"}]},S=e.ref(),U=()=>{E.value=!0,setTimeout(()=>{let R=[...u];g.keyword&&(R=R.filter(i=>i.name.includes(g.keyword)||i.code.includes(g.keyword))),g.status!==void 0&&(R=R.filter(i=>i.status===g.status)),f.value=R.length,m.value=R.slice((C.value-1)*V.value,C.value*V.value),E.value=!1},300)},Y=()=>{C.value=1,U()},T=()=>{g.keyword="",g.status=void 0,C.value=1,U()},D=()=>{Object.assign(y,{id:0,name:"",code:"",description:"",status:X.ENABLED,permissions:[]}),x.value=!0},B=R=>{Object.assign(y,R),x.value=!0},w=R=>{oe.Message.success("删除成功"),U()},z=async()=>{var R;try{await((R=S.value)==null?void 0:R.validate()),oe.Message.success(y.id?"编辑成功":"新增成功"),x.value=!1,U()}catch(i){console.error(i)}},K=R=>{oe.Message.success(`已${R.status===X.ENABLED?"启用":"禁用"}角色 ${R.name}`)};return e.onMounted(()=>{U()}),(R,i)=>(e.openBlock(),e.createElementBlock("div",za,[e.createElementVNode("div",Oa,[e.createVNode(e.unref(F.Form),{model:g,inline:"",class:"search-form"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.FormItem),{label:"关键词"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.Input),{modelValue:g.keyword,"onUpdate:modelValue":i[0]||(i[0]=_=>g.keyword=_),placeholder:"角色名称/编码",clearable:"",onKeyup:e.withKeys(Y,["enter"])},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(F.FormItem),{label:"状态"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.Select),{modelValue:g.status,"onUpdate:modelValue":i[1]||(i[1]=_=>g.status=_),options:e.unref(mt),placeholder:"请选择",clearable:""},null,8,["modelValue","options"])]),_:1}),e.createVNode(e.unref(F.FormItem),null,{default:e.withCtx(()=>[e.createVNode(e.unref(A.Space),null,{default:e.withCtx(()=>[e.createVNode(e.unref(A.Button),{type:"primary",onClick:Y},{icon:e.withCtx(()=>[...i[10]||(i[10]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("circle",{cx:"11",cy:"11",r:"8"}),e.createElementVNode("path",{d:"M21 21l-4.35-4.35"})],-1)])]),default:e.withCtx(()=>[i[11]||(i[11]=e.createTextVNode(" 搜索 ",-1))]),_:1}),e.createVNode(e.unref(A.Button),{onClick:T},{icon:e.withCtx(()=>[...i[12]||(i[12]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("path",{d:"M3 12a9 9 0 109-9 9.75 9.75 0 00-6.74 2.74L3 8"}),e.createElementVNode("path",{d:"M3 3v5h5"})],-1)])]),default:e.withCtx(()=>[i[13]||(i[13]=e.createTextVNode(" 重置 ",-1))]),_:1})]),_:1})]),_:1})]),_:1},8,["model"])]),e.createElementVNode("div",Fa,[e.createElementVNode("div",Ra,[e.createElementVNode("div",Pa,[e.createVNode(e.unref(A.Button),{type:"primary",onClick:D},{icon:e.withCtx(()=>[...i[14]||(i[14]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),e.createElementVNode("line",{x1:"5",y1:"12",x2:"19",y2:"12"})],-1)])]),default:e.withCtx(()=>[i[15]||(i[15]=e.createTextVNode(" 新增角色 ",-1))]),_:1})]),e.createElementVNode("div",qa,[e.createElementVNode("span",ja,"共 "+e.toDisplayString(f.value)+" 条数据",1)])]),e.createElementVNode("div",Ha,[e.createElementVNode("table",Ga,[i[22]||(i[22]=e.createElementVNode("thead",null,[e.createElementVNode("tr",null,[e.createElementVNode("th",{class:"col-id"},"ID"),e.createElementVNode("th",{class:"col-name"},"角色名称"),e.createElementVNode("th",{class:"col-code"},"角色编码"),e.createElementVNode("th",{class:"col-desc"},"描述"),e.createElementVNode("th",{class:"col-status"},"状态"),e.createElementVNode("th",{class:"col-time"},"创建时间"),e.createElementVNode("th",{class:"col-actions"},"操作")])],-1)),e.createElementVNode("tbody",null,[E.value?(e.openBlock(),e.createElementBlock("tr",Ka,[...i[16]||(i[16]=[e.createElementVNode("td",{colspan:"7",class:"loading-cell"},[e.createElementVNode("div",{class:"loading-content"},[e.createElementVNode("div",{class:"loading-spinner"}),e.createElementVNode("span",null,"加载中...")])],-1)])])):m.value.length===0?(e.openBlock(),e.createElementBlock("tr",Wa,[...i[17]||(i[17]=[e.createElementVNode("td",{colspan:"7",class:"empty-cell"},[e.createElementVNode("div",{class:"empty-content"},[e.createElementVNode("svg",{viewBox:"0 0 64 41",fill:"none"},[e.createElementVNode("g",{transform:"translate(0 1)"},[e.createElementVNode("ellipse",{fill:"#f5f5f5",cx:"32",cy:"33",rx:"32",ry:"7"}),e.createElementVNode("g",{stroke:"var(--color-text-placeholder)","stroke-width":"2"},[e.createElementVNode("path",{d:"M55 12.76L44.854 1.258C44.367.474 43.656 0 42.907 0H21.093c-.749 0-1.46.474-1.947 1.257L9 12.761V22h46v-9.24z"}),e.createElementVNode("path",{d:"M41.613 15.931c0-1.605.994-2.93 2.227-2.931H55v18.137C55 33.26 53.68 35 52.05 35H11.95C10.32 35 9 33.259 9 31.137V13h11.16c1.233 0 2.227 1.323 2.227 2.928v.022c0 1.605 1.005 2.901 2.237 2.901h14.752c1.232 0 2.237-1.308 2.237-2.913v-.007z",fill:"var(--color-fill)"})])])]),e.createElementVNode("span",null,"暂无数据")])],-1)])])):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:2},e.renderList(m.value,_=>(e.openBlock(),e.createElementBlock("tr",{key:_.id,class:"data-row"},[e.createElementVNode("td",Xa,[e.createElementVNode("span",Ya,e.toDisplayString(_.id),1)]),e.createElementVNode("td",Ja,[e.createElementVNode("span",Za,e.toDisplayString(_.name),1)]),e.createElementVNode("td",Qa,[e.createVNode(e.unref(we.Tag),{type:"primary",size:"small"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(_.code),1)]),_:2},1024)]),e.createElementVNode("td",va,[e.createElementVNode("span",ei,e.toDisplayString(_.description),1)]),e.createElementVNode("td",ti,[e.createElementVNode("div",ni,[e.createVNode(e.unref(F.Switch),{"model-value":_.status===e.unref(X).ENABLED,"onUpdate:modelValue":H=>{_.status=H?e.unref(X).ENABLED:e.unref(X).DISABLED,K(_)}},null,8,["model-value","onUpdate:modelValue"]),e.createElementVNode("span",{class:e.normalizeClass(["status-text",{enabled:_.status===e.unref(X).ENABLED}])},e.toDisplayString(_.status===e.unref(X).ENABLED?"已启用":"已禁用"),3)])]),e.createElementVNode("td",oi,[e.createElementVNode("span",li,e.toDisplayString(_.createTime),1)]),e.createElementVNode("td",si,[e.createVNode(e.unref(A.Space),{class:"action-buttons"},{default:e.withCtx(()=>[e.createVNode(e.unref(A.Button),{type:"primary",link:"",size:"small",onClick:H=>B(_)},{icon:e.withCtx(()=>[...i[18]||(i[18]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("path",{d:"M11 4H4a2 2 0 00-2 2v14a2 2 0 002 2h14a2 2 0 002-2v-7"}),e.createElementVNode("path",{d:"M18.5 2.5a2.121 2.121 0 013 3L12 15l-4 1 1-4 9.5-9.5z"})],-1)])]),default:e.withCtx(()=>[i[19]||(i[19]=e.createTextVNode(" 编辑 ",-1))]),_:1},8,["onClick"]),e.createVNode(e.unref(oe.Popconfirm),{title:"确定删除该角色吗?",onConfirm:H=>w(_.id)},{default:e.withCtx(()=>[e.createVNode(e.unref(A.Button),{type:"danger",link:"",size:"small"},{icon:e.withCtx(()=>[...i[20]||(i[20]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("polyline",{points:"3,6 5,6 21,6"}),e.createElementVNode("path",{d:"M19 6v14a2 2 0 01-2 2H7a2 2 0 01-2-2V6m3 0V4a2 2 0 012-2h4a2 2 0 012 2v2"}),e.createElementVNode("line",{x1:"10",y1:"11",x2:"10",y2:"17"}),e.createElementVNode("line",{x1:"14",y1:"11",x2:"14",y2:"17"})],-1)])]),default:e.withCtx(()=>[i[21]||(i[21]=e.createTextVNode(" 删除 ",-1))]),_:1})]),_:1},8,["onConfirm"])]),_:2},1024)])]))),128))])])]),e.createElementVNode("div",ri,[e.createVNode(e.unref(we.Pagination),{"current-page":C.value,"onUpdate:currentPage":i[2]||(i[2]=_=>C.value=_),"page-size":V.value,"onUpdate:pageSize":i[3]||(i[3]=_=>V.value=_),total:f.value,"page-sizes":[10,20,50,100],layout:"total, sizes, prev, pager, next",onCurrentChange:U,onSizeChange:U},null,8,["current-page","page-size","total"])])]),e.createVNode(e.unref(oe.Modal),{modelValue:x.value,"onUpdate:modelValue":i[9]||(i[9]=_=>x.value=_),title:k.value,width:"520px",class:"role-modal"},{footer:e.withCtx(()=>[e.createVNode(e.unref(A.Space),null,{default:e.withCtx(()=>[e.createVNode(e.unref(A.Button),{onClick:i[8]||(i[8]=_=>x.value=!1)},{default:e.withCtx(()=>[...i[23]||(i[23]=[e.createTextVNode("取消",-1)])]),_:1}),e.createVNode(e.unref(A.Button),{type:"primary",onClick:z},{default:e.withCtx(()=>[...i[24]||(i[24]=[e.createTextVNode("确定",-1)])]),_:1})]),_:1})]),default:e.withCtx(()=>[e.createVNode(e.unref(F.Form),{ref_key:"formRef",ref:S,model:y,rules:M,"label-width":"80px",class:"role-form"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.FormItem),{label:"角色名称",prop:"name"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.Input),{modelValue:y.name,"onUpdate:modelValue":i[4]||(i[4]=_=>y.name=_),placeholder:"请输入角色名称"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(F.FormItem),{label:"角色编码",prop:"code"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.Input),{modelValue:y.code,"onUpdate:modelValue":i[5]||(i[5]=_=>y.code=_),placeholder:"请输入角色编码"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(F.FormItem),{label:"描述"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.Input),{modelValue:y.description,"onUpdate:modelValue":i[6]||(i[6]=_=>y.description=_),placeholder:"请输入描述"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(F.FormItem),{label:"状态"},{default:e.withCtx(()=>[e.createElementVNode("div",ai,[e.createVNode(e.unref(F.Switch),{modelValue:y.status,"onUpdate:modelValue":i[7]||(i[7]=_=>y.status=_),"active-value":e.unref(X).ENABLED,"inactive-value":e.unref(X).DISABLED},null,8,["modelValue","active-value","inactive-value"]),e.createElementVNode("span",ii,e.toDisplayString(y.status===e.unref(X).ENABLED?"启用":"禁用"),1)])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])]))}}),[["__scopeId","data-v-de354764"]])},Symbol.toStringTag,{value:"Module"})),ci={class:"menu-page"},di={class:"table-section"},mi={class:"table-toolbar"},pi={class:"toolbar-left"},fi={class:"toolbar-right"},ui={class:"table-count"},hi={class:"table-wrapper"},gi={class:"data-table"},_i={key:0},Ni={key:1},Ei={class:"data-row tree-row--level-0"},Vi={class:"col-name"},ki={class:"menu-info"},yi={class:"menu-icon-wrapper"},wi=["onClick"],xi={class:"col-icon"},Bi={class:"icon-text"},Ci={class:"col-path"},bi={class:"path-code"},$i={class:"col-type"},Si={class:"col-sort"},Ii={class:"sort-badge"},Di={class:"col-status"},Mi={class:"col-actions"},Li={class:"col-name"},Ti={class:"menu-info"},Ai={class:"menu-icon-wrapper"},Ui=["onClick"],zi={class:"col-icon"},Oi={class:"icon-text"},Fi={class:"col-path"},Ri={class:"path-code"},Pi={class:"col-type"},qi={class:"col-sort"},ji={class:"sort-badge"},Hi={class:"col-status"},Gi={class:"col-actions"},Ki={class:"form-grid"},Wi={class:"status-field"},Xi={class:"status-label"},Yi={class:"status-field"},Ji={class:"status-label"},Zi={class:"status-field"},Qi={class:"status-label"},Gt=Object.freeze(Object.defineProperty({__proto__:null,default:fe(e.defineComponent({__name:"index",setup(s){const u=[{id:1,parentId:null,name:"Dashboard",path:"/dashboard",component:"dashboard/index",redirect:"",icon:"dashboard",title:"仪表盘",type:Ne.MENU,sort:1,status:X.ENABLED,hidden:!1,keepAlive:!0},{id:2,parentId:null,name:"System",path:"/system",component:"",redirect:"/system/user",icon:"setting",title:"系统管理",type:Ne.DIRECTORY,sort:2,status:X.ENABLED,hidden:!1,keepAlive:!1,children:[{id:21,parentId:2,name:"SystemUser",path:"/system/user",component:"system/user/index",redirect:"",icon:"user",title:"用户管理",type:Ne.MENU,sort:1,status:X.ENABLED,hidden:!1,keepAlive:!0},{id:22,parentId:2,name:"SystemRole",path:"/system/role",component:"system/role/index",redirect:"",icon:"role",title:"角色管理",type:Ne.MENU,sort:2,status:X.ENABLED,hidden:!1,keepAlive:!0},{id:23,parentId:2,name:"SystemMenu",path:"/system/menu",component:"system/menu/index",redirect:"",icon:"menu",title:"菜单管理",type:Ne.MENU,sort:3,status:X.ENABLED,hidden:!1,keepAlive:!0}]}],E=e.ref(!1),m=e.ref([]),f=e.ref(!1),C=e.computed(()=>V.id?"编辑菜单":"新增菜单"),V=e.reactive({id:0,parentId:null,name:"",path:"",component:"",redirect:"",icon:"",title:"",type:Ne.MENU,sort:0,status:X.ENABLED,hidden:!1,keepAlive:!0}),g={name:[{required:!0,message:"请输入菜单名称",trigger:"blur"}],path:[{required:!0,message:"请输入路由路径",trigger:"blur"}],title:[{required:!0,message:"请输入菜单标题",trigger:"blur"}]},x=e.ref(),k=()=>{E.value=!0,setTimeout(()=>{m.value=u,E.value=!1},300)},y=(D=null)=>{Object.assign(V,{id:0,parentId:D,name:"",path:"",component:"",redirect:"",icon:"",title:"",type:Ne.MENU,sort:0,status:X.ENABLED,hidden:!1,keepAlive:!0}),f.value=!0},M=D=>{Object.assign(V,D),f.value=!0},S=async()=>{var D;try{await((D=x.value)==null?void 0:D.validate()),oe.Message.success(V.id?"编辑成功":"新增成功"),f.value=!1,k()}catch(B){console.error(B)}},U=D=>({dashboard:"📊",system:"⚙️",user:"👤",role:"👥",menu:"📋",setting:"🔧"})[D||""]||"📄",Y=D=>{switch(D){case Ne.DIRECTORY:return"primary";case Ne.MENU:return"success";default:return"warning"}},T=D=>{switch(D){case Ne.DIRECTORY:return"目录";case Ne.MENU:return"菜单";default:return"按钮"}};return e.onMounted(()=>{k()}),(D,B)=>(e.openBlock(),e.createElementBlock("div",ci,[e.createElementVNode("div",di,[e.createElementVNode("div",mi,[e.createElementVNode("div",pi,[e.createVNode(e.unref(A.Button),{type:"primary",onClick:B[0]||(B[0]=w=>y())},{icon:e.withCtx(()=>[...B[14]||(B[14]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),e.createElementVNode("line",{x1:"5",y1:"12",x2:"19",y2:"12"})],-1)])]),default:e.withCtx(()=>[B[15]||(B[15]=e.createTextVNode(" 新增菜单 ",-1))]),_:1})]),e.createElementVNode("div",fi,[e.createElementVNode("span",ui,"共 "+e.toDisplayString(m.value.length)+" 个菜单",1)])]),e.createElementVNode("div",hi,[e.createElementVNode("table",gi,[B[26]||(B[26]=e.createElementVNode("thead",null,[e.createElementVNode("tr",null,[e.createElementVNode("th",{class:"col-name"},"菜单名称"),e.createElementVNode("th",{class:"col-icon"},"图标"),e.createElementVNode("th",{class:"col-path"},"路由路径"),e.createElementVNode("th",{class:"col-type"},"类型"),e.createElementVNode("th",{class:"col-sort"},"排序"),e.createElementVNode("th",{class:"col-status"},"状态"),e.createElementVNode("th",{class:"col-actions"},"操作")])],-1)),e.createElementVNode("tbody",null,[E.value?(e.openBlock(),e.createElementBlock("tr",_i,[...B[16]||(B[16]=[e.createElementVNode("td",{colspan:"7",class:"loading-cell"},[e.createElementVNode("div",{class:"loading-content"},[e.createElementVNode("div",{class:"loading-spinner"}),e.createElementVNode("span",null,"加载中...")])],-1)])])):m.value.length===0?(e.openBlock(),e.createElementBlock("tr",Ni,[...B[17]||(B[17]=[e.createElementVNode("td",{colspan:"7",class:"empty-cell"},[e.createElementVNode("div",{class:"empty-content"},[e.createElementVNode("svg",{viewBox:"0 0 64 41",fill:"none"},[e.createElementVNode("g",{transform:"translate(0 1)"},[e.createElementVNode("ellipse",{fill:"#f5f5f5",cx:"32",cy:"33",rx:"32",ry:"7"}),e.createElementVNode("g",{stroke:"var(--color-text-placeholder)","stroke-width":"2"},[e.createElementVNode("path",{d:"M55 12.76L44.854 1.258C44.367.474 43.656 0 42.907 0H21.093c-.749 0-1.46.474-1.947 1.257L9 12.761V22h46v-9.24z"}),e.createElementVNode("path",{d:"M41.613 15.931c0-1.605.994-2.93 2.227-2.931H55v18.137C55 33.26 53.68 35 52.05 35H11.95C10.32 35 9 33.259 9 31.137V13h11.16c1.233 0 2.227 1.323 2.227 2.928v.022c0 1.605 1.005 2.901 2.237 2.901h14.752c1.232 0 2.237-1.308 2.237-2.913v-.007z",fill:"var(--color-fill)"})])])]),e.createElementVNode("span",null,"暂无数据")])],-1)])])):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:2},e.renderList(m.value,w=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:w.id},[e.createElementVNode("tr",Ei,[e.createElementVNode("td",Vi,[e.createElementVNode("div",ki,[e.createElementVNode("span",yi,e.toDisplayString(U(w.icon)),1),e.createElementVNode("span",{class:"menu-title",onClick:z=>M(w)},e.toDisplayString(w.title),9,wi)])]),e.createElementVNode("td",xi,[e.createElementVNode("span",Bi,e.toDisplayString(U(w.icon)),1)]),e.createElementVNode("td",Ci,[e.createElementVNode("code",bi,e.toDisplayString(w.path),1)]),e.createElementVNode("td",$i,[e.createVNode(e.unref(we.Tag),{type:Y(w.type),size:"small"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(T(w.type)),1)]),_:2},1032,["type"])]),e.createElementVNode("td",Si,[e.createElementVNode("span",Ii,e.toDisplayString(w.sort),1)]),e.createElementVNode("td",Di,[e.createVNode(e.unref(we.Tag),{type:w.status===e.unref(X).ENABLED?"success":"danger",size:"small"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(w.status===e.unref(X).ENABLED?"启用":"禁用"),1)]),_:2},1032,["type"])]),e.createElementVNode("td",Mi,[e.createVNode(e.unref(A.Space),{class:"action-buttons"},{default:e.withCtx(()=>[e.createVNode(e.unref(A.Button),{type:"primary",link:"",size:"small",onClick:z=>y(w.id)},{icon:e.withCtx(()=>[...B[18]||(B[18]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),e.createElementVNode("line",{x1:"5",y1:"12",x2:"19",y2:"12"})],-1)])]),default:e.withCtx(()=>[B[19]||(B[19]=e.createTextVNode(" 新增 ",-1))]),_:1},8,["onClick"]),e.createVNode(e.unref(A.Button),{type:"primary",link:"",size:"small",onClick:z=>M(w)},{icon:e.withCtx(()=>[...B[20]||(B[20]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("path",{d:"M11 4H4a2 2 0 00-2 2v14a2 2 0 002 2h14a2 2 0 002-2v-7"}),e.createElementVNode("path",{d:"M18.5 2.5a2.121 2.121 0 013 3L12 15l-4 1 1-4 9.5-9.5z"})],-1)])]),default:e.withCtx(()=>[B[21]||(B[21]=e.createTextVNode(" 编辑 ",-1))]),_:1},8,["onClick"])]),_:2},1024)])]),w.children?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(w.children,z=>(e.openBlock(),e.createElementBlock("tr",{key:z.id,class:"data-row tree-row--level-1"},[e.createElementVNode("td",Li,[e.createElementVNode("div",Ti,[B[22]||(B[22]=e.createElementVNode("span",{class:"tree-indent"},null,-1)),B[23]||(B[23]=e.createElementVNode("span",{class:"tree-line"},null,-1)),e.createElementVNode("span",Ai,e.toDisplayString(U(z.icon)),1),e.createElementVNode("span",{class:"menu-title",onClick:K=>M(z)},e.toDisplayString(z.title),9,Ui)])]),e.createElementVNode("td",zi,[e.createElementVNode("span",Oi,e.toDisplayString(U(z.icon)),1)]),e.createElementVNode("td",Fi,[e.createElementVNode("code",Ri,e.toDisplayString(z.path),1)]),e.createElementVNode("td",Pi,[e.createVNode(e.unref(we.Tag),{type:Y(z.type),size:"small"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(T(z.type)),1)]),_:2},1032,["type"])]),e.createElementVNode("td",qi,[e.createElementVNode("span",ji,e.toDisplayString(z.sort),1)]),e.createElementVNode("td",Hi,[e.createVNode(e.unref(we.Tag),{type:z.status===e.unref(X).ENABLED?"success":"danger",size:"small"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(z.status===e.unref(X).ENABLED?"启用":"禁用"),1)]),_:2},1032,["type"])]),e.createElementVNode("td",Gi,[e.createVNode(e.unref(A.Space),{class:"action-buttons"},{default:e.withCtx(()=>[e.createVNode(e.unref(A.Button),{type:"primary",link:"",size:"small",onClick:K=>M(z)},{icon:e.withCtx(()=>[...B[24]||(B[24]=[e.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("path",{d:"M11 4H4a2 2 0 00-2 2v14a2 2 0 002 2h14a2 2 0 002-2v-7"}),e.createElementVNode("path",{d:"M18.5 2.5a2.121 2.121 0 013 3L12 15l-4 1 1-4 9.5-9.5z"})],-1)])]),default:e.withCtx(()=>[B[25]||(B[25]=e.createTextVNode(" 编辑 ",-1))]),_:1},8,["onClick"])]),_:2},1024)])]))),128)):e.createCommentVNode("",!0)],64))),128))])])])]),e.createVNode(e.unref(oe.Modal),{modelValue:f.value,"onUpdate:modelValue":B[13]||(B[13]=w=>f.value=w),title:C.value,width:"600px",class:"menu-modal"},{footer:e.withCtx(()=>[e.createVNode(e.unref(A.Space),null,{default:e.withCtx(()=>[e.createVNode(e.unref(A.Button),{onClick:B[12]||(B[12]=w=>f.value=!1)},{default:e.withCtx(()=>[...B[27]||(B[27]=[e.createTextVNode("取消",-1)])]),_:1}),e.createVNode(e.unref(A.Button),{type:"primary",onClick:S},{default:e.withCtx(()=>[...B[28]||(B[28]=[e.createTextVNode("确定",-1)])]),_:1})]),_:1})]),default:e.withCtx(()=>[e.createVNode(e.unref(F.Form),{ref_key:"formRef",ref:x,model:V,rules:g,"label-width":"80px",class:"menu-form"},{default:e.withCtx(()=>[e.createElementVNode("div",Ki,[e.createVNode(e.unref(F.FormItem),{label:"上级菜单",class:"form-item-full"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.Input),{modelValue:V.parentId,"onUpdate:modelValue":B[1]||(B[1]=w=>V.parentId=w),placeholder:"上级菜单ID",disabled:""},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(F.FormItem),{label:"菜单类型"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.Select),{modelValue:V.type,"onUpdate:modelValue":B[2]||(B[2]=w=>V.type=w),options:e.unref(Pt)},null,8,["modelValue","options"])]),_:1}),e.createVNode(e.unref(F.FormItem),{label:"排序"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.InputNumber),{modelValue:V.sort,"onUpdate:modelValue":B[3]||(B[3]=w=>V.sort=w),min:0},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(F.FormItem),{label:"菜单名称",prop:"name"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.Input),{modelValue:V.name,"onUpdate:modelValue":B[4]||(B[4]=w=>V.name=w),placeholder:"请输入菜单名称(路由name)"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(F.FormItem),{label:"菜单标题",prop:"title"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.Input),{modelValue:V.title,"onUpdate:modelValue":B[5]||(B[5]=w=>V.title=w),placeholder:"请输入菜单标题"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(F.FormItem),{label:"路由路径",prop:"path",class:"form-item-full"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.Input),{modelValue:V.path,"onUpdate:modelValue":B[6]||(B[6]=w=>V.path=w),placeholder:"请输入路由路径"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(F.FormItem),{label:"组件路径",class:"form-item-full"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.Input),{modelValue:V.component,"onUpdate:modelValue":B[7]||(B[7]=w=>V.component=w),placeholder:"请输入组件路径"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(F.FormItem),{label:"图标"},{default:e.withCtx(()=>[e.createVNode(e.unref(F.Input),{modelValue:V.icon,"onUpdate:modelValue":B[8]||(B[8]=w=>V.icon=w),placeholder:"请输入图标名称"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(F.FormItem),{label:"状态"},{default:e.withCtx(()=>[e.createElementVNode("div",Wi,[e.createVNode(e.unref(F.Switch),{modelValue:V.status,"onUpdate:modelValue":B[9]||(B[9]=w=>V.status=w),"active-value":e.unref(X).ENABLED,"inactive-value":e.unref(X).DISABLED},null,8,["modelValue","active-value","inactive-value"]),e.createElementVNode("span",Xi,e.toDisplayString(V.status===e.unref(X).ENABLED?"启用":"禁用"),1)])]),_:1}),e.createVNode(e.unref(F.FormItem),{label:"隐藏"},{default:e.withCtx(()=>[e.createElementVNode("div",Yi,[e.createVNode(e.unref(F.Switch),{modelValue:V.hidden,"onUpdate:modelValue":B[10]||(B[10]=w=>V.hidden=w)},null,8,["modelValue"]),e.createElementVNode("span",Ji,e.toDisplayString(V.hidden?"隐藏":"显示"),1)])]),_:1}),e.createVNode(e.unref(F.FormItem),{label:"缓存"},{default:e.withCtx(()=>[e.createElementVNode("div",Zi,[e.createVNode(e.unref(F.Switch),{modelValue:V.keepAlive,"onUpdate:modelValue":B[11]||(B[11]=w=>V.keepAlive=w)},null,8,["modelValue"]),e.createElementVNode("span",Qi,e.toDisplayString(V.keepAlive?"开启":"关闭"),1)])]),_:1})])]),_:1},8,["model"])]),_:1},8,["modelValue","title"])]))}}),[["__scopeId","data-v-e7cc9235"]])},Symbol.toStringTag,{value:"Module"}));$.Footer=hs,$.Forbidden=Hs,$.Gender=Rt,$.GenderOptions=Cr,$.GenderText=xr,$.Header=bt,$.Layout=at,$.Login=At,$.MenuType=Ne,$.MenuTypeOptions=Pt,$.MenuTypeText=Br,$.NotFound=Ut,$.Sidebar=rt,$.Status=X,$.StatusOptions=mt,$.StatusText=wr,$.Tabs=ms,$.appConfig=Wt,$.batchDeleteUsers=Vr,$.clearToken=Me,$.createLayoutRoute=tr,$.createMenu=dr,$.createRole=sr,$.createRouter=nr,$.createUser=_r,$.createXtoApp=$r,$.defaultDynamicRoutes=Qs,$.deleteMenu=pr,$.deleteRole=ar,$.deleteUser=Er,$.getApiBaseUrl=ht,$.getAppId=Ae,$.getClientId=Xe,$.getCode=Qt,$.getMenuList=cr,$.getMenuTree=Ft,$.getRefreshTime=Zt,$.getRefreshToken=Jt,$.getRoleDetail=lr,$.getRoleList=or,$.getToken=Fe,$.getTokenExpire=kt,$.getTokenType=Nt,$.getUserDetail=gr,$.getUserInfo=Tt,$.getUserList=hr,$.hasPermission=Ys,$.hasRole=Js,$.hasToken=st,$.http=le,$.initAppConfig=ut,$.isAdmin=Zs,$.isTokenExpired=Bt,$.layoutRoute=ct,$.local=G,$.localStorageUtil=ze,$.login=Lt,$.logout=Bs,$.mockMenuData=Ot,$.permissionDirective=br,$.refreshToken=Cs,$.resetPassword=yr,$.resetRouter=er,$.router=dt,$.session=Xt,$.sessionStorageUtil=Oe,$.setCode=xt,$.setRefreshTime=wt,$.setRefreshToken=Vt,$.setToken=_t,$.setTokenExpire=yt,$.setTokenInfo=lt,$.setTokenType=Et,$.setupRouterGuards=ur,$.staticRoutes=it,$.updateMenu=mr,$.updateRole=rr,$.updateRoleStatus=ir,$.updateUser=Nr,$.updateUserStatus=kr,$.useApp=Gs,$.useAppStore=Ce,$.useAuth=Ks,$.useAuthStore=Le,$.useForm=Ws,$.useMenuStore=De,$.useTable=Xs,$.useUserStore=ke,Object.defineProperty($,Symbol.toStringTag,{value:"Module"})});
1
+ (function(c,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("pinia"),require("vue-router"),require("@xto/navigation"),require("@xto/base"),require("@xto/feedback"),require("@xto/form"),require("axios"),require("@xto/data")):typeof define=="function"&&define.amd?define(["exports","vue","pinia","vue-router","@xto/navigation","@xto/base","@xto/feedback","@xto/form","axios","@xto/data"],e):(c=typeof globalThis<"u"?globalThis:c||self,e(c.XtoFronted={},c.Vue,c.Pinia,c.VueRouter,c.navigation,c.base,c.feedback,c.form,c.axios,c.data))})(this,function(c,e,Ce,P,J,V,z,E,Vt,F){"use strict";const Be=e.ref(""),xe=e.ref(""),be=e.ref("");function We(t){t.appId&&(Be.value=t.appId),t.clientId&&(xe.value=t.clientId),t.apiBaseUrl&&(be.value=t.apiBaseUrl)}function ue(){if(Be.value)return Be.value;try{return""}catch{return""}}function $e(){if(xe.value)return xe.value;try{return""}catch{return""}}function Xe(){if(be.value)return be.value;try{return""}catch{return""}}const kt={appId:Be,clientId:xe,apiBaseUrl:be},fe="xto_",Ge=t=>({get(n){const l=t.getItem(fe+n);if(!l)return null;try{return JSON.parse(l)}catch{return l}},set(n,l){if(l==null){t.removeItem(fe+n);return}const s=typeof l=="string"?l:JSON.stringify(l);t.setItem(fe+n,s)},remove(n){t.removeItem(fe+n)},clear(){Object.keys(t).forEach(l=>{l.startsWith(fe)&&t.removeItem(l)})}}),he=Ge(window.localStorage),_e=Ge(window.sessionStorage),$={get:he.get,set:he.set,remove:he.remove,clear:he.clear},Et={get:_e.get,set:_e.set,remove:_e.remove,clear:_e.clear},ee=Ce.defineStore("app",()=>{const t=e.ref($.get("appName")||"XTO App"),n=e.ref($.get("indexPath")||"/dashboard"),l=e.ref($.get("isDark")||!1),s=e.ref($.get("theme")||"light"),a=e.ref($.get("layout")||"sidebar"),r=e.ref($.get("isCollapsed")||!1),p=e.ref($.get("showTabs")??!0),o=e.ref($.get("showFooter")??!0),h=e.ref($.get("showBreadcrumb")??!0),g=e.ref($.get("primaryColor")||"#409eff"),d=e.ref([]),y=e.ref([]),x=e.computed(()=>l.value?"dark":"light"),T=U=>{t.value=U,$.set("appName",U)},I=U=>{n.value=U,$.set("indexPath",U)},N=()=>{l.value=!l.value,s.value=l.value?"dark":"light",S()},f=U=>{s.value=U,l.value=U==="dark",S()},S=()=>{const U=document.documentElement;l.value?U.classList.add("dark"):U.classList.remove("dark"),$.set("isDark",l.value),$.set("theme",s.value)},R=()=>{r.value=!r.value,$.set("isCollapsed",r.value)},q=U=>{a.value=U,$.set("layout",U)},M=()=>{p.value=!p.value,$.set("showTabs",p.value)},_=()=>{o.value=!o.value,$.set("showFooter",o.value)},m=()=>{h.value=!h.value,$.set("showBreadcrumb",h.value)},w=U=>{g.value=U,document.documentElement.style.setProperty("--color-primary",U),$.set("primaryColor",U)},O=U=>{d.value.includes(U)||d.value.push(U)},Q=U=>{const G=d.value.indexOf(U);G>-1&&d.value.splice(G,1)},Z=()=>{d.value=[]},le=U=>{y.value=U},te=()=>{S(),g.value!=="#409eff"&&document.documentElement.style.setProperty("--color-primary",g.value)};return e.watch(l,S),{appName:t,indexPath:n,isDark:l,theme:s,layout:a,isCollapsed:r,showTabs:p,showFooter:o,showBreadcrumb:h,primaryColor:g,cachedViews:d,mixSubMenus:y,themeClass:x,setAppName:T,setIndexPath:I,toggleTheme:N,toggleCollapse:R,setTheme:f,setLayout:q,toggleTabs:M,toggleFooter:_,toggleBreadcrumb:m,setPrimaryColor:w,addCachedView:O,removeCachedView:Q,clearCachedViews:Z,setMixSubMenus:le,initTheme:te}}),Ie="menu_list",yt={menuCode:"home",menuName:"首页",menuUrl:"/dashboard",icon:"home",closable:!1,isDefault:!1,isOut:!1},oe=Ce.defineStore("menu",()=>{const t=e.ref($.get(Ie)||[]),n=e.computed(()=>t.value.length>0);return{menuList:t,hasMenu:n,setMenuList:a=>{t.value=[yt,...a],$.set(Ie,t.value)},clearMenu:()=>{t.value=[],$.remove(Ie)}}}),Se="/vite.svg",De="user_info",X=Ce.defineStore("user",()=>{const t=e.ref($.get(De)),n=e.computed(()=>!!t.value),l=e.computed(()=>{var y;return((y=t.value)==null?void 0:y.userId)||""}),s=e.computed(()=>{var y;return((y=t.value)==null?void 0:y.userName)||""}),a=e.computed(()=>{var y;return((y=t.value)==null?void 0:y.departmentName)||""}),r=e.computed(()=>{var y;return((y=t.value)==null?void 0:y.email)||""}),p=e.computed(()=>{var y;return((y=t.value)==null?void 0:y.mobilePhone)||""}),o=e.computed(()=>{var y;return((y=t.value)==null?void 0:y.positionName)||""}),h=e.computed(()=>{var y;return((y=t.value)==null?void 0:y.avatar)||""});return{userInfo:t,isLoggedIn:n,userId:l,userName:s,departmentName:a,email:r,mobilePhone:p,positionName:o,avatar:h,setUserInfo:y=>{t.value=y,$.set(De,y)},clearUserInfo:()=>{t.value=null,$.remove(De)}}}),Te="token",Le="token_type",Me="refresh_token",Ue="expires_time",ze="refresh_time",Ae="code",ge=()=>$.get(Te),He=t=>{$.set(Te,t)},Je=()=>$.get(Le),Qe=t=>{$.set(Le,t)},wt=()=>$.get(Me),Ze=t=>{$.set(Me,t)},ve=()=>$.get(Ue),et=t=>{$.set(Ue,t)},Ct=()=>$.get(ze),tt=t=>{$.set(ze,t)},Bt=()=>$.get(Ae),nt=t=>{$.set(Ae,t)},Fe=t=>{He(t.access_token),Qe(t.token_type||"Bearer"),Ze(t.refresh_token),et(t.expires_time),tt(t.refresh_time),t.code&&nt(t.code)},ie=()=>{$.remove(Te),$.remove(Le),$.remove(Me),$.remove(Ue),$.remove(ze),$.remove(Ae)},ot=()=>{const t=ve();return t?Date.now()>t:!0},Re=()=>!!ge()&&!ot(),ce=Ce.defineStore("auth",()=>{const t=e.ref(ge()),n=e.computed(()=>Re()),l=e.ref(""),s=e.ref(""),a=e.ref(""),r=e.ref("/login");return{token:t,isLoggedIn:n,baseUrl:l,appId:s,clientId:a,loginPath:r,login:x=>{t.value=x.access_token,Fe(x)},logout:()=>{t.value=null,ie()},setBaseUrl:x=>{l.value=x},setAppId:x=>{s.value=x},setClientId:x=>{a.value=x},setLoginPath:x=>{r.value=x}}}),xt={class:"menu-item__content"},bt={class:"menu-item__icon"},St={key:1,class:"menu-item__char"},$t={class:"menu-item__text"},It={class:"menu-item__content"},Dt={key:0,class:"menu-item__icon"},Tt={key:1,class:"menu-item__char"},Lt={class:"menu-item__text"},Mt=e.defineComponent({__name:"SidebarMenuItem",props:{menu:{}},setup(t){const n=t,l=new Set(["arrow-up","arrow-down","arrow-left","arrow-right","caret-down","caret-right","plus","minus","close","check","edit","delete","copy","download","upload","refresh","search","filter","more","setting","share","loading","info","success","warning","error","question","user","user-add","user-group","logout","login","file","folder","folder-open","document","image","video","music","camera","mail","phone","chat","bell","message","eye","eye-off","calendar","clock","history","timer","location","map","globe","star","heart","thumb-up","link","external-link","lock","unlock","key","home","menu","menu-fold","menu-unfold","sidebar-fold","sidebar-expand","sidebar-left","dashboard","chart","chart-pie","chart-line","report","analytics","system","permission","role","user-manage","log","notification","app","list","grid","fullscreen","fullscreen-exit","zoom-in","zoom-out","print","bookmark","tag","code","terminal","database","server","cloud","gift","moon","sun","theme","skin"]),s=o=>{if(!o||o==="")return"";if(o.startsWith("tineco-icon-")){const g=o.replace("tineco-icon-","");return{home:"home",dashboard:"dashboard",system:"system",user:"user",role:"role",menu:"list",setting:"setting",file:"file",folder:"folder",chart:"chart",report:"report",analytics:"analytics"}[g]||g}return{dashboard:"dashboard",system:"system",user:"user",role:"role",menu:"list",setting:"setting",home:"home",chart:"chart",report:"report",analytics:"analytics",permission:"permission",log:"log",notification:"notification",app:"app",list:"list",grid:"grid"}[o]||o},a=o=>o?o.charAt(0):"",r=o=>l.has(o),p=e.computed(()=>n.menu.children&&n.menu.children.length>0);return(o,h)=>{const g=e.resolveComponent("SidebarMenuItem",!0);return p.value?(e.openBlock(),e.createBlock(e.unref(J.SubMenu),{key:0,index:t.menu.menuUrl},{title:e.withCtx(()=>[e.createElementVNode("span",xt,[e.createElementVNode("span",bt,[r(s(t.menu.icon))?(e.openBlock(),e.createBlock(e.unref(V.Icon),{key:0,name:s(t.menu.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",St,e.toDisplayString(a(t.menu.menuName)),1))]),e.createElementVNode("span",$t,e.toDisplayString(t.menu.menuName),1)])]),default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.menu.children,d=>(e.openBlock(),e.createBlock(g,{key:d.menuUrl,menu:d},null,8,["menu"]))),128))]),_:1},8,["index"])):(e.openBlock(),e.createBlock(e.unref(J.MenuItem),{key:1,index:t.menu.menuUrl},{default:e.withCtx(()=>[e.createElementVNode("span",It,[t.menu.menuName!=="首页"?(e.openBlock(),e.createElementBlock("span",Dt,[r(s(t.menu.icon))?(e.openBlock(),e.createBlock(e.unref(V.Icon),{key:0,name:s(t.menu.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",Tt,e.toDisplayString(a(t.menu.menuName)),1))])):e.createCommentVNode("",!0),e.createElementVNode("span",Lt,e.toDisplayString(t.menu.menuName),1)])]),_:1},8,["index"]))}}}),K=(t,n)=>{const l=t.__vccOpts||t;for(const[s,a]of n)l[s]=a;return l},Ut=K(Mt,[["__scopeId","data-v-d160ae6a"]]),zt={key:0,class:"sidebar__logo"},At={key:1,class:"sidebar__user"},Ft={class:"sidebar__user-info"},Rt={class:"sidebar__user-name"},Pt={class:"sidebar__user-role"},Pe=K(e.defineComponent({__name:"Sidebar",props:{menuList:{default:()=>[]},showLogo:{type:Boolean,default:!0},showUser:{type:Boolean,default:!0}},setup(t){const n=t,l=P.useRoute(),s=P.useRouter(),a=oe(),r=X(),p=ce(),o=ee(),h=e.computed(()=>n.menuList.length>0?n.menuList:a.menuList),g=e.computed(()=>o.isCollapsed),d=e.computed(()=>l.path),y=e.computed(()=>o.isDark?"#1d1e1f":"#fff"),x=e.computed(()=>o.isDark?"#cfd3dc":"#303133"),T=e.computed(()=>"#409eff"),I=f=>{f&&f!==l.path&&s.push(f)},N=()=>{p.logout(),r.clearUserInfo(),a.clearMenu(),s.push("/login")};return(f,S)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["sidebar",{"sidebar--collapsed":g.value}])},[n.showLogo?(e.openBlock(),e.createElementBlock("div",zt,[S[0]||(S[0]=e.createElementVNode("img",{src:Se,alt:"Logo",class:"sidebar__logo-img"},null,-1)),e.withDirectives(e.createElementVNode("span",{class:"sidebar__logo-text"},e.toDisplayString(e.unref(o).appName),513),[[e.vShow,!g.value]])])):e.createCommentVNode("",!0),e.createVNode(e.unref(J.Menu),{"model-value":d.value,mode:"vertical",collapse:g.value,"collapse-transition":!1,"background-color":y.value,"text-color":x.value,"active-text-color":T.value,class:"sidebar__menu",onSelect:I},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value,R=>(e.openBlock(),e.createBlock(Ut,{key:R.menuUrl,menu:R},null,8,["menu"]))),128))]),_:1},8,["model-value","collapse","background-color","text-color","active-text-color"]),n.showUser&&!g.value?(e.openBlock(),e.createElementBlock("div",At,[e.createElementVNode("div",Ft,[e.createElementVNode("span",Rt,e.toDisplayString(e.unref(r).userName),1),e.createElementVNode("span",Pt,e.toDisplayString(e.unref(r).departmentName),1)]),e.createVNode(e.unref(V.Button),{type:"text",size:"small",onClick:N},{default:e.withCtx(()=>[...S[1]||(S[1]=[e.createTextVNode("退出",-1)])]),_:1})])):e.createCommentVNode("",!0)],2))}}),[["__scopeId","data-v-9d00a6d4"]]),Ot={class:"header"},qt={class:"header__left"},jt={key:0,class:"header__breadcrumb"},Kt={key:0,class:"breadcrumb-separator"},Yt={class:"header__right"},Wt={key:0,class:"header__search-dropdown"},Xt={key:0,class:"header__search-results"},Gt=["onClick"],Ht={key:0,class:"header__search-icon"},Jt={key:1,class:"header__search-char"},Qt={class:"header__search-item-title"},Zt={key:1,class:"header__search-item-parent"},vt={key:1,class:"header__search-empty"},en=["title"],tn={class:"header__avatar"},nn={class:"header__user-name"},on={key:0,class:"header__dropdown"},ln={class:"header__dropdown-header"},an={class:"header__dropdown-avatar"},sn={class:"header__dropdown-info"},rn={class:"header__dropdown-name"},cn={class:"header__dropdown-role"},dn={class:"header__dropdown-menu"},mn={class:"settings-drawer"},pn={class:"settings-section"},un={class:"settings-layout-options"},fn=["onClick"],hn={class:"layout-option__preview"},_n={key:0,class:"layout-preview-sidebar"},gn={key:1,class:"layout-preview-top"},Nn={key:2,class:"layout-preview-mix"},Vn={class:"layout-option__label"},kn={class:"settings-section"},En={class:"settings-color-options"},yn=["title","onClick"],wn={class:"settings-section"},Cn={class:"settings-switch-list"},Bn={class:"settings-switch-item"},xn={class:"settings-switch-item"},lt=K(e.defineComponent({__name:"Header",setup(t){const n=P.useRoute(),l=P.useRouter(),s=ee(),a=X(),r=ce(),p=oe(),o=e.ref(!1),h=e.ref(!1),g=e.ref(null),d=e.ref(!1),y=e.ref(!1),x=e.ref(""),T=e.ref(null),I=e.ref(!1),N=[{value:"sidebar",label:"左侧菜单",icon:"sidebar-left"},{value:"top",label:"顶部菜单",icon:"menu"},{value:"mix",label:"混合菜单",icon:"grid"}],f=[{value:"#409eff",label:"默认蓝"},{value:"#1890ff",label:"科技蓝"},{value:"#52c41a",label:"极光绿"},{value:"#faad14",label:"日落橙"},{value:"#f5222d",label:"薄暮红"},{value:"#722ed1",label:"酱紫"}],S=e.computed(()=>n.matched.filter(C=>C.meta&&C.meta.title).map(C=>({title:C.meta.title,path:C.path}))),R=(L,C="")=>{const Y=[];return L.forEach(u=>{u.children&&u.children.length>0?Y.push(...R(u.children,u.menuName)):Y.push({...u,parentTitle:C,title:u.menuName,path:u.menuUrl})}),Y},q=new Set(["arrow-up","arrow-down","arrow-left","arrow-right","caret-down","caret-right","plus","minus","close","check","edit","delete","copy","download","upload","refresh","search","filter","more","setting","share","loading","info","success","warning","error","question","user","user-add","user-group","logout","login","file","folder","folder-open","document","image","video","music","camera","mail","phone","chat","bell","message","eye","eye-off","calendar","clock","history","timer","location","map","globe","star","heart","thumb-up","link","external-link","lock","unlock","key","home","menu","menu-fold","menu-unfold","sidebar-fold","sidebar-expand","sidebar-left","dashboard","chart","chart-pie","chart-line","report","analytics","system","permission","role","user-manage","log","notification","app","list","grid","fullscreen","fullscreen-exit","zoom-in","zoom-out","print","bookmark","tag","code","terminal","database","server","cloud","gift","moon","sun","theme","skin"]),M=L=>{if(!L||L==="")return"";if(L.startsWith("tineco-icon-")){const Y=L.replace("tineco-icon-","");return{home:"home",dashboard:"dashboard",system:"system",user:"user",role:"role",menu:"list",setting:"setting",file:"file",folder:"folder",chart:"chart",report:"report",analytics:"analytics"}[Y]||Y}return{dashboard:"dashboard",system:"system",user:"user",role:"role",menu:"list",setting:"setting",home:"home",chart:"chart",report:"report",analytics:"analytics",permission:"permission",log:"log",notification:"notification",app:"app",list:"list",grid:"grid"}[L]||L},_=L=>L?L.charAt(0):"",m=L=>q.has(L),w=e.computed(()=>x.value.trim()?R(p.menuList).filter(C=>C.title.toLowerCase().includes(x.value.toLowerCase())):[]),O=e.computed(()=>s.layout),Q=()=>{s.toggleCollapse()},Z=()=>{s.toggleTheme()},le=()=>{h.value=!0},te=L=>{s.setLayout(L),h.value=!1},U=L=>{I.value=L;const C=document.documentElement;L?C.classList.add("grey-mode"):C.classList.remove("grey-mode")},G=()=>{U(!I.value),h.value=!1},ae=()=>{s.toggleTheme(),h.value=!1},Ne=()=>{document.fullscreenElement?document.exitFullscreen():document.documentElement.requestFullscreen()},v=()=>{d.value=!!document.fullscreenElement},se=()=>{o.value=!o.value},ne=()=>{o.value=!1},re=()=>{y.value=!1,x.value=""},Ve=L=>{l.push(L),re()},ke=L=>{s.setPrimaryColor(L),h.value=!1},Ee=()=>{ne(),l.push("/profile")},ye=()=>{ne(),l.push("/change-password")},we=()=>{ne(),r.logout(),a.clearUserInfo(),p.clearMenu(),l.push("/login")},me=L=>{g.value&&!g.value.contains(L.target)&&ne(),T.value&&!T.value.contains(L.target)&&re()},pe=L=>{L.key==="Escape"&&(re(),ne())};return e.onMounted(()=>{document.addEventListener("click",me),document.addEventListener("fullscreenchange",v),document.addEventListener("keydown",pe),s.initTheme(),I.value=document.documentElement.classList.contains("grey-mode")}),e.onUnmounted(()=>{document.removeEventListener("click",me),document.removeEventListener("fullscreenchange",v),document.removeEventListener("keydown",pe)}),(L,C)=>{var Y;return e.openBlock(),e.createElementBlock("div",Ot,[e.createElementVNode("div",qt,[e.createElementVNode("div",{class:"header__collapse",onClick:Q},[e.createVNode(e.unref(V.Icon),{name:e.unref(s).isCollapsed?"menu-unfold":"menu-fold",size:18},null,8,["name"])]),e.unref(s).showBreadcrumb?(e.openBlock(),e.createElementBlock("div",jt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(S.value,(u,B)=>(e.openBlock(),e.createElementBlock("span",{key:u.path},[B>0?(e.openBlock(),e.createElementBlock("span",Kt,"/")):e.createCommentVNode("",!0),e.createElementVNode("span",{class:e.normalizeClass({"is-current":B===S.value.length-1})},e.toDisplayString(u.title),3)]))),128))])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Yt,[e.createElementVNode("div",{class:"header__search",ref_key:"searchRef",ref:T},[e.createVNode(e.unref(V.Icon),{name:"search",size:14,class:"header__search-icon"}),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":C[0]||(C[0]=u=>x.value=u),type:"text",class:"header__search-input",placeholder:"搜索菜单...",onFocus:C[1]||(C[1]=u=>y.value=!0)},null,544),[[e.vModelText,x.value]]),e.createVNode(e.Transition,{name:"search-dropdown"},{default:e.withCtx(()=>[y.value&&(w.value.length>0||x.value)?(e.openBlock(),e.createElementBlock("div",Wt,[w.value.length>0?(e.openBlock(),e.createElementBlock("div",Xt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(w.value,u=>(e.openBlock(),e.createElementBlock("div",{key:u.path,class:"header__search-item",onClick:B=>Ve(u.path)},[u.title!=="首页"?(e.openBlock(),e.createElementBlock("span",Ht,[m(M(u.icon))?(e.openBlock(),e.createBlock(e.unref(V.Icon),{key:0,name:M(u.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",Jt,e.toDisplayString(_(u.title)),1))])):e.createCommentVNode("",!0),e.createElementVNode("span",Qt,e.toDisplayString(u.title),1),u.parentTitle?(e.openBlock(),e.createElementBlock("span",Zt,e.toDisplayString(u.parentTitle),1)):e.createCommentVNode("",!0)],8,Gt))),128))])):(e.openBlock(),e.createElementBlock("div",vt," 未找到匹配的菜单 "))])):e.createCommentVNode("",!0)]),_:1})],512),e.createElementVNode("div",{class:"header__action",onClick:Ne,title:d.value?"退出全屏":"全屏"},[e.createVNode(e.unref(V.Icon),{name:d.value?"fullscreen-exit":"fullscreen",size:16},null,8,["name"])],8,en),e.createElementVNode("div",{class:"header__action",onClick:le,title:"换肤设置"},[e.createVNode(e.unref(V.Icon),{name:"skin",size:16})]),e.createElementVNode("div",{class:"header__action",onClick:Z,title:"切换主题"},[e.createVNode(e.unref(V.Icon),{name:e.unref(s).isDark?"sun":"moon",size:16},null,8,["name"])]),e.createElementVNode("div",{class:"header__user",ref_key:"dropdownRef",ref:g},[e.createElementVNode("div",{class:"header__user-trigger",onClick:e.withModifiers(se,["stop"])},[e.createElementVNode("div",tn,[e.createElementVNode("span",null,e.toDisplayString(((Y=e.unref(a).userName)==null?void 0:Y.charAt(0))||"U"),1)]),e.createElementVNode("span",nn,e.toDisplayString(e.unref(a).userName),1),e.createElementVNode("span",{class:e.normalizeClass(["header__user-arrow",{"is-active":o.value}])},"▼",2)]),e.createVNode(e.Transition,{name:"dropdown"},{default:e.withCtx(()=>{var u;return[o.value?(e.openBlock(),e.createElementBlock("div",on,[e.createElementVNode("div",ln,[e.createElementVNode("div",an,[e.createElementVNode("span",null,e.toDisplayString(((u=e.unref(a).userName)==null?void 0:u.charAt(0))||"U"),1)]),e.createElementVNode("div",sn,[e.createElementVNode("div",rn,e.toDisplayString(e.unref(a).userName),1),e.createElementVNode("div",cn,e.toDisplayString(e.unref(a).departmentName),1)])]),C[7]||(C[7]=e.createElementVNode("div",{class:"header__dropdown-divider"},null,-1)),e.createElementVNode("div",dn,[e.createElementVNode("div",{class:"header__dropdown-item",onClick:Ee},[e.createVNode(e.unref(V.Icon),{name:"user",size:16}),C[3]||(C[3]=e.createElementVNode("span",null,"个人信息",-1))]),e.createElementVNode("div",{class:"header__dropdown-item",onClick:ye},[e.createVNode(e.unref(V.Icon),{name:"lock",size:16}),C[4]||(C[4]=e.createElementVNode("span",null,"修改密码",-1))]),C[6]||(C[6]=e.createElementVNode("div",{class:"header__dropdown-divider"},null,-1)),e.createElementVNode("div",{class:"header__dropdown-item header__dropdown-item--danger",onClick:we},[e.createVNode(e.unref(V.Icon),{name:"logout",size:16}),C[5]||(C[5]=e.createElementVNode("span",null,"退出登录",-1))])])])):e.createCommentVNode("",!0)]}),_:1})],512)]),e.createVNode(e.unref(z.Drawer),{modelValue:h.value,"onUpdate:modelValue":C[2]||(C[2]=u=>h.value=u),title:"换肤设置",direction:"rtl",size:"320px"},{default:e.withCtx(()=>[e.createElementVNode("div",mn,[e.createElementVNode("div",pn,[C[11]||(C[11]=e.createElementVNode("div",{class:"settings-title"},"布局模式",-1)),e.createElementVNode("div",un,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(N,u=>e.createElementVNode("div",{key:u.value,class:e.normalizeClass(["layout-option",{"is-active":O.value===u.value}]),onClick:B=>te(u.value)},[e.createElementVNode("div",hn,[u.value==="sidebar"?(e.openBlock(),e.createElementBlock("div",_n,[...C[8]||(C[8]=[e.createElementVNode("div",{class:"preview-aside"},null,-1),e.createElementVNode("div",{class:"preview-main"},[e.createElementVNode("div",{class:"preview-header"}),e.createElementVNode("div",{class:"preview-content"})],-1)])])):u.value==="top"?(e.openBlock(),e.createElementBlock("div",gn,[...C[9]||(C[9]=[e.createElementVNode("div",{class:"preview-header-full"},null,-1),e.createElementVNode("div",{class:"preview-content-full"},null,-1)])])):(e.openBlock(),e.createElementBlock("div",Nn,[...C[10]||(C[10]=[e.createElementVNode("div",{class:"preview-header-mix"},[e.createElementVNode("div",{class:"preview-mix-left"})],-1),e.createElementVNode("div",{class:"preview-mix-body"},[e.createElementVNode("div",{class:"preview-mix-aside"}),e.createElementVNode("div",{class:"preview-mix-content"})],-1)])]))]),e.createElementVNode("span",Vn,e.toDisplayString(u.label),1)],10,fn)),64))])]),e.createElementVNode("div",kn,[C[12]||(C[12]=e.createElementVNode("div",{class:"settings-title"},"主题色",-1)),e.createElementVNode("div",En,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(f,u=>e.createElementVNode("div",{key:u.value,class:e.normalizeClass(["color-option",{"is-active":e.unref(s).primaryColor===u.value}]),style:e.normalizeStyle({backgroundColor:u.value}),title:u.label,onClick:B=>ke(u.value)},[e.unref(s).primaryColor===u.value?(e.openBlock(),e.createBlock(e.unref(V.Icon),{key:0,name:"check",size:12,color:"#fff"})):e.createCommentVNode("",!0)],14,yn)),64))])]),e.createElementVNode("div",wn,[C[17]||(C[17]=e.createElementVNode("div",{class:"settings-title"},"功能设置",-1)),e.createElementVNode("div",Cn,[e.createElementVNode("div",Bn,[C[14]||(C[14]=e.createElementVNode("span",null,"灰色模式",-1)),e.createElementVNode("div",{class:e.normalizeClass(["switch-wrapper",{"is-checked":I.value}]),onClick:G},[...C[13]||(C[13]=[e.createElementVNode("span",{class:"switch-core"},null,-1)])],2)]),e.createElementVNode("div",xn,[C[16]||(C[16]=e.createElementVNode("span",null,"暗黑模式",-1)),e.createElementVNode("div",{class:e.normalizeClass(["switch-wrapper",{"is-checked":e.unref(s).isDark}]),onClick:ae},[...C[15]||(C[15]=[e.createElementVNode("span",{class:"switch-core"},null,-1)])],2)])])])])]),_:1},8,["modelValue"])])}}}),[["__scopeId","data-v-89179947"]]),bn={class:"top-menu"},Sn={class:"top-menu__logo"},$n={class:"top-menu__logo-text"},In={class:"top-menu__menu-content"},Dn={key:0,class:"top-menu__menu-icon"},Tn={key:1,class:"top-menu__menu-char"},Ln={class:"top-menu__menu-text"},Mn={class:"top-menu__menu-content"},Un={class:"top-menu__menu-icon"},zn={key:1,class:"top-menu__menu-char"},An={class:"top-menu__menu-text"},Fn={class:"top-menu__menu-content"},Rn={key:0,class:"top-menu__menu-icon"},Pn={key:1,class:"top-menu__menu-char"},On={class:"top-menu__menu-text"},qn={class:"top-menu__actions"},jn={key:0,class:"top-menu__search-dropdown"},Kn={key:0,class:"top-menu__search-results"},Yn=["onClick"],Wn={key:0,class:"top-menu__search-icon-item"},Xn={key:1,class:"top-menu__search-char"},Gn={class:"top-menu__search-item-title"},Hn={key:1,class:"top-menu__search-item-parent"},Jn={key:1,class:"top-menu__search-empty"},Qn=["title"],Zn={class:"top-menu__avatar"},vn={class:"top-menu__user-name"},eo={key:0,class:"top-menu__dropdown"},to={class:"top-menu__dropdown-header"},no={class:"top-menu__dropdown-avatar"},oo={class:"top-menu__dropdown-info"},lo={class:"top-menu__dropdown-name"},ao={class:"top-menu__dropdown-role"},so={class:"top-menu__dropdown-menu"},ro={class:"settings-drawer"},io={class:"settings-section"},co={class:"settings-layout-options"},mo=["onClick"],po={class:"layout-option__preview"},uo={key:0,class:"layout-preview-sidebar"},fo={key:1,class:"layout-preview-top"},ho={key:2,class:"layout-preview-mix"},_o={class:"layout-option__label"},go={class:"settings-section"},No={class:"settings-color-options"},Vo=["title","onClick"],ko={class:"settings-section"},Eo={class:"settings-switch-list"},yo={class:"settings-switch-item"},wo={class:"settings-switch-item"},Co=K(e.defineComponent({__name:"TopMenu",setup(t){const n=P.useRoute(),l=P.useRouter(),s=oe(),a=ee(),r=X(),p=ce(),o=e.computed(()=>n.path),h=(u,B="")=>{const H=[];return u.forEach(i=>{i.children&&i.children.length>0?H.push(...h(i.children,i.menuName)):H.push({...i,parentTitle:B,title:i.menuName,path:i.menuUrl})}),H},g=e.computed(()=>q.value.trim()?h(s.menuList).filter(B=>B.title.toLowerCase().includes(q.value.toLowerCase())):[]),d=e.computed(()=>a.isDark?"#1d1e1f":"#fff"),y=e.computed(()=>a.isDark?"#cfd3dc":"#303133"),x=e.computed(()=>"#409eff"),T=e.ref(!1),I=e.ref(null),N=e.ref(!1),f=e.ref(!1),S=e.ref(!1),R=e.ref(!1),q=e.ref(""),M=e.ref(null),_=u=>{u&&u!==n.path&&l.push(u)},m=new Set(["arrow-up","arrow-down","arrow-left","arrow-right","caret-down","caret-right","plus","minus","close","check","edit","delete","copy","download","upload","refresh","search","filter","more","setting","share","loading","info","success","warning","error","question","user","user-add","user-group","logout","login","file","folder","folder-open","document","image","video","music","camera","mail","phone","chat","bell","message","eye","eye-off","calendar","clock","history","timer","location","map","globe","star","heart","thumb-up","link","external-link","lock","unlock","key","home","menu","menu-fold","menu-unfold","sidebar-fold","sidebar-expand","sidebar-left","dashboard","chart","chart-pie","chart-line","report","analytics","system","permission","role","user-manage","log","notification","app","list","grid","fullscreen","fullscreen-exit","zoom-in","zoom-out","print","bookmark","tag","code","terminal","database","server","cloud","gift","moon","sun","theme","skin"]),w=u=>{if(!u||u==="")return"";if(u.startsWith("tineco-icon-")){const H=u.replace("tineco-icon-","");return{home:"home",dashboard:"dashboard",system:"system",user:"user",role:"role",menu:"list",setting:"setting",file:"file",folder:"folder",chart:"chart",report:"report",analytics:"analytics"}[H]||H}return{dashboard:"dashboard",system:"system",user:"user",role:"role",menu:"list",setting:"setting",home:"home",chart:"chart",report:"report",analytics:"analytics",permission:"permission",log:"log",notification:"notification",app:"app",list:"list",grid:"grid"}[u]||u},O=u=>u?u.charAt(0):"",Q=u=>m.has(u),Z=()=>{a.toggleTheme(),f.value=!1},le=()=>{document.fullscreenElement?document.exitFullscreen():document.documentElement.requestFullscreen()},te=()=>{N.value=!!document.fullscreenElement},U=()=>{T.value=!T.value},G=()=>{T.value=!1},ae=()=>{R.value=!1,q.value=""},Ne=u=>{l.push(u),ae()},v=()=>{f.value=!0},se=u=>{S.value=u;const B=document.documentElement;u?B.classList.add("grey-mode"):B.classList.remove("grey-mode")},ne=()=>{se(!S.value),f.value=!1},re=()=>{a.toggleTheme(),f.value=!1},Ve=[{value:"sidebar",label:"左侧菜单",icon:"sidebar-left"},{value:"top",label:"顶部菜单",icon:"menu"},{value:"mix",label:"混合菜单",icon:"grid"}],ke=e.computed(()=>a.layout),Ee=u=>{a.setLayout(u),f.value=!1},ye=[{value:"#409eff",label:"默认蓝"},{value:"#1890ff",label:"科技蓝"},{value:"#52c41a",label:"极光绿"},{value:"#faad14",label:"日落橙"},{value:"#f5222d",label:"薄暮红"},{value:"#722ed1",label:"酱紫"}],we=u=>{a.setPrimaryColor(u),f.value=!1},me=()=>{G(),l.push("/profile")},pe=()=>{G(),l.push("/change-password")},L=()=>{G(),p.logout(),r.clearUserInfo(),s.clearMenu(),l.push("/login")},C=u=>{I.value&&!I.value.contains(u.target)&&G(),M.value&&!M.value.contains(u.target)&&ae()},Y=u=>{u.key==="Escape"&&(ae(),G())};return e.onMounted(()=>{document.addEventListener("click",C),document.addEventListener("fullscreenchange",te),document.addEventListener("keydown",Y),S.value=document.documentElement.classList.contains("grey-mode")}),e.onUnmounted(()=>{document.removeEventListener("click",C),document.removeEventListener("fullscreenchange",te),document.removeEventListener("keydown",Y)}),(u,B)=>{var H;return e.openBlock(),e.createElementBlock("div",bn,[e.createElementVNode("div",Sn,[B[3]||(B[3]=e.createElementVNode("img",{src:Se,alt:"Logo",class:"top-menu__logo-img"},null,-1)),e.createElementVNode("span",$n,e.toDisplayString(e.unref(a).appName),1)]),e.createVNode(e.unref(J.Menu),{"model-value":o.value,mode:"horizontal","background-color":d.value,"text-color":y.value,"active-text-color":x.value,class:"top-menu__menu",onSelect:_},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(s).menuList,i=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:i.menuUrl},[i.children&&i.children.length>0?(e.openBlock(),e.createBlock(e.unref(J.SubMenu),{key:0,index:i.menuUrl},{title:e.withCtx(()=>[e.createElementVNode("span",In,[i.menuName!=="首页"?(e.openBlock(),e.createElementBlock("span",Dn,[Q(w(i.icon))?(e.openBlock(),e.createBlock(e.unref(V.Icon),{key:0,name:w(i.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",Tn,e.toDisplayString(O(i.menuName)),1))])):e.createCommentVNode("",!0),e.createElementVNode("span",Ln,e.toDisplayString(i.menuName),1)])]),default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.children,k=>(e.openBlock(),e.createBlock(e.unref(J.MenuItem),{key:k.menuUrl,index:k.menuUrl},{default:e.withCtx(()=>[e.createElementVNode("span",Mn,[e.createElementVNode("span",Un,[Q(w(k.icon))?(e.openBlock(),e.createBlock(e.unref(V.Icon),{key:0,name:w(k.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",zn,e.toDisplayString(O(k.menuName)),1))]),e.createElementVNode("span",An,e.toDisplayString(k.menuName),1)])]),_:2},1032,["index"]))),128))]),_:2},1032,["index"])):(e.openBlock(),e.createBlock(e.unref(J.MenuItem),{key:1,index:i.menuUrl},{default:e.withCtx(()=>[e.createElementVNode("span",Fn,[i.menuName!=="首页"?(e.openBlock(),e.createElementBlock("span",Rn,[Q(w(i.icon))?(e.openBlock(),e.createBlock(e.unref(V.Icon),{key:0,name:w(i.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",Pn,e.toDisplayString(O(i.menuName)),1))])):e.createCommentVNode("",!0),e.createElementVNode("span",On,e.toDisplayString(i.menuName),1)])]),_:2},1032,["index"]))],64))),128))]),_:1},8,["model-value","background-color","text-color","active-text-color"]),e.createElementVNode("div",qn,[e.createElementVNode("div",{class:"top-menu__search",ref_key:"searchRef",ref:M},[e.createVNode(e.unref(V.Icon),{name:"search",size:14,class:"top-menu__search-icon"}),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":B[0]||(B[0]=i=>q.value=i),type:"text",class:"top-menu__search-input",placeholder:"搜索菜单...",onFocus:B[1]||(B[1]=i=>R.value=!0)},null,544),[[e.vModelText,q.value]]),e.createVNode(e.Transition,{name:"search-dropdown"},{default:e.withCtx(()=>[R.value&&(g.value.length>0||q.value)?(e.openBlock(),e.createElementBlock("div",jn,[g.value.length>0?(e.openBlock(),e.createElementBlock("div",Kn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.value,i=>(e.openBlock(),e.createElementBlock("div",{key:i.path,class:"top-menu__search-item",onClick:k=>Ne(i.path)},[i.title!=="首页"?(e.openBlock(),e.createElementBlock("span",Wn,[Q(w(i.icon))?(e.openBlock(),e.createBlock(e.unref(V.Icon),{key:0,name:w(i.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",Xn,e.toDisplayString(O(i.title)),1))])):e.createCommentVNode("",!0),e.createElementVNode("span",Gn,e.toDisplayString(i.title),1),i.parentTitle?(e.openBlock(),e.createElementBlock("span",Hn,e.toDisplayString(i.parentTitle),1)):e.createCommentVNode("",!0)],8,Yn))),128))])):(e.openBlock(),e.createElementBlock("div",Jn," 未找到匹配的菜单 "))])):e.createCommentVNode("",!0)]),_:1})],512),e.createElementVNode("div",{class:"top-menu__action",onClick:le,title:N.value?"退出全屏":"全屏"},[e.createVNode(e.unref(V.Icon),{name:N.value?"fullscreen-exit":"fullscreen",size:16},null,8,["name"])],8,Qn),e.createElementVNode("div",{class:"top-menu__action",onClick:v,title:"换肤设置"},[e.createVNode(e.unref(V.Icon),{name:"skin",size:16})]),e.createElementVNode("div",{class:"top-menu__action",onClick:Z,title:"切换主题"},[e.createVNode(e.unref(V.Icon),{name:e.unref(a).isDark?"sun":"moon",size:16},null,8,["name"])]),e.createElementVNode("div",{class:"top-menu__user",ref_key:"dropdownRef",ref:I},[e.createElementVNode("div",{class:"top-menu__user-trigger",onClick:e.withModifiers(U,["stop"])},[e.createElementVNode("div",Zn,[e.createElementVNode("span",null,e.toDisplayString(((H=e.unref(r).userName)==null?void 0:H.charAt(0))||"U"),1)]),e.createElementVNode("span",vn,e.toDisplayString(e.unref(r).userName),1),e.createElementVNode("span",{class:e.normalizeClass(["top-menu__user-arrow",{"is-active":T.value}])},"▼",2)]),e.createVNode(e.Transition,{name:"dropdown"},{default:e.withCtx(()=>{var i;return[T.value?(e.openBlock(),e.createElementBlock("div",eo,[e.createElementVNode("div",to,[e.createElementVNode("div",no,[e.createElementVNode("span",null,e.toDisplayString(((i=e.unref(r).userName)==null?void 0:i.charAt(0))||"U"),1)]),e.createElementVNode("div",oo,[e.createElementVNode("div",lo,e.toDisplayString(e.unref(r).userName),1),e.createElementVNode("div",ao,e.toDisplayString(e.unref(r).departmentName),1)])]),B[8]||(B[8]=e.createElementVNode("div",{class:"top-menu__dropdown-divider"},null,-1)),e.createElementVNode("div",so,[e.createElementVNode("div",{class:"top-menu__dropdown-item",onClick:me},[e.createVNode(e.unref(V.Icon),{name:"user",size:16}),B[4]||(B[4]=e.createElementVNode("span",null,"个人信息",-1))]),e.createElementVNode("div",{class:"top-menu__dropdown-item",onClick:pe},[e.createVNode(e.unref(V.Icon),{name:"lock",size:16}),B[5]||(B[5]=e.createElementVNode("span",null,"修改密码",-1))]),B[7]||(B[7]=e.createElementVNode("div",{class:"top-menu__dropdown-divider"},null,-1)),e.createElementVNode("div",{class:"top-menu__dropdown-item top-menu__dropdown-item--danger",onClick:L},[e.createVNode(e.unref(V.Icon),{name:"logout",size:16}),B[6]||(B[6]=e.createElementVNode("span",null,"退出登录",-1))])])])):e.createCommentVNode("",!0)]}),_:1})],512)]),e.createVNode(e.unref(z.Drawer),{modelValue:f.value,"onUpdate:modelValue":B[2]||(B[2]=i=>f.value=i),title:"换肤设置",direction:"rtl",size:"320px"},{default:e.withCtx(()=>[e.createElementVNode("div",ro,[e.createElementVNode("div",io,[B[12]||(B[12]=e.createElementVNode("div",{class:"settings-title"},"布局模式",-1)),e.createElementVNode("div",co,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(Ve,i=>e.createElementVNode("div",{key:i.value,class:e.normalizeClass(["layout-option",{"is-active":ke.value===i.value}]),onClick:k=>Ee(i.value)},[e.createElementVNode("div",po,[i.value==="sidebar"?(e.openBlock(),e.createElementBlock("div",uo,[...B[9]||(B[9]=[e.createElementVNode("div",{class:"preview-aside"},null,-1),e.createElementVNode("div",{class:"preview-main"},[e.createElementVNode("div",{class:"preview-header"}),e.createElementVNode("div",{class:"preview-content"})],-1)])])):i.value==="top"?(e.openBlock(),e.createElementBlock("div",fo,[...B[10]||(B[10]=[e.createElementVNode("div",{class:"preview-header-full"},null,-1),e.createElementVNode("div",{class:"preview-content-full"},null,-1)])])):(e.openBlock(),e.createElementBlock("div",ho,[...B[11]||(B[11]=[e.createElementVNode("div",{class:"preview-header-mix"},[e.createElementVNode("div",{class:"preview-mix-left"})],-1),e.createElementVNode("div",{class:"preview-mix-body"},[e.createElementVNode("div",{class:"preview-mix-aside"}),e.createElementVNode("div",{class:"preview-mix-content"})],-1)])]))]),e.createElementVNode("span",_o,e.toDisplayString(i.label),1)],10,mo)),64))])]),e.createElementVNode("div",go,[B[13]||(B[13]=e.createElementVNode("div",{class:"settings-title"},"主题色",-1)),e.createElementVNode("div",No,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(ye,i=>e.createElementVNode("div",{key:i.value,class:e.normalizeClass(["color-option",{"is-active":e.unref(a).primaryColor===i.value}]),style:e.normalizeStyle({backgroundColor:i.value}),title:i.label,onClick:k=>we(i.value)},[e.unref(a).primaryColor===i.value?(e.openBlock(),e.createBlock(e.unref(V.Icon),{key:0,name:"check",size:12,color:"#fff"})):e.createCommentVNode("",!0)],14,Vo)),64))])]),e.createElementVNode("div",ko,[B[18]||(B[18]=e.createElementVNode("div",{class:"settings-title"},"功能设置",-1)),e.createElementVNode("div",Eo,[e.createElementVNode("div",yo,[B[15]||(B[15]=e.createElementVNode("span",null,"灰色模式",-1)),e.createElementVNode("div",{class:e.normalizeClass(["switch-wrapper",{"is-checked":S.value}]),onClick:ne},[...B[14]||(B[14]=[e.createElementVNode("span",{class:"switch-core"},null,-1)])],2)]),e.createElementVNode("div",wo,[B[17]||(B[17]=e.createElementVNode("span",null,"暗黑模式",-1)),e.createElementVNode("div",{class:e.normalizeClass(["switch-wrapper",{"is-checked":e.unref(a).isDark}]),onClick:re},[...B[16]||(B[16]=[e.createElementVNode("span",{class:"switch-core"},null,-1)])],2)])])])])]),_:1},8,["modelValue"])])}}}),[["__scopeId","data-v-ff5f8764"]]),Bo={class:"mix-top-menu"},xo={class:"mix-top-menu__logo"},bo={class:"mix-top-menu__logo-text"},So={class:"mix-top-menu__menu-content"},$o={key:0,class:"mix-top-menu__menu-icon"},Io={key:1,class:"mix-top-menu__menu-char"},Do={class:"mix-top-menu__menu-text"},To={class:"mix-top-menu__actions"},Lo={key:0,class:"mix-top-menu__search-dropdown"},Mo={key:0,class:"mix-top-menu__search-results"},Uo=["onClick"],zo={key:0,class:"mix-top-menu__search-icon-item"},Ao={key:1,class:"mix-top-menu__search-char"},Fo={class:"mix-top-menu__search-item-title"},Ro={key:1,class:"mix-top-menu__search-item-parent"},Po={key:1,class:"mix-top-menu__search-empty"},Oo=["title"],qo={class:"mix-top-menu__avatar"},jo={class:"mix-top-menu__user-name"},Ko={key:0,class:"mix-top-menu__dropdown"},Yo={class:"mix-top-menu__dropdown-header"},Wo={class:"mix-top-menu__dropdown-avatar"},Xo={class:"mix-top-menu__dropdown-info"},Go={class:"mix-top-menu__dropdown-name"},Ho={class:"mix-top-menu__dropdown-role"},Jo={class:"mix-top-menu__dropdown-menu"},Qo={class:"settings-drawer"},Zo={class:"settings-section"},vo={class:"settings-layout-options"},el=["onClick"],tl={class:"layout-option__preview"},nl={key:0,class:"layout-preview-sidebar"},ol={key:1,class:"layout-preview-top"},ll={key:2,class:"layout-preview-mix"},al={class:"layout-option__label"},sl={class:"settings-section"},rl={class:"settings-color-options"},il=["title","onClick"],cl={class:"settings-section"},dl={class:"settings-switch-list"},ml={class:"settings-switch-item"},pl={class:"settings-switch-item"},ul=K(e.defineComponent({__name:"MixTopMenu",setup(t){const n=P.useRoute(),l=P.useRouter(),s=oe(),a=ee(),r=X(),p=ce(),o=e.ref(""),h=(i,k="")=>{const W=[];return i.forEach(b=>{b.children&&b.children.length>0?W.push(...h(b.children,b.menuName)):W.push({...b,parentTitle:k,title:b.menuName,path:b.menuUrl})}),W},g=e.computed(()=>w.value.trim()?h(s.menuList).filter(k=>k.title.toLowerCase().includes(w.value.toLowerCase())):[]),d=e.computed(()=>{const i=s.menuList.find(k=>k.menuUrl===o.value);return(i==null?void 0:i.children)||[]}),y=e.computed(()=>s.menuList.find(i=>!!(n.path===i.menuUrl||i.children&&i.children.some(k=>n.path.startsWith(k.menuUrl)||n.path===k.menuUrl)))),x=()=>{y.value?o.value=y.value.menuUrl:s.menuList.length>0&&(o.value=s.menuList[0].menuUrl)},T=i=>{o.value=i;const k=s.menuList.find(W=>W.menuUrl===i);if(k)if(k.children&&k.children.length>0){const W=k.children[0].menuUrl;n.path!==W&&l.push(W)}else n.path!==i&&l.push(i)},I=e.computed(()=>a.isDark?"#1d1e1f":"#fff"),N=e.computed(()=>a.isDark?"#cfd3dc":"#303133"),f=e.computed(()=>"#409eff"),S=e.ref(!1),R=e.ref(null),q=e.ref(!1),M=e.ref(!1),_=e.ref(!1),m=e.ref(!1),w=e.ref(""),O=e.ref(null);e.watch(()=>n.path,()=>{x(),a.setMixSubMenus(d.value)}),e.watch(()=>s.menuList,i=>{i&&i.length>0&&(x(),a.setMixSubMenus(d.value))},{immediate:!0});const Q=new Set(["arrow-up","arrow-down","arrow-left","arrow-right","caret-down","caret-right","plus","minus","close","check","edit","delete","copy","download","upload","refresh","search","filter","more","setting","share","loading","info","success","warning","error","question","user","user-add","user-group","logout","login","file","folder","folder-open","document","image","video","music","camera","mail","phone","chat","bell","message","eye","eye-off","calendar","clock","history","timer","location","map","globe","star","heart","thumb-up","link","external-link","lock","unlock","key","home","menu","menu-fold","menu-unfold","sidebar-fold","sidebar-expand","sidebar-left","dashboard","chart","chart-pie","chart-line","report","analytics","system","permission","role","user-manage","log","notification","app","list","grid","fullscreen","fullscreen-exit","zoom-in","zoom-out","print","bookmark","tag","code","terminal","database","server","cloud","gift","moon","sun","theme","skin"]),Z=i=>{if(!i||i==="")return"";if(i.startsWith("tineco-icon-")){const W=i.replace("tineco-icon-","");return{home:"home",dashboard:"dashboard",system:"system",user:"user",role:"role",menu:"list",setting:"setting",file:"file",folder:"folder",chart:"chart",report:"report",analytics:"analytics"}[W]||W}return{dashboard:"dashboard",system:"system",user:"user",role:"role",menu:"list",setting:"setting",home:"home",chart:"chart",report:"report",analytics:"analytics",permission:"permission",log:"log",notification:"notification",app:"app",list:"list",grid:"grid"}[i]||i},le=i=>i?i.charAt(0):"",te=i=>Q.has(i),U=()=>{a.toggleTheme(),M.value=!1},G=()=>{document.fullscreenElement?document.exitFullscreen():document.documentElement.requestFullscreen()},ae=()=>{q.value=!!document.fullscreenElement},Ne=()=>{S.value=!S.value},v=()=>{S.value=!1},se=()=>{m.value=!1,w.value=""},ne=i=>{l.push(i),se()},re=()=>{M.value=!0},Ve=i=>{_.value=i;const k=document.documentElement;i?k.classList.add("grey-mode"):k.classList.remove("grey-mode")},ke=()=>{Ve(!_.value),M.value=!1},Ee=()=>{a.toggleTheme(),M.value=!1},ye=[{value:"sidebar",label:"左侧菜单",icon:"sidebar-left"},{value:"top",label:"顶部菜单",icon:"menu"},{value:"mix",label:"混合菜单",icon:"grid"}],we=e.computed(()=>a.layout),me=i=>{a.setLayout(i),M.value=!1},pe=[{value:"#409eff",label:"默认蓝"},{value:"#1890ff",label:"科技蓝"},{value:"#52c41a",label:"极光绿"},{value:"#faad14",label:"日落橙"},{value:"#f5222d",label:"薄暮红"},{value:"#722ed1",label:"酱紫"}],L=i=>{a.setPrimaryColor(i),M.value=!1},C=()=>{v(),l.push("/profile")},Y=()=>{v(),l.push("/change-password")},u=()=>{v(),p.logout(),r.clearUserInfo(),s.clearMenu(),l.push("/login")},B=i=>{R.value&&!R.value.contains(i.target)&&v(),O.value&&!O.value.contains(i.target)&&se()},H=i=>{i.key==="Escape"&&(se(),v())};return e.onMounted(()=>{document.addEventListener("click",B),document.addEventListener("fullscreenchange",ae),document.addEventListener("keydown",H),_.value=document.documentElement.classList.contains("grey-mode"),x()}),e.onUnmounted(()=>{document.removeEventListener("click",B),document.removeEventListener("fullscreenchange",ae),document.removeEventListener("keydown",H)}),(i,k)=>{var W;return e.openBlock(),e.createElementBlock("div",Bo,[e.createElementVNode("div",xo,[k[3]||(k[3]=e.createElementVNode("img",{src:Se,alt:"Logo",class:"mix-top-menu__logo-img"},null,-1)),e.createElementVNode("span",bo,e.toDisplayString(e.unref(a).appName),1)]),e.createVNode(e.unref(J.Menu),{"model-value":o.value,mode:"horizontal","background-color":I.value,"text-color":N.value,"active-text-color":f.value,class:"mix-top-menu__menu",onSelect:T},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(s).menuList,b=>(e.openBlock(),e.createBlock(e.unref(J.MenuItem),{key:b.menuUrl,index:b.menuUrl},{default:e.withCtx(()=>[e.createElementVNode("span",So,[b.menuName!=="首页"?(e.openBlock(),e.createElementBlock("span",$o,[te(Z(b.icon))?(e.openBlock(),e.createBlock(e.unref(V.Icon),{key:0,name:Z(b.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",Io,e.toDisplayString(le(b.menuName)),1))])):e.createCommentVNode("",!0),e.createElementVNode("span",Do,e.toDisplayString(b.menuName),1)])]),_:2},1032,["index"]))),128))]),_:1},8,["model-value","background-color","text-color","active-text-color"]),e.createElementVNode("div",To,[e.createElementVNode("div",{class:"mix-top-menu__search",ref_key:"searchRef",ref:O},[e.createVNode(e.unref(V.Icon),{name:"search",size:14,class:"mix-top-menu__search-icon"}),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":k[0]||(k[0]=b=>w.value=b),type:"text",class:"mix-top-menu__search-input",placeholder:"搜索菜单...",onFocus:k[1]||(k[1]=b=>m.value=!0)},null,544),[[e.vModelText,w.value]]),e.createVNode(e.Transition,{name:"search-dropdown"},{default:e.withCtx(()=>[m.value&&(g.value.length>0||w.value)?(e.openBlock(),e.createElementBlock("div",Lo,[g.value.length>0?(e.openBlock(),e.createElementBlock("div",Mo,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.value,b=>(e.openBlock(),e.createElementBlock("div",{key:b.path,class:"mix-top-menu__search-item",onClick:Nt=>ne(b.path)},[b.title!=="首页"?(e.openBlock(),e.createElementBlock("span",zo,[te(Z(b.icon))?(e.openBlock(),e.createBlock(e.unref(V.Icon),{key:0,name:Z(b.icon),size:16},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",Ao,e.toDisplayString(le(b.title)),1))])):e.createCommentVNode("",!0),e.createElementVNode("span",Fo,e.toDisplayString(b.title),1),b.parentTitle?(e.openBlock(),e.createElementBlock("span",Ro,e.toDisplayString(b.parentTitle),1)):e.createCommentVNode("",!0)],8,Uo))),128))])):(e.openBlock(),e.createElementBlock("div",Po," 未找到匹配的菜单 "))])):e.createCommentVNode("",!0)]),_:1})],512),e.createElementVNode("div",{class:"mix-top-menu__action",onClick:G,title:q.value?"退出全屏":"全屏"},[e.createVNode(e.unref(V.Icon),{name:q.value?"fullscreen-exit":"fullscreen",size:16},null,8,["name"])],8,Oo),e.createElementVNode("div",{class:"mix-top-menu__action",onClick:re,title:"换肤设置"},[e.createVNode(e.unref(V.Icon),{name:"skin",size:16})]),e.createElementVNode("div",{class:"mix-top-menu__action",onClick:U,title:"切换主题"},[e.createVNode(e.unref(V.Icon),{name:e.unref(a).isDark?"sun":"moon",size:16},null,8,["name"])]),e.createElementVNode("div",{class:"mix-top-menu__user",ref_key:"dropdownRef",ref:R},[e.createElementVNode("div",{class:"mix-top-menu__user-trigger",onClick:e.withModifiers(Ne,["stop"])},[e.createElementVNode("div",qo,[e.createElementVNode("span",null,e.toDisplayString(((W=e.unref(r).userName)==null?void 0:W.charAt(0))||"U"),1)]),e.createElementVNode("span",jo,e.toDisplayString(e.unref(r).userName),1),e.createElementVNode("span",{class:e.normalizeClass(["mix-top-menu__user-arrow",{"is-active":S.value}])},"▼",2)]),e.createVNode(e.Transition,{name:"dropdown"},{default:e.withCtx(()=>{var b;return[S.value?(e.openBlock(),e.createElementBlock("div",Ko,[e.createElementVNode("div",Yo,[e.createElementVNode("div",Wo,[e.createElementVNode("span",null,e.toDisplayString(((b=e.unref(r).userName)==null?void 0:b.charAt(0))||"U"),1)]),e.createElementVNode("div",Xo,[e.createElementVNode("div",Go,e.toDisplayString(e.unref(r).userName),1),e.createElementVNode("div",Ho,e.toDisplayString(e.unref(r).departmentName),1)])]),k[8]||(k[8]=e.createElementVNode("div",{class:"mix-top-menu__dropdown-divider"},null,-1)),e.createElementVNode("div",Jo,[e.createElementVNode("div",{class:"mix-top-menu__dropdown-item",onClick:C},[e.createVNode(e.unref(V.Icon),{name:"user",size:16}),k[4]||(k[4]=e.createElementVNode("span",null,"个人信息",-1))]),e.createElementVNode("div",{class:"mix-top-menu__dropdown-item",onClick:Y},[e.createVNode(e.unref(V.Icon),{name:"lock",size:16}),k[5]||(k[5]=e.createElementVNode("span",null,"修改密码",-1))]),k[7]||(k[7]=e.createElementVNode("div",{class:"mix-top-menu__dropdown-divider"},null,-1)),e.createElementVNode("div",{class:"mix-top-menu__dropdown-item mix-top-menu__dropdown-item--danger",onClick:u},[e.createVNode(e.unref(V.Icon),{name:"logout",size:16}),k[6]||(k[6]=e.createElementVNode("span",null,"退出登录",-1))])])])):e.createCommentVNode("",!0)]}),_:1})],512)]),e.createVNode(e.unref(z.Drawer),{modelValue:M.value,"onUpdate:modelValue":k[2]||(k[2]=b=>M.value=b),title:"换肤设置",direction:"rtl",size:"320px"},{default:e.withCtx(()=>[e.createElementVNode("div",Qo,[e.createElementVNode("div",Zo,[k[12]||(k[12]=e.createElementVNode("div",{class:"settings-title"},"布局模式",-1)),e.createElementVNode("div",vo,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(ye,b=>e.createElementVNode("div",{key:b.value,class:e.normalizeClass(["layout-option",{"is-active":we.value===b.value}]),onClick:Nt=>me(b.value)},[e.createElementVNode("div",tl,[b.value==="sidebar"?(e.openBlock(),e.createElementBlock("div",nl,[...k[9]||(k[9]=[e.createElementVNode("div",{class:"preview-aside"},null,-1),e.createElementVNode("div",{class:"preview-main"},[e.createElementVNode("div",{class:"preview-header"}),e.createElementVNode("div",{class:"preview-content"})],-1)])])):b.value==="top"?(e.openBlock(),e.createElementBlock("div",ol,[...k[10]||(k[10]=[e.createElementVNode("div",{class:"preview-header-full"},null,-1),e.createElementVNode("div",{class:"preview-content-full"},null,-1)])])):(e.openBlock(),e.createElementBlock("div",ll,[...k[11]||(k[11]=[e.createElementVNode("div",{class:"preview-header-mix"},[e.createElementVNode("div",{class:"preview-mix-left"})],-1),e.createElementVNode("div",{class:"preview-mix-body"},[e.createElementVNode("div",{class:"preview-mix-aside"}),e.createElementVNode("div",{class:"preview-mix-content"})],-1)])]))]),e.createElementVNode("span",al,e.toDisplayString(b.label),1)],10,el)),64))])]),e.createElementVNode("div",sl,[k[13]||(k[13]=e.createElementVNode("div",{class:"settings-title"},"主题色",-1)),e.createElementVNode("div",rl,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(pe,b=>e.createElementVNode("div",{key:b.value,class:e.normalizeClass(["color-option",{"is-active":e.unref(a).primaryColor===b.value}]),style:e.normalizeStyle({backgroundColor:b.value}),title:b.label,onClick:Nt=>L(b.value)},[e.unref(a).primaryColor===b.value?(e.openBlock(),e.createBlock(e.unref(V.Icon),{key:0,name:"check",size:12,color:"#fff"})):e.createCommentVNode("",!0)],14,il)),64))])]),e.createElementVNode("div",cl,[k[18]||(k[18]=e.createElementVNode("div",{class:"settings-title"},"功能设置",-1)),e.createElementVNode("div",dl,[e.createElementVNode("div",ml,[k[15]||(k[15]=e.createElementVNode("span",null,"灰色模式",-1)),e.createElementVNode("div",{class:e.normalizeClass(["switch-wrapper",{"is-checked":_.value}]),onClick:ke},[...k[14]||(k[14]=[e.createElementVNode("span",{class:"switch-core"},null,-1)])],2)]),e.createElementVNode("div",pl,[k[17]||(k[17]=e.createElementVNode("span",null,"暗黑模式",-1)),e.createElementVNode("div",{class:e.normalizeClass(["switch-wrapper",{"is-checked":e.unref(a).isDark}]),onClick:Ee},[...k[16]||(k[16]=[e.createElementVNode("span",{class:"switch-core"},null,-1)])],2)])])])])]),_:1},8,["modelValue"])])}}}),[["__scopeId","data-v-25806305"]]),fl={key:0,class:"layout layout--sidebar"},hl={class:"layout__main"},_l={class:"layout__header"},gl={class:"layout__content"},Nl={key:1,class:"layout layout--top"},Vl={class:"layout__top-menu"},kl={class:"layout__main"},El={class:"layout__content"},yl={key:2,class:"layout layout--mix"},wl={class:"layout__mix-top-menu"},Cl={class:"layout__mix-body"},Bl={class:"layout__content"},Oe=K(e.defineComponent({__name:"index",setup(t){const n=ee(),l=oe(),s=e.computed(()=>n.isCollapsed?"64px":"210px"),a=e.computed(()=>n.layout),r=e.computed(()=>a.value==="mix"),p=e.computed(()=>a.value==="sidebar"?l.menuList:a.value==="mix"?n.mixSubMenus:[]),o=e.computed(()=>r.value?p.value.length>0:!1);return(h,g)=>{const d=e.resolveComponent("router-view");return e.openBlock(),e.createElementBlock(e.Fragment,null,[a.value==="sidebar"?(e.openBlock(),e.createElementBlock("div",fl,[e.createElementVNode("aside",{class:"layout__aside",style:e.normalizeStyle({width:s.value})},[e.createVNode(Pe,{"menu-list":p.value,"show-logo":!0,"show-user":!0},null,8,["menu-list"])],4),e.createElementVNode("div",hl,[e.createElementVNode("header",_l,[e.createVNode(lt)]),e.createElementVNode("main",gl,[e.createVNode(d)])])])):e.createCommentVNode("",!0),a.value==="top"?(e.openBlock(),e.createElementBlock("div",Nl,[e.createElementVNode("div",Vl,[e.createVNode(Co)]),e.createElementVNode("div",kl,[e.createElementVNode("main",El,[e.createVNode(d)])])])):e.createCommentVNode("",!0),a.value==="mix"?(e.openBlock(),e.createElementBlock("div",yl,[e.createElementVNode("div",wl,[e.createVNode(ul)]),e.createElementVNode("div",Cl,[o.value?(e.openBlock(),e.createElementBlock("aside",{key:0,class:"layout__aside",style:e.normalizeStyle({width:s.value})},[e.createVNode(Pe,{"menu-list":p.value,"show-logo":!1,"show-user":!1},null,8,["menu-list"])],4)):e.createCommentVNode("",!0),e.createElementVNode("main",Bl,[e.createVNode(d)])])])):e.createCommentVNode("",!0)],64)}}}),[["__scopeId","data-v-70b115a5"]]),xl=Object.freeze(Object.defineProperty({__proto__:null,default:Oe},Symbol.toStringTag,{value:"Module"})),bl={class:"tabs-wrapper"},Sl={class:"tab-label"},$l=["onClick"],Il=K(e.defineComponent({__name:"Tabs",setup(t){const n=P.useRoute(),l=P.useRouter(),s=e.computed(()=>{const o=[];return n.matched.forEach(h=>{var g;(g=h.meta)!=null&&g.affix&&o.push({name:h.name,title:h.meta.title,path:h.path,affix:!0})}),o}),a=e.computed(()=>n.path),r=o=>{l.push(o)},p=o=>{const h=s.value.find(g=>g.path===o);if(!(h!=null&&h.affix)&&o===a.value){const g=s.value.findIndex(y=>y.path===o),d=s.value[g-1]||s.value[g+1];d&&l.push(d.path)}};return(o,h)=>(e.openBlock(),e.createElementBlock("div",bl,[e.createVNode(e.unref(J.Tabs),{modelValue:a.value,"onUpdate:modelValue":h[0]||(h[0]=g=>a.value=g),type:"card",onTabClick:r},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,g=>(e.openBlock(),e.createBlock(e.unref(J.TabPane),{key:g.path,name:g.path,label:g.title,closable:!g.affix},{label:e.withCtx(()=>[e.createElementVNode("span",Sl,[e.createTextVNode(e.toDisplayString(g.title)+" ",1),g.affix?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",{key:0,class:"tab-close",onClick:e.withModifiers(d=>p(g.path),["stop"])}," ✕ ",8,$l))])]),_:2},1032,["name","label","closable"]))),128))]),_:1},8,["modelValue"])]))}}),[["__scopeId","data-v-9156d8cd"]]),Dl={},Tl={class:"footer"};function Ll(t,n){return e.openBlock(),e.createElementBlock("div",Tl,[...n[0]||(n[0]=[e.createElementVNode("span",null,"Copyright © 2024 Xto Demo. All Rights Reserved.",-1)])])}const Ml=K(Dl,[["render",Ll],["__scopeId","data-v-4852826a"]]),de=(()=>{const t=Vt.create({baseURL:void 0,timeout:3e4,headers:{"Content-Type":"application/json"}});return t.interceptors.request.use(n=>{const l=ge(),s=Je()||"Bearer";return l&&(n.headers.Authorization=`${s} ${l}`),n},n=>Promise.reject(n)),t.interceptors.response.use(n=>{const{data:l}=n;return l.code===200||l.code===0?l.data:l.code===9121?(z.Message.error("登录已过期,请重新登录"),ie(),window.location.href="/login",Promise.reject(new Error(l.message||"EXPIRED OR INVALID TOKEN"))):(z.Message.error(l.message||"请求失败"),Promise.reject(new Error(l.message||"请求失败")))},n=>{var s;const{response:l}=n;if(l){const{data:a}=l;if((a==null?void 0:a.code)===9121)return z.Message.error("登录已过期,请重新登录"),ie(),window.location.href="/login",Promise.reject(n);switch(l.status){case 401:z.Message.error("登录已过期,请重新登录"),ie(),window.location.href="/login";break;case 403:z.Message.error("没有权限访问");break;case 404:z.Message.error("请求资源不存在");break;case 500:z.Message.error("服务器错误");break;default:z.Message.error(((s=l.data)==null?void 0:s.message)||"请求失败")}}else z.Message.error("网络连接失败");return Promise.reject(n)}),t})(),A={get(t,n){return de.get(t,n)},post(t,n,l){return de.post(t,n,l)},put(t,n,l){return de.put(t,n,l)},patch(t,n,l){return de.patch(t,n,l)},delete(t,n){return de.delete(t,n)},download(t,n){return de.get(t,{...n,responseType:"blob"})}};function at(t){return A.post("/user/v1.0/login/by-domain",t)}function Ul(){return A.put("/user/v1.0/user/logout")}function st(){return A.get("/user/v1.0/user/get-me")}function zl(t){return A.post("/user/v1.0/refresh",{refreshToken:t})}const Al={class:"login"},Fl={class:"login__container"},rt=K(e.defineComponent({__name:"index",setup(t){const n=P.useRouter(),l=P.useRoute(),s=e.ref(!1),a=e.ref(!1),r=e.reactive({uid:"",password:""}),p={uid:[{required:!0,message:"请输入用户名",trigger:"blur"}],password:[{required:!0,message:"请输入密码",trigger:"blur"},{min:6,message:"密码长度至少6位",trigger:"blur"}]},o=e.ref(),h=async()=>{var g;try{await((g=o.value)==null?void 0:g.validate()),s.value=!0;const d=await at({appId:ue(),clientId:$e(),uid:r.uid,password:r.password,code:!0});Fe(d),z.Message.success("登录成功");const y=l.query.redirect||"/";n.push(y)}catch(d){console.error("登录失败:",d)}finally{s.value=!1}};return(g,d)=>(e.openBlock(),e.createElementBlock("div",Al,[e.createElementVNode("div",Fl,[d[5]||(d[5]=e.createElementVNode("div",{class:"login__header"},[e.createElementVNode("img",{src:Se,alt:"Logo",class:"login__logo"}),e.createElementVNode("h1",{class:"login__title"},"Xto Demo"),e.createElementVNode("p",{class:"login__subtitle"},"后台管理系统")],-1)),e.createVNode(e.unref(E.Form),{ref_key:"formRef",ref:o,model:r,rules:p,class:"login__form","label-width":"0"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.FormItem),{prop:"uid"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.Input),{modelValue:r.uid,"onUpdate:modelValue":d[0]||(d[0]=y=>r.uid=y),placeholder:"用户名",size:"large"},{prefix:e.withCtx(()=>[e.createVNode(e.unref(V.Icon),{name:"user",size:18})]),_:1},8,["modelValue"])]),_:1}),e.createVNode(e.unref(E.FormItem),{prop:"password"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.Input),{modelValue:r.password,"onUpdate:modelValue":d[1]||(d[1]=y=>r.password=y),type:"password",placeholder:"密码",size:"large","show-password":"",onKeyup:e.withKeys(h,["enter"])},{prefix:e.withCtx(()=>[e.createVNode(e.unref(V.Icon),{name:"lock",size:18})]),_:1},8,["modelValue"])]),_:1}),e.createVNode(e.unref(E.FormItem),null,{default:e.withCtx(()=>[e.createVNode(e.unref(E.Checkbox),{modelValue:a.value,"onUpdate:modelValue":d[2]||(d[2]=y=>a.value=y)},{default:e.withCtx(()=>[...d[3]||(d[3]=[e.createTextVNode("记住我",-1)])]),_:1},8,["modelValue"])]),_:1}),e.createVNode(e.unref(E.FormItem),null,{default:e.withCtx(()=>[e.createVNode(e.unref(V.Button),{type:"primary",size:"large",loading:s.value,class:"login__submit",onClick:h},{default:e.withCtx(()=>[...d[4]||(d[4]=[e.createTextVNode(" 登录 ",-1)])]),_:1},8,["loading"])]),_:1})]),_:1},8,["model"]),d[6]||(d[6]=e.createElementVNode("div",{class:"login__footer"},[e.createElementVNode("p",null,"请输入您的用户名和密码")],-1))])]))}}),[["__scopeId","data-v-f3e724b6"]]),Rl=Object.freeze(Object.defineProperty({__proto__:null,default:rt},Symbol.toStringTag,{value:"Module"})),Pl={class:"error-page"},Ol={class:"error-page__content"},it=K(e.defineComponent({__name:"404",setup(t){const n=P.useRouter(),l=()=>{n.push("/")};return(s,a)=>(e.openBlock(),e.createElementBlock("div",Pl,[e.createElementVNode("div",Ol,[a[1]||(a[1]=e.createElementVNode("div",{class:"error-page__code"},"404",-1)),a[2]||(a[2]=e.createElementVNode("div",{class:"error-page__title"},"页面不存在",-1)),a[3]||(a[3]=e.createElementVNode("div",{class:"error-page__desc"},"抱歉,您访问的页面不存在或已被删除",-1)),e.createVNode(e.unref(V.Button),{type:"primary",onClick:l},{default:e.withCtx(()=>[...a[0]||(a[0]=[e.createTextVNode("返回首页",-1)])]),_:1})])]))}}),[["__scopeId","data-v-3b47f5bc"]]),ct=Object.freeze(Object.defineProperty({__proto__:null,default:it},Symbol.toStringTag,{value:"Module"})),ql={class:"error-page"},jl={class:"error-page__content"},Kl=K(e.defineComponent({__name:"403",setup(t){const n=P.useRouter(),l=()=>{n.push("/")};return(s,a)=>(e.openBlock(),e.createElementBlock("div",ql,[e.createElementVNode("div",jl,[a[1]||(a[1]=e.createElementVNode("div",{class:"error-page__code"},"403",-1)),a[2]||(a[2]=e.createElementVNode("div",{class:"error-page__title"},"无访问权限",-1)),a[3]||(a[3]=e.createElementVNode("div",{class:"error-page__desc"},"抱歉,您没有权限访问此页面",-1)),e.createVNode(e.unref(V.Button),{type:"primary",onClick:l},{default:e.withCtx(()=>[...a[0]||(a[0]=[e.createTextVNode("返回首页",-1)])]),_:1})])]))}}),[["__scopeId","data-v-3081df6c"]]);function Yl(){const t=ee(),n=X(),l=ce(),s=e.computed(()=>n.userName||""),a=e.computed(()=>n.userInfo),r=e.computed(()=>t.appName),p=e.computed(()=>l.isLoggedIn),o=e.computed(()=>t.isDark),h=e.computed(()=>t.theme),g=e.computed(()=>t.isCollapsed),d=e.computed(()=>t.layout);return{userName:s,userInfo:a,appName:r,isLoggedIn:p,isDark:o,theme:h,isCollapsed:g,layout:d,toggleTheme:()=>{t.toggleTheme()},toggleCollapse:()=>{t.toggleCollapse()}}}function Wl(){const t=X();return{isLoggedIn:e.computed(()=>t.isLoggedIn)}}function Xl(t,n={}){const{rules:l,onSubmit:s}=n,a=e.ref(),r=e.reactive({...t}),p=e.ref(!1),o=e.ref(!1),h=e.ref(!1),g=()=>{x(),h.value=!1,o.value=!0},d=I=>{Object.assign(r,I),h.value=!0,o.value=!0},y=()=>{o.value=!1,x()},x=()=>{var I;Object.keys(t).forEach(N=>{r[N]=t[N]}),(I=a.value)==null||I.resetFields()};return{formRef:a,formData:r,rules:l,loading:p,visible:o,isEdit:h,openAdd:g,openEdit:d,close:y,resetForm:x,handleSubmit:async()=>{var I;try{await((I=a.value)==null?void 0:I.validate()),p.value=!0,await(s==null?void 0:s(r)),y()}catch(N){console.error(N)}finally{p.value=!1}}}}function Gl(t){const{fetchData:n,defaultPageSize:l=10}=t,s=e.ref(!1),a=e.ref([]),r=e.ref(0),p=e.ref(1),o=e.ref(l),h=e.reactive({}),g=async()=>{s.value=!0;try{const f={...h,page:p.value,pageSize:o.value},S=await n(f);a.value=S.list,r.value=S.total}catch(f){console.error(f)}finally{s.value=!1}},d=()=>{p.value=1,g()},y=()=>{Object.keys(h).forEach(f=>{h[f]=void 0}),p.value=1,g()},x=f=>{p.value=f,g()},T=f=>{o.value=f,p.value=1,g()},I=()=>{g()},N=e.computed(()=>({current:p.value,pageSize:o.value,total:r.value}));return{loading:s,data:a,total:r,currentPage:p,pageSize:o,searchParams:h,pagination:N,getData:g,handleSearch:d,handleReset:y,handlePageChange:x,handleSizeChange:T,refresh:I}}function Hl(t){return X().isLoggedIn}function Jl(t){return X().isLoggedIn}function Ql(){return!0}const qe=[{path:"/login",name:"Login",component:()=>Promise.resolve().then(()=>Rl),meta:{title:"登录",hidden:!0}}],je={path:"/",name:"Layout",component:()=>Promise.resolve().then(()=>xl),redirect:"/dashboard",children:[{path:"/dashboard",name:"Dashboard",component:()=>Promise.resolve().then(()=>ft),meta:{title:"仪表盘",icon:"dashboard",keepAlive:!0,affix:!0}},{path:"/system/user",name:"SystemUser",component:()=>Promise.resolve().then(()=>ht),meta:{title:"用户管理",icon:"user",keepAlive:!0}},{path:"/system/role",name:"SystemRole",component:()=>Promise.resolve().then(()=>_t),meta:{title:"角色管理",icon:"role",keepAlive:!0}},{path:"/system/menu",name:"SystemMenu",component:()=>Promise.resolve().then(()=>gt),meta:{title:"菜单管理",icon:"menu",keepAlive:!0}},{path:"/:pathMatch(.*)*",name:"CatchAll",component:()=>Promise.resolve().then(()=>ct),meta:{title:"404",hidden:!0}}]},Zl=[{path:"/dashboard",name:"Dashboard",component:()=>Promise.resolve().then(()=>ft),meta:{title:"仪表盘",icon:"dashboard",keepAlive:!0,affix:!0}},{path:"/system",name:"System",redirect:"/system/user",meta:{title:"系统管理",icon:"setting"},children:[{path:"user",name:"SystemUser",component:()=>Promise.resolve().then(()=>ht),meta:{title:"用户管理",icon:"user",keepAlive:!0}},{path:"role",name:"SystemRole",component:()=>Promise.resolve().then(()=>_t),meta:{title:"角色管理",icon:"role",keepAlive:!0}},{path:"menu",name:"SystemMenu",component:()=>Promise.resolve().then(()=>gt),meta:{title:"菜单管理",icon:"menu",keepAlive:!0}}]}],dt=[{menuCode:"dashboard",menuName:"仪表盘",menuUrl:"/dashboard",icon:"dashboard",closable:!0,isDefault:!0,isOut:!1},{menuCode:"system",menuName:"系统管理",menuUrl:"/system",icon:"setting",closable:!1,isDefault:!1,isOut:!1,children:[{menuCode:"system_user",menuName:"用户管理",menuUrl:"/system/user",icon:"user",closable:!0,isDefault:!1,isOut:!1},{menuCode:"system_role",menuName:"角色管理",menuUrl:"/system/role",icon:"role",closable:!0,isDefault:!1,isOut:!1},{menuCode:"system_menu",menuName:"菜单管理",menuUrl:"/system/menu",icon:"menu",closable:!0,isDefault:!1,isOut:!1}]}],Ke=P.createRouter({history:P.createWebHistory(),routes:[...qe,je],scrollBehavior:()=>({left:0,top:0})}),vl=["/login"];Ke.beforeEach(async(t,n,l)=>{const s=ee();if(s.initTheme(),Re())if(t.path==="/login")l({path:"/"});else{const a=X();a.isLoggedIn||(a.setUserInfo({appId:ue(),userId:"1",userName:"管理员",departmentName:"技术部",email:"admin@example.com",mobilePhone:"13800138000",positionName:"管理员",avatar:""}),oe().setMenuList(dt)),t.name&&t.meta.keepAlive&&s.addCachedView(t.name),l()}else vl.includes(t.path)?l():l("/login")});function ea(){const t=P.createRouter({history:P.createWebHistory(),routes:[...qe,je]});Ke.matcher=t.matcher}function ta(t,n={}){const l=n.indexPath||"/dashboard",s={path:"/:pathMatch(.*)*",name:"CatchAll",component:()=>Promise.resolve().then(()=>ct),meta:{title:"404"}};return{path:"/",name:"Layout",component:Oe,redirect:l,children:[...t,s]}}function na(t){return P.createRouter({history:P.createWebHistory(),routes:t,scrollBehavior:()=>({left:0,top:0})})}function oa(t){return A.get("/role/list",{params:t})}function la(t){return A.get(`/role/${t}`)}function aa(t){return A.post("/role",t)}function sa(t,n){return A.put(`/role/${t}`,n)}function ra(t){return A.delete(`/role/${t}`)}function ia(t,n){return A.patch(`/role/${t}/status`,{status:n})}function ca(){return A.get("/user/v1.0/menu/list")}function mt(t){const n=t||ue();return A.get(`/user/v1.0/menu/get-menu?appId=${n}`)}function da(t){return A.post("/menu",t)}function ma(t,n){return A.put(`/menu/${t}`,n)}function pa(t){return A.delete(`/menu/${t}`)}const ua=["/login","/404","/403"];function fa(t,n={}){const l=n.whiteList||ua,s=n.loginPath||"/login",a=n.homePath||"/";t.beforeEach(async(r,p,o)=>{const h=ee(),g=X(),d=oe();if(h.initTheme(),ge())if(r.path===s)o({path:a});else if(g.isLoggedIn)r.name&&r.meta.keepAlive&&h.addCachedView(r.name),o();else try{if(n.fetchUserInfo){const x=await n.fetchUserInfo();g.setUserInfo(x)}else{const x=await st();g.setUserInfo(x)}if(n.fetchMenu){const x=await n.fetchMenu();d.setMenuList(x)}else{const x=await mt(n.appId);d.setMenuList(x)}n.onLoginSuccess&&n.onLoginSuccess(),r.name&&r.meta.keepAlive&&h.addCachedView(r.name),o({...r,replace:!0})}catch(x){console.error("获取用户信息失败:",x),g.clearUserInfo(),d.clearMenu(),ie(),o({path:s,query:{redirect:r.fullPath}})}else l.includes(r.path)?o():o({path:s,query:{redirect:r.fullPath}})}),t.afterEach(()=>{})}function ha(t){return A.get("/user/list",{params:t})}function _a(t){return A.get(`/user/${t}`)}function ga(t){return A.post("/user",t)}function Na(t,n){return A.put(`/user/${t}`,n)}function Va(t){return A.delete(`/user/${t}`)}function ka(t){return A.post("/user/batch-delete",{ids:t})}function Ea(t,n){return A.patch(`/user/${t}/status`,{status:n})}function ya(t){return A.post(`/user/${t}/reset-password`)}var D=(t=>(t[t.ENABLED=1]="ENABLED",t[t.DISABLED=0]="DISABLED",t))(D||{}),pt=(t=>(t[t.UNKNOWN=0]="UNKNOWN",t[t.MALE=1]="MALE",t[t.FEMALE=2]="FEMALE",t))(pt||{}),j=(t=>(t[t.DIRECTORY=0]="DIRECTORY",t[t.MENU=1]="MENU",t[t.BUTTON=2]="BUTTON",t))(j||{});const wa={1:"启用",0:"禁用"},Ca={0:"未知",1:"男",2:"女"},Ba={0:"目录",1:"菜单",2:"按钮"},Ye=[{label:"启用",value:1},{label:"禁用",value:0}],xa=[{label:"未知",value:0},{label:"男",value:1},{label:"女",value:2}],ut=[{label:"目录",value:0},{label:"菜单",value:1},{label:"按钮",value:2}],ba={mounted(t,n){var s;X().isLoggedIn||(s=t.parentNode)==null||s.removeChild(t)}};function Sa(t){return We({appId:t.appId,clientId:t.clientId,apiBaseUrl:t.apiBaseUrl}),{config:{appName:t.appName||"XTO App",appId:ue(),clientId:$e(),apiBaseUrl:Xe(),indexPath:t.indexPath||"/dashboard",loginPath:t.loginPath||"/login"}}}const $a={class:"dashboard"},Ia={class:"dashboard__stats"},Da={class:"stat-card__content"},Ta={class:"stat-card__info"},La={class:"stat-card__title"},Ma={class:"dashboard__main"},Ua={class:"quick-links"},za={class:"quick-link__icon"},Aa={class:"quick-link__title"},Fa={class:"activity-list"},Ra={class:"activity-item__action"},Pa={class:"activity-item__time"},Oa={class:"system-info"},qa={class:"system-info__item"},ja={class:"system-info__item"},ft=Object.freeze(Object.defineProperty({__proto__:null,default:K(e.defineComponent({__name:"index",setup(t){const n=e.ref([{title:"用户总数",value:1234,icon:"👥",color:"#409eff"},{title:"今日访问",value:567,icon:"👀",color:"#67c23a"},{title:"订单数量",value:890,icon:"📦",color:"#e6a23c"},{title:"销售金额",value:123456,icon:"💰",color:"#f56c6c"}]),l=e.ref([{user:"张三",action:"登录系统",time:"2分钟前",type:"success"},{user:"李四",action:"修改了用户信息",time:"5分钟前",type:"warning"},{user:"王五",action:"创建了新订单",time:"10分钟前",type:"info"},{user:"赵六",action:"删除了测试数据",time:"30分钟前",type:"danger"},{user:"钱七",action:"更新了系统配置",time:"1小时前",type:"primary"}]),s=e.ref([{title:"用户管理",path:"/system/user",icon:"👤"},{title:"角色管理",path:"/system/role",icon:"👥"},{title:"菜单管理",path:"/system/menu",icon:"📋"},{title:"系统设置",path:"/system",icon:"⚙️"}]);return(a,r)=>{const p=e.resolveComponent("router-link");return e.openBlock(),e.createElementBlock("div",$a,[e.createElementVNode("div",Ia,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,o=>(e.openBlock(),e.createBlock(e.unref(F.Card),{key:o.title,class:"stat-card"},{default:e.withCtx(()=>[e.createElementVNode("div",Da,[e.createElementVNode("div",{class:"stat-card__icon",style:e.normalizeStyle({backgroundColor:o.color+"20"})},e.toDisplayString(o.icon),5),e.createElementVNode("div",Ta,[e.createElementVNode("div",La,e.toDisplayString(o.title),1),e.createElementVNode("div",{class:"stat-card__value",style:e.normalizeStyle({color:o.color})},e.toDisplayString(o.value.toLocaleString()),5)])])]),_:2},1024))),128))]),e.createElementVNode("div",Ma,[e.createVNode(e.unref(F.Card),{class:"dashboard__quick"},{header:e.withCtx(()=>[...r[0]||(r[0]=[e.createElementVNode("span",{class:"card-title"},"快捷入口",-1)])]),default:e.withCtx(()=>[e.createElementVNode("div",Ua,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,o=>(e.openBlock(),e.createBlock(p,{key:o.path,to:o.path,class:"quick-link"},{default:e.withCtx(()=>[e.createElementVNode("span",za,e.toDisplayString(o.icon),1),e.createElementVNode("span",Aa,e.toDisplayString(o.title),1)]),_:2},1032,["to"]))),128))])]),_:1}),e.createVNode(e.unref(F.Card),{class:"dashboard__activity"},{header:e.withCtx(()=>[...r[1]||(r[1]=[e.createElementVNode("span",{class:"card-title"},"最近活动",-1)])]),default:e.withCtx(()=>[e.createElementVNode("div",Fa,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,(o,h)=>(e.openBlock(),e.createElementBlock("div",{key:h,class:"activity-item"},[e.createVNode(e.unref(F.Tag),{type:o.type,size:"small"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.user),1)]),_:2},1032,["type"]),e.createElementVNode("span",Ra,e.toDisplayString(o.action),1),e.createElementVNode("span",Pa,e.toDisplayString(o.time),1)]))),128))])]),_:1})]),e.createVNode(e.unref(F.Card),{class:"dashboard__system"},{header:e.withCtx(()=>[...r[2]||(r[2]=[e.createElementVNode("span",{class:"card-title"},"系统信息",-1)])]),default:e.withCtx(()=>[e.createElementVNode("div",Oa,[r[5]||(r[5]=e.createElementVNode("div",{class:"system-info__item"},[e.createElementVNode("span",{class:"system-info__label"},"系统版本"),e.createElementVNode("span",{class:"system-info__value"},"v1.0.0")],-1)),r[6]||(r[6]=e.createElementVNode("div",{class:"system-info__item"},[e.createElementVNode("span",{class:"system-info__label"},"Vue 版本"),e.createElementVNode("span",{class:"system-info__value"},"3.4.21")],-1)),r[7]||(r[7]=e.createElementVNode("div",{class:"system-info__item"},[e.createElementVNode("span",{class:"system-info__label"},"构建工具"),e.createElementVNode("span",{class:"system-info__value"},"Vite 5")],-1)),r[8]||(r[8]=e.createElementVNode("div",{class:"system-info__item"},[e.createElementVNode("span",{class:"system-info__label"},"UI 组件库"),e.createElementVNode("span",{class:"system-info__value"},"xto")],-1)),e.createElementVNode("div",qa,[r[3]||(r[3]=e.createElementVNode("span",{class:"system-info__label"},"服务器状态",-1)),e.createVNode(e.unref(F.Progress),{percentage:75,status:"success"})]),e.createElementVNode("div",ja,[r[4]||(r[4]=e.createElementVNode("span",{class:"system-info__label"},"内存使用",-1)),e.createVNode(e.unref(F.Progress),{percentage:45})])])]),_:1})])}}}),[["__scopeId","data-v-44648cb1"]])},Symbol.toStringTag,{value:"Module"})),Ka={class:"user-page"},Ya={class:"toolbar"},Wa={class:"data-table"},Xa={key:0},Ga={key:1},Ha={class:"pagination-wrapper"},ht=Object.freeze(Object.defineProperty({__proto__:null,default:K(e.defineComponent({__name:"index",setup(t){const n=[{id:1,username:"admin",nickname:"管理员",email:"admin@example.com",phone:"13800138001",status:D.ENABLED,roles:["admin"],createTime:"2024-01-01 10:00:00"},{id:2,username:"zhangsan",nickname:"张三",email:"zhangsan@example.com",phone:"13800138002",status:D.ENABLED,roles:["editor"],createTime:"2024-01-02 10:00:00"},{id:3,username:"lisi",nickname:"李四",email:"lisi@example.com",phone:"13800138003",status:D.DISABLED,roles:["viewer"],createTime:"2024-01-03 10:00:00"},{id:4,username:"wangwu",nickname:"王五",email:"wangwu@example.com",phone:"13800138004",status:D.ENABLED,roles:["editor"],createTime:"2024-01-04 10:00:00"},{id:5,username:"zhaoliu",nickname:"赵六",email:"zhaoliu@example.com",phone:"13800138005",status:D.ENABLED,roles:["viewer"],createTime:"2024-01-05 10:00:00"}],l=e.ref(!1),s=e.ref([]),a=e.ref(0),r=e.ref(1),p=e.ref(10),o=e.reactive({keyword:"",status:void 0}),h=e.ref(!1),g=e.computed(()=>d.id?"编辑用户":"新增用户"),d=e.reactive({id:0,username:"",nickname:"",email:"",phone:"",status:D.ENABLED,roles:[]}),y={username:[{required:!0,message:"请输入用户名",trigger:"blur"}],nickname:[{required:!0,message:"请输入昵称",trigger:"blur"}],email:[{required:!0,message:"请输入邮箱",trigger:"blur"},{type:"email",message:"请输入正确的邮箱格式",trigger:"blur"}]},x=e.ref(),T=()=>{l.value=!0,setTimeout(()=>{let _=[...n];o.keyword&&(_=_.filter(m=>m.username.includes(o.keyword)||m.nickname.includes(o.keyword))),o.status!==void 0&&(_=_.filter(m=>m.status===o.status)),a.value=_.length,s.value=_.slice((r.value-1)*p.value,r.value*p.value),l.value=!1},300)},I=()=>{r.value=1,T()},N=()=>{o.keyword="",o.status=void 0,r.value=1,T()},f=()=>{Object.assign(d,{id:0,username:"",nickname:"",email:"",phone:"",status:D.ENABLED,roles:[]}),h.value=!0},S=_=>{Object.assign(d,_),h.value=!0},R=_=>{z.Message.success("删除成功"),T()},q=async()=>{var _;try{await((_=x.value)==null?void 0:_.validate()),z.Message.success(d.id?"编辑成功":"新增成功"),h.value=!1,T()}catch(m){console.error(m)}},M=_=>{z.Message.success(`已${_.status===D.ENABLED?"启用":"禁用"}用户 ${_.username}`)};return e.onMounted(()=>{T()}),(_,m)=>(e.openBlock(),e.createElementBlock("div",Ka,[e.createVNode(e.unref(F.Card),{class:"search-card"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.Form),{model:o,inline:""},{default:e.withCtx(()=>[e.createVNode(e.unref(E.FormItem),{label:"关键词"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.Input),{modelValue:o.keyword,"onUpdate:modelValue":m[0]||(m[0]=w=>o.keyword=w),placeholder:"用户名/昵称",clearable:"",onKeyup:e.withKeys(I,["enter"])},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(E.FormItem),{label:"状态"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.Select),{modelValue:o.status,"onUpdate:modelValue":m[1]||(m[1]=w=>o.status=w),options:e.unref(Ye),placeholder:"请选择",clearable:""},null,8,["modelValue","options"])]),_:1}),e.createVNode(e.unref(E.FormItem),null,{default:e.withCtx(()=>[e.createVNode(e.unref(V.Space),null,{default:e.withCtx(()=>[e.createVNode(e.unref(V.Button),{type:"primary",onClick:I},{default:e.withCtx(()=>[...m[11]||(m[11]=[e.createTextVNode("搜索",-1)])]),_:1}),e.createVNode(e.unref(V.Button),{onClick:N},{default:e.withCtx(()=>[...m[12]||(m[12]=[e.createTextVNode("重置",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),e.createVNode(e.unref(F.Card),{class:"table-card"},{default:e.withCtx(()=>[e.createElementVNode("div",Ya,[e.createVNode(e.unref(V.Button),{type:"primary",onClick:f},{default:e.withCtx(()=>[...m[13]||(m[13]=[e.createTextVNode("新增用户",-1)])]),_:1})]),e.createElementVNode("table",Wa,[m[18]||(m[18]=e.createElementVNode("thead",null,[e.createElementVNode("tr",null,[e.createElementVNode("th",null,"ID"),e.createElementVNode("th",null,"用户名"),e.createElementVNode("th",null,"昵称"),e.createElementVNode("th",null,"邮箱"),e.createElementVNode("th",null,"手机号"),e.createElementVNode("th",null,"角色"),e.createElementVNode("th",null,"状态"),e.createElementVNode("th",null,"创建时间"),e.createElementVNode("th",null,"操作")])],-1)),e.createElementVNode("tbody",null,[l.value?(e.openBlock(),e.createElementBlock("tr",Xa,[...m[14]||(m[14]=[e.createElementVNode("td",{colspan:"9",class:"loading-cell"},"加载中...",-1)])])):s.value.length===0?(e.openBlock(),e.createElementBlock("tr",Ga,[...m[15]||(m[15]=[e.createElementVNode("td",{colspan:"9",class:"empty-cell"},"暂无数据",-1)])])):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:2},e.renderList(s.value,w=>(e.openBlock(),e.createElementBlock("tr",{key:w.id},[e.createElementVNode("td",null,e.toDisplayString(w.id),1),e.createElementVNode("td",null,e.toDisplayString(w.username),1),e.createElementVNode("td",null,e.toDisplayString(w.nickname),1),e.createElementVNode("td",null,e.toDisplayString(w.email),1),e.createElementVNode("td",null,e.toDisplayString(w.phone),1),e.createElementVNode("td",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(w.roles,O=>(e.openBlock(),e.createBlock(e.unref(F.Tag),{key:O,size:"small"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(O),1)]),_:2},1024))),128))]),e.createElementVNode("td",null,[e.createVNode(e.unref(E.Switch),{"model-value":w.status===e.unref(D).ENABLED,"onUpdate:modelValue":O=>{w.status=O?e.unref(D).ENABLED:e.unref(D).DISABLED,M(w)}},null,8,["model-value","onUpdate:modelValue"])]),e.createElementVNode("td",null,e.toDisplayString(w.createTime),1),e.createElementVNode("td",null,[e.createVNode(e.unref(V.Space),null,{default:e.withCtx(()=>[e.createVNode(e.unref(V.Button),{type:"primary",link:"",size:"small",onClick:O=>S(w)},{default:e.withCtx(()=>[...m[16]||(m[16]=[e.createTextVNode("编辑",-1)])]),_:1},8,["onClick"]),e.createVNode(e.unref(z.Popconfirm),{title:"确定删除该用户吗?",onConfirm:O=>R(w.id)},{default:e.withCtx(()=>[e.createVNode(e.unref(V.Button),{type:"danger",link:"",size:"small"},{default:e.withCtx(()=>[...m[17]||(m[17]=[e.createTextVNode("删除",-1)])]),_:1})]),_:1},8,["onConfirm"])]),_:2},1024)])]))),128))])]),e.createElementVNode("div",Ha,[e.createVNode(e.unref(F.Pagination),{"current-page":r.value,"onUpdate:currentPage":m[2]||(m[2]=w=>r.value=w),"page-size":p.value,"onUpdate:pageSize":m[3]||(m[3]=w=>p.value=w),total:a.value,"page-sizes":[10,20,50,100],layout:"total, sizes, prev, pager, next",onCurrentChange:T,onSizeChange:T},null,8,["current-page","page-size","total"])])]),_:1}),e.createVNode(e.unref(z.Modal),{modelValue:h.value,"onUpdate:modelValue":m[10]||(m[10]=w=>h.value=w),title:g.value,width:"500px"},{footer:e.withCtx(()=>[e.createVNode(e.unref(V.Space),null,{default:e.withCtx(()=>[e.createVNode(e.unref(V.Button),{onClick:m[9]||(m[9]=w=>h.value=!1)},{default:e.withCtx(()=>[...m[19]||(m[19]=[e.createTextVNode("取消",-1)])]),_:1}),e.createVNode(e.unref(V.Button),{type:"primary",onClick:q},{default:e.withCtx(()=>[...m[20]||(m[20]=[e.createTextVNode("确定",-1)])]),_:1})]),_:1})]),default:e.withCtx(()=>[e.createVNode(e.unref(E.Form),{ref_key:"formRef",ref:x,model:d,rules:y,"label-width":"80px"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.FormItem),{label:"用户名",prop:"username"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.Input),{modelValue:d.username,"onUpdate:modelValue":m[4]||(m[4]=w=>d.username=w),placeholder:"请输入用户名"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(E.FormItem),{label:"昵称",prop:"nickname"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.Input),{modelValue:d.nickname,"onUpdate:modelValue":m[5]||(m[5]=w=>d.nickname=w),placeholder:"请输入昵称"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(E.FormItem),{label:"邮箱",prop:"email"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.Input),{modelValue:d.email,"onUpdate:modelValue":m[6]||(m[6]=w=>d.email=w),placeholder:"请输入邮箱"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(E.FormItem),{label:"手机号",prop:"phone"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.Input),{modelValue:d.phone,"onUpdate:modelValue":m[7]||(m[7]=w=>d.phone=w),placeholder:"请输入手机号"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(E.FormItem),{label:"状态"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.Switch),{modelValue:d.status,"onUpdate:modelValue":m[8]||(m[8]=w=>d.status=w),"active-value":e.unref(D).ENABLED,"inactive-value":e.unref(D).DISABLED},null,8,["modelValue","active-value","inactive-value"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])]))}}),[["__scopeId","data-v-d2491ae0"]])},Symbol.toStringTag,{value:"Module"})),Ja={class:"role-page"},Qa={class:"toolbar"},Za={class:"data-table"},va={key:0},es={key:1},ts={class:"pagination-wrapper"},_t=Object.freeze(Object.defineProperty({__proto__:null,default:K(e.defineComponent({__name:"index",setup(t){const n=[{id:1,name:"超级管理员",code:"admin",description:"拥有所有权限",status:D.ENABLED,permissions:["*"],createTime:"2024-01-01 10:00:00"},{id:2,name:"编辑",code:"editor",description:"内容编辑权限",status:D.ENABLED,permissions:["user:read","user:write"],createTime:"2024-01-02 10:00:00"},{id:3,name:"访客",code:"viewer",description:"只读权限",status:D.ENABLED,permissions:["user:read"],createTime:"2024-01-03 10:00:00"}],l=e.ref(!1),s=e.ref([]),a=e.ref(0),r=e.ref(1),p=e.ref(10),o=e.reactive({keyword:"",status:void 0}),h=e.ref(!1),g=e.computed(()=>d.id?"编辑角色":"新增角色"),d=e.reactive({id:0,name:"",code:"",description:"",status:D.ENABLED,permissions:[]}),y={name:[{required:!0,message:"请输入角色名称",trigger:"blur"}],code:[{required:!0,message:"请输入角色编码",trigger:"blur"}]},x=e.ref(),T=()=>{l.value=!0,setTimeout(()=>{let M=[...n];o.keyword&&(M=M.filter(_=>_.name.includes(o.keyword)||_.code.includes(o.keyword))),o.status!==void 0&&(M=M.filter(_=>_.status===o.status)),a.value=M.length,s.value=M.slice((r.value-1)*p.value,r.value*p.value),l.value=!1},300)},I=()=>{r.value=1,T()},N=()=>{o.keyword="",o.status=void 0,r.value=1,T()},f=()=>{Object.assign(d,{id:0,name:"",code:"",description:"",status:D.ENABLED,permissions:[]}),h.value=!0},S=M=>{Object.assign(d,M),h.value=!0},R=M=>{z.Message.success("删除成功"),T()},q=async()=>{var M;try{await((M=x.value)==null?void 0:M.validate()),z.Message.success(d.id?"编辑成功":"新增成功"),h.value=!1,T()}catch(_){console.error(_)}};return e.onMounted(()=>{T()}),(M,_)=>(e.openBlock(),e.createElementBlock("div",Ja,[e.createVNode(e.unref(F.Card),{class:"search-card"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.Form),{model:o,inline:""},{default:e.withCtx(()=>[e.createVNode(e.unref(E.FormItem),{label:"关键词"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.Input),{modelValue:o.keyword,"onUpdate:modelValue":_[0]||(_[0]=m=>o.keyword=m),placeholder:"角色名称/编码",clearable:"",onKeyup:e.withKeys(I,["enter"])},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(E.FormItem),{label:"状态"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.Select),{modelValue:o.status,"onUpdate:modelValue":_[1]||(_[1]=m=>o.status=m),options:e.unref(Ye),placeholder:"请选择",clearable:""},null,8,["modelValue","options"])]),_:1}),e.createVNode(e.unref(E.FormItem),null,{default:e.withCtx(()=>[e.createVNode(e.unref(V.Space),null,{default:e.withCtx(()=>[e.createVNode(e.unref(V.Button),{type:"primary",onClick:I},{default:e.withCtx(()=>[..._[10]||(_[10]=[e.createTextVNode("搜索",-1)])]),_:1}),e.createVNode(e.unref(V.Button),{onClick:N},{default:e.withCtx(()=>[..._[11]||(_[11]=[e.createTextVNode("重置",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),e.createVNode(e.unref(F.Card),{class:"table-card"},{default:e.withCtx(()=>[e.createElementVNode("div",Qa,[e.createVNode(e.unref(V.Button),{type:"primary",onClick:f},{default:e.withCtx(()=>[..._[12]||(_[12]=[e.createTextVNode("新增角色",-1)])]),_:1})]),e.createElementVNode("table",Za,[_[17]||(_[17]=e.createElementVNode("thead",null,[e.createElementVNode("tr",null,[e.createElementVNode("th",null,"ID"),e.createElementVNode("th",null,"角色名称"),e.createElementVNode("th",null,"角色编码"),e.createElementVNode("th",null,"描述"),e.createElementVNode("th",null,"状态"),e.createElementVNode("th",null,"创建时间"),e.createElementVNode("th",null,"操作")])],-1)),e.createElementVNode("tbody",null,[l.value?(e.openBlock(),e.createElementBlock("tr",va,[..._[13]||(_[13]=[e.createElementVNode("td",{colspan:"7",class:"loading-cell"},"加载中...",-1)])])):s.value.length===0?(e.openBlock(),e.createElementBlock("tr",es,[..._[14]||(_[14]=[e.createElementVNode("td",{colspan:"7",class:"empty-cell"},"暂无数据",-1)])])):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:2},e.renderList(s.value,m=>(e.openBlock(),e.createElementBlock("tr",{key:m.id},[e.createElementVNode("td",null,e.toDisplayString(m.id),1),e.createElementVNode("td",null,e.toDisplayString(m.name),1),e.createElementVNode("td",null,[e.createVNode(e.unref(F.Tag),{type:"primary",size:"small"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(m.code),1)]),_:2},1024)]),e.createElementVNode("td",null,e.toDisplayString(m.description),1),e.createElementVNode("td",null,[e.createVNode(e.unref(F.Tag),{type:m.status===e.unref(D).ENABLED?"success":"danger",size:"small"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(m.status===e.unref(D).ENABLED?"启用":"禁用"),1)]),_:2},1032,["type"])]),e.createElementVNode("td",null,e.toDisplayString(m.createTime),1),e.createElementVNode("td",null,[e.createVNode(e.unref(V.Space),null,{default:e.withCtx(()=>[e.createVNode(e.unref(V.Button),{type:"primary",link:"",size:"small",onClick:w=>S(m)},{default:e.withCtx(()=>[..._[15]||(_[15]=[e.createTextVNode("编辑",-1)])]),_:1},8,["onClick"]),e.createVNode(e.unref(z.Popconfirm),{title:"确定删除该角色吗?",onConfirm:w=>R(m.id)},{default:e.withCtx(()=>[e.createVNode(e.unref(V.Button),{type:"danger",link:"",size:"small"},{default:e.withCtx(()=>[..._[16]||(_[16]=[e.createTextVNode("删除",-1)])]),_:1})]),_:1},8,["onConfirm"])]),_:2},1024)])]))),128))])]),e.createElementVNode("div",ts,[e.createVNode(e.unref(F.Pagination),{"current-page":r.value,"onUpdate:currentPage":_[2]||(_[2]=m=>r.value=m),"page-size":p.value,"onUpdate:pageSize":_[3]||(_[3]=m=>p.value=m),total:a.value,"page-sizes":[10,20,50,100],layout:"total, sizes, prev, pager, next",onCurrentChange:T,onSizeChange:T},null,8,["current-page","page-size","total"])])]),_:1}),e.createVNode(e.unref(z.Modal),{modelValue:h.value,"onUpdate:modelValue":_[9]||(_[9]=m=>h.value=m),title:g.value,width:"500px"},{footer:e.withCtx(()=>[e.createVNode(e.unref(V.Space),null,{default:e.withCtx(()=>[e.createVNode(e.unref(V.Button),{onClick:_[8]||(_[8]=m=>h.value=!1)},{default:e.withCtx(()=>[..._[18]||(_[18]=[e.createTextVNode("取消",-1)])]),_:1}),e.createVNode(e.unref(V.Button),{type:"primary",onClick:q},{default:e.withCtx(()=>[..._[19]||(_[19]=[e.createTextVNode("确定",-1)])]),_:1})]),_:1})]),default:e.withCtx(()=>[e.createVNode(e.unref(E.Form),{ref_key:"formRef",ref:x,model:d,rules:y,"label-width":"80px"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.FormItem),{label:"角色名称",prop:"name"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.Input),{modelValue:d.name,"onUpdate:modelValue":_[4]||(_[4]=m=>d.name=m),placeholder:"请输入角色名称"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(E.FormItem),{label:"角色编码",prop:"code"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.Input),{modelValue:d.code,"onUpdate:modelValue":_[5]||(_[5]=m=>d.code=m),placeholder:"请输入角色编码"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(E.FormItem),{label:"描述"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.Input),{modelValue:d.description,"onUpdate:modelValue":_[6]||(_[6]=m=>d.description=m),placeholder:"请输入描述"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(E.FormItem),{label:"状态"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.Switch),{modelValue:d.status,"onUpdate:modelValue":_[7]||(_[7]=m=>d.status=m),"active-value":e.unref(D).ENABLED,"inactive-value":e.unref(D).DISABLED},null,8,["modelValue","active-value","inactive-value"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])]))}}),[["__scopeId","data-v-8ad30bc6"]])},Symbol.toStringTag,{value:"Module"})),ns={class:"menu-page"},os={class:"toolbar"},ls={class:"menu-tree"},as={class:"tree-table"},ss={class:"tree-row tree-row--level-0"},rs=["onClick"],is=["onClick"],gt=Object.freeze(Object.defineProperty({__proto__:null,default:K(e.defineComponent({__name:"index",setup(t){const n=[{id:1,parentId:null,name:"Dashboard",path:"/dashboard",component:"dashboard/index",redirect:"",icon:"dashboard",title:"仪表盘",type:j.MENU,sort:1,status:D.ENABLED,hidden:!1,keepAlive:!0},{id:2,parentId:null,name:"System",path:"/system",component:"",redirect:"/system/user",icon:"setting",title:"系统管理",type:j.DIRECTORY,sort:2,status:D.ENABLED,hidden:!1,keepAlive:!1,children:[{id:21,parentId:2,name:"SystemUser",path:"/system/user",component:"system/user/index",redirect:"",icon:"user",title:"用户管理",type:j.MENU,sort:1,status:D.ENABLED,hidden:!1,keepAlive:!0},{id:22,parentId:2,name:"SystemRole",path:"/system/role",component:"system/role/index",redirect:"",icon:"role",title:"角色管理",type:j.MENU,sort:2,status:D.ENABLED,hidden:!1,keepAlive:!0},{id:23,parentId:2,name:"SystemMenu",path:"/system/menu",component:"system/menu/index",redirect:"",icon:"menu",title:"菜单管理",type:j.MENU,sort:3,status:D.ENABLED,hidden:!1,keepAlive:!0}]}],l=e.ref(!1),s=e.ref([]),a=e.ref(!1),r=e.computed(()=>p.id?"编辑菜单":"新增菜单"),p=e.reactive({id:0,parentId:null,name:"",path:"",component:"",redirect:"",icon:"",title:"",type:j.MENU,sort:0,status:D.ENABLED,hidden:!1,keepAlive:!0}),o={name:[{required:!0,message:"请输入菜单名称",trigger:"blur"}],path:[{required:!0,message:"请输入路由路径",trigger:"blur"}],title:[{required:!0,message:"请输入菜单标题",trigger:"blur"}]},h=e.ref(),g=()=>{l.value=!0,setTimeout(()=>{s.value=n,l.value=!1},300)},d=(I=null)=>{Object.assign(p,{id:0,parentId:I,name:"",path:"",component:"",redirect:"",icon:"",title:"",type:j.MENU,sort:0,status:D.ENABLED,hidden:!1,keepAlive:!0}),a.value=!0},y=I=>{Object.assign(p,I),a.value=!0},x=async()=>{var I;try{await((I=h.value)==null?void 0:I.validate()),z.Message.success(p.id?"编辑成功":"新增成功"),a.value=!1,g()}catch(N){console.error(N)}},T=I=>({dashboard:"📊",system:"⚙️",user:"👤",role:"👥",menu:"📋",setting:"🔧"})[I||""]||"📄";return e.onMounted(()=>{g()}),(I,N)=>(e.openBlock(),e.createElementBlock("div",ns,[e.createVNode(e.unref(F.Card),{class:"menu-card"},{default:e.withCtx(()=>[e.createElementVNode("div",os,[e.createVNode(e.unref(V.Button),{type:"primary",onClick:N[0]||(N[0]=f=>d())},{default:e.withCtx(()=>[...N[14]||(N[14]=[e.createTextVNode("新增菜单",-1)])]),_:1})]),e.createElementVNode("div",ls,[e.createElementVNode("table",as,[N[19]||(N[19]=e.createElementVNode("thead",null,[e.createElementVNode("tr",null,[e.createElementVNode("th",null,"菜单名称"),e.createElementVNode("th",null,"图标"),e.createElementVNode("th",null,"路由路径"),e.createElementVNode("th",null,"类型"),e.createElementVNode("th",null,"排序"),e.createElementVNode("th",null,"状态"),e.createElementVNode("th",null,"操作")])],-1)),e.createElementVNode("tbody",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,f=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:f.id},[e.createElementVNode("tr",ss,[e.createElementVNode("td",null,[e.createElementVNode("span",{class:"menu-name",onClick:S=>y(f)},e.toDisplayString(f.title),9,rs)]),e.createElementVNode("td",null,e.toDisplayString(T(f.icon)),1),e.createElementVNode("td",null,e.toDisplayString(f.path),1),e.createElementVNode("td",null,[e.createVNode(e.unref(F.Tag),{type:f.type===e.unref(j).DIRECTORY?"primary":f.type===e.unref(j).MENU?"success":"warning",size:"small"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(f.type===e.unref(j).DIRECTORY?"目录":f.type===e.unref(j).MENU?"菜单":"按钮"),1)]),_:2},1032,["type"])]),e.createElementVNode("td",null,e.toDisplayString(f.sort),1),e.createElementVNode("td",null,[e.createVNode(e.unref(F.Tag),{type:f.status===e.unref(D).ENABLED?"success":"danger",size:"small"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(f.status===e.unref(D).ENABLED?"启用":"禁用"),1)]),_:2},1032,["type"])]),e.createElementVNode("td",null,[e.createVNode(e.unref(V.Space),null,{default:e.withCtx(()=>[e.createVNode(e.unref(V.Button),{type:"primary",link:"",size:"small",onClick:S=>d(f.id)},{default:e.withCtx(()=>[...N[15]||(N[15]=[e.createTextVNode("新增",-1)])]),_:1},8,["onClick"]),e.createVNode(e.unref(V.Button),{type:"primary",link:"",size:"small",onClick:S=>y(f)},{default:e.withCtx(()=>[...N[16]||(N[16]=[e.createTextVNode("编辑",-1)])]),_:1},8,["onClick"])]),_:2},1024)])]),f.children?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(f.children,S=>(e.openBlock(),e.createElementBlock("tr",{key:S.id,class:"tree-row tree-row--level-1"},[e.createElementVNode("td",null,[N[17]||(N[17]=e.createElementVNode("span",{class:"tree-indent"},null,-1)),e.createElementVNode("span",{class:"menu-name",onClick:R=>y(S)},e.toDisplayString(S.title),9,is)]),e.createElementVNode("td",null,e.toDisplayString(T(S.icon)),1),e.createElementVNode("td",null,e.toDisplayString(S.path),1),e.createElementVNode("td",null,[e.createVNode(e.unref(F.Tag),{type:S.type===e.unref(j).DIRECTORY?"primary":S.type===e.unref(j).MENU?"success":"warning",size:"small"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(S.type===e.unref(j).DIRECTORY?"目录":S.type===e.unref(j).MENU?"菜单":"按钮"),1)]),_:2},1032,["type"])]),e.createElementVNode("td",null,e.toDisplayString(S.sort),1),e.createElementVNode("td",null,[e.createVNode(e.unref(F.Tag),{type:S.status===e.unref(D).ENABLED?"success":"danger",size:"small"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(S.status===e.unref(D).ENABLED?"启用":"禁用"),1)]),_:2},1032,["type"])]),e.createElementVNode("td",null,[e.createVNode(e.unref(V.Space),null,{default:e.withCtx(()=>[e.createVNode(e.unref(V.Button),{type:"primary",link:"",size:"small",onClick:R=>y(S)},{default:e.withCtx(()=>[...N[18]||(N[18]=[e.createTextVNode("编辑",-1)])]),_:1},8,["onClick"])]),_:2},1024)])]))),128)):e.createCommentVNode("",!0)],64))),128))])])])]),_:1}),e.createVNode(e.unref(z.Modal),{modelValue:a.value,"onUpdate:modelValue":N[13]||(N[13]=f=>a.value=f),title:r.value,width:"600px"},{footer:e.withCtx(()=>[e.createVNode(e.unref(V.Space),null,{default:e.withCtx(()=>[e.createVNode(e.unref(V.Button),{onClick:N[12]||(N[12]=f=>a.value=!1)},{default:e.withCtx(()=>[...N[20]||(N[20]=[e.createTextVNode("取消",-1)])]),_:1}),e.createVNode(e.unref(V.Button),{type:"primary",onClick:x},{default:e.withCtx(()=>[...N[21]||(N[21]=[e.createTextVNode("确定",-1)])]),_:1})]),_:1})]),default:e.withCtx(()=>[e.createVNode(e.unref(E.Form),{ref_key:"formRef",ref:h,model:p,rules:o,"label-width":"80px"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.FormItem),{label:"上级菜单"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.Input),{modelValue:p.parentId,"onUpdate:modelValue":N[1]||(N[1]=f=>p.parentId=f),placeholder:"上级菜单ID",disabled:""},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(E.FormItem),{label:"菜单类型"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.Select),{modelValue:p.type,"onUpdate:modelValue":N[2]||(N[2]=f=>p.type=f),options:e.unref(ut)},null,8,["modelValue","options"])]),_:1}),e.createVNode(e.unref(E.FormItem),{label:"菜单名称",prop:"name"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.Input),{modelValue:p.name,"onUpdate:modelValue":N[3]||(N[3]=f=>p.name=f),placeholder:"请输入菜单名称(路由name)"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(E.FormItem),{label:"菜单标题",prop:"title"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.Input),{modelValue:p.title,"onUpdate:modelValue":N[4]||(N[4]=f=>p.title=f),placeholder:"请输入菜单标题"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(E.FormItem),{label:"路由路径",prop:"path"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.Input),{modelValue:p.path,"onUpdate:modelValue":N[5]||(N[5]=f=>p.path=f),placeholder:"请输入路由路径"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(E.FormItem),{label:"组件路径"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.Input),{modelValue:p.component,"onUpdate:modelValue":N[6]||(N[6]=f=>p.component=f),placeholder:"请输入组件路径"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(E.FormItem),{label:"图标"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.Input),{modelValue:p.icon,"onUpdate:modelValue":N[7]||(N[7]=f=>p.icon=f),placeholder:"请输入图标名称"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(E.FormItem),{label:"排序"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.InputNumber),{modelValue:p.sort,"onUpdate:modelValue":N[8]||(N[8]=f=>p.sort=f),min:0},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(E.FormItem),{label:"状态"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.Switch),{modelValue:p.status,"onUpdate:modelValue":N[9]||(N[9]=f=>p.status=f),"active-value":e.unref(D).ENABLED,"inactive-value":e.unref(D).DISABLED},null,8,["modelValue","active-value","inactive-value"])]),_:1}),e.createVNode(e.unref(E.FormItem),{label:"隐藏"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.Switch),{modelValue:p.hidden,"onUpdate:modelValue":N[10]||(N[10]=f=>p.hidden=f)},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(E.FormItem),{label:"缓存"},{default:e.withCtx(()=>[e.createVNode(e.unref(E.Switch),{modelValue:p.keepAlive,"onUpdate:modelValue":N[11]||(N[11]=f=>p.keepAlive=f)},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])]))}}),[["__scopeId","data-v-2a272a68"]])},Symbol.toStringTag,{value:"Module"}));c.Footer=Ml,c.Forbidden=Kl,c.Gender=pt,c.GenderOptions=xa,c.GenderText=Ca,c.Header=lt,c.Layout=Oe,c.Login=rt,c.MenuType=j,c.MenuTypeOptions=ut,c.MenuTypeText=Ba,c.NotFound=it,c.Sidebar=Pe,c.Status=D,c.StatusOptions=Ye,c.StatusText=wa,c.Tabs=Il,c.appConfig=kt,c.batchDeleteUsers=ka,c.clearToken=ie,c.createLayoutRoute=ta,c.createMenu=da,c.createRole=aa,c.createRouter=na,c.createUser=ga,c.createXtoApp=Sa,c.defaultDynamicRoutes=Zl,c.deleteMenu=pa,c.deleteRole=ra,c.deleteUser=Va,c.getApiBaseUrl=Xe,c.getAppId=ue,c.getClientId=$e,c.getCode=Bt,c.getMenuList=ca,c.getMenuTree=mt,c.getRefreshTime=Ct,c.getRefreshToken=wt,c.getRoleDetail=la,c.getRoleList=oa,c.getToken=ge,c.getTokenExpire=ve,c.getTokenType=Je,c.getUserDetail=_a,c.getUserInfo=st,c.getUserList=ha,c.hasPermission=Hl,c.hasRole=Jl,c.hasToken=Re,c.http=A,c.initAppConfig=We,c.isAdmin=Ql,c.isTokenExpired=ot,c.layoutRoute=je,c.local=$,c.localStorageUtil=he,c.login=at,c.logout=Ul,c.mockMenuData=dt,c.permissionDirective=ba,c.refreshToken=zl,c.resetPassword=ya,c.resetRouter=ea,c.router=Ke,c.session=Et,c.sessionStorageUtil=_e,c.setCode=nt,c.setRefreshTime=tt,c.setRefreshToken=Ze,c.setToken=He,c.setTokenExpire=et,c.setTokenInfo=Fe,c.setTokenType=Qe,c.setupRouterGuards=fa,c.staticRoutes=qe,c.updateMenu=ma,c.updateRole=sa,c.updateRoleStatus=ia,c.updateUser=Na,c.updateUserStatus=Ea,c.useApp=Yl,c.useAppStore=ee,c.useAuth=Wl,c.useAuthStore=ce,c.useForm=Xl,c.useMenuStore=oe,c.useTable=Gl,c.useUserStore=X,Object.defineProperty(c,Symbol.toStringTag,{value:"Module"})});