diff --git a/resources/views/business/pages/refunds/non-jingxi-refund-data.blade.php b/resources/views/business/pages/refunds/non-jingxi-refund-data.blade.php index ccc59854..b9ac94eb 100644 --- a/resources/views/business/pages/refunds/non-jingxi-refund-data.blade.php +++ b/resources/views/business/pages/refunds/non-jingxi-refund-data.blade.php @@ -152,7 +152,7 @@ class="upstream-data-table refund-data-table refund-data-table--wide" aria-label="售后(退货退款)" data-finance-export-base="{{ route('business.refunds.non-jingxi-refund-data.export') }}" - data-finance-export-query="{{ e(json_encode($filters, JSON_UNESCAPED_UNICODE)) }}" + data-finance-export-query="{{ json_encode($filters, JSON_UNESCAPED_UNICODE) }}" data-finance-export-disabled="{{ $rows->total() === 0 || $refundError || $refundPending || $refundIndexPending ? 'true' : 'false' }}" > diff --git a/tests/Feature/Business/NonJingxiRefundPageTest.php b/tests/Feature/Business/NonJingxiRefundPageTest.php index 82b9164e..9e5ee825 100644 --- a/tests/Feature/Business/NonJingxiRefundPageTest.php +++ b/tests/Feature/Business/NonJingxiRefundPageTest.php @@ -90,7 +90,8 @@ class NonJingxiRefundPageTest extends FeatureTestCase 'shop_name' => '测试店', 'sku_id' => 'SKU-1', 'page' => 2, ]); - $this->loginAs()->get($url) + $response = $this->loginAs()->get($url); + $response ->assertOk() ->assertSee('data-filter-contract="non-jingxi-refund-data.filters"', false) ->assertSee('data-sync-state="syncing"', false) @@ -108,6 +109,12 @@ class NonJingxiRefundPageTest extends FeatureTestCase ->assertSee('data-export-field="refundDate"', false) ->assertSee('value="2026-08-01"', false) ->assertSee('value="ORDER-1"', false); + + $this->assertSame(1, preg_match('/data-finance-export-query="([^"]+)"/', $response->getContent(), $exportQuery)); + $this->assertSame([ + 'from' => '2026-08-01', 'to' => '2026-08-21', 'order_no' => 'ORDER-1', + 'shop_name' => '测试店', 'sku_id' => 'SKU-1', + ], json_decode(html_entity_decode($exportQuery[1], ENT_QUOTES | ENT_HTML5, 'UTF-8'), true, 512, JSON_THROW_ON_ERROR)); } public function test_refund_export_downloads_filtered_csv(): void