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,427 @@
1
+ import { defineComponent as J, ref as s, computed as Q, onMounted as X, watch as Y, resolveDirective as Z, openBlock as f, createElementBlock as ee, Fragment as re, createElementVNode as A, createVNode as i, unref as a, withCtx as n, toDisplayString as v, createBlock as h, createTextVNode as k, createCommentVNode as te, withDirectives as x, h as m } from "vue";
2
+ import { useRoute as oe } from "vue-router";
3
+ import { useMessage as ae, NCard as le, NButton as p, NTree as se, NAvatar as ie, NTag as ne, NSpace as ue, NPopconfirm as me, NDropdown as de } from "naive-ui";
4
+ import { useI18n as pe } from "vue-i18n";
5
+ import { SmartTable as ce } from "smart-naive-table";
6
+ import E from "../../../components/AppIcon.vue.js";
7
+ import fe from "../../../components/StatusSwitch/index.vue.js";
8
+ import ve from "../../../components/DictTag/index.vue.js";
9
+ import ye from "../../../components/ImportWizard/index.vue.js";
10
+ import ge from "../../../components/ExportColumnsModal/index.vue.js";
11
+ import he from "./components/UserFormModal.vue.js";
12
+ import ke from "./components/ResetPasswordModal.vue.js";
13
+ import { useConfirm as be } from "../../../composables/useConfirm.js";
14
+ import { useBatchDelete as we } from "../../../composables/useBatchDelete.js";
15
+ import { userApi as u, positionApi as xe, roleApi as Ee, orgApi as Ne, mfaApi as Se } from "../../../api/index.js";
16
+ import { useAuthStore as Te } from "../../../stores/auth.js";
17
+ import { translateError as U } from "../../../utils/error.js";
18
+ import { triggerBlobDownload as Ce } from "../../../utils/download.js";
19
+ import { buildTree as Pe } from "../../../utils/tree.js";
20
+ const Ie = { class: "user-layout side-page" }, Ae = { class: "org-filter-head" }, ze = { class: "org-filter-title" }, Ye = /* @__PURE__ */ J({
21
+ __name: "index",
22
+ setup(Me) {
23
+ const { t } = pe(), N = ae(), { run: _, confirm: $ } = be(), y = Te(), d = s(), {
24
+ checkedKeys: z,
25
+ hasSelection: B,
26
+ run: F
27
+ } = we({
28
+ remove: u.batchRemove,
29
+ refresh: () => {
30
+ var e;
31
+ return (e = d.value) == null ? void 0 : e.refresh();
32
+ },
33
+ successMsg: t("user.deleted")
34
+ }), S = s(null), T = s(null), b = s(!1);
35
+ async function q(e) {
36
+ var r;
37
+ b.value = !0;
38
+ try {
39
+ await $({
40
+ content: t("user.clearMfaConfirm", { name: e.name }),
41
+ action: () => Se.clear({ userId: e.id }),
42
+ successMsg: t("user.mfaCleared")
43
+ }) && ((r = d.value) == null || r.refresh());
44
+ } finally {
45
+ b.value = !1;
46
+ }
47
+ }
48
+ const M = s([]), C = s([]), R = s([]), O = s([]), c = s(null), V = Q(
49
+ () => c.value == null ? {} : { orgId: c.value }
50
+ );
51
+ function G(e) {
52
+ c.value = e.length ? Number(e[0]) : null;
53
+ }
54
+ X(async () => {
55
+ try {
56
+ const { items: e } = await xe.page({ page: 1, pageSize: 200 });
57
+ M.value = e.map((r) => ({ label: r.name, value: r.id }));
58
+ } catch {
59
+ }
60
+ try {
61
+ const { items: e } = await Ee.page({ page: 1, pageSize: 200 });
62
+ C.value = e.map((r) => ({ label: r.name, value: r.id }));
63
+ } catch {
64
+ }
65
+ try {
66
+ const { items: e } = await u.page({ page: 1, pageSize: 200 });
67
+ R.value = e.map((r) => ({ label: `${r.name}(${r.account})`, value: r.id }));
68
+ } catch {
69
+ }
70
+ try {
71
+ O.value = Pe(await Ne.list());
72
+ } catch {
73
+ }
74
+ });
75
+ const K = oe();
76
+ Y(
77
+ [d, () => K.query.roleId],
78
+ ([e, r]) => {
79
+ if (!e) return;
80
+ const l = r == null ? void 0 : Number(r);
81
+ e.params.roleId !== l && (e.params.roleId = l, e.search());
82
+ },
83
+ { immediate: !0 }
84
+ );
85
+ const D = (e) => (e || "?").slice(0, 1), P = s(!1), w = s(!1), I = s(!1), L = [
86
+ { key: "Account", title: t("userExport.account") },
87
+ { key: "Name", title: t("userExport.name") },
88
+ { key: "Nickname", title: t("userExport.nickname") },
89
+ { key: "Phone", title: t("userExport.phone") },
90
+ { key: "Email", title: t("userExport.email") },
91
+ { key: "Gender", title: t("userExport.gender") },
92
+ { key: "OrgName", title: t("userExport.orgName") },
93
+ { key: "PositionName", title: t("userExport.positionName") },
94
+ { key: "DirectorName", title: t("userExport.directorName") },
95
+ { key: "Enabled", title: t("userExport.enabled") },
96
+ { key: "IsSuperAdmin", title: t("userExport.superAdmin"), defaultSelected: !1 },
97
+ { key: "CreateTime", title: t("userExport.createTime") }
98
+ ], j = {
99
+ downloadTemplate: () => u.importTemplate(),
100
+ preview: (e, r) => u.importPreview(e, r),
101
+ validate: (e) => u.importValidate(e),
102
+ commit: (e, r) => u.importCommit(e, r),
103
+ errorReport: (e) => u.importErrorReport(e)
104
+ };
105
+ async function W(e) {
106
+ var l;
107
+ const r = ((l = d.value) == null ? void 0 : l.params) ?? {};
108
+ I.value = !0;
109
+ try {
110
+ const o = await u.export({
111
+ account: r.account || void 0,
112
+ name: r.name || void 0,
113
+ orgId: r.orgId != null ? Number(r.orgId) : void 0,
114
+ roleId: r.roleId != null ? Number(r.roleId) : void 0,
115
+ sortField: r.sortField || void 0,
116
+ sortOrder: r.sortOrder || void 0,
117
+ columns: e.join(",")
118
+ });
119
+ Ce(o, t("userExport.fileName")), w.value = !1, N.success(t("export.done"));
120
+ } catch (o) {
121
+ N.error(U(o));
122
+ } finally {
123
+ I.value = !1;
124
+ }
125
+ }
126
+ const H = [
127
+ { type: "index", title: () => t("common.rowNo"), width: 64, align: "center" },
128
+ // 超管行禁勾:批量删除同样不可含超管(后端也会整体拒绝)
129
+ { type: "selection", disabled: (e) => e.isSuperAdmin },
130
+ {
131
+ key: "avatar",
132
+ title: () => t("user.avatar"),
133
+ width: 64,
134
+ align: "center",
135
+ hideInSetting: !1,
136
+ render: (e) => m(
137
+ ie,
138
+ { round: !0, size: "small", src: e.avatar || void 0 },
139
+ e.avatar ? { fallback: () => D(e.name) } : { default: () => D(e.name) }
140
+ )
141
+ },
142
+ { key: "account", title: () => t("user.account"), search: !0, sorter: !0 },
143
+ { key: "name", title: () => t("user.name"), search: !0 },
144
+ { key: "phone", title: () => t("user.phone"), render: (e) => e.phone || "—" },
145
+ {
146
+ key: "gender",
147
+ title: () => t("user.gender"),
148
+ width: 80,
149
+ hideInTable: !0,
150
+ // 次要列:默认隐藏收窄整表,列设置抽屉可打开
151
+ render: (e) => e.gender ? m(ve, { typeCode: "gender", value: e.gender }) : "—"
152
+ },
153
+ // 只作搜索项,不进表格也不进列设置。options 直接吃编辑表单已拉好的 roleOptions(SmartTable 支持 Ref 选项源),不额外发请求;
154
+ // 列上有 options,搜索控件自动是 select。
155
+ {
156
+ key: "roleId",
157
+ title: () => t("user.roles"),
158
+ hideInTable: !0,
159
+ options: C,
160
+ search: { props: { clearable: !0 } }
161
+ },
162
+ { key: "orgName", title: () => t("user.org"), render: (e) => e.orgName || "—" },
163
+ {
164
+ key: "positionName",
165
+ title: () => t("user.position"),
166
+ hideInTable: !0,
167
+ render: (e) => e.positionName || "—"
168
+ },
169
+ {
170
+ key: "enabled",
171
+ title: () => t("user.status"),
172
+ width: 90,
173
+ render: (e) => m(fe, {
174
+ value: e.enabled,
175
+ // 超管不可停用(防自锁 —— 停了就没法从 UI 恢复;后端也保护);无启停权限亦置灰。
176
+ disabled: e.isSuperAdmin || !y.hasPerm("PUT:/api/v1/sys/user/{id}/enabled"),
177
+ confirm: (r) => r ? null : t("user.disableConfirm", { name: e.name }),
178
+ request: (r) => u.setEnabled(e.id, r),
179
+ "onUpdate:value": (r) => {
180
+ e.enabled = r;
181
+ }
182
+ })
183
+ },
184
+ {
185
+ key: "isSuperAdmin",
186
+ title: () => t("user.superAdmin"),
187
+ width: 90,
188
+ render: (e) => e.isSuperAdmin ? m(ne, { type: "warning", size: "small", bordered: !1 }, () => t("user.superAdmin")) : "—"
189
+ },
190
+ { key: "createTime", title: () => t("user.createTime"), format: "datetime", sorter: !0 },
191
+ // 操作:编辑/删除外露;重置密码、解绑验证器进「更多」(放操作列末尾)。
192
+ // width 须够「编辑+删除+更多」单行;wrap:false 禁止 NSpace 默认换行(否则「更多」掉到删除下一行)。
193
+ {
194
+ key: "op",
195
+ title: () => t("common.operation"),
196
+ width: 200,
197
+ fixed: "right",
198
+ // 钉右:横向滚动时操作列始终可见
199
+ hideInSetting: !0,
200
+ render: (e) => {
201
+ const r = [
202
+ y.hasPerm("PUT:/api/v1/sys/user/{id}/password") ? { key: "resetPassword", label: t("user.resetPassword") } : null,
203
+ e.totpEnabled && y.hasPerm("POST:/api/v1/sys/mfa/clear") ? { key: "clearMfa", label: t("user.clearMfa"), disabled: b.value } : null
204
+ ].filter(Boolean);
205
+ return m(ue, { size: 4, wrap: !1, wrapItem: !1 }, () => [
206
+ y.hasPerm("PUT:/api/v1/sys/user/{id}") ? m(
207
+ p,
208
+ {
209
+ size: "small",
210
+ quaternary: !0,
211
+ type: "primary",
212
+ onClick: () => {
213
+ var l;
214
+ return (l = S.value) == null ? void 0 : l.openEdit(e);
215
+ }
216
+ },
217
+ () => t("common.edit")
218
+ ) : null,
219
+ e.isSuperAdmin || !y.hasPerm("DELETE:/api/v1/sys/user/{id}") ? null : m(
220
+ me,
221
+ {
222
+ onPositiveClick: () => _(() => u.remove(e.id), t("user.deleted")).then((l) => {
223
+ var o;
224
+ l && ((o = d.value) == null || o.refresh());
225
+ })
226
+ },
227
+ {
228
+ trigger: () => m(
229
+ p,
230
+ { size: "small", quaternary: !0, type: "error" },
231
+ () => t("common.delete")
232
+ ),
233
+ default: () => t("user.deleteConfirm", { name: e.name })
234
+ }
235
+ ),
236
+ r.length ? m(
237
+ de,
238
+ {
239
+ trigger: "click",
240
+ options: r,
241
+ onSelect: (l) => {
242
+ var o;
243
+ l === "resetPassword" ? (o = T.value) == null || o.openReset(e) : l === "clearMfa" && q(e);
244
+ }
245
+ },
246
+ () => m(
247
+ p,
248
+ { size: "small", quaternary: !0, loading: b.value },
249
+ () => t("common.more")
250
+ )
251
+ ) : null
252
+ ]);
253
+ }
254
+ }
255
+ ];
256
+ return (e, r) => {
257
+ const l = Z("auth");
258
+ return f(), ee(re, null, [
259
+ A("div", Ie, [
260
+ i(a(le), {
261
+ class: "org-filter fill-card",
262
+ bordered: !1,
263
+ size: "small"
264
+ }, {
265
+ default: n(() => [
266
+ A("div", Ae, [
267
+ A("span", ze, v(a(t)("user.org")), 1),
268
+ c.value != null ? (f(), h(a(p), {
269
+ key: 0,
270
+ text: "",
271
+ size: "tiny",
272
+ type: "primary",
273
+ onClick: r[0] || (r[0] = (o) => c.value = null)
274
+ }, {
275
+ default: n(() => [
276
+ k(v(a(t)("user.allOrgs")), 1)
277
+ ]),
278
+ _: 1
279
+ })) : te("", !0)
280
+ ]),
281
+ i(a(se), {
282
+ "block-line": "",
283
+ selectable: "",
284
+ data: O.value,
285
+ "key-field": "id",
286
+ "label-field": "name",
287
+ "children-field": "children",
288
+ "selected-keys": c.value == null ? [] : [c.value],
289
+ "onUpdate:selectedKeys": G
290
+ }, null, 8, ["data", "selected-keys"])
291
+ ]),
292
+ _: 1
293
+ }),
294
+ i(a(ce), {
295
+ "default-page-size": 100,
296
+ ref_key: "tableRef",
297
+ ref: d,
298
+ columns: H,
299
+ fetcher: a(u).page,
300
+ params: V.value,
301
+ "flex-height": "",
302
+ "virtual-scroll": "",
303
+ "storage-key": "sys-user",
304
+ "checked-row-keys": a(z),
305
+ "onUpdate:checkedRowKeys": r[4] || (r[4] = (o) => z.value = o),
306
+ onError: r[5] || (r[5] = (o) => a(N).error(a(U)(o)))
307
+ }, {
308
+ toolbar: n(() => [
309
+ x((f(), h(a(p), {
310
+ type: "primary",
311
+ onClick: r[1] || (r[1] = (o) => {
312
+ var g;
313
+ return (g = S.value) == null ? void 0 : g.openAdd();
314
+ })
315
+ }, {
316
+ icon: n(() => [
317
+ i(E, {
318
+ icon: "ph:plus",
319
+ size: 16
320
+ })
321
+ ]),
322
+ default: n(() => [
323
+ k(" " + v(a(t)("common.add")), 1)
324
+ ]),
325
+ _: 1
326
+ })), [
327
+ [l, "POST:/api/v1/sys/user"]
328
+ ]),
329
+ x((f(), h(a(p), {
330
+ type: "error",
331
+ disabled: !a(B),
332
+ onClick: a(F)
333
+ }, {
334
+ icon: n(() => [
335
+ i(E, {
336
+ icon: "ph:trash",
337
+ size: 16
338
+ })
339
+ ]),
340
+ default: n(() => [
341
+ k(" " + v(a(t)("common.batchDelete")), 1)
342
+ ]),
343
+ _: 1
344
+ }, 8, ["disabled", "onClick"])), [
345
+ [l, "POST:/api/v1/sys/user/batch-delete"]
346
+ ]),
347
+ x((f(), h(a(p), {
348
+ onClick: r[2] || (r[2] = (o) => P.value = !0)
349
+ }, {
350
+ icon: n(() => [
351
+ i(E, {
352
+ icon: "ph:upload-simple",
353
+ size: 16
354
+ })
355
+ ]),
356
+ default: n(() => [
357
+ k(" " + v(a(t)("import.button")), 1)
358
+ ]),
359
+ _: 1
360
+ })), [
361
+ [l, "POST:/api/v1/sys/user/import/preview"]
362
+ ]),
363
+ x((f(), h(a(p), {
364
+ onClick: r[3] || (r[3] = (o) => w.value = !0)
365
+ }, {
366
+ icon: n(() => [
367
+ i(E, {
368
+ icon: "ph:download-simple",
369
+ size: 16
370
+ })
371
+ ]),
372
+ default: n(() => [
373
+ k(" " + v(a(t)("export.button")), 1)
374
+ ]),
375
+ _: 1
376
+ })), [
377
+ [l, "GET:/api/v1/sys/user/export"]
378
+ ])
379
+ ]),
380
+ _: 1
381
+ }, 8, ["fetcher", "params", "checked-row-keys"])
382
+ ]),
383
+ i(he, {
384
+ ref_key: "userFormRef",
385
+ ref: S,
386
+ "position-options": M.value,
387
+ "role-options": C.value,
388
+ "director-options": R.value,
389
+ onSaved: r[6] || (r[6] = () => {
390
+ var o;
391
+ return (o = d.value) == null ? void 0 : o.refresh();
392
+ }),
393
+ onPasswordGenerated: r[7] || (r[7] = (o) => {
394
+ var g;
395
+ return (g = T.value) == null ? void 0 : g.showResult(o, !0);
396
+ })
397
+ }, null, 8, ["position-options", "role-options", "director-options"]),
398
+ i(ke, {
399
+ ref_key: "resetModalRef",
400
+ ref: T
401
+ }, null, 512),
402
+ i(ye, {
403
+ show: P.value,
404
+ "onUpdate:show": r[8] || (r[8] = (o) => P.value = o),
405
+ api: j,
406
+ "template-file-name": a(t)("userExport.importTemplateName"),
407
+ "error-report-file-name": a(t)("userExport.errorReportName"),
408
+ onDone: r[9] || (r[9] = () => {
409
+ var o;
410
+ return (o = d.value) == null ? void 0 : o.refresh();
411
+ })
412
+ }, null, 8, ["show", "template-file-name", "error-report-file-name"]),
413
+ i(ge, {
414
+ show: w.value,
415
+ "onUpdate:show": r[10] || (r[10] = (o) => w.value = o),
416
+ columns: L,
417
+ loading: I.value,
418
+ onConfirm: W
419
+ }, null, 8, ["show", "loading"])
420
+ ], 64);
421
+ };
422
+ }
423
+ });
424
+ export {
425
+ Ye as default
426
+ };
427
+ //# sourceMappingURL=index2.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index2.vue.js","sources":["../../../../src/views/system/user/index.vue"],"sourcesContent":["<script setup lang=\"ts\">\n// 用户管理(写侧)= SmartTable(列表/搜索/分页)+ UserFormModal(新增/编辑)+ ResetPasswordModal(重置/初始口令展示)+ 专用启停端点。\n// 超管行(isSuperAdmin)删除/停用置灰防自锁;启停走专用 setEnabled(非全量 update)。\n// 导入导出:ImportWizard 四步向导 + ExportColumnsModal 选列导出(带当前筛选)。\nimport { computed, h, onMounted, ref, watch } from 'vue'\nimport { useRoute } from 'vue-router'\nimport {\n NButton,\n NCard,\n NTree,\n NSpace,\n NTag,\n NAvatar,\n NPopconfirm,\n NDropdown,\n useMessage,\n} from 'naive-ui'\nimport { useI18n } from 'vue-i18n'\nimport { SmartTable, type SmartTableColumn, type SmartTableInst } from 'smart-naive-table'\nimport AppIcon from '#/components/AppIcon.vue'\nimport StatusSwitch from '#/components/StatusSwitch/index.vue'\nimport DictTag from '#/components/DictTag/index.vue'\nimport ImportWizard, { type ImportWizardApi } from '#/components/ImportWizard/index.vue'\nimport ExportColumnsModal from '#/components/ExportColumnsModal/index.vue'\nimport UserFormModal from './components/UserFormModal.vue'\nimport ResetPasswordModal from './components/ResetPasswordModal.vue'\nimport { useConfirm } from '#/composables/useConfirm'\nimport { useBatchDelete } from '#/composables/useBatchDelete'\nimport { mfaApi, userApi, positionApi, roleApi, orgApi } from '#/api'\nimport { useAuthStore } from '#/stores/auth'\nimport { translateError } from '#/utils/error'\nimport { triggerBlobDownload } from '#/utils/download'\nimport { buildTree, type Tree } from '#/utils/tree'\nimport type { ExportColumnDef, SysOrg, UserItem } from '#/types/api'\n\nconst { t } = useI18n()\nconst message = useMessage()\nconst { run, confirm } = useConfirm()\nconst authStore = useAuthStore()\nconst tableRef = ref<SmartTableInst<UserItem>>()\nconst {\n checkedKeys,\n hasSelection,\n run: batchDelete,\n} = useBatchDelete({\n remove: userApi.batchRemove,\n refresh: () => tableRef.value?.refresh(),\n successMsg: t('user.deleted'),\n})\n\n// 新增/编辑弹窗 + 重置密码弹窗(表单/校验/保存均在各自组件内,父页只传下拉选项 + 收 saved/passwordGenerated)。\nconst userFormRef = ref<InstanceType<typeof UserFormModal> | null>(null)\nconst resetModalRef = ref<InstanceType<typeof ResetPasswordModal> | null>(null)\n\nconst clearMfaLoading = ref(false)\n\nasync function clearUserMfa(user: UserItem) {\n clearMfaLoading.value = true\n try {\n const ok = await confirm({\n content: t('user.clearMfaConfirm', { name: user.name }),\n action: () => mfaApi.clear({ userId: user.id }),\n successMsg: t('user.mfaCleared'),\n })\n if (ok) tableRef.value?.refresh()\n } finally {\n clearMfaLoading.value = false\n }\n}\n\n// 职位/角色/主管下拉:各拉一页足量。ponytail: 200 覆盖绝大多数系统;真超再上分页搜索。\n// roleOptions 一份两用:既喂编辑弹窗,也当列表页「角色」搜索项的选项源(SmartTable 支持 Ref 选项源)。\nconst positionOptions = ref<{ label: string; value: number }[]>([])\nconst roleOptions = ref<{ label: string; value: number }[]>([])\nconst directorOptions = ref<{ label: string; value: number }[]>([])\n// 左侧机构树筛选:选中节点即按其机构过滤用户;params 深监听联动 SmartTable(回第 1 页重查)。\nconst orgTree = ref<Tree<SysOrg>[]>([])\nconst selectedOrgId = ref<number | null>(null)\nconst tableParams = computed(() =>\n selectedOrgId.value == null ? {} : { orgId: selectedOrgId.value },\n)\nfunction onOrgSelect(keys: (string | number)[]) {\n // 再点选中项 → 取消选中 → 恢复全部\n selectedOrgId.value = keys.length ? Number(keys[0]) : null\n}\nonMounted(async () => {\n try {\n const { items } = await positionApi.page({ page: 1, pageSize: 200 })\n positionOptions.value = items.map(p => ({ label: p.name, value: p.id }))\n } catch {\n // 静默:职位是配角,不打断列表\n }\n try {\n const { items } = await roleApi.page({ page: 1, pageSize: 200 })\n roleOptions.value = items.map(r => ({ label: r.name, value: r.id }))\n } catch {\n // 静默:角色下拉拉取失败不打断列表\n }\n try {\n // 主管候选就是用户自身;拉一页足量作下拉源(允许把某用户选为自己主管,后台系统无害,不加环检)\n const { items } = await userApi.page({ page: 1, pageSize: 200 })\n directorOptions.value = items.map(u => ({ label: `${u.name}(${u.account})`, value: u.id }))\n } catch {\n // 静默:主管下拉是配角,拉取失败不打断列表\n }\n try {\n orgTree.value = buildTree(await orgApi.list())\n } catch {\n // 静默:机构树是筛选辅助,拉取失败不打断列表\n }\n})\n\n// 角色反查:角色页「查看用户」跳这里并带 ?roleId=。\n// 必须 watch 而非 onMounted:标签页按 path 做主键且页面被 keep-alive,本页标签已开着时再跳一次只换 query,\n// 组件实例被复用、onMounted 不会再触发。\n// 同时把 tableRef 一起纳入监听源:immediate 在 setup 期求值,那时表格实例还没挂上(ref 为空),\n// 只听 query 的话冷启动这一路会静默失效——实例就绪时这条 watch 会再触发一次,把筛选补上。\nconst route = useRoute()\nwatch(\n [tableRef, () => route.query.roleId],\n ([inst, roleId]) => {\n if (!inst) return\n const next = roleId == null ? undefined : Number(roleId)\n if (inst.params.roleId === next) return // 防抖:实例就绪与 query 变化可能各触发一次\n inst.params.roleId = next\n inst.search() // 回第 1 页重查\n },\n { immediate: true },\n)\n\n// 头像首字母兜底。NAvatar 的规矩:default 插槽一有内容就渲染它、彻底无视 src(见 naive Avatar.render)。\n// 所以有头像时 default 必须留空让 <img> 出来,首字母只放 #fallback(图挂了/链过期才兜底);无头像才用 default 当文字头像。\nconst initial = (name?: string | null) => (name || '?').slice(0, 1)\n\n// ── 导入 / 导出 ──\nconst importShow = ref(false)\nconst exportShow = ref(false)\nconst exporting = ref(false)\n\n/** 与后端 UserExportProfile.Columns 对齐(前端无列清单端点,照档案硬编码)。 */\nconst userExportColumns: ExportColumnDef[] = [\n { key: 'Account', title: t('userExport.account') },\n { key: 'Name', title: t('userExport.name') },\n { key: 'Nickname', title: t('userExport.nickname') },\n { key: 'Phone', title: t('userExport.phone') },\n { key: 'Email', title: t('userExport.email') },\n { key: 'Gender', title: t('userExport.gender') },\n { key: 'OrgName', title: t('userExport.orgName') },\n { key: 'PositionName', title: t('userExport.positionName') },\n { key: 'DirectorName', title: t('userExport.directorName') },\n { key: 'Enabled', title: t('userExport.enabled') },\n { key: 'IsSuperAdmin', title: t('userExport.superAdmin'), defaultSelected: false },\n { key: 'CreateTime', title: t('userExport.createTime') },\n]\n\nconst userImportApi: ImportWizardApi = {\n downloadTemplate: () => userApi.importTemplate(),\n preview: (file, mapping) => userApi.importPreview(file, mapping),\n validate: rows => userApi.importValidate(rows),\n commit: (rows, strategy) => userApi.importCommit(rows, strategy),\n errorReport: rows => userApi.importErrorReport(rows),\n}\n\n/** 导出:带当前 SmartTable 筛选(含左侧机构树 orgId)+ 选中列。 */\nasync function onExport(keys: string[]) {\n const p = tableRef.value?.params ?? {}\n exporting.value = true\n try {\n const blob = await userApi.export({\n account: p.account || undefined,\n name: p.name || undefined,\n orgId: p.orgId != null ? Number(p.orgId) : undefined,\n roleId: p.roleId != null ? Number(p.roleId) : undefined,\n sortField: p.sortField || undefined,\n sortOrder: p.sortOrder || undefined,\n columns: keys.join(','),\n })\n triggerBlobDownload(blob, t('userExport.fileName'))\n exportShow.value = false\n message.success(t('export.done'))\n } catch (e) {\n message.error(translateError(e))\n } finally {\n exporting.value = false\n }\n}\n\nconst columns: SmartTableColumn<UserItem>[] = [\n { type: 'index', title: () => t('common.rowNo'), width: 64, align: 'center' },\n // 超管行禁勾:批量删除同样不可含超管(后端也会整体拒绝)\n { type: 'selection', disabled: (r: UserItem) => r.isSuperAdmin },\n {\n key: 'avatar',\n title: () => t('user.avatar'),\n width: 64,\n align: 'center',\n hideInSetting: false,\n render: r =>\n h(\n NAvatar,\n { round: true, size: 'small', src: r.avatar || undefined },\n r.avatar ? { fallback: () => initial(r.name) } : { default: () => initial(r.name) },\n ),\n },\n { key: 'account', title: () => t('user.account'), search: true, sorter: true },\n { key: 'name', title: () => t('user.name'), search: true },\n { key: 'phone', title: () => t('user.phone'), render: r => r.phone || '—' },\n {\n key: 'gender',\n title: () => t('user.gender'),\n width: 80,\n hideInTable: true, // 次要列:默认隐藏收窄整表,列设置抽屉可打开\n render: r => (r.gender ? h(DictTag, { typeCode: 'gender', value: r.gender }) : '—'),\n },\n // 只作搜索项,不进表格也不进列设置。options 直接吃编辑表单已拉好的 roleOptions(SmartTable 支持 Ref 选项源),不额外发请求;\n // 列上有 options,搜索控件自动是 select。\n {\n key: 'roleId',\n title: () => t('user.roles'),\n hideInTable: true,\n options: roleOptions,\n search: { props: { clearable: true } },\n },\n { key: 'orgName', title: () => t('user.org'), render: r => r.orgName || '—' },\n {\n key: 'positionName',\n title: () => t('user.position'),\n hideInTable: true,\n render: r => r.positionName || '—',\n },\n {\n key: 'enabled',\n title: () => t('user.status'),\n width: 90,\n render: r =>\n h(StatusSwitch, {\n value: r.enabled,\n // 超管不可停用(防自锁 —— 停了就没法从 UI 恢复;后端也保护);无启停权限亦置灰。\n disabled: r.isSuperAdmin || !authStore.hasPerm('PUT:/api/v1/sys/user/{id}/enabled'),\n confirm: (next: boolean) => (next ? null : t('user.disableConfirm', { name: r.name })),\n request: (next: boolean) => userApi.setEnabled(r.id, next),\n 'onUpdate:value': (v: boolean) => {\n r.enabled = v\n },\n }),\n },\n {\n key: 'isSuperAdmin',\n title: () => t('user.superAdmin'),\n width: 90,\n render: r =>\n r.isSuperAdmin\n ? h(NTag, { type: 'warning', size: 'small', bordered: false }, () => t('user.superAdmin'))\n : '—',\n },\n { key: 'createTime', title: () => t('user.createTime'), format: 'datetime', sorter: true },\n // 操作:编辑/删除外露;重置密码、解绑验证器进「更多」(放操作列末尾)。\n // width 须够「编辑+删除+更多」单行;wrap:false 禁止 NSpace 默认换行(否则「更多」掉到删除下一行)。\n {\n key: 'op',\n title: () => t('common.operation'),\n width: 200,\n fixed: 'right', // 钉右:横向滚动时操作列始终可见\n hideInSetting: true,\n render: r => {\n const moreOptions = [\n authStore.hasPerm('PUT:/api/v1/sys/user/{id}/password')\n ? { key: 'resetPassword', label: t('user.resetPassword') }\n : null,\n r.totpEnabled && authStore.hasPerm('POST:/api/v1/sys/mfa/clear')\n ? { key: 'clearMfa', label: t('user.clearMfa'), disabled: clearMfaLoading.value }\n : null,\n ].filter(Boolean) as { key: string; label: string; disabled?: boolean }[]\n return h(NSpace, { size: 4, wrap: false, wrapItem: false }, () => [\n authStore.hasPerm('PUT:/api/v1/sys/user/{id}')\n ? h(\n NButton,\n {\n size: 'small',\n quaternary: true,\n type: 'primary',\n onClick: () => userFormRef.value?.openEdit(r),\n },\n () => t('common.edit'),\n )\n : null,\n r.isSuperAdmin || !authStore.hasPerm('DELETE:/api/v1/sys/user/{id}')\n ? null\n : h(\n NPopconfirm,\n {\n onPositiveClick: () =>\n run(() => userApi.remove(r.id), t('user.deleted')).then(ok => {\n if (ok) tableRef.value?.refresh()\n }),\n },\n {\n trigger: () =>\n h(NButton, { size: 'small', quaternary: true, type: 'error' }, () =>\n t('common.delete'),\n ),\n default: () => t('user.deleteConfirm', { name: r.name }),\n },\n ),\n moreOptions.length\n ? h(\n NDropdown,\n {\n trigger: 'click',\n options: moreOptions,\n onSelect: (key: string) => {\n if (key === 'resetPassword') resetModalRef.value?.openReset(r)\n else if (key === 'clearMfa') void clearUserMfa(r)\n },\n },\n () =>\n h(\n NButton,\n { size: 'small', quaternary: true, loading: clearMfaLoading.value },\n () => t('common.more'),\n ),\n )\n : null,\n ])\n },\n },\n]\n</script>\n\n<template>\n <!-- 「左分组栏 + 右列表」= styles/layout.css 里的形状 3:.side-page 负责 display/gap/拉伸/整屏高度。 -->\n <div class=\"user-layout side-page\">\n <!-- 左侧机构树筛选 -->\n <n-card class=\"org-filter fill-card\" :bordered=\"false\" size=\"small\">\n <div class=\"org-filter-head\">\n <span class=\"org-filter-title\">{{ t('user.org') }}</span>\n <n-button\n v-if=\"selectedOrgId != null\"\n text\n size=\"tiny\"\n type=\"primary\"\n @click=\"selectedOrgId = null\"\n >\n {{ t('user.allOrgs') }}\n </n-button>\n </div>\n <n-tree\n block-line\n selectable\n :data=\"orgTree\"\n key-field=\"id\"\n label-field=\"name\"\n children-field=\"children\"\n :selected-keys=\"selectedOrgId == null ? [] : [selectedOrgId]\"\n @update:selected-keys=\"onOrgSelect\"\n />\n </n-card>\n\n <SmartTable\n :default-page-size=\"100\"\n ref=\"tableRef\"\n :columns=\"columns\"\n :fetcher=\"userApi.page\"\n :params=\"tableParams\"\n flex-height\n virtual-scroll\n storage-key=\"sys-user\"\n :checked-row-keys=\"checkedKeys\"\n @update:checked-row-keys=\"(keys: (string | number)[]) => (checkedKeys = keys)\"\n @error=\"e => message.error(translateError(e))\"\n >\n <template #toolbar>\n <n-button v-auth=\"'POST:/api/v1/sys/user'\" type=\"primary\" @click=\"userFormRef?.openAdd()\">\n <template #icon><AppIcon icon=\"ph:plus\" :size=\"16\" /></template>\n {{ t('common.add') }}\n </n-button>\n <n-button\n v-auth=\"'POST:/api/v1/sys/user/batch-delete'\"\n type=\"error\"\n :disabled=\"!hasSelection\"\n @click=\"batchDelete\"\n >\n <template #icon><AppIcon icon=\"ph:trash\" :size=\"16\" /></template>\n {{ t('common.batchDelete') }}\n </n-button>\n <!-- 权限码一字不差:导入入口 = preview;导出 = export -->\n <n-button v-auth=\"'POST:/api/v1/sys/user/import/preview'\" @click=\"importShow = true\">\n <template #icon><AppIcon icon=\"ph:upload-simple\" :size=\"16\" /></template>\n {{ t('import.button') }}\n </n-button>\n <n-button v-auth=\"'GET:/api/v1/sys/user/export'\" @click=\"exportShow = true\">\n <template #icon><AppIcon icon=\"ph:download-simple\" :size=\"16\" /></template>\n {{ t('export.button') }}\n </n-button>\n </template>\n </SmartTable>\n </div>\n\n <UserFormModal\n ref=\"userFormRef\"\n :position-options=\"positionOptions\"\n :role-options=\"roleOptions\"\n :director-options=\"directorOptions\"\n @saved=\"() => tableRef?.refresh()\"\n @password-generated=\"p => resetModalRef?.showResult(p, true)\"\n />\n\n <ResetPasswordModal ref=\"resetModalRef\" />\n\n <ImportWizard\n v-model:show=\"importShow\"\n :api=\"userImportApi\"\n :template-file-name=\"t('userExport.importTemplateName')\"\n :error-report-file-name=\"t('userExport.errorReportName')\"\n @done=\"() => tableRef?.refresh()\"\n />\n\n <ExportColumnsModal\n v-model:show=\"exportShow\"\n :columns=\"userExportColumns\"\n :loading=\"exporting\"\n @confirm=\"onExport\"\n />\n</template>\n\n<style scoped>\n/* 左树 + 右表:display / gap / 拉伸 / 整屏高度都在 styles/layout.css 的 .side-page,这里只定侧栏宽度。 */\n.org-filter {\n flex: 0 0 200px;\n}\n/* 整页定高,侧栏不跟着内容长高:树吃满卡片剩余高度,自己竖向滚动。 */\n.org-filter :deep(.n-tree) {\n flex: 1;\n min-height: 0;\n overflow: auto;\n}\n.org-filter-head {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: 8px;\n}\n.org-filter-title {\n font-weight: 600;\n font-size: var(--font-size-sm, 13px);\n}\n</style>\n"],"names":["useI18n","message","useMessage","run","confirm","useConfirm","authStore","useAuthStore","tableRef","ref","checkedKeys","hasSelection","batchDelete","useBatchDelete","userApi","_a","userFormRef","resetModalRef","clearMfaLoading","clearUserMfa","user","mfaApi","positionOptions","roleOptions","directorOptions","orgTree","selectedOrgId","tableParams","computed","onOrgSelect","keys","onMounted","items","positionApi","p","roleApi","u","buildTree","orgApi","route","useRoute","watch","inst","roleId","next","initial","name","importShow","exportShow","exporting","userExportColumns","userImportApi","file","mapping","rows","strategy","onExport","blob","triggerBlobDownload","e","translateError","columns","r","h","NAvatar","DictTag","StatusSwitch","v","NTag","moreOptions","NSpace","NButton","NPopconfirm","ok","NDropdown","key","_createElementVNode","_hoisted_1","_createVNode","_unref","NCard","_hoisted_2","_hoisted_3","_toDisplayString","_createBlock","NTree","SmartTable","_cache","$event","AppIcon","_createTextVNode","UserFormModal","ResetPasswordModal","ImportWizard","ExportColumnsModal"],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,99 @@
1
+ {
2
+ "name": "smart-admin-web",
3
+ "version": "10.5.0",
4
+ "description": "SmartAdmin 前端内核:布局、路由、鉴权、内置系统页与共享组件,配合 SmartAdmin NuGet 包使用",
5
+ "keywords": [
6
+ "smartadmin",
7
+ "admin",
8
+ "rbac",
9
+ "vue3",
10
+ "naive-ui"
11
+ ],
12
+ "homepage": "https://smartcode-x.github.io/SmartAdmin/",
13
+ "bugs": {
14
+ "url": "https://github.com/SmartCode-X/SmartAdmin/issues"
15
+ },
16
+ "repository": {
17
+ "type": "git",
18
+ "url": "git+https://github.com/SmartCode-X/SmartAdmin.git",
19
+ "directory": "web/packages/admin"
20
+ },
21
+ "license": "Apache-2.0",
22
+ "type": "module",
23
+ "sideEffects": [
24
+ "**/*.css"
25
+ ],
26
+ "files": [
27
+ "dist"
28
+ ],
29
+ "main": "./dist/index.js",
30
+ "module": "./dist/index.js",
31
+ "types": "./dist/index.d.ts",
32
+ "exports": {
33
+ ".": {
34
+ "types": "./dist/index.d.ts",
35
+ "import": "./dist/index.js"
36
+ },
37
+ "./style.css": "./dist/style.css",
38
+ "./package.json": "./package.json"
39
+ },
40
+ "engines": {
41
+ "node": ">=22.12"
42
+ },
43
+ "scripts": {
44
+ "build": "vue-tsc --noEmit && vite build",
45
+ "prepack": "npm run build",
46
+ "typecheck": "vue-tsc --noEmit",
47
+ "test": "vitest run",
48
+ "test:watch": "vitest",
49
+ "gen:api": "node scripts/gen-api.mjs",
50
+ "gen:icons": "node scripts/gen-icon-subset.mjs"
51
+ },
52
+ "peerDependencies": {
53
+ "@iconify/vue": "^5.0.1",
54
+ "@vueuse/core": "^14.4.0",
55
+ "naive-ui": "^2.45.3",
56
+ "pinia": "^4.0.3",
57
+ "smart-naive-icon": "^2.0.0",
58
+ "smart-naive-table": "^2.0.0",
59
+ "vue": "^3.5.42",
60
+ "vue-i18n": "^11.4.10",
61
+ "vue-router": "^4.5.0"
62
+ },
63
+ "dependencies": {
64
+ "@iconify-json/ant-design": "^1.2.9",
65
+ "@iconify-json/ep": "^1.2.4",
66
+ "@iconify-json/lucide": "^1.2.129",
67
+ "@iconify-json/ph": "^1.2.2",
68
+ "@microsoft/signalr": "^10.0.11",
69
+ "echarts": "^6.1.0",
70
+ "highlight.js": "^11.12.0",
71
+ "md-editor-v3": "^6.5.6",
72
+ "openapi-fetch": "^0.17.0",
73
+ "pinia-plugin-persistedstate": "^4.2.0",
74
+ "sortablejs": "^1.15.7",
75
+ "vue-echarts": "^8.2.0"
76
+ },
77
+ "devDependencies": {
78
+ "@iconify/utils": "^3.1.7",
79
+ "@iconify/vue": "^5.0.1",
80
+ "@types/node": "^22.13.0",
81
+ "@types/sortablejs": "^1.15.9",
82
+ "@vitejs/plugin-vue": "^6.0.8",
83
+ "@vueuse/core": "^14.4.0",
84
+ "happy-dom": "^20.13.2",
85
+ "naive-ui": "^2.45.3",
86
+ "openapi-typescript": "^7.6.1",
87
+ "pinia": "^4.0.3",
88
+ "smart-naive-icon": "^2.0.0",
89
+ "smart-naive-table": "^2.0.0",
90
+ "typescript": "^5.7.3",
91
+ "vite": "^6.0.11",
92
+ "vite-plugin-dts": "^5.1.0",
93
+ "vitest": "^4.1.10",
94
+ "vue": "^3.5.42",
95
+ "vue-i18n": "^11.4.10",
96
+ "vue-router": "^4.5.0",
97
+ "vue-tsc": "^3.3.11"
98
+ }
99
+ }