'use client' import { useRouter, useParams } from 'next/navigation' import { ArrowLeft, Download, Play } from 'lucide-react' import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/Card' import { Button } from '@/components/ui/Button' import { SuccessTag, WarningTag, ErrorTag, PendingTag } from '@/components/ui/Tag' // 模拟任务详情 const mockTaskDetail = { id: 'task-004', videoTitle: '美食探店vlog', creatorName: '吃货小胖', brandName: '某餐饮品牌', platform: '小红书', status: 'approved', aiScore: 95, finalScore: 95, aiSummary: '视频内容合规,无明显违规项', submittedAt: '2024-02-04 10:00', reviewedAt: '2024-02-04 12:00', reviewerName: '审核员A', reviewNotes: '内容积极正面,品牌露出合适,通过审核。', softWarnings: [ { id: 'w1', content: '品牌提及次数适中', suggestion: '可考虑适当增加品牌提及' }, ], timeline: [ { time: '2024-02-04 10:00', event: '达人提交视频', actor: '吃货小胖' }, { time: '2024-02-04 10:02', event: 'AI审核开始', actor: '系统' }, { time: '2024-02-04 10:05', event: 'AI审核完成,得分95分', actor: '系统' }, { time: '2024-02-04 12:00', event: '人工审核通过', actor: '审核员A' }, ], } function StatusBadge({ status }: { status: string }) { if (status === 'approved') return 已通过 if (status === 'rejected') return 已驳回 if (status === 'pending_review') return 待审核 return 处理中 } export default function TaskDetailPage() { const router = useRouter() const params = useParams() const task = mockTaskDetail return (
{/* 顶部导航 */}

{task.videoTitle}

{task.creatorName} · {task.brandName} · {task.platform}

{/* 左侧:视频和基本信息 */}
审核结果
AI 评分
= 80 ? 'text-green-600' : 'text-yellow-600'}`}> {task.aiScore}
最终评分
= 80 ? 'text-green-600' : 'text-yellow-600'}`}> {task.finalScore}
AI 分析摘要

{task.aiSummary}

{task.reviewNotes && (
审核备注

{task.reviewNotes}

)}
{task.softWarnings.length > 0 && ( 优化建议 {task.softWarnings.map((w) => (

{w.content}

{w.suggestion}

))}
)}
{/* 右侧:详细信息和时间线 */}
任务信息
任务ID {task.id}
达人 {task.creatorName}
品牌 {task.brandName}
平台 {task.platform}
提交时间 {task.submittedAt}
审核时间 {task.reviewedAt}
审核员 {task.reviewerName}
处理时间线
{task.timeline.map((item, index) => (
{index < task.timeline.length - 1 &&
}

{item.event}

{item.time} · {item.actor}

))}
) }