'use client' import { useState } from 'react' import { useRouter, useParams } from 'next/navigation' import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/Card' import { Button } from '@/components/ui/Button' import { Modal, ConfirmModal } from '@/components/ui/Modal' import { SuccessTag, WarningTag, ErrorTag, PendingTag } from '@/components/ui/Tag' import { ReviewSteps, getBrandReviewSteps } from '@/components/ui/ReviewSteps' import { ArrowLeft, FileText, CheckCircle, XCircle, AlertTriangle, User, Building, Clock, Eye, Download, Shield, MessageSquare } from 'lucide-react' // 模拟脚本任务数据 const mockScriptTask = { id: 'script-001', title: '夏日护肤推广脚本', creatorName: '小美护肤', agencyName: '星耀传媒', projectName: 'XX品牌618推广', submittedAt: '2026-02-06 14:30', aiScore: 88, status: 'brand_reviewing', scriptContent: { opening: '大家好!今天给大家分享一款超级好用的夏日护肤神器~', productIntro: '这款XX品牌的防晒霜,SPF50+,PA++++,真的是夏天出门必备!质地轻薄不油腻,涂上去清清爽爽的。', demo: '我先在手背上试一下,大家看,延展性特别好,轻轻一抹就推开了,完全不会搓泥。', closing: '夏天防晒真的很重要,姐妹们赶紧冲!链接在小黄车1号链接~', }, agencyReview: { reviewer: '张经理', result: 'approved', comment: '脚本整体符合要求,卖点覆盖完整,建议通过。', reviewedAt: '2026-02-06 15:00', }, aiAnalysis: { violations: [ { id: 'v1', type: '违禁词', content: '神器', suggestion: '建议替换为"好物"或"必备品"', severity: 'medium' }, ], complianceChecks: [ { item: '品牌名称正确', passed: true }, { item: 'SPF标注准确', passed: true }, { item: '无绝对化用语', passed: false, note: '"超级好用"建议修改' }, { item: '引导语规范', passed: true }, ], sellingPoints: [ { point: 'SPF50+ PA++++', covered: true }, { point: '轻薄质地', covered: true }, { point: '不油腻', covered: true }, { point: '延展性好', covered: true }, ], }, } function ReviewProgressBar({ taskStatus }: { taskStatus: string }) { const steps = getBrandReviewSteps(taskStatus) const currentStep = steps.find(s => s.status === 'current') return (
审核流程 当前:{currentStep?.label || '品牌方终审'}
) } export default function BrandScriptReviewPage() { const router = useRouter() const params = useParams() const [showApproveModal, setShowApproveModal] = useState(false) const [showRejectModal, setShowRejectModal] = useState(false) const [rejectReason, setRejectReason] = useState('') const [viewMode, setViewMode] = useState<'simple' | 'preview'>('preview') const task = mockScriptTask const handleApprove = () => { setShowApproveModal(false) alert('审核通过!') router.push('/brand/review') } const handleReject = () => { if (!rejectReason.trim()) { alert('请填写驳回原因') return } setShowRejectModal(false) alert('已驳回') router.push('/brand/review') } return (
{/* 顶部导航 */}

{task.title}

{task.creatorName} {task.agencyName} {task.submittedAt}
{/* 审核流程进度条 */}
{/* 左侧:脚本内容 */}
{viewMode === 'simple' ? (

{task.title}

点击"展开预览"查看脚本内容

) : ( 脚本内容
开场白

{task.scriptContent.opening}

产品介绍

{task.scriptContent.productIntro}

使用演示

{task.scriptContent.demo}

结尾引导

{task.scriptContent.closing}

)} {/* 代理商初审意见 */} 代理商初审意见
{task.agencyReview.result === 'approved' ? ( ) : ( )}
{task.agencyReview.reviewer} 建议通过

{task.agencyReview.comment}

{task.agencyReview.reviewedAt}

{/* 右侧:AI 分析面板 */}
{/* AI 评分 */}
AI 综合评分 = 85 ? 'text-accent-green' : task.aiScore >= 70 ? 'text-yellow-400' : 'text-accent-coral'}`}> {task.aiScore}
{/* 违规检测 */} 违规检测 ({task.aiAnalysis.violations.length}) {task.aiAnalysis.violations.map((v) => (
{v.type}

「{v.content}」

{v.suggestion}

))} {task.aiAnalysis.violations.length === 0 && (

未发现违规内容

)}
{/* 合规检查 */} 合规检查 {task.aiAnalysis.complianceChecks.map((check, idx) => (
{check.passed ? ( ) : ( )}
{check.item} {check.note && (

{check.note}

)}
))}
{/* 卖点覆盖 */} 卖点覆盖 {task.aiAnalysis.sellingPoints.map((sp, idx) => (
{sp.covered ? ( ) : ( )} {sp.point}
))}
{/* 底部决策栏 */}
项目:{task.projectName}
{/* 通过确认弹窗 */} setShowApproveModal(false)} onConfirm={handleApprove} title="确认通过" message="确定要通过此脚本的审核吗?通过后达人将收到通知,可以开始拍摄视频。" confirmText="确认通过" /> {/* 驳回弹窗 */} setShowRejectModal(false)} title="驳回审核">

请填写驳回原因,达人将收到通知并根据您的反馈进行修改。