admin: 列表行级仅标记生效对齐治理安全阀(续费缺订阅禁用并引导)

This commit is contained in:
萝卜
2026-03-18 00:10:40 +08:00
parent ba7f43fef8
commit decd653ad8
2 changed files with 87 additions and 2 deletions

View File

@@ -1831,11 +1831,21 @@
@php
$canMarkActivatedOnly = ($order->payment_status === 'paid') && ($order->status !== 'activated');
// 安全阀对齐后端:续费单未绑定订阅时,不允许“仅标记为已生效”(后端 markActivated 也会阻断)
$markActivatedBlockedByMissingSubscriptionOnRenewalRow = ((string) ($order->order_type ?? '') === 'renewal')
&& ((int) ($order->site_subscription_id ?? 0) <= 0);
@endphp
<form method="post" action="/admin/platform-orders/{{ $order->id }}/mark-activated" data-action="disable-on-submit" onsubmit="return confirm('确认将该订单标记为已生效?(不修改支付状态,不自动同步订阅)');" class="mb-6">
@csrf
<button class="btn btn-secondary btn-sm" type="submit" @disabled(! $canMarkActivatedOnly)>仅标记为已生效</button>
<button class="btn btn-secondary btn-sm" type="submit" @disabled(! $canMarkActivatedOnly || $markActivatedBlockedByMissingSubscriptionOnRenewalRow)>仅标记为已生效</button>
</form>
@if($markActivatedBlockedByMissingSubscriptionOnRenewalRow)
<div class="muted text-danger mt-6">
续费缺订阅不可直接标记生效
<span class="muted"></span>
<a class="link" href="{!! $relationFixUrlCompactForBmpa !!}">去关联订阅</a>
</div>
@endif
@php
$syncBlockedByGovernanceRow = (bool) ($order->isReconcileMismatch() || $order->isRefundInconsistent());
@@ -1861,7 +1871,7 @@
需先完成治理后再同步
@if($syncBlockedByMissingSubscriptionOnRenewalRow)
<span class="muted"></span>
<a class="link" href="{!! $relationFixUrlCompact !!}">去关联订阅</a>
<a class="link" href="{!! $relationFixUrlCompactForBmpa !!}">去关联订阅</a>
@endif
</div>
@endif