smart-admin-web 10.14.0 → 10.20.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 (538) hide show
  1. package/README.md +6 -6
  2. package/dist/api/index.d.ts +41 -2
  3. package/dist/api/index.js +36 -15
  4. package/dist/api/index.js.map +1 -1
  5. package/dist/api/schema.d.ts +418 -6
  6. package/dist/assets/icons/ph-subset.json.js +7 -7
  7. package/dist/assets/smart-logo.svg.js +5 -0
  8. package/dist/assets/smart-logo.svg.js.map +1 -0
  9. package/dist/components/AppIcon.vue.js +9 -9
  10. package/dist/components/AppIcon.vue.js.map +1 -1
  11. package/dist/components/AppWatermark.vue.d.ts +14 -0
  12. package/dist/components/AppWatermark.vue.js +38 -0
  13. package/dist/components/AppWatermark.vue.js.map +1 -0
  14. package/dist/components/AppWatermark2.vue.js +5 -0
  15. package/dist/components/AppWatermark2.vue.js.map +1 -0
  16. package/dist/components/Chart/PieChart.vue.d.ts +1 -1
  17. package/dist/components/Chart/echarts.js +15 -20
  18. package/dist/components/Chart/echarts.js.map +1 -1
  19. package/dist/components/CronEditor/index.vue.js +1 -1
  20. package/dist/components/CronEditor/index2.vue.js +2 -1
  21. package/dist/components/CronEditor/index2.vue.js.map +1 -1
  22. package/dist/components/DetailPage/index.vue.js +2 -2
  23. package/dist/components/DetailPage/index2.vue.js.map +1 -1
  24. package/dist/components/DictTag/index.vue.js.map +1 -1
  25. package/dist/components/ErrorBoundary/index.vue.js +2 -2
  26. package/dist/components/ErrorBoundary/index2.vue.js +1 -1
  27. package/dist/components/ErrorBoundary/index2.vue.js.map +1 -1
  28. package/dist/components/FormContainer/index.vue.js +91 -56
  29. package/dist/components/FormContainer/index.vue.js.map +1 -1
  30. package/dist/components/ImportWizard/index.vue.js +1 -1
  31. package/dist/components/ImportWizard/index2.vue.js +44 -41
  32. package/dist/components/ImportWizard/index2.vue.js.map +1 -1
  33. package/dist/components/MenuSearch.vue.js +2 -2
  34. package/dist/components/MenuSearch2.vue.js +19 -18
  35. package/dist/components/MenuSearch2.vue.js.map +1 -1
  36. package/dist/components/PasswordStrength/index.vue.js +2 -2
  37. package/dist/components/PasswordStrength/index2.vue.js +20 -18
  38. package/dist/components/PasswordStrength/index2.vue.js.map +1 -1
  39. package/dist/components/SmartLogo.vue.d.ts +3 -0
  40. package/dist/components/SmartLogo.vue.js +1 -1
  41. package/dist/components/SmartLogo2.vue.js +22 -64
  42. package/dist/components/SmartLogo2.vue.js.map +1 -1
  43. package/dist/{views/system/config/components/GroupExtraConfig.vue.d.ts → components/TableTotal/index.vue.d.ts} +1 -4
  44. package/dist/components/{SelectTable → TableTotal}/index.vue.js +1 -1
  45. package/dist/components/TableTotal/index2.vue.js +16 -0
  46. package/dist/components/TableTotal/index2.vue.js.map +1 -0
  47. package/dist/components/TableZoomButton/index.vue.js.map +1 -1
  48. package/dist/components/UserPicker/index.vue.js +2 -2
  49. package/dist/components/UserPicker/index2.vue.js +176 -117
  50. package/dist/components/UserPicker/index2.vue.js.map +1 -1
  51. package/dist/composables/useBatchDelete.js.map +1 -1
  52. package/dist/composables/useLayoutMenu.js +17 -16
  53. package/dist/composables/useLayoutMenu.js.map +1 -1
  54. package/dist/composables/useLoginHero.d.ts +2 -0
  55. package/dist/composables/useLoginHero.js +22 -0
  56. package/dist/composables/useLoginHero.js.map +1 -0
  57. package/dist/composables/useModule.js +39 -29
  58. package/dist/composables/useModule.js.map +1 -1
  59. package/dist/composables/usePageTitle.js +16 -14
  60. package/dist/composables/usePageTitle.js.map +1 -1
  61. package/dist/composables/useShellBreakpoint.d.ts +19 -0
  62. package/dist/composables/useShellBreakpoint.js +37 -0
  63. package/dist/composables/useShellBreakpoint.js.map +1 -0
  64. package/dist/composables/useSite.d.ts +20 -0
  65. package/dist/composables/useSite.js +18 -13
  66. package/dist/composables/useSite.js.map +1 -1
  67. package/dist/composables/useTabTitle.js.map +1 -1
  68. package/dist/composables/useTableTitle.d.ts +6 -0
  69. package/dist/composables/useTableTitle.js +11 -0
  70. package/dist/composables/useTableTitle.js.map +1 -0
  71. package/dist/composables/useTableZoom.d.ts +5 -0
  72. package/dist/composables/useTableZoom.js.map +1 -1
  73. package/dist/composables/useTheme.d.ts +2 -2
  74. package/dist/composables/useTheme.js +23 -20
  75. package/dist/composables/useTheme.js.map +1 -1
  76. package/dist/createSmartAdmin.d.ts +12 -2
  77. package/dist/createSmartAdmin.js +72 -60
  78. package/dist/createSmartAdmin.js.map +1 -1
  79. package/dist/index.d.ts +5 -2
  80. package/dist/index.js +223 -208
  81. package/dist/index.js.map +1 -1
  82. package/dist/layouts/AccentPicker.vue.js +8 -0
  83. package/dist/layouts/AccentPicker.vue.js.map +1 -0
  84. package/dist/layouts/AccentPicker2.vue.js +131 -0
  85. package/dist/layouts/AccentPicker2.vue.js.map +1 -0
  86. package/dist/layouts/AppHeader.vue.d.ts +8 -1
  87. package/dist/layouts/AppHeader.vue.js +2 -2
  88. package/dist/layouts/AppHeader2.vue.js +317 -235
  89. package/dist/layouts/AppHeader2.vue.js.map +1 -1
  90. package/dist/layouts/NoticeBell.vue.js +2 -2
  91. package/dist/layouts/NoticeBell2.vue.js +1 -1
  92. package/dist/layouts/NoticeBell2.vue.js.map +1 -1
  93. package/dist/layouts/PersonalLayout.vue.js +2 -2
  94. package/dist/layouts/PersonalLayout2.vue.js +69 -47
  95. package/dist/layouts/PersonalLayout2.vue.js.map +1 -1
  96. package/dist/layouts/SettingsDrawer.vue.js +3 -3
  97. package/dist/layouts/SettingsDrawer2.vue.js +261 -325
  98. package/dist/layouts/SettingsDrawer2.vue.js.map +1 -1
  99. package/dist/layouts/TabsBar.vue.js +2 -2
  100. package/dist/layouts/TabsBar2.vue.js +97 -69
  101. package/dist/layouts/TabsBar2.vue.js.map +1 -1
  102. package/dist/layouts/components/SideNav.vue.d.ts +3 -0
  103. package/dist/layouts/components/SideNav.vue.js +1 -1
  104. package/dist/layouts/components/SideNav2.vue.js +54 -26
  105. package/dist/layouts/components/SideNav2.vue.js.map +1 -1
  106. package/dist/layouts/default.vue.js +1 -1
  107. package/dist/layouts/default2.vue.js +170 -140
  108. package/dist/layouts/default2.vue.js.map +1 -1
  109. package/dist/lib/favicon.d.ts +1 -0
  110. package/dist/lib/favicon.js +12 -0
  111. package/dist/lib/favicon.js.map +1 -0
  112. package/dist/lib/loginHero.d.ts +16 -0
  113. package/dist/lib/loginHero.js +33 -0
  114. package/dist/lib/loginHero.js.map +1 -0
  115. package/dist/lib/logoCrop.d.ts +25 -0
  116. package/dist/lib/logoCrop.js +22 -0
  117. package/dist/lib/logoCrop.js.map +1 -0
  118. package/dist/lib/runtime.d.ts +2 -0
  119. package/dist/lib/runtime.js +1 -1
  120. package/dist/lib/runtime.js.map +1 -1
  121. package/dist/lib/securityRules.d.ts +26 -0
  122. package/dist/lib/securityRules.js +86 -0
  123. package/dist/lib/securityRules.js.map +1 -0
  124. package/dist/lib/watermark.d.ts +110 -0
  125. package/dist/lib/watermark.js +151 -0
  126. package/dist/lib/watermark.js.map +1 -0
  127. package/dist/locales/en-US.d.ts +462 -42
  128. package/dist/locales/en-US.js +491 -78
  129. package/dist/locales/en-US.js.map +1 -1
  130. package/dist/locales/kernelMenuTitles.d.ts +1 -0
  131. package/dist/locales/kernelMenuTitles.js +128 -0
  132. package/dist/locales/kernelMenuTitles.js.map +1 -0
  133. package/dist/locales/menuTitle.d.ts +3 -0
  134. package/dist/locales/menuTitle.js +14 -12
  135. package/dist/locales/menuTitle.js.map +1 -1
  136. package/dist/locales/zh-CN.d.ts +462 -42
  137. package/dist/locales/zh-CN.js +490 -81
  138. package/dist/locales/zh-CN.js.map +1 -1
  139. package/dist/router/index.js +41 -32
  140. package/dist/router/index.js.map +1 -1
  141. package/dist/router/namedPage.d.ts +4 -0
  142. package/dist/router/namedPage.js +7 -7
  143. package/dist/router/namedPage.js.map +1 -1
  144. package/dist/router/viewRegistry.js +12 -12
  145. package/dist/router/viewRegistry.js.map +1 -1
  146. package/dist/stores/app.d.ts +0 -12
  147. package/dist/stores/app.js +11 -12
  148. package/dist/stores/app.js.map +1 -1
  149. package/dist/stores/tabs.js.map +1 -1
  150. package/dist/stores/user.d.ts +10 -0
  151. package/dist/stores/user.js.map +1 -1
  152. package/dist/style.css +1 -1
  153. package/dist/theme/accentTokens.d.ts +27 -0
  154. package/dist/theme/accentTokens.js +54 -0
  155. package/dist/theme/accentTokens.js.map +1 -0
  156. package/dist/theme/accents.d.ts +21 -1
  157. package/dist/theme/accents.js +11 -2
  158. package/dist/theme/accents.js.map +1 -1
  159. package/dist/theme/mix.d.ts +58 -7
  160. package/dist/theme/mix.js +115 -30
  161. package/dist/theme/mix.js.map +1 -1
  162. package/dist/theme/naive-theme.d.ts +5 -2
  163. package/dist/theme/naive-theme.js +405 -75
  164. package/dist/theme/naive-theme.js.map +1 -1
  165. package/dist/utils/jwt.d.ts +8 -0
  166. package/dist/utils/jwt.js +14 -0
  167. package/dist/utils/jwt.js.map +1 -0
  168. package/dist/utils/menuIcon.d.ts +2 -0
  169. package/dist/utils/menuIcon.js +8 -0
  170. package/dist/utils/menuIcon.js.map +1 -0
  171. package/dist/utils/oauthBrand.d.ts +34 -9
  172. package/dist/utils/oauthBrand.js +70 -74
  173. package/dist/utils/oauthBrand.js.map +1 -1
  174. package/dist/utils/tableFilter.d.ts +88 -0
  175. package/dist/utils/tableFilter.js +116 -0
  176. package/dist/utils/tableFilter.js.map +1 -0
  177. package/dist/utils/tableToolbar.d.ts +18 -0
  178. package/dist/utils/tableToolbar.js +11 -0
  179. package/dist/utils/tableToolbar.js.map +1 -0
  180. package/dist/utils/treeFilter.d.ts +20 -0
  181. package/dist/utils/treeFilter.js +24 -0
  182. package/dist/utils/treeFilter.js.map +1 -0
  183. package/dist/views/dashboard/ShortcutPicker.vue.js +1 -1
  184. package/dist/views/dashboard/ShortcutPicker2.vue.js +73 -48
  185. package/dist/views/dashboard/ShortcutPicker2.vue.js.map +1 -1
  186. package/dist/views/dashboard/biz.vue.js +1 -1
  187. package/dist/views/dashboard/biz2.vue.js +310 -257
  188. package/dist/views/dashboard/biz2.vue.js.map +1 -1
  189. package/dist/views/dashboard/workbench.vue.js +2 -2
  190. package/dist/views/dashboard/workbench2.vue.js +141 -155
  191. package/dist/views/dashboard/workbench2.vue.js.map +1 -1
  192. package/dist/views/embed/iframe.vue.js +2 -2
  193. package/dist/views/embed/iframe2.vue.js +22 -15
  194. package/dist/views/embed/iframe2.vue.js.map +1 -1
  195. package/dist/views/error/404.vue.js +2 -2
  196. package/dist/views/error/4042.vue.js +33 -24
  197. package/dist/views/error/4042.vue.js.map +1 -1
  198. package/dist/views/error/BootError.vue.js +1 -1
  199. package/dist/views/error/BootError2.vue.js +59 -48
  200. package/dist/views/error/BootError2.vue.js.map +1 -1
  201. package/dist/views/error/MissingRoute.vue.js +2 -2
  202. package/dist/views/error/MissingRoute2.vue.js +34 -15
  203. package/dist/views/error/MissingRoute2.vue.js.map +1 -1
  204. package/dist/views/login/LoginForm.vue.d.ts +7 -1
  205. package/dist/views/login/LoginForm.vue.js +2 -2
  206. package/dist/views/login/LoginForm2.vue.js +580 -488
  207. package/dist/views/login/LoginForm2.vue.js.map +1 -1
  208. package/dist/views/login/components/LoginDesk.vue.d.ts +36 -0
  209. package/dist/views/login/components/LoginDesk.vue.js +9 -0
  210. package/dist/views/login/components/LoginDesk.vue.js.map +1 -0
  211. package/dist/views/login/components/LoginDesk2.vue.js +100 -0
  212. package/dist/views/login/components/LoginDesk2.vue.js.map +1 -0
  213. package/dist/views/login/components/LoginHeroPanel.vue.d.ts +18 -0
  214. package/dist/views/login/components/LoginHeroPanel.vue.js +8 -0
  215. package/dist/views/login/components/LoginHeroPanel.vue.js.map +1 -0
  216. package/dist/views/login/components/LoginHeroPanel2.vue.js +61 -0
  217. package/dist/views/login/components/LoginHeroPanel2.vue.js.map +1 -0
  218. package/dist/views/login/index.vue.js +1 -1
  219. package/dist/views/login/index2.vue.js +141 -71
  220. package/dist/views/login/index2.vue.js.map +1 -1
  221. package/dist/views/login/layout.d.ts +11 -0
  222. package/dist/views/login/layout.js +27 -0
  223. package/dist/views/login/layout.js.map +1 -0
  224. package/dist/views/mfa/index.vue.js +2 -2
  225. package/dist/views/mfa/index2.vue.js +367 -321
  226. package/dist/views/mfa/index2.vue.js.map +1 -1
  227. package/dist/views/module/index.vue.js +2 -2
  228. package/dist/views/module/index2.vue.js +132 -99
  229. package/dist/views/module/index2.vue.js.map +1 -1
  230. package/dist/views/oauth/callback.vue.js +2 -2
  231. package/dist/views/oauth/callback2.vue.js +65 -51
  232. package/dist/views/oauth/callback2.vue.js.map +1 -1
  233. package/dist/views/personal/bindings.vue.js +2 -2
  234. package/dist/views/personal/bindings2.vue.js +98 -94
  235. package/dist/views/personal/bindings2.vue.js.map +1 -1
  236. package/dist/views/personal/notice2.vue.js +103 -76
  237. package/dist/views/personal/notice2.vue.js.map +1 -1
  238. package/dist/views/personal/password2.vue.js +47 -40
  239. package/dist/views/personal/password2.vue.js.map +1 -1
  240. package/dist/views/personal/profile.vue.js +3 -3
  241. package/dist/views/personal/profile2.vue.js +24 -18
  242. package/dist/views/personal/profile2.vue.js.map +1 -1
  243. package/dist/views/personal/security.vue.js +2 -2
  244. package/dist/views/personal/security2.vue.js +65 -53
  245. package/dist/views/personal/security2.vue.js.map +1 -1
  246. package/dist/views/personal/sessions.vue.js +2 -2
  247. package/dist/views/personal/sessions2.vue.js +67 -62
  248. package/dist/views/personal/sessions2.vue.js.map +1 -1
  249. package/dist/views/system/ai-model/components/ProviderCard.vue.js +2 -2
  250. package/dist/views/system/ai-model/components/ProviderCard2.vue.js +142 -130
  251. package/dist/views/system/ai-model/components/ProviderCard2.vue.js.map +1 -1
  252. package/dist/views/system/ai-model/components/ProviderForm.vue.js +2 -2
  253. package/dist/views/system/ai-model/components/ProviderForm2.vue.js +71 -70
  254. package/dist/views/system/ai-model/components/ProviderForm2.vue.js.map +1 -1
  255. package/dist/views/system/ai-model/index.vue.js +2 -2
  256. package/dist/views/system/ai-model/index2.vue.js +99 -99
  257. package/dist/views/system/ai-model/index2.vue.js.map +1 -1
  258. package/dist/views/system/ai-model/presets.d.ts +1 -1
  259. package/dist/views/system/ai-model/presets.js +18 -18
  260. package/dist/views/system/ai-model/presets.js.map +1 -1
  261. package/dist/views/system/ai-usage/index.vue.js +2 -2
  262. package/dist/views/system/ai-usage/index2.vue.js +356 -258
  263. package/dist/views/system/ai-usage/index2.vue.js.map +1 -1
  264. package/dist/views/system/api-docs/index.vue.js +5 -2
  265. package/dist/views/system/api-docs/index.vue.js.map +1 -1
  266. package/dist/views/system/api-docs/index2.vue.js +92 -42
  267. package/dist/views/system/api-docs/index2.vue.js.map +1 -1
  268. package/dist/views/system/cache/index.vue.js +2 -2
  269. package/dist/views/system/cache/index2.vue.js +74 -80
  270. package/dist/views/system/cache/index2.vue.js.map +1 -1
  271. package/dist/views/system/config/components/AdminMock.vue.js +8 -0
  272. package/dist/views/system/config/components/AdminMock.vue.js.map +1 -0
  273. package/dist/views/system/config/components/AdminMock2.vue.js +93 -0
  274. package/dist/views/system/config/components/AdminMock2.vue.js.map +1 -0
  275. package/dist/views/system/config/components/AdvancedSection.vue.js +8 -0
  276. package/dist/views/system/config/components/AdvancedSection.vue.js.map +1 -0
  277. package/dist/views/system/config/components/AdvancedSection2.vue.js +163 -0
  278. package/dist/views/system/config/components/AdvancedSection2.vue.js.map +1 -0
  279. package/dist/views/system/config/components/BrandSection.vue.d.ts +7 -0
  280. package/dist/views/system/config/components/BrandSection.vue.js +8 -0
  281. package/dist/views/system/config/components/BrandSection.vue.js.map +1 -0
  282. package/dist/views/system/config/components/BrandSection2.vue.js +266 -0
  283. package/dist/views/system/config/components/BrandSection2.vue.js.map +1 -0
  284. package/dist/views/system/config/components/CfgGroup.vue.d.ts +18 -0
  285. package/dist/views/system/config/components/CfgGroup.vue.js +8 -0
  286. package/dist/views/system/config/components/CfgGroup.vue.js.map +1 -0
  287. package/dist/views/system/config/components/CfgGroup2.vue.js +22 -0
  288. package/dist/views/system/config/components/CfgGroup2.vue.js.map +1 -0
  289. package/dist/views/system/config/components/CfgRow.vue.d.ts +26 -0
  290. package/dist/views/system/config/components/CfgRow.vue.js +9 -0
  291. package/dist/views/system/config/components/CfgRow.vue.js.map +1 -0
  292. package/dist/views/system/config/components/CfgRow2.vue.js +54 -0
  293. package/dist/views/system/config/components/CfgRow2.vue.js.map +1 -0
  294. package/dist/views/system/config/components/CfgSegment.vue.d.ts +28 -0
  295. package/dist/views/system/config/components/CfgSegment.vue.js +8 -0
  296. package/dist/views/system/config/components/CfgSegment.vue.js.map +1 -0
  297. package/dist/views/system/config/components/CfgSegment2.vue.js +45 -0
  298. package/dist/views/system/config/components/CfgSegment2.vue.js.map +1 -0
  299. package/dist/views/system/config/components/ConfigFormModal.vue.js +4 -1
  300. package/dist/views/system/config/components/ConfigFormModal.vue.js.map +1 -1
  301. package/dist/views/system/config/components/ConfigFormModal2.vue.js +72 -60
  302. package/dist/views/system/config/components/ConfigFormModal2.vue.js.map +1 -1
  303. package/dist/views/system/config/components/JobSection.vue.js +8 -0
  304. package/dist/views/system/config/components/JobSection.vue.js.map +1 -0
  305. package/dist/views/system/config/components/JobSection2.vue.js +140 -0
  306. package/dist/views/system/config/components/JobSection2.vue.js.map +1 -0
  307. package/dist/views/system/config/components/LoginMock.vue.d.ts +8 -0
  308. package/dist/views/system/config/components/LoginMock.vue.js +8 -0
  309. package/dist/views/system/config/components/LoginMock.vue.js.map +1 -0
  310. package/dist/views/system/config/components/LoginMock2.vue.js +132 -0
  311. package/dist/views/system/config/components/LoginMock2.vue.js.map +1 -0
  312. package/dist/views/system/config/components/LogoCropper.vue.d.ts +10 -0
  313. package/dist/views/system/config/components/LogoCropper.vue.js +8 -0
  314. package/dist/views/system/config/components/LogoCropper.vue.js.map +1 -0
  315. package/dist/views/system/config/components/LogoCropper2.vue.js +122 -0
  316. package/dist/views/system/config/components/LogoCropper2.vue.js.map +1 -0
  317. package/dist/views/system/config/components/LogoEditor.vue.js +8 -0
  318. package/dist/views/system/config/components/LogoEditor.vue.js.map +1 -0
  319. package/dist/views/system/config/components/LogoEditor2.vue.js +161 -0
  320. package/dist/views/system/config/components/LogoEditor2.vue.js.map +1 -0
  321. package/dist/views/system/config/components/ProviderSheet.vue.d.ts +17 -0
  322. package/dist/views/system/config/components/ProviderSheet.vue.js +8 -0
  323. package/dist/views/system/config/components/ProviderSheet.vue.js.map +1 -0
  324. package/dist/views/system/config/components/ProviderSheet2.vue.js +343 -0
  325. package/dist/views/system/config/components/ProviderSheet2.vue.js.map +1 -0
  326. package/dist/{layouts/SettingRow.vue.d.ts → views/system/config/components/ScaleToFit.vue.d.ts} +2 -1
  327. package/dist/views/system/config/components/ScaleToFit.vue.js +8 -0
  328. package/dist/views/system/config/components/ScaleToFit.vue.js.map +1 -0
  329. package/dist/views/system/config/components/ScaleToFit2.vue.js +41 -0
  330. package/dist/views/system/config/components/ScaleToFit2.vue.js.map +1 -0
  331. package/dist/views/system/config/components/SectionLayout.vue.d.ts +30 -0
  332. package/dist/views/system/config/components/SectionLayout.vue.js +8 -0
  333. package/dist/views/system/config/components/SectionLayout.vue.js.map +1 -0
  334. package/dist/views/system/config/components/SectionLayout2.vue.js +69 -0
  335. package/dist/views/system/config/components/SectionLayout2.vue.js.map +1 -0
  336. package/dist/views/system/config/components/SecuritySection.vue.js +8 -0
  337. package/dist/views/system/config/components/SecuritySection.vue.js.map +1 -0
  338. package/dist/views/system/config/components/SecuritySection2.vue.js +417 -0
  339. package/dist/views/system/config/components/SecuritySection2.vue.js.map +1 -0
  340. package/dist/views/system/config/components/SensitiveSection.vue.js +8 -0
  341. package/dist/views/system/config/components/SensitiveSection.vue.js.map +1 -0
  342. package/dist/views/system/config/components/SensitiveSection2.vue.js +214 -0
  343. package/dist/views/system/config/components/SensitiveSection2.vue.js.map +1 -0
  344. package/dist/views/system/config/components/SigninSection.vue.js +8 -0
  345. package/dist/views/system/config/components/SigninSection.vue.js.map +1 -0
  346. package/dist/views/system/config/components/SigninSection2.vue.js +201 -0
  347. package/dist/views/system/config/components/SigninSection2.vue.js.map +1 -0
  348. package/dist/views/system/config/components/UploadSection.vue.js +8 -0
  349. package/dist/views/system/config/components/UploadSection.vue.js.map +1 -0
  350. package/dist/views/system/config/components/UploadSection2.vue.js +176 -0
  351. package/dist/views/system/config/components/UploadSection2.vue.js.map +1 -0
  352. package/dist/views/system/config/components/WatermarkSection.vue.js +8 -0
  353. package/dist/views/system/config/components/WatermarkSection.vue.js.map +1 -0
  354. package/dist/views/system/config/components/WatermarkSection2.vue.js +284 -0
  355. package/dist/views/system/config/components/WatermarkSection2.vue.js.map +1 -0
  356. package/dist/views/system/config/draft.d.ts +148 -0
  357. package/dist/views/system/config/draft.js +170 -0
  358. package/dist/views/system/config/draft.js.map +1 -0
  359. package/dist/views/system/config/flash.d.ts +2 -0
  360. package/dist/views/system/config/flash.js +9 -0
  361. package/dist/views/system/config/flash.js.map +1 -0
  362. package/dist/views/system/config/groups.d.ts +38 -7
  363. package/dist/views/system/config/groups.js +104 -14
  364. package/dist/views/system/config/groups.js.map +1 -1
  365. package/dist/views/system/config/index.vue.js +6 -2
  366. package/dist/views/system/config/index.vue.js.map +1 -1
  367. package/dist/views/system/config/index2.vue.js +201 -111
  368. package/dist/views/system/config/index2.vue.js.map +1 -1
  369. package/dist/views/system/config/layoutMode.d.ts +23 -0
  370. package/dist/views/system/config/layoutMode.js +28 -0
  371. package/dist/views/system/config/layoutMode.js.map +1 -0
  372. package/dist/views/system/config/providerForm.d.ts +33 -0
  373. package/dist/views/system/config/providerForm.js +63 -0
  374. package/dist/views/system/config/providerForm.js.map +1 -0
  375. package/dist/views/system/dict/index.vue.js +2 -2
  376. package/dist/views/system/dict/index2.vue.js +471 -366
  377. package/dist/views/system/dict/index2.vue.js.map +1 -1
  378. package/dist/views/system/file/index2.vue.js +91 -76
  379. package/dist/views/system/file/index2.vue.js.map +1 -1
  380. package/dist/views/system/job/index.vue.js +3 -3
  381. package/dist/views/system/job/index2.vue.js +897 -828
  382. package/dist/views/system/job/index2.vue.js.map +1 -1
  383. package/dist/views/system/job-log/components/AttemptTable.vue.d.ts +8 -0
  384. package/dist/views/system/job-log/components/AttemptTable.vue.js +5 -0
  385. package/dist/views/system/job-log/components/AttemptTable.vue.js.map +1 -0
  386. package/dist/views/system/job-log/components/AttemptTable2.vue.js +54 -0
  387. package/dist/views/system/job-log/components/AttemptTable2.vue.js.map +1 -0
  388. package/dist/views/system/job-log/index.vue.js +2 -2
  389. package/dist/views/system/job-log/index2.vue.js +193 -207
  390. package/dist/views/system/job-log/index2.vue.js.map +1 -1
  391. package/dist/views/system/job-log/runStatus.d.ts +13 -0
  392. package/dist/views/system/job-log/runStatus.js +26 -0
  393. package/dist/views/system/job-log/runStatus.js.map +1 -0
  394. package/dist/views/system/job-monitor/index.vue.js +2 -2
  395. package/dist/views/system/job-monitor/index2.vue.js +172 -180
  396. package/dist/views/system/job-monitor/index2.vue.js.map +1 -1
  397. package/dist/views/system/log/exception/index.vue.js +2 -2
  398. package/dist/views/system/log/exception/index2.vue.js +135 -96
  399. package/dist/views/system/log/exception/index2.vue.js.map +1 -1
  400. package/dist/views/system/log/login/index2.vue.js +62 -41
  401. package/dist/views/system/log/login/index2.vue.js.map +1 -1
  402. package/dist/views/system/log/op/index.vue.js +2 -2
  403. package/dist/views/system/log/op/index2.vue.js +200 -162
  404. package/dist/views/system/log/op/index2.vue.js.map +1 -1
  405. package/dist/views/system/menu/components/ButtonManager.vue.js +2 -2
  406. package/dist/views/system/menu/components/ButtonManager2.vue.js +206 -190
  407. package/dist/views/system/menu/components/ButtonManager2.vue.js.map +1 -1
  408. package/dist/views/system/menu/components/MenuFormModal.vue.js +2 -2
  409. package/dist/views/system/menu/components/MenuFormModal2.vue.js +127 -118
  410. package/dist/views/system/menu/components/MenuFormModal2.vue.js.map +1 -1
  411. package/dist/views/system/menu/index.vue.js +1 -1
  412. package/dist/views/system/menu/index2.vue.js +216 -183
  413. package/dist/views/system/menu/index2.vue.js.map +1 -1
  414. package/dist/views/system/module/index.vue.js +1 -1
  415. package/dist/views/system/module/index2.vue.js +177 -144
  416. package/dist/views/system/module/index2.vue.js.map +1 -1
  417. package/dist/views/system/monitor/index.vue.js +2 -2
  418. package/dist/views/system/monitor/index2.vue.js +134 -149
  419. package/dist/views/system/monitor/index2.vue.js.map +1 -1
  420. package/dist/views/system/notice/index.vue.js +1 -1
  421. package/dist/views/system/notice/index2.vue.js +209 -181
  422. package/dist/views/system/notice/index2.vue.js.map +1 -1
  423. package/dist/views/system/org/index.vue.js +1 -1
  424. package/dist/views/system/org/index2.vue.js +278 -248
  425. package/dist/views/system/org/index2.vue.js.map +1 -1
  426. package/dist/views/system/position/index.vue.js +5 -2
  427. package/dist/views/system/position/index.vue.js.map +1 -1
  428. package/dist/views/system/position/index2.vue.js +128 -92
  429. package/dist/views/system/position/index2.vue.js.map +1 -1
  430. package/dist/views/system/recycle/index.vue.js +2 -2
  431. package/dist/views/system/recycle/index2.vue.js +90 -67
  432. package/dist/views/system/recycle/index2.vue.js.map +1 -1
  433. package/dist/views/system/role/components/GrantMenuSheet.vue.d.ts +20 -0
  434. package/dist/views/system/role/components/GrantMenuSheet.vue.js +8 -0
  435. package/dist/views/system/role/components/GrantMenuSheet.vue.js.map +1 -0
  436. package/dist/views/system/role/components/GrantMenuSheet2.vue.js +117 -0
  437. package/dist/views/system/role/components/GrantMenuSheet2.vue.js.map +1 -0
  438. package/dist/views/system/role/components/GrantMenuTable.vue.d.ts +6 -4
  439. package/dist/views/system/role/components/GrantMenuTable.vue.js +2 -2
  440. package/dist/views/system/role/components/GrantMenuTable2.vue.js +279 -177
  441. package/dist/views/system/role/components/GrantMenuTable2.vue.js.map +1 -1
  442. package/dist/views/system/role/components/MatchText.vue.d.ts +7 -0
  443. package/dist/views/system/role/components/MatchText.vue.js +8 -0
  444. package/dist/views/system/role/components/MatchText.vue.js.map +1 -0
  445. package/dist/views/system/role/components/MatchText2.vue.js +29 -0
  446. package/dist/views/system/role/components/MatchText2.vue.js.map +1 -0
  447. package/dist/views/system/role/components/grantMenuGroups.d.ts +36 -0
  448. package/dist/views/system/role/components/grantMenuGroups.js +110 -48
  449. package/dist/views/system/role/components/grantMenuGroups.js.map +1 -1
  450. package/dist/views/system/role/index.vue.js +5 -2
  451. package/dist/views/system/role/index.vue.js.map +1 -1
  452. package/dist/views/system/role/index2.vue.js +181 -165
  453. package/dist/views/system/role/index2.vue.js.map +1 -1
  454. package/dist/views/system/session/index2.vue.js +75 -49
  455. package/dist/views/system/session/index2.vue.js.map +1 -1
  456. package/dist/views/system/user/components/ResetPasswordModal.vue.js +2 -2
  457. package/dist/views/system/user/components/ResetPasswordModal2.vue.js +2 -0
  458. package/dist/views/system/user/components/ResetPasswordModal2.vue.js.map +1 -1
  459. package/dist/views/system/user/components/UserFormModal.vue.js +2 -2
  460. package/dist/views/system/user/components/UserFormModal2.vue.js +77 -76
  461. package/dist/views/system/user/components/UserFormModal2.vue.js.map +1 -1
  462. package/dist/views/system/user/index.vue.js +2 -2
  463. package/dist/views/system/user/index2.vue.js +362 -275
  464. package/dist/views/system/user/index2.vue.js.map +1 -1
  465. package/package.json +6 -8
  466. package/dist/components/SelectTable/index.vue.d.ts +0 -76
  467. package/dist/components/SelectTable/index2.vue.js +0 -256
  468. package/dist/components/SelectTable/index2.vue.js.map +0 -1
  469. package/dist/composables/useTableRowSort.d.ts +0 -20
  470. package/dist/composables/useTableRowSort.js +0 -59
  471. package/dist/composables/useTableRowSort.js.map +0 -1
  472. package/dist/layouts/LayoutModeCards.vue.js +0 -8
  473. package/dist/layouts/LayoutModeCards.vue.js.map +0 -1
  474. package/dist/layouts/LayoutModeCards2.vue.js +0 -67
  475. package/dist/layouts/LayoutModeCards2.vue.js.map +0 -1
  476. package/dist/layouts/SettingRow.vue.js +0 -8
  477. package/dist/layouts/SettingRow.vue.js.map +0 -1
  478. package/dist/layouts/SettingRow2.vue.js +0 -23
  479. package/dist/layouts/SettingRow2.vue.js.map +0 -1
  480. package/dist/views/login/skins/AuroraGlass.vue.js +0 -8
  481. package/dist/views/login/skins/AuroraGlass.vue.js.map +0 -1
  482. package/dist/views/login/skins/AuroraGlass2.vue.js +0 -80
  483. package/dist/views/login/skins/AuroraGlass2.vue.js.map +0 -1
  484. package/dist/views/login/skins/SplitPanel.vue.js +0 -8
  485. package/dist/views/login/skins/SplitPanel.vue.js.map +0 -1
  486. package/dist/views/login/skins/SplitPanel2.vue.js +0 -85
  487. package/dist/views/login/skins/SplitPanel2.vue.js.map +0 -1
  488. package/dist/views/login/skins/Spotlight.vue.js +0 -8
  489. package/dist/views/login/skins/Spotlight.vue.js.map +0 -1
  490. package/dist/views/login/skins/Spotlight2.vue.js +0 -36
  491. package/dist/views/login/skins/Spotlight2.vue.js.map +0 -1
  492. package/dist/views/login/skins.d.ts +0 -8
  493. package/dist/views/login/skins.js +0 -13
  494. package/dist/views/login/skins.js.map +0 -1
  495. package/dist/views/system/config/components/ExternalAuthConfig.vue.js +0 -8
  496. package/dist/views/system/config/components/ExternalAuthConfig.vue.js.map +0 -1
  497. package/dist/views/system/config/components/ExternalAuthConfig2.vue.js +0 -218
  498. package/dist/views/system/config/components/ExternalAuthConfig2.vue.js.map +0 -1
  499. package/dist/views/system/config/components/GroupExtraConfig.vue.js +0 -8
  500. package/dist/views/system/config/components/GroupExtraConfig.vue.js.map +0 -1
  501. package/dist/views/system/config/components/GroupExtraConfig2.vue.js +0 -108
  502. package/dist/views/system/config/components/GroupExtraConfig2.vue.js.map +0 -1
  503. package/dist/views/system/config/components/HighSensConfig.vue.js +0 -5
  504. package/dist/views/system/config/components/HighSensConfig.vue.js.map +0 -1
  505. package/dist/views/system/config/components/HighSensConfig2.vue.js +0 -134
  506. package/dist/views/system/config/components/HighSensConfig2.vue.js.map +0 -1
  507. package/dist/views/system/config/components/JobConfig.vue.js +0 -5
  508. package/dist/views/system/config/components/JobConfig.vue.js.map +0 -1
  509. package/dist/views/system/config/components/JobConfig2.vue.js +0 -116
  510. package/dist/views/system/config/components/JobConfig2.vue.js.map +0 -1
  511. package/dist/views/system/config/components/OtherConfig.vue.js +0 -5
  512. package/dist/views/system/config/components/OtherConfig.vue.js.map +0 -1
  513. package/dist/views/system/config/components/OtherConfig2.vue.js +0 -121
  514. package/dist/views/system/config/components/OtherConfig2.vue.js.map +0 -1
  515. package/dist/views/system/config/components/SecurityConfig.vue.js +0 -8
  516. package/dist/views/system/config/components/SecurityConfig.vue.js.map +0 -1
  517. package/dist/views/system/config/components/SecurityConfig2.vue.js +0 -456
  518. package/dist/views/system/config/components/SecurityConfig2.vue.js.map +0 -1
  519. package/dist/views/system/config/components/SysBaseConfig.vue.js +0 -5
  520. package/dist/views/system/config/components/SysBaseConfig.vue.js.map +0 -1
  521. package/dist/views/system/config/components/SysBaseConfig2.vue.js +0 -107
  522. package/dist/views/system/config/components/SysBaseConfig2.vue.js.map +0 -1
  523. package/dist/views/system/config/components/UploadConfig.vue.d.ts +0 -3
  524. package/dist/views/system/config/components/UploadConfig.vue.js +0 -5
  525. package/dist/views/system/config/components/UploadConfig.vue.js.map +0 -1
  526. package/dist/views/system/config/components/UploadConfig2.vue.js +0 -135
  527. package/dist/views/system/config/components/UploadConfig2.vue.js.map +0 -1
  528. /package/dist/components/{SelectTable → TableTotal}/index.vue.js.map +0 -0
  529. /package/dist/layouts/{LayoutModeCards.vue.d.ts → AccentPicker.vue.d.ts} +0 -0
  530. /package/dist/views/{login/skins/AuroraGlass.vue.d.ts → system/config/components/AdminMock.vue.d.ts} +0 -0
  531. /package/dist/views/{login/skins/SplitPanel.vue.d.ts → system/config/components/AdvancedSection.vue.d.ts} +0 -0
  532. /package/dist/views/{login/skins/Spotlight.vue.d.ts → system/config/components/JobSection.vue.d.ts} +0 -0
  533. /package/dist/views/system/config/components/{ExternalAuthConfig.vue.d.ts → LogoEditor.vue.d.ts} +0 -0
  534. /package/dist/views/system/config/components/{HighSensConfig.vue.d.ts → SecuritySection.vue.d.ts} +0 -0
  535. /package/dist/views/system/config/components/{JobConfig.vue.d.ts → SensitiveSection.vue.d.ts} +0 -0
  536. /package/dist/views/system/config/components/{OtherConfig.vue.d.ts → SigninSection.vue.d.ts} +0 -0
  537. /package/dist/views/system/config/components/{SecurityConfig.vue.d.ts → UploadSection.vue.d.ts} +0 -0
  538. /package/dist/views/system/config/components/{SysBaseConfig.vue.d.ts → WatermarkSection.vue.d.ts} +0 -0
