feat(dashboard): 经营看板「本量利·保本点」卡片 + 只读BEP概览端点 (cma-bep-kpi Phase2)
- 新增 GET /api/cma/dashboard/bep-card:账面/现金双口径只读数据 (5001月销113.6/5602管理费26.1/折旧560213 7.51/渠补率84.61%) 账面: 保本169.9万 覆盖率66.9%(黄) 缺口33.1%; 现金: 保本121.0万 覆盖率93.9% - 新增 components/BEPBreakEvenCard.vue:主指标覆盖率红黄绿圆点+副指标 并排+下钻面板(公式/输入KPI/双口径切换/解读),A区只读 - Dashboard.vue CEO/财务视图顶部引入卡片
This commit is contained in:
@@ -42,6 +42,8 @@
|
||||
|
||||
<!-- ====== CEO视图 ====== -->
|
||||
<template v-if="userRole === 'ceo'">
|
||||
<!-- 本量利·保本点卡片(Phase2,A区只读) -->
|
||||
<BEPBreakEvenCard />
|
||||
<!-- 摘要卡片行 -->
|
||||
<div class="summary-row">
|
||||
<div class="stat-card blue" @click="$router.push('/kpis')" style="cursor:pointer;"><div class="stat-val"><CountUp :value="summary.kpi_total" /></div><div class="stat-label">KPI总数</div><div class="stat-sub click-hint">点击查看详情</div></div>
|
||||
@@ -157,6 +159,8 @@
|
||||
|
||||
<!-- ====== 财务视图 ====== -->
|
||||
<template v-if="userRole === 'finance'">
|
||||
<!-- 本量利·保本点卡片(Phase2,A区只读) -->
|
||||
<BEPBreakEvenCard />
|
||||
<div class="summary-row">
|
||||
<div class="stat-card blue" @click="$router.push('/deviations')" style="cursor:pointer;"><div class="stat-val">{{ finSummary.total_sales ? fmtValue(finSummary.total_sales, 'SALES_TOTAL') : '-' }}</div><div class="stat-label">本月销售额</div></div>
|
||||
<div class="stat-card" :class="(finSummary.gross_profit_rate ?? 0) < 0 ? 'red' : 'green'" @click="$router.push('/deviations')" style="cursor:pointer;">
|
||||
@@ -271,6 +275,7 @@ import { dashboardApi, alertApi, aiSuggestionApi } from '../api/index'
|
||||
import axios from 'axios'
|
||||
import CountUp from '../components/CountUp.vue'
|
||||
import GrowthQuality from '../components/GrowthQuality.vue'
|
||||
import BEPBreakEvenCard from '../components/BEPBreakEvenCard.vue'
|
||||
|
||||
const router = useRouter()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user