"use client" import { useState } from "react" import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from "@/components/ui/table" import { Button } from "@/components/ui/button" import { Badge } from "@/components/ui/badge" import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger, } from "@/components/ui/dropdown-menu" import { formatDate } from "@/lib/utils" import { MoreHorizontal, ChevronLeft, ChevronRight } from "lucide-react" export function UserPoolTable() { const [currentPage, setCurrentPage] = useState(1) const [itemsPerPage] = useState(10) // 这里应该从API获取实际数据 const users = [ { id: "1", name: "张三", phone: "13812345678", source: "微信", registerDate: new Date(2023, 5, 15), lastActive: new Date(2023, 6, 20), value: "high", tags: ["潜在客户", "对产品感兴趣"], status: "active", }, { id: "2", name: "李四", phone: "13987654321", source: "抖音", registerDate: new Date(2023, 4, 10), lastActive: new Date(2023, 6, 18), value: "medium", tags: ["新用户", "已咨询"], status: "active", }, { id: "3", name: "王五", phone: "13765432198", source: "小红书", registerDate: new Date(2023, 3, 5), lastActive: new Date(2023, 5, 25), value: "low", tags: ["已购买", "需要跟进"], status: "inactive", }, { id: "4", name: "赵六", phone: "13654321987", source: "官网", registerDate: new Date(2023, 2, 20), lastActive: new Date(2023, 6, 19), value: "high", tags: ["VIP客户", "高频购买"], status: "active", }, { id: "5", name: "钱七", phone: "13543219876", source: "微信", registerDate: new Date(2023, 1, 15), lastActive: new Date(2023, 4, 10), value: "medium", tags: ["已流失", "需要挽回"], status: "lost", }, ] const totalPages = Math.ceil(users.length / itemsPerPage) const startIndex = (currentPage - 1) * itemsPerPage const endIndex = startIndex + itemsPerPage const currentUsers = users.slice(startIndex, endIndex) const getUserValueBadge = (value: string) => { switch (value) { case "high": return 高价值 case "medium": return 中价值 case "low": return 低价值 default: return 未知 } } const getUserStatusBadge = (status: string) => { switch (status) { case "active": return 活跃 case "inactive": return 非活跃 case "lost": return 流失 default: return 未知 } } return (
用户名 手机号 来源 注册时间 最后活跃 用户价值 状态 标签 操作 {currentUsers.map((user) => ( {user.name} {user.phone} {user.source} {formatDate(user.registerDate)} {formatDate(user.lastActive)} {getUserValueBadge(user.value)} {getUserStatusBadge(user.status)}
{user.tags.map((tag) => ( {tag} ))}
操作 查看详情 编辑信息 添加标签 发送消息 删除用户
))}

显示第 {startIndex + 1} 到 {Math.min(endIndex, users.length)} 条,共 {users.length} 条

) }