feat(admin-dashboard): clarify plan share top5 meta with total and coverage

This commit is contained in:
萝卜
2026-03-16 13:49:56 +08:00
parent 0f07fe7c8b
commit a9f1185f84
3 changed files with 61 additions and 4 deletions

View File

@@ -374,9 +374,14 @@
@php
$shareRows = (array) ($planOrderShare ?? []);
$totalOrders = 0;
$top5Orders = 0;
foreach ($shareRows as $r) {
$totalOrders += (int) ($r['count'] ?? 0);
$top5Orders += (int) ($r['count'] ?? 0);
}
$totalOrders = (int) ($planOrderShareTotal ?? 0);
if ($totalOrders <= 0) {
// 兜底:兼容旧数据(未传 total 时,至少不影响渲染)
$totalOrders = (int) $top5Orders;
}
@endphp
@@ -401,9 +406,14 @@
$shareTop1Count = max($shareTop1Count, (int) ($r['count'] ?? 0));
}
$shareTop1Pct = $totalOrders > 0 ? round(($shareTop1Count / $totalOrders) * 100, 1) : 0;
$shareCoveragePct = $totalOrders > 0 ? round(($top5Orders / $totalOrders) * 100, 1) : 0;
@endphp
<div class="adm-mini-meta" data-role="plan-order-share-top5-meta">
<span class="adm-mini-meta-item">Top5合计订单:<strong>{{ (int) $totalOrders }}</strong></span>
<span class="adm-mini-meta-item">全量订单:<strong>{{ (int) $totalOrders }}</strong></span>
<span class="adm-mini-meta-sep"></span>
<span class="adm-mini-meta-item">Top5合计<strong>{{ (int) $top5Orders }}</strong></span>
<span class="adm-mini-meta-sep"></span>
<span class="adm-mini-meta-item">覆盖率:<strong>{{ $shareCoveragePct }}%</strong></span>
<span class="adm-mini-meta-sep"></span>
<span class="adm-mini-meta-item">Top1占比<strong>{{ $shareTop1Pct }}%</strong></span>
</div>
@@ -426,7 +436,11 @@
@endphp
@php
$planOrdersUrl = \App\Support\BackUrl::withBack(
'/admin/platform-orders?' . \Illuminate\Support\Arr::query(['plan_id' => $planId]),
'/admin/platform-orders?' . \Illuminate\Support\Arr::query([
'plan_id' => $planId,
'created_from' => now()->subDays(6)->format('Y-m-d'),
'created_to' => now()->format('Y-m-d'),
]),
$selfWithoutBack
);
@endphp