From 4265f4bc4c4e38f6ee2e75dad5a27137f2ea1116 Mon Sep 17 00:00:00 2001 From: selfrelease Date: Mon, 20 Jul 2026 07:50:39 +0800 Subject: [PATCH] fix(dashboard): total_companies returns 1 in single-company scope; KPI labels adapt --- backend/app/routers/dashboard.py | 13 ++++++++----- frontend/src/app/(investor)/dashboard/page.tsx | 6 +++--- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/backend/app/routers/dashboard.py b/backend/app/routers/dashboard.py index b8af94a..4f3590f 100644 --- a/backend/app/routers/dashboard.py +++ b/backend/app/routers/dashboard.py @@ -35,11 +35,14 @@ async def get_dashboard_summary( """获取仪表盘汇总数据。支持按企业过滤。""" tenant_id = user.tenant_id - # 企业总数 - companies_result = await db.execute( - select(func.count()).select_from(Company).where(Company.tenant_id == tenant_id) - ) - total_companies = companies_result.scalar_one() + # 企业总数(单企业视角时为 1) + if company_id: + total_companies = 1 + else: + companies_result = await db.execute( + select(func.count()).select_from(Company).where(Company.tenant_id == tenant_id) + ) + total_companies = companies_result.scalar_one() # 平均健康度(按企业过滤时只算该企业) avg_query = ( diff --git a/frontend/src/app/(investor)/dashboard/page.tsx b/frontend/src/app/(investor)/dashboard/page.tsx index ebd98e6..6153b2a 100644 --- a/frontend/src/app/(investor)/dashboard/page.tsx +++ b/frontend/src/app/(investor)/dashboard/page.tsx @@ -45,15 +45,15 @@ export default function InvestorDashboardPage() { const kpis = [ { - label: "被投企业", - value: summary?.total_companies ?? 0, + label: companyName ? "当前企业" : "被投企业", + value: companyName ?? (summary?.total_companies ?? 0), icon: Building2, href: "/companies", color: "text-[var(--investor-primary)]", bg: "bg-[var(--investor-primary)]/10", }, { - label: "平均健康度", + label: "健康度", value: summary?.avg_health_score?.toFixed(1) ?? "0.0", icon: Heart, href: "/companies",