feat(workbench): complete company view — health trend, major events, milestones, team, synergy + dashboard click-through

This commit is contained in:
selfrelease
2026-07-19 22:01:49 +08:00
parent 0197f89018
commit 3d22bd8a3d
5 changed files with 444 additions and 63 deletions
+59
View File
@@ -130,15 +130,74 @@ class BoardMeetingBrief(BaseModel):
meeting_at: datetime | None = None
class MajorEventBrief(BaseModel):
"""重大事项摘要。"""
id: str
event_type: str
title: str
description: str | None = None
severity: str = "medium"
status: str = "identified"
occurred_at: datetime | None = None
class MilestoneBrief(BaseModel):
"""里程碑摘要。"""
id: str
name: str
status: str = "planned"
is_current: bool = False
target_date: datetime | None = None
actual_date: datetime | None = None
description: str | None = None
class TeamMemberBrief(BaseModel):
"""团队成员摘要。"""
id: str
name: str
role: str | None = None
is_key_person: bool = False
stability_score: float | None = None
joined_at: datetime | None = None
class SynergyBrief(BaseModel):
"""协同机会摘要。"""
id: str
type: str
title: str
description: str | None = None
status: str = "discovered"
match_reason: str | None = None
class HealthScoreHistoryPoint(BaseModel):
"""健康度历史数据点。"""
period: str
total_score: float
calculated_at: datetime
class CompanyDetailResponse(BaseModel):
"""企业详情聚合响应 — 工作台使用。"""
company: CompanyResponse
health_score: HealthScoreBrief | None = None
health_score_history: list[HealthScoreHistoryPoint] = []
recent_reports: list[ReportBrief] = []
open_risks: list[RiskBrief] = []
recent_weak_signals: list[WeakSignalBrief] = []
active_agreements: list[AgreementBrief] = []
recent_board_meetings: list[BoardMeetingBrief] = []
major_events: list[MajorEventBrief] = []
milestones: list[MilestoneBrief] = []
team_members: list[TeamMemberBrief] = []
synergy_opportunities: list[SynergyBrief] = []
financial_data_count: int = 0
latest_financial: dict | None = None