Align dashboard BMPA quick link with bmpa_processable_only filter
This commit is contained in:
@@ -308,10 +308,10 @@
|
||||
|
||||
@php
|
||||
// 快捷筛选:尽量保留当前筛选上下文(站点/套餐/订阅ID/keyword/lead_id/back/时间范围等),仅覆盖目标筛选字段,并清空 page。
|
||||
// 注意:不保留 syncable_only/fail_only 等“工具型开关”,避免用户从一个集合切到另一个集合时被残留开关影响(导致误判/空结果)。
|
||||
// 注意:不保留 syncable_only/fail_only/bmpa_processable_only 等“工具型开关”,避免用户从一个集合切到另一个集合时被残留开关影响(导致误判/空结果)。
|
||||
$buildQuickFilterUrl = function (array $overrides) use ($safeBackForLinks) {
|
||||
// 快捷筛选:仅保留上下文字段(站点/套餐/订阅ID/keyword/lead_id/时间范围/安全 back),避免把其它筛选条件叠加导致空结果。
|
||||
// 该构造器内部会强制清空 page,并且不会继承 syncable_only/fail_only 等“工具型开关”。
|
||||
// 该构造器内部会强制清空 page,并且不会继承 syncable_only/fail_only/bmpa_processable_only 等“工具型开关”。
|
||||
return \App\Support\BackUrl::currentPathQuickFilter(
|
||||
['merchant_id', 'plan_id', 'site_subscription_id', 'keyword', 'lead_id', 'created_from', 'created_to'],
|
||||
$overrides,
|
||||
@@ -327,7 +327,7 @@
|
||||
<div class="inline-links">
|
||||
<a href="{!! $allUrl !!}" class="muted">全部</a>
|
||||
<a href="{!! $buildQuickFilterUrl(['payment_status' => 'unpaid']) !!}" class="muted">待支付</a>
|
||||
<a href="{!! $buildQuickFilterUrl(['status' => 'pending', 'payment_status' => 'unpaid']) !!}" class="muted">可BMPA处理</a>
|
||||
<a href="{!! $buildQuickFilterUrl(['bmpa_processable_only' => '1']) !!}" class="muted">可BMPA处理</a>
|
||||
<a href="{!! $buildQuickFilterUrl(['payment_status' => 'paid', 'status' => 'pending', 'sync_status' => 'unsynced']) !!}" class="muted">待生效</a>
|
||||
<a href="{!! $buildQuickFilterUrl(['syncable_only' => '1', 'sync_status' => 'unsynced']) !!}" class="muted">可同步订阅</a>
|
||||
<a href="{!! $buildQuickFilterUrl(['sync_status' => 'failed']) !!}" class="muted">同步失败</a>
|
||||
@@ -818,7 +818,7 @@
|
||||
<a class="link" title="{{ $reason }}" href="{!! $safeFullUrlWithQuery(['bmpa_error_keyword' => $reason, 'page' => null]) !!}">{{ $reasonText }}</a>
|
||||
<span class="muted">({{ $count }})</span>
|
||||
<span class="muted">|</span>
|
||||
<a class="link" href="{!! $safeFullUrlWithQuery(['bmpa_error_keyword' => $reason, 'status' => 'pending', 'payment_status' => 'unpaid', 'page' => null]) !!}">切到可处理集合重试</a>
|
||||
<a class="link" href="{!! $safeFullUrlWithQuery(['bmpa_error_keyword' => $reason, 'bmpa_processable_only' => '1', 'page' => null]) !!}">切到可处理集合重试</a>
|
||||
<span class="muted">|</span>
|
||||
<a class="link" href="{!! $safeFullUrlWithQuery(['bmpa_failed_only' => '1', 'bmpa_error_keyword' => $reason, 'page' => null]) !!}">进入失败集合</a>
|
||||
@endif
|
||||
@@ -921,10 +921,10 @@
|
||||
<div class="card governance-block mb-10">
|
||||
<div class="muted text-danger governance-block-title"><strong>BMPA 失败治理提示</strong></div>
|
||||
<div class="muted governance-block-body">
|
||||
当前筛选包含「批量标记支付并生效失败/失败原因」范围。建议先补齐回执/核对退款/修正状态后,再切到 pending+unpaid 集合重试批量标记支付。
|
||||
当前筛选包含「批量标记支付并生效失败/失败原因」范围。建议先补齐回执/核对退款/修正状态后,再切到「可BMPA处理」集合重试批量标记支付。
|
||||
<div class="mt-6 actions gap-10">
|
||||
<a class="btn btn-secondary btn-sm" href="{!! $safeFullUrlWithQuery(['bmpa_failed_only' => '1', 'page' => null]) !!}">进入批量标记支付失败集合</a>
|
||||
<a class="btn btn-secondary btn-sm" href="{!! $safeFullUrlWithQuery(['status' => 'pending', 'payment_status' => 'unpaid', 'page' => null]) !!}">切到 pending+unpaid(用于重试)</a>
|
||||
<a class="btn btn-secondary btn-sm" href="{!! $safeFullUrlWithQuery(['bmpa_processable_only' => '1', 'page' => null]) !!}">切到可BMPA处理(用于重试)</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -1031,10 +1031,9 @@
|
||||
<button class="btn btn-sm" type="submit" @disabled($batchBmpaBlocked) title="{{ $batchBmpaBlockedReason }}">批量标记支付并生效(含订阅同步)(当前筛选范围)</button>
|
||||
@if($batchBmpaBlocked)
|
||||
@php
|
||||
// 提效:被阻断时给一键跳转到「可BMPA处理集合」(口径:pending + unpaid)。
|
||||
// 提效:被阻断时给一键跳转到「可BMPA处理集合」(与仪表盘口径对齐)。
|
||||
$goBmpaProcessableUrl = $buildQuickFilterUrl([
|
||||
'status' => 'pending',
|
||||
'payment_status' => 'unpaid',
|
||||
'bmpa_processable_only' => '1',
|
||||
]);
|
||||
@endphp
|
||||
@include('admin.components.tool_blocked_hint', [
|
||||
|
||||
Reference in New Issue
Block a user