diff --git a/admin/src/App.vue b/admin/src/App.vue index 9ad6de5..6baff72 100644 --- a/admin/src/App.vue +++ b/admin/src/App.vue @@ -138,6 +138,7 @@ @reject="handleReject" @reject-many="handleRejectMany" @exempt="handleExempt" + @exempt-many="handleExemptMany" @reclaim="handleReclaim" /> @@ -542,6 +543,15 @@ async function handleExempt(input: { taskId: string; note?: string }) { }, '宸叉爣璁板厤娓呮磥'); } +async function handleExemptMany(input: { taskIds: string[]; note?: string }) { + await runAction(async () => { + for (const taskId of input.taskIds) { + await exemptCleaningTask(session.value, taskId, input.note); + } + await Promise.all([loadTasks(), loadStatistics()]); + }, `\u5df2\u6279\u91cf\u6807\u8bb0\u514d\u6e05\u6d01 ${input.taskIds.length} \u4e2a\u4efb\u52a1`); +} + async function handleReclaim(input: { olderThanMinutes: number; limit: number }) { await runAction(async () => { await reclaimCleaningTimeouts(session.value, input); diff --git a/admin/src/components/CleaningTasksPanel.vue b/admin/src/components/CleaningTasksPanel.vue index e48c7cd..d2a1799 100644 --- a/admin/src/components/CleaningTasksPanel.vue +++ b/admin/src/components/CleaningTasksPanel.vue @@ -53,6 +53,14 @@ > 批量驳回 + + {{ '\u6279\u91cf\u514d\u6e05\u6d01' }} +