平台订单列表:快捷筛选仅保留上下文字段避免互斥叠加

This commit is contained in:
萝卜
2026-03-13 23:48:13 +00:00
parent 8168b24215
commit 5023381816
2 changed files with 58 additions and 10 deletions

View File

@@ -77,10 +77,20 @@
// 快捷筛选:尽量保留当前筛选(站点/套餐/订阅ID/back 等),仅覆盖目标筛选字段,并清空 page。
$buildQuickFilterUrl = function (array $overrides) {
$path = '/' . ltrim(request()->path(), '/');
$q = request()->query();
// 强制清页码,避免“切筛选但还停留在老 page=xxx”导致空页
unset($q['page']);
// 快捷筛选的设计原则:
// - 保留“上下文”字段(站点/套餐/订阅/back/关键词)
// - 清理其它可能互斥/叠加导致空结果的筛选字段(例如 syncable_only/reconcile_mismatch 等)
// - 并且强制清空 page避免落到空页
$contextKeys = [
'merchant_id' => 1,
'plan_id' => 1,
'site_subscription_id' => 1,
'back' => 1,
'keyword' => 1,
];
$q = array_intersect_key(request()->query(), $contextKeys);
foreach ($overrides as $k => $v) {
if ($v === null) {