smart-admin-web 10.5.0

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 (718) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +78 -0
  3. package/dist/App.vue.d.ts +3 -0
  4. package/dist/App.vue.js +54 -0
  5. package/dist/App.vue.js.map +1 -0
  6. package/dist/App2.vue.js +5 -0
  7. package/dist/App2.vue.js.map +1 -0
  8. package/dist/_virtual/_plugin-vue_export-helper.js +10 -0
  9. package/dist/_virtual/_plugin-vue_export-helper.js.map +1 -0
  10. package/dist/api/client.d.ts +29 -0
  11. package/dist/api/client.js +139 -0
  12. package/dist/api/client.js.map +1 -0
  13. package/dist/api/index.d.ts +672 -0
  14. package/dist/api/index.js +638 -0
  15. package/dist/api/index.js.map +1 -0
  16. package/dist/api/reauthGate.d.ts +16 -0
  17. package/dist/api/reauthGate.js +21 -0
  18. package/dist/api/reauthGate.js.map +1 -0
  19. package/dist/api/schema.d.ts +10230 -0
  20. package/dist/assets/icons/ph-subset.json.js +16 -0
  21. package/dist/assets/icons/ph-subset.json.js.map +1 -0
  22. package/dist/assets/oauth/dingtalk.svg.js +5 -0
  23. package/dist/assets/oauth/dingtalk.svg.js.map +1 -0
  24. package/dist/assets/oauth/gitee.svg.js +5 -0
  25. package/dist/assets/oauth/gitee.svg.js.map +1 -0
  26. package/dist/assets/oauth/github.svg.js +5 -0
  27. package/dist/assets/oauth/github.svg.js.map +1 -0
  28. package/dist/assets/oauth/qq.svg.js +5 -0
  29. package/dist/assets/oauth/qq.svg.js.map +1 -0
  30. package/dist/assets/oauth/wechat.svg.js +5 -0
  31. package/dist/assets/oauth/wechat.svg.js.map +1 -0
  32. package/dist/assets/oauth/wecom.svg.js +5 -0
  33. package/dist/assets/oauth/wecom.svg.js.map +1 -0
  34. package/dist/assets/svg/star.svg.js +6 -0
  35. package/dist/assets/svg/star.svg.js.map +1 -0
  36. package/dist/components/ApiSelect/index.vue.d.ts +22 -0
  37. package/dist/components/ApiSelect/index.vue.js +50 -0
  38. package/dist/components/ApiSelect/index.vue.js.map +1 -0
  39. package/dist/components/ApiSelect/index2.vue.js +5 -0
  40. package/dist/components/ApiSelect/index2.vue.js.map +1 -0
  41. package/dist/components/AppIcon.vue.d.ts +7 -0
  42. package/dist/components/AppIcon.vue.js +33 -0
  43. package/dist/components/AppIcon.vue.js.map +1 -0
  44. package/dist/components/AppIcon2.vue.js +5 -0
  45. package/dist/components/AppIcon2.vue.js.map +1 -0
  46. package/dist/components/Chart/BarChart.vue.d.ts +13 -0
  47. package/dist/components/Chart/BarChart.vue.js +27 -0
  48. package/dist/components/Chart/BarChart.vue.js.map +1 -0
  49. package/dist/components/Chart/BarChart2.vue.js +5 -0
  50. package/dist/components/Chart/BarChart2.vue.js.map +1 -0
  51. package/dist/components/Chart/LineChart.vue.d.ts +15 -0
  52. package/dist/components/Chart/LineChart.vue.js +33 -0
  53. package/dist/components/Chart/LineChart.vue.js.map +1 -0
  54. package/dist/components/Chart/LineChart2.vue.js +5 -0
  55. package/dist/components/Chart/LineChart2.vue.js.map +1 -0
  56. package/dist/components/Chart/PieChart.vue.d.ts +14 -0
  57. package/dist/components/Chart/PieChart.vue.js +31 -0
  58. package/dist/components/Chart/PieChart.vue.js.map +1 -0
  59. package/dist/components/Chart/PieChart2.vue.js +5 -0
  60. package/dist/components/Chart/PieChart2.vue.js.map +1 -0
  61. package/dist/components/Chart/echarts.d.ts +57 -0
  62. package/dist/components/Chart/echarts.js +47 -0
  63. package/dist/components/Chart/echarts.js.map +1 -0
  64. package/dist/components/Chart/index.vue.d.ts +12 -0
  65. package/dist/components/Chart/index.vue.js +8 -0
  66. package/dist/components/Chart/index.vue.js.map +1 -0
  67. package/dist/components/Chart/index2.vue.js +27 -0
  68. package/dist/components/Chart/index2.vue.js.map +1 -0
  69. package/dist/components/CodeBlock/index.vue.d.ts +17 -0
  70. package/dist/components/CodeBlock/index.vue.js +8 -0
  71. package/dist/components/CodeBlock/index.vue.js.map +1 -0
  72. package/dist/components/CodeBlock/index2.vue.js +48 -0
  73. package/dist/components/CodeBlock/index2.vue.js.map +1 -0
  74. package/dist/components/CronEditor/index.vue.d.ts +15 -0
  75. package/dist/components/CronEditor/index.vue.js +8 -0
  76. package/dist/components/CronEditor/index.vue.js.map +1 -0
  77. package/dist/components/CronEditor/index2.vue.js +528 -0
  78. package/dist/components/CronEditor/index2.vue.js.map +1 -0
  79. package/dist/components/DetailPage/index.vue.d.ts +26 -0
  80. package/dist/components/DetailPage/index.vue.js +8 -0
  81. package/dist/components/DetailPage/index.vue.js.map +1 -0
  82. package/dist/components/DetailPage/index2.vue.js +51 -0
  83. package/dist/components/DetailPage/index2.vue.js.map +1 -0
  84. package/dist/components/DictCheckbox/index.vue.d.ts +6 -0
  85. package/dist/components/DictCheckbox/index.vue.js +43 -0
  86. package/dist/components/DictCheckbox/index.vue.js.map +1 -0
  87. package/dist/components/DictCheckbox/index2.vue.js +5 -0
  88. package/dist/components/DictCheckbox/index2.vue.js.map +1 -0
  89. package/dist/components/DictRadio/index.vue.d.ts +6 -0
  90. package/dist/components/DictRadio/index.vue.js +38 -0
  91. package/dist/components/DictRadio/index.vue.js.map +1 -0
  92. package/dist/components/DictRadio/index2.vue.js +5 -0
  93. package/dist/components/DictRadio/index2.vue.js.map +1 -0
  94. package/dist/components/DictSelect/index.vue.d.ts +6 -0
  95. package/dist/components/DictSelect/index.vue.js +37 -0
  96. package/dist/components/DictSelect/index.vue.js.map +1 -0
  97. package/dist/components/DictSelect/index2.vue.js +5 -0
  98. package/dist/components/DictSelect/index2.vue.js.map +1 -0
  99. package/dist/components/DictTag/index.vue.d.ts +10 -0
  100. package/dist/components/DictTag/index.vue.js +48 -0
  101. package/dist/components/DictTag/index.vue.js.map +1 -0
  102. package/dist/components/DictTag/index2.vue.js +5 -0
  103. package/dist/components/DictTag/index2.vue.js.map +1 -0
  104. package/dist/components/ErrorBoundary/index.vue.d.ts +13 -0
  105. package/dist/components/ErrorBoundary/index.vue.js +8 -0
  106. package/dist/components/ErrorBoundary/index.vue.js.map +1 -0
  107. package/dist/components/ErrorBoundary/index2.vue.js +61 -0
  108. package/dist/components/ErrorBoundary/index2.vue.js.map +1 -0
  109. package/dist/components/ExportColumnsModal/index.vue.d.ts +19 -0
  110. package/dist/components/ExportColumnsModal/index.vue.js +8 -0
  111. package/dist/components/ExportColumnsModal/index.vue.js.map +1 -0
  112. package/dist/components/ExportColumnsModal/index2.vue.js +121 -0
  113. package/dist/components/ExportColumnsModal/index2.vue.js.map +1 -0
  114. package/dist/components/FileUpload/index.vue.d.ts +24 -0
  115. package/dist/components/FileUpload/index.vue.js +42 -0
  116. package/dist/components/FileUpload/index.vue.js.map +1 -0
  117. package/dist/components/FileUpload/index2.vue.js +5 -0
  118. package/dist/components/FileUpload/index2.vue.js.map +1 -0
  119. package/dist/components/FormContainer/index.vue.d.ts +51 -0
  120. package/dist/components/FormContainer/index.vue.js +160 -0
  121. package/dist/components/FormContainer/index.vue.js.map +1 -0
  122. package/dist/components/FormContainer/index3.vue.js +6 -0
  123. package/dist/components/FormContainer/index3.vue.js.map +1 -0
  124. package/dist/components/IconPicker/index.vue.d.ts +18 -0
  125. package/dist/components/IconPicker/index.vue.js +43 -0
  126. package/dist/components/IconPicker/index.vue.js.map +1 -0
  127. package/dist/components/IconPicker/index2.vue.js +5 -0
  128. package/dist/components/IconPicker/index2.vue.js.map +1 -0
  129. package/dist/components/ImportWizard/index.vue.d.ts +39 -0
  130. package/dist/components/ImportWizard/index.vue.js +8 -0
  131. package/dist/components/ImportWizard/index.vue.js.map +1 -0
  132. package/dist/components/ImportWizard/index2.vue.js +634 -0
  133. package/dist/components/ImportWizard/index2.vue.js.map +1 -0
  134. package/dist/components/JsonEditor/index.vue.d.ts +12 -0
  135. package/dist/components/JsonEditor/index.vue.js +87 -0
  136. package/dist/components/JsonEditor/index.vue.js.map +1 -0
  137. package/dist/components/JsonEditor/index2.vue.js +5 -0
  138. package/dist/components/JsonEditor/index2.vue.js.map +1 -0
  139. package/dist/components/MarkdownEditor/MarkdownView.vue.d.ts +6 -0
  140. package/dist/components/MarkdownEditor/MarkdownView.vue.js +33 -0
  141. package/dist/components/MarkdownEditor/MarkdownView.vue.js.map +1 -0
  142. package/dist/components/MarkdownEditor/MarkdownView2.vue.js +5 -0
  143. package/dist/components/MarkdownEditor/MarkdownView2.vue.js.map +1 -0
  144. package/dist/components/MarkdownEditor/index.vue.d.ts +10 -0
  145. package/dist/components/MarkdownEditor/index.vue.js +35 -0
  146. package/dist/components/MarkdownEditor/index.vue.js.map +1 -0
  147. package/dist/components/MarkdownEditor/index2.vue.js +5 -0
  148. package/dist/components/MarkdownEditor/index2.vue.js.map +1 -0
  149. package/dist/components/MenuSearch.vue.d.ts +10 -0
  150. package/dist/components/MenuSearch.vue.js +8 -0
  151. package/dist/components/MenuSearch.vue.js.map +1 -0
  152. package/dist/components/MenuSearch2.vue.js +121 -0
  153. package/dist/components/MenuSearch2.vue.js.map +1 -0
  154. package/dist/components/OrgTreeSelect/index.vue.d.ts +6 -0
  155. package/dist/components/OrgTreeSelect/index.vue.js +42 -0
  156. package/dist/components/OrgTreeSelect/index.vue.js.map +1 -0
  157. package/dist/components/OrgTreeSelect/index2.vue.js +5 -0
  158. package/dist/components/OrgTreeSelect/index2.vue.js.map +1 -0
  159. package/dist/components/PasswordStrength/index.vue.d.ts +6 -0
  160. package/dist/components/PasswordStrength/index.vue.js +8 -0
  161. package/dist/components/PasswordStrength/index.vue.js.map +1 -0
  162. package/dist/components/PasswordStrength/index2.vue.js +91 -0
  163. package/dist/components/PasswordStrength/index2.vue.js.map +1 -0
  164. package/dist/components/ReauthModal.vue.d.ts +3 -0
  165. package/dist/components/ReauthModal.vue.js +8 -0
  166. package/dist/components/ReauthModal.vue.js.map +1 -0
  167. package/dist/components/ReauthModal2.vue.js +139 -0
  168. package/dist/components/ReauthModal2.vue.js.map +1 -0
  169. package/dist/components/RoleSelect/index.vue.d.ts +8 -0
  170. package/dist/components/RoleSelect/index.vue.js +26 -0
  171. package/dist/components/RoleSelect/index.vue.js.map +1 -0
  172. package/dist/components/RoleSelect/index2.vue.js +5 -0
  173. package/dist/components/RoleSelect/index2.vue.js.map +1 -0
  174. package/dist/components/SelectTable/index.vue.d.ts +76 -0
  175. package/dist/components/SelectTable/index.vue.js +8 -0
  176. package/dist/components/SelectTable/index.vue.js.map +1 -0
  177. package/dist/components/SelectTable/index2.vue.js +256 -0
  178. package/dist/components/SelectTable/index2.vue.js.map +1 -0
  179. package/dist/components/SmartLogo.vue.d.ts +8 -0
  180. package/dist/components/SmartLogo.vue.js +8 -0
  181. package/dist/components/SmartLogo.vue.js.map +1 -0
  182. package/dist/components/SmartLogo2.vue.js +74 -0
  183. package/dist/components/SmartLogo2.vue.js.map +1 -0
  184. package/dist/components/StatusSwitch/index.vue.d.ts +21 -0
  185. package/dist/components/StatusSwitch/index.vue.js +45 -0
  186. package/dist/components/StatusSwitch/index.vue.js.map +1 -0
  187. package/dist/components/StatusSwitch/index2.vue.js +5 -0
  188. package/dist/components/StatusSwitch/index2.vue.js.map +1 -0
  189. package/dist/components/TableZoomButton/index.vue.d.ts +13 -0
  190. package/dist/components/TableZoomButton/index.vue.js +42 -0
  191. package/dist/components/TableZoomButton/index.vue.js.map +1 -0
  192. package/dist/components/TableZoomButton/index2.vue.js +5 -0
  193. package/dist/components/TableZoomButton/index2.vue.js.map +1 -0
  194. package/dist/components/UserPicker/index.vue.d.ts +13 -0
  195. package/dist/components/UserPicker/index.vue.js +8 -0
  196. package/dist/components/UserPicker/index.vue.js.map +1 -0
  197. package/dist/components/UserPicker/index2.vue.js +214 -0
  198. package/dist/components/UserPicker/index2.vue.js.map +1 -0
  199. package/dist/components/UserSelect/index.vue.d.ts +9 -0
  200. package/dist/components/UserSelect/index.vue.js +32 -0
  201. package/dist/components/UserSelect/index.vue.js.map +1 -0
  202. package/dist/components/UserSelect/index2.vue.js +5 -0
  203. package/dist/components/UserSelect/index2.vue.js.map +1 -0
  204. package/dist/components/oauth/BrandIcon.vue.d.ts +12 -0
  205. package/dist/components/oauth/BrandIcon.vue.js +8 -0
  206. package/dist/components/oauth/BrandIcon.vue.js.map +1 -0
  207. package/dist/components/oauth/BrandIcon2.vue.js +95 -0
  208. package/dist/components/oauth/BrandIcon2.vue.js.map +1 -0
  209. package/dist/composables/authMenuRoute.d.ts +32 -0
  210. package/dist/composables/authMenuRoute.js +37 -0
  211. package/dist/composables/authMenuRoute.js.map +1 -0
  212. package/dist/composables/clearClientCache.d.ts +10 -0
  213. package/dist/composables/clearClientCache.js +17 -0
  214. package/dist/composables/clearClientCache.js.map +1 -0
  215. package/dist/composables/useAuthMenu.d.ts +3 -0
  216. package/dist/composables/useAuthMenu.js +61 -0
  217. package/dist/composables/useAuthMenu.js.map +1 -0
  218. package/dist/composables/useBatchDelete.d.ts +18 -0
  219. package/dist/composables/useBatchDelete.js +21 -0
  220. package/dist/composables/useBatchDelete.js.map +1 -0
  221. package/dist/composables/useCompactScreen.d.ts +12 -0
  222. package/dist/composables/useCompactScreen.js +17 -0
  223. package/dist/composables/useCompactScreen.js.map +1 -0
  224. package/dist/composables/useConfirm.d.ts +18 -0
  225. package/dist/composables/useConfirm.js +61 -0
  226. package/dist/composables/useConfirm.js.map +1 -0
  227. package/dist/composables/useFullscreenToggle.d.ts +11 -0
  228. package/dist/composables/useFullscreenToggle.js +64 -0
  229. package/dist/composables/useFullscreenToggle.js.map +1 -0
  230. package/dist/composables/useHeaderTools.d.ts +31 -0
  231. package/dist/composables/useHeaderTools.js +15 -0
  232. package/dist/composables/useHeaderTools.js.map +1 -0
  233. package/dist/composables/useLayoutMenu.d.ts +17 -0
  234. package/dist/composables/useLayoutMenu.js +93 -0
  235. package/dist/composables/useLayoutMenu.js.map +1 -0
  236. package/dist/composables/useMenuBadge.d.ts +11 -0
  237. package/dist/composables/useMenuBadge.js +17 -0
  238. package/dist/composables/useMenuBadge.js.map +1 -0
  239. package/dist/composables/useMenuFlat.d.ts +8 -0
  240. package/dist/composables/useMenuFlat.js +29 -0
  241. package/dist/composables/useMenuFlat.js.map +1 -0
  242. package/dist/composables/useModule.d.ts +16 -0
  243. package/dist/composables/useModule.js +44 -0
  244. package/dist/composables/useModule.js.map +1 -0
  245. package/dist/composables/useNoticeAction.d.ts +8 -0
  246. package/dist/composables/useNoticeAction.js +79 -0
  247. package/dist/composables/useNoticeAction.js.map +1 -0
  248. package/dist/composables/usePageTitle.d.ts +1 -0
  249. package/dist/composables/usePageTitle.js +20 -0
  250. package/dist/composables/usePageTitle.js.map +1 -0
  251. package/dist/composables/useRealtime.d.ts +31 -0
  252. package/dist/composables/useRealtime.js +59 -0
  253. package/dist/composables/useRealtime.js.map +1 -0
  254. package/dist/composables/useSite.d.ts +24 -0
  255. package/dist/composables/useSite.js +27 -0
  256. package/dist/composables/useSite.js.map +1 -0
  257. package/dist/composables/useTabTitle.d.ts +1 -0
  258. package/dist/composables/useTabTitle.js +10 -0
  259. package/dist/composables/useTabTitle.js.map +1 -0
  260. package/dist/composables/useTableRowSort.d.ts +20 -0
  261. package/dist/composables/useTableRowSort.js +59 -0
  262. package/dist/composables/useTableRowSort.js.map +1 -0
  263. package/dist/composables/useTableZoom.d.ts +5 -0
  264. package/dist/composables/useTableZoom.js +30 -0
  265. package/dist/composables/useTableZoom.js.map +1 -0
  266. package/dist/composables/useTheme.d.ts +13 -0
  267. package/dist/composables/useTheme.js +30 -0
  268. package/dist/composables/useTheme.js.map +1 -0
  269. package/dist/composables/useVisualViewportHeight.d.ts +3 -0
  270. package/dist/composables/useVisualViewportHeight.js +16 -0
  271. package/dist/composables/useVisualViewportHeight.js.map +1 -0
  272. package/dist/createSmartAdmin.d.ts +56 -0
  273. package/dist/createSmartAdmin.js +76 -0
  274. package/dist/createSmartAdmin.js.map +1 -0
  275. package/dist/directives/auth.d.ts +16 -0
  276. package/dist/directives/auth.js +19 -0
  277. package/dist/directives/auth.js.map +1 -0
  278. package/dist/env.d.ts +10 -0
  279. package/dist/index.d.ts +90 -0
  280. package/dist/index.js +273 -0
  281. package/dist/index.js.map +1 -0
  282. package/dist/layouts/AppHeader.vue.d.ts +12 -0
  283. package/dist/layouts/AppHeader.vue.js +8 -0
  284. package/dist/layouts/AppHeader.vue.js.map +1 -0
  285. package/dist/layouts/AppHeader2.vue.js +352 -0
  286. package/dist/layouts/AppHeader2.vue.js.map +1 -0
  287. package/dist/layouts/LayoutModeCards.vue.d.ts +3 -0
  288. package/dist/layouts/LayoutModeCards.vue.js +8 -0
  289. package/dist/layouts/LayoutModeCards.vue.js.map +1 -0
  290. package/dist/layouts/LayoutModeCards2.vue.js +67 -0
  291. package/dist/layouts/LayoutModeCards2.vue.js.map +1 -0
  292. package/dist/layouts/NoticeBell.vue.d.ts +3 -0
  293. package/dist/layouts/NoticeBell.vue.js +8 -0
  294. package/dist/layouts/NoticeBell.vue.js.map +1 -0
  295. package/dist/layouts/NoticeBell2.vue.js +292 -0
  296. package/dist/layouts/NoticeBell2.vue.js.map +1 -0
  297. package/dist/layouts/PersonalLayout.vue.d.ts +3 -0
  298. package/dist/layouts/PersonalLayout.vue.js +8 -0
  299. package/dist/layouts/PersonalLayout.vue.js.map +1 -0
  300. package/dist/layouts/PersonalLayout2.vue.js +65 -0
  301. package/dist/layouts/PersonalLayout2.vue.js.map +1 -0
  302. package/dist/layouts/SettingRow.vue.d.ts +16 -0
  303. package/dist/layouts/SettingRow.vue.js +8 -0
  304. package/dist/layouts/SettingRow.vue.js.map +1 -0
  305. package/dist/layouts/SettingRow2.vue.js +23 -0
  306. package/dist/layouts/SettingRow2.vue.js.map +1 -0
  307. package/dist/layouts/SettingsDrawer.vue.d.ts +10 -0
  308. package/dist/layouts/SettingsDrawer.vue.js +8 -0
  309. package/dist/layouts/SettingsDrawer.vue.js.map +1 -0
  310. package/dist/layouts/SettingsDrawer2.vue.js +380 -0
  311. package/dist/layouts/SettingsDrawer2.vue.js.map +1 -0
  312. package/dist/layouts/TabsBar.vue.d.ts +3 -0
  313. package/dist/layouts/TabsBar.vue.js +8 -0
  314. package/dist/layouts/TabsBar.vue.js.map +1 -0
  315. package/dist/layouts/TabsBar2.vue.js +132 -0
  316. package/dist/layouts/TabsBar2.vue.js.map +1 -0
  317. package/dist/layouts/components/SideNav.vue.d.ts +15 -0
  318. package/dist/layouts/components/SideNav.vue.js +8 -0
  319. package/dist/layouts/components/SideNav.vue.js.map +1 -0
  320. package/dist/layouts/components/SideNav2.vue.js +49 -0
  321. package/dist/layouts/components/SideNav2.vue.js.map +1 -0
  322. package/dist/layouts/default.vue.d.ts +3 -0
  323. package/dist/layouts/default.vue.js +8 -0
  324. package/dist/layouts/default.vue.js.map +1 -0
  325. package/dist/layouts/default2.vue.js +213 -0
  326. package/dist/layouts/default2.vue.js.map +1 -0
  327. package/dist/lib/chunkReload.d.ts +9 -0
  328. package/dist/lib/chunkReload.js +24 -0
  329. package/dist/lib/chunkReload.js.map +1 -0
  330. package/dist/lib/icons.d.ts +2 -0
  331. package/dist/lib/icons.js +39 -0
  332. package/dist/lib/icons.js.map +1 -0
  333. package/dist/lib/loadingBar.d.ts +7 -0
  334. package/dist/lib/loadingBar.js +18 -0
  335. package/dist/lib/loadingBar.js.map +1 -0
  336. package/dist/lib/markdown.d.ts +8 -0
  337. package/dist/lib/markdown.js +16 -0
  338. package/dist/lib/markdown.js.map +1 -0
  339. package/dist/lib/markdownLinks.d.ts +26 -0
  340. package/dist/lib/markdownLinks.js +21 -0
  341. package/dist/lib/markdownLinks.js.map +1 -0
  342. package/dist/lib/noticeActions.d.ts +13 -0
  343. package/dist/lib/noticeActions.js +16 -0
  344. package/dist/lib/noticeActions.js.map +1 -0
  345. package/dist/lib/runtime.d.ts +21 -0
  346. package/dist/lib/runtime.js +13 -0
  347. package/dist/lib/runtime.js.map +1 -0
  348. package/dist/locales/en-US.d.ts +1358 -0
  349. package/dist/locales/en-US.js +1362 -0
  350. package/dist/locales/en-US.js.map +1 -0
  351. package/dist/locales/index.d.ts +30 -0
  352. package/dist/locales/index.js +46 -0
  353. package/dist/locales/index.js.map +1 -0
  354. package/dist/locales/menuTitle.d.ts +8 -0
  355. package/dist/locales/menuTitle.js +19 -0
  356. package/dist/locales/menuTitle.js.map +1 -0
  357. package/dist/locales/zh-CN.d.ts +1358 -0
  358. package/dist/locales/zh-CN.js +1368 -0
  359. package/dist/locales/zh-CN.js.map +1 -0
  360. package/dist/router/bootFailure.d.ts +8 -0
  361. package/dist/router/bootFailure.js +11 -0
  362. package/dist/router/bootFailure.js.map +1 -0
  363. package/dist/router/detailRoutes.d.ts +2 -0
  364. package/dist/router/detailRoutes.js +19 -0
  365. package/dist/router/detailRoutes.js.map +1 -0
  366. package/dist/router/index.d.ts +3 -0
  367. package/dist/router/index.js +58 -0
  368. package/dist/router/index.js.map +1 -0
  369. package/dist/router/namedPage.d.ts +13 -0
  370. package/dist/router/namedPage.js +12 -0
  371. package/dist/router/namedPage.js.map +1 -0
  372. package/dist/router/routes.d.ts +2 -0
  373. package/dist/router/routes.js +121 -0
  374. package/dist/router/routes.js.map +1 -0
  375. package/dist/router/viewRegistry.d.ts +18 -0
  376. package/dist/router/viewRegistry.js +26 -0
  377. package/dist/router/viewRegistry.js.map +1 -0
  378. package/dist/stores/app.d.ts +83 -0
  379. package/dist/stores/app.js +82 -0
  380. package/dist/stores/app.js.map +1 -0
  381. package/dist/stores/auth.d.ts +106 -0
  382. package/dist/stores/auth.js +59 -0
  383. package/dist/stores/auth.js.map +1 -0
  384. package/dist/stores/dict.d.ts +11 -0
  385. package/dist/stores/dict.js +36 -0
  386. package/dist/stores/dict.js.map +1 -0
  387. package/dist/stores/tabs.d.ts +53 -0
  388. package/dist/stores/tabs.js +88 -0
  389. package/dist/stores/tabs.js.map +1 -0
  390. package/dist/stores/user.d.ts +64 -0
  391. package/dist/stores/user.js +64 -0
  392. package/dist/stores/user.js.map +1 -0
  393. package/dist/style.css +1 -0
  394. package/dist/theme/accents.d.ts +2 -0
  395. package/dist/theme/accents.js +5 -0
  396. package/dist/theme/accents.js.map +1 -0
  397. package/dist/theme/mix.d.ts +26 -0
  398. package/dist/theme/mix.js +43 -0
  399. package/dist/theme/mix.js.map +1 -0
  400. package/dist/theme/naive-theme.d.ts +9 -0
  401. package/dist/theme/naive-theme.js +89 -0
  402. package/dist/theme/naive-theme.js.map +1 -0
  403. package/dist/types/api.d.ts +714 -0
  404. package/dist/types/api.js +15 -0
  405. package/dist/types/api.js.map +1 -0
  406. package/dist/types/menu.d.ts +67 -0
  407. package/dist/types/menu.js +26 -0
  408. package/dist/types/menu.js.map +1 -0
  409. package/dist/utils/chunkUpload.d.ts +6 -0
  410. package/dist/utils/chunkUpload.js +35 -0
  411. package/dist/utils/chunkUpload.js.map +1 -0
  412. package/dist/utils/download.d.ts +8 -0
  413. package/dist/utils/download.js +8 -0
  414. package/dist/utils/download.js.map +1 -0
  415. package/dist/utils/error.d.ts +14 -0
  416. package/dist/utils/error.js +50 -0
  417. package/dist/utils/error.js.map +1 -0
  418. package/dist/utils/format.d.ts +20 -0
  419. package/dist/utils/format.js +19 -0
  420. package/dist/utils/format.js.map +1 -0
  421. package/dist/utils/importDup.d.ts +17 -0
  422. package/dist/utils/importDup.js +18 -0
  423. package/dist/utils/importDup.js.map +1 -0
  424. package/dist/utils/oauthBrand.d.ts +100 -0
  425. package/dist/utils/oauthBrand.js +97 -0
  426. package/dist/utils/oauthBrand.js.map +1 -0
  427. package/dist/utils/tree.d.ts +33 -0
  428. package/dist/utils/tree.js +47 -0
  429. package/dist/utils/tree.js.map +1 -0
  430. package/dist/utils/ua.d.ts +7 -0
  431. package/dist/utils/ua.js +33 -0
  432. package/dist/utils/ua.js.map +1 -0
  433. package/dist/utils/url.d.ts +16 -0
  434. package/dist/utils/url.js +13 -0
  435. package/dist/utils/url.js.map +1 -0
  436. package/dist/views/dashboard/biz.vue.d.ts +3 -0
  437. package/dist/views/dashboard/biz.vue.js +8 -0
  438. package/dist/views/dashboard/biz.vue.js.map +1 -0
  439. package/dist/views/dashboard/biz2.vue.js +136 -0
  440. package/dist/views/dashboard/biz2.vue.js.map +1 -0
  441. package/dist/views/dashboard/workbench.vue.d.ts +3 -0
  442. package/dist/views/dashboard/workbench.vue.js +8 -0
  443. package/dist/views/dashboard/workbench.vue.js.map +1 -0
  444. package/dist/views/dashboard/workbench2.vue.js +195 -0
  445. package/dist/views/dashboard/workbench2.vue.js.map +1 -0
  446. package/dist/views/embed/iframe.vue.d.ts +3 -0
  447. package/dist/views/embed/iframe.vue.js +8 -0
  448. package/dist/views/embed/iframe.vue.js.map +1 -0
  449. package/dist/views/embed/iframe2.vue.js +21 -0
  450. package/dist/views/embed/iframe2.vue.js.map +1 -0
  451. package/dist/views/error/404.vue.d.ts +3 -0
  452. package/dist/views/error/404.vue.js +8 -0
  453. package/dist/views/error/404.vue.js.map +1 -0
  454. package/dist/views/error/4042.vue.js +31 -0
  455. package/dist/views/error/4042.vue.js.map +1 -0
  456. package/dist/views/error/BootError.vue.d.ts +3 -0
  457. package/dist/views/error/BootError.vue.js +8 -0
  458. package/dist/views/error/BootError.vue.js.map +1 -0
  459. package/dist/views/error/BootError2.vue.js +57 -0
  460. package/dist/views/error/BootError2.vue.js.map +1 -0
  461. package/dist/views/error/MissingRoute.vue.d.ts +3 -0
  462. package/dist/views/error/MissingRoute.vue.js +8 -0
  463. package/dist/views/error/MissingRoute.vue.js.map +1 -0
  464. package/dist/views/error/MissingRoute2.vue.js +23 -0
  465. package/dist/views/error/MissingRoute2.vue.js.map +1 -0
  466. package/dist/views/login/LoginForm.vue.d.ts +12 -0
  467. package/dist/views/login/LoginForm.vue.js +8 -0
  468. package/dist/views/login/LoginForm.vue.js.map +1 -0
  469. package/dist/views/login/LoginForm2.vue.js +642 -0
  470. package/dist/views/login/LoginForm2.vue.js.map +1 -0
  471. package/dist/views/login/index.vue.d.ts +3 -0
  472. package/dist/views/login/index.vue.js +8 -0
  473. package/dist/views/login/index.vue.js.map +1 -0
  474. package/dist/views/login/index2.vue.js +79 -0
  475. package/dist/views/login/index2.vue.js.map +1 -0
  476. package/dist/views/login/skins/AuroraGlass.vue.d.ts +3 -0
  477. package/dist/views/login/skins/AuroraGlass.vue.js +8 -0
  478. package/dist/views/login/skins/AuroraGlass.vue.js.map +1 -0
  479. package/dist/views/login/skins/AuroraGlass2.vue.js +80 -0
  480. package/dist/views/login/skins/AuroraGlass2.vue.js.map +1 -0
  481. package/dist/views/login/skins/SplitPanel.vue.d.ts +3 -0
  482. package/dist/views/login/skins/SplitPanel.vue.js +8 -0
  483. package/dist/views/login/skins/SplitPanel.vue.js.map +1 -0
  484. package/dist/views/login/skins/SplitPanel2.vue.js +85 -0
  485. package/dist/views/login/skins/SplitPanel2.vue.js.map +1 -0
  486. package/dist/views/login/skins/Spotlight.vue.d.ts +3 -0
  487. package/dist/views/login/skins/Spotlight.vue.js +8 -0
  488. package/dist/views/login/skins/Spotlight.vue.js.map +1 -0
  489. package/dist/views/login/skins/Spotlight2.vue.js +36 -0
  490. package/dist/views/login/skins/Spotlight2.vue.js.map +1 -0
  491. package/dist/views/login/skins.d.ts +8 -0
  492. package/dist/views/login/skins.js +13 -0
  493. package/dist/views/login/skins.js.map +1 -0
  494. package/dist/views/mfa/bindComplete.d.ts +7 -0
  495. package/dist/views/mfa/bindComplete.js +8 -0
  496. package/dist/views/mfa/bindComplete.js.map +1 -0
  497. package/dist/views/mfa/index.vue.d.ts +3 -0
  498. package/dist/views/mfa/index.vue.js +8 -0
  499. package/dist/views/mfa/index.vue.js.map +1 -0
  500. package/dist/views/mfa/index2.vue.js +425 -0
  501. package/dist/views/mfa/index2.vue.js.map +1 -0
  502. package/dist/views/module/index.vue.d.ts +3 -0
  503. package/dist/views/module/index.vue.js +8 -0
  504. package/dist/views/module/index.vue.js.map +1 -0
  505. package/dist/views/module/index2.vue.js +142 -0
  506. package/dist/views/module/index2.vue.js.map +1 -0
  507. package/dist/views/oauth/callback.vue.d.ts +3 -0
  508. package/dist/views/oauth/callback.vue.js +8 -0
  509. package/dist/views/oauth/callback.vue.js.map +1 -0
  510. package/dist/views/oauth/callback2.vue.js +86 -0
  511. package/dist/views/oauth/callback2.vue.js.map +1 -0
  512. package/dist/views/personal/bindings.vue.d.ts +3 -0
  513. package/dist/views/personal/bindings.vue.js +8 -0
  514. package/dist/views/personal/bindings.vue.js.map +1 -0
  515. package/dist/views/personal/bindings2.vue.js +220 -0
  516. package/dist/views/personal/bindings2.vue.js.map +1 -0
  517. package/dist/views/personal/notice.vue.d.ts +3 -0
  518. package/dist/views/personal/notice.vue.js +5 -0
  519. package/dist/views/personal/notice.vue.js.map +1 -0
  520. package/dist/views/personal/notice2.vue.js +163 -0
  521. package/dist/views/personal/notice2.vue.js.map +1 -0
  522. package/dist/views/personal/password.vue.d.ts +3 -0
  523. package/dist/views/personal/password.vue.js +5 -0
  524. package/dist/views/personal/password.vue.js.map +1 -0
  525. package/dist/views/personal/password2.vue.js +147 -0
  526. package/dist/views/personal/password2.vue.js.map +1 -0
  527. package/dist/views/personal/profile.vue.d.ts +3 -0
  528. package/dist/views/personal/profile.vue.js +8 -0
  529. package/dist/views/personal/profile.vue.js.map +1 -0
  530. package/dist/views/personal/profile2.vue.js +264 -0
  531. package/dist/views/personal/profile2.vue.js.map +1 -0
  532. package/dist/views/personal/security.vue.d.ts +3 -0
  533. package/dist/views/personal/security.vue.js +8 -0
  534. package/dist/views/personal/security.vue.js.map +1 -0
  535. package/dist/views/personal/security2.vue.js +82 -0
  536. package/dist/views/personal/security2.vue.js.map +1 -0
  537. package/dist/views/personal/sessions.vue.d.ts +3 -0
  538. package/dist/views/personal/sessions.vue.js +8 -0
  539. package/dist/views/personal/sessions.vue.js.map +1 -0
  540. package/dist/views/personal/sessions2.vue.js +101 -0
  541. package/dist/views/personal/sessions2.vue.js.map +1 -0
  542. package/dist/views/system/cache/index.vue.d.ts +3 -0
  543. package/dist/views/system/cache/index.vue.js +8 -0
  544. package/dist/views/system/cache/index.vue.js.map +1 -0
  545. package/dist/views/system/cache/index2.vue.js +113 -0
  546. package/dist/views/system/cache/index2.vue.js.map +1 -0
  547. package/dist/views/system/config/components/ConfigFormModal.vue.d.ts +16 -0
  548. package/dist/views/system/config/components/ConfigFormModal.vue.js +5 -0
  549. package/dist/views/system/config/components/ConfigFormModal.vue.js.map +1 -0
  550. package/dist/views/system/config/components/ConfigFormModal2.vue.js +177 -0
  551. package/dist/views/system/config/components/ConfigFormModal2.vue.js.map +1 -0
  552. package/dist/views/system/config/components/ExternalAuthConfig.vue.d.ts +3 -0
  553. package/dist/views/system/config/components/ExternalAuthConfig.vue.js +8 -0
  554. package/dist/views/system/config/components/ExternalAuthConfig.vue.js.map +1 -0
  555. package/dist/views/system/config/components/ExternalAuthConfig2.vue.js +218 -0
  556. package/dist/views/system/config/components/ExternalAuthConfig2.vue.js.map +1 -0
  557. package/dist/views/system/config/components/GroupExtraConfig.vue.d.ts +9 -0
  558. package/dist/views/system/config/components/GroupExtraConfig.vue.js +8 -0
  559. package/dist/views/system/config/components/GroupExtraConfig.vue.js.map +1 -0
  560. package/dist/views/system/config/components/GroupExtraConfig2.vue.js +108 -0
  561. package/dist/views/system/config/components/GroupExtraConfig2.vue.js.map +1 -0
  562. package/dist/views/system/config/components/HighSensConfig.vue.d.ts +3 -0
  563. package/dist/views/system/config/components/HighSensConfig.vue.js +5 -0
  564. package/dist/views/system/config/components/HighSensConfig.vue.js.map +1 -0
  565. package/dist/views/system/config/components/HighSensConfig2.vue.js +134 -0
  566. package/dist/views/system/config/components/HighSensConfig2.vue.js.map +1 -0
  567. package/dist/views/system/config/components/JobConfig.vue.d.ts +3 -0
  568. package/dist/views/system/config/components/JobConfig.vue.js +5 -0
  569. package/dist/views/system/config/components/JobConfig.vue.js.map +1 -0
  570. package/dist/views/system/config/components/JobConfig2.vue.js +116 -0
  571. package/dist/views/system/config/components/JobConfig2.vue.js.map +1 -0
  572. package/dist/views/system/config/components/OtherConfig.vue.d.ts +3 -0
  573. package/dist/views/system/config/components/OtherConfig.vue.js +5 -0
  574. package/dist/views/system/config/components/OtherConfig.vue.js.map +1 -0
  575. package/dist/views/system/config/components/OtherConfig2.vue.js +121 -0
  576. package/dist/views/system/config/components/OtherConfig2.vue.js.map +1 -0
  577. package/dist/views/system/config/components/SecurityConfig.vue.d.ts +3 -0
  578. package/dist/views/system/config/components/SecurityConfig.vue.js +8 -0
  579. package/dist/views/system/config/components/SecurityConfig.vue.js.map +1 -0
  580. package/dist/views/system/config/components/SecurityConfig2.vue.js +456 -0
  581. package/dist/views/system/config/components/SecurityConfig2.vue.js.map +1 -0
  582. package/dist/views/system/config/components/SysBaseConfig.vue.d.ts +3 -0
  583. package/dist/views/system/config/components/SysBaseConfig.vue.js +5 -0
  584. package/dist/views/system/config/components/SysBaseConfig.vue.js.map +1 -0
  585. package/dist/views/system/config/components/SysBaseConfig2.vue.js +107 -0
  586. package/dist/views/system/config/components/SysBaseConfig2.vue.js.map +1 -0
  587. package/dist/views/system/config/components/UploadConfig.vue.d.ts +3 -0
  588. package/dist/views/system/config/components/UploadConfig.vue.js +5 -0
  589. package/dist/views/system/config/components/UploadConfig.vue.js.map +1 -0
  590. package/dist/views/system/config/components/UploadConfig2.vue.js +135 -0
  591. package/dist/views/system/config/components/UploadConfig2.vue.js.map +1 -0
  592. package/dist/views/system/config/groups.d.ts +9 -0
  593. package/dist/views/system/config/groups.js +18 -0
  594. package/dist/views/system/config/groups.js.map +1 -0
  595. package/dist/views/system/config/index.vue.d.ts +3 -0
  596. package/dist/views/system/config/index.vue.js +5 -0
  597. package/dist/views/system/config/index.vue.js.map +1 -0
  598. package/dist/views/system/config/index2.vue.js +127 -0
  599. package/dist/views/system/config/index2.vue.js.map +1 -0
  600. package/dist/views/system/dict/index.vue.d.ts +3 -0
  601. package/dist/views/system/dict/index.vue.js +8 -0
  602. package/dist/views/system/dict/index.vue.js.map +1 -0
  603. package/dist/views/system/dict/index2.vue.js +560 -0
  604. package/dist/views/system/dict/index2.vue.js.map +1 -0
  605. package/dist/views/system/file/index.vue.d.ts +3 -0
  606. package/dist/views/system/file/index.vue.js +5 -0
  607. package/dist/views/system/file/index.vue.js.map +1 -0
  608. package/dist/views/system/file/index2.vue.js +186 -0
  609. package/dist/views/system/file/index2.vue.js.map +1 -0
  610. package/dist/views/system/job/index.vue.d.ts +3 -0
  611. package/dist/views/system/job/index.vue.js +8 -0
  612. package/dist/views/system/job/index.vue.js.map +1 -0
  613. package/dist/views/system/job/index2.vue.js +1167 -0
  614. package/dist/views/system/job/index2.vue.js.map +1 -0
  615. package/dist/views/system/job-log/index.vue.d.ts +3 -0
  616. package/dist/views/system/job-log/index.vue.js +8 -0
  617. package/dist/views/system/job-log/index.vue.js.map +1 -0
  618. package/dist/views/system/job-log/index2.vue.js +411 -0
  619. package/dist/views/system/job-log/index2.vue.js.map +1 -0
  620. package/dist/views/system/job-monitor/index.vue.d.ts +3 -0
  621. package/dist/views/system/job-monitor/index.vue.js +8 -0
  622. package/dist/views/system/job-monitor/index.vue.js.map +1 -0
  623. package/dist/views/system/job-monitor/index2.vue.js +253 -0
  624. package/dist/views/system/job-monitor/index2.vue.js.map +1 -0
  625. package/dist/views/system/log/exception/index.vue.d.ts +3 -0
  626. package/dist/views/system/log/exception/index.vue.js +8 -0
  627. package/dist/views/system/log/exception/index.vue.js.map +1 -0
  628. package/dist/views/system/log/exception/index2.vue.js +216 -0
  629. package/dist/views/system/log/exception/index2.vue.js.map +1 -0
  630. package/dist/views/system/log/login/index.vue.d.ts +3 -0
  631. package/dist/views/system/log/login/index.vue.js +5 -0
  632. package/dist/views/system/log/login/index.vue.js.map +1 -0
  633. package/dist/views/system/log/login/index2.vue.js +113 -0
  634. package/dist/views/system/log/login/index2.vue.js.map +1 -0
  635. package/dist/views/system/log/op/index.vue.d.ts +3 -0
  636. package/dist/views/system/log/op/index.vue.js +8 -0
  637. package/dist/views/system/log/op/index.vue.js.map +1 -0
  638. package/dist/views/system/log/op/index2.vue.js +332 -0
  639. package/dist/views/system/log/op/index2.vue.js.map +1 -0
  640. package/dist/views/system/menu/components/ButtonManager.vue.d.ts +21 -0
  641. package/dist/views/system/menu/components/ButtonManager.vue.js +8 -0
  642. package/dist/views/system/menu/components/ButtonManager.vue.js.map +1 -0
  643. package/dist/views/system/menu/components/ButtonManager2.vue.js +498 -0
  644. package/dist/views/system/menu/components/ButtonManager2.vue.js.map +1 -0
  645. package/dist/views/system/menu/components/MenuFormModal.vue.d.ts +22 -0
  646. package/dist/views/system/menu/components/MenuFormModal.vue.js +8 -0
  647. package/dist/views/system/menu/components/MenuFormModal.vue.js.map +1 -0
  648. package/dist/views/system/menu/components/MenuFormModal2.vue.js +259 -0
  649. package/dist/views/system/menu/components/MenuFormModal2.vue.js.map +1 -0
  650. package/dist/views/system/menu/index.vue.d.ts +3 -0
  651. package/dist/views/system/menu/index.vue.js +8 -0
  652. package/dist/views/system/menu/index.vue.js.map +1 -0
  653. package/dist/views/system/menu/index2.vue.js +391 -0
  654. package/dist/views/system/menu/index2.vue.js.map +1 -0
  655. package/dist/views/system/module/index.vue.d.ts +3 -0
  656. package/dist/views/system/module/index.vue.js +8 -0
  657. package/dist/views/system/module/index.vue.js.map +1 -0
  658. package/dist/views/system/module/index2.vue.js +344 -0
  659. package/dist/views/system/module/index2.vue.js.map +1 -0
  660. package/dist/views/system/monitor/index.vue.d.ts +3 -0
  661. package/dist/views/system/monitor/index.vue.js +8 -0
  662. package/dist/views/system/monitor/index.vue.js.map +1 -0
  663. package/dist/views/system/monitor/index2.vue.js +184 -0
  664. package/dist/views/system/monitor/index2.vue.js.map +1 -0
  665. package/dist/views/system/notice/index.vue.d.ts +3 -0
  666. package/dist/views/system/notice/index.vue.js +8 -0
  667. package/dist/views/system/notice/index.vue.js.map +1 -0
  668. package/dist/views/system/notice/index2.vue.js +401 -0
  669. package/dist/views/system/notice/index2.vue.js.map +1 -0
  670. package/dist/views/system/org/index.vue.d.ts +3 -0
  671. package/dist/views/system/org/index.vue.js +8 -0
  672. package/dist/views/system/org/index.vue.js.map +1 -0
  673. package/dist/views/system/org/index2.vue.js +397 -0
  674. package/dist/views/system/org/index2.vue.js.map +1 -0
  675. package/dist/views/system/position/index.vue.d.ts +3 -0
  676. package/dist/views/system/position/index.vue.js +5 -0
  677. package/dist/views/system/position/index.vue.js.map +1 -0
  678. package/dist/views/system/position/index2.vue.js +211 -0
  679. package/dist/views/system/position/index2.vue.js.map +1 -0
  680. package/dist/views/system/recycle/index.vue.d.ts +3 -0
  681. package/dist/views/system/recycle/index.vue.js +8 -0
  682. package/dist/views/system/recycle/index.vue.js.map +1 -0
  683. package/dist/views/system/recycle/index2.vue.js +121 -0
  684. package/dist/views/system/recycle/index2.vue.js.map +1 -0
  685. package/dist/views/system/role/components/GrantMenuTable.vue.d.ts +18 -0
  686. package/dist/views/system/role/components/GrantMenuTable.vue.js +8 -0
  687. package/dist/views/system/role/components/GrantMenuTable.vue.js.map +1 -0
  688. package/dist/views/system/role/components/GrantMenuTable2.vue.js +212 -0
  689. package/dist/views/system/role/components/GrantMenuTable2.vue.js.map +1 -0
  690. package/dist/views/system/role/components/grantMenuGroups.d.ts +31 -0
  691. package/dist/views/system/role/components/grantMenuGroups.js +76 -0
  692. package/dist/views/system/role/components/grantMenuGroups.js.map +1 -0
  693. package/dist/views/system/role/index.vue.d.ts +3 -0
  694. package/dist/views/system/role/index.vue.js +5 -0
  695. package/dist/views/system/role/index.vue.js.map +1 -0
  696. package/dist/views/system/role/index2.vue.js +476 -0
  697. package/dist/views/system/role/index2.vue.js.map +1 -0
  698. package/dist/views/system/session/index.vue.d.ts +3 -0
  699. package/dist/views/system/session/index.vue.js +5 -0
  700. package/dist/views/system/session/index.vue.js.map +1 -0
  701. package/dist/views/system/session/index2.vue.js +80 -0
  702. package/dist/views/system/session/index2.vue.js.map +1 -0
  703. package/dist/views/system/user/components/ResetPasswordModal.vue.d.ts +10 -0
  704. package/dist/views/system/user/components/ResetPasswordModal.vue.js +8 -0
  705. package/dist/views/system/user/components/ResetPasswordModal.vue.js.map +1 -0
  706. package/dist/views/system/user/components/ResetPasswordModal2.vue.js +111 -0
  707. package/dist/views/system/user/components/ResetPasswordModal2.vue.js.map +1 -0
  708. package/dist/views/system/user/components/UserFormModal.vue.d.ts +30 -0
  709. package/dist/views/system/user/components/UserFormModal.vue.js +8 -0
  710. package/dist/views/system/user/components/UserFormModal.vue.js.map +1 -0
  711. package/dist/views/system/user/components/UserFormModal2.vue.js +415 -0
  712. package/dist/views/system/user/components/UserFormModal2.vue.js.map +1 -0
  713. package/dist/views/system/user/index.vue.d.ts +3 -0
  714. package/dist/views/system/user/index.vue.js +8 -0
  715. package/dist/views/system/user/index.vue.js.map +1 -0
  716. package/dist/views/system/user/index2.vue.js +427 -0
  717. package/dist/views/system/user/index2.vue.js.map +1 -0
  718. package/package.json +99 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GrantMenuTable2.vue.js","sources":["../../../../../src/views/system/role/components/GrantMenuTable.vue"],"sourcesContent":["<script setup lang=\"ts\">\n// 角色授权表格:目录 | 页面 | 按钮 三列。分组逻辑在 grantMenuGroups.ts(纯函数,有单测),这里只管渲染与勾选联动。\n// 直接挂在目录下的按钮(无页面权限项,如只给移动端 / 第三方调的接口)渲染成该目录组里的一行,\n// 页面列显示「接口权限(无页面)」;勾选提交时只提交按钮 id,不需要为它们建假页面。\nimport { computed, reactive, ref, watch } from 'vue'\nimport { NButton, NCheckbox, NInput, NSelect, NTag } from 'naive-ui'\nimport { useI18n } from 'vue-i18n'\nimport AppIcon from '#/components/AppIcon.vue'\nimport type { MenuTreeNode } from '#/types/menu'\nimport type { ModuleRow } from '#/types/api'\nimport {\n buildGroups,\n collectChecked as collect,\n recomputeGroup,\n type CatalogGroup,\n type MenuRow,\n} from './grantMenuGroups'\n\nconst UNASSIGNED = 0\n\nconst props = defineProps<{\n tree: MenuTreeNode[]\n granted: number[]\n modules: ModuleRow[]\n defaultModuleId: number\n}>()\n\nconst emit = defineEmits<{ (e: 'update:checked', ids: number[]): void }>()\n\nconst { t } = useI18n()\nconst search = ref('')\nconst moduleId = ref(props.defaultModuleId)\nwatch(\n () => props.defaultModuleId,\n v => {\n moduleId.value = v\n },\n)\n\nconst moduleOptions = computed(() => [\n ...props.modules.map(m => ({ label: m.title, value: m.id })),\n { label: t('menu.moduleUnassigned'), value: UNASSIGNED },\n])\n\nconst allGroups = reactive<CatalogGroup[]>([])\n\nwatch(\n () => [props.tree, props.granted] as const,\n ([tree, granted]) => {\n const groups = buildGroups(tree, new Set(granted), t('role.apiOnlyRow'))\n allGroups.splice(0, allGroups.length, ...groups)\n },\n { immediate: true },\n)\n\nconst filteredByModule = computed(() =>\n allGroups.filter(g => {\n const node = props.tree.find(n => n.id === g.id)\n return moduleId.value === UNASSIGNED\n ? node?.moduleId == null\n : node?.moduleId === moduleId.value\n }),\n)\n\nconst filteredGroups = computed(() => {\n const q = search.value.trim().toLowerCase()\n if (!q) return filteredByModule.value\n return filteredByModule.value\n .map(g => {\n if (g.title.toLowerCase().includes(q)) return g\n const menus = g.menus.filter(\n m =>\n m.title.toLowerCase().includes(q) ||\n m.buttons.some(b => b.title.toLowerCase().includes(q)),\n )\n return menus.length ? { ...g, menus } : null\n })\n .filter(Boolean) as CatalogGroup[]\n})\n\nfunction toggleCatalog(group: CatalogGroup, val: boolean) {\n group.checked = val\n group.indeterminate = false\n group.menus.forEach(m => {\n m.checked = val\n m.buttons.forEach(b => {\n b.checked = val\n })\n })\n emitChecked()\n}\n\nfunction toggleMenu(group: CatalogGroup, menu: MenuRow, val: boolean) {\n menu.checked = val\n menu.buttons.forEach(b => {\n b.checked = val\n })\n recomputeGroup(group)\n emitChecked()\n}\n\nfunction toggleButton(group: CatalogGroup, menu: MenuRow) {\n const allChecked = menu.buttons.length > 0 && menu.buttons.every(b => b.checked)\n // 页面行:按钮全勾时顺手把页面勾上;anchor 行自身不是节点,勾选态就等于\"按钮是否全勾\"\n if (allChecked || menu.anchor) menu.checked = allChecked\n recomputeGroup(group)\n emitChecked()\n}\n\nfunction collectChecked(): number[] {\n return collect(allGroups)\n}\n\nfunction emitChecked() {\n emit('update:checked', collectChecked())\n}\n\n// ── 折叠/展开 ──\nconst collapsed = reactive(new Set<number>())\nconst allCollapsed = computed(\n () => filteredGroups.value.length > 0 && filteredGroups.value.every(g => collapsed.has(g.id)),\n)\n\nfunction toggleCollapse(id: number) {\n if (collapsed.has(id)) collapsed.delete(id)\n else collapsed.add(id)\n}\nfunction toggleCollapseAll() {\n if (allCollapsed.value) {\n collapsed.clear()\n } else {\n for (const g of filteredGroups.value) collapsed.add(g.id)\n }\n}\n\ndefineExpose({ collectChecked })\n</script>\n\n<template>\n <div class=\"grant-menu-table\">\n <div class=\"grant-toolbar\">\n <n-select\n v-model:value=\"moduleId\"\n :options=\"moduleOptions\"\n :placeholder=\"t('menu.module')\"\n size=\"small\"\n style=\"width: 180px\"\n />\n <n-input\n v-model:value=\"search\"\n :placeholder=\"t('common.search')\"\n clearable\n size=\"small\"\n style=\"flex: 1\"\n />\n <n-button size=\"small\" quaternary @click=\"toggleCollapseAll\">\n <template #icon>\n <AppIcon\n :icon=\"allCollapsed ? 'ph:arrows-out-line-vertical' : 'ph:arrows-in-line-vertical'\"\n :size=\"16\"\n />\n </template>\n {{ allCollapsed ? t('common.expandAll') : t('common.collapseAll') }}\n </n-button>\n </div>\n <div class=\"grant-grid\">\n <div class=\"grant-header\">\n <div class=\"col-catalog\">{{ t('role.catalog') }}</div>\n <div class=\"col-menu\">{{ t('role.menuCol') }}</div>\n <div class=\"col-buttons\">{{ t('role.buttonsCol') }}</div>\n </div>\n <template v-for=\"group in filteredGroups\" :key=\"group.id\">\n <div class=\"grant-group\" :style=\"{ '--rows': group.menus.length }\">\n <div class=\"col-catalog\" @click=\"toggleCollapse(group.id)\">\n <span class=\"collapse-arrow\" :class=\"{ 'is-collapsed': collapsed.has(group.id) }\">\n &#9662;\n </span>\n <n-checkbox\n :checked=\"group.checked\"\n :indeterminate=\"group.indeterminate\"\n @click.stop\n @update:checked=\"toggleCatalog(group, $event)\"\n >\n {{ group.title }}\n </n-checkbox>\n </div>\n <div v-show=\"!collapsed.has(group.id)\" class=\"group-rows\">\n <div\n v-for=\"menu in group.menus\"\n :key=\"menu.anchor ? `anchor-${menu.id}` : menu.id\"\n class=\"grant-row\"\n >\n <div class=\"col-menu\">\n <n-checkbox\n :checked=\"menu.checked\"\n @update:checked=\"toggleMenu(group, menu, $event)\"\n >\n <n-tag v-if=\"menu.anchor\" size=\"tiny\" :bordered=\"false\" class=\"anchor-tag\">\n {{ menu.title }}\n </n-tag>\n <template v-else>{{ menu.title }}</template>\n </n-checkbox>\n </div>\n <div class=\"col-buttons\">\n <n-checkbox\n v-for=\"btn in menu.buttons\"\n :key=\"btn.id\"\n :checked=\"btn.checked\"\n @update:checked=\"\n (v: boolean) => {\n btn.checked = v\n toggleButton(group, menu)\n }\n \"\n >\n {{ btn.title }}\n </n-checkbox>\n <span v-if=\"!menu.buttons.length\" class=\"no-buttons\">—</span>\n </div>\n </div>\n </div>\n </div>\n </template>\n <div v-if=\"filteredGroups.length === 0\" class=\"grant-empty\">—</div>\n </div>\n </div>\n</template>\n\n<style scoped>\n.grant-menu-table {\n display: flex;\n flex-direction: column;\n gap: 10px;\n}\n.grant-toolbar {\n display: flex;\n gap: 8px;\n}\n.grant-grid {\n border: 1px solid var(--n-border-color, #e0e0e6);\n border-radius: 4px;\n font-size: 13px;\n overflow: hidden;\n}\n.grant-header {\n display: flex;\n background: var(--n-th-color, #fafafc);\n font-weight: 600;\n font-size: 12px;\n border-bottom: 1px solid var(--n-border-color, #e0e0e6);\n}\n.grant-header > div {\n padding: 8px 12px;\n}\n.grant-group {\n display: flex;\n border-bottom: 1px solid var(--n-border-color, #e0e0e6);\n}\n.grant-group:last-child {\n border-bottom: none;\n}\n.grant-group > .col-catalog {\n display: flex;\n align-items: center;\n gap: 4px;\n padding: 8px 12px;\n border-right: 1px solid var(--n-border-color, #e0e0e6);\n cursor: pointer;\n user-select: none;\n}\n.collapse-arrow {\n display: inline-block;\n font-size: 10px;\n transition: transform 0.2s;\n color: var(--n-text-color-disabled, #999);\n}\n.collapse-arrow.is-collapsed {\n transform: rotate(-90deg);\n}\n.group-rows {\n flex: 1;\n min-width: 0;\n}\n.grant-row {\n display: flex;\n border-bottom: 1px solid var(--n-border-color, #e0e0e6);\n}\n.grant-row:last-child {\n border-bottom: none;\n}\n.col-catalog {\n width: 130px;\n flex-shrink: 0;\n}\n.col-menu {\n width: 140px;\n flex-shrink: 0;\n display: flex;\n align-items: center;\n padding: 6px 12px;\n border-right: 1px solid var(--n-border-color, #e0e0e6);\n}\n.anchor-tag {\n font-size: 12px;\n}\n.col-buttons {\n flex: 1;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: 4px 12px;\n padding: 6px 12px;\n min-width: 0;\n}\n.no-buttons {\n color: var(--n-text-color-disabled, #c0c0c0);\n}\n.grant-empty {\n text-align: center;\n padding: 24px;\n color: var(--n-text-color-disabled, #c0c0c0);\n}\n</style>\n"],"names":["UNASSIGNED","props","__props","emit","__emit","t","useI18n","search","ref","moduleId","watch","v","moduleOptions","computed","m","allGroups","reactive","tree","granted","groups","buildGroups","filteredByModule","g","node","n","filteredGroups","q","menus","b","toggleCatalog","group","val","emitChecked","toggleMenu","menu","recomputeGroup","toggleButton","allChecked","collectChecked","collect","collapsed","allCollapsed","toggleCollapse","id","toggleCollapseAll","__expose","_openBlock","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_2","_createVNode","_unref","NSelect","$event","NInput","NButton","AppIcon","_createTextVNode","_toDisplayString","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_Fragment","_renderList","_normalizeStyle","_normalizeClass","NCheckbox","_withDirectives","_hoisted_9","_hoisted_10","_createBlock","NTag","_hoisted_11","btn","_hoisted_12","_vShow","_hoisted_13"],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import { MenuTreeNode } from '../../../../types/menu';
