smart-admin-web 10.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -0
- package/README.md +78 -0
- package/dist/App.vue.d.ts +3 -0
- package/dist/App.vue.js +54 -0
- package/dist/App.vue.js.map +1 -0
- package/dist/App2.vue.js +5 -0
- package/dist/App2.vue.js.map +1 -0
- package/dist/_virtual/_plugin-vue_export-helper.js +10 -0
- package/dist/_virtual/_plugin-vue_export-helper.js.map +1 -0
- package/dist/api/client.d.ts +29 -0
- package/dist/api/client.js +139 -0
- package/dist/api/client.js.map +1 -0
- package/dist/api/index.d.ts +672 -0
- package/dist/api/index.js +638 -0
- package/dist/api/index.js.map +1 -0
- package/dist/api/reauthGate.d.ts +16 -0
- package/dist/api/reauthGate.js +21 -0
- package/dist/api/reauthGate.js.map +1 -0
- package/dist/api/schema.d.ts +10230 -0
- package/dist/assets/icons/ph-subset.json.js +16 -0
- package/dist/assets/icons/ph-subset.json.js.map +1 -0
- package/dist/assets/oauth/dingtalk.svg.js +5 -0
- package/dist/assets/oauth/dingtalk.svg.js.map +1 -0
- package/dist/assets/oauth/gitee.svg.js +5 -0
- package/dist/assets/oauth/gitee.svg.js.map +1 -0
- package/dist/assets/oauth/github.svg.js +5 -0
- package/dist/assets/oauth/github.svg.js.map +1 -0
- package/dist/assets/oauth/qq.svg.js +5 -0
- package/dist/assets/oauth/qq.svg.js.map +1 -0
- package/dist/assets/oauth/wechat.svg.js +5 -0
- package/dist/assets/oauth/wechat.svg.js.map +1 -0
- package/dist/assets/oauth/wecom.svg.js +5 -0
- package/dist/assets/oauth/wecom.svg.js.map +1 -0
- package/dist/assets/svg/star.svg.js +6 -0
- package/dist/assets/svg/star.svg.js.map +1 -0
- package/dist/components/ApiSelect/index.vue.d.ts +22 -0
- package/dist/components/ApiSelect/index.vue.js +50 -0
- package/dist/components/ApiSelect/index.vue.js.map +1 -0
- package/dist/components/ApiSelect/index2.vue.js +5 -0
- package/dist/components/ApiSelect/index2.vue.js.map +1 -0
- package/dist/components/AppIcon.vue.d.ts +7 -0
- package/dist/components/AppIcon.vue.js +33 -0
- package/dist/components/AppIcon.vue.js.map +1 -0
- package/dist/components/AppIcon2.vue.js +5 -0
- package/dist/components/AppIcon2.vue.js.map +1 -0
- package/dist/components/Chart/BarChart.vue.d.ts +13 -0
- package/dist/components/Chart/BarChart.vue.js +27 -0
- package/dist/components/Chart/BarChart.vue.js.map +1 -0
- package/dist/components/Chart/BarChart2.vue.js +5 -0
- package/dist/components/Chart/BarChart2.vue.js.map +1 -0
- package/dist/components/Chart/LineChart.vue.d.ts +15 -0
- package/dist/components/Chart/LineChart.vue.js +33 -0
- package/dist/components/Chart/LineChart.vue.js.map +1 -0
- package/dist/components/Chart/LineChart2.vue.js +5 -0
- package/dist/components/Chart/LineChart2.vue.js.map +1 -0
- package/dist/components/Chart/PieChart.vue.d.ts +14 -0
- package/dist/components/Chart/PieChart.vue.js +31 -0
- package/dist/components/Chart/PieChart.vue.js.map +1 -0
- package/dist/components/Chart/PieChart2.vue.js +5 -0
- package/dist/components/Chart/PieChart2.vue.js.map +1 -0
- package/dist/components/Chart/echarts.d.ts +57 -0
- package/dist/components/Chart/echarts.js +47 -0
- package/dist/components/Chart/echarts.js.map +1 -0
- package/dist/components/Chart/index.vue.d.ts +12 -0
- package/dist/components/Chart/index.vue.js +8 -0
- package/dist/components/Chart/index.vue.js.map +1 -0
- package/dist/components/Chart/index2.vue.js +27 -0
- package/dist/components/Chart/index2.vue.js.map +1 -0
- package/dist/components/CodeBlock/index.vue.d.ts +17 -0
- package/dist/components/CodeBlock/index.vue.js +8 -0
- package/dist/components/CodeBlock/index.vue.js.map +1 -0
- package/dist/components/CodeBlock/index2.vue.js +48 -0
- package/dist/components/CodeBlock/index2.vue.js.map +1 -0
- package/dist/components/CronEditor/index.vue.d.ts +15 -0
- package/dist/components/CronEditor/index.vue.js +8 -0
- package/dist/components/CronEditor/index.vue.js.map +1 -0
- package/dist/components/CronEditor/index2.vue.js +528 -0
- package/dist/components/CronEditor/index2.vue.js.map +1 -0
- package/dist/components/DetailPage/index.vue.d.ts +26 -0
- package/dist/components/DetailPage/index.vue.js +8 -0
- package/dist/components/DetailPage/index.vue.js.map +1 -0
- package/dist/components/DetailPage/index2.vue.js +51 -0
- package/dist/components/DetailPage/index2.vue.js.map +1 -0
- package/dist/components/DictCheckbox/index.vue.d.ts +6 -0
- package/dist/components/DictCheckbox/index.vue.js +43 -0
- package/dist/components/DictCheckbox/index.vue.js.map +1 -0
- package/dist/components/DictCheckbox/index2.vue.js +5 -0
- package/dist/components/DictCheckbox/index2.vue.js.map +1 -0
- package/dist/components/DictRadio/index.vue.d.ts +6 -0
- package/dist/components/DictRadio/index.vue.js +38 -0
- package/dist/components/DictRadio/index.vue.js.map +1 -0
- package/dist/components/DictRadio/index2.vue.js +5 -0
- package/dist/components/DictRadio/index2.vue.js.map +1 -0
- package/dist/components/DictSelect/index.vue.d.ts +6 -0
- package/dist/components/DictSelect/index.vue.js +37 -0
- package/dist/components/DictSelect/index.vue.js.map +1 -0
- package/dist/components/DictSelect/index2.vue.js +5 -0
- package/dist/components/DictSelect/index2.vue.js.map +1 -0
- package/dist/components/DictTag/index.vue.d.ts +10 -0
- package/dist/components/DictTag/index.vue.js +48 -0
- package/dist/components/DictTag/index.vue.js.map +1 -0
- package/dist/components/DictTag/index2.vue.js +5 -0
- package/dist/components/DictTag/index2.vue.js.map +1 -0
- package/dist/components/ErrorBoundary/index.vue.d.ts +13 -0
- package/dist/components/ErrorBoundary/index.vue.js +8 -0
- package/dist/components/ErrorBoundary/index.vue.js.map +1 -0
- package/dist/components/ErrorBoundary/index2.vue.js +61 -0
- package/dist/components/ErrorBoundary/index2.vue.js.map +1 -0
- package/dist/components/ExportColumnsModal/index.vue.d.ts +19 -0
- package/dist/components/ExportColumnsModal/index.vue.js +8 -0
- package/dist/components/ExportColumnsModal/index.vue.js.map +1 -0
- package/dist/components/ExportColumnsModal/index2.vue.js +121 -0
- package/dist/components/ExportColumnsModal/index2.vue.js.map +1 -0
- package/dist/components/FileUpload/index.vue.d.ts +24 -0
- package/dist/components/FileUpload/index.vue.js +42 -0
- package/dist/components/FileUpload/index.vue.js.map +1 -0
- package/dist/components/FileUpload/index2.vue.js +5 -0
- package/dist/components/FileUpload/index2.vue.js.map +1 -0
- package/dist/components/FormContainer/index.vue.d.ts +51 -0
- package/dist/components/FormContainer/index.vue.js +160 -0
- package/dist/components/FormContainer/index.vue.js.map +1 -0
- package/dist/components/FormContainer/index3.vue.js +6 -0
- package/dist/components/FormContainer/index3.vue.js.map +1 -0
- package/dist/components/IconPicker/index.vue.d.ts +18 -0
- package/dist/components/IconPicker/index.vue.js +43 -0
- package/dist/components/IconPicker/index.vue.js.map +1 -0
- package/dist/components/IconPicker/index2.vue.js +5 -0
- package/dist/components/IconPicker/index2.vue.js.map +1 -0
- package/dist/components/ImportWizard/index.vue.d.ts +39 -0
- package/dist/components/ImportWizard/index.vue.js +8 -0
- package/dist/components/ImportWizard/index.vue.js.map +1 -0
- package/dist/components/ImportWizard/index2.vue.js +634 -0
- package/dist/components/ImportWizard/index2.vue.js.map +1 -0
- package/dist/components/JsonEditor/index.vue.d.ts +12 -0
- package/dist/components/JsonEditor/index.vue.js +87 -0
- package/dist/components/JsonEditor/index.vue.js.map +1 -0
- package/dist/components/JsonEditor/index2.vue.js +5 -0
- package/dist/components/JsonEditor/index2.vue.js.map +1 -0
- package/dist/components/MarkdownEditor/MarkdownView.vue.d.ts +6 -0
- package/dist/components/MarkdownEditor/MarkdownView.vue.js +33 -0
- package/dist/components/MarkdownEditor/MarkdownView.vue.js.map +1 -0
- package/dist/components/MarkdownEditor/MarkdownView2.vue.js +5 -0
- package/dist/components/MarkdownEditor/MarkdownView2.vue.js.map +1 -0
- package/dist/components/MarkdownEditor/index.vue.d.ts +10 -0
- package/dist/components/MarkdownEditor/index.vue.js +35 -0
- package/dist/components/MarkdownEditor/index.vue.js.map +1 -0
- package/dist/components/MarkdownEditor/index2.vue.js +5 -0
- package/dist/components/MarkdownEditor/index2.vue.js.map +1 -0
- package/dist/components/MenuSearch.vue.d.ts +10 -0
- package/dist/components/MenuSearch.vue.js +8 -0
- package/dist/components/MenuSearch.vue.js.map +1 -0
- package/dist/components/MenuSearch2.vue.js +121 -0
- package/dist/components/MenuSearch2.vue.js.map +1 -0
- package/dist/components/OrgTreeSelect/index.vue.d.ts +6 -0
- package/dist/components/OrgTreeSelect/index.vue.js +42 -0
- package/dist/components/OrgTreeSelect/index.vue.js.map +1 -0
- package/dist/components/OrgTreeSelect/index2.vue.js +5 -0
- package/dist/components/OrgTreeSelect/index2.vue.js.map +1 -0
- package/dist/components/PasswordStrength/index.vue.d.ts +6 -0
- package/dist/components/PasswordStrength/index.vue.js +8 -0
- package/dist/components/PasswordStrength/index.vue.js.map +1 -0
- package/dist/components/PasswordStrength/index2.vue.js +91 -0
- package/dist/components/PasswordStrength/index2.vue.js.map +1 -0
- package/dist/components/ReauthModal.vue.d.ts +3 -0
- package/dist/components/ReauthModal.vue.js +8 -0
- package/dist/components/ReauthModal.vue.js.map +1 -0
- package/dist/components/ReauthModal2.vue.js +139 -0
- package/dist/components/ReauthModal2.vue.js.map +1 -0
- package/dist/components/RoleSelect/index.vue.d.ts +8 -0
- package/dist/components/RoleSelect/index.vue.js +26 -0
- package/dist/components/RoleSelect/index.vue.js.map +1 -0
- package/dist/components/RoleSelect/index2.vue.js +5 -0
- package/dist/components/RoleSelect/index2.vue.js.map +1 -0
- package/dist/components/SelectTable/index.vue.d.ts +76 -0
- package/dist/components/SelectTable/index.vue.js +8 -0
- package/dist/components/SelectTable/index.vue.js.map +1 -0
- package/dist/components/SelectTable/index2.vue.js +256 -0
- package/dist/components/SelectTable/index2.vue.js.map +1 -0
- package/dist/components/SmartLogo.vue.d.ts +8 -0
- package/dist/components/SmartLogo.vue.js +8 -0
- package/dist/components/SmartLogo.vue.js.map +1 -0
- package/dist/components/SmartLogo2.vue.js +74 -0
- package/dist/components/SmartLogo2.vue.js.map +1 -0
- package/dist/components/StatusSwitch/index.vue.d.ts +21 -0
- package/dist/components/StatusSwitch/index.vue.js +45 -0
- package/dist/components/StatusSwitch/index.vue.js.map +1 -0
- package/dist/components/StatusSwitch/index2.vue.js +5 -0
- package/dist/components/StatusSwitch/index2.vue.js.map +1 -0
- package/dist/components/TableZoomButton/index.vue.d.ts +13 -0
- package/dist/components/TableZoomButton/index.vue.js +42 -0
- package/dist/components/TableZoomButton/index.vue.js.map +1 -0
- package/dist/components/TableZoomButton/index2.vue.js +5 -0
- package/dist/components/TableZoomButton/index2.vue.js.map +1 -0
- package/dist/components/UserPicker/index.vue.d.ts +13 -0
- package/dist/components/UserPicker/index.vue.js +8 -0
- package/dist/components/UserPicker/index.vue.js.map +1 -0
- package/dist/components/UserPicker/index2.vue.js +214 -0
- package/dist/components/UserPicker/index2.vue.js.map +1 -0
- package/dist/components/UserSelect/index.vue.d.ts +9 -0
- package/dist/components/UserSelect/index.vue.js +32 -0
- package/dist/components/UserSelect/index.vue.js.map +1 -0
- package/dist/components/UserSelect/index2.vue.js +5 -0
- package/dist/components/UserSelect/index2.vue.js.map +1 -0
- package/dist/components/oauth/BrandIcon.vue.d.ts +12 -0
- package/dist/components/oauth/BrandIcon.vue.js +8 -0
- package/dist/components/oauth/BrandIcon.vue.js.map +1 -0
- package/dist/components/oauth/BrandIcon2.vue.js +95 -0
- package/dist/components/oauth/BrandIcon2.vue.js.map +1 -0
- package/dist/composables/authMenuRoute.d.ts +32 -0
- package/dist/composables/authMenuRoute.js +37 -0
- package/dist/composables/authMenuRoute.js.map +1 -0
- package/dist/composables/clearClientCache.d.ts +10 -0
- package/dist/composables/clearClientCache.js +17 -0
- package/dist/composables/clearClientCache.js.map +1 -0
- package/dist/composables/useAuthMenu.d.ts +3 -0
- package/dist/composables/useAuthMenu.js +61 -0
- package/dist/composables/useAuthMenu.js.map +1 -0
- package/dist/composables/useBatchDelete.d.ts +18 -0
- package/dist/composables/useBatchDelete.js +21 -0
- package/dist/composables/useBatchDelete.js.map +1 -0
- package/dist/composables/useCompactScreen.d.ts +12 -0
- package/dist/composables/useCompactScreen.js +17 -0
- package/dist/composables/useCompactScreen.js.map +1 -0
- package/dist/composables/useConfirm.d.ts +18 -0
- package/dist/composables/useConfirm.js +61 -0
- package/dist/composables/useConfirm.js.map +1 -0
- package/dist/composables/useFullscreenToggle.d.ts +11 -0
- package/dist/composables/useFullscreenToggle.js +64 -0
- package/dist/composables/useFullscreenToggle.js.map +1 -0
- package/dist/composables/useHeaderTools.d.ts +31 -0
- package/dist/composables/useHeaderTools.js +15 -0
- package/dist/composables/useHeaderTools.js.map +1 -0
- package/dist/composables/useLayoutMenu.d.ts +17 -0
- package/dist/composables/useLayoutMenu.js +93 -0
- package/dist/composables/useLayoutMenu.js.map +1 -0
- package/dist/composables/useMenuBadge.d.ts +11 -0
- package/dist/composables/useMenuBadge.js +17 -0
- package/dist/composables/useMenuBadge.js.map +1 -0
- package/dist/composables/useMenuFlat.d.ts +8 -0
- package/dist/composables/useMenuFlat.js +29 -0
- package/dist/composables/useMenuFlat.js.map +1 -0
- package/dist/composables/useModule.d.ts +16 -0
- package/dist/composables/useModule.js +44 -0
- package/dist/composables/useModule.js.map +1 -0
- package/dist/composables/useNoticeAction.d.ts +8 -0
- package/dist/composables/useNoticeAction.js +79 -0
- package/dist/composables/useNoticeAction.js.map +1 -0
- package/dist/composables/usePageTitle.d.ts +1 -0
- package/dist/composables/usePageTitle.js +20 -0
- package/dist/composables/usePageTitle.js.map +1 -0
- package/dist/composables/useRealtime.d.ts +31 -0
- package/dist/composables/useRealtime.js +59 -0
- package/dist/composables/useRealtime.js.map +1 -0
- package/dist/composables/useSite.d.ts +24 -0
- package/dist/composables/useSite.js +27 -0
- package/dist/composables/useSite.js.map +1 -0
- package/dist/composables/useTabTitle.d.ts +1 -0
- package/dist/composables/useTabTitle.js +10 -0
- package/dist/composables/useTabTitle.js.map +1 -0
- package/dist/composables/useTableRowSort.d.ts +20 -0
- package/dist/composables/useTableRowSort.js +59 -0
- package/dist/composables/useTableRowSort.js.map +1 -0
- package/dist/composables/useTableZoom.d.ts +5 -0
- package/dist/composables/useTableZoom.js +30 -0
- package/dist/composables/useTableZoom.js.map +1 -0
- package/dist/composables/useTheme.d.ts +13 -0
- package/dist/composables/useTheme.js +30 -0
- package/dist/composables/useTheme.js.map +1 -0
- package/dist/composables/useVisualViewportHeight.d.ts +3 -0
- package/dist/composables/useVisualViewportHeight.js +16 -0
- package/dist/composables/useVisualViewportHeight.js.map +1 -0
- package/dist/createSmartAdmin.d.ts +56 -0
- package/dist/createSmartAdmin.js +76 -0
- package/dist/createSmartAdmin.js.map +1 -0
- package/dist/directives/auth.d.ts +16 -0
- package/dist/directives/auth.js +19 -0
- package/dist/directives/auth.js.map +1 -0
- package/dist/env.d.ts +10 -0
- package/dist/index.d.ts +90 -0
- package/dist/index.js +273 -0
- package/dist/index.js.map +1 -0
- package/dist/layouts/AppHeader.vue.d.ts +12 -0
- package/dist/layouts/AppHeader.vue.js +8 -0
- package/dist/layouts/AppHeader.vue.js.map +1 -0
- package/dist/layouts/AppHeader2.vue.js +352 -0
- package/dist/layouts/AppHeader2.vue.js.map +1 -0
- package/dist/layouts/LayoutModeCards.vue.d.ts +3 -0
- package/dist/layouts/LayoutModeCards.vue.js +8 -0
- package/dist/layouts/LayoutModeCards.vue.js.map +1 -0
- package/dist/layouts/LayoutModeCards2.vue.js +67 -0
- package/dist/layouts/LayoutModeCards2.vue.js.map +1 -0
- package/dist/layouts/NoticeBell.vue.d.ts +3 -0
- package/dist/layouts/NoticeBell.vue.js +8 -0
- package/dist/layouts/NoticeBell.vue.js.map +1 -0
- package/dist/layouts/NoticeBell2.vue.js +292 -0
- package/dist/layouts/NoticeBell2.vue.js.map +1 -0
- package/dist/layouts/PersonalLayout.vue.d.ts +3 -0
- package/dist/layouts/PersonalLayout.vue.js +8 -0
- package/dist/layouts/PersonalLayout.vue.js.map +1 -0
- package/dist/layouts/PersonalLayout2.vue.js +65 -0
- package/dist/layouts/PersonalLayout2.vue.js.map +1 -0
- package/dist/layouts/SettingRow.vue.d.ts +16 -0
- package/dist/layouts/SettingRow.vue.js +8 -0
- package/dist/layouts/SettingRow.vue.js.map +1 -0
- package/dist/layouts/SettingRow2.vue.js +23 -0
- package/dist/layouts/SettingRow2.vue.js.map +1 -0
- package/dist/layouts/SettingsDrawer.vue.d.ts +10 -0
- package/dist/layouts/SettingsDrawer.vue.js +8 -0
- package/dist/layouts/SettingsDrawer.vue.js.map +1 -0
- package/dist/layouts/SettingsDrawer2.vue.js +380 -0
- package/dist/layouts/SettingsDrawer2.vue.js.map +1 -0
- package/dist/layouts/TabsBar.vue.d.ts +3 -0
- package/dist/layouts/TabsBar.vue.js +8 -0
- package/dist/layouts/TabsBar.vue.js.map +1 -0
- package/dist/layouts/TabsBar2.vue.js +132 -0
- package/dist/layouts/TabsBar2.vue.js.map +1 -0
- package/dist/layouts/components/SideNav.vue.d.ts +15 -0
- package/dist/layouts/components/SideNav.vue.js +8 -0
- package/dist/layouts/components/SideNav.vue.js.map +1 -0
- package/dist/layouts/components/SideNav2.vue.js +49 -0
- package/dist/layouts/components/SideNav2.vue.js.map +1 -0
- package/dist/layouts/default.vue.d.ts +3 -0
- package/dist/layouts/default.vue.js +8 -0
- package/dist/layouts/default.vue.js.map +1 -0
- package/dist/layouts/default2.vue.js +213 -0
- package/dist/layouts/default2.vue.js.map +1 -0
- package/dist/lib/chunkReload.d.ts +9 -0
- package/dist/lib/chunkReload.js +24 -0
- package/dist/lib/chunkReload.js.map +1 -0
- package/dist/lib/icons.d.ts +2 -0
- package/dist/lib/icons.js +39 -0
- package/dist/lib/icons.js.map +1 -0
- package/dist/lib/loadingBar.d.ts +7 -0
- package/dist/lib/loadingBar.js +18 -0
- package/dist/lib/loadingBar.js.map +1 -0
- package/dist/lib/markdown.d.ts +8 -0
- package/dist/lib/markdown.js +16 -0
- package/dist/lib/markdown.js.map +1 -0
- package/dist/lib/markdownLinks.d.ts +26 -0
- package/dist/lib/markdownLinks.js +21 -0
- package/dist/lib/markdownLinks.js.map +1 -0
- package/dist/lib/noticeActions.d.ts +13 -0
- package/dist/lib/noticeActions.js +16 -0
- package/dist/lib/noticeActions.js.map +1 -0
- package/dist/lib/runtime.d.ts +21 -0
- package/dist/lib/runtime.js +13 -0
- package/dist/lib/runtime.js.map +1 -0
- package/dist/locales/en-US.d.ts +1358 -0
- package/dist/locales/en-US.js +1362 -0
- package/dist/locales/en-US.js.map +1 -0
- package/dist/locales/index.d.ts +30 -0
- package/dist/locales/index.js +46 -0
- package/dist/locales/index.js.map +1 -0
- package/dist/locales/menuTitle.d.ts +8 -0
- package/dist/locales/menuTitle.js +19 -0
- package/dist/locales/menuTitle.js.map +1 -0
- package/dist/locales/zh-CN.d.ts +1358 -0
- package/dist/locales/zh-CN.js +1368 -0
- package/dist/locales/zh-CN.js.map +1 -0
- package/dist/router/bootFailure.d.ts +8 -0
- package/dist/router/bootFailure.js +11 -0
- package/dist/router/bootFailure.js.map +1 -0
- package/dist/router/detailRoutes.d.ts +2 -0
- package/dist/router/detailRoutes.js +19 -0
- package/dist/router/detailRoutes.js.map +1 -0
- package/dist/router/index.d.ts +3 -0
- package/dist/router/index.js +58 -0
- package/dist/router/index.js.map +1 -0
- package/dist/router/namedPage.d.ts +13 -0
- package/dist/router/namedPage.js +12 -0
- package/dist/router/namedPage.js.map +1 -0
- package/dist/router/routes.d.ts +2 -0
- package/dist/router/routes.js +121 -0
- package/dist/router/routes.js.map +1 -0
- package/dist/router/viewRegistry.d.ts +18 -0
- package/dist/router/viewRegistry.js +26 -0
- package/dist/router/viewRegistry.js.map +1 -0
- package/dist/stores/app.d.ts +83 -0
- package/dist/stores/app.js +82 -0
- package/dist/stores/app.js.map +1 -0
- package/dist/stores/auth.d.ts +106 -0
- package/dist/stores/auth.js +59 -0
- package/dist/stores/auth.js.map +1 -0
- package/dist/stores/dict.d.ts +11 -0
- package/dist/stores/dict.js +36 -0
- package/dist/stores/dict.js.map +1 -0
- package/dist/stores/tabs.d.ts +53 -0
- package/dist/stores/tabs.js +88 -0
- package/dist/stores/tabs.js.map +1 -0
- package/dist/stores/user.d.ts +64 -0
- package/dist/stores/user.js +64 -0
- package/dist/stores/user.js.map +1 -0
- package/dist/style.css +1 -0
- package/dist/theme/accents.d.ts +2 -0
- package/dist/theme/accents.js +5 -0
- package/dist/theme/accents.js.map +1 -0
- package/dist/theme/mix.d.ts +26 -0
- package/dist/theme/mix.js +43 -0
- package/dist/theme/mix.js.map +1 -0
- package/dist/theme/naive-theme.d.ts +9 -0
- package/dist/theme/naive-theme.js +89 -0
- package/dist/theme/naive-theme.js.map +1 -0
- package/dist/types/api.d.ts +714 -0
- package/dist/types/api.js +15 -0
- package/dist/types/api.js.map +1 -0
- package/dist/types/menu.d.ts +67 -0
- package/dist/types/menu.js +26 -0
- package/dist/types/menu.js.map +1 -0
- package/dist/utils/chunkUpload.d.ts +6 -0
- package/dist/utils/chunkUpload.js +35 -0
- package/dist/utils/chunkUpload.js.map +1 -0
- package/dist/utils/download.d.ts +8 -0
- package/dist/utils/download.js +8 -0
- package/dist/utils/download.js.map +1 -0
- package/dist/utils/error.d.ts +14 -0
- package/dist/utils/error.js +50 -0
- package/dist/utils/error.js.map +1 -0
- package/dist/utils/format.d.ts +20 -0
- package/dist/utils/format.js +19 -0
- package/dist/utils/format.js.map +1 -0
- package/dist/utils/importDup.d.ts +17 -0
- package/dist/utils/importDup.js +18 -0
- package/dist/utils/importDup.js.map +1 -0
- package/dist/utils/oauthBrand.d.ts +100 -0
- package/dist/utils/oauthBrand.js +97 -0
- package/dist/utils/oauthBrand.js.map +1 -0
- package/dist/utils/tree.d.ts +33 -0
- package/dist/utils/tree.js +47 -0
- package/dist/utils/tree.js.map +1 -0
- package/dist/utils/ua.d.ts +7 -0
- package/dist/utils/ua.js +33 -0
- package/dist/utils/ua.js.map +1 -0
- package/dist/utils/url.d.ts +16 -0
- package/dist/utils/url.js +13 -0
- package/dist/utils/url.js.map +1 -0
- package/dist/views/dashboard/biz.vue.d.ts +3 -0
- package/dist/views/dashboard/biz.vue.js +8 -0
- package/dist/views/dashboard/biz.vue.js.map +1 -0
- package/dist/views/dashboard/biz2.vue.js +136 -0
- package/dist/views/dashboard/biz2.vue.js.map +1 -0
- package/dist/views/dashboard/workbench.vue.d.ts +3 -0
- package/dist/views/dashboard/workbench.vue.js +8 -0
- package/dist/views/dashboard/workbench.vue.js.map +1 -0
- package/dist/views/dashboard/workbench2.vue.js +195 -0
- package/dist/views/dashboard/workbench2.vue.js.map +1 -0
- package/dist/views/embed/iframe.vue.d.ts +3 -0
- package/dist/views/embed/iframe.vue.js +8 -0
- package/dist/views/embed/iframe.vue.js.map +1 -0
- package/dist/views/embed/iframe2.vue.js +21 -0
- package/dist/views/embed/iframe2.vue.js.map +1 -0
- package/dist/views/error/404.vue.d.ts +3 -0
- package/dist/views/error/404.vue.js +8 -0
- package/dist/views/error/404.vue.js.map +1 -0
- package/dist/views/error/4042.vue.js +31 -0
- package/dist/views/error/4042.vue.js.map +1 -0
- package/dist/views/error/BootError.vue.d.ts +3 -0
- package/dist/views/error/BootError.vue.js +8 -0
- package/dist/views/error/BootError.vue.js.map +1 -0
- package/dist/views/error/BootError2.vue.js +57 -0
- package/dist/views/error/BootError2.vue.js.map +1 -0
- package/dist/views/error/MissingRoute.vue.d.ts +3 -0
- package/dist/views/error/MissingRoute.vue.js +8 -0
- package/dist/views/error/MissingRoute.vue.js.map +1 -0
- package/dist/views/error/MissingRoute2.vue.js +23 -0
- package/dist/views/error/MissingRoute2.vue.js.map +1 -0
- package/dist/views/login/LoginForm.vue.d.ts +12 -0
- package/dist/views/login/LoginForm.vue.js +8 -0
- package/dist/views/login/LoginForm.vue.js.map +1 -0
- package/dist/views/login/LoginForm2.vue.js +642 -0
- package/dist/views/login/LoginForm2.vue.js.map +1 -0
- package/dist/views/login/index.vue.d.ts +3 -0
- package/dist/views/login/index.vue.js +8 -0
- package/dist/views/login/index.vue.js.map +1 -0
- package/dist/views/login/index2.vue.js +79 -0
- package/dist/views/login/index2.vue.js.map +1 -0
- package/dist/views/login/skins/AuroraGlass.vue.d.ts +3 -0
- package/dist/views/login/skins/AuroraGlass.vue.js +8 -0
- package/dist/views/login/skins/AuroraGlass.vue.js.map +1 -0
- package/dist/views/login/skins/AuroraGlass2.vue.js +80 -0
- package/dist/views/login/skins/AuroraGlass2.vue.js.map +1 -0
- package/dist/views/login/skins/SplitPanel.vue.d.ts +3 -0
- package/dist/views/login/skins/SplitPanel.vue.js +8 -0
- package/dist/views/login/skins/SplitPanel.vue.js.map +1 -0
- package/dist/views/login/skins/SplitPanel2.vue.js +85 -0
- package/dist/views/login/skins/SplitPanel2.vue.js.map +1 -0
- package/dist/views/login/skins/Spotlight.vue.d.ts +3 -0
- package/dist/views/login/skins/Spotlight.vue.js +8 -0
- package/dist/views/login/skins/Spotlight.vue.js.map +1 -0
- package/dist/views/login/skins/Spotlight2.vue.js +36 -0
- package/dist/views/login/skins/Spotlight2.vue.js.map +1 -0
- package/dist/views/login/skins.d.ts +8 -0
- package/dist/views/login/skins.js +13 -0
- package/dist/views/login/skins.js.map +1 -0
- package/dist/views/mfa/bindComplete.d.ts +7 -0
- package/dist/views/mfa/bindComplete.js +8 -0
- package/dist/views/mfa/bindComplete.js.map +1 -0
- package/dist/views/mfa/index.vue.d.ts +3 -0
- package/dist/views/mfa/index.vue.js +8 -0
- package/dist/views/mfa/index.vue.js.map +1 -0
- package/dist/views/mfa/index2.vue.js +425 -0
- package/dist/views/mfa/index2.vue.js.map +1 -0
- package/dist/views/module/index.vue.d.ts +3 -0
- package/dist/views/module/index.vue.js +8 -0
- package/dist/views/module/index.vue.js.map +1 -0
- package/dist/views/module/index2.vue.js +142 -0
- package/dist/views/module/index2.vue.js.map +1 -0
- package/dist/views/oauth/callback.vue.d.ts +3 -0
- package/dist/views/oauth/callback.vue.js +8 -0
- package/dist/views/oauth/callback.vue.js.map +1 -0
- package/dist/views/oauth/callback2.vue.js +86 -0
- package/dist/views/oauth/callback2.vue.js.map +1 -0
- package/dist/views/personal/bindings.vue.d.ts +3 -0
- package/dist/views/personal/bindings.vue.js +8 -0
- package/dist/views/personal/bindings.vue.js.map +1 -0
- package/dist/views/personal/bindings2.vue.js +220 -0
- package/dist/views/personal/bindings2.vue.js.map +1 -0
- package/dist/views/personal/notice.vue.d.ts +3 -0
- package/dist/views/personal/notice.vue.js +5 -0
- package/dist/views/personal/notice.vue.js.map +1 -0
- package/dist/views/personal/notice2.vue.js +163 -0
- package/dist/views/personal/notice2.vue.js.map +1 -0
- package/dist/views/personal/password.vue.d.ts +3 -0
- package/dist/views/personal/password.vue.js +5 -0
- package/dist/views/personal/password.vue.js.map +1 -0
- package/dist/views/personal/password2.vue.js +147 -0
- package/dist/views/personal/password2.vue.js.map +1 -0
- package/dist/views/personal/profile.vue.d.ts +3 -0
- package/dist/views/personal/profile.vue.js +8 -0
- package/dist/views/personal/profile.vue.js.map +1 -0
- package/dist/views/personal/profile2.vue.js +264 -0
- package/dist/views/personal/profile2.vue.js.map +1 -0
- package/dist/views/personal/security.vue.d.ts +3 -0
- package/dist/views/personal/security.vue.js +8 -0
- package/dist/views/personal/security.vue.js.map +1 -0
- package/dist/views/personal/security2.vue.js +82 -0
- package/dist/views/personal/security2.vue.js.map +1 -0
- package/dist/views/personal/sessions.vue.d.ts +3 -0
- package/dist/views/personal/sessions.vue.js +8 -0
- package/dist/views/personal/sessions.vue.js.map +1 -0
- package/dist/views/personal/sessions2.vue.js +101 -0
- package/dist/views/personal/sessions2.vue.js.map +1 -0
- package/dist/views/system/cache/index.vue.d.ts +3 -0
- package/dist/views/system/cache/index.vue.js +8 -0
- package/dist/views/system/cache/index.vue.js.map +1 -0
- package/dist/views/system/cache/index2.vue.js +113 -0
- package/dist/views/system/cache/index2.vue.js.map +1 -0
- package/dist/views/system/config/components/ConfigFormModal.vue.d.ts +16 -0
- package/dist/views/system/config/components/ConfigFormModal.vue.js +5 -0
- package/dist/views/system/config/components/ConfigFormModal.vue.js.map +1 -0
- package/dist/views/system/config/components/ConfigFormModal2.vue.js +177 -0
- package/dist/views/system/config/components/ConfigFormModal2.vue.js.map +1 -0
- package/dist/views/system/config/components/ExternalAuthConfig.vue.d.ts +3 -0
- package/dist/views/system/config/components/ExternalAuthConfig.vue.js +8 -0
- package/dist/views/system/config/components/ExternalAuthConfig.vue.js.map +1 -0
- package/dist/views/system/config/components/ExternalAuthConfig2.vue.js +218 -0
- package/dist/views/system/config/components/ExternalAuthConfig2.vue.js.map +1 -0
- package/dist/views/system/config/components/GroupExtraConfig.vue.d.ts +9 -0
- package/dist/views/system/config/components/GroupExtraConfig.vue.js +8 -0
- package/dist/views/system/config/components/GroupExtraConfig.vue.js.map +1 -0
- package/dist/views/system/config/components/GroupExtraConfig2.vue.js +108 -0
- package/dist/views/system/config/components/GroupExtraConfig2.vue.js.map +1 -0
- package/dist/views/system/config/components/HighSensConfig.vue.d.ts +3 -0
- package/dist/views/system/config/components/HighSensConfig.vue.js +5 -0
- package/dist/views/system/config/components/HighSensConfig.vue.js.map +1 -0
- package/dist/views/system/config/components/HighSensConfig2.vue.js +134 -0
- package/dist/views/system/config/components/HighSensConfig2.vue.js.map +1 -0
- package/dist/views/system/config/components/JobConfig.vue.d.ts +3 -0
- package/dist/views/system/config/components/JobConfig.vue.js +5 -0
- package/dist/views/system/config/components/JobConfig.vue.js.map +1 -0
- package/dist/views/system/config/components/JobConfig2.vue.js +116 -0
- package/dist/views/system/config/components/JobConfig2.vue.js.map +1 -0
- package/dist/views/system/config/components/OtherConfig.vue.d.ts +3 -0
- package/dist/views/system/config/components/OtherConfig.vue.js +5 -0
- package/dist/views/system/config/components/OtherConfig.vue.js.map +1 -0
- package/dist/views/system/config/components/OtherConfig2.vue.js +121 -0
- package/dist/views/system/config/components/OtherConfig2.vue.js.map +1 -0
- package/dist/views/system/config/components/SecurityConfig.vue.d.ts +3 -0
- package/dist/views/system/config/components/SecurityConfig.vue.js +8 -0
- package/dist/views/system/config/components/SecurityConfig.vue.js.map +1 -0
- package/dist/views/system/config/components/SecurityConfig2.vue.js +456 -0
- package/dist/views/system/config/components/SecurityConfig2.vue.js.map +1 -0
- package/dist/views/system/config/components/SysBaseConfig.vue.d.ts +3 -0
- package/dist/views/system/config/components/SysBaseConfig.vue.js +5 -0
- package/dist/views/system/config/components/SysBaseConfig.vue.js.map +1 -0
- package/dist/views/system/config/components/SysBaseConfig2.vue.js +107 -0
- package/dist/views/system/config/components/SysBaseConfig2.vue.js.map +1 -0
- package/dist/views/system/config/components/UploadConfig.vue.d.ts +3 -0
- package/dist/views/system/config/components/UploadConfig.vue.js +5 -0
- package/dist/views/system/config/components/UploadConfig.vue.js.map +1 -0
- package/dist/views/system/config/components/UploadConfig2.vue.js +135 -0
- package/dist/views/system/config/components/UploadConfig2.vue.js.map +1 -0
- package/dist/views/system/config/groups.d.ts +9 -0
- package/dist/views/system/config/groups.js +18 -0
- package/dist/views/system/config/groups.js.map +1 -0
- package/dist/views/system/config/index.vue.d.ts +3 -0
- package/dist/views/system/config/index.vue.js +5 -0
- package/dist/views/system/config/index.vue.js.map +1 -0
- package/dist/views/system/config/index2.vue.js +127 -0
- package/dist/views/system/config/index2.vue.js.map +1 -0
- package/dist/views/system/dict/index.vue.d.ts +3 -0
- package/dist/views/system/dict/index.vue.js +8 -0
- package/dist/views/system/dict/index.vue.js.map +1 -0
- package/dist/views/system/dict/index2.vue.js +560 -0
- package/dist/views/system/dict/index2.vue.js.map +1 -0
- package/dist/views/system/file/index.vue.d.ts +3 -0
- package/dist/views/system/file/index.vue.js +5 -0
- package/dist/views/system/file/index.vue.js.map +1 -0
- package/dist/views/system/file/index2.vue.js +186 -0
- package/dist/views/system/file/index2.vue.js.map +1 -0
- package/dist/views/system/job/index.vue.d.ts +3 -0
- package/dist/views/system/job/index.vue.js +8 -0
- package/dist/views/system/job/index.vue.js.map +1 -0
- package/dist/views/system/job/index2.vue.js +1167 -0
- package/dist/views/system/job/index2.vue.js.map +1 -0
- package/dist/views/system/job-log/index.vue.d.ts +3 -0
- package/dist/views/system/job-log/index.vue.js +8 -0
- package/dist/views/system/job-log/index.vue.js.map +1 -0
- package/dist/views/system/job-log/index2.vue.js +411 -0
- package/dist/views/system/job-log/index2.vue.js.map +1 -0
- package/dist/views/system/job-monitor/index.vue.d.ts +3 -0
- package/dist/views/system/job-monitor/index.vue.js +8 -0
- package/dist/views/system/job-monitor/index.vue.js.map +1 -0
- package/dist/views/system/job-monitor/index2.vue.js +253 -0
- package/dist/views/system/job-monitor/index2.vue.js.map +1 -0
- package/dist/views/system/log/exception/index.vue.d.ts +3 -0
- package/dist/views/system/log/exception/index.vue.js +8 -0
- package/dist/views/system/log/exception/index.vue.js.map +1 -0
- package/dist/views/system/log/exception/index2.vue.js +216 -0
- package/dist/views/system/log/exception/index2.vue.js.map +1 -0
- package/dist/views/system/log/login/index.vue.d.ts +3 -0
- package/dist/views/system/log/login/index.vue.js +5 -0
- package/dist/views/system/log/login/index.vue.js.map +1 -0
- package/dist/views/system/log/login/index2.vue.js +113 -0
- package/dist/views/system/log/login/index2.vue.js.map +1 -0
- package/dist/views/system/log/op/index.vue.d.ts +3 -0
- package/dist/views/system/log/op/index.vue.js +8 -0
- package/dist/views/system/log/op/index.vue.js.map +1 -0
- package/dist/views/system/log/op/index2.vue.js +332 -0
- package/dist/views/system/log/op/index2.vue.js.map +1 -0
- package/dist/views/system/menu/components/ButtonManager.vue.d.ts +21 -0
- package/dist/views/system/menu/components/ButtonManager.vue.js +8 -0
- package/dist/views/system/menu/components/ButtonManager.vue.js.map +1 -0
- package/dist/views/system/menu/components/ButtonManager2.vue.js +498 -0
- package/dist/views/system/menu/components/ButtonManager2.vue.js.map +1 -0
- package/dist/views/system/menu/components/MenuFormModal.vue.d.ts +22 -0
- package/dist/views/system/menu/components/MenuFormModal.vue.js +8 -0
- package/dist/views/system/menu/components/MenuFormModal.vue.js.map +1 -0
- package/dist/views/system/menu/components/MenuFormModal2.vue.js +259 -0
- package/dist/views/system/menu/components/MenuFormModal2.vue.js.map +1 -0
- package/dist/views/system/menu/index.vue.d.ts +3 -0
- package/dist/views/system/menu/index.vue.js +8 -0
- package/dist/views/system/menu/index.vue.js.map +1 -0
- package/dist/views/system/menu/index2.vue.js +391 -0
- package/dist/views/system/menu/index2.vue.js.map +1 -0
- package/dist/views/system/module/index.vue.d.ts +3 -0
- package/dist/views/system/module/index.vue.js +8 -0
- package/dist/views/system/module/index.vue.js.map +1 -0
- package/dist/views/system/module/index2.vue.js +344 -0
- package/dist/views/system/module/index2.vue.js.map +1 -0
- package/dist/views/system/monitor/index.vue.d.ts +3 -0
- package/dist/views/system/monitor/index.vue.js +8 -0
- package/dist/views/system/monitor/index.vue.js.map +1 -0
- package/dist/views/system/monitor/index2.vue.js +184 -0
- package/dist/views/system/monitor/index2.vue.js.map +1 -0
- package/dist/views/system/notice/index.vue.d.ts +3 -0
- package/dist/views/system/notice/index.vue.js +8 -0
- package/dist/views/system/notice/index.vue.js.map +1 -0
- package/dist/views/system/notice/index2.vue.js +401 -0
- package/dist/views/system/notice/index2.vue.js.map +1 -0
- package/dist/views/system/org/index.vue.d.ts +3 -0
- package/dist/views/system/org/index.vue.js +8 -0
- package/dist/views/system/org/index.vue.js.map +1 -0
- package/dist/views/system/org/index2.vue.js +397 -0
- package/dist/views/system/org/index2.vue.js.map +1 -0
- package/dist/views/system/position/index.vue.d.ts +3 -0
- package/dist/views/system/position/index.vue.js +5 -0
- package/dist/views/system/position/index.vue.js.map +1 -0
- package/dist/views/system/position/index2.vue.js +211 -0
- package/dist/views/system/position/index2.vue.js.map +1 -0
- package/dist/views/system/recycle/index.vue.d.ts +3 -0
- package/dist/views/system/recycle/index.vue.js +8 -0
- package/dist/views/system/recycle/index.vue.js.map +1 -0
- package/dist/views/system/recycle/index2.vue.js +121 -0
- package/dist/views/system/recycle/index2.vue.js.map +1 -0
- package/dist/views/system/role/components/GrantMenuTable.vue.d.ts +18 -0
- package/dist/views/system/role/components/GrantMenuTable.vue.js +8 -0
- package/dist/views/system/role/components/GrantMenuTable.vue.js.map +1 -0
- package/dist/views/system/role/components/GrantMenuTable2.vue.js +212 -0
- package/dist/views/system/role/components/GrantMenuTable2.vue.js.map +1 -0
- package/dist/views/system/role/components/grantMenuGroups.d.ts +31 -0
- package/dist/views/system/role/components/grantMenuGroups.js +76 -0
- package/dist/views/system/role/components/grantMenuGroups.js.map +1 -0
- package/dist/views/system/role/index.vue.d.ts +3 -0
- package/dist/views/system/role/index.vue.js +5 -0
- package/dist/views/system/role/index.vue.js.map +1 -0
- package/dist/views/system/role/index2.vue.js +476 -0
- package/dist/views/system/role/index2.vue.js.map +1 -0
- package/dist/views/system/session/index.vue.d.ts +3 -0
- package/dist/views/system/session/index.vue.js +5 -0
- package/dist/views/system/session/index.vue.js.map +1 -0
- package/dist/views/system/session/index2.vue.js +80 -0
- package/dist/views/system/session/index2.vue.js.map +1 -0
- package/dist/views/system/user/components/ResetPasswordModal.vue.d.ts +10 -0
- package/dist/views/system/user/components/ResetPasswordModal.vue.js +8 -0
- package/dist/views/system/user/components/ResetPasswordModal.vue.js.map +1 -0
- package/dist/views/system/user/components/ResetPasswordModal2.vue.js +111 -0
- package/dist/views/system/user/components/ResetPasswordModal2.vue.js.map +1 -0
- package/dist/views/system/user/components/UserFormModal.vue.d.ts +30 -0
- package/dist/views/system/user/components/UserFormModal.vue.js +8 -0
- package/dist/views/system/user/components/UserFormModal.vue.js.map +1 -0
- package/dist/views/system/user/components/UserFormModal2.vue.js +415 -0
- package/dist/views/system/user/components/UserFormModal2.vue.js.map +1 -0
- package/dist/views/system/user/index.vue.d.ts +3 -0
- package/dist/views/system/user/index.vue.js +8 -0
- package/dist/views/system/user/index.vue.js.map +1 -0
- package/dist/views/system/user/index2.vue.js +427 -0
- package/dist/views/system/user/index2.vue.js.map +1 -0
- package/package.json +99 -0
|
@@ -0,0 +1,528 @@
|
|
|
1
|
+
import { defineComponent as ee, reactive as x, computed as te, ref as S, watch as H, onMounted as ae, openBlock as m, createElementBlock as v, createVNode as r, unref as n, withCtx as d, Fragment as W, renderList as P, createElementVNode as c, createTextVNode as f, toDisplayString as i, createCommentVNode as j, createBlock as ne } from "vue";
|
|
2
|
+
import { NTabs as oe, NTabPane as B, NRadioGroup as se, NRadio as b, NInputNumber as h, NSelect as A, NInput as le, NAlert as re } from "naive-ui";
|
|
3
|
+
import { useI18n as ie } from "vue-i18n";
|
|
4
|
+
import { watchDebounced as ce } from "@vueuse/core";
|
|
5
|
+
import { jobApi as de } from "../../api/index.js";
|
|
6
|
+
import { translateError as ue } from "../../utils/error.js";
|
|
7
|
+
const me = { class: "cron-editor" }, pe = { class: "cron-row" }, ve = {
|
|
8
|
+
key: 0,
|
|
9
|
+
class: "cron-row"
|
|
10
|
+
}, fe = { class: "cron-row" }, ye = { class: "cron-sep" }, be = { class: "cron-row" }, _e = { class: "cron-sep" }, he = { class: "cron-sep" }, we = { class: "cron-row cron-row-list" }, ke = { class: "cron-row" }, xe = { class: "cron-sep" }, je = { class: "cron-row" }, Ue = { class: "cron-sep" }, Oe = { class: "cron-row" }, De = { class: "cron-row" }, We = { class: "cron-row" }, Ne = { class: "cron-sep" }, Se = { class: "cron-sep" }, ze = { class: "cron-hint" }, $e = {
|
|
11
|
+
key: 0,
|
|
12
|
+
class: "cron-preview"
|
|
13
|
+
}, Ee = {
|
|
14
|
+
key: 1,
|
|
15
|
+
class: "cron-preview-error"
|
|
16
|
+
}, Fe = { class: "cron-preview-row" }, Te = { class: "cron-preview-label" }, Ae = { class: "cron-code" }, Ce = { class: "cron-preview-row" }, Ie = { class: "cron-preview-label" }, Le = { class: "cron-occurrences" }, Ve = {
|
|
17
|
+
key: 1,
|
|
18
|
+
class: "cron-empty"
|
|
19
|
+
}, Je = /* @__PURE__ */ ee({
|
|
20
|
+
__name: "index",
|
|
21
|
+
props: {
|
|
22
|
+
modelValue: { default: "" },
|
|
23
|
+
previewCount: { default: 5 }
|
|
24
|
+
},
|
|
25
|
+
emits: ["update:modelValue"],
|
|
26
|
+
setup(C, { emit: G }) {
|
|
27
|
+
const z = C, J = G, { t: s } = ie();
|
|
28
|
+
function w(a, t, o) {
|
|
29
|
+
return {
|
|
30
|
+
mode: a,
|
|
31
|
+
rangeFrom: t,
|
|
32
|
+
rangeTo: o,
|
|
33
|
+
stepFrom: t,
|
|
34
|
+
stepSize: 1,
|
|
35
|
+
list: [],
|
|
36
|
+
lastOffset: 0,
|
|
37
|
+
nearestDay: 1,
|
|
38
|
+
lastDow: 5,
|
|
39
|
+
nthDow: 1,
|
|
40
|
+
nthIndex: 1
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
const u = {
|
|
44
|
+
second: x(w("list", 0, 59)),
|
|
45
|
+
minute: x(w("every", 0, 59)),
|
|
46
|
+
hour: x(w("every", 0, 23)),
|
|
47
|
+
day: x(w("every", 1, 31)),
|
|
48
|
+
month: x(w("every", 1, 12)),
|
|
49
|
+
week: x(w("any", 0, 6))
|
|
50
|
+
};
|
|
51
|
+
u.second.list = [0];
|
|
52
|
+
const U = (a, t) => Array.from({ length: t - a + 1 }, (o, e) => ({ label: String(a + e), value: a + e })), q = ["sun", "mon", "tue", "wed", "thu", "fri", "sat"], $ = te(() => q.map((a, t) => ({ label: s(`job.cron.${a}`), value: t }))), p = [
|
|
53
|
+
{
|
|
54
|
+
key: "second",
|
|
55
|
+
st: u.second,
|
|
56
|
+
min: 0,
|
|
57
|
+
max: 59,
|
|
58
|
+
tab: () => s("job.cron.tabSecond"),
|
|
59
|
+
listOptions: () => U(0, 59)
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
key: "minute",
|
|
63
|
+
st: u.minute,
|
|
64
|
+
min: 0,
|
|
65
|
+
max: 59,
|
|
66
|
+
tab: () => s("job.cron.tabMinute"),
|
|
67
|
+
listOptions: () => U(0, 59)
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
key: "hour",
|
|
71
|
+
st: u.hour,
|
|
72
|
+
min: 0,
|
|
73
|
+
max: 23,
|
|
74
|
+
tab: () => s("job.cron.tabHour"),
|
|
75
|
+
listOptions: () => U(0, 23)
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
key: "day",
|
|
79
|
+
st: u.day,
|
|
80
|
+
min: 1,
|
|
81
|
+
max: 31,
|
|
82
|
+
tab: () => s("job.cron.tabDay"),
|
|
83
|
+
listOptions: () => U(1, 31)
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
key: "month",
|
|
87
|
+
st: u.month,
|
|
88
|
+
min: 1,
|
|
89
|
+
max: 12,
|
|
90
|
+
tab: () => s("job.cron.tabMonth"),
|
|
91
|
+
listOptions: () => U(1, 12)
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
key: "week",
|
|
95
|
+
st: u.week,
|
|
96
|
+
min: 0,
|
|
97
|
+
max: 6,
|
|
98
|
+
tab: () => s("job.cron.tabWeek"),
|
|
99
|
+
listOptions: () => $.value
|
|
100
|
+
}
|
|
101
|
+
], I = S("second"), y = S(z.modelValue ?? "");
|
|
102
|
+
let O = !1;
|
|
103
|
+
const L = (a) => a !== "*" && a !== "?";
|
|
104
|
+
function E(a) {
|
|
105
|
+
const t = a.st;
|
|
106
|
+
switch (t.mode) {
|
|
107
|
+
case "any":
|
|
108
|
+
return "?";
|
|
109
|
+
case "range":
|
|
110
|
+
return `${t.rangeFrom}-${t.rangeTo}`;
|
|
111
|
+
case "step":
|
|
112
|
+
return `${t.stepFrom}/${t.stepSize}`;
|
|
113
|
+
case "list":
|
|
114
|
+
return t.list.length ? t.list.toSorted((o, e) => o - e).join(",") : "*";
|
|
115
|
+
case "last":
|
|
116
|
+
return t.lastOffset > 0 ? `L-${t.lastOffset}` : "L";
|
|
117
|
+
case "lastWeekday":
|
|
118
|
+
return "LW";
|
|
119
|
+
case "nearestWeekday":
|
|
120
|
+
return `${t.nearestDay}W`;
|
|
121
|
+
case "lastOfWeek":
|
|
122
|
+
return `${t.lastDow}L`;
|
|
123
|
+
case "nth":
|
|
124
|
+
return `${t.nthDow}#${t.nthIndex}`;
|
|
125
|
+
default:
|
|
126
|
+
return "*";
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
function Y(a) {
|
|
130
|
+
O = !0;
|
|
131
|
+
try {
|
|
132
|
+
a === "day" && L(E(p[3])) && u.week.mode !== "any" && (u.week.mode = "any"), a === "week" && L(E(p[5])) && u.day.mode !== "any" && (u.day.mode = "any");
|
|
133
|
+
} finally {
|
|
134
|
+
O = !1;
|
|
135
|
+
}
|
|
136
|
+
V(p.map(E).join(" "));
|
|
137
|
+
}
|
|
138
|
+
function V(a) {
|
|
139
|
+
a !== y.value && (y.value = a, J("update:modelValue", a));
|
|
140
|
+
}
|
|
141
|
+
const K = {
|
|
142
|
+
JAN: 1,
|
|
143
|
+
FEB: 2,
|
|
144
|
+
MAR: 3,
|
|
145
|
+
APR: 4,
|
|
146
|
+
MAY: 5,
|
|
147
|
+
JUN: 6,
|
|
148
|
+
JUL: 7,
|
|
149
|
+
AUG: 8,
|
|
150
|
+
SEP: 9,
|
|
151
|
+
OCT: 10,
|
|
152
|
+
NOV: 11,
|
|
153
|
+
DEC: 12
|
|
154
|
+
}, Z = { SUN: 0, MON: 1, TUE: 2, WED: 3, THU: 4, FRI: 5, SAT: 6 };
|
|
155
|
+
function M(a, t) {
|
|
156
|
+
return a.toUpperCase().replace(/[A-Z]{3}/g, (o) => o in t ? String(t[o]) : o);
|
|
157
|
+
}
|
|
158
|
+
function k(a, t) {
|
|
159
|
+
const o = t.st;
|
|
160
|
+
if (a === "*") {
|
|
161
|
+
o.mode = "every";
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
if (a === "?") {
|
|
165
|
+
o.mode = t.key === "day" || t.key === "week" ? "any" : "every";
|
|
166
|
+
return;
|
|
167
|
+
}
|
|
168
|
+
const e = (N) => t.key === "week" ? N % 7 : N;
|
|
169
|
+
let l = /^(\d+)-(\d+)$/.exec(a);
|
|
170
|
+
if (l) {
|
|
171
|
+
o.mode = "range", o.rangeFrom = e(+l[1]), o.rangeTo = e(+l[2]);
|
|
172
|
+
return;
|
|
173
|
+
}
|
|
174
|
+
if (l = /^(\d+|\*)\/(\d+)$/.exec(a), l) {
|
|
175
|
+
o.mode = "step", o.stepFrom = l[1] === "*" ? t.min : e(+l[1]), o.stepSize = +l[2];
|
|
176
|
+
return;
|
|
177
|
+
}
|
|
178
|
+
if (/^\d+(,\d+)*$/.test(a)) {
|
|
179
|
+
o.mode = "list", o.list = a.split(",").map((N) => e(+N));
|
|
180
|
+
return;
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
function Q(a) {
|
|
184
|
+
const t = u.day;
|
|
185
|
+
if (a === "L") {
|
|
186
|
+
t.mode = "last", t.lastOffset = 0;
|
|
187
|
+
return;
|
|
188
|
+
}
|
|
189
|
+
if (a === "LW") {
|
|
190
|
+
t.mode = "lastWeekday";
|
|
191
|
+
return;
|
|
192
|
+
}
|
|
193
|
+
let o = /^L-(\d+)$/.exec(a);
|
|
194
|
+
if (o) {
|
|
195
|
+
t.mode = "last", t.lastOffset = +o[1];
|
|
196
|
+
return;
|
|
197
|
+
}
|
|
198
|
+
if (o = /^(\d+)W$/.exec(a), o) {
|
|
199
|
+
t.mode = "nearestWeekday", t.nearestDay = +o[1];
|
|
200
|
+
return;
|
|
201
|
+
}
|
|
202
|
+
k(a, p[3]);
|
|
203
|
+
}
|
|
204
|
+
function X(a) {
|
|
205
|
+
const t = u.week, o = M(a, Z);
|
|
206
|
+
if (o === "L") {
|
|
207
|
+
t.mode = "list", t.list = [6];
|
|
208
|
+
return;
|
|
209
|
+
}
|
|
210
|
+
let e = /^(\d+)#(\d+)$/.exec(o);
|
|
211
|
+
if (e) {
|
|
212
|
+
t.mode = "nth", t.nthDow = +e[1] % 7, t.nthIndex = +e[2];
|
|
213
|
+
return;
|
|
214
|
+
}
|
|
215
|
+
if (e = /^(\d+)L$/.exec(o), e) {
|
|
216
|
+
t.mode = "lastOfWeek", t.lastDow = +e[1] % 7;
|
|
217
|
+
return;
|
|
218
|
+
}
|
|
219
|
+
k(o, p[5]);
|
|
220
|
+
}
|
|
221
|
+
function F(a) {
|
|
222
|
+
const t = a.trim().split(/\s+/).filter(Boolean);
|
|
223
|
+
if (t.length === 5 && t.unshift("0"), t.length === 6) {
|
|
224
|
+
O = !0;
|
|
225
|
+
try {
|
|
226
|
+
k(t[0], p[0]), k(t[1], p[1]), k(t[2], p[2]), Q(t[3].toUpperCase()), k(M(t[4], K), p[4]), X(t[5]);
|
|
227
|
+
} finally {
|
|
228
|
+
O = !1;
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
for (const a of p)
|
|
233
|
+
H(
|
|
234
|
+
a.st,
|
|
235
|
+
() => {
|
|
236
|
+
O || Y(a.key === "day" ? "day" : a.key === "week" ? "week" : void 0);
|
|
237
|
+
},
|
|
238
|
+
{ deep: !0, flush: "sync" }
|
|
239
|
+
);
|
|
240
|
+
H(
|
|
241
|
+
() => z.modelValue,
|
|
242
|
+
(a) => {
|
|
243
|
+
const t = a ?? "";
|
|
244
|
+
t !== y.value && (y.value = t, t.trim() && F(t));
|
|
245
|
+
}
|
|
246
|
+
);
|
|
247
|
+
function g(a) {
|
|
248
|
+
V(a), a.trim() && F(a);
|
|
249
|
+
}
|
|
250
|
+
y.value.trim() && F(y.value);
|
|
251
|
+
const _ = S(null), D = S("");
|
|
252
|
+
let T = 0;
|
|
253
|
+
async function R(a) {
|
|
254
|
+
const t = ++T;
|
|
255
|
+
if (!a.trim()) {
|
|
256
|
+
_.value = null, D.value = "";
|
|
257
|
+
return;
|
|
258
|
+
}
|
|
259
|
+
try {
|
|
260
|
+
const o = await de.previewCron({ cron: a, count: z.previewCount });
|
|
261
|
+
if (t !== T) return;
|
|
262
|
+
_.value = o, D.value = "";
|
|
263
|
+
} catch (o) {
|
|
264
|
+
if (t !== T) return;
|
|
265
|
+
_.value = null, D.value = ue(o);
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
return ce(y, (a) => void R(a), { debounce: 400 }), ae(() => void R(y.value)), (a, t) => {
|
|
269
|
+
var o;
|
|
270
|
+
return m(), v("div", me, [
|
|
271
|
+
r(n(oe), {
|
|
272
|
+
value: I.value,
|
|
273
|
+
"onUpdate:value": t[0] || (t[0] = (e) => I.value = e),
|
|
274
|
+
type: "line",
|
|
275
|
+
size: "small"
|
|
276
|
+
}, {
|
|
277
|
+
default: d(() => [
|
|
278
|
+
(m(), v(W, null, P(p, (e) => r(n(B), {
|
|
279
|
+
key: e.key,
|
|
280
|
+
name: e.key,
|
|
281
|
+
tab: e.tab()
|
|
282
|
+
}, {
|
|
283
|
+
default: d(() => [
|
|
284
|
+
r(n(se), {
|
|
285
|
+
value: e.st.mode,
|
|
286
|
+
class: "cron-rows",
|
|
287
|
+
"onUpdate:value": (l) => e.st.mode = l
|
|
288
|
+
}, {
|
|
289
|
+
default: d(() => [
|
|
290
|
+
c("div", pe, [
|
|
291
|
+
r(n(b), { value: "every" }, {
|
|
292
|
+
default: d(() => [
|
|
293
|
+
f(i(n(s)("job.cron.every")), 1)
|
|
294
|
+
]),
|
|
295
|
+
_: 1
|
|
296
|
+
})
|
|
297
|
+
]),
|
|
298
|
+
e.key === "day" || e.key === "week" ? (m(), v("div", ve, [
|
|
299
|
+
r(n(b), { value: "any" }, {
|
|
300
|
+
default: d(() => [
|
|
301
|
+
f(i(n(s)("job.cron.any")), 1)
|
|
302
|
+
]),
|
|
303
|
+
_: 1
|
|
304
|
+
})
|
|
305
|
+
])) : j("", !0),
|
|
306
|
+
c("div", fe, [
|
|
307
|
+
r(n(b), { value: "range" }, {
|
|
308
|
+
default: d(() => [
|
|
309
|
+
f(i(n(s)("job.cron.range")), 1)
|
|
310
|
+
]),
|
|
311
|
+
_: 1
|
|
312
|
+
}),
|
|
313
|
+
r(n(h), {
|
|
314
|
+
value: e.st.rangeFrom,
|
|
315
|
+
"onUpdate:value": (l) => e.st.rangeFrom = l,
|
|
316
|
+
min: e.min,
|
|
317
|
+
max: e.max,
|
|
318
|
+
size: "small",
|
|
319
|
+
class: "cron-num",
|
|
320
|
+
disabled: e.st.mode !== "range"
|
|
321
|
+
}, null, 8, ["value", "onUpdate:value", "min", "max", "disabled"]),
|
|
322
|
+
c("span", ye, i(n(s)("job.cron.to")), 1),
|
|
323
|
+
r(n(h), {
|
|
324
|
+
value: e.st.rangeTo,
|
|
325
|
+
"onUpdate:value": (l) => e.st.rangeTo = l,
|
|
326
|
+
min: e.min,
|
|
327
|
+
max: e.max,
|
|
328
|
+
size: "small",
|
|
329
|
+
class: "cron-num",
|
|
330
|
+
disabled: e.st.mode !== "range"
|
|
331
|
+
}, null, 8, ["value", "onUpdate:value", "min", "max", "disabled"])
|
|
332
|
+
]),
|
|
333
|
+
c("div", be, [
|
|
334
|
+
r(n(b), { value: "step" }, {
|
|
335
|
+
default: d(() => [
|
|
336
|
+
f(i(n(s)("job.cron.step")), 1)
|
|
337
|
+
]),
|
|
338
|
+
_: 1
|
|
339
|
+
}),
|
|
340
|
+
c("span", _e, i(n(s)("job.cron.stepFrom")), 1),
|
|
341
|
+
r(n(h), {
|
|
342
|
+
value: e.st.stepFrom,
|
|
343
|
+
"onUpdate:value": (l) => e.st.stepFrom = l,
|
|
344
|
+
min: e.min,
|
|
345
|
+
max: e.max,
|
|
346
|
+
size: "small",
|
|
347
|
+
class: "cron-num",
|
|
348
|
+
disabled: e.st.mode !== "step"
|
|
349
|
+
}, null, 8, ["value", "onUpdate:value", "min", "max", "disabled"]),
|
|
350
|
+
c("span", he, i(n(s)("job.cron.stepEvery")), 1),
|
|
351
|
+
r(n(h), {
|
|
352
|
+
value: e.st.stepSize,
|
|
353
|
+
"onUpdate:value": (l) => e.st.stepSize = l,
|
|
354
|
+
min: 1,
|
|
355
|
+
max: e.max,
|
|
356
|
+
size: "small",
|
|
357
|
+
class: "cron-num",
|
|
358
|
+
disabled: e.st.mode !== "step"
|
|
359
|
+
}, null, 8, ["value", "onUpdate:value", "max", "disabled"])
|
|
360
|
+
]),
|
|
361
|
+
c("div", we, [
|
|
362
|
+
r(n(b), { value: "list" }, {
|
|
363
|
+
default: d(() => [
|
|
364
|
+
f(i(n(s)("job.cron.list")), 1)
|
|
365
|
+
]),
|
|
366
|
+
_: 1
|
|
367
|
+
}),
|
|
368
|
+
r(n(A), {
|
|
369
|
+
value: e.st.list,
|
|
370
|
+
multiple: "",
|
|
371
|
+
size: "small",
|
|
372
|
+
class: "cron-list",
|
|
373
|
+
options: e.listOptions(),
|
|
374
|
+
disabled: e.st.mode !== "list",
|
|
375
|
+
"max-tag-count": 8,
|
|
376
|
+
"onUpdate:value": (l) => e.st.list = l
|
|
377
|
+
}, null, 8, ["value", "options", "disabled", "onUpdate:value"])
|
|
378
|
+
]),
|
|
379
|
+
e.key === "day" ? (m(), v(W, { key: 1 }, [
|
|
380
|
+
c("div", ke, [
|
|
381
|
+
r(n(b), { value: "last" }, {
|
|
382
|
+
default: d(() => [
|
|
383
|
+
f(i(n(s)("job.cron.lastDay")), 1)
|
|
384
|
+
]),
|
|
385
|
+
_: 1
|
|
386
|
+
}),
|
|
387
|
+
r(n(h), {
|
|
388
|
+
value: e.st.lastOffset,
|
|
389
|
+
"onUpdate:value": (l) => e.st.lastOffset = l,
|
|
390
|
+
min: 0,
|
|
391
|
+
max: 30,
|
|
392
|
+
size: "small",
|
|
393
|
+
class: "cron-num",
|
|
394
|
+
disabled: e.st.mode !== "last"
|
|
395
|
+
}, null, 8, ["value", "onUpdate:value", "disabled"]),
|
|
396
|
+
c("span", xe, i(n(s)("job.cron.lastDayHint")), 1)
|
|
397
|
+
]),
|
|
398
|
+
c("div", je, [
|
|
399
|
+
r(n(b), { value: "nearestWeekday" }, {
|
|
400
|
+
default: d(() => [
|
|
401
|
+
f(i(n(s)("job.cron.nearestWeekday")), 1)
|
|
402
|
+
]),
|
|
403
|
+
_: 1
|
|
404
|
+
}),
|
|
405
|
+
r(n(h), {
|
|
406
|
+
value: e.st.nearestDay,
|
|
407
|
+
"onUpdate:value": (l) => e.st.nearestDay = l,
|
|
408
|
+
min: 1,
|
|
409
|
+
max: 31,
|
|
410
|
+
size: "small",
|
|
411
|
+
class: "cron-num",
|
|
412
|
+
disabled: e.st.mode !== "nearestWeekday"
|
|
413
|
+
}, null, 8, ["value", "onUpdate:value", "disabled"]),
|
|
414
|
+
c("span", Ue, i(n(s)("job.cron.nearestWeekdayHint")), 1)
|
|
415
|
+
]),
|
|
416
|
+
c("div", Oe, [
|
|
417
|
+
r(n(b), { value: "lastWeekday" }, {
|
|
418
|
+
default: d(() => [
|
|
419
|
+
f(i(n(s)("job.cron.lastWeekday")), 1)
|
|
420
|
+
]),
|
|
421
|
+
_: 1
|
|
422
|
+
})
|
|
423
|
+
])
|
|
424
|
+
], 64)) : j("", !0),
|
|
425
|
+
e.key === "week" ? (m(), v(W, { key: 2 }, [
|
|
426
|
+
c("div", De, [
|
|
427
|
+
r(n(b), { value: "lastOfWeek" }, {
|
|
428
|
+
default: d(() => [
|
|
429
|
+
f(i(n(s)("job.cron.lastOfWeek")), 1)
|
|
430
|
+
]),
|
|
431
|
+
_: 1
|
|
432
|
+
}),
|
|
433
|
+
r(n(A), {
|
|
434
|
+
value: e.st.lastDow,
|
|
435
|
+
size: "small",
|
|
436
|
+
class: "cron-dow",
|
|
437
|
+
options: $.value,
|
|
438
|
+
disabled: e.st.mode !== "lastOfWeek",
|
|
439
|
+
"onUpdate:value": (l) => e.st.lastDow = l
|
|
440
|
+
}, null, 8, ["value", "options", "disabled", "onUpdate:value"])
|
|
441
|
+
]),
|
|
442
|
+
c("div", We, [
|
|
443
|
+
r(n(b), { value: "nth" }, {
|
|
444
|
+
default: d(() => [
|
|
445
|
+
f(i(n(s)("job.cron.nth")), 1)
|
|
446
|
+
]),
|
|
447
|
+
_: 1
|
|
448
|
+
}),
|
|
449
|
+
c("span", Ne, i(n(s)("job.cron.nthPrefix")), 1),
|
|
450
|
+
r(n(h), {
|
|
451
|
+
value: e.st.nthIndex,
|
|
452
|
+
"onUpdate:value": (l) => e.st.nthIndex = l,
|
|
453
|
+
min: 1,
|
|
454
|
+
max: 5,
|
|
455
|
+
size: "small",
|
|
456
|
+
class: "cron-num",
|
|
457
|
+
disabled: e.st.mode !== "nth"
|
|
458
|
+
}, null, 8, ["value", "onUpdate:value", "disabled"]),
|
|
459
|
+
c("span", Se, i(n(s)("job.cron.nthInfix")), 1),
|
|
460
|
+
r(n(A), {
|
|
461
|
+
value: e.st.nthDow,
|
|
462
|
+
size: "small",
|
|
463
|
+
class: "cron-dow",
|
|
464
|
+
options: $.value,
|
|
465
|
+
disabled: e.st.mode !== "nth",
|
|
466
|
+
"onUpdate:value": (l) => e.st.nthDow = l
|
|
467
|
+
}, null, 8, ["value", "options", "disabled", "onUpdate:value"])
|
|
468
|
+
])
|
|
469
|
+
], 64)) : j("", !0)
|
|
470
|
+
]),
|
|
471
|
+
_: 2
|
|
472
|
+
}, 1032, ["value", "onUpdate:value"])
|
|
473
|
+
]),
|
|
474
|
+
_: 2
|
|
475
|
+
}, 1032, ["name", "tab"])), 64)),
|
|
476
|
+
r(n(B), {
|
|
477
|
+
name: "expr",
|
|
478
|
+
tab: n(s)("job.cron.tabExpression")
|
|
479
|
+
}, {
|
|
480
|
+
default: d(() => [
|
|
481
|
+
r(n(le), {
|
|
482
|
+
value: y.value,
|
|
483
|
+
placeholder: n(s)("job.cron.expressionPlaceholder"),
|
|
484
|
+
"onUpdate:value": g
|
|
485
|
+
}, null, 8, ["value", "placeholder"]),
|
|
486
|
+
c("div", ze, i(n(s)("job.cron.expressionHint")), 1)
|
|
487
|
+
]),
|
|
488
|
+
_: 1
|
|
489
|
+
}, 8, ["tab"])
|
|
490
|
+
]),
|
|
491
|
+
_: 1
|
|
492
|
+
}, 8, ["value"]),
|
|
493
|
+
y.value.trim() ? (m(), v("div", $e, [
|
|
494
|
+
(o = _.value) != null && o.everySecondWarning ? (m(), ne(n(re), {
|
|
495
|
+
key: 0,
|
|
496
|
+
type: "warning",
|
|
497
|
+
bordered: !1,
|
|
498
|
+
class: "cron-warn"
|
|
499
|
+
}, {
|
|
500
|
+
default: d(() => [
|
|
501
|
+
f(i(n(s)("job.cron.everySecondWarning")), 1)
|
|
502
|
+
]),
|
|
503
|
+
_: 1
|
|
504
|
+
})) : j("", !0),
|
|
505
|
+
D.value ? (m(), v("div", Ee, i(D.value), 1)) : _.value ? (m(), v(W, { key: 2 }, [
|
|
506
|
+
c("div", Fe, [
|
|
507
|
+
c("span", Te, i(n(s)("job.cron.normalized")), 1),
|
|
508
|
+
c("code", Ae, i(_.value.normalized), 1)
|
|
509
|
+
]),
|
|
510
|
+
c("div", Ce, [
|
|
511
|
+
c("span", Ie, i(n(s)("job.cron.nextRuns", { n: C.previewCount })), 1),
|
|
512
|
+
c("div", Le, [
|
|
513
|
+
_.value.occurrences.length ? (m(!0), v(W, { key: 0 }, P(_.value.occurrences, (e) => (m(), v("div", {
|
|
514
|
+
key: e,
|
|
515
|
+
class: "cron-occurrence"
|
|
516
|
+
}, i(e.replace("T", " ")), 1))), 128)) : (m(), v("span", Ve, i(n(s)("job.cron.noUpcoming")), 1))
|
|
517
|
+
])
|
|
518
|
+
])
|
|
519
|
+
], 64)) : j("", !0)
|
|
520
|
+
])) : j("", !0)
|
|
521
|
+
]);
|
|
522
|
+
};
|
|
523
|
+
}
|
|
524
|
+
});
|
|
525
|
+
export {
|
|
526
|
+
Je as default
|
|
527
|
+
};
|
|
528
|
+
//# sourceMappingURL=index2.vue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index2.vue.js","sources":["../../../src/components/CronEditor/index.vue"],"sourcesContent":["<script setup lang=\"ts\">\n// 6 段秒级 cron 可视化编辑器(秒/分/时/日/月/周 + 表达式直填)。\n// 后端语法为准(SmartAdmin.Core CronExpression):日段 L/L-n/LW/nW、周段 nL/n#m、周 0=周日(7≡0);\n// 日与周互斥——一侧受限(非 */?)时另一侧自动落 `?`,否则后端直接拒 47003,与其让用户撞墙不如替他落好。\n// 预览走 POST /preview-cron(任何登录用户可用):防抖 400ms,展示归一化结果 + 未来若干次时刻;\n// 非法表达式显示后端 47003 文案;everySecondWarning 只提示不拦截(后端同款态度)。\nimport { computed, reactive, ref, watch, onMounted } from 'vue'\nimport {\n NTabs,\n NTabPane,\n NRadioGroup,\n NRadio,\n NInputNumber,\n NSelect,\n NInput,\n NAlert,\n} from 'naive-ui'\nimport { useI18n } from 'vue-i18n'\nimport { watchDebounced } from '@vueuse/core'\nimport { jobApi } from '#/api'\nimport { translateError } from '#/utils/error'\nimport type { CronPreviewOutput } from '#/types/api'\n\nconst props = withDefaults(\n defineProps<{\n modelValue?: string\n /** 预览条数(透传后端 count,上限 20)。 */\n previewCount?: number\n }>(),\n { modelValue: '', previewCount: 5 },\n)\nconst emit = defineEmits<{ (e: 'update:modelValue', v: string): void }>()\n\nconst { t } = useI18n()\n\ntype SegMode =\n | 'every'\n | 'any'\n | 'range'\n | 'step'\n | 'list'\n | 'last'\n | 'lastWeekday'\n | 'nearestWeekday' // 日段专项:L/L-n · LW · nW\n | 'lastOfWeek'\n | 'nth' // 周段专项:nL · n#m\n\n/** 单段编辑态:各模式的参数并存(切模式不丢已填值),build 时只取当前模式用到的。 */\ninterface SegState {\n mode: SegMode\n rangeFrom: number\n rangeTo: number\n stepFrom: number\n stepSize: number\n list: number[]\n lastOffset: number\n nearestDay: number\n lastDow: number\n nthDow: number\n nthIndex: number\n}\n\nfunction blankState(mode: SegMode, min: number, max: number): SegState {\n return {\n mode,\n rangeFrom: min,\n rangeTo: max,\n stepFrom: min,\n stepSize: 1,\n list: [],\n lastOffset: 0,\n nearestDay: 1,\n lastDow: 5,\n nthDow: 1,\n nthIndex: 1,\n }\n}\n\n// 默认表达式形态 = `0 * * * * ?`(秒指定 0,其余每),避免初始就是\"每秒执行\"\nconst states = {\n second: reactive(blankState('list', 0, 59)),\n minute: reactive(blankState('every', 0, 59)),\n hour: reactive(blankState('every', 0, 23)),\n day: reactive(blankState('every', 1, 31)),\n month: reactive(blankState('every', 1, 12)),\n week: reactive(blankState('any', 0, 6)),\n}\nstates.second.list = [0]\n\nconst numOptions = (min: number, max: number) =>\n Array.from({ length: max - min + 1 }, (_, i) => ({ label: String(min + i), value: min + i }))\n\nconst DOW_KEYS = ['sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat'] as const\nconst dowOptions = computed(() => DOW_KEYS.map((k, i) => ({ label: t(`job.cron.${k}`), value: i })))\n\ninterface SegDef {\n key: keyof typeof states\n st: SegState\n min: number\n max: number\n tab: () => string\n listOptions: () => { label: string; value: number }[]\n}\nconst segs: SegDef[] = [\n {\n key: 'second',\n st: states.second,\n min: 0,\n max: 59,\n tab: () => t('job.cron.tabSecond'),\n listOptions: () => numOptions(0, 59),\n },\n {\n key: 'minute',\n st: states.minute,\n min: 0,\n max: 59,\n tab: () => t('job.cron.tabMinute'),\n listOptions: () => numOptions(0, 59),\n },\n {\n key: 'hour',\n st: states.hour,\n min: 0,\n max: 23,\n tab: () => t('job.cron.tabHour'),\n listOptions: () => numOptions(0, 23),\n },\n {\n key: 'day',\n st: states.day,\n min: 1,\n max: 31,\n tab: () => t('job.cron.tabDay'),\n listOptions: () => numOptions(1, 31),\n },\n {\n key: 'month',\n st: states.month,\n min: 1,\n max: 12,\n tab: () => t('job.cron.tabMonth'),\n listOptions: () => numOptions(1, 12),\n },\n {\n key: 'week',\n st: states.week,\n min: 0,\n max: 6,\n tab: () => t('job.cron.tabWeek'),\n listOptions: () => dowOptions.value,\n },\n]\n\nconst activeTab = ref('second')\nconst expr = ref(props.modelValue ?? '')\n/** parse 期间静音各段 watcher,防止\"解析回填 → 重建表达式\"把用户正敲到一半的原文改写掉。 */\nlet parsing = false\n\n// ── 段 → token ──\nconst restricted = (tok: string) => tok !== '*' && tok !== '?'\n\nfunction build(seg: SegDef): string {\n const st = seg.st\n switch (st.mode) {\n case 'any':\n return '?'\n case 'range':\n return `${st.rangeFrom}-${st.rangeTo}`\n case 'step':\n return `${st.stepFrom}/${st.stepSize}`\n case 'list':\n return st.list.length ? st.list.toSorted((a, b) => a - b).join(',') : '*'\n case 'last':\n return st.lastOffset > 0 ? `L-${st.lastOffset}` : 'L'\n case 'lastWeekday':\n return 'LW'\n case 'nearestWeekday':\n return `${st.nearestDay}W`\n case 'lastOfWeek':\n return `${st.lastDow}L`\n case 'nth':\n return `${st.nthDow}#${st.nthIndex}`\n default:\n return '*'\n }\n}\n\nfunction syncFromStates(edited?: 'day' | 'week') {\n // 日/周互斥:刚编辑的一侧受限 → 另一侧自动落 ?(mutate 在 parsing 静音下做,防 watcher 递归)\n parsing = true\n try {\n if (edited === 'day' && restricted(build(segs[3])) && states.week.mode !== 'any')\n states.week.mode = 'any'\n if (edited === 'week' && restricted(build(segs[5])) && states.day.mode !== 'any')\n states.day.mode = 'any'\n } finally {\n parsing = false\n }\n setExpr(segs.map(build).join(' '))\n}\n\nfunction setExpr(v: string) {\n if (v === expr.value) return\n expr.value = v\n emit('update:modelValue', v)\n}\n\n// ── token → 段(尽力解析;解析不动的形态保留原编辑态,表达式本身不丢) ──\nconst MONTH_NAMES: Record<string, number> = {\n JAN: 1,\n FEB: 2,\n MAR: 3,\n APR: 4,\n MAY: 5,\n JUN: 6,\n JUL: 7,\n AUG: 8,\n SEP: 9,\n OCT: 10,\n NOV: 11,\n DEC: 12,\n}\nconst DOW_NAMES: Record<string, number> = { SUN: 0, MON: 1, TUE: 2, WED: 3, THU: 4, FRI: 5, SAT: 6 }\n\nfunction mapNames(tok: string, table: Record<string, number>): string {\n return tok.toUpperCase().replace(/[A-Z]{3}/g, m => (m in table ? String(table[m]) : m))\n}\n\nfunction parseGeneric(tok: string, seg: SegDef) {\n const st = seg.st\n if (tok === '*') {\n st.mode = 'every'\n return\n }\n if (tok === '?') {\n st.mode = seg.key === 'day' || seg.key === 'week' ? 'any' : 'every'\n return\n }\n const norm = (n: number) => (seg.key === 'week' ? n % 7 : n) // 周 7≡0(后端同款)\n let m = /^(\\d+)-(\\d+)$/.exec(tok)\n if (m) {\n st.mode = 'range'\n st.rangeFrom = norm(+m[1])\n st.rangeTo = norm(+m[2])\n return\n }\n m = /^(\\d+|\\*)\\/(\\d+)$/.exec(tok)\n if (m) {\n st.mode = 'step'\n st.stepFrom = m[1] === '*' ? seg.min : norm(+m[1])\n st.stepSize = +m[2]\n return\n }\n if (/^\\d+(,\\d+)*$/.test(tok)) {\n st.mode = 'list'\n st.list = tok.split(',').map(s => norm(+s))\n return\n }\n // 区间/步长里带名字或混写等复杂形态:不强行归类,留在表达式页签编辑\n}\n\nfunction parseDay(tok: string) {\n const st = states.day\n if (tok === 'L') {\n st.mode = 'last'\n st.lastOffset = 0\n return\n }\n if (tok === 'LW') {\n st.mode = 'lastWeekday'\n return\n }\n let m = /^L-(\\d+)$/.exec(tok)\n if (m) {\n st.mode = 'last'\n st.lastOffset = +m[1]\n return\n }\n m = /^(\\d+)W$/.exec(tok)\n if (m) {\n st.mode = 'nearestWeekday'\n st.nearestDay = +m[1]\n return\n }\n parseGeneric(tok, segs[3])\n}\n\nfunction parseWeek(tok: string) {\n const st = states.week\n const mapped = mapNames(tok, DOW_NAMES)\n if (mapped === 'L') {\n st.mode = 'list'\n st.list = [6]\n return\n } // 孤立 L = SAT(Quartz 同款)\n let m = /^(\\d+)#(\\d+)$/.exec(mapped)\n if (m) {\n st.mode = 'nth'\n st.nthDow = +m[1] % 7\n st.nthIndex = +m[2]\n return\n }\n m = /^(\\d+)L$/.exec(mapped)\n if (m) {\n st.mode = 'lastOfWeek'\n st.lastDow = +m[1] % 7\n return\n }\n parseGeneric(mapped, segs[5])\n}\n\nfunction parse(raw: string) {\n const tokens = raw.trim().split(/\\s+/).filter(Boolean)\n if (tokens.length === 5) tokens.unshift('0') // 5 段自动升 6 段(与后端一致)\n if (tokens.length !== 6) return\n parsing = true\n try {\n parseGeneric(tokens[0], segs[0])\n parseGeneric(tokens[1], segs[1])\n parseGeneric(tokens[2], segs[2])\n parseDay(tokens[3].toUpperCase())\n parseGeneric(mapNames(tokens[4], MONTH_NAMES), segs[4])\n parseWeek(tokens[5])\n } finally {\n parsing = false\n }\n}\n\n// 段编辑 → 重建表达式。必须 sync flush:parse 的静音旗标是同步置回的,异步 watcher 会漏看\nfor (const seg of segs) {\n watch(\n seg.st,\n () => {\n if (parsing) return\n syncFromStates(seg.key === 'day' ? 'day' : seg.key === 'week' ? 'week' : undefined)\n },\n { deep: true, flush: 'sync' },\n )\n}\n\n// 外部(表单回填/清空)改 modelValue → 同步进来\nwatch(\n () => props.modelValue,\n v => {\n const next = v ?? ''\n if (next === expr.value) return\n expr.value = next\n if (next.trim()) parse(next)\n },\n)\n\nfunction onRawInput(v: string) {\n setExpr(v)\n if (v.trim()) parse(v)\n}\n\nif (expr.value.trim()) parse(expr.value)\n\n// ── 预览(防抖 400ms;seq 挡乱序响应) ──\nconst previewData = ref<CronPreviewOutput | null>(null)\nconst previewError = ref('')\nlet previewSeq = 0\n\nasync function loadPreview(v: string) {\n const seq = ++previewSeq\n if (!v.trim()) {\n previewData.value = null\n previewError.value = ''\n return\n }\n try {\n const out = await jobApi.previewCron({ cron: v, count: props.previewCount })\n if (seq !== previewSeq) return\n previewData.value = out\n previewError.value = ''\n } catch (e) {\n if (seq !== previewSeq) return\n previewData.value = null\n previewError.value = translateError(e)\n }\n}\n\nwatchDebounced(expr, v => void loadPreview(v), { debounce: 400 })\nonMounted(() => void loadPreview(expr.value))\n</script>\n\n<template>\n <div class=\"cron-editor\">\n <n-tabs v-model:value=\"activeTab\" type=\"line\" size=\"small\">\n <n-tab-pane v-for=\"seg in segs\" :key=\"seg.key\" :name=\"seg.key\" :tab=\"seg.tab()\">\n <n-radio-group\n :value=\"seg.st.mode\"\n class=\"cron-rows\"\n @update:value=\"(v: SegMode) => (seg.st.mode = v)\"\n >\n <div class=\"cron-row\">\n <n-radio value=\"every\">{{ t('job.cron.every') }}</n-radio>\n </div>\n <div v-if=\"seg.key === 'day' || seg.key === 'week'\" class=\"cron-row\">\n <n-radio value=\"any\">{{ t('job.cron.any') }}</n-radio>\n </div>\n <div class=\"cron-row\">\n <n-radio value=\"range\">{{ t('job.cron.range') }}</n-radio>\n <n-input-number\n v-model:value=\"seg.st.rangeFrom\"\n :min=\"seg.min\"\n :max=\"seg.max\"\n size=\"small\"\n class=\"cron-num\"\n :disabled=\"seg.st.mode !== 'range'\"\n />\n <span class=\"cron-sep\">{{ t('job.cron.to') }}</span>\n <n-input-number\n v-model:value=\"seg.st.rangeTo\"\n :min=\"seg.min\"\n :max=\"seg.max\"\n size=\"small\"\n class=\"cron-num\"\n :disabled=\"seg.st.mode !== 'range'\"\n />\n </div>\n <div class=\"cron-row\">\n <n-radio value=\"step\">{{ t('job.cron.step') }}</n-radio>\n <span class=\"cron-sep\">{{ t('job.cron.stepFrom') }}</span>\n <n-input-number\n v-model:value=\"seg.st.stepFrom\"\n :min=\"seg.min\"\n :max=\"seg.max\"\n size=\"small\"\n class=\"cron-num\"\n :disabled=\"seg.st.mode !== 'step'\"\n />\n <span class=\"cron-sep\">{{ t('job.cron.stepEvery') }}</span>\n <n-input-number\n v-model:value=\"seg.st.stepSize\"\n :min=\"1\"\n :max=\"seg.max\"\n size=\"small\"\n class=\"cron-num\"\n :disabled=\"seg.st.mode !== 'step'\"\n />\n </div>\n <div class=\"cron-row cron-row-list\">\n <n-radio value=\"list\">{{ t('job.cron.list') }}</n-radio>\n <n-select\n :value=\"seg.st.list\"\n multiple\n size=\"small\"\n class=\"cron-list\"\n :options=\"seg.listOptions()\"\n :disabled=\"seg.st.mode !== 'list'\"\n :max-tag-count=\"8\"\n @update:value=\"(v: number[]) => (seg.st.list = v)\"\n />\n </div>\n <!-- 日段专项:L / L-n / nW / LW -->\n <template v-if=\"seg.key === 'day'\">\n <div class=\"cron-row\">\n <n-radio value=\"last\">{{ t('job.cron.lastDay') }}</n-radio>\n <n-input-number\n v-model:value=\"seg.st.lastOffset\"\n :min=\"0\"\n :max=\"30\"\n size=\"small\"\n class=\"cron-num\"\n :disabled=\"seg.st.mode !== 'last'\"\n />\n <span class=\"cron-sep\">{{ t('job.cron.lastDayHint') }}</span>\n </div>\n <div class=\"cron-row\">\n <n-radio value=\"nearestWeekday\">{{ t('job.cron.nearestWeekday') }}</n-radio>\n <n-input-number\n v-model:value=\"seg.st.nearestDay\"\n :min=\"1\"\n :max=\"31\"\n size=\"small\"\n class=\"cron-num\"\n :disabled=\"seg.st.mode !== 'nearestWeekday'\"\n />\n <span class=\"cron-sep\">{{ t('job.cron.nearestWeekdayHint') }}</span>\n </div>\n <div class=\"cron-row\">\n <n-radio value=\"lastWeekday\">{{ t('job.cron.lastWeekday') }}</n-radio>\n </div>\n </template>\n <!-- 周段专项:nL / n#m -->\n <template v-if=\"seg.key === 'week'\">\n <div class=\"cron-row\">\n <n-radio value=\"lastOfWeek\">{{ t('job.cron.lastOfWeek') }}</n-radio>\n <n-select\n :value=\"seg.st.lastDow\"\n size=\"small\"\n class=\"cron-dow\"\n :options=\"dowOptions\"\n :disabled=\"seg.st.mode !== 'lastOfWeek'\"\n @update:value=\"(v: number) => (seg.st.lastDow = v)\"\n />\n </div>\n <div class=\"cron-row\">\n <n-radio value=\"nth\">{{ t('job.cron.nth') }}</n-radio>\n <span class=\"cron-sep\">{{ t('job.cron.nthPrefix') }}</span>\n <n-input-number\n v-model:value=\"seg.st.nthIndex\"\n :min=\"1\"\n :max=\"5\"\n size=\"small\"\n class=\"cron-num\"\n :disabled=\"seg.st.mode !== 'nth'\"\n />\n <span class=\"cron-sep\">{{ t('job.cron.nthInfix') }}</span>\n <n-select\n :value=\"seg.st.nthDow\"\n size=\"small\"\n class=\"cron-dow\"\n :options=\"dowOptions\"\n :disabled=\"seg.st.mode !== 'nth'\"\n @update:value=\"(v: number) => (seg.st.nthDow = v)\"\n />\n </div>\n </template>\n </n-radio-group>\n </n-tab-pane>\n <n-tab-pane name=\"expr\" :tab=\"t('job.cron.tabExpression')\">\n <n-input\n :value=\"expr\"\n :placeholder=\"t('job.cron.expressionPlaceholder')\"\n @update:value=\"onRawInput\"\n />\n <div class=\"cron-hint\">{{ t('job.cron.expressionHint') }}</div>\n </n-tab-pane>\n </n-tabs>\n\n <!-- 预览区:归一化 + 未来 N 次;非法显示后端 47003 文案 -->\n <div v-if=\"expr.trim()\" class=\"cron-preview\">\n <n-alert\n v-if=\"previewData?.everySecondWarning\"\n type=\"warning\"\n :bordered=\"false\"\n class=\"cron-warn\"\n >\n {{ t('job.cron.everySecondWarning') }}\n </n-alert>\n <div v-if=\"previewError\" class=\"cron-preview-error\">{{ previewError }}</div>\n <template v-else-if=\"previewData\">\n <div class=\"cron-preview-row\">\n <span class=\"cron-preview-label\">{{ t('job.cron.normalized') }}</span>\n <code class=\"cron-code\">{{ previewData.normalized }}</code>\n </div>\n <div class=\"cron-preview-row\">\n <span class=\"cron-preview-label\">{{ t('job.cron.nextRuns', { n: previewCount }) }}</span>\n <div class=\"cron-occurrences\">\n <template v-if=\"previewData.occurrences.length\">\n <div v-for=\"o in previewData.occurrences\" :key=\"o\" class=\"cron-occurrence\">\n {{ o.replace('T', ' ') }}\n </div>\n </template>\n <span v-else class=\"cron-empty\">{{ t('job.cron.noUpcoming') }}</span>\n </div>\n </div>\n </template>\n </div>\n </div>\n</template>\n\n<style scoped>\n.cron-editor {\n width: 100%;\n}\n.cron-rows {\n display: flex;\n flex-direction: column;\n gap: 10px;\n width: 100%;\n}\n.cron-row {\n display: flex;\n align-items: center;\n gap: 8px;\n flex-wrap: wrap;\n}\n.cron-num {\n width: 96px;\n}\n.cron-dow {\n width: 120px;\n}\n.cron-list {\n flex: 1;\n min-width: 200px;\n}\n.cron-sep {\n color: var(--color-text-secondary);\n font-size: var(--font-size-sm);\n}\n.cron-hint {\n margin-top: 6px;\n font-size: 12px;\n color: var(--color-text-tertiary);\n}\n.cron-preview {\n margin-top: 12px;\n padding: 10px 12px;\n border-radius: var(--radius-md);\n background: var(--color-fill);\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n.cron-warn {\n margin-bottom: 2px;\n}\n.cron-preview-error {\n color: var(--color-danger);\n font-size: var(--font-size-sm);\n}\n.cron-preview-row {\n display: flex;\n gap: 12px;\n align-items: flex-start;\n}\n.cron-preview-label {\n flex: 0 0 auto;\n color: var(--color-text-secondary);\n font-size: var(--font-size-sm);\n line-height: 22px;\n}\n.cron-code {\n font-family: var(--font-family-mono, ui-monospace, monospace);\n font-size: 13px;\n line-height: 22px;\n}\n/* 横向 wrap 而非一行一个:5 个时刻竖排要占 110px 高,在任务表单里这是纯浪费 */\n.cron-occurrences {\n display: flex;\n flex-wrap: wrap;\n gap: 2px 16px;\n}\n.cron-occurrence {\n font-family: var(--font-family-mono, ui-monospace, monospace);\n font-size: 13px;\n line-height: 22px;\n font-variant-numeric: tabular-nums;\n}\n.cron-empty {\n color: var(--color-text-tertiary);\n font-size: var(--font-size-sm);\n}\n</style>\n"],"names":["props","__props","emit","__emit","t","useI18n","blankState","mode","min","max","states","reactive","numOptions","_","i","DOW_KEYS","dowOptions","computed","k","segs","activeTab","ref","expr","parsing","restricted","tok","build","seg","st","a","b","syncFromStates","edited","setExpr","v","MONTH_NAMES","DOW_NAMES","mapNames","table","m","parseGeneric","norm","n","s","parseDay","parseWeek","mapped","parse","raw","tokens","watch","next","onRawInput","previewData","previewError","previewSeq","loadPreview","seq","out","jobApi","e","translateError","watchDebounced","onMounted","_openBlock","_createElementBlock","_hoisted_1","_createVNode","_unref","NTabs","$event","_Fragment","_renderList","NTabPane","NRadioGroup","_createElementVNode","_hoisted_2","NRadio","_hoisted_3","_hoisted_4","NInputNumber","_hoisted_5","_toDisplayString","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","NSelect","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","_hoisted_18","NInput","_hoisted_19","_hoisted_20","_a","_createBlock","NAlert","_hoisted_21","_hoisted_22","_hoisted_23","_hoisted_24","_hoisted_25","_hoisted_26","_hoisted_27","o","_hoisted_28"],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
title?: string;
|
|
3
|
+
loading?: boolean;
|
|
4
|
+
showBack?: boolean;
|
|
5
|
+
};
|
|
6
|
+
declare var __VLS_15: {}, __VLS_23: {};
|
|
7
|
+
type __VLS_Slots = {} & {
|
|
8
|
+
actions?: (props: typeof __VLS_15) => any;
|
|
9
|
+
} & {
|
|
10
|
+
default?: (props: typeof __VLS_23) => any;
|
|
11
|
+
};
|
|
12
|
+
declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
13
|
+
back: () => any;
|
|
14
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
15
|
+
onBack?: (() => any) | undefined;
|
|
16
|
+
}>, {
|
|
17
|
+
showBack: boolean;
|
|
18
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
19
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
20
|
+
declare const _default: typeof __VLS_export;
|
|
21
|
+
export default _default;
|
|
22
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
23
|
+
new (): {
|
|
24
|
+
$slots: S;
|
|
25
|
+
};
|
|
26
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|