refactor: Relocate scheduler service settings from the main settings page to a new dedicated system view accessible via the shortcut bar.

This commit is contained in:
jxxghp
2026-03-25 13:37:59 +08:00
parent 192ded374a
commit 3cc83d10d3
7 changed files with 50 additions and 24 deletions

View File

@@ -7,6 +7,7 @@ import ModuleTestView from '@/views/system/ModuleTestView.vue'
import MessageView from '@/views/system/MessageView.vue'
import WordsView from '@/views/system/WordsView.vue'
import CacheView from '@/views/system/CacheView.vue'
import AccountSettingService from '@/views/system/ServiceView.vue'
import api from '@/api'
import { useDisplay } from 'vuetify'
import { getQueryValue } from '@/@core/utils'
@@ -49,6 +50,9 @@ const wordsDialog = ref(false)
// 缓存管理弹窗
const cacheDialog = ref(false)
// 定时服务弹窗
const schedulerDialog = ref(false)
// 输入消息
const user_message = ref('')
@@ -108,6 +112,13 @@ const shortcuts = [
dialog: 'cache',
dialogRef: cacheDialog,
},
{
title: t('shortcut.scheduler.title'),
subtitle: t('shortcut.scheduler.subtitle'),
icon: 'mdi-list-box',
dialog: 'scheduler',
dialogRef: schedulerDialog,
},
{
title: t('shortcut.system.title'),
subtitle: t('shortcut.system.subtitle'),
@@ -275,10 +286,10 @@ onMounted(() => {
item.dialog === 'message'
? openMessageDialog()
: item.dialog === 'words'
? openDialog(item.dialogRef)
: item.dialog === 'cache'
? openDialog(item.dialogRef)
: openDialog(item.dialogRef)
? openDialog(item.dialogRef)
: item.dialog === 'cache'
? openDialog(item.dialogRef)
: openDialog(item.dialogRef)
"
>
<VAvatar variant="text" size="48" rounded="lg">
@@ -420,6 +431,29 @@ onMounted(() => {
</VCardText>
</VCard>
</VDialog>
<!-- 定时服务弹窗 -->
<VDialog
v-if="schedulerDialog"
v-model="schedulerDialog"
max-width="60rem"
scrollable
:fullscreen="!display.mdAndUp.value"
>
<VCard>
<VCardItem class="py-2">
<VCardTitle>
<VIcon icon="mdi-list-box" class="me-2" />
{{ t('shortcut.scheduler.subtitle') }}
</VCardTitle>
<VCardSubtitle>{{ t('setting.scheduler.subtitle') }}</VCardSubtitle>
<VDialogCloseBtn @click="schedulerDialog = false" />
</VCardItem>
<VDivider />
<VCardText class="pa-0">
<AccountSettingService />
</VCardText>
</VCard>
</VDialog>
<!-- 系统健康检查弹窗 -->
<VDialog
v-if="systemTestDialog"

View File

@@ -582,6 +582,10 @@ export default {
title: 'Cache',
subtitle: 'Manage Cache',
},
scheduler: {
title: 'Services',
subtitle: 'Scheduled Services',
},
},
workflow: {
components: 'Action Components',

View File

@@ -579,6 +579,10 @@ export default {
title: '缓存',
subtitle: '管理缓存',
},
scheduler: {
title: '服务',
subtitle: '定时服务',
},
},
workflow: {
components: '动作组件',

View File

@@ -579,6 +579,10 @@ export default {
title: '緩存',
subtitle: '管理緩存',
},
scheduler: {
title: '服務',
subtitle: '定時服務',
},
},
workflow: {
components: '動作組件',

View File

@@ -6,7 +6,6 @@ import AccountSettingSite from '@/views/setting/AccountSettingSite.vue'
import AccountSettingSearch from '@/views/setting/AccountSettingSearch.vue'
import AccountSettingSubscribe from '@/views/setting/AccountSettingSubscribe.vue'
import AccountSettingSystem from '@/views/setting/AccountSettingSystem.vue'
import AccountSettingService from '@/views/setting/AccountSettingService.vue'
import AccountSettingDirectory from '@/views/setting/AccountSettingDirectory.vue'
import AccountSettingRule from '@/views/setting/AccountSettingRule.vue'
import { getSettingTabs } from '@/router/i18n-menu'
@@ -93,15 +92,6 @@ onMounted(() => {
</transition>
</VWindowItem>
<!-- 服务 -->
<VWindowItem value="scheduler">
<transition name="fade-slide" appear>
<div>
<AccountSettingService />
</div>
</transition>
</VWindowItem>
<!-- 通知 -->
<VWindowItem value="notification">
<transition name="fade-slide" appear>

View File

@@ -185,12 +185,6 @@ export function getSettingTabs(t: Composer['t']) {
tab: 'subscribe',
description: t('settingTabs.subscribe.description'),
},
{
title: t('settingTabs.scheduler.title'),
icon: 'mdi-list-box',
tab: 'scheduler',
description: t('settingTabs.scheduler.description'),
},
{
title: t('settingTabs.notification.title'),
icon: 'mdi-bell',

View File

@@ -70,10 +70,6 @@ useDataRefresh(
<template>
<VCard>
<VCardItem>
<VCardTitle>{{ t('setting.scheduler.title') }}</VCardTitle>
<VCardSubtitle>{{ t('setting.scheduler.subtitle') }}</VCardSubtitle>
</VCardItem>
<VTable class="text-no-wrap">
<thead>
<tr>