xto-fronted 0.4.84 → 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
@@ -0,0 +1,345 @@
1
+ import { defineComponent as j, ref as p, reactive as z, computed as q, onMounted as K, openBlock as V, createElementBlock as k, createVNode as t, unref as l, withCtx as o, withKeys as G, createTextVNode as i, createElementVNode as s, Fragment as H, renderList as J, toDisplayString as y } from "vue";
2
+ import { Form as N, FormItem as f, Input as E, Select as Q, Switch as W } from "@xto/form";
3
+ import { Card as x, Tag as A, Pagination as X } from "@xto/data";
4
+ import { Popconfirm as Y, Modal as Z, Message as U } from "@xto/feedback";
5
+ import { Space as S, Button as v } from "@xto/base";
6
+ import { S as r, a as h, _ as ee } from "./index-HMYRCPrs.js";
7
+ const le = { class: "role-page" }, te = { class: "toolbar" }, ae = { class: "data-table" }, oe = { key: 0 }, se = { key: 1 }, ne = { class: "pagination-wrapper" }, de = /* @__PURE__ */ j({
8
+ __name: "index",
9
+ setup(ue) {
10
+ const T = [
11
+ { id: 1, name: "超级管理员", code: "admin", description: "拥有所有权限", status: r.ENABLED, permissions: ["*"], createTime: "2024-01-01 10:00:00" },
12
+ { id: 2, name: "编辑", code: "editor", description: "内容编辑权限", status: r.ENABLED, permissions: ["user:read", "user:write"], createTime: "2024-01-02 10:00:00" },
13
+ { id: 3, name: "访客", code: "viewer", description: "只读权限", status: r.ENABLED, permissions: ["user:read"], createTime: "2024-01-03 10:00:00" }
14
+ ], C = p(!1), D = p([]), B = p(0), c = p(1), b = p(10), u = z({
15
+ keyword: "",
16
+ status: void 0
17
+ }), g = p(!1), w = q(() => n.id ? "编辑角色" : "新增角色"), n = z({
18
+ id: 0,
19
+ name: "",
20
+ code: "",
21
+ description: "",
22
+ status: r.ENABLED,
23
+ permissions: []
24
+ }), I = {
25
+ name: [
26
+ { required: !0, message: "请输入角色名称", trigger: "blur" }
27
+ ],
28
+ code: [
29
+ { required: !0, message: "请输入角色编码", trigger: "blur" }
30
+ ]
31
+ }, L = p(), m = () => {
32
+ C.value = !0, setTimeout(() => {
33
+ let d = [...T];
34
+ u.keyword && (d = d.filter(
35
+ (e) => e.name.includes(u.keyword) || e.code.includes(u.keyword)
36
+ )), u.status !== void 0 && (d = d.filter((e) => e.status === u.status)), B.value = d.length, D.value = d.slice((c.value - 1) * b.value, c.value * b.value), C.value = !1;
37
+ }, 300);
38
+ }, _ = () => {
39
+ c.value = 1, m();
40
+ }, R = () => {
41
+ u.keyword = "", u.status = void 0, c.value = 1, m();
42
+ }, F = () => {
43
+ Object.assign(n, {
44
+ id: 0,
45
+ name: "",
46
+ code: "",
47
+ description: "",
48
+ status: r.ENABLED,
49
+ permissions: []
50
+ }), g.value = !0;
51
+ }, P = (d) => {
52
+ Object.assign(n, d), g.value = !0;
53
+ }, M = (d) => {
54
+ U.success("删除成功"), m();
55
+ }, O = async () => {
56
+ var d;
57
+ try {
58
+ await ((d = L.value) == null ? void 0 : d.validate()), U.success(n.id ? "编辑成功" : "新增成功"), g.value = !1, m();
59
+ } catch (e) {
60
+ console.error(e);
61
+ }
62
+ };
63
+ return K(() => {
64
+ m();
65
+ }), (d, e) => (V(), k("div", le, [
66
+ t(l(x), { class: "search-card" }, {
67
+ default: o(() => [
68
+ t(l(N), {
69
+ model: u,
70
+ inline: ""
71
+ }, {
72
+ default: o(() => [
73
+ t(l(f), { label: "关键词" }, {
74
+ default: o(() => [
75
+ t(l(E), {
76
+ modelValue: u.keyword,
77
+ "onUpdate:modelValue": e[0] || (e[0] = (a) => u.keyword = a),
78
+ placeholder: "角色名称/编码",
79
+ clearable: "",
80
+ onKeyup: G(_, ["enter"])
81
+ }, null, 8, ["modelValue"])
82
+ ]),
83
+ _: 1
84
+ }),
85
+ t(l(f), { label: "状态" }, {
86
+ default: o(() => [
87
+ t(l(Q), {
88
+ modelValue: u.status,
89
+ "onUpdate:modelValue": e[1] || (e[1] = (a) => u.status = a),
90
+ options: l(h),
91
+ placeholder: "请选择",
92
+ clearable: ""
93
+ }, null, 8, ["modelValue", "options"])
94
+ ]),
95
+ _: 1
96
+ }),
97
+ t(l(f), null, {
98
+ default: o(() => [
99
+ t(l(S), null, {
100
+ default: o(() => [
101
+ t(l(v), {
102
+ type: "primary",
103
+ onClick: _
104
+ }, {
105
+ default: o(() => [...e[10] || (e[10] = [
106
+ i("搜索", -1)
107
+ ])]),
108
+ _: 1
109
+ }),
110
+ t(l(v), { onClick: R }, {
111
+ default: o(() => [...e[11] || (e[11] = [
112
+ i("重置", -1)
113
+ ])]),
114
+ _: 1
115
+ })
116
+ ]),
117
+ _: 1
118
+ })
119
+ ]),
120
+ _: 1
121
+ })
122
+ ]),
123
+ _: 1
124
+ }, 8, ["model"])
125
+ ]),
126
+ _: 1
127
+ }),
128
+ t(l(x), { class: "table-card" }, {
129
+ default: o(() => [
130
+ s("div", te, [
131
+ t(l(v), {
132
+ type: "primary",
133
+ onClick: F
134
+ }, {
135
+ default: o(() => [...e[12] || (e[12] = [
136
+ i("新增角色", -1)
137
+ ])]),
138
+ _: 1
139
+ })
140
+ ]),
141
+ s("table", ae, [
142
+ e[17] || (e[17] = s("thead", null, [
143
+ s("tr", null, [
144
+ s("th", null, "ID"),
145
+ s("th", null, "角色名称"),
146
+ s("th", null, "角色编码"),
147
+ s("th", null, "描述"),
148
+ s("th", null, "状态"),
149
+ s("th", null, "创建时间"),
150
+ s("th", null, "操作")
151
+ ])
152
+ ], -1)),
153
+ s("tbody", null, [
154
+ C.value ? (V(), k("tr", oe, [...e[13] || (e[13] = [
155
+ s("td", {
156
+ colspan: "7",
157
+ class: "loading-cell"
158
+ }, "加载中...", -1)
159
+ ])])) : D.value.length === 0 ? (V(), k("tr", se, [...e[14] || (e[14] = [
160
+ s("td", {
161
+ colspan: "7",
162
+ class: "empty-cell"
163
+ }, "暂无数据", -1)
164
+ ])])) : (V(!0), k(H, { key: 2 }, J(D.value, (a) => (V(), k("tr", {
165
+ key: a.id
166
+ }, [
167
+ s("td", null, y(a.id), 1),
168
+ s("td", null, y(a.name), 1),
169
+ s("td", null, [
170
+ t(l(A), {
171
+ type: "primary",
172
+ size: "small"
173
+ }, {
174
+ default: o(() => [
175
+ i(y(a.code), 1)
176
+ ]),
177
+ _: 2
178
+ }, 1024)
179
+ ]),
180
+ s("td", null, y(a.description), 1),
181
+ s("td", null, [
182
+ t(l(A), {
183
+ type: a.status === l(r).ENABLED ? "success" : "danger",
184
+ size: "small"
185
+ }, {
186
+ default: o(() => [
187
+ i(y(a.status === l(r).ENABLED ? "启用" : "禁用"), 1)
188
+ ]),
189
+ _: 2
190
+ }, 1032, ["type"])
191
+ ]),
192
+ s("td", null, y(a.createTime), 1),
193
+ s("td", null, [
194
+ t(l(S), null, {
195
+ default: o(() => [
196
+ t(l(v), {
197
+ type: "primary",
198
+ link: "",
199
+ size: "small",
200
+ onClick: ($) => P(a)
201
+ }, {
202
+ default: o(() => [...e[15] || (e[15] = [
203
+ i("编辑", -1)
204
+ ])]),
205
+ _: 1
206
+ }, 8, ["onClick"]),
207
+ t(l(Y), {
208
+ title: "确定删除该角色吗?",
209
+ onConfirm: ($) => M(a.id)
210
+ }, {
211
+ default: o(() => [
212
+ t(l(v), {
213
+ type: "danger",
214
+ link: "",
215
+ size: "small"
216
+ }, {
217
+ default: o(() => [...e[16] || (e[16] = [
218
+ i("删除", -1)
219
+ ])]),
220
+ _: 1
221
+ })
222
+ ]),
223
+ _: 1
224
+ }, 8, ["onConfirm"])
225
+ ]),
226
+ _: 2
227
+ }, 1024)
228
+ ])
229
+ ]))), 128))
230
+ ])
231
+ ]),
232
+ s("div", ne, [
233
+ t(l(X), {
234
+ "current-page": c.value,
235
+ "onUpdate:currentPage": e[2] || (e[2] = (a) => c.value = a),
236
+ "page-size": b.value,
237
+ "onUpdate:pageSize": e[3] || (e[3] = (a) => b.value = a),
238
+ total: B.value,
239
+ "page-sizes": [10, 20, 50, 100],
240
+ layout: "total, sizes, prev, pager, next",
241
+ onCurrentChange: m,
242
+ onSizeChange: m
243
+ }, null, 8, ["current-page", "page-size", "total"])
244
+ ])
245
+ ]),
246
+ _: 1
247
+ }),
248
+ t(l(Z), {
249
+ modelValue: g.value,
250
+ "onUpdate:modelValue": e[9] || (e[9] = (a) => g.value = a),
251
+ title: w.value,
252
+ width: "500px"
253
+ }, {
254
+ footer: o(() => [
255
+ t(l(S), null, {
256
+ default: o(() => [
257
+ t(l(v), {
258
+ onClick: e[8] || (e[8] = (a) => g.value = !1)
259
+ }, {
260
+ default: o(() => [...e[18] || (e[18] = [
261
+ i("取消", -1)
262
+ ])]),
263
+ _: 1
264
+ }),
265
+ t(l(v), {
266
+ type: "primary",
267
+ onClick: O
268
+ }, {
269
+ default: o(() => [...e[19] || (e[19] = [
270
+ i("确定", -1)
271
+ ])]),
272
+ _: 1
273
+ })
274
+ ]),
275
+ _: 1
276
+ })
277
+ ]),
278
+ default: o(() => [
279
+ t(l(N), {
280
+ ref_key: "formRef",
281
+ ref: L,
282
+ model: n,
283
+ rules: I,
284
+ "label-width": "80px"
285
+ }, {
286
+ default: o(() => [
287
+ t(l(f), {
288
+ label: "角色名称",
289
+ prop: "name"
290
+ }, {
291
+ default: o(() => [
292
+ t(l(E), {
293
+ modelValue: n.name,
294
+ "onUpdate:modelValue": e[4] || (e[4] = (a) => n.name = a),
295
+ placeholder: "请输入角色名称"
296
+ }, null, 8, ["modelValue"])
297
+ ]),
298
+ _: 1
299
+ }),
300
+ t(l(f), {
301
+ label: "角色编码",
302
+ prop: "code"
303
+ }, {
304
+ default: o(() => [
305
+ t(l(E), {
306
+ modelValue: n.code,
307
+ "onUpdate:modelValue": e[5] || (e[5] = (a) => n.code = a),
308
+ placeholder: "请输入角色编码"
309
+ }, null, 8, ["modelValue"])
310
+ ]),
311
+ _: 1
312
+ }),
313
+ t(l(f), { label: "描述" }, {
314
+ default: o(() => [
315
+ t(l(E), {
316
+ modelValue: n.description,
317
+ "onUpdate:modelValue": e[6] || (e[6] = (a) => n.description = a),
318
+ placeholder: "请输入描述"
319
+ }, null, 8, ["modelValue"])
320
+ ]),
321
+ _: 1
322
+ }),
323
+ t(l(f), { label: "状态" }, {
324
+ default: o(() => [
325
+ t(l(W), {
326
+ modelValue: n.status,
327
+ "onUpdate:modelValue": e[7] || (e[7] = (a) => n.status = a),
328
+ "active-value": l(r).ENABLED,
329
+ "inactive-value": l(r).DISABLED
330
+ }, null, 8, ["modelValue", "active-value", "inactive-value"])
331
+ ]),
332
+ _: 1
333
+ })
334
+ ]),
335
+ _: 1
336
+ }, 8, ["model"])
337
+ ]),
338
+ _: 1
339
+ }, 8, ["modelValue", "title"])
340
+ ]));
341
+ }
342
+ }), ce = /* @__PURE__ */ ee(de, [["__scopeId", "data-v-8ad30bc6"]]);
343
+ export {
344
+ ce as default
345
+ };
@@ -0,0 +1,345 @@
1
+ import { defineComponent as j, ref as p, reactive as z, computed as q, onMounted as K, openBlock as V, createElementBlock as k, createVNode as t, unref as l, withCtx as o, withKeys as G, createTextVNode as i, createElementVNode as s, Fragment as H, renderList as J, toDisplayString as y } from "vue";
2
+ import { Form as N, FormItem as f, Input as E, Select as Q, Switch as W } from "@xto/form";
3
+ import { Card as x, Tag as A, Pagination as X } from "@xto/data";
4
+ import { Popconfirm as Y, Modal as Z, Message as U } from "@xto/feedback";
5
+ import { Space as S, Button as v } from "@xto/base";
6
+ import { S as r, a as h, _ as ee } from "./index-Dw8KZwGJ.js";
7
+ const le = { class: "role-page" }, te = { class: "toolbar" }, ae = { class: "data-table" }, oe = { key: 0 }, se = { key: 1 }, ne = { class: "pagination-wrapper" }, de = /* @__PURE__ */ j({
8
+ __name: "index",
9
+ setup(ue) {
10
+ const T = [
11
+ { id: 1, name: "超级管理员", code: "admin", description: "拥有所有权限", status: r.ENABLED, permissions: ["*"], createTime: "2024-01-01 10:00:00" },
12
+ { id: 2, name: "编辑", code: "editor", description: "内容编辑权限", status: r.ENABLED, permissions: ["user:read", "user:write"], createTime: "2024-01-02 10:00:00" },
13
+ { id: 3, name: "访客", code: "viewer", description: "只读权限", status: r.ENABLED, permissions: ["user:read"], createTime: "2024-01-03 10:00:00" }
14
+ ], C = p(!1), D = p([]), B = p(0), c = p(1), b = p(10), u = z({
15
+ keyword: "",
16
+ status: void 0
17
+ }), g = p(!1), w = q(() => n.id ? "编辑角色" : "新增角色"), n = z({
18
+ id: 0,
19
+ name: "",
20
+ code: "",
21
+ description: "",
22
+ status: r.ENABLED,
23
+ permissions: []
24
+ }), I = {
25
+ name: [
26
+ { required: !0, message: "请输入角色名称", trigger: "blur" }
27
+ ],
28
+ code: [
29
+ { required: !0, message: "请输入角色编码", trigger: "blur" }
30
+ ]
31
+ }, L = p(), m = () => {
32
+ C.value = !0, setTimeout(() => {
33
+ let d = [...T];
34
+ u.keyword && (d = d.filter(
35
+ (e) => e.name.includes(u.keyword) || e.code.includes(u.keyword)
36
+ )), u.status !== void 0 && (d = d.filter((e) => e.status === u.status)), B.value = d.length, D.value = d.slice((c.value - 1) * b.value, c.value * b.value), C.value = !1;
37
+ }, 300);
38
+ }, _ = () => {
39
+ c.value = 1, m();
40
+ }, R = () => {
41
+ u.keyword = "", u.status = void 0, c.value = 1, m();
42
+ }, F = () => {
43
+ Object.assign(n, {
44
+ id: 0,
45
+ name: "",
46
+ code: "",
47
+ description: "",
48
+ status: r.ENABLED,
49
+ permissions: []
50
+ }), g.value = !0;
51
+ }, P = (d) => {
52
+ Object.assign(n, d), g.value = !0;
53
+ }, M = (d) => {
54
+ U.success("删除成功"), m();
55
+ }, O = async () => {
56
+ var d;
57
+ try {
58
+ await ((d = L.value) == null ? void 0 : d.validate()), U.success(n.id ? "编辑成功" : "新增成功"), g.value = !1, m();
59
+ } catch (e) {
60
+ console.error(e);
61
+ }
62
+ };
63
+ return K(() => {
64
+ m();
65
+ }), (d, e) => (V(), k("div", le, [
66
+ t(l(x), { class: "search-card" }, {
67
+ default: o(() => [
68
+ t(l(N), {
69
+ model: u,
70
+ inline: ""
71
+ }, {
72
+ default: o(() => [
73
+ t(l(f), { label: "关键词" }, {
74
+ default: o(() => [
75
+ t(l(E), {
76
+ modelValue: u.keyword,
77
+ "onUpdate:modelValue": e[0] || (e[0] = (a) => u.keyword = a),
78
+ placeholder: "角色名称/编码",
79
+ clearable: "",
80
+ onKeyup: G(_, ["enter"])
81
+ }, null, 8, ["modelValue"])
82
+ ]),
83
+ _: 1
84
+ }),
85
+ t(l(f), { label: "状态" }, {
86
+ default: o(() => [
87
+ t(l(Q), {
88
+ modelValue: u.status,
89
+ "onUpdate:modelValue": e[1] || (e[1] = (a) => u.status = a),
90
+ options: l(h),
91
+ placeholder: "请选择",
92
+ clearable: ""
93
+ }, null, 8, ["modelValue", "options"])
94
+ ]),
95
+ _: 1
96
+ }),
97
+ t(l(f), null, {
98
+ default: o(() => [
99
+ t(l(S), null, {
100
+ default: o(() => [
101
+ t(l(v), {
102
+ type: "primary",
103
+ onClick: _
104
+ }, {
105
+ default: o(() => [...e[10] || (e[10] = [
106
+ i("搜索", -1)
107
+ ])]),
108
+ _: 1
109
+ }),
110
+ t(l(v), { onClick: R }, {
111
+ default: o(() => [...e[11] || (e[11] = [
112
+ i("重置", -1)
113
+ ])]),
114
+ _: 1
115
+ })
116
+ ]),
117
+ _: 1
118
+ })
119
+ ]),
120
+ _: 1
121
+ })
122
+ ]),
123
+ _: 1
124
+ }, 8, ["model"])
125
+ ]),
126
+ _: 1
127
+ }),
128
+ t(l(x), { class: "table-card" }, {
129
+ default: o(() => [
130
+ s("div", te, [
131
+ t(l(v), {
132
+ type: "primary",
133
+ onClick: F
134
+ }, {
135
+ default: o(() => [...e[12] || (e[12] = [
136
+ i("新增角色", -1)
137
+ ])]),
138
+ _: 1
139
+ })
140
+ ]),
141
+ s("table", ae, [
142
+ e[17] || (e[17] = s("thead", null, [
143
+ s("tr", null, [
144
+ s("th", null, "ID"),
145
+ s("th", null, "角色名称"),
146
+ s("th", null, "角色编码"),
147
+ s("th", null, "描述"),
148
+ s("th", null, "状态"),
149
+ s("th", null, "创建时间"),
150
+ s("th", null, "操作")
151
+ ])
152
+ ], -1)),
153
+ s("tbody", null, [
154
+ C.value ? (V(), k("tr", oe, [...e[13] || (e[13] = [
155
+ s("td", {
156
+ colspan: "7",
157
+ class: "loading-cell"
158
+ }, "加载中...", -1)
159
+ ])])) : D.value.length === 0 ? (V(), k("tr", se, [...e[14] || (e[14] = [
160
+ s("td", {
161
+ colspan: "7",
162
+ class: "empty-cell"
163
+ }, "暂无数据", -1)
164
+ ])])) : (V(!0), k(H, { key: 2 }, J(D.value, (a) => (V(), k("tr", {
165
+ key: a.id
166
+ }, [
167
+ s("td", null, y(a.id), 1),
168
+ s("td", null, y(a.name), 1),
169
+ s("td", null, [
170
+ t(l(A), {
171
+ type: "primary",
172
+ size: "small"
173
+ }, {
174
+ default: o(() => [
175
+ i(y(a.code), 1)
176
+ ]),
177
+ _: 2
178
+ }, 1024)
179
+ ]),
180
+ s("td", null, y(a.description), 1),
181
+ s("td", null, [
182
+ t(l(A), {
183
+ type: a.status === l(r).ENABLED ? "success" : "danger",
184
+ size: "small"
185
+ }, {
186
+ default: o(() => [
187
+ i(y(a.status === l(r).ENABLED ? "启用" : "禁用"), 1)
188
+ ]),
189
+ _: 2
190
+ }, 1032, ["type"])
191
+ ]),
192
+ s("td", null, y(a.createTime), 1),
193
+ s("td", null, [
194
+ t(l(S), null, {
195
+ default: o(() => [
196
+ t(l(v), {
197
+ type: "primary",
198
+ link: "",
199
+ size: "small",
200
+ onClick: ($) => P(a)
201
+ }, {
202
+ default: o(() => [...e[15] || (e[15] = [
203
+ i("编辑", -1)
204
+ ])]),
205
+ _: 1
206
+ }, 8, ["onClick"]),
207
+ t(l(Y), {
208
+ title: "确定删除该角色吗?",
209
+ onConfirm: ($) => M(a.id)
210
+ }, {
211
+ default: o(() => [
212
+ t(l(v), {
213
+ type: "danger",
214
+ link: "",
215
+ size: "small"
216
+ }, {
217
+ default: o(() => [...e[16] || (e[16] = [
218
+ i("删除", -1)
219
+ ])]),
220
+ _: 1
221
+ })
222
+ ]),
223
+ _: 1
224
+ }, 8, ["onConfirm"])
225
+ ]),
226
+ _: 2
227
+ }, 1024)
228
+ ])
229
+ ]))), 128))
230
+ ])
231
+ ]),
232
+ s("div", ne, [
233
+ t(l(X), {
234
+ "current-page": c.value,
235
+ "onUpdate:currentPage": e[2] || (e[2] = (a) => c.value = a),
236
+ "page-size": b.value,
237
+ "onUpdate:pageSize": e[3] || (e[3] = (a) => b.value = a),
238
+ total: B.value,
239
+ "page-sizes": [10, 20, 50, 100],
240
+ layout: "total, sizes, prev, pager, next",
241
+ onCurrentChange: m,
242
+ onSizeChange: m
243
+ }, null, 8, ["current-page", "page-size", "total"])
244
+ ])
245
+ ]),
246
+ _: 1
247
+ }),
248
+ t(l(Z), {
249
+ modelValue: g.value,
250
+ "onUpdate:modelValue": e[9] || (e[9] = (a) => g.value = a),
251
+ title: w.value,
252
+ width: "500px"
253
+ }, {
254
+ footer: o(() => [
255
+ t(l(S), null, {
256
+ default: o(() => [
257
+ t(l(v), {
258
+ onClick: e[8] || (e[8] = (a) => g.value = !1)
259
+ }, {
260
+ default: o(() => [...e[18] || (e[18] = [
261
+ i("取消", -1)
262
+ ])]),
263
+ _: 1
264
+ }),
265
+ t(l(v), {
266
+ type: "primary",
267
+ onClick: O
268
+ }, {
269
+ default: o(() => [...e[19] || (e[19] = [
270
+ i("确定", -1)
271
+ ])]),
272
+ _: 1
273
+ })
274
+ ]),
275
+ _: 1
276
+ })
277
+ ]),
278
+ default: o(() => [
279
+ t(l(N), {
280
+ ref_key: "formRef",
281
+ ref: L,
282
+ model: n,
283
+ rules: I,
284
+ "label-width": "80px"
285
+ }, {
286
+ default: o(() => [
287
+ t(l(f), {
288
+ label: "角色名称",
289
+ prop: "name"
290
+ }, {
291
+ default: o(() => [
292
+ t(l(E), {
293
+ modelValue: n.name,
294
+ "onUpdate:modelValue": e[4] || (e[4] = (a) => n.name = a),
295
+ placeholder: "请输入角色名称"
296
+ }, null, 8, ["modelValue"])
297
+ ]),
298
+ _: 1
299
+ }),
300
+ t(l(f), {
301
+ label: "角色编码",
302
+ prop: "code"
303
+ }, {
304
+ default: o(() => [
305
+ t(l(E), {
306
+ modelValue: n.code,
307
+ "onUpdate:modelValue": e[5] || (e[5] = (a) => n.code = a),
308
+ placeholder: "请输入角色编码"
309
+ }, null, 8, ["modelValue"])
310
+ ]),
311
+ _: 1
312
+ }),
313
+ t(l(f), { label: "描述" }, {
314
+ default: o(() => [
315
+ t(l(E), {
316
+ modelValue: n.description,
317
+ "onUpdate:modelValue": e[6] || (e[6] = (a) => n.description = a),
318
+ placeholder: "请输入描述"
319
+ }, null, 8, ["modelValue"])
320
+ ]),
321
+ _: 1
322
+ }),
323
+ t(l(f), { label: "状态" }, {
324
+ default: o(() => [
325
+ t(l(W), {
326
+ modelValue: n.status,
327
+ "onUpdate:modelValue": e[7] || (e[7] = (a) => n.status = a),
328
+ "active-value": l(r).ENABLED,
329
+ "inactive-value": l(r).DISABLED
330
+ }, null, 8, ["modelValue", "active-value", "inactive-value"])
331
+ ]),
332
+ _: 1
333
+ })
334
+ ]),
335
+ _: 1
336
+ }, 8, ["model"])
337
+ ]),
338
+ _: 1
339
+ }, 8, ["modelValue", "title"])
340
+ ]));
341
+ }
342
+ }), ce = /* @__PURE__ */ ee(de, [["__scopeId", "data-v-8ad30bc6"]]);
343
+ export {
344
+ ce as default
345
+ };