diff --git a/web/src/views/history/History.vue b/web/src/views/history/History.vue index 4351bb8..f732ff4 100644 --- a/web/src/views/history/History.vue +++ b/web/src/views/history/History.vue @@ -285,17 +285,17 @@ async function handleDeleteLog() { 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' + return 'bg-green-500/10 text-green-600 border-green-500/20 dark:bg-green-500/20 dark:text-green-400 dark:border-green-500/30 shadow-[0_0_8px_-2px_rgba(34,197,94,0.15)]' 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' + return 'bg-red-500/10 text-red-600 border-red-500/20 dark:bg-red-500/20 dark:text-red-400 dark:border-red-500/30' 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' + return 'bg-blue-500/10 text-blue-600 border-blue-500/20 dark:bg-blue-500/20 dark:text-blue-400 dark:border-blue-500/30' 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' + return 'bg-amber-500/10 text-amber-600 border-amber-500/20 dark:bg-amber-500/20 dark:text-amber-400 dark:border-amber-500/30' 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' + return 'bg-orange-500/10 text-orange-600 border-orange-500/20 dark:bg-orange-500/20 dark:text-orange-400 dark:border-orange-500/30' case TASK_STATUS.CANCELLED: - return 'bg-muted text-muted-foreground border-transparent' + return 'bg-muted/50 text-muted-foreground border-muted-foreground/10' default: return 'bg-secondary text-secondary-foreground border-transparent' } @@ -373,10 +373,10 @@ watch(() => route.query, (newQuery) => {
序号 - 类型 + 类型 任务名称 状态 - 耗时 + 耗时
@@ -404,7 +404,7 @@ watch(() => route.query, (newQuery) => {
#{{ total - (currentPage - 1) * pageSize - index }} - + @@ -435,7 +435,7 @@ watch(() => route.query, (newQuery) => {
- {{ formatDuration(log.duration) + {{ formatDuration(log.duration) }} -
+
- 任务名称 - {{ selectedLog.task_name }} + 任务名称 + {{ selectedLog.task_name }}
- 状态 + 状态
- - + + - - + + - {{ selectedLog.status }} + {{ selectedLog.status === TASK_STATUS.SUCCESS ? 'SUCCESS' : selectedLog.status }}
- 耗时 - {{ formatDuration(selectedLog.duration) }} + 耗时 + {{ formatDuration(selectedLog.duration) }}
- 开始时间 - {{ selectedLog.start_time || '-' }} + 开始时间 + {{ selectedLog.start_time || '-' }}
- 结束时间 - {{ selectedLog.end_time || '-' }} + 结束时间 + {{ selectedLog.end_time || '-' }}
- 执行命令 + 执行命令 {{ selectedLog.command }} @@ -570,14 +570,14 @@ watch(() => route.query, (newQuery) => {
- 系统错误 + 系统错误
{{ selectedLog.error }}
- 日志输出 + 日志输出 diff --git a/web/src/views/history/LogViewer.vue b/web/src/views/history/LogViewer.vue index e7b7d18..1be6162 100644 --- a/web/src/views/history/LogViewer.vue +++ b/web/src/views/history/LogViewer.vue @@ -2,7 +2,7 @@ import { ref, watch, onUnmounted, nextTick } from 'vue' import { Button } from '@/components/ui/button' import { Input } from '@/components/ui/input' -import { X, Search, AlertCircle } from 'lucide-vue-next' +import { X, Search, AlertCircle, Check } from 'lucide-vue-next' import Ansi from 'ansi-to-vue3' const props = defineProps<{ @@ -87,18 +87,20 @@ onUnmounted(() => {
- {{ title }} + {{ title }}
+ class="flex items-center gap-1.5 px-3 py-1 rounded-full text-[10px] font-normal uppercase transition-all shrink-0 border shadow-sm ring-4 ring-transparent hover:ring-primary/5" + :class="status === 'success' ? 'bg-green-500/10 text-green-600 border-green-500/20' : + status === 'failed' ? 'bg-red-500/10 text-red-600 border-red-500/20' : + 'bg-blue-500/10 text-blue-600 border-blue-500/20'"> + + - + class="animate-ping absolute inline-flex h-full w-full rounded-full bg-blue-400 opacity-75"> + - {{ status === 'success' ? '成功' : status === 'failed' ? '失败' : '执行中' }} + {{ status === 'success' ? 'SUCCESS' : status === 'failed' ? 'FAILED' : 'RUNNING' }}
@@ -116,7 +118,7 @@ onUnmounted(() => {
- 未检测到输出内容 + 未检测到输出内容

此任务已执行完毕,但在标准输出(Stdout)和错误输出(Stderr)通道中均未捕获到任何有效数据。