'use client' import { useState } from 'react' import { useRouter } from 'next/navigation' import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/Card' import { Button } from '@/components/ui/Button' import { ArrowLeft, History, CheckCircle, XCircle, Search, Filter, FileText, Video, User, Calendar, Download } from 'lucide-react' // 审核历史记录类型 interface ReviewHistoryItem { id: string taskId: string taskTitle: string creatorName: string contentType: 'script' | 'video' result: 'approved' | 'rejected' reason?: string reviewedAt: string projectName: string } // 模拟审核历史数据 const mockHistoryData: ReviewHistoryItem[] = [ { id: 'h-001', taskId: 'task-101', taskTitle: '夏日护肤推广脚本', creatorName: '小美护肤', contentType: 'script', result: 'approved', reviewedAt: '2026-02-06 14:30', projectName: 'XX品牌618推广', }, { id: 'h-002', taskId: 'task-102', taskTitle: '新品口红试色视频', creatorName: '美妆Lisa', contentType: 'video', result: 'rejected', reason: '背景音乐版权问题', reviewedAt: '2026-02-06 11:20', projectName: 'YY口红新品发布', }, { id: 'h-003', taskId: 'task-103', taskTitle: '健身器材推荐脚本', creatorName: '健身教练王', contentType: 'script', result: 'approved', reviewedAt: '2026-02-05 16:45', projectName: 'ZZ运动品牌推广', }, { id: 'h-004', taskId: 'task-104', taskTitle: '美妆新品测评视频', creatorName: '达人小红', contentType: 'video', result: 'rejected', reason: '品牌调性不符', reviewedAt: '2026-02-05 10:15', projectName: 'XX品牌618推广', }, { id: 'h-005', taskId: 'task-105', taskTitle: '数码产品开箱脚本', creatorName: '科技小哥', contentType: 'script', result: 'approved', reviewedAt: '2026-02-04 15:30', projectName: 'AA数码新品上市', }, ] export default function AgencyReviewHistoryPage() { const router = useRouter() const [searchQuery, setSearchQuery] = useState('') const [filterResult, setFilterResult] = useState<'all' | 'approved' | 'rejected'>('all') const [filterType, setFilterType] = useState<'all' | 'script' | 'video'>('all') // 筛选数据 const filteredHistory = mockHistoryData.filter(item => { const matchesSearch = searchQuery === '' || item.taskTitle.toLowerCase().includes(searchQuery.toLowerCase()) || item.creatorName.toLowerCase().includes(searchQuery.toLowerCase()) || item.projectName.toLowerCase().includes(searchQuery.toLowerCase()) const matchesResult = filterResult === 'all' || item.result === filterResult const matchesType = filterType === 'all' || item.contentType === filterType return matchesSearch && matchesResult && matchesType }) // 统计 const approvedCount = mockHistoryData.filter(i => i.result === 'approved').length const rejectedCount = mockHistoryData.filter(i => i.result === 'rejected').length return (
查看您的历史审核记录
{mockHistoryData.length}
总审核数
{approvedCount}
已通过
{rejectedCount}
已驳回
驳回原因: {item.reason}
)}没有找到匹配的审核记录