smart-admin-web 10.15.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.
- package/README.md +1 -1
- package/dist/api/index.d.ts +4 -2
- package/dist/api/index.js +1 -1
- package/dist/api/index.js.map +1 -1
- package/dist/api/schema.d.ts +39 -5
- package/dist/assets/icons/ph-subset.json.js +5 -5
- package/dist/components/AppIcon.vue.js +9 -9
- package/dist/components/AppIcon.vue.js.map +1 -1
- package/dist/components/AppWatermark.vue.d.ts +14 -0
- package/dist/components/AppWatermark.vue.js +38 -0
- package/dist/components/AppWatermark.vue.js.map +1 -0
- package/dist/components/AppWatermark2.vue.js +5 -0
- package/dist/components/AppWatermark2.vue.js.map +1 -0
- package/dist/components/Chart/PieChart.vue.d.ts +1 -1
- package/dist/components/Chart/echarts.js +15 -20
- package/dist/components/Chart/echarts.js.map +1 -1
- package/dist/components/CronEditor/index.vue.js +1 -1
- package/dist/components/CronEditor/index2.vue.js +2 -1
- package/dist/components/CronEditor/index2.vue.js.map +1 -1
- package/dist/components/DetailPage/index.vue.js +2 -2
- package/dist/components/DetailPage/index2.vue.js.map +1 -1
- package/dist/components/DictTag/index.vue.js.map +1 -1
- package/dist/components/ErrorBoundary/index.vue.js +2 -2
- package/dist/components/ErrorBoundary/index2.vue.js +1 -1
- package/dist/components/ErrorBoundary/index2.vue.js.map +1 -1
- package/dist/components/FormContainer/index.vue.js +91 -56
- package/dist/components/FormContainer/index.vue.js.map +1 -1
- package/dist/components/ImportWizard/index.vue.js +1 -1
- package/dist/components/ImportWizard/index2.vue.js +44 -41
- package/dist/components/ImportWizard/index2.vue.js.map +1 -1
- package/dist/components/MenuSearch.vue.js +2 -2
- package/dist/components/MenuSearch2.vue.js +19 -18
- package/dist/components/MenuSearch2.vue.js.map +1 -1
- package/dist/components/PasswordStrength/index.vue.js +2 -2
- package/dist/components/PasswordStrength/index2.vue.js +20 -18
- package/dist/components/PasswordStrength/index2.vue.js.map +1 -1
- package/dist/components/TableTotal/index.vue.d.ts +6 -0
- package/dist/components/{SelectTable → TableTotal}/index.vue.js +1 -1
- package/dist/components/TableTotal/index2.vue.js +16 -0
- package/dist/components/TableTotal/index2.vue.js.map +1 -0
- package/dist/components/TableZoomButton/index.vue.js.map +1 -1
- package/dist/components/UserPicker/index.vue.js +2 -2
- package/dist/components/UserPicker/index2.vue.js +176 -117
- package/dist/components/UserPicker/index2.vue.js.map +1 -1
- package/dist/composables/useBatchDelete.js.map +1 -1
- package/dist/composables/useLayoutMenu.js +17 -16
- package/dist/composables/useLayoutMenu.js.map +1 -1
- package/dist/composables/useModule.js +39 -29
- package/dist/composables/useModule.js.map +1 -1
- package/dist/composables/useShellBreakpoint.d.ts +19 -0
- package/dist/composables/useShellBreakpoint.js +37 -0
- package/dist/composables/useShellBreakpoint.js.map +1 -0
- package/dist/composables/useSite.d.ts +15 -0
- package/dist/composables/useSite.js +16 -14
- package/dist/composables/useSite.js.map +1 -1
- package/dist/composables/useTabTitle.js.map +1 -1
- package/dist/composables/useTableTitle.d.ts +6 -0
- package/dist/composables/useTableTitle.js +11 -0
- package/dist/composables/useTableTitle.js.map +1 -0
- package/dist/composables/useTableZoom.d.ts +5 -0
- package/dist/composables/useTableZoom.js.map +1 -1
- package/dist/composables/useTheme.d.ts +2 -2
- package/dist/composables/useTheme.js +23 -20
- package/dist/composables/useTheme.js.map +1 -1
- package/dist/createSmartAdmin.d.ts +12 -2
- package/dist/createSmartAdmin.js +72 -60
- package/dist/createSmartAdmin.js.map +1 -1
- package/dist/index.d.ts +5 -2
- package/dist/index.js +219 -205
- package/dist/index.js.map +1 -1
- package/dist/layouts/AccentPicker.vue.js +8 -0
- package/dist/layouts/AccentPicker.vue.js.map +1 -0
- package/dist/layouts/AccentPicker2.vue.js +131 -0
- package/dist/layouts/AccentPicker2.vue.js.map +1 -0
- package/dist/layouts/AppHeader.vue.d.ts +8 -1
- package/dist/layouts/AppHeader.vue.js +2 -2
- package/dist/layouts/AppHeader2.vue.js +317 -235
- package/dist/layouts/AppHeader2.vue.js.map +1 -1
- package/dist/layouts/NoticeBell.vue.js +2 -2
- package/dist/layouts/NoticeBell2.vue.js +1 -1
- package/dist/layouts/NoticeBell2.vue.js.map +1 -1
- package/dist/layouts/PersonalLayout.vue.js +2 -2
- package/dist/layouts/PersonalLayout2.vue.js +69 -47
- package/dist/layouts/PersonalLayout2.vue.js.map +1 -1
- package/dist/layouts/SettingsDrawer.vue.js +3 -3
- package/dist/layouts/SettingsDrawer2.vue.js +261 -325
- package/dist/layouts/SettingsDrawer2.vue.js.map +1 -1
- package/dist/layouts/TabsBar.vue.js +2 -2
- package/dist/layouts/TabsBar2.vue.js +97 -69
- package/dist/layouts/TabsBar2.vue.js.map +1 -1
- package/dist/layouts/components/SideNav.vue.d.ts +3 -0
- package/dist/layouts/components/SideNav.vue.js +1 -1
- package/dist/layouts/components/SideNav2.vue.js +54 -26
- package/dist/layouts/components/SideNav2.vue.js.map +1 -1
- package/dist/layouts/default.vue.js +1 -1
- package/dist/layouts/default2.vue.js +170 -140
- package/dist/layouts/default2.vue.js.map +1 -1
- package/dist/lib/loginHero.d.ts +2 -2
- package/dist/lib/loginHero.js.map +1 -1
- package/dist/lib/runtime.js +1 -1
- package/dist/lib/watermark.d.ts +110 -0
- package/dist/lib/watermark.js +151 -0
- package/dist/lib/watermark.js.map +1 -0
- package/dist/locales/en-US.d.ts +221 -15
- package/dist/locales/en-US.js +230 -21
- package/dist/locales/en-US.js.map +1 -1
- package/dist/locales/kernelMenuTitles.d.ts +1 -0
- package/dist/locales/kernelMenuTitles.js +128 -0
- package/dist/locales/kernelMenuTitles.js.map +1 -0
- package/dist/locales/menuTitle.d.ts +3 -0
- package/dist/locales/menuTitle.js +14 -12
- package/dist/locales/menuTitle.js.map +1 -1
- package/dist/locales/zh-CN.d.ts +221 -15
- package/dist/locales/zh-CN.js +238 -28
- package/dist/locales/zh-CN.js.map +1 -1
- package/dist/router/index.js +41 -32
- package/dist/router/index.js.map +1 -1
- package/dist/router/namedPage.d.ts +4 -0
- package/dist/router/namedPage.js +7 -7
- package/dist/router/namedPage.js.map +1 -1
- package/dist/router/viewRegistry.js +8 -8
- package/dist/router/viewRegistry.js.map +1 -1
- package/dist/stores/app.d.ts +0 -12
- package/dist/stores/app.js +11 -12
- package/dist/stores/app.js.map +1 -1
- package/dist/stores/tabs.js.map +1 -1
- package/dist/stores/user.d.ts +10 -0
- package/dist/stores/user.js.map +1 -1
- package/dist/style.css +1 -1
- package/dist/theme/accentTokens.d.ts +27 -0
- package/dist/theme/accentTokens.js +54 -0
- package/dist/theme/accentTokens.js.map +1 -0
- package/dist/theme/accents.d.ts +21 -1
- package/dist/theme/accents.js +11 -2
- package/dist/theme/accents.js.map +1 -1
- package/dist/theme/mix.d.ts +58 -7
- package/dist/theme/mix.js +115 -30
- package/dist/theme/mix.js.map +1 -1
- package/dist/theme/naive-theme.d.ts +5 -2
- package/dist/theme/naive-theme.js +405 -75
- package/dist/theme/naive-theme.js.map +1 -1
- package/dist/utils/jwt.d.ts +8 -0
- package/dist/utils/jwt.js +14 -0
- package/dist/utils/jwt.js.map +1 -0
- package/dist/utils/menuIcon.d.ts +2 -0
- package/dist/utils/menuIcon.js +8 -0
- package/dist/utils/menuIcon.js.map +1 -0
- package/dist/utils/oauthBrand.js.map +1 -1
- package/dist/utils/tableFilter.d.ts +88 -0
- package/dist/utils/tableFilter.js +116 -0
- package/dist/utils/tableFilter.js.map +1 -0
- package/dist/utils/tableToolbar.d.ts +18 -0
- package/dist/utils/tableToolbar.js +11 -0
- package/dist/utils/tableToolbar.js.map +1 -0
- package/dist/utils/treeFilter.d.ts +20 -0
- package/dist/utils/treeFilter.js +24 -0
- package/dist/utils/treeFilter.js.map +1 -0
- package/dist/views/dashboard/ShortcutPicker.vue.js +1 -1
- package/dist/views/dashboard/ShortcutPicker2.vue.js +73 -48
- package/dist/views/dashboard/ShortcutPicker2.vue.js.map +1 -1
- package/dist/views/dashboard/biz.vue.js +1 -1
- package/dist/views/dashboard/biz2.vue.js +310 -257
- package/dist/views/dashboard/biz2.vue.js.map +1 -1
- package/dist/views/dashboard/workbench.vue.js +2 -2
- package/dist/views/dashboard/workbench2.vue.js +141 -155
- package/dist/views/dashboard/workbench2.vue.js.map +1 -1
- package/dist/views/embed/iframe.vue.js +2 -2
- package/dist/views/embed/iframe2.vue.js +22 -15
- package/dist/views/embed/iframe2.vue.js.map +1 -1
- package/dist/views/error/404.vue.js +2 -2
- package/dist/views/error/4042.vue.js +33 -24
- package/dist/views/error/4042.vue.js.map +1 -1
- package/dist/views/error/BootError.vue.js +1 -1
- package/dist/views/error/BootError2.vue.js +59 -48
- package/dist/views/error/BootError2.vue.js.map +1 -1
- package/dist/views/error/MissingRoute.vue.js +2 -2
- package/dist/views/error/MissingRoute2.vue.js +34 -15
- package/dist/views/error/MissingRoute2.vue.js.map +1 -1
- package/dist/views/login/LoginForm.vue.d.ts +7 -1
- package/dist/views/login/LoginForm.vue.js +2 -2
- package/dist/views/login/LoginForm2.vue.js +580 -488
- package/dist/views/login/LoginForm2.vue.js.map +1 -1
- package/dist/views/login/components/LoginDesk.vue.d.ts +36 -0
- package/dist/views/login/components/LoginDesk.vue.js +9 -0
- package/dist/views/login/components/LoginDesk.vue.js.map +1 -0
- package/dist/views/login/components/LoginDesk2.vue.js +100 -0
- package/dist/views/login/components/LoginDesk2.vue.js.map +1 -0
- package/dist/views/login/components/LoginHeroPanel.vue.js +3 -3
- package/dist/views/login/components/LoginHeroPanel2.vue.js +34 -39
- package/dist/views/login/components/LoginHeroPanel2.vue.js.map +1 -1
- package/dist/views/login/index.vue.js +1 -1
- package/dist/views/login/index2.vue.js +141 -71
- package/dist/views/login/index2.vue.js.map +1 -1
- package/dist/views/login/layout.d.ts +11 -0
- package/dist/views/login/layout.js +27 -0
- package/dist/views/login/layout.js.map +1 -0
- package/dist/views/mfa/index.vue.js +2 -2
- package/dist/views/mfa/index2.vue.js +367 -321
- package/dist/views/mfa/index2.vue.js.map +1 -1
- package/dist/views/module/index.vue.js +2 -2
- package/dist/views/module/index2.vue.js +132 -99
- package/dist/views/module/index2.vue.js.map +1 -1
- package/dist/views/oauth/callback.vue.js +2 -2
- package/dist/views/oauth/callback2.vue.js +65 -51
- package/dist/views/oauth/callback2.vue.js.map +1 -1
- package/dist/views/personal/bindings.vue.js +2 -2
- package/dist/views/personal/bindings2.vue.js +98 -94
- package/dist/views/personal/bindings2.vue.js.map +1 -1
- package/dist/views/personal/notice2.vue.js +103 -76
- package/dist/views/personal/notice2.vue.js.map +1 -1
- package/dist/views/personal/password2.vue.js +47 -40
- package/dist/views/personal/password2.vue.js.map +1 -1
- package/dist/views/personal/profile.vue.js +3 -3
- package/dist/views/personal/profile2.vue.js +24 -18
- package/dist/views/personal/profile2.vue.js.map +1 -1
- package/dist/views/personal/security.vue.js +2 -2
- package/dist/views/personal/security2.vue.js +65 -53
- package/dist/views/personal/security2.vue.js.map +1 -1
- package/dist/views/personal/sessions.vue.js +2 -2
- package/dist/views/personal/sessions2.vue.js +67 -62
- package/dist/views/personal/sessions2.vue.js.map +1 -1
- package/dist/views/system/ai-model/components/ProviderCard.vue.js +2 -2
- package/dist/views/system/ai-model/components/ProviderCard2.vue.js +142 -130
- package/dist/views/system/ai-model/components/ProviderCard2.vue.js.map +1 -1
- package/dist/views/system/ai-model/components/ProviderForm.vue.js +2 -2
- package/dist/views/system/ai-model/components/ProviderForm2.vue.js +71 -70
- package/dist/views/system/ai-model/components/ProviderForm2.vue.js.map +1 -1
- package/dist/views/system/ai-model/index.vue.js +2 -2
- package/dist/views/system/ai-model/index2.vue.js +99 -99
- package/dist/views/system/ai-model/index2.vue.js.map +1 -1
- package/dist/views/system/ai-model/presets.d.ts +1 -1
- package/dist/views/system/ai-model/presets.js +18 -18
- package/dist/views/system/ai-model/presets.js.map +1 -1
- package/dist/views/system/ai-usage/index.vue.js +2 -2
- package/dist/views/system/ai-usage/index2.vue.js +356 -258
- package/dist/views/system/ai-usage/index2.vue.js.map +1 -1
- package/dist/views/system/api-docs/index.vue.js +5 -2
- package/dist/views/system/api-docs/index.vue.js.map +1 -1
- package/dist/views/system/api-docs/index2.vue.js +92 -42
- package/dist/views/system/api-docs/index2.vue.js.map +1 -1
- package/dist/views/system/cache/index.vue.js +2 -2
- package/dist/views/system/cache/index2.vue.js +74 -80
- package/dist/views/system/cache/index2.vue.js.map +1 -1
- package/dist/views/system/config/components/AdminMock.vue.js +2 -2
- package/dist/views/system/config/components/AdminMock2.vue.js +60 -43
- package/dist/views/system/config/components/AdminMock2.vue.js.map +1 -1
- package/dist/views/system/config/components/AdvancedSection.vue.js +5 -2
- package/dist/views/system/config/components/AdvancedSection.vue.js.map +1 -1
- package/dist/views/system/config/components/AdvancedSection2.vue.js +98 -70
- package/dist/views/system/config/components/AdvancedSection2.vue.js.map +1 -1
- package/dist/views/system/config/components/BrandSection.vue.js +2 -2
- package/dist/views/system/config/components/BrandSection2.vue.js +121 -119
- package/dist/views/system/config/components/BrandSection2.vue.js.map +1 -1
- package/dist/views/system/config/components/CfgGroup.vue.js +3 -3
- package/dist/views/system/config/components/CfgGroup2.vue.js.map +1 -1
- package/dist/views/system/config/components/CfgRow.vue.js +1 -1
- package/dist/views/system/config/components/CfgRow2.vue.js +24 -23
- package/dist/views/system/config/components/CfgRow2.vue.js.map +1 -1
- package/dist/views/system/config/components/CfgSegment.vue.js +1 -1
- package/dist/views/system/config/components/CfgSegment2.vue.js +16 -15
- package/dist/views/system/config/components/CfgSegment2.vue.js.map +1 -1
- package/dist/views/system/config/components/ConfigFormModal.vue.js +2 -2
- package/dist/views/system/config/components/ConfigFormModal2.vue.js +35 -33
- package/dist/views/system/config/components/ConfigFormModal2.vue.js.map +1 -1
- package/dist/views/system/config/components/JobSection.vue.js +2 -2
- package/dist/views/system/config/components/JobSection2.vue.js +46 -44
- package/dist/views/system/config/components/JobSection2.vue.js.map +1 -1
- package/dist/views/system/config/components/LoginMock.vue.js +3 -3
- package/dist/views/system/config/components/LoginMock2.vue.js +83 -72
- package/dist/views/system/config/components/LoginMock2.vue.js.map +1 -1
- package/dist/views/system/config/components/LogoCropper.vue.js +1 -1
- package/dist/views/system/config/components/LogoCropper2.vue.js.map +1 -1
- package/dist/views/system/config/components/LogoEditor.vue.js +2 -2
- package/dist/views/system/config/components/LogoEditor2.vue.js +11 -13
- package/dist/views/system/config/components/LogoEditor2.vue.js.map +1 -1
- package/dist/views/system/config/components/ProviderSheet.vue.js +3 -3
- package/dist/views/system/config/components/ProviderSheet2.vue.js.map +1 -1
- package/dist/views/system/config/components/SectionLayout.vue.d.ts +4 -2
- package/dist/views/system/config/components/SectionLayout.vue.js +2 -2
- package/dist/views/system/config/components/SectionLayout2.vue.js +51 -27
- package/dist/views/system/config/components/SectionLayout2.vue.js.map +1 -1
- package/dist/views/system/config/components/SecuritySection.vue.js +2 -2
- package/dist/views/system/config/components/SecuritySection2.vue.js +207 -206
- package/dist/views/system/config/components/SecuritySection2.vue.js.map +1 -1
- package/dist/views/system/config/components/SensitiveSection.vue.js +2 -2
- package/dist/views/system/config/components/SensitiveSection2.vue.js +107 -102
- package/dist/views/system/config/components/SensitiveSection2.vue.js.map +1 -1
- package/dist/views/system/config/components/UploadSection.vue.js +2 -2
- package/dist/views/system/config/components/UploadSection2.vue.js +86 -77
- package/dist/views/system/config/components/UploadSection2.vue.js.map +1 -1
- package/dist/views/system/config/components/WatermarkSection.vue.js +8 -0
- package/dist/views/system/config/components/WatermarkSection.vue.js.map +1 -0
- package/dist/views/system/config/components/WatermarkSection2.vue.js +284 -0
- package/dist/views/system/config/components/WatermarkSection2.vue.js.map +1 -0
- package/dist/views/system/config/draft.d.ts +2 -2
- package/dist/views/system/config/draft.js.map +1 -1
- package/dist/views/system/config/groups.d.ts +4 -1
- package/dist/views/system/config/groups.js +54 -49
- package/dist/views/system/config/groups.js.map +1 -1
- package/dist/views/system/config/index.vue.js +3 -2
- package/dist/views/system/config/index.vue.js.map +1 -1
- package/dist/views/system/config/index2.vue.js +173 -148
- package/dist/views/system/config/index2.vue.js.map +1 -1
- package/dist/views/system/config/layoutMode.d.ts +23 -0
- package/dist/views/system/config/layoutMode.js +28 -0
- package/dist/views/system/config/layoutMode.js.map +1 -0
- package/dist/views/system/dict/index.vue.js +2 -2
- package/dist/views/system/dict/index2.vue.js +471 -366
- package/dist/views/system/dict/index2.vue.js.map +1 -1
- package/dist/views/system/file/index2.vue.js +91 -76
- package/dist/views/system/file/index2.vue.js.map +1 -1
- package/dist/views/system/job/index.vue.js +3 -3
- package/dist/views/system/job/index2.vue.js +897 -828
- package/dist/views/system/job/index2.vue.js.map +1 -1
- package/dist/views/system/job-log/components/AttemptTable.vue.d.ts +8 -0
- package/dist/views/system/job-log/components/AttemptTable.vue.js +5 -0
- package/dist/views/system/job-log/components/AttemptTable.vue.js.map +1 -0
- package/dist/views/system/job-log/components/AttemptTable2.vue.js +54 -0
- package/dist/views/system/job-log/components/AttemptTable2.vue.js.map +1 -0
- package/dist/views/system/job-log/index.vue.js +2 -2
- package/dist/views/system/job-log/index2.vue.js +193 -207
- package/dist/views/system/job-log/index2.vue.js.map +1 -1
- package/dist/views/system/job-log/runStatus.d.ts +13 -0
- package/dist/views/system/job-log/runStatus.js +26 -0
- package/dist/views/system/job-log/runStatus.js.map +1 -0
- package/dist/views/system/job-monitor/index.vue.js +2 -2
- package/dist/views/system/job-monitor/index2.vue.js +172 -180
- package/dist/views/system/job-monitor/index2.vue.js.map +1 -1
- package/dist/views/system/log/exception/index.vue.js +2 -2
- package/dist/views/system/log/exception/index2.vue.js +135 -96
- package/dist/views/system/log/exception/index2.vue.js.map +1 -1
- package/dist/views/system/log/login/index2.vue.js +62 -41
- package/dist/views/system/log/login/index2.vue.js.map +1 -1
- package/dist/views/system/log/op/index.vue.js +2 -2
- package/dist/views/system/log/op/index2.vue.js +200 -162
- package/dist/views/system/log/op/index2.vue.js.map +1 -1
- package/dist/views/system/menu/components/ButtonManager.vue.js +2 -2
- package/dist/views/system/menu/components/ButtonManager2.vue.js +206 -190
- package/dist/views/system/menu/components/ButtonManager2.vue.js.map +1 -1
- package/dist/views/system/menu/components/MenuFormModal.vue.js +2 -2
- package/dist/views/system/menu/components/MenuFormModal2.vue.js +127 -118
- package/dist/views/system/menu/components/MenuFormModal2.vue.js.map +1 -1
- package/dist/views/system/menu/index.vue.js +1 -1
- package/dist/views/system/menu/index2.vue.js +216 -183
- package/dist/views/system/menu/index2.vue.js.map +1 -1
- package/dist/views/system/module/index.vue.js +1 -1
- package/dist/views/system/module/index2.vue.js +177 -144
- package/dist/views/system/module/index2.vue.js.map +1 -1
- package/dist/views/system/monitor/index.vue.js +2 -2
- package/dist/views/system/monitor/index2.vue.js +134 -149
- package/dist/views/system/monitor/index2.vue.js.map +1 -1
- package/dist/views/system/notice/index.vue.js +1 -1
- package/dist/views/system/notice/index2.vue.js +209 -181
- package/dist/views/system/notice/index2.vue.js.map +1 -1
- package/dist/views/system/org/index.vue.js +1 -1
- package/dist/views/system/org/index2.vue.js +278 -248
- package/dist/views/system/org/index2.vue.js.map +1 -1
- package/dist/views/system/position/index.vue.js +5 -2
- package/dist/views/system/position/index.vue.js.map +1 -1
- package/dist/views/system/position/index2.vue.js +128 -92
- package/dist/views/system/position/index2.vue.js.map +1 -1
- package/dist/views/system/recycle/index.vue.js +2 -2
- package/dist/views/system/recycle/index2.vue.js +90 -67
- package/dist/views/system/recycle/index2.vue.js.map +1 -1
- package/dist/views/system/role/components/GrantMenuSheet.vue.d.ts +20 -0
- package/dist/views/system/role/components/GrantMenuSheet.vue.js +8 -0
- package/dist/views/system/role/components/GrantMenuSheet.vue.js.map +1 -0
- package/dist/views/system/role/components/GrantMenuSheet2.vue.js +117 -0
- package/dist/views/system/role/components/GrantMenuSheet2.vue.js.map +1 -0
- package/dist/views/system/role/components/GrantMenuTable.vue.d.ts +6 -4
- package/dist/views/system/role/components/GrantMenuTable.vue.js +2 -2
- package/dist/views/system/role/components/GrantMenuTable2.vue.js +279 -177
- package/dist/views/system/role/components/GrantMenuTable2.vue.js.map +1 -1
- package/dist/views/system/role/components/MatchText.vue.d.ts +7 -0
- package/dist/views/system/role/components/MatchText.vue.js +8 -0
- package/dist/views/system/role/components/MatchText.vue.js.map +1 -0
- package/dist/views/system/role/components/MatchText2.vue.js +29 -0
- package/dist/views/system/role/components/MatchText2.vue.js.map +1 -0
- package/dist/views/system/role/components/grantMenuGroups.d.ts +36 -0
- package/dist/views/system/role/components/grantMenuGroups.js +110 -48
- package/dist/views/system/role/components/grantMenuGroups.js.map +1 -1
- package/dist/views/system/role/index.vue.js +5 -2
- package/dist/views/system/role/index.vue.js.map +1 -1
- package/dist/views/system/role/index2.vue.js +181 -165
- package/dist/views/system/role/index2.vue.js.map +1 -1
- package/dist/views/system/session/index2.vue.js +75 -49
- package/dist/views/system/session/index2.vue.js.map +1 -1
- package/dist/views/system/user/components/ResetPasswordModal.vue.js +2 -2
- package/dist/views/system/user/components/ResetPasswordModal2.vue.js +2 -0
- package/dist/views/system/user/components/ResetPasswordModal2.vue.js.map +1 -1
- package/dist/views/system/user/components/UserFormModal.vue.js +2 -2
- package/dist/views/system/user/components/UserFormModal2.vue.js +77 -76
- package/dist/views/system/user/components/UserFormModal2.vue.js.map +1 -1
- package/dist/views/system/user/index.vue.js +2 -2
- package/dist/views/system/user/index2.vue.js +362 -275
- package/dist/views/system/user/index2.vue.js.map +1 -1
- package/package.json +3 -5
- package/dist/components/SelectTable/index.vue.d.ts +0 -76
- package/dist/components/SelectTable/index2.vue.js +0 -256
- package/dist/components/SelectTable/index2.vue.js.map +0 -1
- package/dist/composables/useTableRowSort.d.ts +0 -20
- package/dist/composables/useTableRowSort.js +0 -59
- package/dist/composables/useTableRowSort.js.map +0 -1
- package/dist/layouts/LayoutModeCards.vue.js +0 -8
- package/dist/layouts/LayoutModeCards.vue.js.map +0 -1
- package/dist/layouts/LayoutModeCards2.vue.js +0 -67
- package/dist/layouts/LayoutModeCards2.vue.js.map +0 -1
- package/dist/layouts/SettingRow.vue.d.ts +0 -16
- package/dist/layouts/SettingRow.vue.js +0 -8
- package/dist/layouts/SettingRow.vue.js.map +0 -1
- package/dist/layouts/SettingRow2.vue.js +0 -23
- package/dist/layouts/SettingRow2.vue.js.map +0 -1
- package/dist/views/login/skins/AuroraGlass.vue.js +0 -8
- package/dist/views/login/skins/AuroraGlass.vue.js.map +0 -1
- package/dist/views/login/skins/AuroraGlass2.vue.js +0 -80
- package/dist/views/login/skins/AuroraGlass2.vue.js.map +0 -1
- package/dist/views/login/skins/SplitPanel.vue.d.ts +0 -3
- package/dist/views/login/skins/SplitPanel.vue.js +0 -8
- package/dist/views/login/skins/SplitPanel.vue.js.map +0 -1
- package/dist/views/login/skins/SplitPanel2.vue.js +0 -65
- package/dist/views/login/skins/SplitPanel2.vue.js.map +0 -1
- package/dist/views/login/skins/Spotlight.vue.d.ts +0 -3
- package/dist/views/login/skins/Spotlight.vue.js +0 -8
- package/dist/views/login/skins/Spotlight.vue.js.map +0 -1
- package/dist/views/login/skins/Spotlight2.vue.js +0 -36
- package/dist/views/login/skins/Spotlight2.vue.js.map +0 -1
- package/dist/views/login/skins.d.ts +0 -8
- package/dist/views/login/skins.js +0 -13
- package/dist/views/login/skins.js.map +0 -1
- /package/dist/components/{SelectTable → TableTotal}/index.vue.js.map +0 -0
- /package/dist/layouts/{LayoutModeCards.vue.d.ts → AccentPicker.vue.d.ts} +0 -0
- /package/dist/views/{login/skins/AuroraGlass.vue.d.ts → system/config/components/WatermarkSection.vue.d.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuFormModal2.vue.js","sources":["../../../../../src/views/system/menu/components/MenuFormModal.vue"],"sourcesContent":["<script setup lang=\"ts\">\n// 菜单「新增/编辑」弹窗。父页(menu/index.vue)拥有 tree/modules 数据并保持响应,\n// 本弹窗只读消费,保存后 emit('saved') 交回父页重拉树 + 重建壳层。\nimport { computed, reactive, ref } from 'vue'\nimport {\n NForm,\n NInput,\n NInputNumber,\n NSwitch,\n NSelect,\n NGrid,\n NFormItemGi,\n useMessage,\n type FormInst,\n type FormRules,\n} from 'naive-ui'\nimport { useI18n } from 'vue-i18n'\nimport IconPicker from '#/components/IconPicker/index.vue'\nimport FormContainer from '#/components/FormContainer/index.vue'\nimport { viewComponentPaths } from '#/composables/useAuthMenu'\nimport { menuApi } from '#/api'\nimport { translateError } from '#/utils/error'\nimport { MenuType, type MenuInput, type MenuTreeNode, toMenuInput } from '#/types/menu'\nimport type { ModuleRow } from '#/types/api'\n\nconst props = defineProps<{\n modules: ModuleRow[]\n /** 全树:subtreeIds 防环需要按钮在内的完整结构。 */\n tree: MenuTreeNode[]\n /** 当前应用、已剥按钮的树:父级下拉的候选来源(只在本应用子树里选父级,防跨应用误挂)。 */\n filteredTree: MenuTreeNode[]\n moduleFilter: number\n}>()\nconst emit = defineEmits<{ (e: 'saved'): void }>()\n\nconst { t } = useI18n()\nconst message = useMessage()\n\n/** 「未分配」「全部」哨兵,与父页一致:openAdd 顶级目录时据此决定是否自动带上当前应用。 */\nconst UNASSIGNED = 0\nconst ALL_MODULES = -1\n\nconst show = ref(false)\nconst formRef = ref<FormInst | null>(null)\nconst rules: FormRules = {\n // whitespace: 纯空白不算填写\n title: {\n required: true,\n whitespace: true,\n message: () => t('menu.titleRequired'),\n trigger: ['input', 'blur'],\n },\n}\nconst editingId = ref<number | null>(null)\nconst blank = (): MenuInput => ({\n parentId: 0,\n type: MenuType.Menu,\n title: '',\n permission: '',\n sort: 0,\n enabled: true,\n moduleId: null,\n path: '',\n component: '',\n icon: '',\n visible: true,\n})\nconst form = reactive<MenuInput>(blank())\n\n/** 所属应用仅对顶级目录(parentId==0)有效——后端对子节点强制置空,前端据此隐藏字段。 */\nconst isTopLevel = computed(() => form.parentId === 0)\n\n// 类型只留目录/页面:按钮统一走「权限按钮」弹窗建,主表单不提供按钮选项。\nconst typeOptions = computed(() => [\n { label: t('menu.typeCatalog'), value: MenuType.Catalog },\n { label: t('menu.typeMenu'), value: MenuType.Menu },\n])\nconst moduleOptions = computed(() => props.modules.map(m => ({ label: m.title, value: m.id })))\n// 组件路径下拉:取自已注册的页面表(内核内置页 + 消费方注册的页面),选得到的一定存在;手填错误则由 MissingRoute 诊断。\nconst componentOptions = computed(() => viewComponentPaths().map(p => ({ label: p, value: p })))\n\n/** 收集以 id 为根的子树全部 id(含自身)——编辑时排除,防止把节点挂到自己的子孙下形成环。 */\nfunction subtreeIds(nodes: MenuTreeNode[], id: number): Set<number> {\n const out = new Set<number>()\n const find = (list: MenuTreeNode[]): MenuTreeNode | null => {\n for (const n of list) {\n if (n.id === id) return n\n const hit = find(n.children)\n if (hit) return hit\n }\n return null\n }\n const collect = (n: MenuTreeNode) => {\n out.add(n.id)\n n.children.forEach(collect)\n }\n const root = find(nodes)\n if (root) collect(root)\n return out\n}\n\n/** 父节点下拉:根 + 全部目录/页面(按钮不能当父),缩进体现层级;编辑时排除自身子树。 */\nconst parentOptions = computed(() => {\n const exclude =\n editingId.value === null ? new Set<number>() : subtreeIds(props.tree, editingId.value)\n const opts: { label: string; value: number }[] = [{ label: t('menu.parentRoot'), value: 0 }]\n const walk = (nodes: MenuTreeNode[], depth: number) => {\n for (const n of nodes) {\n if (n.type !== MenuType.Button && !exclude.has(n.id)) {\n opts.push({ label: `${' '.repeat(depth)}${n.title}`, value: n.id })\n }\n walk(n.children, depth + 1)\n }\n }\n // 只在当前应用的子树里选父级——防止把节点误挂到别的应用目录下(会改变其实际所属应用)。\n walk(props.filteredTree, 0)\n return opts\n})\n\nfunction openAdd(parentId = 0) {\n editingId.value = null\n // 新建顶级目录时,自动盖上当前筛选的应用(「未分配」「全部」筛选下则留空,交给用户手选)。\n const moduleId =\n parentId === 0 && props.moduleFilter !== UNASSIGNED && props.moduleFilter !== ALL_MODULES\n ? props.moduleFilter\n : null\n Object.assign(form, blank(), { parentId, moduleId })\n show.value = true\n}\nfunction openEdit(r: MenuTreeNode) {\n editingId.value = r.id\n Object.assign(form, toMenuInput(r))\n show.value = true\n}\ndefineExpose({ openAdd, openEdit })\n\n/** FormContainer onConfirm:校验失败 reject / API 失败 return false → 弹层不关;成功正常返回自动关。\n * 重拉树/重建壳层交回父页(emit),失败不该把已成功的保存报成失败。 */\nasync function save() {\n await formRef.value?.validate()\n try {\n const payload: MenuInput = { ...form, moduleId: isTopLevel.value ? form.moduleId : null }\n if (editingId.value === null) await menuApi.add(payload)\n else await menuApi.update(editingId.value, payload)\n message.success(t('menu.saved'))\n emit('saved')\n } catch (e) {\n message.error(translateError(e))\n return false\n }\n}\n</script>\n\n<template>\n <FormContainer\n v-model:show=\"show\"\n :title=\"editingId === null ? t('menu.addTitle') : t('menu.editTitle')\"\n :width=\"720\"\n :on-confirm=\"save\"\n :confirm-text=\"t('common.save')\"\n >\n <!-- 两列布局:短字段两两一行、长/特殊字段整行(span 2),省纵向空间免下拉。 -->\n <n-form ref=\"formRef\" :model=\"form\" :rules=\"rules\" label-placement=\"left\" :label-width=\"90\">\n <n-grid :cols=\"2\" :x-gap=\"18\">\n <n-form-item-gi :label=\"t('menu.parent')\">\n <n-select v-model:value=\"form.parentId\" :options=\"parentOptions\" />\n </n-form-item-gi>\n <n-form-item-gi :label=\"t('menu.type')\">\n <n-select v-model:value=\"form.type\" :options=\"typeOptions\" />\n </n-form-item-gi>\n <n-form-item-gi :label=\"t('menu.title')\" path=\"title\">\n <n-input v-model:value=\"form.title\" :placeholder=\"t('menu.title')\" />\n </n-form-item-gi>\n <n-form-item-gi :label=\"t('menu.sort')\">\n <n-input-number v-model:value=\"form.sort\" :min=\"0\" style=\"width: 100%\" />\n </n-form-item-gi>\n <!-- 无权限码字段:目录/页面结构上永远无权限码(授权靠角色拥有菜单,页面是前端路由无后端端点),\n 真正的权限码只活在按钮上,统一走每行「配置权限」按钮里的 ButtonManager 配。 -->\n <n-form-item-gi v-if=\"isTopLevel\" :span=\"2\" :label=\"t('menu.module')\">\n <n-select\n v-model:value=\"form.moduleId\"\n :options=\"moduleOptions\"\n clearable\n :placeholder=\"t('menu.moduleHint')\"\n />\n </n-form-item-gi>\n <n-form-item-gi :label=\"t('menu.path')\">\n <n-input v-model:value=\"form.path as string\" placeholder=\"/system/xxx | https://...\" />\n </n-form-item-gi>\n <!-- 组件路径:选项来自已注册的页面表(内核内置页 + createSmartAdmin 传入的页面),选得到的一定能加载;\n 手敲错则该菜单进入 MissingRoute 并输出 console.warn。tag 保留手敲(页面文件尚未创建时先占位)。\n 外链/iframe 约定见下方 linkHint:路径填 URL = 外链新窗口打开;组件填 URL = 内嵌 iframe。 -->\n <n-form-item-gi :label=\"t('menu.component')\">\n <n-select\n v-model:value=\"form.component as string\"\n :options=\"componentOptions\"\n filterable\n tag\n clearable\n placeholder=\"system/xxx/index | https://...\"\n />\n </n-form-item-gi>\n <n-form-item-gi v-if=\"form.type === MenuType.Menu\" :span=\"2\" :show-label=\"false\">\n <span class=\"link-hint\">{{ t('menu.linkHint') }}</span>\n </n-form-item-gi>\n <n-form-item-gi :span=\"2\" :label=\"t('menu.icon')\">\n <IconPicker\n :model-value=\"form.icon ?? ''\"\n @update:model-value=\"(v: string) => (form.icon = v)\"\n />\n </n-form-item-gi>\n <n-form-item-gi :label=\"t('common.status')\">\n <n-switch v-model:value=\"form.enabled\" />\n </n-form-item-gi>\n <n-form-item-gi :label=\"t('menu.visible')\">\n <n-switch v-model:value=\"form.visible\" />\n </n-form-item-gi>\n </n-grid>\n </n-form>\n </FormContainer>\n</template>\n\n<style scoped>\n.link-hint {\n font-size: 12px;\n color: var(--color-text-tertiary, #999);\n line-height: 1.5;\n}\n</style>\n"],"names":["UNASSIGNED","ALL_MODULES","props","__props","emit","__emit","t","useI18n","message","useMessage","show","ref","formRef","rules","editingId","blank","MenuType","form","reactive","isTopLevel","computed","typeOptions","moduleOptions","m","componentOptions","viewComponentPaths","p","subtreeIds","nodes","id","out","find","list","n","hit","collect","root","parentOptions","exclude","opts","walk","depth","openAdd","parentId","moduleId","openEdit","r","toMenuInput","__expose","save","_a","payload","menuApi","e","translateError","_createBlock","FormContainer","$event","_unref","_createVNode","NForm","NGrid","NFormItemGi","NSelect","_cache","NInput","NInputNumber","_createElementVNode","_hoisted_1","_toDisplayString","IconPicker","v","NSwitch"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MenuFormModal2.vue.js","sources":["../../../../../src/views/system/menu/components/MenuFormModal.vue"],"sourcesContent":["<script setup lang=\"ts\">\n// 菜单「新增/编辑」弹窗。父页(menu/index.vue)拥有 tree/modules 数据并保持响应,\n// 本弹窗只读消费,保存后 emit('saved') 交回父页重拉树 + 重建壳层。\nimport { computed, reactive, ref } from 'vue'\nimport { useMediaQuery } from '@vueuse/core'\nimport {\n NForm,\n NInput,\n NInputNumber,\n NSwitch,\n NSelect,\n NGrid,\n NFormItemGi,\n useMessage,\n type FormInst,\n type FormRules,\n} from 'naive-ui'\nimport { useI18n } from 'vue-i18n'\nimport IconPicker from '#/components/IconPicker/index.vue'\nimport FormContainer from '#/components/FormContainer/index.vue'\nimport { viewComponentPaths } from '#/composables/useAuthMenu'\nimport { menuApi } from '#/api'\nimport { translateError } from '#/utils/error'\nimport { translateMenuTitle } from '#/locales/menuTitle'\nimport { MenuType, type MenuInput, type MenuTreeNode, toMenuInput } from '#/types/menu'\nimport type { ModuleRow } from '#/types/api'\n\nconst props = defineProps<{\n modules: ModuleRow[]\n /** 全树:subtreeIds 防环需要按钮在内的完整结构。 */\n tree: MenuTreeNode[]\n /** 当前应用、已剥按钮的树:父级下拉的候选来源(只在本应用子树里选父级,防跨应用误挂)。 */\n filteredTree: MenuTreeNode[]\n moduleFilter: number\n}>()\nconst emit = defineEmits<{ (e: 'saved'): void }>()\n\nconst { t } = useI18n()\nconst message = useMessage()\n\n/** 「未分配」「全部」哨兵,与父页一致:openAdd 顶级目录时据此决定是否自动带上当前应用。 */\nconst UNASSIGNED = 0\nconst ALL_MODULES = -1\n\nconst show = ref(false)\nconst formRef = ref<FormInst | null>(null)\nconst rules: FormRules = {\n // whitespace: 纯空白不算填写\n title: {\n required: true,\n whitespace: true,\n message: () => t('menu.titleRequired'),\n trigger: ['input', 'blur'],\n },\n}\nconst editingId = ref<number | null>(null)\nconst blank = (): MenuInput => ({\n parentId: 0,\n type: MenuType.Menu,\n title: '',\n permission: '',\n sort: 0,\n enabled: true,\n moduleId: null,\n path: '',\n component: '',\n icon: '',\n visible: true,\n})\nconst form = reactive<MenuInput>(blank())\n\n// 窄屏:标签放上方、两列网格收成单列(底部抽屉里并排两列太挤);宽 / 中档沿用左标签两列\nconst narrowForm = useMediaQuery('(max-width: 640px)')\nconst formCols = computed(() => (narrowForm.value ? 1 : 2))\nconst formLayout = computed(() =>\n narrowForm.value\n ? { labelPlacement: 'top' as const, labelWidth: undefined }\n : { labelPlacement: 'left' as const, labelWidth: 90 },\n)\n\n/** 所属应用仅对顶级目录(parentId==0)有效——后端对子节点强制置空,前端据此隐藏字段。 */\nconst isTopLevel = computed(() => form.parentId === 0)\n\n// 类型只留目录/页面:按钮统一走「权限按钮」弹窗建,主表单不提供按钮选项。\nconst typeOptions = computed(() => [\n { label: t('menu.typeCatalog'), value: MenuType.Catalog },\n { label: t('menu.typeMenu'), value: MenuType.Menu },\n])\nconst moduleOptions = computed(() =>\n props.modules.map(m => ({ label: translateMenuTitle(m.title), value: m.id })),\n)\n// 组件路径下拉:取自已注册的页面表(内核内置页 + 消费方注册的页面),选得到的一定存在;手填错误则由 MissingRoute 诊断。\nconst componentOptions = computed(() => viewComponentPaths().map(p => ({ label: p, value: p })))\n\n/** 收集以 id 为根的子树全部 id(含自身)——编辑时排除,防止把节点挂到自己的子孙下形成环。 */\nfunction subtreeIds(nodes: MenuTreeNode[], id: number): Set<number> {\n const out = new Set<number>()\n const find = (list: MenuTreeNode[]): MenuTreeNode | null => {\n for (const n of list) {\n if (n.id === id) return n\n const hit = find(n.children)\n if (hit) return hit\n }\n return null\n }\n const collect = (n: MenuTreeNode) => {\n out.add(n.id)\n n.children.forEach(collect)\n }\n const root = find(nodes)\n if (root) collect(root)\n return out\n}\n\n/** 父节点下拉:根 + 全部目录/页面(按钮不能当父),缩进体现层级;编辑时排除自身子树。 */\nconst parentOptions = computed(() => {\n const exclude =\n editingId.value === null ? new Set<number>() : subtreeIds(props.tree, editingId.value)\n const opts: { label: string; value: number }[] = [{ label: t('menu.parentRoot'), value: 0 }]\n const walk = (nodes: MenuTreeNode[], depth: number) => {\n for (const n of nodes) {\n if (n.type !== MenuType.Button && !exclude.has(n.id)) {\n opts.push({\n label: `${' '.repeat(depth)}${translateMenuTitle(n.title, n.path || undefined)}`,\n value: n.id,\n })\n }\n walk(n.children, depth + 1)\n }\n }\n // 只在当前应用的子树里选父级——防止把节点误挂到别的应用目录下(会改变其实际所属应用)。\n walk(props.filteredTree, 0)\n return opts\n})\n\nfunction openAdd(parentId = 0) {\n editingId.value = null\n // 新建顶级目录时,自动盖上当前筛选的应用(「未分配」「全部」筛选下则留空,交给用户手选)。\n const moduleId =\n parentId === 0 && props.moduleFilter !== UNASSIGNED && props.moduleFilter !== ALL_MODULES\n ? props.moduleFilter\n : null\n Object.assign(form, blank(), { parentId, moduleId })\n show.value = true\n}\nfunction openEdit(r: MenuTreeNode) {\n editingId.value = r.id\n Object.assign(form, toMenuInput(r))\n show.value = true\n}\ndefineExpose({ openAdd, openEdit })\n\n/** FormContainer onConfirm:校验失败 reject / API 失败 return false → 弹层不关;成功正常返回自动关。\n * 重拉树/重建壳层交回父页(emit),失败不该把已成功的保存报成失败。 */\nasync function save() {\n await formRef.value?.validate()\n try {\n const payload: MenuInput = { ...form, moduleId: isTopLevel.value ? form.moduleId : null }\n if (editingId.value === null) await menuApi.add(payload)\n else await menuApi.update(editingId.value, payload)\n message.success(t('menu.saved'))\n emit('saved')\n } catch (e) {\n message.error(translateError(e))\n return false\n }\n}\n</script>\n\n<template>\n <FormContainer\n v-model:show=\"show\"\n :title=\"editingId === null ? t('menu.addTitle') : t('menu.editTitle')\"\n :width=\"720\"\n :on-confirm=\"save\"\n :confirm-text=\"t('common.save')\"\n >\n <!-- 两列布局:短字段两两一行、长/特殊字段整行(span 2),省纵向空间免下拉。 -->\n <n-form\n ref=\"formRef\"\n :model=\"form\"\n :rules=\"rules\"\n require-mark-placement=\"left\"\n v-bind=\"formLayout\"\n >\n <n-grid :cols=\"formCols\" :x-gap=\"18\">\n <n-form-item-gi :label=\"t('menu.parent')\">\n <n-select v-model:value=\"form.parentId\" :options=\"parentOptions\" />\n </n-form-item-gi>\n <n-form-item-gi :label=\"t('menu.type')\">\n <n-select v-model:value=\"form.type\" :options=\"typeOptions\" />\n </n-form-item-gi>\n <n-form-item-gi :label=\"t('menu.title')\" path=\"title\">\n <n-input v-model:value=\"form.title\" :placeholder=\"t('menu.title')\" />\n </n-form-item-gi>\n <n-form-item-gi :label=\"t('menu.sort')\">\n <n-input-number v-model:value=\"form.sort\" :min=\"0\" style=\"width: 100%\" />\n </n-form-item-gi>\n <!-- 无权限码字段:目录/页面结构上永远无权限码(授权靠角色拥有菜单,页面是前端路由无后端端点),\n 真正的权限码只活在按钮上,统一走每行「配置权限」按钮里的 ButtonManager 配。 -->\n <n-form-item-gi v-if=\"isTopLevel\" :span=\"formCols\" :label=\"t('menu.module')\">\n <n-select\n v-model:value=\"form.moduleId\"\n :options=\"moduleOptions\"\n clearable\n :placeholder=\"t('menu.moduleHint')\"\n />\n </n-form-item-gi>\n <n-form-item-gi :label=\"t('menu.path')\">\n <n-input\n v-model:value=\"form.path as string\"\n class=\"mono\"\n placeholder=\"/system/xxx | https://...\"\n />\n </n-form-item-gi>\n <!-- 组件路径:选项来自已注册的页面表(内核内置页 + createSmartAdmin 传入的页面),选得到的一定能加载;\n 手敲错则该菜单进入 MissingRoute 并输出 console.warn。tag 保留手敲(页面文件尚未创建时先占位)。\n 外链/iframe 约定见下方 linkHint:路径填 URL = 外链新窗口打开;组件填 URL = 内嵌 iframe。 -->\n <n-form-item-gi :label=\"t('menu.component')\">\n <n-select\n v-model:value=\"form.component as string\"\n :options=\"componentOptions\"\n filterable\n tag\n clearable\n placeholder=\"system/xxx/index | https://...\"\n />\n </n-form-item-gi>\n <n-form-item-gi v-if=\"form.type === MenuType.Menu\" :span=\"formCols\" :show-label=\"false\">\n <span class=\"link-hint\">{{ t('menu.linkHint') }}</span>\n </n-form-item-gi>\n <n-form-item-gi :span=\"formCols\" :label=\"t('menu.icon')\">\n <IconPicker\n :model-value=\"form.icon ?? ''\"\n @update:model-value=\"(v: string) => (form.icon = v)\"\n />\n </n-form-item-gi>\n <n-form-item-gi :label=\"t('common.status')\">\n <n-switch v-model:value=\"form.enabled\" />\n </n-form-item-gi>\n <n-form-item-gi :label=\"t('menu.visible')\">\n <n-switch v-model:value=\"form.visible\" />\n </n-form-item-gi>\n </n-grid>\n </n-form>\n </FormContainer>\n</template>\n\n<style scoped>\n.link-hint {\n font-size: 13px;\n color: var(--text-3);\n line-height: 1.5;\n}\n\n.mono {\n font-family: var(--font-mono);\n font-size: 13.5px;\n letter-spacing: 0;\n}\n</style>\n"],"names":["UNASSIGNED","ALL_MODULES","props","__props","emit","__emit","t","useI18n","message","useMessage","show","ref","formRef","rules","editingId","blank","MenuType","form","reactive","narrowForm","useMediaQuery","formCols","computed","formLayout","isTopLevel","typeOptions","moduleOptions","translateMenuTitle","m","componentOptions","viewComponentPaths","p","subtreeIds","nodes","id","out","find","list","n","hit","collect","root","parentOptions","exclude","opts","walk","depth","openAdd","parentId","moduleId","openEdit","r","toMenuInput","__expose","save","_a","payload","menuApi","e","translateError","_createBlock","FormContainer","$event","_unref","_createVNode","_mergeProps","NGrid","NFormItemGi","NSelect","_cache","NInput","NInputNumber","_createElementVNode","_hoisted_1","_toDisplayString","IconPicker","v","NSwitch"],"mappings":"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"}
|
|
@@ -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 p = /* @__PURE__ */ t(o, [["__scopeId", "data-v-
|
|
4
|
+
const p = /* @__PURE__ */ t(o, [["__scopeId", "data-v-4a7db6ca"]]);
|
|
5
5
|
export {
|
|
6
6
|
p as default
|
|
7
7
|
};
|