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,498 @@
1
+ import { defineComponent as Ie, computed as d, ref as r, reactive as Ne, openBlock as m, createElementBlock as q, Fragment as ee, createVNode as a, unref as l, withCtx as u, createBlock as v, createTextVNode as w, toDisplayString as h, createCommentVNode as L, createElementVNode as te, renderList as Ue, h as y } from "vue";
2
+ import { useMessage as _e, NSpace as c, NButton as x, NForm as ze, NGrid as Pe, NFormItemGi as C, NInput as D, NSelect as le, NCheckbox as M, NInputNumber as Te, NSwitch as Be, NEmpty as ne, NTag as Se, NPopconfirm as Ee } from "naive-ui";
3
+ import { SmartTable as Ae } from "smart-naive-table";
4
+ import { useI18n as Re } from "vue-i18n";
5
+ import $e from "../../../../components/AppIcon.vue.js";
6
+ import j from "../../../../components/FormContainer/index.vue.js";
7
+ /* empty css */
8
+ import Le from "../../../../components/StatusSwitch/index.vue.js";
9
+ import { useConfirm as Oe } from "../../../../composables/useConfirm.js";
10
+ import { useAuthStore as qe } from "../../../../stores/auth.js";
11
+ import { menuApi as I } from "../../../../api/index.js";
12
+ import { translateError as oe } from "../../../../utils/error.js";
13
+ import { MenuType as N, splitPermission as F, joinPermission as De } from "../../../../types/menu.js";
14
+ const Me = { class: "perm-hint" }, je = { style: { width: "210px", color: "var(--color-text-secondary, #888)", "font-size": "12px" } }, lt = /* @__PURE__ */ Ie({
15
+ __name: "ButtonManager",
16
+ props: {
17
+ tree: {},
18
+ routes: {},
19
+ appPrefix: {}
20
+ },
21
+ emits: ["changed"],
22
+ setup(ae, { expose: ue, emit: se }) {
23
+ const f = ae, U = se, { t: o } = Re(), _ = _e(), { run: ie } = Oe(), O = qe(), V = d(() => O.hasPerm("POST:/api/v1/sys/menu/add")), re = d(() => O.hasPerm("PUT:/api/v1/sys/menu/{id}")), de = d(() => O.hasPerm("DELETE:/api/v1/sys/menu/{id}")), z = r(!1), b = r(null), G = r("");
24
+ function H(e, t) {
25
+ for (const n of e) {
26
+ if (n.id === t) return n;
27
+ const s = H(n.children, t);
28
+ if (s) return s;
29
+ }
30
+ return null;
31
+ }
32
+ const K = d(() => {
33
+ if (b.value == null) return [];
34
+ const e = H(f.tree, b.value);
35
+ return ((e == null ? void 0 : e.children) ?? []).filter((t) => t.type === N.Button);
36
+ }), me = d(() => new Set(K.value.flatMap((e) => F(e.permission)))), P = d(() => (f.appPrefix ?? "").trim().replace(/^\/+|\/+$/g, "")), T = (e) => {
37
+ const t = P.value;
38
+ return t ? e.includes(`/${t}/`) || e.endsWith(`/${t}`) : !0;
39
+ }, Q = d(
40
+ () => P.value !== "" && f.routes.some((e) => !T(e.path))
41
+ ), p = r(!1), B = (e) => ({ label: `${e.method} ${e.path}`, value: e.code }), pe = d(() => {
42
+ if (!P.value) return f.routes.map(B);
43
+ const t = f.routes.filter((s) => T(s.path));
44
+ if (!p.value) return t.map(B);
45
+ const n = f.routes.filter((s) => !T(s.path));
46
+ return [
47
+ { type: "group", key: "__inApp", label: o("menu.routesInApp"), children: t.map(B) },
48
+ { type: "group", key: "__other", label: o("menu.routesOther"), children: n.map(B) }
49
+ ];
50
+ }), ce = d(() => {
51
+ const e = [], t = (n, s) => {
52
+ for (const $ of n)
53
+ $.type !== N.Button && (e.push({ label: `${" ".repeat(s)}${$.title}`, value: $.id }), t($.children, s + 1));
54
+ };
55
+ return t(f.tree, 0), e;
56
+ });
57
+ function fe(e) {
58
+ b.value = e.id, G.value = e.title, z.value = !0;
59
+ }
60
+ ue({ open: fe });
61
+ const S = r(!1), g = r(null), W = r(null), ve = {
62
+ title: {
63
+ required: !0,
64
+ whitespace: !0,
65
+ message: () => o("menu.titleRequired"),
66
+ trigger: ["input", "blur"]
67
+ }
68
+ }, J = () => ({
69
+ parentId: b.value ?? 0,
70
+ type: N.Button,
71
+ title: "",
72
+ permission: "",
73
+ sort: 0,
74
+ enabled: !0,
75
+ moduleId: null,
76
+ path: "",
77
+ component: "",
78
+ icon: "",
79
+ visible: !0
80
+ }), i = Ne(J()), k = r([]), X = (e) => ({
81
+ parentId: e.parentId,
82
+ type: e.type,
83
+ title: e.title,
84
+ permission: e.permission,
85
+ sort: e.sort,
86
+ enabled: e.enabled,
87
+ moduleId: null,
88
+ path: e.path ?? "",
89
+ component: e.component ?? "",
90
+ icon: e.icon ?? "",
91
+ visible: e.visible
92
+ });
93
+ function he() {
94
+ g.value = null, p.value = !1, Object.assign(i, J()), k.value = [], S.value = !0;
95
+ }
96
+ function ye(e) {
97
+ g.value = e.id, p.value = !0, Object.assign(i, X(e)), k.value = F(e.permission), S.value = !0;
98
+ }
99
+ async function be() {
100
+ var e;
101
+ await ((e = W.value) == null ? void 0 : e.validate());
102
+ try {
103
+ const t = {
104
+ ...i,
105
+ permission: De(k.value),
106
+ type: N.Button,
107
+ moduleId: null
108
+ };
109
+ g.value === null ? await I.add(t) : await I.update(g.value, t), _.success(o("menu.saved")), U("changed");
110
+ } catch (t) {
111
+ return _.error(oe(t)), !1;
112
+ }
113
+ }
114
+ const E = r(!1), A = r([]), Y = r(!1), R = r(""), Z = d(() => {
115
+ const e = R.value.trim().toLowerCase(), t = P.value;
116
+ return A.value.filter((n) => t && !p.value && !T(n.path) ? !1 : e ? n.method.toLowerCase().includes(e) || n.path.toLowerCase().includes(e) || n.title.toLowerCase().includes(e) : !0);
117
+ });
118
+ function ge(e) {
119
+ const t = e.toUpperCase();
120
+ return t === "GET" ? o("menu.btnQuery") : t === "POST" ? o("menu.btnCreate") : t === "PUT" || t === "PATCH" ? o("menu.btnUpdate") : t === "DELETE" ? o("menu.btnDelete") : e;
121
+ }
122
+ function ke() {
123
+ R.value = "", p.value = !1, A.value = f.routes.filter((e) => !me.value.has(e.code)).map((e) => ({
124
+ code: e.code,
125
+ method: e.method,
126
+ path: e.path,
127
+ title: ge(e.method),
128
+ checked: !1
129
+ })), E.value = !0;
130
+ }
131
+ const we = d(() => A.value.filter((e) => e.checked));
132
+ async function xe() {
133
+ const e = we.value;
134
+ if (!e.length) return !1;
135
+ Y.value = !0;
136
+ try {
137
+ for (const t of e)
138
+ await I.add({
139
+ parentId: b.value ?? 0,
140
+ type: N.Button,
141
+ title: t.title.trim() || t.method,
142
+ permission: t.code,
143
+ sort: 0,
144
+ enabled: !0,
145
+ moduleId: null,
146
+ path: "",
147
+ component: "",
148
+ icon: "",
149
+ visible: !0
150
+ });
151
+ _.success(o("menu.saved")), U("changed"), E.value = !1;
152
+ } catch (t) {
153
+ return _.error(oe(t)), !1;
154
+ } finally {
155
+ Y.value = !1;
156
+ }
157
+ }
158
+ const Ce = [
159
+ { type: "index", title: () => o("common.rowNo"), width: 64, align: "center" },
160
+ { title: () => o("menu.title"), key: "title", align: "left" },
161
+ {
162
+ title: () => o("menu.permission"),
163
+ key: "permission",
164
+ // 多码按钮逐条成 tag,一眼看出「查询」挂了哪几条路由
165
+ render: (e) => {
166
+ const t = F(e.permission);
167
+ return t.length ? y(
168
+ c,
169
+ { size: 4, wrapItem: !1 },
170
+ () => t.map((n) => y(Se, { size: "small", bordered: !1, key: n }, () => n))
171
+ ) : "—";
172
+ }
173
+ },
174
+ { title: () => o("menu.sort"), key: "sort", width: 70 },
175
+ {
176
+ title: () => o("common.status"),
177
+ key: "enabled",
178
+ width: 84,
179
+ render: (e) => y(Le, {
180
+ value: e.enabled,
181
+ request: (t) => I.update(e.id, { ...X(e), enabled: t }),
182
+ "onUpdate:value": () => U("changed")
183
+ })
184
+ },
185
+ {
186
+ title: () => o("common.operation"),
187
+ key: "op",
188
+ width: 130,
189
+ fixed: "right",
190
+ render: (e) => y(c, { size: 2, wrapItem: !1 }, () => [
191
+ re.value ? y(
192
+ x,
193
+ { size: "small", quaternary: !0, type: "primary", onClick: () => ye(e) },
194
+ () => o("common.edit")
195
+ ) : null,
196
+ de.value ? y(
197
+ Ee,
198
+ {
199
+ onPositiveClick: () => ie(() => I.remove(e.id), o("menu.deleted")).then((t) => {
200
+ t && U("changed");
201
+ })
202
+ },
203
+ {
204
+ trigger: () => y(
205
+ x,
206
+ { size: "small", quaternary: !0, type: "error" },
207
+ () => o("common.delete")
208
+ ),
209
+ default: () => o("menu.deleteConfirm", { title: e.title })
210
+ }
211
+ ) : null
212
+ ])
213
+ }
214
+ ];
215
+ return (e, t) => (m(), q(ee, null, [
216
+ a(j, {
217
+ show: z.value,
218
+ "onUpdate:show": t[1] || (t[1] = (n) => z.value = n),
219
+ title: l(o)("menu.buttonManagerTitle", { title: G.value }),
220
+ width: 960
221
+ }, {
222
+ footer: u(() => [
223
+ a(l(c), { justify: "end" }, {
224
+ default: u(() => [
225
+ a(l(x), {
226
+ onClick: t[0] || (t[0] = (n) => z.value = !1)
227
+ }, {
228
+ default: u(() => [
229
+ w(h(l(o)("common.close")), 1)
230
+ ]),
231
+ _: 1
232
+ })
233
+ ]),
234
+ _: 1
235
+ })
236
+ ]),
237
+ default: u(() => [
238
+ a(l(c), {
239
+ vertical: "",
240
+ size: 12
241
+ }, {
242
+ default: u(() => [
243
+ a(l(c), null, {
244
+ default: u(() => [
245
+ V.value ? (m(), v(l(x), {
246
+ key: 0,
247
+ type: "primary",
248
+ size: "small",
249
+ onClick: he
250
+ }, {
251
+ default: u(() => [
252
+ w(h(l(o)("menu.addButton")), 1)
253
+ ]),
254
+ _: 1
255
+ })) : L("", !0),
256
+ V.value ? (m(), v(l(x), {
257
+ key: 1,
258
+ size: "small",
259
+ onClick: ke
260
+ }, {
261
+ default: u(() => [
262
+ w(h(l(o)("menu.batchFromRoutes")), 1)
263
+ ]),
264
+ _: 1
265
+ })) : L("", !0)
266
+ ]),
267
+ _: 1
268
+ }),
269
+ a(l(Ae), {
270
+ "default-page-size": 100,
271
+ columns: Ce,
272
+ data: K.value,
273
+ pagination: !1,
274
+ "row-key": "id",
275
+ "storage-key": "sys-menu-buttons"
276
+ }, null, 8, ["data"])
277
+ ]),
278
+ _: 1
279
+ })
280
+ ]),
281
+ _: 1
282
+ }, 8, ["show", "title"]),
283
+ a(j, {
284
+ show: S.value,
285
+ "onUpdate:show": t[8] || (t[8] = (n) => S.value = n),
286
+ title: g.value === null ? l(o)("menu.addButton") : l(o)("common.edit"),
287
+ width: 600,
288
+ "on-confirm": be,
289
+ "confirm-text": l(o)("common.save")
290
+ }, {
291
+ default: u(() => [
292
+ a(l(ze), {
293
+ ref_key: "formRef",
294
+ ref: W,
295
+ model: i,
296
+ rules: ve,
297
+ "label-placement": "left",
298
+ "label-width": 80
299
+ }, {
300
+ default: u(() => [
301
+ a(l(Pe), {
302
+ cols: 1,
303
+ "y-gap": 4
304
+ }, {
305
+ default: u(() => [
306
+ a(l(C), {
307
+ label: l(o)("menu.title"),
308
+ path: "title"
309
+ }, {
310
+ default: u(() => [
311
+ a(l(D), {
312
+ value: i.title,
313
+ "onUpdate:value": t[2] || (t[2] = (n) => i.title = n),
314
+ placeholder: l(o)("menu.title")
315
+ }, null, 8, ["value", "placeholder"])
316
+ ]),
317
+ _: 1
318
+ }, 8, ["label"]),
319
+ a(l(C), {
320
+ label: l(o)("menu.buttonParent")
321
+ }, {
322
+ default: u(() => [
323
+ a(l(le), {
324
+ value: i.parentId,
325
+ "onUpdate:value": t[3] || (t[3] = (n) => i.parentId = n),
326
+ options: ce.value,
327
+ filterable: ""
328
+ }, null, 8, ["value", "options"])
329
+ ]),
330
+ _: 1
331
+ }, 8, ["label"]),
332
+ a(l(C), {
333
+ label: l(o)("menu.permission")
334
+ }, {
335
+ default: u(() => [
336
+ a(l(c), {
337
+ vertical: "",
338
+ size: 4,
339
+ style: { width: "100%" }
340
+ }, {
341
+ default: u(() => [
342
+ a(l(le), {
343
+ value: k.value,
344
+ "onUpdate:value": t[4] || (t[4] = (n) => k.value = n),
345
+ options: pe.value,
346
+ multiple: "",
347
+ filterable: "",
348
+ tag: "",
349
+ clearable: "",
350
+ placeholder: l(o)("menu.permissionPlaceholder")
351
+ }, null, 8, ["value", "options", "placeholder"]),
352
+ te("span", Me, h(l(o)("menu.permissionHint")), 1),
353
+ Q.value ? (m(), v(l(M), {
354
+ key: 0,
355
+ checked: p.value,
356
+ "onUpdate:checked": t[5] || (t[5] = (n) => p.value = n),
357
+ size: "small"
358
+ }, {
359
+ default: u(() => [
360
+ w(h(l(o)("menu.showAllRoutes")), 1)
361
+ ]),
362
+ _: 1
363
+ }, 8, ["checked"])) : L("", !0)
364
+ ]),
365
+ _: 1
366
+ })
367
+ ]),
368
+ _: 1
369
+ }, 8, ["label"]),
370
+ a(l(C), {
371
+ label: l(o)("menu.sort")
372
+ }, {
373
+ default: u(() => [
374
+ a(l(Te), {
375
+ value: i.sort,
376
+ "onUpdate:value": t[6] || (t[6] = (n) => i.sort = n),
377
+ min: 0,
378
+ style: { width: "100%" }
379
+ }, null, 8, ["value"])
380
+ ]),
381
+ _: 1
382
+ }, 8, ["label"]),
383
+ a(l(C), {
384
+ label: l(o)("common.status")
385
+ }, {
386
+ default: u(() => [
387
+ a(l(Be), {
388
+ value: i.enabled,
389
+ "onUpdate:value": t[7] || (t[7] = (n) => i.enabled = n)
390
+ }, null, 8, ["value"])
391
+ ]),
392
+ _: 1
393
+ }, 8, ["label"])
394
+ ]),
395
+ _: 1
396
+ })
397
+ ]),
398
+ _: 1
399
+ }, 8, ["model"])
400
+ ]),
401
+ _: 1
402
+ }, 8, ["show", "title", "confirm-text"]),
403
+ a(j, {
404
+ show: E.value,
405
+ "onUpdate:show": t[11] || (t[11] = (n) => E.value = n),
406
+ title: l(o)("menu.batchTitle"),
407
+ width: 640,
408
+ "on-confirm": xe,
409
+ "confirm-text": l(o)("common.save")
410
+ }, {
411
+ default: u(() => [
412
+ A.value.length ? (m(), v(l(c), {
413
+ key: 1,
414
+ vertical: "",
415
+ size: 10
416
+ }, {
417
+ default: u(() => [
418
+ a(l(c), {
419
+ align: "center",
420
+ size: 12
421
+ }, {
422
+ default: u(() => [
423
+ a(l(D), {
424
+ value: R.value,
425
+ "onUpdate:value": t[9] || (t[9] = (n) => R.value = n),
426
+ clearable: "",
427
+ placeholder: l(o)("menu.batchSearchPlaceholder"),
428
+ style: { flex: "1" }
429
+ }, {
430
+ prefix: u(() => [
431
+ a($e, {
432
+ icon: "ph:magnifying-glass",
433
+ size: 16
434
+ })
435
+ ]),
436
+ _: 1
437
+ }, 8, ["value", "placeholder"]),
438
+ Q.value ? (m(), v(l(M), {
439
+ key: 0,
440
+ checked: p.value,
441
+ "onUpdate:checked": t[10] || (t[10] = (n) => p.value = n)
442
+ }, {
443
+ default: u(() => [
444
+ w(h(l(o)("menu.showAllRoutes")), 1)
445
+ ]),
446
+ _: 1
447
+ }, 8, ["checked"])) : L("", !0)
448
+ ]),
449
+ _: 1
450
+ }),
451
+ Z.value.length ? (m(), v(l(c), {
452
+ key: 1,
453
+ vertical: "",
454
+ size: 6,
455
+ style: { "max-height": "55vh", overflow: "auto" }
456
+ }, {
457
+ default: u(() => [
458
+ (m(!0), q(ee, null, Ue(Z.value, (n) => (m(), q("div", {
459
+ key: n.code,
460
+ style: { display: "flex", "align-items": "center", gap: "10px" }
461
+ }, [
462
+ a(l(M), {
463
+ checked: n.checked,
464
+ "onUpdate:checked": (s) => n.checked = s
465
+ }, null, 8, ["checked", "onUpdate:checked"]),
466
+ te("span", je, h(n.method) + " " + h(n.path), 1),
467
+ a(l(D), {
468
+ value: n.title,
469
+ "onUpdate:value": (s) => n.title = s,
470
+ size: "small",
471
+ disabled: !n.checked,
472
+ style: { width: "160px" }
473
+ }, null, 8, ["value", "onUpdate:value", "disabled"])
474
+ ]))), 128))
475
+ ]),
476
+ _: 1
477
+ })) : (m(), v(l(ne), {
478
+ key: 0,
479
+ description: l(o)("menu.noRoutesLeft"),
480
+ style: { padding: "16px 0" }
481
+ }, null, 8, ["description"]))
482
+ ]),
483
+ _: 1
484
+ })) : (m(), v(l(ne), {
485
+ key: 0,
486
+ description: l(o)("menu.noRoutesLeft"),
487
+ style: { padding: "24px 0" }
488
+ }, null, 8, ["description"]))
489
+ ]),
490
+ _: 1
491
+ }, 8, ["show", "title", "confirm-text"])
492
+ ], 64));
493
+ }
494
+ });
495
+ export {
496
+ lt as default
497
+ };
498
+ //# sourceMappingURL=ButtonManager2.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ButtonManager2.vue.js","sources":["../../../../../src/views/system/menu/components/ButtonManager.vue"],"sourcesContent":["<script setup lang=\"ts\">\n// 某个菜单/目录下「权限按钮」的专属管理弹窗 —— 按钮从主菜单树分离单独管理,\n// 树里只放目录/菜单,不被几十个按钮撑长。按钮就是 type=Button 的 SysMenu 行,\n// 增删改复用 menuApi.add/update/remove(parentId=当前菜单),后端零改动。\nimport { computed, h, reactive, ref } from 'vue'\nimport {\n NButton,\n NSpace,\n NForm,\n NFormItemGi,\n NGrid,\n NInput,\n NInputNumber,\n NSelect,\n NSwitch,\n NPopconfirm,\n NCheckbox,\n NEmpty,\n NTag,\n useMessage,\n type FormInst,\n type FormRules,\n} from 'naive-ui'\nimport { SmartTable, type SmartTableColumn } from 'smart-naive-table'\nimport { useI18n } from 'vue-i18n'\nimport AppIcon from '#/components/AppIcon.vue'\nimport FormContainer from '#/components/FormContainer/index.vue'\nimport StatusSwitch from '#/components/StatusSwitch/index.vue'\nimport { useConfirm } from '#/composables/useConfirm'\nimport { useAuthStore } from '#/stores/auth'\nimport { menuApi } from '#/api'\nimport { translateError } from '#/utils/error'\nimport {\n MenuType,\n type MenuInput,\n type MenuTreeNode,\n joinPermission,\n splitPermission,\n} from '#/types/menu'\nimport type { PermissionRouteItem } from '#/types/api'\n\n// tree/routes 由父页传入并保持响应:父页 CRUD 后 load() 刷新 tree,本弹窗的 buttons 计算属性随之更新,\n// 无需自己再发一次整树请求。\nconst props = defineProps<{\n tree: MenuTreeNode[]\n routes: PermissionRouteItem[]\n /** 当前所属应用的路由匹配前缀(sys/biz…);空=不按应用过滤,全量显示。 */\n appPrefix?: string\n}>()\nconst emit = defineEmits<{ (e: 'changed'): void }>()\n\nconst { t } = useI18n()\nconst message = useMessage()\nconst { run } = useConfirm()\nconst auth = useAuthStore()\n\n// 客户端权限门,与主表 menu/index.vue 对齐(按钮就是 type=Button 的 SysMenu 行,复用菜单 CRUD 路由权限码);\n// 服务端 [RolePermission] 始终兜底,这里只为不给无权用户显示写入口。\nconst canAdd = computed(() => auth.hasPerm('POST:/api/v1/sys/menu/add'))\nconst canEdit = computed(() => auth.hasPerm('PUT:/api/v1/sys/menu/{id}'))\nconst canDelete = computed(() => auth.hasPerm('DELETE:/api/v1/sys/menu/{id}'))\n\nconst show = ref(false)\nconst menuId = ref<number | null>(null)\nconst menuTitle = ref('')\n\n/** 在整棵树里按 id 找节点(父页传的 tree 含按钮 children)。 */\nfunction findNode(nodes: MenuTreeNode[], id: number): MenuTreeNode | null {\n for (const n of nodes) {\n if (n.id === id) return n\n const hit = findNode(n.children, id)\n if (hit) return hit\n }\n return null\n}\n\n/** 当前菜单下的按钮子节点(随父页 tree 响应更新)。 */\nconst buttons = computed<MenuTreeNode[]>(() => {\n if (menuId.value == null) return []\n const node = findNode(props.tree, menuId.value)\n return (node?.children ?? []).filter(c => c.type === MenuType.Button)\n})\n\n/** 已占用的权限码(多码按钮展开成单条),用于批量添加去重。 */\nconst usedCodes = computed(() => new Set(buttons.value.flatMap(b => splitPermission(b.permission))))\n\n// ── 路由按应用软过滤 ────────────────────────────────────────────\n// route.path 形如 /api/v1/sys/...;appPrefix 是该应用的路由段(sys/biz)。空前缀=不过滤。\n// 软过滤:默认只列本应用路由,一键「显示全部」放开(业务页正当需要 /api/v1/sys/file 上传、/sys/dict 等共享系统路由)。\nconst routeSeg = computed(() => (props.appPrefix ?? '').trim().replace(/^\\/+|\\/+$/g, ''))\nconst belongsToApp = (path: string) => {\n const seg = routeSeg.value\n if (!seg) return true\n return path.includes(`/${seg}/`) || path.endsWith(`/${seg}`)\n}\n/** 是否存在「非本应用」的路由 —— 决定要不要展示「显示全部」开关。 */\nconst hasOtherRoutes = computed(\n () => routeSeg.value !== '' && props.routes.some(r => !belongsToApp(r.path)),\n)\nconst showAllRoutes = ref(false)\n\n// 权限码下拉(多选):label 展示「METHOD /路径」便于辨认,value 就是要写进 permission 的码本身。\n// 无前缀→平铺全量;有前缀且不显示全部→仅本应用;显示全部→按「本应用/其他应用」分组。\nconst toOpt = (r: PermissionRouteItem) => ({ label: `${r.method} ${r.path}`, value: r.code })\nconst permissionOptions = computed(() => {\n const seg = routeSeg.value\n if (!seg) return props.routes.map(toOpt)\n const inApp = props.routes.filter(r => belongsToApp(r.path))\n if (!showAllRoutes.value) return inApp.map(toOpt)\n const other = props.routes.filter(r => !belongsToApp(r.path))\n return [\n { type: 'group', key: '__inApp', label: t('menu.routesInApp'), children: inApp.map(toOpt) },\n { type: 'group', key: '__other', label: t('menu.routesOther'), children: other.map(toOpt) },\n ]\n})\n\n/**\n * 「所属页面」下拉:全部非按钮节点(目录 + 页面),缩进体现层级。\n * 不排除目录 —— 无对应页面的权限码锚点(如 ping)就该挂目录。\n * 按钮是叶子、不可能成环,故无需像主页 parentOptions 那样排除自身子树。\n */\nconst parentOptions = computed(() => {\n const opts: { label: string; value: number }[] = []\n const walk = (nodes: MenuTreeNode[], depth: number) => {\n for (const n of nodes) {\n if (n.type === MenuType.Button) continue\n opts.push({ label: `${' '.repeat(depth)}${n.title}`, value: n.id })\n walk(n.children, depth + 1)\n }\n }\n walk(props.tree, 0)\n return opts\n})\n\nfunction open(menu: { id: number; title: string }) {\n menuId.value = menu.id\n menuTitle.value = menu.title\n show.value = true\n}\ndefineExpose({ open })\n\n// ── 单个新增/编辑 ────────────────────────────────────────────────\nconst editShow = ref(false)\nconst editingId = ref<number | null>(null)\nconst formRef = ref<FormInst | null>(null)\nconst rules: FormRules = {\n title: {\n required: true,\n whitespace: true,\n message: () => t('menu.titleRequired'),\n trigger: ['input', 'blur'],\n },\n}\nconst blank = (): MenuInput => ({\n parentId: menuId.value ?? 0,\n type: MenuType.Button,\n title: '',\n permission: '',\n sort: 0,\n enabled: true,\n moduleId: null,\n path: '',\n component: '',\n icon: '',\n visible: true,\n})\nconst form = reactive<MenuInput>(blank())\n// 权限码在表单里按数组编辑(一颗按钮可挂多条路由),保存时拼回 form.permission 的 ; 串。\nconst permissionCodes = ref<string[]>([])\n\n/** 行 → 全量入参:回填与 StatusSwitch 行内改状态共用(后端无独立启停端点,均走全量 update)。 */\nconst toInput = (r: MenuTreeNode): MenuInput => ({\n parentId: r.parentId,\n type: r.type,\n title: r.title,\n permission: r.permission,\n sort: r.sort,\n enabled: r.enabled,\n moduleId: null,\n path: r.path ?? '',\n component: r.component ?? '',\n icon: r.icon ?? '',\n visible: r.visible,\n})\n\nfunction openAdd() {\n editingId.value = null\n showAllRoutes.value = false // 新增默认只看本应用路由\n Object.assign(form, blank())\n permissionCodes.value = []\n editShow.value = true\n}\nfunction openEdit(r: MenuTreeNode) {\n editingId.value = r.id\n showAllRoutes.value = true // 编辑时展开全部,保证已选的(可能跨应用的)权限码在下拉里可见\n Object.assign(form, toInput(r))\n permissionCodes.value = splitPermission(r.permission)\n editShow.value = true\n}\nasync function save() {\n await formRef.value?.validate()\n try {\n // parentId 取表单值(而非当前弹窗的 menuId)——「所属页面」改了就是移动:\n // 保存后本列表少一条、目标页面徽标 +1,由父页重拉树自然反映。\n const payload: MenuInput = {\n ...form,\n permission: joinPermission(permissionCodes.value),\n type: MenuType.Button,\n moduleId: null,\n }\n if (editingId.value === null) await menuApi.add(payload)\n else await menuApi.update(editingId.value, payload)\n message.success(t('menu.saved'))\n emit('changed')\n } catch (e) {\n message.error(translateError(e))\n return false\n }\n}\n\n// ── 从路由批量添加 ──────────────────────────────────────────────\ntype BatchRow = { code: string; method: string; path: string; title: string; checked: boolean }\nconst batchShow = ref(false)\nconst batchRows = ref<BatchRow[]>([])\nconst batchSaving = ref(false)\nconst batchKeyword = ref('')\n\n/** 搜索过滤:返回 batchRows 里命中的同一批对象引用,勾选/改标题的状态跨搜索保留;\n * saveBatch 仍以全量 batchRows 的 checked 为准,不会漏掉被过滤隐藏的已勾选行。 */\nconst filteredBatchRows = computed(() => {\n const kw = batchKeyword.value.trim().toLowerCase()\n const seg = routeSeg.value\n return batchRows.value.filter(r => {\n if (seg && !showAllRoutes.value && !belongsToApp(r.path)) return false // 按应用软过滤(可一键放开)\n if (!kw) return true\n return (\n r.method.toLowerCase().includes(kw) ||\n r.path.toLowerCase().includes(kw) ||\n r.title.toLowerCase().includes(kw)\n )\n })\n})\n\n/** HTTP 方法 → 默认标题(可就地改)。 */\nfunction defaultTitle(method: string): string {\n const m = method.toUpperCase()\n if (m === 'GET') return t('menu.btnQuery')\n if (m === 'POST') return t('menu.btnCreate')\n if (m === 'PUT' || m === 'PATCH') return t('menu.btnUpdate')\n if (m === 'DELETE') return t('menu.btnDelete')\n return method\n}\nfunction openBatch() {\n batchKeyword.value = ''\n showAllRoutes.value = false // 批量默认只列本应用路由\n // 只列当前菜单还没建过的路由,避免重复。\n batchRows.value = props.routes\n .filter(r => !usedCodes.value.has(r.code))\n .map(r => ({\n code: r.code,\n method: r.method,\n path: r.path,\n title: defaultTitle(r.method),\n checked: false,\n }))\n batchShow.value = true\n}\nconst batchChecked = computed(() => batchRows.value.filter(r => r.checked))\nasync function saveBatch() {\n const picked = batchChecked.value\n if (!picked.length) return false // 未选任何路由,别关弹窗\n batchSaving.value = true\n try {\n // ponytail: 逐个 add,量级大到卡顿再考虑后端批量端点\n for (const r of picked) {\n await menuApi.add({\n parentId: menuId.value ?? 0,\n type: MenuType.Button,\n title: r.title.trim() || r.method,\n permission: r.code,\n sort: 0,\n enabled: true,\n moduleId: null,\n path: '',\n component: '',\n icon: '',\n visible: true,\n })\n }\n message.success(t('menu.saved'))\n emit('changed')\n batchShow.value = false\n } catch (e) {\n message.error(translateError(e))\n return false\n } finally {\n batchSaving.value = false\n }\n}\n\nconst columns: SmartTableColumn<MenuTreeNode>[] = [\n { type: 'index', title: () => t('common.rowNo'), width: 64, align: 'center' },\n { title: () => t('menu.title'), key: 'title', align: 'left' },\n {\n title: () => t('menu.permission'),\n key: 'permission',\n // 多码按钮逐条成 tag,一眼看出「查询」挂了哪几条路由\n render: r => {\n const codes = splitPermission(r.permission)\n if (!codes.length) return '—'\n return h(NSpace, { size: 4, wrapItem: false }, () =>\n codes.map(c => h(NTag, { size: 'small', bordered: false, key: c }, () => c)),\n )\n },\n },\n { title: () => t('menu.sort'), key: 'sort', width: 70 },\n {\n title: () => t('common.status'),\n key: 'enabled',\n width: 84,\n render: r =>\n h(StatusSwitch, {\n value: r.enabled,\n request: (next: boolean) => menuApi.update(r.id, { ...toInput(r), enabled: next }),\n 'onUpdate:value': () => emit('changed'),\n }),\n },\n {\n title: () => t('common.operation'),\n key: 'op',\n width: 130,\n fixed: 'right',\n render: r =>\n h(NSpace, { size: 2, wrapItem: false }, () => [\n canEdit.value\n ? h(\n NButton,\n { size: 'small', quaternary: true, type: 'primary', onClick: () => openEdit(r) },\n () => t('common.edit'),\n )\n : null,\n canDelete.value\n ? h(\n NPopconfirm,\n {\n onPositiveClick: () =>\n run(() => menuApi.remove(r.id), t('menu.deleted')).then(ok => {\n if (ok) emit('changed')\n }),\n },\n {\n trigger: () =>\n h(NButton, { size: 'small', quaternary: true, type: 'error' }, () =>\n t('common.delete'),\n ),\n default: () => t('menu.deleteConfirm', { title: r.title }),\n },\n )\n : null,\n ]),\n },\n]\n</script>\n\n<template>\n <!-- 列表弹窗:只有一个「关闭」底栏(不走 onConfirm 提交协议) -->\n <FormContainer\n v-model:show=\"show\"\n :title=\"t('menu.buttonManagerTitle', { title: menuTitle })\"\n :width=\"960\"\n >\n <n-space vertical :size=\"12\">\n <n-space>\n <n-button v-if=\"canAdd\" type=\"primary\" size=\"small\" @click=\"openAdd\">\n {{ t('menu.addButton') }}\n </n-button>\n <n-button v-if=\"canAdd\" size=\"small\" @click=\"openBatch\">\n {{ t('menu.batchFromRoutes') }}\n </n-button>\n </n-space>\n <SmartTable\n :default-page-size=\"100\"\n :columns=\"columns\"\n :data=\"buttons\"\n :pagination=\"false\"\n row-key=\"id\"\n storage-key=\"sys-menu-buttons\"\n />\n </n-space>\n <template #footer>\n <n-space justify=\"end\">\n <n-button @click=\"show = false\">{{ t('common.close') }}</n-button>\n </n-space>\n </template>\n </FormContainer>\n\n <!-- 单个新增/编辑按钮 -->\n <FormContainer\n v-model:show=\"editShow\"\n :title=\"editingId === null ? t('menu.addButton') : t('common.edit')\"\n :width=\"600\"\n :on-confirm=\"save\"\n :confirm-text=\"t('common.save')\"\n >\n <n-form ref=\"formRef\" :model=\"form\" :rules=\"rules\" label-placement=\"left\" :label-width=\"80\">\n <n-grid :cols=\"1\" :y-gap=\"4\">\n <n-form-item-gi :label=\"t('menu.title')\" path=\"title\">\n <n-input v-model:value=\"form.title\" :placeholder=\"t('menu.title')\" />\n </n-form-item-gi>\n <!-- 改这里 = 把按钮移到别的页面(按钮不在主树里,这是唯一能改归属的入口)。 -->\n <n-form-item-gi :label=\"t('menu.buttonParent')\">\n <n-select v-model:value=\"form.parentId\" :options=\"parentOptions\" filterable />\n </n-form-item-gi>\n <n-form-item-gi :label=\"t('menu.permission')\">\n <n-space vertical :size=\"4\" style=\"width: 100%\">\n <n-select\n v-model:value=\"permissionCodes\"\n :options=\"permissionOptions\"\n multiple\n filterable\n tag\n clearable\n :placeholder=\"t('menu.permissionPlaceholder')\"\n />\n <span class=\"perm-hint\">{{ t('menu.permissionHint') }}</span>\n <n-checkbox v-if=\"hasOtherRoutes\" v-model:checked=\"showAllRoutes\" size=\"small\">\n {{ t('menu.showAllRoutes') }}\n </n-checkbox>\n </n-space>\n </n-form-item-gi>\n <n-form-item-gi :label=\"t('menu.sort')\">\n <n-input-number v-model:value=\"form.sort\" :min=\"0\" style=\"width: 100%\" />\n </n-form-item-gi>\n <n-form-item-gi :label=\"t('common.status')\">\n <n-switch v-model:value=\"form.enabled\" />\n </n-form-item-gi>\n </n-grid>\n </n-form>\n </FormContainer>\n\n <!-- 从路由批量添加 -->\n <FormContainer\n v-model:show=\"batchShow\"\n :title=\"t('menu.batchTitle')\"\n :width=\"640\"\n :on-confirm=\"saveBatch\"\n :confirm-text=\"t('common.save')\"\n >\n <n-empty\n v-if=\"!batchRows.length\"\n :description=\"t('menu.noRoutesLeft')\"\n style=\"padding: 24px 0\"\n />\n <n-space v-else vertical :size=\"10\">\n <n-space align=\"center\" :size=\"12\">\n <n-input\n v-model:value=\"batchKeyword\"\n clearable\n :placeholder=\"t('menu.batchSearchPlaceholder')\"\n style=\"flex: 1\"\n >\n <template #prefix><AppIcon icon=\"ph:magnifying-glass\" :size=\"16\" /></template>\n </n-input>\n <n-checkbox v-if=\"hasOtherRoutes\" v-model:checked=\"showAllRoutes\">\n {{ t('menu.showAllRoutes') }}\n </n-checkbox>\n </n-space>\n <n-empty\n v-if=\"!filteredBatchRows.length\"\n :description=\"t('menu.noRoutesLeft')\"\n style=\"padding: 16px 0\"\n />\n <n-space v-else vertical :size=\"6\" style=\"max-height: 55vh; overflow: auto\">\n <div\n v-for=\"r in filteredBatchRows\"\n :key=\"r.code\"\n style=\"display: flex; align-items: center; gap: 10px\"\n >\n <n-checkbox v-model:checked=\"r.checked\" />\n <span style=\"width: 210px; color: var(--color-text-secondary, #888); font-size: 12px\">\n {{ r.method }} {{ r.path }}\n </span>\n <n-input\n v-model:value=\"r.title\"\n size=\"small\"\n :disabled=\"!r.checked\"\n style=\"width: 160px\"\n />\n </div>\n </n-space>\n </n-space>\n </FormContainer>\n</template>\n\n<style scoped>\n.perm-hint {\n font-size: 12px;\n color: var(--color-text-tertiary, #999);\n line-height: 1.5;\n}\n</style>\n"],"names":["props","__props","emit","__emit","t","useI18n","message","useMessage","run","useConfirm","auth","useAuthStore","canAdd","computed","canEdit","canDelete","show","ref","menuId","menuTitle","findNode","nodes","id","hit","buttons","node","c","MenuType","usedCodes","b","splitPermission","routeSeg","belongsToApp","path","seg","hasOtherRoutes","r","showAllRoutes","toOpt","permissionOptions","inApp","other","parentOptions","opts","walk","depth","n","open","menu","__expose","editShow","editingId","formRef","rules","blank","form","reactive","permissionCodes","toInput","openAdd","openEdit","save","_a","payload","joinPermission","menuApi","e","translateError","batchShow","batchRows","batchSaving","batchKeyword","filteredBatchRows","kw","defaultTitle","method","m","openBatch","batchChecked","saveBatch","picked","columns","codes","h","NSpace","NTag","StatusSwitch","next","NButton","NPopconfirm","ok","_createVNode","FormContainer","$event","_unref","_createBlock","SmartTable","NForm","NGrid","NFormItemGi","NInput","_cache","NSelect","_createElementVNode","_hoisted_1","_toDisplayString","NCheckbox","NInputNumber","NSwitch","AppIcon","_createElementBlock","_Fragment","_renderList","_hoisted_2","NEmpty"],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import { MenuTreeNode } from '../../../../types/menu';
2
+ import { ModuleRow } from '../../../../types/api';
3
+ type __VLS_Props = {
4
+ modules: ModuleRow[];
5
+ /** 全树:subtreeIds 防环需要按钮在内的完整结构。 */
6
+ tree: MenuTreeNode[];
7
+ /** 当前应用、已剥按钮的树:父级下拉的候选来源(只在本应用子树里选父级,防跨应用误挂)。 */
8
+ filteredTree: MenuTreeNode[];
9
+ moduleFilter: number;
10
+ };
11
+ declare function openAdd(parentId?: number): void;
12
+ declare function openEdit(r: MenuTreeNode): void;
13
+ declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {
14
+ openAdd: typeof openAdd;
15
+ openEdit: typeof openEdit;
16
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
17
+ saved: () => any;
18
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
19
+ onSaved?: (() => any) | undefined;
20
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
21
+ declare const _default: typeof __VLS_export;
22
+ export default _default;
@@ -0,0 +1,8 @@
1
+ import o from "./MenuFormModal2.vue.js";
2
+ /* empty css */
3
+ import a from "../../../../_virtual/_plugin-vue_export-helper.js";
4
+ const e = /* @__PURE__ */ a(o, [["__scopeId", "data-v-b458eaa0"]]);
5
+ export {
6
+ e as default
7
+ };
8
+ //# sourceMappingURL=MenuFormModal.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuFormModal.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}