From 080585b0f618b871ae92f2ec4ba82c6294ff1cb7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=90=9D=E5=8D=9C?= Date: Tue, 17 Mar 2026 03:35:27 +0800 Subject: [PATCH] refactor(dashboard): centralize 7d range + merchant/plan links --- resources/views/admin/dashboard.blade.php | 48 +++++++++++++++-------- 1 file changed, 31 insertions(+), 17 deletions(-) diff --git a/resources/views/admin/dashboard.blade.php b/resources/views/admin/dashboard.blade.php index b23f42b..159274b 100644 --- a/resources/views/admin/dashboard.blade.php +++ b/resources/views/admin/dashboard.blade.php @@ -15,6 +15,10 @@ 'plans' => \App\Support\BackUrl::withBack('/admin/plans', $selfWithoutBack), ]; + // 仪表盘内所有“近7天”口径统一在这里计算,避免散落 now()->subDays(6) 导致未来改动遗漏。 + $rangeFrom7d = now()->subDays(6)->format('Y-m-d'); + $rangeTo7d = now()->format('Y-m-d'); + $platformOrdersQuickLinks = [ // 复用工作台入口(避免 /admin/platform-orders 入口口径分叉) 'platform_orders' => $billingEntryLinks['platform_orders'], @@ -30,6 +34,31 @@ ); }, + // 站点收入排行:已付订单集合(merchant_id + payment_status=paid + 日期范围) + 'merchant_paid_orders_range' => function (int $merchantId, string $from, string $to) use ($selfWithoutBack): string { + return \App\Support\BackUrl::withBack( + '/admin/platform-orders?' . \Illuminate\Support\Arr::query([ + 'merchant_id' => $merchantId, + 'payment_status' => 'paid', + 'created_from' => $from, + 'created_to' => $to, + ]), + $selfWithoutBack + ); + }, + + // 套餐订单占比:按套餐筛选 + 日期范围(用于 Top5 表格链接,同时被 JS 复用为 mini chart 点击入口) + 'plan_orders_range' => function (int $planId, string $from, string $to) use ($selfWithoutBack): string { + return \App\Support\BackUrl::withBack( + '/admin/platform-orders?' . \Illuminate\Support\Arr::query([ + 'plan_id' => $planId, + 'created_from' => $from, + 'created_to' => $to, + ]), + $selfWithoutBack + ); + }, + // 平台订单(收费闭环)工作台入口:尽量保持与列表页筛选语义一致。 'unpaid_pending' => \App\Support\BackUrl::withBack('/admin/platform-orders?payment_status=unpaid&status=pending', $selfWithoutBack), // 待生效:paid + pending,并显式锁定 sync_status=unsynced(排除同步失败等异常单) @@ -241,15 +270,7 @@ @php $mid = (int) ($row['merchant_id'] ?? 0); $mname = (string) (($merchantIdToName[$mid] ?? '') ?: ('#' . $mid)); - $merchantOrdersUrl = \App\Support\BackUrl::withBack( - '/admin/platform-orders?' . \Illuminate\Support\Arr::query([ - 'merchant_id' => $mid, - 'payment_status' => 'paid', - 'created_from' => now()->subDays(6)->format('Y-m-d'), - 'created_to' => now()->format('Y-m-d'), - ]), - $selfWithoutBack - ); + $merchantOrdersUrl = ($platformOrdersQuickLinks['merchant_paid_orders_range'])($mid, $rangeFrom7d, $rangeTo7d); @endphp {{ $mname }} @@ -761,14 +782,7 @@ $planName = (string) (($planIdToName[$planId] ?? '') ?: ('#' . $planId)); @endphp @php - $planOrdersUrl = \App\Support\BackUrl::withBack( - '/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 - ); + $planOrdersUrl = ($platformOrdersQuickLinks['plan_orders_range'])($planId, $rangeFrom7d, $rangeTo7d); @endphp {{ $planName }}