diff --git a/web/src/app/admin/task-monitor/page.tsx b/web/src/app/admin/task-monitor/page.tsx index cb6e9a4..f3c523a 100644 --- a/web/src/app/admin/task-monitor/page.tsx +++ b/web/src/app/admin/task-monitor/page.tsx @@ -27,6 +27,7 @@ import { import { useAuth } from "@/components/auth-provider"; import { readApiError } from "@/lib/api"; +import { getTaskDisplayName } from "@/lib/celery-task-display"; const { Text } = Typography; const AntCard = Card as unknown as ComponentType; @@ -278,7 +279,7 @@ export default function AdminTaskMonitorPage() { dataIndex: "name", key: "name", width: 220, - render: (value: string) => value || "-", + render: (value: string) => getTaskDisplayName(value), }, { title: "状态", diff --git a/web/src/app/admin/workers/page.tsx b/web/src/app/admin/workers/page.tsx index 0e1dde1..1c35ca3 100644 --- a/web/src/app/admin/workers/page.tsx +++ b/web/src/app/admin/workers/page.tsx @@ -28,6 +28,7 @@ import { import { useAuth } from "@/components/auth-provider"; import { readApiError } from "@/lib/api"; +import { getTaskDisplayName } from "@/lib/celery-task-display"; const { Text } = Typography; const AntCard = Card as unknown as ComponentType; @@ -280,7 +281,7 @@ export default function AdminWorkersPage() { dataIndex: "name", key: "name", width: 220, - render: (value: string) => value || "-", + render: (value: string) => getTaskDisplayName(value), }, { title: "状态", diff --git a/web/src/lib/celery-task-display.ts b/web/src/lib/celery-task-display.ts new file mode 100644 index 0000000..5025ad3 --- /dev/null +++ b/web/src/lib/celery-task-display.ts @@ -0,0 +1,17 @@ +const TASK_NAME_LABELS: Record = { + "app.tasks.schedule_tasks.expire_overdue_schedule_items": "日程过期自动归档", + "app.tasks.worker_registry_tasks.sweep_worker_registry_offline": "Worker 离线巡检", + "app.tasks.elevation_tasks.apply_elevation_for_line_job": "线路高程回填", +}; + +export function getTaskDisplayName(taskName: string | null | undefined): string { + const normalized = (taskName || "").trim(); + if (!normalized) { + return "-"; + } + const label = TASK_NAME_LABELS[normalized]; + if (!label) { + return normalized; + } + return `${label} (${normalized})`; +}