"use client" import { useState } from "react" import { useRouter } from "next/navigation" import { ChevronLeft, Plus, Filter, Search, RefreshCw, MoreVertical, Clock, TrendingUp, Users, Trash2, } from "lucide-react" import { Card } from "@/components/ui/card" import { Button } from "@/components/ui/button" import { Input } from "@/components/ui/input" import { Badge } from "@/components/ui/badge" import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from "@/components/ui/dropdown-menu" import { Switch } from "@/components/ui/switch" import { Dialog, DialogContent, DialogHeader, DialogTitle } from "@/components/ui/dialog" import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select" import Link from "next/link" interface DistributionPlan { id: string name: string status: "active" | "paused" source: string sourceIcon: string targetGroups: string[] totalUsers: number dailyAverage: number lastUpdated: string createTime: string creator: string } export default function TrafficDistributionPage() { const router = useRouter() const [showFilterDialog, setShowFilterDialog] = useState(false) const [searchQuery, setSearchQuery] = useState("") const [sourceFilter, setSourceFilter] = useState("all") const [plans, setPlans] = useState([ { id: "1", name: "抖音直播引流计划", status: "active", source: "douyin", sourceIcon: "🎬", targetGroups: ["新客户", "潜在客户"], totalUsers: 1250, dailyAverage: 85, lastUpdated: "2024-03-18 10:30:00", createTime: "2024-03-10 08:30:00", creator: "admin", }, { id: "2", name: "小红书种草计划", status: "active", source: "xiaohongshu", sourceIcon: "📱", targetGroups: ["女性用户", "美妆爱好者"], totalUsers: 980, dailyAverage: 65, lastUpdated: "2024-03-17 14:20:00", createTime: "2024-03-12 09:15:00", creator: "marketing", }, { id: "3", name: "微信社群活动", status: "paused", source: "wechat", sourceIcon: "💬", targetGroups: ["老客户", "会员"], totalUsers: 2340, dailyAverage: 0, lastUpdated: "2024-03-15 09:45:00", createTime: "2024-02-28 11:20:00", creator: "social", }, ]) // 根据筛选条件过滤计划 const filteredPlans = plans .filter((plan) => searchQuery === "" || plan.name.toLowerCase().includes(searchQuery.toLowerCase())) .filter((plan) => sourceFilter === "all" || plan.source === sourceFilter) const handleDelete = (planId: string) => { setPlans(plans.filter((plan) => plan.id !== planId)) } const handleEdit = (planId: string) => { router.push(`/workspace/traffic-distribution/${planId}/edit`) } const handleView = (planId: string) => { router.push(`/workspace/traffic-distribution/${planId}`) } const togglePlanStatus = (planId: string) => { setPlans( plans.map((plan) => plan.id === planId ? { ...plan, status: plan.status === "active" ? "paused" : "active" } : plan, ), ) } return (

流量分发

setSearchQuery(e.target.value)} />
{filteredPlans.length === 0 ? (
暂无数据
) : ( filteredPlans.map((plan) => (
{plan.sourceIcon}

{plan.name}

{plan.status === "active" ? "进行中" : "已暂停"}
togglePlanStatus(plan.id)} /> handleView(plan.id)}> 查看 handleEdit(plan.id)}> 编辑 handleDelete(plan.id)}> 删除
目标人群:{plan.targetGroups.join(", ")}
总流量:{plan.totalUsers} 人
日均获取:{plan.dailyAverage} 人
创建人:{plan.creator}
上次更新:{plan.lastUpdated}
创建时间:{plan.createTime}
)) )}
{/* 筛选弹窗 */} 筛选分发计划
) }