From 4076924704f24cc4f6bc08a4fc8e416a572cf7fe Mon Sep 17 00:00:00 2001 From: duorameng <2997944583@qq.com> Date: Thu, 21 May 2026 15:34:33 +0800 Subject: [PATCH] refactor: extract StatusDot common component and unify status indicator styles across history, tasks, and agents pages --- web/src/components/StatusDot.vue | 39 +++++++++++++++++++++++++++++++ web/src/views/agents/Agents.vue | 32 ++++++------------------- web/src/views/history/History.vue | 36 +++++++--------------------- web/src/views/tasks/Tasks.vue | 8 ++++--- 4 files changed, 60 insertions(+), 55 deletions(-) create mode 100644 web/src/components/StatusDot.vue diff --git a/web/src/components/StatusDot.vue b/web/src/components/StatusDot.vue new file mode 100644 index 0000000..2581ae0 --- /dev/null +++ b/web/src/components/StatusDot.vue @@ -0,0 +1,39 @@ + + + diff --git a/web/src/views/agents/Agents.vue b/web/src/views/agents/Agents.vue index 26a9c1f..ca68921 100644 --- a/web/src/views/agents/Agents.vue +++ b/web/src/views/agents/Agents.vue @@ -23,6 +23,7 @@ import { api, type Agent, type AgentToken } from '@/api' import { toast } from 'vue-sonner' import { useRouter } from 'vue-router' import { AGENT_STATUS } from '@/constants' +import StatusDot from '@/components/StatusDot.vue' const router = useRouter() @@ -339,7 +340,6 @@ onUnmounted(() => {
序号 - 状态 名称 IP 地址 主机名 @@ -354,16 +354,9 @@ onUnmounted(() => { {{ searchQuery ? '无匹配结果' : '暂无 Agent' }}
-
#{{ filteredAgents.length - index }}
- -
- -
-
- -
-
+ class="flex items-center gap-2 px-4 py-1.5 hover:bg-muted/30 transition-colors"> + +
#{{ filteredAgents.length - index }}
{{ agent.name }}
{{ agent.description }}
@@ -413,7 +406,6 @@ onUnmounted(() => {
序号 - 状态 名称 IP 地址 操作 @@ -421,16 +413,9 @@ onUnmounted(() => {
+ class="flex items-center gap-2 px-4 py-2.5 hover:bg-muted/30 transition-colors"> +
#{{ filteredAgents.length - index }}
- -
- -
-
- -
-
{{ agent.name }}
{{ agent.description }}
@@ -465,11 +450,8 @@ onUnmounted(() => {
+ #{{ filteredAgents.length - index }} - - - -
{{ agent.name }}
diff --git a/web/src/views/history/History.vue b/web/src/views/history/History.vue index efe8e0a..0174221 100644 --- a/web/src/views/history/History.vue +++ b/web/src/views/history/History.vue @@ -8,8 +8,7 @@ import Pagination from '@/components/Pagination.vue' import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/components/ui/select' import LogViewer from './LogViewer.vue' import { - RefreshCw, X, Search, GitBranch, Terminal, - AlertCircle, Ban, Clock, Zap as ZapIcon, Check, Trash2 + RefreshCw, Search, GitBranch, Terminal, Trash2 } from 'lucide-vue-next' import { api, type TaskLog } from '@/api' import LogDetailCard from '@/components/LogDetailCard.vue' @@ -17,6 +16,7 @@ import BaihuDialog from '@/components/ui/BaihuDialog.vue' import { toast } from 'vue-sonner' import { useSiteSettings } from '@/composables/useSiteSettings' import TextOverflow from '@/components/TextOverflow.vue' +import StatusDot from '@/components/StatusDot.vue' import { useEventBus } from '@/composables/useEventBus' const route = useRoute() @@ -379,8 +379,7 @@ watch(() => route.query, (newQuery) => {
- - 序号 + 序号 类型 任务名称 耗时 @@ -389,8 +388,7 @@ watch(() => route.query, (newQuery) => {