@@ -1,121 +1,137 @@
1
- import { defineComponent as ae, ref as m, shallowRef as O, onMounted as ie, computed as c, watch as R, resolveDirective as re, openBlock as $, createElementBlock as ue, createVNode as u, unref as r, withCtx as v, createTextVNode as q, toDisplayString as F, withDirectives as se, createBlock as de, h as a } from "vue";
2
- import { useMessage as ce, NSelect as me, NInput as pe, NButton as k, NSpace as j, NTag as K, NDropdown as fe } from "naive-ui";
3
- import { SmartTable as ve } from "smart-naive-table";
4
- import { useI18n as ye } from "vue-i18n";
5
- import y from "../../../components/AppIcon.vue.js";
6
- import he from "../../../components/StatusSwitch/index.vue.js";
7
- import ge from "./components/ButtonManager.vue.js";
8
- import we from "./components/MenuFormModal.vue.js";
9
- import { useConfirm as ke } from "../../../composables/useConfirm.js";
10
- import { buildRoutesForModule as xe } from "../../../composables/useAuthMenu.js";
11
- import { useAuthStore as be } from "../../../stores/auth.js";
12
- import { moduleApi as _e, menuApi as I } from "../../../api/index.js";
13
- import { translateError as Ce } from "../../../utils/error.js";
14
- import { filterTree as Me, expandableIds as V } from "../../../utils/tree.js";
15
- import { MenuType as x, splitPermission as Ie, toMenuInput as Pe } from "../../../types/menu.js";
16
- const Te = { class: "view fill-page" }, b = 0, G = -1, Ve = /* @__PURE__ */ ae({
1
+ import { defineComponent as pe, ref as p, shallowRef as A, onMounted as fe, computed as f, watch as ve, h as o, resolveDirective as he, openBlock as G, createElementBlock as ye, createVNode as v, unref as s, withCtx as h, createTextVNode as K, toDisplayString as V, withDirectives as ge, createBlock as we, toRaw as ke } from "vue";
2
+ import { useMessage as be, NSpace as J, NTag as Q, NButton as w, NDropdown as _e, NSelect as xe } from "naive-ui";
3
+ import { SmartTable as Te } from "smart-naive-table";
4
+ import { useI18n as Ie } from "vue-i18n";
5
+ import c from "../../../components/AppIcon.vue.js";
6
+ import Me from "../../../components/StatusSwitch/index.vue.js";
7
+ import Ce from "./components/ButtonManager.vue.js";
8
+ import ze from "./components/MenuFormModal.vue.js";
9
+ import { useConfirm as Se } from "../../../composables/useConfirm.js";
10
+ import { buildRoutesForModule as Ae } from "../../../composables/useAuthMenu.js";
11
+ import { useAuthStore as Ee } from "../../../stores/auth.js";
12
+ import { moduleApi as Pe, menuApi as x } from "../../../api/index.js";
13
+ import { translateError as Be } from "../../../utils/error.js";
14
+ import { SEARCH_ACTIONS as E, deriveHeaderFilters as Re } from "../../../utils/tableFilter.js";
15
+ import { TABLE_MIN_ROW_HEIGHT as Ne, TABLE_TOOLBAR as Oe } from "../../../utils/tableToolbar.js";
16
+ import { expandableIds as X } from "../../../utils/tree.js";
17
+ import { filterTreeByParams as De, hasTreeCondition as Le } from "../../../utils/treeFilter.js";
18
+ import { toMenuInput as Fe, MenuType as k, splitPermission as Ue } from "../../../types/menu.js";
19
+ import { lineIcon as $e } from "../../../utils/menuIcon.js";
20
+ import { translateMenuTitle as P } from "../../../locales/menuTitle.js";
21
+ const He = { class: "view fill-page" }, b = 0, Y = -1, dt = /* @__PURE__ */ pe({
17
22
  __name: "index",
18
- setup(Se) {
19
- const { t: n } = ye(), W = ce(), { confirm: H } = ke(), s = be(), P = m(!1), h = O([]), g = O([]), i = m(s.currentModuleId ?? b), B = m([]);
20
- async function _() {
21
- P.value = !0;
23
+ setup(qe) {
24
+ const { t: n } = Ie(), Z = be(), { confirm: ee } = Se(), d = Ee(), T = p(!1), y = A([]), g = A([]), a = p(d.currentModuleId ?? b), B = p([]);
25
+ async function te() {
26
+ T.value = !0;
22
27
  try {
23
- h.value = await I.tree();
28
+ y.value = await x.tree();
24
29
  } catch (e) {
25
- W.error(Ce(e));
30
+ Z.error(Be(e));
26
31
  } finally {
27
- P.value = !1;
32
+ T.value = !1;
28
33
  }
29
34
  }
30
- async function T() {
31
- if (s.currentModuleId)
35
+ async function R() {
36
+ if (d.currentModuleId)
32
37
  try {
33
- await xe(s.currentModuleId);
38
+ await Ae(d.currentModuleId);
34
39
  } catch {
35
40
  }
36
41
  }
37
- ie(async () => {
42
+ fe(async () => {
38
43
  var e;
39
- await _();
40
44
  try {
41
- g.value = await _e.list(), A.value.some((t) => t.value === i.value) || (i.value = ((e = g.value[0]) == null ? void 0 : e.id) ?? b);
45
+ g.value = await Pe.list(), N.value.some((t) => t.value === a.value) || (a.value = ((e = g.value[0]) == null ? void 0 : e.id) ?? b);
42
46
  } catch {
43
47
  }
44
48
  try {
45
- B.value = await I.routes();
49
+ B.value = await x.routes();
46
50
  } catch {
47
51
  }
48
52
  });
49
- const J = (e) => e === x.Catalog ? n("menu.typeCatalog") : e === x.Menu ? n("menu.typeMenu") : n("menu.typeButton"), Q = (e) => e === x.Catalog ? "info" : "success", X = c(() => g.value.map((e) => ({ label: e.title, value: e.id }))), A = c(() => [
50
- { label: n("menu.moduleAll"), value: G },
51
- ...X.value,
53
+ const ne = (e) => e === k.Catalog ? n("menu.typeCatalog") : e === k.Menu ? n("menu.typeMenu") : n("menu.typeButton"), oe = (e) => e === k.Catalog ? "info" : "success", le = f(
54
+ () => g.value.map((e) => ({ label: P(e.title), value: e.id }))
55
+ ), N = f(() => [
56
+ { label: n("menu.moduleAll"), value: Y },
57
+ ...le.value,
52
58
  { label: n("menu.moduleUnassigned"), value: b }
53
59
  ]);
54
- function E(e) {
55
- return e.filter((t) => t.type !== x.Button).map((t) => ({ ...t, children: E(t.children) }));
60
+ function O(e) {
61
+ return e.filter((t) => t.type !== k.Button).map((t) => ({ ...t, children: O(t.children) }));
56
62
  }
57
- const S = c(
58
- () => E(
59
- h.value.filter(
60
- (e) => i.value === G ? !0 : i.value === b ? e.moduleId == null : e.moduleId === i.value
63
+ const D = f(
64
+ () => O(
65
+ y.value.filter(
66
+ (e) => a.value === Y ? !0 : a.value === b ? e.moduleId == null : e.moduleId === a.value
61
67
  )
62
68
  )
63
- ), N = c(() => {
69
+ ), L = f(() => {
64
70
  const e = /* @__PURE__ */ new Map(), t = (l) => {
65
- for (const o of l) {
66
- const d = o.children.filter((f) => f.type === x.Button);
67
- e.set(o.id, {
68
- count: d.length,
69
- perms: d.flatMap((f) => Ie(f.permission)).join(" ").toLowerCase()
70
- }), t(o.children);
71
+ for (const i of l) {
72
+ const r = i.children.filter((u) => u.type === k.Button);
73
+ e.set(i.id, {
74
+ count: r.length,
75
+ perms: r.flatMap((u) => Ue(u.permission)).join(" ").toLowerCase()
76
+ }), t(i.children);
71
77
  }
72
78
  };
73
- return t(h.value), e;
74
- }), w = m(""), C = c(() => {
75
- const e = w.value.trim().toLowerCase();
76
- return e ? Me(
77
- S.value,
78
- (t) => {
79
- var l;
80
- return t.title.toLowerCase().includes(e) || (t.path ?? "").toLowerCase().includes(e) || (((l = N.value.get(t.id)) == null ? void 0 : l.perms) ?? "").includes(e);
81
- }
82
- ) : S.value;
83
- }), p = m([]);
84
- R(C, (e) => {
85
- w.value.trim() && (p.value = V(e));
86
- }), R([() => w.value.trim(), i], ([e]) => {
87
- e || (p.value = []);
79
+ return t(y.value), e;
80
+ }), F = p(), I = () => {
81
+ var e;
82
+ return (e = F.value) == null ? void 0 : e.refresh();
83
+ }, U = {
84
+ // 英文界面下表里显示的是译名,搜索要两边都认(库里存的中文原文 + 当前语言的显示名)。
85
+ title: (e) => `${e.title} ${P(e.title, e.path || void 0)}`,
86
+ path: (e) => e.path,
87
+ permission: (e) => {
88
+ var t;
89
+ return (t = L.value.get(e.id)) == null ? void 0 : t.perms;
90
+ }
91
+ }, $ = /* @__PURE__ */ new WeakMap(), ie = async (e) => {
92
+ await te();
93
+ const t = De(D.value, e, U);
94
+ return $.set(t, Le(e, U)), { items: t, total: t.length };
95
+ }, m = p([]), M = A([]);
96
+ let C = !1;
97
+ function re(e) {
98
+ M.value = e;
99
+ const t = $.get(ke(e)) ?? !1;
100
+ t ? m.value = X(e) : C && (m.value = []), C = t;
101
+ }
102
+ ve(a, () => {
103
+ C || (m.value = []), I();
88
104
  });
89
- const z = c(() => p.value.length > 0), Y = () => p.value = z.value ? [] : V(C.value), Z = c(
105
+ const z = f(() => m.value.length > 0), ae = () => m.value = z.value ? [] : X(M.value), se = f(
90
106
  () => {
91
107
  var e;
92
- return i.value === b ? void 0 : ((e = g.value.find((t) => t.id === i.value)) == null ? void 0 : e.apiPrefix) ?? void 0;
108
+ return a.value === b ? void 0 : ((e = g.value.find((t) => t.id === a.value)) == null ? void 0 : e.apiPrefix) ?? void 0;
93
109
  }
94
- ), M = m(null), U = m(null), ee = (e) => {
110
+ ), _ = p(null), H = p(null), ue = (e) => {
95
111
  var t;
96
- return (t = U.value) == null ? void 0 : t.open({ id: e.id, title: e.title });
97
- }, D = () => Promise.all([_(), T()]), te = (e) => H({
112
+ return (t = H.value) == null ? void 0 : t.open({ id: e.id, title: e.title });
113
+ }, S = () => Promise.all([I(), R()]), de = (e) => ee({
98
114
  content: n("menu.deleteConfirm", { title: e.title }),
99
115
  type: "error",
100
- action: () => I.remove(e.id),
116
+ action: () => x.remove(e.id),
101
117
  successMsg: n("menu.deleted")
102
118
  }).then((t) => {
103
- t && Promise.all([_(), T()]);
104
- }), ne = ({ expanded: e }) => a(
119
+ t && S();
120
+ }), ce = ({ expanded: e }) => o(
105
121
  "span",
106
122
  {
107
- style: `display:inline-flex;transition:transform .2s;transform:rotate(${e ? 90 : 0}deg)`
123
+ style: `display:inline-flex;transition:transform .2s var(--ease);transform:rotate(${e ? 90 : 0}deg)`
108
124
  },
109
- a(y, { icon: "ph:caret-right-bold", size: 13 })
110
- ), le = c(() => {
111
- const e = /* @__PURE__ */ new Map(), t = (l, o) => {
112
- l.forEach((d, f) => {
113
- const L = o ? `${o}.${f + 1}` : String(f + 1);
114
- e.set(d.id, L), t(d.children, L);
125
+ o(c, { icon: "ph:caret-right", size: 14 })
126
+ ), me = f(() => {
127
+ const e = /* @__PURE__ */ new Map(), t = (l, i) => {
128
+ l.forEach((r, u) => {
129
+ const j = i ? `${i}.${u + 1}` : String(u + 1);
130
+ e.set(r.id, j), t(r.children, j);
115
131
  });
116
132
  };
117
- return t(C.value, ""), e;
118
- }), oe = [
133
+ return t(M.value, ""), e;
134
+ }), q = (e) => e ? o("span", { class: "mono muted" }, e) : o("span", { class: "faint" }, "—"), W = [
119
135
  // 序号列是渲染 rowNoById 层级号的普通数据列,fixed:'left' 与标题列同锚 ——
120
136
  // 不锚定的话,横向滚动时会滑到 fixed 的标题列底下,「这是哪一行」照样丢。
121
137
  {
@@ -127,18 +143,19 @@ const Te = { class: "view fill-page" }, b = 0, G = -1, Ve = /* @__PURE__ */ ae({
127
143
  hideInSetting: !0,
128
144
  // 结构性列,不进列设置
129
145
  render: (e) => {
130
- const t = le.value.get(e.id);
146
+ const t = me.value.get(e.id);
131
147
  if (!t) return null;
132
148
  const l = t.lastIndexOf(".") + 1;
133
- return a("span", { class: "row-no" }, [
134
- l ? a("span", { class: "row-no__path" }, t.slice(0, l)) : null,
135
- a("span", { class: "row-no__self" }, t.slice(l))
149
+ return o("span", { class: "row-no" }, [
150
+ l ? o("span", { class: "row-no__path" }, t.slice(0, l)) : null,
151
+ o("span", { class: "row-no__self" }, t.slice(l))
136
152
  ]);
137
153
  }
138
154
  },
139
155
  {
140
156
  title: () => n("menu.title"),
141
157
  key: "title",
158
+ search: { actions: E.fuzzy },
142
159
  align: "left",
143
160
  // 树列左对齐,展开缩进才好读
144
161
  // 展开箭头与每层 26px 缩进钉死在这一列。默认会落到「首个无 type 的列」= 序号列,
@@ -150,10 +167,10 @@ const Te = { class: "view fill-page" }, b = 0, G = -1, Ve = /* @__PURE__ */ ae({
150
167
  // 横向滚动时不能丢失「这是哪一行」
151
168
  render: (e) => (
152
169
  // inline:必须行内 —— naive 的展开箭头是 inline-flex,默认块级 NSpace 会被挤到第二行。
153
- a(j, { inline: !0, align: "center", size: 6, wrapItem: !1 }, () => [
154
- e.title,
170
+ o(J, { inline: !0, align: "center", size: 6, wrapItem: !1 }, () => [
171
+ P(e.title, e.path || void 0),
155
172
  // 「隐藏」是罕见状态(种子里的目录/页面全是显示),只在为真时才占视觉 —— 省掉一整列同一个词。
156
- e.visible ? null : a(K, { size: "tiny", bordered: !1, type: "warning" }, () => n("common.hidden"))
173
+ e.visible ? null : o(Q, { size: "tiny", bordered: !1, type: "warning" }, () => n("common.hidden"))
157
174
  ])
158
175
  )
159
176
  },
@@ -163,17 +180,17 @@ const Te = { class: "view fill-page" }, b = 0, G = -1, Ve = /* @__PURE__ */ ae({
163
180
  key: "icon",
164
181
  width: 64,
165
182
  align: "center",
166
- render: (e) => e.icon ? a(y, { icon: e.icon, size: 18 }) : null
183
+ render: (e) => e.icon ? o(c, { icon: $e(e.icon), size: 18 }) : null
167
184
  },
168
185
  // 类型独占一列,不塞在标题里。按类型着色,目录/页面一眼可辨。
169
186
  {
170
187
  title: () => n("menu.type"),
171
188
  key: "type",
172
189
  width: 90,
173
- render: (e) => a(
174
- K,
175
- { size: "small", bordered: !1, type: Q(e.type) },
176
- () => J(e.type)
190
+ render: (e) => o(
191
+ Q,
192
+ { size: "small", bordered: !1, type: oe(e.type) },
193
+ () => ne(e.type)
177
194
  )
178
195
  },
179
196
  // 路由/组件路径:管理员核对菜单时真正要看的东西,直接列出,不必点开编辑弹窗。
@@ -185,7 +202,16 @@ const Te = { class: "view fill-page" }, b = 0, G = -1, Ve = /* @__PURE__ */ ae({
185
202
  align: "left",
186
203
  width: 160,
187
204
  ellipsis: { tooltip: !0 },
188
- render: (e) => e.path || "—"
205
+ render: (e) => q(e.path),
206
+ search: { actions: E.fuzzy }
207
+ },
208
+ // 权限码只作搜索项:表格里不设这一列(见上),但「这个权限码归哪个页面」得能搜到 ——
209
+ // 取值与匹配见 SEARCH_FIELDS.permission(查该节点按钮子节点的码)。
210
+ {
211
+ key: "permission",
212
+ title: () => n("menu.permission"),
213
+ hideInTable: !0,
214
+ search: { actions: E.fuzzy }
189
215
  },
190
216
  {
191
217
  title: () => n("menu.component"),
@@ -193,7 +219,7 @@ const Te = { class: "view fill-page" }, b = 0, G = -1, Ve = /* @__PURE__ */ ae({
193
219
  align: "left",
194
220
  width: 180,
195
221
  ellipsis: { tooltip: !0 },
196
- render: (e) => e.component || "—"
222
+ render: (e) => q(e.component)
197
223
  },
198
224
  {
199
225
  title: () => n("menu.buttons"),
@@ -201,38 +227,43 @@ const Te = { class: "view fill-page" }, b = 0, G = -1, Ve = /* @__PURE__ */ ae({
201
227
  width: 140,
202
228
  render: (e) => {
203
229
  var l;
204
- const t = ((l = N.value.get(e.id)) == null ? void 0 : l.count) ?? 0;
205
- return s.hasPerm("POST:/api/v1/sys/menu/add") ? a(
206
- k,
230
+ const t = ((l = L.value.get(e.id)) == null ? void 0 : l.count) ?? 0;
231
+ return d.hasPerm("POST:/api/v1/sys/menu/add") ? o(
232
+ w,
207
233
  {
208
234
  size: "small",
209
235
  quaternary: !0,
210
236
  type: t > 0 ? "primary" : void 0,
211
- onClick: () => ee(e)
237
+ onClick: () => ue(e)
212
238
  },
213
239
  {
214
- icon: () => a(y, { icon: "ph:shield-check", size: 15 }),
240
+ icon: () => o(c, { icon: "ph:shield-check", size: 15 }),
215
241
  default: () => n("menu.configPerms", { n: t })
216
242
  }
217
243
  ) : null;
218
244
  }
219
245
  },
220
- { title: () => n("menu.sort"), key: "sort", width: 70 },
246
+ {
247
+ title: () => n("menu.sort"),
248
+ key: "sort",
249
+ width: 70,
250
+ render: (e) => o("span", { class: "num muted" }, e.sort)
251
+ },
221
252
  {
222
253
  title: () => n("common.status"),
223
254
  key: "enabled",
224
255
  width: 84,
225
- render: (e) => a(he, {
256
+ render: (e) => o(Me, {
226
257
  value: e.enabled,
227
- disabled: !s.hasPerm("PUT:/api/v1/sys/menu/{id}"),
258
+ disabled: !d.hasPerm("PUT:/api/v1/sys/menu/{id}"),
228
259
  // 启停走全量 update,无更新权限则置灰
229
260
  // 停用是一键隐藏整棵子树的重操作,先确认;启用无副作用,跳过确认(返回 null)。
230
261
  confirm: (t) => t ? null : n("menu.disableConfirm", { title: e.title }),
231
- request: (t) => I.update(e.id, { ...Pe(e), enabled: t }),
262
+ request: (t) => x.update(e.id, { ...Fe(e), enabled: t }),
232
263
  // 重拉而非往行对象上写:搜索态下的祖先行是 filterTree 的浅拷贝,写它不会回到源树(开关会弹回去)。
233
264
  // StatusSwitch 是悲观更新(请求成功才 emit),重拉一次就是最终态。
234
265
  "onUpdate:value": () => {
235
- _(), T();
266
+ I(), R();
236
267
  }
237
268
  })
238
269
  },
@@ -243,119 +274,121 @@ const Te = { class: "view fill-page" }, b = 0, G = -1, Ve = /* @__PURE__ */ ae({
243
274
  key: "op",
244
275
  width: 150,
245
276
  fixed: "right",
246
- render: (e) => a(j, { size: 2, wrapItem: !1, justify: "center" }, () => {
247
- const t = [
248
- s.hasPerm("POST:/api/v1/sys/menu/add") && {
277
+ render: (e) => o(J, { size: 2, wrapItem: !1, justify: "center" }, () => {
278
+ const t = d.hasPerm("POST:/api/v1/sys/menu/add"), l = d.hasPerm("DELETE:/api/v1/sys/menu/{id}"), i = [
279
+ t && {
249
280
  key: "addChild",
250
- label: n("menu.addChild")
281
+ label: n("menu.addChild"),
282
+ icon: () => o(c, { icon: "ph:plus", size: 16 })
251
283
  },
252
- s.hasPerm("DELETE:/api/v1/sys/menu/{id}") && {
284
+ // 新增与删除之间一条分隔线;只剩一项时不画
285
+ t && l && { type: "divider", key: "divider" },
286
+ l && {
253
287
  key: "delete",
254
- label: n("common.delete")
288
+ label: n("common.delete"),
289
+ icon: () => o(c, { icon: "ph:trash", size: 16 }),
290
+ props: { style: "color: var(--err)" }
255
291
  }
256
292
  ].filter(Boolean);
257
293
  return [
258
- s.hasPerm("PUT:/api/v1/sys/menu/{id}") ? a(
259
- k,
294
+ d.hasPerm("PUT:/api/v1/sys/menu/{id}") ? o(
295
+ w,
260
296
  {
261
297
  size: "small",
262
298
  quaternary: !0,
263
299
  type: "primary",
264
300
  onClick: () => {
265
- var l;
266
- return (l = M.value) == null ? void 0 : l.openEdit(e);
301
+ var r;
302
+ return (r = _.value) == null ? void 0 : r.openEdit(e);
267
303
  }
268
304
  },
269
305
  () => n("common.edit")
270
306
  ) : null,
271
- t.length ? a(
272
- fe,
307
+ i.length ? o(
308
+ _e,
273
309
  {
274
310
  trigger: "click",
275
- options: t,
276
- onSelect: (l) => {
277
- var o;
278
- return l === "addChild" ? (o = M.value) == null ? void 0 : o.openAdd(e.id) : te(e);
311
+ options: i,
312
+ onSelect: (r) => {
313
+ var u;
314
+ return r === "addChild" ? (u = _.value) == null ? void 0 : u.openAdd(e.id) : de(e);
279
315
  }
280
316
  },
281
- () => a(k, { size: "small", quaternary: !0 }, () => n("common.more"))
317
+ () => o(
318
+ w,
319
+ { size: "small", quaternary: !0, type: "primary", iconPlacement: "right" },
320
+ {
321
+ default: () => n("common.more"),
322
+ icon: () => o(c, { icon: "ph:caret-down", size: 12 })
323
+ }
324
+ )
282
325
  ) : null
283
326
  ];
284
327
  })
285
328
  }
286
329
  ];
287
- return (e, t) => {
288
- const l = re("auth");
289
- return $(), ue("div", Te, [
290
- u(r(ve), {
291
- "default-page-size": 100,
292
- columns: oe,
293
- data: C.value,
294
- loading: P.value,
330
+ return Re(W), (e, t) => {
331
+ const l = he("auth");
332
+ return G(), ye("div", He, [
333
+ v(s(Te), {
334
+ ref_key: "tableRef",
335
+ ref: F,
336
+ columns: W,
337
+ fetcher: ie,
338
+ loading: T.value,
295
339
  "row-key": "id",
296
340
  pagination: !1,
341
+ search: { container: "table" },
342
+ toolbar: s(Oe),
297
343
  "storage-key": "sys-menu",
298
344
  indent: 26,
299
- "flex-height": "",
300
- "virtual-scroll": "",
301
- "min-row-height": 48,
302
- "render-expand-icon": ne,
303
- "expanded-row-keys": p.value,
304
- "onUpdate:expandedRowKeys": t[3] || (t[3] = (o) => p.value = o)
345
+ "fill-height": "",
346
+ "min-row-height": s(Ne),
347
+ "render-expand-icon": ce,
348
+ "expanded-row-keys": m.value,
349
+ "onUpdate:expandedRowKeys": t[2] || (t[2] = (i) => m.value = i),
350
+ onLoaded: re
305
351
  }, {
306
- toolbar: v(() => [
307
- u(r(me), {
308
- value: i.value,
309
- "onUpdate:value": t[0] || (t[0] = (o) => i.value = o),
310
- options: A.value,
352
+ toolbar: h(() => [
353
+ v(s(xe), {
354
+ value: a.value,
355
+ "onUpdate:value": t[0] || (t[0] = (i) => a.value = i),
356
+ options: N.value,
311
357
  style: { width: "200px" },
312
- placeholder: r(n)("menu.module")
313
- }, null, 8, ["value", "options", "placeholder"]),
314
- u(r(pe), {
315
- value: w.value,
316
- "onUpdate:value": t[1] || (t[1] = (o) => w.value = o),
317
- clearable: "",
318
- placeholder: r(n)("menu.searchPlaceholder"),
319
- style: { width: "220px" }
320
- }, {
321
- prefix: v(() => [
322
- u(y, {
323
- icon: "ph:magnifying-glass",
324
- size: 16
325
- })
326
- ]),
327
- _: 1
328
- }, 8, ["value", "placeholder"]),
329
- u(r(k), {
330
- quaternary: "",
331
- onClick: Y
358
+ placeholder: s(n)("menu.module")
359
+ }, null, 8, ["value", "options", "placeholder"])
360
+ ]),
361
+ "toolbar-right": h(() => [
362
+ v(s(w), {
363
+ secondary: "",
364
+ onClick: ae
332
365
  }, {
333
- icon: v(() => [
334
- u(y, {
366
+ icon: h(() => [
367
+ v(c, {
335
368
  icon: z.value ? "ph:arrows-in-line-vertical" : "ph:arrows-out-line-vertical",
336
369
  size: 16
337
370
  }, null, 8, ["icon"])
338
371
  ]),
339
- default: v(() => [
340
- q(" " + F(z.value ? r(n)("common.collapseAll") : r(n)("common.expandAll")), 1)
372
+ default: h(() => [
373
+ K(" " + V(z.value ? s(n)("common.collapseAll") : s(n)("common.expandAll")), 1)
341
374
  ]),
342
375
  _: 1
343
376
  }),
344
- se(($(), de(r(k), {
377
+ ge((G(), we(s(w), {
345
378
  type: "primary",
346
- onClick: t[2] || (t[2] = (o) => {
347
- var d;
348
- return (d = M.value) == null ? void 0 : d.openAdd(0);
379
+ onClick: t[1] || (t[1] = (i) => {
380
+ var r;
381
+ return (r = _.value) == null ? void 0 : r.openAdd(0);
349
382
  })
350
383
  }, {
351
- icon: v(() => [
352
- u(y, {
384
+ icon: h(() => [
385
+ v(c, {
353
386
  icon: "ph:plus",
354
387
  size: 16
355
388
  })
356
389
  ]),
357
- default: v(() => [
358
- q(" " + F(r(n)("common.add")), 1)
390
+ default: h(() => [
391
+ K(" " + V(s(n)("common.add")), 1)
359
392
  ]),
360
393
  _: 1
361
394
  })), [
@@ -363,29 +396,29 @@ const Te = { class: "view fill-page" }, b = 0, G = -1, Ve = /* @__PURE__ */ ae({
363
396
  ])
364
397
  ]),
365
398
  _: 1
366
- }, 8, ["data", "loading", "expanded-row-keys"]),
367
- u(we, {
399
+ }, 8, ["loading", "toolbar", "min-row-height", "expanded-row-keys"]),
400
+ v(ze, {
368
401
  ref_key: "menuFormRef",
369
- ref: M,
402
+ ref: _,
370
403
  modules: g.value,
371
- tree: h.value,
372
- "filtered-tree": S.value,
373
- "module-filter": i.value,
374
- onSaved: D
404
+ tree: y.value,
405
+ "filtered-tree": D.value,
406
+ "module-filter": a.value,
407
+ onSaved: S
375
408
  }, null, 8, ["modules", "tree", "filtered-tree", "module-filter"]),
376
- u(ge, {
409
+ v(Ce, {
377
410
  ref_key: "buttonMgrRef",
378
- ref: U,
379
- tree: h.value,
411
+ ref: H,
412
+ tree: y.value,
380
413
  routes: B.value,
381
- "app-prefix": Z.value,
382
- onChanged: D
414
+ "app-prefix": se.value,
415
+ onChanged: S
383
416
  }, null, 8, ["tree", "routes", "app-prefix"])
384
417
  ]);
385
418
  };
386
419
  }
387
420
  });
388
421
  export {
389
- Ve as default
422
+ dt as default
390
423
  };
391
424
  //# sourceMappingURL=index2.vue.js.map