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,74 +1,32 @@
1
- import { defineComponent as y, computed as o, openBlock as s, createElementBlock as n, unref as f, normalizeStyle as h, createBlock as k, resolveDynamicComponent as x, createStaticVNode as u, createElementVNode as e, createCommentVNode as _ } from "vue";
2
- import { useAppStore as F } from "../stores/app.js";
3
- import { useSite as E } from "../composables/useSite.js";
4
- import { runtime as w } from "../lib/runtime.js";
5
- const D = ["src", "alt"], z = ["width", "height"], L = ["fill"], S = {
6
- key: 0,
7
- width: "120",
8
- height: "120",
9
- rx: "27",
10
- fill: "url(#sa-logo-glow)"
11
- }, C = ["stroke"], G = ["stroke"], M = ["fill"], b = ["fill"], j = /* @__PURE__ */ y({
1
+ import { defineComponent as a, computed as t, openBlock as l, createBlock as m, resolveDynamicComponent as u, createElementBlock as p, unref as f, normalizeStyle as d } from "vue";
2
+ import { useSite as g } from "../composables/useSite.js";
3
+ import { runtime as _ } from "../lib/runtime.js";
4
+ import v from "../assets/smart-logo.svg.js";
5
+ const y = ["src", "alt"], B = /* @__PURE__ */ a({
12
6
  __name: "SmartLogo",
13
7
  props: {
14
- size: { default: 28 }
8
+ size: { default: 28 },
9
+ src: { default: void 0 }
15
10
  },
16
- setup(g) {
17
- const a = g, l = F(), { site: c } = E(), t = w.brand.logo, d = o(() => c.logo || (typeof t == "string" ? t : "")), p = o(
18
- () => !c.logo && t && typeof t != "string" ? t : null
19
- ), m = o(() => l.isDark ? "#0F1222" : "url(#sa-logo-tile)"), i = o(() => l.isDark ? "url(#sa-logo-mark)" : "#FFFFFF"), v = o(() => l.isDark ? "#22D3EE" : "#A5F3FC");
20
- return (B, r) => d.value ? (s(), n("img", {
11
+ setup(i) {
12
+ const o = i, { site: n } = g(), e = _.brand.logo, r = t(() => o.src ?? n.logo), s = t(
13
+ () => !r.value && e && typeof e != "string" ? e : null
14
+ ), c = t(
15
+ () => r.value || typeof e == "string" && e || v
16
+ );
17
+ return (z, k) => s.value ? (l(), m(u(s.value), {
21
18
  key: 0,
22
- src: d.value,
23
- style: h({ height: `${a.size}px` }),
24
- alt: f(c).title,
25
- class: "site-logo"
26
- }, null, 12, D)) : p.value ? (s(), k(x(p.value), {
19
+ size: o.size
20
+ }, null, 8, ["size"])) : (l(), p("img", {
27
21
  key: 1,
28
- size: a.size
29
- }, null, 8, ["size"])) : (s(), n("svg", {
30
- key: 2,
31
- width: a.size,
32
- height: a.size,
33
- viewBox: "0 0 120 120",
34
- role: "img",
35
- "aria-label": "SmartAdmin"
36
- }, [
37
- r[1] || (r[1] = u('<defs data-v-88ac0194><linearGradient id="sa-logo-tile" gradientUnits="userSpaceOnUse" x1="0" y1="0" x2="120" y2="120" data-v-88ac0194><stop offset="0" stop-color="#7C83FF" data-v-88ac0194></stop><stop offset="1" stop-color="#4B52E6" data-v-88ac0194></stop></linearGradient><linearGradient id="sa-logo-mark" x1="0" y1="0" x2="1" y2="1" data-v-88ac0194><stop offset="0" stop-color="#646CFF" data-v-88ac0194></stop><stop offset="1" stop-color="#22D3EE" data-v-88ac0194></stop></linearGradient><radialGradient id="sa-logo-glow" cx="0.5" cy="0.45" r="0.55" data-v-88ac0194><stop offset="0" stop-color="#22D3EE" stop-opacity="0.26" data-v-88ac0194></stop><stop offset="1" stop-color="#22D3EE" stop-opacity="0" data-v-88ac0194></stop></radialGradient></defs>', 1)),
38
- e("rect", {
39
- width: "120",
40
- height: "120",
41
- rx: "27",
42
- fill: m.value
43
- }, null, 8, L),
44
- f(l).isDark ? (s(), n("rect", S)) : _("", !0),
45
- e("polygon", {
46
- points: "60,20 94.6,40 94.6,80 60,100 25.4,80 25.4,40",
47
- fill: "none",
48
- stroke: i.value,
49
- "stroke-width": "11",
50
- "stroke-linejoin": "round"
51
- }, null, 8, C),
52
- e("path", {
53
- d: "M60 60L60 39M60 60L78.2 49.5M60 60L78.2 70.5M60 60L60 81M60 60L41.8 70.5M60 60L41.8 49.5",
54
- fill: "none",
55
- stroke: i.value,
56
- "stroke-width": "3.5",
57
- "stroke-linecap": "round"
58
- }, null, 8, G),
59
- e("g", { fill: i.value }, [...r[0] || (r[0] = [
60
- u('<circle cx="60" cy="39" r="5" data-v-88ac0194></circle><circle cx="78.2" cy="49.5" r="5" data-v-88ac0194></circle><circle cx="78.2" cy="70.5" r="5" data-v-88ac0194></circle><circle cx="60" cy="81" r="5" data-v-88ac0194></circle><circle cx="41.8" cy="70.5" r="5" data-v-88ac0194></circle><circle cx="41.8" cy="49.5" r="5" data-v-88ac0194></circle>', 6)
61
- ])], 8, M),
62
- e("circle", {
63
- cx: "60",
64
- cy: "60",
65
- r: "8.5",
66
- fill: v.value
67
- }, null, 8, b)
68
- ], 8, z));
22
+ src: c.value,
23
+ style: d({ height: `${o.size}px` }),
24
+ alt: f(n).title || "SmartAdmin",
25
+ class: "site-logo"
26
+ }, null, 12, y));
69
27
  }
70
28
  });
71
29
  export {
72
- j as default
30
+ B as default
73
31
  };
74
32
  //# sourceMappingURL=SmartLogo2.vue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SmartLogo2.vue.js","sources":["../../src/components/SmartLogo.vue"],"sourcesContent":["<script setup lang=\"ts\">\n// 站点徽标,侧栏/顶栏/登录页/应用选择页共用,品牌只在这一处生效。取值顺序:\n// 1) 后台「站点 logo」配置(sys.site.logo)有图片地址 → <img>;\n// 2) createSmartAdmin({ brand: { logo } }) 传的组件或图片地址(sys.site.logo 为空时使用);\n// 3) 内置 SmartAdmin 矢量标(Neural Hex:装甲六边形壳 + 7 节点神经网络,中心点亮)。内联 SVG、固定品牌配色\n// (不随 accent 变——品牌身份固定 #646CFF);明暗两版切换,与模板 public/smart-logo.svg、smart-logo-dark.svg 是同一几何,改图形要三处同步。\nimport { computed } from 'vue'\nimport { useAppStore } from '#/stores/app'\nimport { useSite } from '#/composables/useSite'\nimport { runtime } from '#/lib/runtime'\n\nconst props = withDefaults(defineProps<{ size?: number }>(), { size: 28 })\nconst app = useAppStore()\nconst { site } = useSite()\n\nconst brandLogo = runtime.brand.logo\nconst imgSrc = computed(() => site.logo || (typeof brandLogo === 'string' ? brandLogo : ''))\nconst brandComponent = computed(() =>\n !site.logo && brandLogo && typeof brandLogo !== 'string' ? brandLogo : null,\n)\n\n// 浅色:靛蓝渐变底 + 白色图形 + 浅青核心;深色:近黑底(带青色微光)+ 靛蓝→青渐变图形 + 青色核心\nconst bg = computed(() => (app.isDark ? '#0F1222' : 'url(#sa-logo-tile)'))\nconst stroke = computed(() => (app.isDark ? 'url(#sa-logo-mark)' : '#FFFFFF'))\nconst core = computed(() => (app.isDark ? '#22D3EE' : '#A5F3FC'))\n</script>\n\n<template>\n <!-- 配置的 logo 可能是横版:定高、宽度随比例,容器窄时被 max-width 收住 -->\n <img\n v-if=\"imgSrc\"\n :src=\"imgSrc\"\n :style=\"{ height: `${props.size}px` }\"\n :alt=\"site.title\"\n class=\"site-logo\"\n />\n <component :is=\"brandComponent\" v-else-if=\"brandComponent\" :size=\"props.size\" />\n <svg\n v-else\n :width=\"props.size\"\n :height=\"props.size\"\n viewBox=\"0 0 120 120\"\n role=\"img\"\n aria-label=\"SmartAdmin\"\n >\n <defs>\n <linearGradient\n id=\"sa-logo-tile\"\n gradientUnits=\"userSpaceOnUse\"\n x1=\"0\"\n y1=\"0\"\n x2=\"120\"\n y2=\"120\"\n >\n <stop offset=\"0\" stop-color=\"#7C83FF\" />\n <stop offset=\"1\" stop-color=\"#4B52E6\" />\n </linearGradient>\n <linearGradient id=\"sa-logo-mark\" x1=\"0\" y1=\"0\" x2=\"1\" y2=\"1\">\n <stop offset=\"0\" stop-color=\"#646CFF\" />\n <stop offset=\"1\" stop-color=\"#22D3EE\" />\n </linearGradient>\n <radialGradient id=\"sa-logo-glow\" cx=\"0.5\" cy=\"0.45\" r=\"0.55\">\n <stop offset=\"0\" stop-color=\"#22D3EE\" stop-opacity=\"0.26\" />\n <stop offset=\"1\" stop-color=\"#22D3EE\" stop-opacity=\"0\" />\n </radialGradient>\n </defs>\n <rect width=\"120\" height=\"120\" rx=\"27\" :fill=\"bg\" />\n <rect v-if=\"app.isDark\" width=\"120\" height=\"120\" rx=\"27\" fill=\"url(#sa-logo-glow)\" />\n <polygon\n points=\"60,20 94.6,40 94.6,80 60,100 25.4,80 25.4,40\"\n fill=\"none\"\n :stroke=\"stroke\"\n stroke-width=\"11\"\n stroke-linejoin=\"round\"\n />\n <path\n d=\"M60 60L60 39M60 60L78.2 49.5M60 60L78.2 70.5M60 60L60 81M60 60L41.8 70.5M60 60L41.8 49.5\"\n fill=\"none\"\n :stroke=\"stroke\"\n stroke-width=\"3.5\"\n stroke-linecap=\"round\"\n />\n <g :fill=\"stroke\">\n <circle cx=\"60\" cy=\"39\" r=\"5\" />\n <circle cx=\"78.2\" cy=\"49.5\" r=\"5\" />\n <circle cx=\"78.2\" cy=\"70.5\" r=\"5\" />\n <circle cx=\"60\" cy=\"81\" r=\"5\" />\n <circle cx=\"41.8\" cy=\"70.5\" r=\"5\" />\n <circle cx=\"41.8\" cy=\"49.5\" r=\"5\" />\n </g>\n <circle cx=\"60\" cy=\"60\" r=\"8.5\" :fill=\"core\" />\n </svg>\n</template>\n\n<style scoped>\n.site-logo {\n display: block;\n width: auto;\n max-width: 100%;\n object-fit: contain;\n}\n</style>\n"],"names":["props","__props","app","useAppStore","site","useSite","brandLogo","runtime","imgSrc","computed","brandComponent","bg","stroke","core","_createElementBlock","_normalizeStyle","_unref","_openBlock","_createBlock","_resolveDynamicComponent","_createElementVNode","_hoisted_4","_cache"],"mappings":";;;;;;;;;;;;;;;;AAWA,UAAMA,IAAQC,GACRC,IAAMC,EAAA,GACN,EAAE,MAAAC,EAAA,IAASC,EAAA,GAEXC,IAAYC,EAAQ,MAAM,MAC1BC,IAASC,EAAS,MAAML,EAAK,SAAS,OAAOE,KAAc,WAAWA,IAAY,GAAG,GACrFI,IAAiBD;AAAA,MAAS,MAC9B,CAACL,EAAK,QAAQE,KAAa,OAAOA,KAAc,WAAWA,IAAY;AAAA,IAAA,GAInEK,IAAKF,EAAS,MAAOP,EAAI,SAAS,YAAY,oBAAqB,GACnEU,IAASH,EAAS,MAAOP,EAAI,SAAS,uBAAuB,SAAU,GACvEW,IAAOJ,EAAS,MAAOP,EAAI,SAAS,YAAY,SAAU;qBAMtDM,EAAA,cADRM,EAME,OAAA;AAAA;MAJC,KAAKN,EAAA;AAAA,MACL,OAAKO,EAAA,EAAA,QAAA,GAAef,EAAM,IAAI,MAAA;AAAA,MAC9B,KAAKgB,EAAAZ,CAAA,EAAK;AAAA,MACX,OAAM;AAAA,IAAA,mBAEmCM,EAAA,SAA3CO,EAAA,GAAAC,EAAgFC,EAAhET,EAAA,KAAc,GAAA;AAAA;MAA8B,MAAMV,EAAM;AAAA,IAAA,+BACxEc,EAsDM,OAAA;AAAA;MApDH,OAAOd,EAAM;AAAA,MACb,QAAQA,EAAM;AAAA,MACf,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,cAAW;AAAA,IAAA;;MAuBXoB,EAAoD,QAAA;AAAA,QAA9C,OAAM;AAAA,QAAM,QAAO;AAAA,QAAM,IAAG;AAAA,QAAM,MAAMT,EAAA;AAAA,MAAA;MAClCK,EAAAd,CAAA,EAAI,UAAhBe,EAAA,GAAAH,EAAqF,QAArFO,CAAqF;MACrFD,EAME,WAAA;AAAA,QALA,QAAO;AAAA,QACP,MAAK;AAAA,QACJ,QAAQR,EAAA;AAAA,QACT,gBAAa;AAAA,QACb,mBAAgB;AAAA,MAAA;MAElBQ,EAME,QAAA;AAAA,QALA,GAAE;AAAA,QACF,MAAK;AAAA,QACJ,QAAQR,EAAA;AAAA,QACT,gBAAa;AAAA,QACb,kBAAe;AAAA,MAAA;MAEjBQ,EAOI,KAAA,EAPA,MAAMR,EAAA,MAAA,GAAM,CAAA,GAAAU,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA;AAAA;;MAQhBF,EAA+C,UAAA;AAAA,QAAvC,IAAG;AAAA,QAAK,IAAG;AAAA,QAAK,GAAE;AAAA,QAAO,MAAMP,EAAA;AAAA,MAAA;;;;"}
1
+ {"version":3,"file":"SmartLogo2.vue.js","sources":["../../src/components/SmartLogo.vue"],"sourcesContent":["<script setup lang=\"ts\">\n// 站点徽标,侧栏/顶栏/登录页/应用选择页共用,品牌只在这一处生效。取值顺序:\n// 1) 后台「站点 logo」配置(sys.site.logo)有图片地址 → <img>;\n// 2) createSmartAdmin({ brand: { logo } }) 传的组件或图片地址(sys.site.logo 为空时使用);\n// 3) 内置 SmartAdmin 标(拉丝钛金属 X,自带蓝紫渐变圆角底,明暗主题同一张)。\n// 源文件 assets/smart-logo.svg 与模板 public/smart-logo.svg 是同一份,换图两处同步;\n// 用 <img> 而不是内联 SVG:图里有滤镜和 clipPath,内联多份时 id 会互相串。库构建时内联进产物。\nimport { computed } from 'vue'\nimport { useSite } from '#/composables/useSite'\nimport { runtime } from '#/lib/runtime'\nimport builtinLogo from '#/assets/smart-logo.svg?url'\n\nconst props = withDefaults(\n defineProps<{\n size?: number\n /** 覆盖 sys.site.logo(配置中心预览未保存的草稿用);空串 = 按\"没配 Logo\"回退 */\n src?: string\n }>(),\n { size: 28, src: undefined },\n)\nconst { site } = useSite()\n\nconst brandLogo = runtime.brand.logo\nconst configured = computed(() => props.src ?? site.logo)\nconst brandComponent = computed(() =>\n !configured.value && brandLogo && typeof brandLogo !== 'string' ? brandLogo : null,\n)\nconst imgSrc = computed(\n () => configured.value || (typeof brandLogo === 'string' && brandLogo) || builtinLogo,\n)\n</script>\n\n<template>\n <component :is=\"brandComponent\" v-if=\"brandComponent\" :size=\"props.size\" />\n <!-- 配置的 logo 可能是横版:定高、宽度随比例,容器窄时被 max-width 收住 -->\n <img\n v-else\n :src=\"imgSrc\"\n :style=\"{ height: `${props.size}px` }\"\n :alt=\"site.title || 'SmartAdmin'\"\n class=\"site-logo\"\n />\n</template>\n\n<style scoped>\n.site-logo {\n display: block;\n width: auto;\n max-width: 100%;\n object-fit: contain;\n}\n</style>\n"],"names":["props","__props","site","useSite","brandLogo","runtime","configured","computed","brandComponent","imgSrc","builtinLogo","_openBlock","_createBlock","_resolveDynamicComponent","_createElementBlock","_normalizeStyle","_unref"],"mappings":";;;;;;;;;;;AAYA,UAAMA,IAAQC,GAQR,EAAE,MAAAC,EAAA,IAASC,EAAA,GAEXC,IAAYC,EAAQ,MAAM,MAC1BC,IAAaC,EAAS,MAAMP,EAAM,OAAOE,EAAK,IAAI,GAClDM,IAAiBD;AAAA,MAAS,MAC9B,CAACD,EAAW,SAASF,KAAa,OAAOA,KAAc,WAAWA,IAAY;AAAA,IAAA,GAE1EK,IAASF;AAAA,MACb,MAAMD,EAAW,SAAU,OAAOF,KAAc,YAAYA,KAAcM;AAAA,IAAA;qBAKpCF,EAAA,SAAtCG,EAAA,GAAAC,EAA2EC,EAA3DL,EAAA,KAAc,GAAA;AAAA;MAAyB,MAAMR,EAAM;AAAA,IAAA,+BAEnEc,EAME,OAAA;AAAA;MAJC,KAAKL,EAAA;AAAA,MACL,OAAKM,EAAA,EAAA,QAAA,GAAef,EAAM,IAAI,MAAA;AAAA,MAC9B,KAAKgB,EAAAd,CAAA,EAAK,SAAK;AAAA,MAChB,OAAM;AAAA,IAAA;;;"}
@@ -1,8 +1,5 @@
1
1
  type __VLS_Props = {
2
- /** 本 Tab 管理的分组编码 */
3
- group: string;
4
- /** 本 Tab 已渲染成字段的键 */
5
- claimed: readonly string[];
2
+ count?: number;
6
3
  };
7
4
  declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
8
5
  declare const _default: typeof __VLS_export;
@@ -1,7 +1,7 @@
1
1
  import o from "./index2.vue.js";
2
2
  /* empty css */
3
3
  import t from "../../_virtual/_plugin-vue_export-helper.js";
4
- const m = /* @__PURE__ */ t(o, [["__scopeId", "data-v-78ca7f91"]]);
4
+ const m = /* @__PURE__ */ t(o, [["__scopeId", "data-v-86746be5"]]);
5
5
  export {
6
6
  m as default
7
7
  };
@@ -0,0 +1,16 @@
1
+ import { defineComponent as n, openBlock as o, createElementBlock as a, toDisplayString as r, unref as c } from "vue";
2
+ import { useI18n as s } from "vue-i18n";
3
+ const l = { class: "table-total tabular" }, _ = /* @__PURE__ */ n({
4
+ __name: "index",
5
+ props: {
6
+ count: {}
7
+ },
8
+ setup(t) {
9
+ const { t: e } = s();
10
+ return (p, u) => (o(), a("span", l, r(c(e)("table.total", { n: t.count ?? 0 })), 1));
11
+ }
12
+ });
13
+ export {
14
+ _ as default
15
+ };
16
+ //# sourceMappingURL=index2.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index2.vue.js","sources":["../../../src/components/TableTotal/index.vue"],"sourcesContent":["<script setup lang=\"ts\">\n// 分页栏左侧的「共 N 条」:写在 SmartTable 的 #pagination-prefix 插槽里,数字取插槽给的 itemCount,\n// 不要自己再数一遍(远程表格里 itemCount 是后端的 total,不是当前页行数)。\nimport { useI18n } from 'vue-i18n'\n\ndefineProps<{ count?: number }>()\nconst { t } = useI18n()\n</script>\n\n<template>\n <span class=\"table-total tabular\">{{ t('table.total', { n: count ?? 0 }) }}</span>\n</template>\n\n<style scoped>\n.table-total {\n color: var(--text-2);\n white-space: nowrap;\n}\n</style>\n"],"names":["t","useI18n","_openBlock","_createElementBlock","_hoisted_1","_toDisplayString","_unref","__props"],"mappings":";;;;;;;;AAMA,UAAM,EAAE,GAAAA,EAAA,IAAMC,EAAA;sBAIZC,KAAAC,EAAkF,QAAlFC,GAAkFC,EAA7CC,EAAAN,CAAA,sBAAsBO,EAAA,SAAK,GAAA,CAAA,GAAA,CAAA;AAAA;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.vue.js","sources":["../../../src/components/TableZoomButton/index.vue"],"sourcesContent":["<script setup lang=\"ts\">\n// 表格「放大 / 还原」按钮。与 SmartTable 工具栏自带的刷新 / 密度 / 列设置同形态(circle quaternary + tooltip),\n// 放大态换收起图标并染主色 —— 不要写成带文字的 secondary 按钮,那在工具栏里一眼就是外来户。\n//\n// 状态由调用方的 useTableZoom() 持有(一块表一份实例),这里只负责外观与触发。\n// 按钮必须和表格一起进 Teleport 容器:留在 n-card 的 #header-extra 里,放大后会被遮罩盖住,\n// 还原按钮点不到,只能按 Esc。用法见 skills/create-page-variant/split-zoom.md。\nimport { NButton, NTooltip } from 'naive-ui'\nimport { useI18n } from 'vue-i18n'\nimport AppIcon from '#/components/AppIcon.vue'\n\nwithDefaults(defineProps<{ zoomed: boolean; size?: 'tiny' | 'small' | 'medium' | 'large' }>(), {\n size: 'small',\n})\ndefineEmits<{ toggle: [] }>()\n\nconst { t } = useI18n()\n</script>\n\n<template>\n <n-tooltip>\n <template #trigger>\n <n-button\n :size=\"size\"\n circle\n quaternary\n :type=\"zoomed ? 'primary' : 'default'\"\n :aria-label=\"zoomed ? t('table.zoomExit') : t('table.zoom')\"\n @click=\"$emit('toggle')\"\n >\n <template #icon>\n <AppIcon :icon=\"zoomed ? 'ph:corners-in' : 'ph:corners-out'\" />\n </template>\n </n-button>\n </template>\n {{ zoomed ? t('table.zoomExit') : t('table.zoom') }}\n </n-tooltip>\n</template>\n"],"names":["useI18n","_createBlock","_unref","NTooltip","_createVNode","NButton","__props","$emit","AppIcon","_createTextVNode","_toDisplayString"],"mappings":";;;;;;;;;;;;AAgBA,UAAM,EAAE,EAAA,IAAMA,EAAA;2BAIZC,EAgBYC,EAAAC,CAAA,GAAA,MAAA;AAAA,MAfC,WACT,MAWW;AAAA,QAXXC,EAWWF,EAAAG,CAAA,GAAA;AAAA,UAVR,MAAMC,EAAA;AAAA,UACP,QAAA;AAAA,UACA,YAAA;AAAA,UACC,MAAMA,EAAA,SAAM,YAAA;AAAA,UACZ,cAAYA,EAAA,SAASJ,EAAA,CAAA,sBAAsBA,EAAA,CAAA,EAAC,YAAA;AAAA,UAC5C,gCAAOK,EAAAA,MAAK,QAAA;AAAA,QAAA;UAEF,QACT,MAA+D;AAAA,YAA/DH,EAA+DI,GAAA;AAAA,cAArD,MAAMF,EAAA,SAAM,kBAAA;AAAA,YAAA;;;;;iBAGjB,MACX;AAAA,QADWG,EAAA,MACXC,EAAGJ,EAAA,SAASJ,EAAA,CAAA,sBAAsBA,EAAA,CAAA,EAAC,YAAA,CAAA,GAAA,CAAA;AAAA,MAAA;;;;;"}
1
+ {"version":3,"file":"index.vue.js","sources":["../../../src/components/TableZoomButton/index.vue"],"sourcesContent":["<script setup lang=\"ts\">\n/**\n * @deprecated SmartTable 自带放大按钮:`:toolbar=\"{ maximize: true }\"`\n * (Teleport 到 body、盖住侧栏与顶栏、不调用浏览器全屏 API,与本实现是同一思路)。\n * 本组件与 useTableZoom 没有内核页面在用,仅为已依赖它们的下游应用保留,下一个 .NET 大版本删除。\n */\n// 表格「放大 / 还原」按钮。与 SmartTable 工具栏自带的刷新 / 密度 / 列设置同形态(circle quaternary + tooltip),\n// 放大态换收起图标并染主色 —— 不要写成带文字的 secondary 按钮,那在工具栏里一眼就是外来户。\n//\n// 状态由调用方的 useTableZoom() 持有(一块表一份实例),这里只负责外观与触发。\n// 按钮必须和表格一起进 Teleport 容器:留在 n-card 的 #header-extra 里,放大后会被遮罩盖住,\n// 还原按钮点不到,只能按 Esc。用法见 skills/create-page-variant/split-zoom.md。\nimport { NButton, NTooltip } from 'naive-ui'\nimport { useI18n } from 'vue-i18n'\nimport AppIcon from '#/components/AppIcon.vue'\n\nwithDefaults(defineProps<{ zoomed: boolean; size?: 'tiny' | 'small' | 'medium' | 'large' }>(), {\n size: 'small',\n})\ndefineEmits<{ toggle: [] }>()\n\nconst { t } = useI18n()\n</script>\n\n<template>\n <n-tooltip>\n <template #trigger>\n <n-button\n :size=\"size\"\n circle\n quaternary\n :type=\"zoomed ? 'primary' : 'default'\"\n :aria-label=\"zoomed ? t('table.zoomExit') : t('table.zoom')\"\n @click=\"$emit('toggle')\"\n >\n <template #icon>\n <AppIcon :icon=\"zoomed ? 'ph:corners-in' : 'ph:corners-out'\" />\n </template>\n </n-button>\n </template>\n {{ zoomed ? t('table.zoomExit') : t('table.zoom') }}\n </n-tooltip>\n</template>\n"],"names":["useI18n","_createBlock","_unref","NTooltip","_createVNode","NButton","__props","$emit","AppIcon","_createTextVNode","_toDisplayString"],"mappings":";;;;;;;;;;;;AAqBA,UAAM,EAAE,EAAA,IAAMA,EAAA;2BAIZC,EAgBYC,EAAAC,CAAA,GAAA,MAAA;AAAA,MAfC,WACT,MAWW;AAAA,QAXXC,EAWWF,EAAAG,CAAA,GAAA;AAAA,UAVR,MAAMC,EAAA;AAAA,UACP,QAAA;AAAA,UACA,YAAA;AAAA,UACC,MAAMA,EAAA,SAAM,YAAA;AAAA,UACZ,cAAYA,EAAA,SAASJ,EAAA,CAAA,sBAAsBA,EAAA,CAAA,EAAC,YAAA;AAAA,UAC5C,gCAAOK,EAAAA,MAAK,QAAA;AAAA,QAAA;UAEF,QACT,MAA+D;AAAA,YAA/DH,EAA+DI,GAAA;AAAA,cAArD,MAAMF,EAAA,SAAM,kBAAA;AAAA,YAAA;;;;;iBAGjB,MACX;AAAA,QADWG,EAAA,MACXC,EAAGJ,EAAA,SAASJ,EAAA,CAAA,sBAAsBA,EAAA,CAAA,EAAC,YAAA,CAAA,GAAA,CAAA;AAAA,MAAA;;;;;"}
@@ -1,8 +1,8 @@
1
1
  import o from "./index2.vue.js";
2
2
  /* empty css */
3
3
  import r from "../../_virtual/_plugin-vue_export-helper.js";
4
- const p = /* @__PURE__ */ r(o, [["__scopeId", "data-v-41b95328"]]);
4
+ const m = /* @__PURE__ */ r(o, [["__scopeId", "data-v-ef8d2925"]]);
5
5
  export {
6
- p as default
6
+ m as default
7
7
  };
8
8
  //# sourceMappingURL=index.vue.js.map
@@ -1,112 +1,154 @@
1
- import { defineComponent as G, ref as p, computed as m, onMounted as H, reactive as J, openBlock as h, createBlock as I, unref as l, withCtx as v, createElementVNode as s, toDisplayString as i, createVNode as u, createTextVNode as _, createElementBlock as N, Fragment as Q, renderList as W, createCommentVNode as X, h as Y } from "vue";
2
- import { useMessage as Z, NTree as ee, NButton as y, NInput as te, NEmpty as ne } from "naive-ui";
3
- import { SmartTable as le } from "smart-naive-table";
4
- import { useI18n as oe } from "vue-i18n";
5
- import ae from "../AppIcon.vue.js";
6
- import se from "../FormContainer/index.vue.js";
1
+ import { defineComponent as ae, ref as v, computed as p, onMounted as ne, h as se, reactive as oe, openBlock as f, createBlock as _, unref as l, withCtx as h, createVNode as u, createTextVNode as g, toDisplayString as o, createCommentVNode as b, createElementVNode as r, normalizeClass as re, createElementBlock as C, withDirectives as A, vShow as K, Fragment as ie, renderList as ce } from "vue";
2
+ import { useMessage as ue, NButton as S, NTabs as de, NTab as L, NTree as pe, NTreeSelect as me, NInput as ve, NEmpty as fe } from "naive-ui";
3
+ import { SmartTable as he } from "smart-naive-table";
4
+ import { useI18n as ke } from "vue-i18n";
5
+ import { useWindowSize as ge } from "@vueuse/core";
6
+ import ye from "../AppIcon.vue.js";
7
+ import we from "../FormContainer/index.vue.js";
7
8
  /* empty css */
8
- import { orgApi as re, userApi as P } from "../../api/index.js";
9
- import { buildTree as ie } from "../../utils/tree.js";
10
- import { translateError as ce } from "../../utils/error.js";
11
- const de = { class: "user-picker" }, ue = { class: "picker-tree" }, pe = { class: "panel-header" }, me = { class: "picker-table" }, fe = { class: "panel-header" }, he = { class: "picker-selected" }, ve = { class: "panel-header" }, ye = { class: "selected-list" }, ke = { class: "selected-name" }, ge = { class: "selected-account" }, Ue = /* @__PURE__ */ G({
9
+ import { useShellBreakpoint as _e } from "../../composables/useShellBreakpoint.js";
10
+ import { orgApi as be, userApi as O } from "../../api/index.js";
11
+ import { buildTree as Se } from "../../utils/tree.js";
12
+ import { translateError as ze } from "../../utils/error.js";
13
+ import { SEARCH_ACTIONS as xe } from "../../utils/tableFilter.js";
14
+ const Ce = {
15
+ key: 0,
16
+ class: "picker-tree"
17
+ }, Ne = { class: "panel-header" }, Pe = { class: "picker-table" }, Ie = { class: "panel-header" }, Te = { class: "picker-selected" }, Ue = { class: "panel-header" }, Ee = { class: "selected-list" }, Be = { class: "selected-name" }, qe = { class: "selected-account" }, Ge = /* @__PURE__ */ ae({
12
18
  __name: "index",
13
19
  props: {
14
20
  excludeIds: {}
15
21
  },
16
22
  emits: ["confirm"],
17
- setup(U, { expose: E, emit: T }) {
18
- const q = U, B = T, { t: a } = oe(), K = Z(), k = p(!1), g = p(), w = p([]), L = m(() => [{ id: 0, parentId: -1, name: a("common.all"), children: ie(w.value) }]), c = p(null), V = m(
23
+ setup(R, { expose: V, emit: D }) {
24
+ const $ = R, F = D, { t: n } = ke(), M = ue(), z = v(!1), y = v(), { bp: N } = _e(), { width: W } = ge(), d = p(() => N.value === "narrow" || W.value < 900), H = p(() => N.value === "narrow" ? "drawer" : "modal"), k = v("users"), x = p(() => d.value ? "large" : "small"), P = v([]), I = p(() => [{ id: 0, parentId: -1, name: n("common.all"), children: Se(P.value) }]), c = v(null), j = p(
19
25
  () => c.value && c.value !== 0 ? c.value : void 0
20
26
  );
21
- H(async () => {
27
+ ne(async () => {
22
28
  try {
23
- w.value = await re.list();
29
+ P.value = await be.list();
24
30
  } catch {
25
31
  }
26
32
  });
27
- function R(t) {
33
+ function G(t) {
28
34
  var e;
29
- c.value = t[0] ?? null, (e = g.value) == null || e.refresh();
35
+ c.value = t[0] ?? null, (e = y.value) == null || e.refresh();
30
36
  }
31
- const d = p([]), S = m(() => new Set(q.excludeIds ?? [])), $ = (t) => P.page({
37
+ function J(t) {
38
+ var e;
39
+ c.value = t ?? null, (e = y.value) == null || e.refresh();
40
+ }
41
+ const m = v([]), T = p(() => new Set($.excludeIds ?? [])), Q = (t) => O.page({
32
42
  page: t.page,
33
43
  pageSize: t.pageSize,
34
- name: t.name,
35
- orgId: V.value
36
- }), A = [
44
+ account: t.account,
45
+ orgId: j.value
46
+ }), X = [
37
47
  { type: "selection" },
38
- { key: "name", title: () => a("user.name"), width: 100 },
39
- { key: "account", title: () => a("user.account"), width: 120, search: !0 },
48
+ { key: "name", title: () => n("user.name"), width: 100 },
49
+ {
50
+ key: "account",
51
+ title: () => n("user.account"),
52
+ width: 120,
53
+ search: { actions: xe.fuzzy }
54
+ },
40
55
  {
41
56
  key: "op",
42
- title: () => a("common.operation"),
57
+ title: () => n("common.operation"),
43
58
  width: 70,
44
59
  render: (t) => {
45
- const e = b.value.has(t.id) || S.value.has(t.id);
46
- return Y(
47
- y,
60
+ const e = U.value.has(t.id) || T.value.has(t.id);
61
+ return se(
62
+ S,
48
63
  {
49
64
  size: "tiny",
50
65
  type: "primary",
51
66
  quaternary: !0,
52
67
  disabled: e,
53
- onClick: () => C([t])
68
+ onClick: () => B([t])
54
69
  },
55
- () => a(e ? "userPicker.added" : "userPicker.add")
70
+ () => n(e ? "userPicker.added" : "userPicker.add")
56
71
  );
57
72
  }
58
73
  }
59
- ], o = J([]), b = m(() => new Set(o.map((t) => t.id))), f = p(""), x = m(() => {
60
- const t = f.value.trim().toLowerCase();
61
- return t ? o.filter(
74
+ ], s = oe([]), U = p(() => new Set(s.map((t) => t.id))), w = v(""), E = p(() => {
75
+ const t = w.value.trim().toLowerCase();
76
+ return t ? s.filter(
62
77
  (e) => e.name.toLowerCase().includes(t) || e.account.toLowerCase().includes(t)
63
- ) : o;
78
+ ) : s;
64
79
  });
65
- function C(t) {
80
+ function B(t) {
66
81
  for (const e of t)
67
- !b.value.has(e.id) && !S.value.has(e.id) && o.push(e);
82
+ !U.value.has(e.id) && !T.value.has(e.id) && s.push(e);
68
83
  }
69
- function D() {
84
+ function Y() {
70
85
  var e;
71
- const t = (l((e = g.value) == null ? void 0 : e.rows) ?? []).filter((n) => d.value.includes(n.id));
72
- C(t), d.value = [];
86
+ const t = (l((e = y.value) == null ? void 0 : e.rows) ?? []).filter((a) => m.value.includes(a.id));
87
+ B(t), m.value = [];
73
88
  }
74
- function F(t) {
75
- const e = o.findIndex((n) => n.id === t);
76
- e >= 0 && o.splice(e, 1);
89
+ function Z(t) {
90
+ const e = s.findIndex((a) => a.id === t);
91
+ e >= 0 && s.splice(e, 1);
77
92
  }
78
- function M() {
79
- o.splice(0, o.length);
93
+ function ee() {
94
+ s.splice(0, s.length);
80
95
  }
81
- async function O(t) {
82
- if (o.splice(0, o.length), d.value = [], f.value = "", c.value = null, k.value = !0, t != null && t.length)
96
+ async function te(t) {
97
+ if (s.splice(0, s.length), m.value = [], w.value = "", c.value = null, k.value = "users", z.value = !0, t != null && t.length)
83
98
  try {
84
- const { items: e } = await P.page({ page: 1, pageSize: 200 }), n = e.filter((r) => t.includes(r.id)), z = new Set(n.map((r) => r.id));
85
- for (const r of n) o.push(r);
86
- for (const r of t)
87
- z.has(r) || o.push({ id: r, account: String(r), name: String(r) });
99
+ const { items: e } = await O.page({ page: 1, pageSize: 200 }), a = e.filter((i) => t.includes(i.id)), q = new Set(a.map((i) => i.id));
100
+ for (const i of a) s.push(i);
101
+ for (const i of t)
102
+ q.has(i) || s.push({ id: i, account: String(i), name: String(i) });
88
103
  } catch {
89
- for (const e of t) o.push({ id: e, account: String(e), name: String(e) });
104
+ for (const e of t) s.push({ id: e, account: String(e), name: String(e) });
90
105
  }
91
106
  }
92
- async function j() {
93
- const t = o.map((e) => e.id);
94
- B("confirm", t);
107
+ async function le() {
108
+ const t = s.map((e) => e.id);
109
+ F("confirm", t);
95
110
  }
96
- return E({ open: O }), (t, e) => (h(), I(se, {
97
- show: k.value,
98
- "onUpdate:show": e[3] || (e[3] = (n) => k.value = n),
99
- title: l(a)("userPicker.title"),
111
+ return V({ open: te }), (t, e) => (f(), _(we, {
112
+ show: z.value,
113
+ "onUpdate:show": e[4] || (e[4] = (a) => z.value = a),
114
+ variant: H.value,
115
+ title: l(n)("userPicker.title"),
100
116
  width: 1100,
101
- "on-confirm": j,
102
- "confirm-text": l(a)("common.confirm")
117
+ "on-confirm": le,
118
+ "confirm-text": l(n)("common.confirm")
103
119
  }, {
104
- default: v(() => [
105
- s("div", de, [
106
- s("div", ue, [
107
- s("div", pe, i(l(a)("org.title")), 1),
108
- u(l(ee), {
109
- data: L.value,
120
+ default: h(() => [
121
+ d.value ? (f(), _(l(de), {
122
+ key: 0,
123
+ value: k.value,
124
+ "onUpdate:value": e[0] || (e[0] = (a) => k.value = a),
125
+ type: "segment",
126
+ animated: "",
127
+ class: "picker-tabs"
128
+ }, {
129
+ default: h(() => [
130
+ u(l(L), { name: "users" }, {
131
+ default: h(() => [
132
+ g(o(l(n)("userPicker.available")), 1)
133
+ ]),
134
+ _: 1
135
+ }),
136
+ u(l(L), { name: "selected" }, {
137
+ default: h(() => [
138
+ g(o(l(n)("userPicker.selected")) + "(" + o(s.length) + ")", 1)
139
+ ]),
140
+ _: 1
141
+ })
142
+ ]),
143
+ _: 1
144
+ }, 8, ["value"])) : b("", !0),
145
+ r("div", {
146
+ class: re(["user-picker", { "is-compact": d.value }])
147
+ }, [
148
+ d.value ? b("", !0) : (f(), C("div", Ce, [
149
+ r("div", Ne, o(l(n)("org.title")), 1),
150
+ u(l(pe), {
151
+ data: I.value,
110
152
  "key-field": "id",
111
153
  "label-field": "name",
112
154
  "children-field": "children",
@@ -114,101 +156,118 @@ const de = { class: "user-picker" }, ue = { class: "picker-tree" }, pe = { class
114
156
  "block-line": "",
115
157
  "default-expand-all": "",
116
158
  "selected-keys": c.value != null ? [c.value] : [],
117
- "onUpdate:selectedKeys": R
159
+ "onUpdate:selectedKeys": G
118
160
  }, null, 8, ["data", "selected-keys"])
119
- ]),
120
- s("div", me, [
121
- s("div", fe, [
122
- s("span", null, i(l(a)("userPicker.available")), 1),
123
- u(l(y), {
124
- size: "tiny",
161
+ ])),
162
+ A(r("div", Pe, [
163
+ d.value ? (f(), _(l(me), {
164
+ key: 0,
165
+ value: c.value ?? 0,
166
+ options: I.value,
167
+ "key-field": "id",
168
+ "label-field": "name",
169
+ "children-field": "children",
170
+ "default-expand-all": "",
171
+ size: "large",
172
+ class: "picker-org-select",
173
+ "onUpdate:value": J
174
+ }, null, 8, ["value", "options"])) : b("", !0),
175
+ r("div", Ie, [
176
+ r("span", null, o(l(n)("userPicker.available")), 1),
177
+ u(l(S), {
178
+ size: x.value,
125
179
  type: "primary",
126
- disabled: d.value.length === 0,
127
- onClick: D
180
+ disabled: m.value.length === 0,
181
+ onClick: Y
128
182
  }, {
129
- default: v(() => [
130
- _(i(l(a)("userPicker.addChecked")) + "(" + i(d.value.length) + ") ", 1)
183
+ default: h(() => [
184
+ g(o(l(n)("userPicker.addChecked")) + "(" + o(m.value.length) + ") ", 1)
131
185
  ]),
132
186
  _: 1
133
- }, 8, ["disabled"])
187
+ }, 8, ["size", "disabled"])
134
188
  ]),
135
- u(l(le), {
189
+ u(l(he), {
136
190
  "default-page-size": 100,
137
191
  ref_key: "tableRef",
138
- ref: g,
139
- columns: A,
140
- fetcher: $,
192
+ ref: y,
193
+ columns: X,
194
+ fetcher: Q,
195
+ search: { container: "table" },
141
196
  pagination: { pageSize: 10 },
142
197
  size: "small",
143
198
  "storage-key": "user-picker",
144
199
  "tool-button": !1,
145
- "checked-row-keys": d.value,
146
- "onUpdate:checkedRowKeys": e[0] || (e[0] = (n) => d.value = n),
147
- onError: e[1] || (e[1] = (n) => l(K).error(l(ce)(n)))
200
+ "checked-row-keys": m.value,
201
+ "onUpdate:checkedRowKeys": e[1] || (e[1] = (a) => m.value = a),
202
+ onError: e[2] || (e[2] = (a) => l(M).error(l(ze)(a)))
148
203
  }, null, 8, ["checked-row-keys"])
204
+ ], 512), [
205
+ [K, !d.value || k.value === "users"]
149
206
  ]),
150
- s("div", he, [
151
- s("div", ve, [
152
- s("span", null, i(l(a)("userPicker.selected")) + "(" + i(o.length) + ")", 1),
153
- u(l(y), {
154
- size: "tiny",
207
+ A(r("div", Te, [
208
+ r("div", Ue, [
209
+ r("span", null, o(l(n)("userPicker.selected")) + "(" + o(s.length) + ")", 1),
210
+ u(l(S), {
211
+ size: x.value,
155
212
  quaternary: "",
156
213
  type: "error",
157
- disabled: o.length === 0,
158
- onClick: M
214
+ disabled: s.length === 0,
215
+ onClick: ee
159
216
  }, {
160
- default: v(() => [
161
- _(i(l(a)("userPicker.clear")), 1)
217
+ default: h(() => [
218
+ g(o(l(n)("userPicker.clear")), 1)
162
219
  ]),
163
220
  _: 1
164
- }, 8, ["disabled"])
221
+ }, 8, ["size", "disabled"])
165
222
  ]),
166
- u(l(te), {
167
- value: f.value,
168
- "onUpdate:value": e[2] || (e[2] = (n) => f.value = n),
169
- size: "small",
223
+ u(l(ve), {
224
+ value: w.value,
225
+ "onUpdate:value": e[3] || (e[3] = (a) => w.value = a),
226
+ size: d.value ? "large" : "small",
170
227
  clearable: "",
171
- placeholder: l(a)("common.search"),
228
+ placeholder: l(n)("common.search"),
172
229
  style: { "margin-bottom": "8px" }
173
- }, null, 8, ["value", "placeholder"]),
174
- s("div", ye, [
175
- (h(!0), N(Q, null, W(x.value, (n) => (h(), N("div", {
176
- key: n.id,
230
+ }, null, 8, ["value", "size", "placeholder"]),
231
+ r("div", Ee, [
232
+ (f(!0), C(ie, null, ce(E.value, (a) => (f(), C("div", {
233
+ key: a.id,
177
234
  class: "selected-item"
178
235
  }, [
179
- s("span", ke, [
180
- _(i(n.name) + " ", 1),
181
- s("span", ge, "(" + i(n.account) + ")", 1)
236
+ r("span", Be, [
237
+ g(o(a.name) + " ", 1),
238
+ r("span", qe, "(" + o(a.account) + ")", 1)
182
239
  ]),
183
- u(l(y), {
184
- size: "tiny",
240
+ u(l(S), {
241
+ size: x.value,
185
242
  quaternary: "",
186
243
  type: "error",
187
- onClick: (z) => F(n.id)
244
+ onClick: (q) => Z(a.id)
188
245
  }, {
189
- icon: v(() => [
190
- u(ae, {
246
+ icon: h(() => [
247
+ u(ye, {
191
248
  icon: "ph:x",
192
249
  size: 14
193
250
  })
194
251
  ]),
195
252
  _: 1
196
- }, 8, ["onClick"])
253
+ }, 8, ["size", "onClick"])
197
254
  ]))), 128)),
198
- x.value.length === 0 ? (h(), I(l(ne), {
255
+ E.value.length === 0 ? (f(), _(l(fe), {
199
256
  key: 0,
200
- description: l(a)("common.noData"),
257
+ description: l(n)("common.noData"),
201
258
  style: { padding: "24px 0" }
202
- }, null, 8, ["description"])) : X("", !0)
259
+ }, null, 8, ["description"])) : b("", !0)
203
260
  ])
261
+ ], 512), [
262
+ [K, !d.value || k.value === "selected"]
204
263
  ])
205
- ])
264
+ ], 2)
206
265
  ]),
207
266
  _: 1
208
- }, 8, ["show", "title", "confirm-text"]));
267
+ }, 8, ["show", "variant", "title", "confirm-text"]));
209
268
  }
210
269
  });
211
270
  export {
212
- Ue as default
271
+ Ge as default
213
272
  };
214
273
  //# sourceMappingURL=index2.vue.js.map