import { useState } from "react"; import { Search, Plus, Filter, ChevronRight, Building, Calendar, DollarSign, Activity, X, Clock, FileText, User, Tag, Link as LinkIcon } from "lucide-react"; import { motion, AnimatePresence } from "motion/react"; export default function Opportunities() { const [filter, setFilter] = useState("all"); const [selectedItem, setSelectedItem] = useState(null); const oppData = [ { id: "HD-20231024-001", name: "A市第一人民医院云桌面扩容", client: "A市第一人民医院", owner: "张三", amount: "1,200,000", date: "2023-12-15", confidence: 80, stage: "招投标", type: "扩容", pushedToOMS: true, product: "VDI云桌面", source: "渠道推荐", notes: "客户现有500点并发,本次计划扩容300点,主要用于门诊医生工作站。对性能要求较高,需要重点测试3D渲染能力。", }, { id: "HB-20231025-002", name: "B大学新校区机房建设", client: "B大学", owner: "李四", amount: "3,500,000", date: "2024-03-01", confidence: 40, stage: "方案交流", type: "新建", pushedToOMS: false, product: "VOI云桌面", source: "市场活动", notes: "新校区规划了5个公共机房,共计800台终端。目前处于方案设计阶段,竞争对手有深信服和锐捷。", }, { id: "HN-20231026-003", name: "C集团办公云桌面替换", client: "C集团", owner: "王五", amount: "800,000", date: "2023-11-30", confidence: 90, stage: "商务谈判", type: "新建", pushedToOMS: true, product: "IDV云桌面", source: "主动开发", notes: "替换原有传统PC,客户对数据安全和外设兼容性要求极高。POC测试已通过,目前正在进行价格谈判。", }, ]; const followUpRecords = [ { id: 1, date: "2023-10-25 14:30", type: "现场拜访", content: "与信息科主任沟通了扩容需求,确认了具体的点数和预算范围。主任对我们的前期服务比较认可。", user: "张三" }, { id: 2, date: "2023-10-20 10:00", type: "电话沟通", content: "初步了解了医院近期的信息化建设规划,得知有云桌面扩容的意向。", user: "张三" }, ]; const getConfidenceColor = (score: number) => { if (score >= 80) return "text-emerald-600 dark:text-emerald-400 bg-emerald-50 dark:bg-emerald-500/10 border-emerald-200 dark:border-emerald-500/20"; if (score >= 50) return "text-amber-600 dark:text-amber-400 bg-amber-50 dark:bg-amber-500/10 border-amber-200 dark:border-amber-500/20"; return "text-rose-600 dark:text-rose-400 bg-rose-50 dark:bg-rose-500/10 border-rose-200 dark:border-rose-500/20"; }; return (

商机储备

{/* Search & Filter */}
{/* Quick Filters */}
{["全部", "初步沟通", "方案交流", "招投标", "商务谈判", "已成交"].map((stage) => ( ))}
{/* List */}
{oppData.map((opp, i) => ( setSelectedItem(opp)} className="group cursor-pointer relative rounded-2xl border border-slate-100 dark:border-slate-800 bg-white dark:bg-slate-900/50 p-5 shadow-sm backdrop-blur-sm transition-all hover:shadow-md hover:border-violet-100 dark:hover:border-violet-900/50" >
{opp.id} {opp.pushedToOMS && ( 已推OMS )}

{opp.name}

{opp.confidence}% 把握度
{opp.client}
¥{opp.amount}
{opp.date}
{opp.stage}
类型: {opp.type}
))}
{/* Detail Slide-over Panel */} {selectedItem && ( <> setSelectedItem(null)} className="fixed inset-0 bg-slate-900/20 dark:bg-slate-900/60 backdrop-blur-sm z-40" /> {/* Header */}

商机详情

{/* Content */}
{/* Header Info */}
{selectedItem.id} {selectedItem.pushedToOMS && ( 已推OMS )}

{selectedItem.name}

{selectedItem.stage} 把握度 {selectedItem.confidence}%
{/* Basic Info Grid */}

基本信息

客户名称

{selectedItem.client}

商机金额

¥{selectedItem.amount}

预计结单

{selectedItem.date}

负责人

{selectedItem.owner}

商机类型

{selectedItem.type}

产品类别

{selectedItem.product}

商机来源

{selectedItem.source}

备注说明

{selectedItem.notes}

{/* Timeline */}

跟进记录

{followUpRecords.map((record) => (
{record.type} {record.date}

{record.content}

跟进人: {record.user}

))}
{/* Footer */}
)}
); }