diff --git a/web/src/views/history/History.vue b/web/src/views/history/History.vue index 5fd4d84..846f489 100644 --- a/web/src/views/history/History.vue +++ b/web/src/views/history/History.vue @@ -200,6 +200,25 @@ function formatDuration(ms: number): string { return `${(ms / 60000).toFixed(1)}分钟` } +function getStatusBadgeClass(status: string) { + switch (status) { + case TASK_STATUS.SUCCESS: + return 'bg-green-500/10 text-green-700 border-green-200/50 dark:bg-green-500/20 dark:text-green-400 dark:border-green-900/50' + case TASK_STATUS.FAILED: + return 'bg-red-500/10 text-red-700 border-red-200/50 dark:bg-red-500/20 dark:text-red-400 dark:border-red-900/50' + case TASK_STATUS.RUNNING: + return 'bg-blue-500/10 text-blue-700 border-blue-200/50 dark:bg-blue-500/20 dark:text-blue-400 dark:border-blue-900/50' + case TASK_STATUS.PENDING: + return 'bg-amber-500/10 text-amber-700 border-amber-200/50 dark:bg-amber-500/20 dark:text-amber-400 dark:border-amber-900/50' + case TASK_STATUS.TIMEOUT: + return 'bg-orange-500/10 text-orange-700 border-orange-200/50 dark:bg-orange-500/20 dark:text-orange-400 dark:border-orange-900/50' + case TASK_STATUS.CANCELLED: + return 'bg-muted text-muted-foreground border-transparent' + default: + return 'bg-secondary text-secondary-foreground border-transparent' + } +} + function getTaskTypeTitle(type: string) { return type === TASK_TYPE.REPO ? '仓库同步' : '普通任务' } @@ -307,7 +326,7 @@ watch(() => route.query.task_id, (newTaskId) => { {{ formatDuration(log.duration) - }} + }} {{ formatDuration(log.duration) - }} + }} @@ -380,18 +399,19 @@ watch(() => route.query.task_id, (newTaskId) => {
状态 - +
- - + + - - - - {{ selectedLog.status }} + class="h-3.5 w-3.5 fill-current animate-pulse text-blue-500" /> + + + + {{ selectedLog.status }}
diff --git a/web/src/views/history/LogViewer.vue b/web/src/views/history/LogViewer.vue index 96d1606..0324763 100644 --- a/web/src/views/history/LogViewer.vue +++ b/web/src/views/history/LogViewer.vue @@ -1,5 +1,5 @@