"use client" import { useEffect, useState } from "react" import { useParams, useRouter } from "next/navigation" import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card" import { Badge } from "@/components/ui/badge" import { Button } from "@/components/ui/button" import { ArrowLeft, User, Tag, TrendingUp, DollarSign, Calendar, Phone, Mail, MapPin } from "lucide-react" type UserDetail = { id: string name: string avatar?: string email: string phone: string city: string store: string project: string team: string tags: string[] persona: string[] source: string recency: number frequency: number monetary: number rfmScore: number assetValue: number riskLevel: "低" | "中" | "高" lastActivity: string status: "活跃" | "沉睡" | "流失风险" detailedTags: { category: string tags: { name: string; confidence: number; source: string }[] }[] assetBreakdown: { category: string value: number percentage: number }[] } export default function UserDetailPage() { const params = useParams<{ id: string }>() const router = useRouter() const [data, setData] = useState(null) const [loading, setLoading] = useState(true) useEffect(() => { if (!params?.id) return setLoading(true) setTimeout(() => { setData({ id: params.id, name: "张三", email: "zhangsan@example.com", phone: "138****8888", city: "厦门", store: "思明店", project: "贷款业务", team: "A组", tags: ["高价值客户", "活跃用户", "信用良好"], persona: ["高净值人群", "投资偏好保守"], source: "微信推广", recency: 85, frequency: 92, monetary: 88, rfmScore: 88, assetValue: 1250000, riskLevel: "低", lastActivity: "2024-01-15 14:30:00", status: "活跃", detailedTags: [ { category: "行为标签", tags: [ { name: "高频访问", confidence: 95, source: "系统分析" }, { name: "深度浏览", confidence: 88, source: "行为追踪" }, { name: "主动咨询", confidence: 92, source: "客服记录" }, ], }, { category: "偏好标签", tags: [ { name: "理财产品", confidence: 90, source: "购买记录" }, { name: "保险产品", confidence: 75, source: "浏览记录" }, { name: "投资咨询", confidence: 85, source: "咨询记录" }, ], }, { category: "风险标签", tags: [ { name: "信用优良", confidence: 98, source: "征信报告" }, { name: "收入稳定", confidence: 92, source: "银行流水" }, { name: "资产充足", confidence: 88, source: "资产证明" }, ], }, ], assetBreakdown: [ { category: "客户生命周期价值", value: 450000, percentage: 36 }, { category: "交叉销售潜力", value: 320000, percentage: 26 }, { category: "推荐价值", value: 280000, percentage: 22 }, { category: "品牌忠诚度价值", value: 200000, percentage: 16 }, ], }) setLoading(false) }, 500) }, [params?.id]) if (loading) { return (
) } if (!data) { return (

未找到该用户

) } return (

用户详细信息

基本信息

{data.name}

{data.phone} {data.email}
{data.city} · {data.store} {data.project} · {data.team}
{data.status}
{data.persona.map((p) => ( {p} ))}
用户资产评估
¥{data.assetValue.toLocaleString()}
总资产价值
{data.rfmScore}
RFM评分
{data.riskLevel}
风险等级
{data.source}
获客来源

资产价值构成

{data.assetBreakdown.map((item) => (
{item.category}
¥{item.value.toLocaleString()}
))}
详细标签信息 {data.detailedTags.map((category) => (

{category.category}

{category.tags.map((tag) => (
{tag.name} 来源: {tag.source}
{tag.confidence}%
))}
))}
RFM详细指标
{data.recency}
最近性 (R)
{data.frequency}
频率 (F)
{data.monetary}
货币价值 (M)
最后活跃时间
{data.lastActivity}
) }