diff --git a/client/src/components/BusinessReportDialog.tsx b/client/src/components/BusinessReportDialog.tsx index 9773fa1..ca0d490 100644 --- a/client/src/components/BusinessReportDialog.tsx +++ b/client/src/components/BusinessReportDialog.tsx @@ -50,13 +50,16 @@ export function BusinessReportDialog({ open, onClose, data }: BusinessReportDial const expenseRate = wf ? (Number(wf.total_expense) / Number(wf.received) * 100) : 0 const contributionRate = wf ? (Number(wf.store_contribution) / Number(wf.received) * 100) : 0 + // 30天承诺值:取理论月度机会的80%(考虑项目重叠和促销弹性),不低于0 + const commitValue = Math.max(Math.round(totalOpp * 0.8), 0) + const otherStores = (ex?.total_stores || 0) - (ex?.profitable_stores || 0) - (ex?.loss_stores || 0) const reportText = `本月经营态势报告,${data.month}月。 一、整体经营。营业收入${formatCurrency(ex?.total_consumption)},优惠${formatCurrency(ex?.total_discount)},实收总额${formatCurrency(ex?.total_received)},环比上周${data.trendReceived > 0 ? '增长' : '下降'}${Math.abs(data.trendReceived)}%。门店共${ex?.total_stores}家,其中盈利${ex?.profitable_stores}家,亏损${ex?.loss_stores}家${otherStores > 0 ? `,待确认${otherStores}家` : ''}。客单价${formatCurrency(ex?.avg_bill_value)},账单${ex?.total_bills}笔。门店贡献利润${formatCurrency(ex?.actual_net_profit)},贡献率${formatPercent(profitMargin)}。 二、成本费用。食材成本率${formatPercent(foodCostRate)},建议低于32%。费用率${formatPercent(expenseRate)},建议低于40%。贡献率${formatPercent(contributionRate)},建议高于10%。食材成本超耗严重${costOv.red_count || 0}家,明显超耗${costOv.orange_count || 0}家,基本正常${costOv.green_count || 0}家,总差异金额${formatCurrency(costOv.total_variance)}。 三、风险态势。红色门店${riskSummary['红色'] || 0}家,黄色门店${riskSummary['黄色'] || 0}家,绿色门店${riskSummary['绿色'] || 0}家。重点整改门店P0级${p0Stores.length}家,P1级${p1Stores.length}家。 -四、利润机会。理论月度机会合计${formatCurrency(totalOpp)},涉及${profitOpp.length}个改善方向。30天承诺值大于等于150万元,目标将门店贡献率从${formatPercent(profitMargin)}提升至约10%。` +四、利润机会。理论月度机会合计${formatCurrency(totalOpp)},涉及${profitOpp.length}个改善方向。考虑项目重叠和促销弹性,30天经营承诺值取大于等于${formatCurrency(commitValue)}。` const handleTTS = async () => { if (isPlaying) { @@ -223,7 +226,7 @@ export function BusinessReportDialog({ open, onClose, data }: BusinessReportDial

四、利润机会

- 理论月度机会合计 {formatCurrency(totalOpp)},涉及 {profitOpp.length} 个改善方向。30 天承诺值 ≥ 150 万元,目标将门店贡献率从 {formatPercent(profitMargin)} 提升至约 10%。 + 理论月度机会合计 {formatCurrency(totalOpp)},涉及 {profitOpp.length} 个改善方向。考虑项目重叠和促销弹性,30 天经营承诺值取 ≥ {formatCurrency(commitValue)}

diff --git a/client/src/pages/BossPage.tsx b/client/src/pages/BossPage.tsx index 711fa48..d23212e 100644 --- a/client/src/pages/BossPage.tsx +++ b/client/src/pages/BossPage.tsx @@ -324,7 +324,7 @@ export function BossPage() { {/* ②b 利润机会池 */} {profitOpp.length > 0 && ( - +
{[...profitOpp].sort((a: any, b: any) => Number(b.opportunity || 0) - Number(a.opportunity || 0)).map((o: any, i: number) => { const opp = Number(o.opportunity || 0) @@ -341,8 +341,7 @@ export function BossPage() { 30天整改目标

- 理论月度机会合计 {formatCurrency(totalOpportunity)},考虑项目重叠和促销弹性,经营承诺值取 ≥ 150万元。 - 标准门店贡献率目标从 7.29% 提升至约 10%。 + 理论月度机会合计 {formatCurrency(totalOpportunity)},考虑项目重叠和促销弹性,经营承诺值取 ≥ {formatCurrency(Math.max(Math.round(totalOpportunity * 0.8), 0))}