同步处理

This commit is contained in:
tianmo committed 2026-10-17 18:15:42 +08:00
1 parent 9939943e31
commit 6494ad2918
26 files changed
+970 -40

No files matched your search

+59 -1
View File
@@ -13,6 +13,7 @@ const jobsPageSize = ref(10)
const jobsTotal = ref(0)
const jobsTotalPages = ref(1)
const jobsLoading = ref(false)
const showHiddenJobs = ref(false)
const activeJobState = ref<BackupJobItem | null>(null)
const estimate = ref<BackupEstimate | null>(null)
const packages = ref<BackupPackageItem[]>([])
@@ -69,7 +70,8 @@ export function useBackup() {
credentials: 'include',
query: {
pageNum: jobsPage.value,
pageSize: jobsPageSize.value
pageSize: jobsPageSize.value,
includeHidden: showHiddenJobs.value
}
})
jobs.value = data.jobs
@@ -104,6 +106,58 @@ export function useBackup() {
return loadJobs()
}
async function toggleShowHiddenJobs() {
showHiddenJobs.value = !showHiddenJobs.value
jobsPage.value = 1
await loadJobs()
}
async function hideJob(jobId: string, hidden = true) {
try {
await $fetch('/api/admin/backup/jobs/hide', {
method: 'POST',
credentials: 'include',
body: { jobId, hidden }
})
if (hidden) {
showHiddenJobs.value = false
jobsPage.value = 1
}
await loadJobs()
toast.add({
title: hidden
? t('storage.backup.jobHidden')
: t('storage.backup.jobUnhidden'),
color: 'success'
})
} catch (error: unknown) {
handleError(error, t('storage.backup.hideFailed'))
}
}
async function hideAllJobs(hidden = true) {
try {
await $fetch('/api/admin/backup/jobs/hide-all', {
method: 'POST',
credentials: 'include',
body: { hidden }
})
if (hidden) {
showHiddenJobs.value = false
}
jobsPage.value = 1
await loadJobs()
toast.add({
title: hidden
? t('storage.backup.jobsHiddenAll')
: t('storage.backup.jobsUnhiddenAll'),
color: 'success'
})
} catch (error: unknown) {
handleError(error, t('storage.backup.hideFailed'))
}
}
async function loadEstimate() {
loadingEstimate.value = true
try {
@@ -327,6 +381,7 @@ export function useBackup() {
jobsTotal,
jobsTotalPages,
jobsLoading,
showHiddenJobs,
estimate,
packages,
loadingEstimate,
@@ -334,6 +389,9 @@ export function useBackup() {
hasActiveJob,
getActiveJob,
loadJobs,
toggleShowHiddenJobs,
hideJob,
hideAllJobs,
setJobsPage,
setJobsPageSize,
loadEstimate,