2
+ export interface ButtonItem {
3
+ id: number;
4
+ title: string;
5
+ checked: boolean;
6
+ }
7
+ export interface MenuRow {
8
+ id: number;
9
+ title: string;
10
+ checked: boolean;
11
+ buttons: ButtonItem[];
12
+ /** 无页面权限项行:承载目录直属按钮。id 是所属目录的 id,只作 key,不进 collectChecked。 */
13
+ anchor?: boolean;
14
+ }
15
+ export interface CatalogGroup {
16
+ id: number;
17
+ title: string;
18
+ checked: boolean;
19
+ indeterminate: boolean;
20
+ menus: MenuRow[];
21
+ /** 根级直挂按钮的合成分组(id=0),自身不是可授权节点,不进 collectChecked。 */
22
+ synthetic?: boolean;
23
+ }
24
+ export declare function recomputeGroup(group: CatalogGroup): void;
25
+ /**
26
+ * 顶层节点 → 分组。顶级页面(如工作台)自成一组;顶级目录一组;根级直挂按钮并进一个合成组。
27
+ * @param anchorTitle 无页面权限项行的显示文案(i18n 由调用方给)
28
+ */
29
+ export declare function buildGroups(tree: MenuTreeNode[], grantedSet: Set<number>, anchorTitle: string): CatalogGroup[];
30
+ /** 勾选态 → 要提交的菜单 id:目录(全勾或半勾)、页面、按钮;anchor 行与合成组自身不算节点。 */
31
+ export declare function collectChecked(groups: CatalogGroup[]): number[];
@@ -0,0 +1,76 @@
1
+ import { MenuType as u } from "../../../../types/menu.js";
2
+ function h(n, e) {
3
+ return n.filter((t) => t.type === u.Button).map((t) => ({ id: t.id, title: t.title, checked: e.has(t.id) }));
4
+ }
5
+ function r(n, e, t = "") {
6
+ return {
7
+ id: n.id,
8
+ title: t + n.title,
9
+ checked: e.has(n.id),
10
+ buttons: h(n.children, e)
11
+ };
12
+ }
13
+ function l(n, e, t, c = "") {
14
+ return {
15
+ id: n,
16
+ title: c + t,
17
+ checked: e.length > 0 && e.every((i) => i.checked),
18
+ buttons: e,
19
+ anchor: !0
20
+ };
21
+ }
22
+ function p(n, e, t, c = "") {
23
+ const i = [], o = h(n.children, e);
24
+ o.length && i.push(l(n.id, o, t, c));
25
+ for (const s of n.children)
26
+ s.type === u.Menu ? i.push(r(s, e, c)) : s.type === u.Catalog && i.push(...p(s, e, t, `${c}${s.title} / `));
27
+ return i;
28
+ }
29
+ function f(n) {
30
+ const e = n.menus.flatMap((c) => c.anchor ? c.buttons : [c, ...c.buttons]), t = e.filter((c) => c.checked).length;
31
+ n.checked = t > 0 && t === e.length, n.indeterminate = t > 0 && t < e.length;
32
+ }
33
+ function a(n, e, t) {
34
+ const c = [];
35
+ for (const o of n) {
36
+ if (o.type === u.Button) continue;
37
+ const s = o.type === u.Menu ? [r(o, e)] : p(o, e, t), d = {
38
+ id: o.id,
39
+ title: o.title,
40
+ checked: e.has(o.id),
41
+ indeterminate: !1,
42
+ menus: s
43
+ };
44
+ f(d), c.push(d);
45
+ }
46
+ const i = h(n, e);
47
+ if (i.length) {
48
+ const o = {
49
+ id: 0,
50
+ title: t,
51
+ checked: !1,
52
+ indeterminate: !1,
53
+ menus: [l(0, i, t)],
54
+ synthetic: !0
55
+ };
56
+ f(o), c.push(o);
57
+ }
58
+ return c;
59
+ }
60
+ function y(n) {
61
+ const e = [];
62
+ for (const t of n) {
63
+ !t.synthetic && (t.checked || t.indeterminate) && e.push(t.id);
64
+ for (const c of t.menus) {
65
+ !c.anchor && c.checked && e.push(c.id);
66
+ for (const i of c.buttons) i.checked && e.push(i.id);
67
+ }
68
+ }
69
+ return e;
70
+ }
71
+ export {
72
+ a as buildGroups,
73
+ y as collectChecked,
74
+ f as recomputeGroup
75
+ };
76
+ //# sourceMappingURL=grantMenuGroups.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grantMenuGroups.js","sources":["../../../../../src/views/system/role/components/grantMenuGroups.ts"],"sourcesContent":["// 角色授权表格的分组逻辑(纯函数,GrantMenuTable.vue 只管渲染与勾选联动)。\n// 三列:目录 | 页面 | 按钮。按钮正常挂在页面下;直接挂在目录下的按钮是\"无页面权限项\"\n//(只给移动端 / 第三方调的接口,没有对应页面),渲染成该目录组里的一行 anchor 行,否则它们勾不到。\nimport { MenuType, type MenuTreeNode } from '#/types/menu'\n\nexport interface ButtonItem {\n id: number\n title: string\n checked: boolean\n}\nexport interface MenuRow {\n id: number\n title: string\n checked: boolean\n buttons: ButtonItem[]\n /** 无页面权限项行:承载目录直属按钮。id 是所属目录的 id,只作 key,不进 collectChecked。 */\n anchor?: boolean\n}\nexport interface CatalogGroup {\n id: number\n title: string\n checked: boolean\n indeterminate: boolean\n menus: MenuRow[]\n /** 根级直挂按钮的合成分组(id=0),自身不是可授权节点,不进 collectChecked。 */\n synthetic?: boolean\n}\n\nfunction toButtons(nodes: MenuTreeNode[], grantedSet: Set<number>): ButtonItem[] {\n return nodes\n .filter(b => b.type === MenuType.Button)\n .map(b => ({ id: b.id, title: b.title, checked: grantedSet.has(b.id) }))\n}\n\nfunction toMenuRow(m: MenuTreeNode, grantedSet: Set<number>, prefix = ''): MenuRow {\n return {\n id: m.id,\n title: prefix + m.title,\n checked: grantedSet.has(m.id),\n buttons: toButtons(m.children, grantedSet),\n }\n}\n\nfunction anchorRow(\n ownerId: number,\n buttons: ButtonItem[],\n anchorTitle: string,\n prefix = '',\n): MenuRow {\n return {\n id: ownerId,\n title: prefix + anchorTitle,\n checked: buttons.length > 0 && buttons.every(b => b.checked),\n buttons,\n anchor: true,\n }\n}\n\n/**\n * 一个目录的全部行:直属按钮 → anchor 行(有才出);直属页面 → 各一行;嵌套目录 → 递归,标题带上父目录前缀。\n */\nfunction catalogRows(\n node: MenuTreeNode,\n grantedSet: Set<number>,\n anchorTitle: string,\n prefix = '',\n): MenuRow[] {\n const rows: MenuRow[] = []\n const buttons = toButtons(node.children, grantedSet)\n if (buttons.length) rows.push(anchorRow(node.id, buttons, anchorTitle, prefix))\n for (const child of node.children) {\n if (child.type === MenuType.Menu) rows.push(toMenuRow(child, grantedSet, prefix))\n else if (child.type === MenuType.Catalog)\n rows.push(...catalogRows(child, grantedSet, anchorTitle, `${prefix}${child.title} / `))\n }\n return rows\n}\n\nexport function recomputeGroup(group: CatalogGroup) {\n // anchor 行自身不是节点,只数它的按钮\n const items = group.menus.flatMap(m => (m.anchor ? m.buttons : [m, ...m.buttons]))\n const checkedCount = items.filter(x => x.checked).length\n group.checked = checkedCount > 0 && checkedCount === items.length\n group.indeterminate = checkedCount > 0 && checkedCount < items.length\n}\n\n/**\n * 顶层节点 → 分组。顶级页面(如工作台)自成一组;顶级目录一组;根级直挂按钮并进一个合成组。\n * @param anchorTitle 无页面权限项行的显示文案(i18n 由调用方给)\n */\nexport function buildGroups(\n tree: MenuTreeNode[],\n grantedSet: Set<number>,\n anchorTitle: string,\n): CatalogGroup[] {\n const groups: CatalogGroup[] = []\n for (const node of tree) {\n if (node.type === MenuType.Button) continue\n const menus =\n node.type === MenuType.Menu\n ? [toMenuRow(node, grantedSet)]\n : catalogRows(node, grantedSet, anchorTitle)\n const group: CatalogGroup = {\n id: node.id,\n title: node.title,\n checked: grantedSet.has(node.id),\n indeterminate: false,\n menus,\n }\n recomputeGroup(group)\n groups.push(group)\n }\n const rootButtons = toButtons(tree, grantedSet)\n if (rootButtons.length) {\n const group: CatalogGroup = {\n id: 0,\n title: anchorTitle,\n checked: false,\n indeterminate: false,\n menus: [anchorRow(0, rootButtons, anchorTitle)],\n synthetic: true,\n }\n recomputeGroup(group)\n groups.push(group)\n }\n return groups\n}\n\n/** 勾选态 → 要提交的菜单 id:目录(全勾或半勾)、页面、按钮;anchor 行与合成组自身不算节点。 */\nexport function collectChecked(groups: CatalogGroup[]): number[] {\n const ids: number[] = []\n for (const g of groups) {\n if (!g.synthetic && (g.checked || g.indeterminate)) ids.push(g.id)\n for (const m of g.menus) {\n if (!m.anchor && m.checked) ids.push(m.id)\n for (const b of m.buttons) if (b.checked) ids.push(b.id)\n }\n }\n return ids\n}\n"],"names":["toButtons","nodes","grantedSet","b","MenuType","toMenuRow","m","prefix","anchorRow","ownerId","buttons","anchorTitle","catalogRows","node","rows","child","recomputeGroup","group","items","checkedCount","x","buildGroups","tree","groups","menus","rootButtons","collectChecked","ids","g"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ declare const __VLS_export: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
2
+ declare const _default: typeof __VLS_export;
3
+ export default _default;
@@ -0,0 +1,5 @@
1
+ import f from "./index2.vue.js";
2
+ export {
3
+ f as default
4
+ };
5
+ //# sourceMappingURL=index.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,476 @@
1
+ import { defineComponent as he, ref as m, shallowRef as M, onMounted as be, reactive as K, computed as W, resolveDirective as ge, openBlock as g, createElementBlock as we, Fragment as ke, createVNode as a, unref as o, withCtx as s, withDirectives as H, createBlock as C, createTextVNode as L, toDisplayString as J, createCommentVNode as D, h as b } from "vue";
2
+ import { useMessage as Se, NButton as w, NForm as Q, NFormItem as f, NInput as R, NInputNumber as Ue, NSwitch as X, NSelect as Te, NSpace as Ce, NDropdown as De } from "naive-ui";
3
+ import { useI18n as Ie } from "vue-i18n";
4
+ import { SmartTable as Oe } from "smart-naive-table";
5
+ import Y from "../../../components/AppIcon.vue.js";
6
+ import _ from "../../../components/FormContainer/index.vue.js";
7
+ /* empty css */
8
+ import Ae from "../../../components/StatusSwitch/index.vue.js";
9
+ import Ne from "../../../components/OrgTreeSelect/index.vue.js";
10
+ import Pe from "../../../components/UserPicker/index.vue.js";
11
+ import xe from "./components/GrantMenuTable.vue.js";
12
+ import { useConfirm as Me } from "../../../composables/useConfirm.js";
13
+ import { useBatchDelete as Re } from "../../../composables/useBatchDelete.js";
14
+ import { moduleApi as _e, roleApi as d, userApi as qe, menuApi as ze } from "../../../api/index.js";
15
+ import { useAuthStore as Ee } from "../../../stores/auth.js";
16
+ import { translateError as v } from "../../../utils/error.js";
17
+ import { DataScopeType as y } from "../../../types/api.js";
18
+ const Z = 0, ol = /* @__PURE__ */ he({
19
+ __name: "index",
20
+ setup(Be) {
21
+ const { t } = Ie(), c = Se(), { confirm: ee } = Me(), i = Ee(), k = m(), I = M([]);
22
+ be(async () => {
23
+ try {
24
+ I.value = await _e.list();
25
+ } catch {
26
+ }
27
+ });
28
+ async function q(l) {
29
+ try {
30
+ const { total: e } = await qe.page({ page: 1, pageSize: 1, roleId: l });
31
+ return e;
32
+ } catch {
33
+ return null;
34
+ }
35
+ }
36
+ const {
37
+ checkedKeys: z,
38
+ hasSelection: le,
39
+ run: te
40
+ } = Re({
41
+ remove: d.batchRemove,
42
+ refresh: () => {
43
+ var l;
44
+ return (l = k.value) == null ? void 0 : l.refresh();
45
+ },
46
+ successMsg: t("role.deleted"),
47
+ content: async (l) => {
48
+ const e = await Promise.all(l.map(q));
49
+ if (e.some((r) => r === null)) return t("common.batchDeleteConfirm", { count: l.length });
50
+ const n = e.reduce((r, T) => r + T, 0);
51
+ return n === 0 ? t("common.batchDeleteConfirm", { count: l.length }) : t("role.batchDeleteWithUsers", { count: l.length, users: n });
52
+ }
53
+ });
54
+ async function oe(l) {
55
+ var T;
56
+ const e = await q(l.id), n = e === null ? t("role.deleteConfirm", { name: l.name }) : e === 0 ? t("role.deleteConfirmNoUsers", { name: l.name }) : t("role.deleteConfirmWithUsers", { name: l.name, count: e });
57
+ await ee({
58
+ content: n,
59
+ type: "error",
60
+ action: () => d.remove(l.id),
61
+ successMsg: t("role.deleted")
62
+ }) && ((T = k.value) == null || T.refresh());
63
+ }
64
+ const E = (l) => ({
65
+ name: l.name,
66
+ code: l.code,
67
+ sort: l.sort,
68
+ enabled: l.enabled,
69
+ remark: l.remark ?? "",
70
+ isDelegatable: l.isDelegatable ?? !1
71
+ }), re = [
72
+ { type: "selection" },
73
+ { type: "index", title: () => t("common.rowNo"), width: 64, align: "center" },
74
+ { key: "code", title: () => t("role.code") },
75
+ { key: "name", title: () => t("role.name"), search: !0 },
76
+ { key: "sort", title: () => t("role.sort"), width: 80 },
77
+ {
78
+ key: "enabled",
79
+ title: () => t("common.status"),
80
+ width: 90,
81
+ render: (l) => b(Ae, {
82
+ value: l.enabled,
83
+ disabled: !i.isSuperAdmin || !i.hasPerm("PUT:/api/v1/sys/role/{id}"),
84
+ request: (e) => d.update(l.id, { ...E(l), enabled: e }),
85
+ "onUpdate:value": (e) => {
86
+ l.enabled = e;
87
+ }
88
+ })
89
+ },
90
+ {
91
+ key: "remark",
92
+ title: () => t("role.remark"),
93
+ ellipsis: { tooltip: !0 },
94
+ render: (l) => l.remark || "—"
95
+ },
96
+ {
97
+ key: "op",
98
+ title: () => t("common.operation"),
99
+ width: 240,
100
+ fixed: "right",
101
+ hideInSetting: !0,
102
+ render: (l) => {
103
+ const e = [
104
+ i.isSuperAdmin && i.hasPerm("PUT:/api/v1/sys/role/menu") ? { label: t("role.grantMenus"), key: "menus" } : null,
105
+ i.isSuperAdmin && i.hasPerm("PUT:/api/v1/sys/role/datascope") ? { label: t("role.dataScope"), key: "scope" } : null,
106
+ i.hasPerm("PUT:/api/v1/sys/role/users") ? { label: t("role.grantUsers"), key: "users" } : null
107
+ ].filter((n) => n !== null);
108
+ return b(Ce, { size: 4, wrapItem: !1 }, () => [
109
+ i.isSuperAdmin && i.hasPerm("PUT:/api/v1/sys/role/{id}") ? b(
110
+ w,
111
+ { size: "small", quaternary: !0, type: "primary", onClick: () => se(l) },
112
+ () => t("common.edit")
113
+ ) : null,
114
+ i.isSuperAdmin && i.hasPerm("DELETE:/api/v1/sys/role/{id}") ? b(
115
+ w,
116
+ { size: "small", quaternary: !0, type: "error", onClick: () => oe(l) },
117
+ () => t("common.delete")
118
+ ) : null,
119
+ e.length ? b(
120
+ De,
121
+ {
122
+ options: e,
123
+ onSelect: (n) => {
124
+ n === "menus" ? ie(l) : n === "scope" ? ve(l) : me(l);
125
+ }
126
+ },
127
+ () => b(w, { size: "small", quaternary: !0 }, () => t("common.more"))
128
+ ) : null
129
+ ]);
130
+ }
131
+ }
132
+ ], S = m(!1), B = m(null), h = m(null), ae = {
133
+ code: {
134
+ required: !0,
135
+ whitespace: !0,
136
+ message: () => t("role.codeRequired"),
137
+ trigger: ["input", "blur"]
138
+ },
139
+ name: {
140
+ required: !0,
141
+ whitespace: !0,
142
+ message: () => t("role.nameRequired"),
143
+ trigger: ["input", "blur"]
144
+ }
145
+ }, F = () => ({
146
+ name: "",
147
+ code: "",
148
+ sort: 0,
149
+ enabled: !0,
150
+ remark: "",
151
+ isDelegatable: !1
152
+ }), u = K(F());
153
+ function ne() {
154
+ h.value = null, Object.assign(u, F()), S.value = !0;
155
+ }
156
+ function se(l) {
157
+ h.value = l.id, Object.assign(u, E(l)), S.value = !0;
158
+ }
159
+ async function ue() {
160
+ var l, e;
161
+ await ((l = B.value) == null ? void 0 : l.validate());
162
+ try {
163
+ h.value === null ? await d.add({ ...u }) : await d.update(h.value, { ...u }), c.success(t("role.saved")), await ((e = k.value) == null ? void 0 : e.refresh());
164
+ } catch (n) {
165
+ return c.error(v(n)), !1;
166
+ }
167
+ }
168
+ const O = m(!1), $ = M([]), U = M([]), A = m(null), G = m(Z);
169
+ async function ie(l) {
170
+ var e;
171
+ A.value = l.id;
172
+ try {
173
+ const [n, r] = await Promise.all([ze.tree(), d.getMenus(l.id)]);
174
+ $.value = n, U.value = r, G.value = i.currentModuleId ?? ((e = I.value[0]) == null ? void 0 : e.id) ?? Z, O.value = !0;
175
+ } catch (n) {
176
+ c.error(v(n));
177
+ }
178
+ }
179
+ function ce(l) {
180
+ U.value = l;
181
+ }
182
+ async function de() {
183
+ if (A.value !== null)
184
+ try {
185
+ await d.setMenus(A.value, U.value), c.success(t("role.grantSaved"));
186
+ } catch (l) {
187
+ return c.error(v(l)), !1;
188
+ }
189
+ }
190
+ const V = m(null), N = m(null);
191
+ async function me(l) {
192
+ var e;
193
+ N.value = l.id;
194
+ try {
195
+ const n = await d.getUsers(l.id);
196
+ (e = V.value) == null || e.open(n);
197
+ } catch (n) {
198
+ c.error(v(n));
199
+ }
200
+ }
201
+ async function pe(l) {
202
+ if (N.value !== null)
203
+ try {
204
+ await d.setUsers(N.value, l), c.success(t("role.grantUsersSaved"));
205
+ } catch (e) {
206
+ c.error(v(e));
207
+ }
208
+ }
209
+ const P = m(!1), x = m(null), p = K({
210
+ scopeType: y.Org,
211
+ customOrgIds: []
212
+ }), j = W(() => p.scopeType === y.Custom), fe = W(() => [
213
+ { label: t("role.scope.all"), value: y.All },
214
+ { label: t("role.scope.org"), value: y.Org },
215
+ { label: t("role.scope.orgAndChildren"), value: y.OrgAndChildren },
216
+ { label: t("role.scope.self"), value: y.Self },
217
+ { label: t("role.scope.custom"), value: y.Custom }
218
+ ]);
219
+ async function ve(l) {
220
+ x.value = l.id;
221
+ try {
222
+ const e = await d.getDataScope(l.id);
223
+ p.scopeType = (e == null ? void 0 : e.scopeType) ?? y.Org, p.customOrgIds = e != null && e.customOrgIds ? e.customOrgIds.split(",").filter(Boolean).map(Number) : [], P.value = !0;
224
+ } catch (e) {
225
+ c.error(v(e));
226
+ }
227
+ }
228
+ async function ye() {
229
+ if (x.value !== null)
230
+ try {
231
+ await d.setDataScope(
232
+ x.value,
233
+ p.scopeType,
234
+ j.value ? p.customOrgIds : void 0
235
+ ), c.success(t("role.scopeSaved"));
236
+ } catch (l) {
237
+ return c.error(v(l)), !1;
238
+ }
239
+ }
240
+ return (l, e) => {
241
+ const n = ge("auth");
242
+ return g(), we(ke, null, [
243
+ a(o(Oe), {
244
+ "default-page-size": 100,
245
+ ref_key: "tableRef",
246
+ ref: k,
247
+ columns: re,
248
+ fetcher: o(d).page,
249
+ "flex-height": "",
250
+ "virtual-scroll": "",
251
+ "storage-key": "sys-role",
252
+ "checked-row-keys": o(z),
253
+ "onUpdate:checkedRowKeys": e[0] || (e[0] = (r) => z.value = r),
254
+ onError: e[1] || (e[1] = (r) => o(c).error(o(v)(r)))
255
+ }, {
256
+ toolbar: s(() => [
257
+ o(i).isSuperAdmin ? H((g(), C(o(w), {
258
+ key: 0,
259
+ type: "primary",
260
+ onClick: ne
261
+ }, {
262
+ icon: s(() => [
263
+ a(Y, {
264
+ icon: "ph:plus",
265
+ size: 16
266
+ })
267
+ ]),
268
+ default: s(() => [
269
+ L(" " + J(o(t)("common.add")), 1)
270
+ ]),
271
+ _: 1
272
+ })), [
273
+ [n, "POST:/api/v1/sys/role/add"]
274
+ ]) : D("", !0),
275
+ o(i).isSuperAdmin ? H((g(), C(o(w), {
276
+ key: 1,
277
+ type: "error",
278
+ disabled: !o(le),
279
+ onClick: o(te)
280
+ }, {
281
+ icon: s(() => [
282
+ a(Y, {
283
+ icon: "ph:trash",
284
+ size: 16
285
+ })
286
+ ]),
287
+ default: s(() => [
288
+ L(" " + J(o(t)("common.batchDelete")), 1)
289
+ ]),
290
+ _: 1
291
+ }, 8, ["disabled", "onClick"])), [
292
+ [n, "POST:/api/v1/sys/role/batch-delete"]
293
+ ]) : D("", !0)
294
+ ]),
295
+ _: 1
296
+ }, 8, ["fetcher", "checked-row-keys"]),
297
+ a(_, {
298
+ show: S.value,
299
+ "onUpdate:show": e[8] || (e[8] = (r) => S.value = r),
300
+ title: h.value === null ? o(t)("role.addTitle") : o(t)("role.editTitle"),
301
+ width: 480,
302
+ "on-confirm": ue,
303
+ "confirm-text": o(t)("common.save")
304
+ }, {
305
+ default: s(() => [
306
+ a(o(Q), {
307
+ ref_key: "formRef",
308
+ ref: B,
309
+ model: u,
310
+ rules: ae,
311
+ "label-placement": "left",
312
+ "label-width": 80
313
+ }, {
314
+ default: s(() => [
315
+ a(o(f), {
316
+ label: o(t)("role.code"),
317
+ path: "code"
318
+ }, {
319
+ default: s(() => [
320
+ a(o(R), {
321
+ value: u.code,
322
+ "onUpdate:value": e[2] || (e[2] = (r) => u.code = r),
323
+ placeholder: o(t)("role.code"),
324
+ disabled: h.value !== null
325
+ }, null, 8, ["value", "placeholder", "disabled"])
326
+ ]),
327
+ _: 1
328
+ }, 8, ["label"]),
329
+ a(o(f), {
330
+ label: o(t)("role.name"),
331
+ path: "name"
332
+ }, {
333
+ default: s(() => [
334
+ a(o(R), {
335
+ value: u.name,
336
+ "onUpdate:value": e[3] || (e[3] = (r) => u.name = r),
337
+ placeholder: o(t)("role.name")
338
+ }, null, 8, ["value", "placeholder"])
339
+ ]),
340
+ _: 1
341
+ }, 8, ["label"]),
342
+ a(o(f), {
343
+ label: o(t)("role.sort")
344
+ }, {
345
+ default: s(() => [
346
+ a(o(Ue), {
347
+ value: u.sort,
348
+ "onUpdate:value": e[4] || (e[4] = (r) => u.sort = r),
349
+ min: 0,
350
+ style: { width: "160px" }
351
+ }, null, 8, ["value"])
352
+ ]),
353
+ _: 1
354
+ }, 8, ["label"]),
355
+ a(o(f), {
356
+ label: o(t)("role.remark")
357
+ }, {
358
+ default: s(() => [
359
+ a(o(R), {
360
+ value: u.remark,
361
+ "onUpdate:value": e[5] || (e[5] = (r) => u.remark = r),
362
+ type: "textarea",
363
+ rows: 2,
364
+ placeholder: o(t)("role.remark")
365
+ }, null, 8, ["value", "placeholder"])
366
+ ]),
367
+ _: 1
368
+ }, 8, ["label"]),
369
+ a(o(f), {
370
+ label: o(t)("common.status")
371
+ }, {
372
+ default: s(() => [
373
+ a(o(X), {
374
+ value: u.enabled,
375
+ "onUpdate:value": e[6] || (e[6] = (r) => u.enabled = r)
376
+ }, null, 8, ["value"])
377
+ ]),
378
+ _: 1
379
+ }, 8, ["label"]),
380
+ o(i).isSuperAdmin ? (g(), C(o(f), {
381
+ key: 0,
382
+ label: o(t)("role.isDelegatable")
383
+ }, {
384
+ default: s(() => [
385
+ a(o(X), {
386
+ value: u.isDelegatable,
387
+ "onUpdate:value": e[7] || (e[7] = (r) => u.isDelegatable = r)
388
+ }, null, 8, ["value"])
389
+ ]),
390
+ _: 1
391
+ }, 8, ["label"])) : D("", !0)
392
+ ]),
393
+ _: 1
394
+ }, 8, ["model"])
395
+ ]),
396
+ _: 1
397
+ }, 8, ["show", "title", "confirm-text"]),
398
+ a(_, {
399
+ show: O.value,
400
+ "onUpdate:show": e[9] || (e[9] = (r) => O.value = r),
401
+ title: o(t)("role.grantMenus"),
402
+ width: 820,
403
+ "on-confirm": de,
404
+ "confirm-text": o(t)("common.save")
405
+ }, {
406
+ default: s(() => [
407
+ a(xe, {
408
+ tree: $.value,
409
+ granted: U.value,
410
+ modules: I.value,
411
+ "default-module-id": G.value,
412
+ "onUpdate:checked": ce
413
+ }, null, 8, ["tree", "granted", "modules", "default-module-id"])
414
+ ]),
415
+ _: 1
416
+ }, 8, ["show", "title", "confirm-text"]),
417
+ a(Pe, {
418
+ ref_key: "userPickerRef",
419
+ ref: V,
420
+ onConfirm: pe
421
+ }, null, 512),
422
+ a(_, {
423
+ show: P.value,
424
+ "onUpdate:show": e[12] || (e[12] = (r) => P.value = r),
425
+ title: o(t)("role.dataScope"),
426
+ width: 480,
427
+ "on-confirm": ye,
428
+ "confirm-text": o(t)("common.save")
429
+ }, {
430
+ default: s(() => [
431
+ a(o(Q), {
432
+ model: p,
433
+ "label-placement": "left",
434
+ "label-width": 90
435
+ }, {
436
+ default: s(() => [
437
+ a(o(f), {
438
+ label: o(t)("role.scopeType")
439
+ }, {
440
+ default: s(() => [
441
+ a(o(Te), {
442
+ value: p.scopeType,
443
+ "onUpdate:value": e[10] || (e[10] = (r) => p.scopeType = r),
444
+ options: fe.value
445
+ }, null, 8, ["value", "options"])
446
+ ]),
447
+ _: 1
448
+ }, 8, ["label"]),
449
+ j.value ? (g(), C(o(f), {
450
+ key: 0,
451
+ label: o(t)("role.customOrgs")
452
+ }, {
453
+ default: s(() => [
454
+ a(Ne, {
455
+ value: p.customOrgIds,
456
+ "onUpdate:value": e[11] || (e[11] = (r) => p.customOrgIds = r),
457
+ multiple: "",
458
+ placeholder: o(t)("role.customOrgsHint")
459
+ }, null, 8, ["value", "placeholder"])
460
+ ]),
461
+ _: 1
462
+ }, 8, ["label"])) : D("", !0)
463
+ ]),
464
+ _: 1
465
+ }, 8, ["model"])
466
+ ]),
467
+ _: 1
468
+ }, 8, ["show", "title", "confirm-text"])
469
+ ], 64);
470
+ };
471
+ }
472
+ });
473
+ export {
474
+ ol as default
475
+ };
476
+ //# sourceMappingURL=index2.vue.js.map