feat(frontend): P2 页面开发 — 今日行动中心 + 对比 + 决策线程 + OODA + 助推追踪 + 密级标签
- 今日行动中心: 6 区块结构(AI早报/必须处理/建议关注/增长机会/等待他人/已完成) - 多企业对比: 集成 CompareMode 组件 + 企业选择器 - 决策线程列表/详情: 集成 ThreadList/ThreadDetail 组件 - OODA 决策循环: 四阶段可视化 + 决策延迟追踪 - 助推效果追踪: 采纳率/行动率/疲劳度指标面板 - 信息分级标识: 4 级密级标签组件(公开/内部/机密/绝密)
This commit is contained in:
@@ -1,52 +1,34 @@
|
||||
/** 决策线程详情页 — 状态机时间线 + 关联事件 + AAR 链接。 */
|
||||
|
||||
import { GitBranch, ArrowLeft } from "lucide-react";
|
||||
import Link from "next/link";
|
||||
"use client";
|
||||
|
||||
import { ThreadDetail } from "@/components/threads/ThreadDetail";
|
||||
import type { TimelineNode } from "@/components/threads/ThreadDetail";
|
||||
import type { RelatedEvent } from "@/components/threads/ThreadDetail";
|
||||
|
||||
/** 决策线程详情页面。 */
|
||||
export default function ThreadDetailPage({ params }: { params: { id: string } }) {
|
||||
const timeline: TimelineNode[] = [
|
||||
{ status: "identified", label: "已识别", date: "2026-07-09", description: "Runway 不足 7 月,弱信号触发", active: true },
|
||||
{ status: "analyzing", label: "分析中", date: "2026-07-12", description: "对比天使+ vs Pre-A 方案", active: true },
|
||||
{ status: "acted", label: "已行动", date: "—", active: false },
|
||||
{ status: "closed", label: "已关闭", date: "—", active: false },
|
||||
];
|
||||
|
||||
const relatedEvents: RelatedEvent[] = [
|
||||
{ type: "risk", title: "现金 Runway 不足 7 月", href: "/risks" },
|
||||
{ type: "report", title: "2026 年 6 月月报", href: "/reports" },
|
||||
{ type: "task", title: "准备天使+轮 BP", href: "/tasks" },
|
||||
];
|
||||
|
||||
return (
|
||||
<div className="space-y-6">
|
||||
<Link href="/threads" className="flex items-center gap-1 text-sm text-muted-foreground hover:text-foreground">
|
||||
<ArrowLeft size={16} />
|
||||
返回线程列表
|
||||
</Link>
|
||||
|
||||
<div className="flex items-center gap-2">
|
||||
<GitBranch className="text-[var(--investor-primary)]" size={24} />
|
||||
<h1 className="text-2xl font-bold">决策线程详情</h1>
|
||||
</div>
|
||||
|
||||
<div className="rounded-lg border bg-white p-4 shadow-sm">
|
||||
<div className="mb-4 flex items-center justify-between">
|
||||
<h2 className="text-lg font-medium">线程 #{params.id}</h2>
|
||||
<span className="rounded-full bg-indigo-50 px-3 py-1 text-xs text-indigo-600">分析中</span>
|
||||
</div>
|
||||
<p className="text-sm text-muted-foreground">
|
||||
状态机时间线、关联事件和 AAR 链接将在 P1 #17 组件完成后集成。
|
||||
</p>
|
||||
</div>
|
||||
|
||||
{/* 时间线占位 */}
|
||||
<div className="rounded-lg border bg-white p-4 shadow-sm">
|
||||
<h3 className="mb-4 font-medium">状态机时间线</h3>
|
||||
<div className="space-y-4">
|
||||
{[
|
||||
{ label: "已识别", date: "2026-07-09", active: true },
|
||||
{ label: "分析中", date: "2026-07-12", active: true },
|
||||
{ label: "已行动", date: "—", active: false },
|
||||
{ label: "已关闭", date: "—", active: false },
|
||||
].map((step, i) => (
|
||||
<div key={i} className="flex items-center gap-3">
|
||||
<div className={`h-3 w-3 rounded-full ${step.active ? "bg-indigo-500" : "bg-gray-300"}`} />
|
||||
<span className={`text-sm ${step.active ? "font-medium" : "text-muted-foreground"}`}>
|
||||
{step.label}
|
||||
</span>
|
||||
<span className="text-xs text-muted-foreground">{step.date}</span>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<ThreadDetail
|
||||
threadId={params.id}
|
||||
title="量子芯微 融资策略:天使+ vs Pre-A"
|
||||
company="量子芯微"
|
||||
status="analyzing"
|
||||
timeline={timeline}
|
||||
relatedEvents={relatedEvents}
|
||||
/>
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user