订单数据原始数据页内标签 #69

Merged
renshen merged 1 commits from fix/renshen-order-data-raw-page-tabs into main 2026-08-19 12:15:21 +08:00
8 changed files with 47 additions and 13 deletions

View File

@ -157,7 +157,7 @@ return [
[
'slug' => 'raw-data',
'title' => '原始数据',
'children' => [
'tabs' => [
['slug' => 'after-sales-expenses', 'title' => '订单售后费用明细'],
['slug' => 'promotion-expenses', 'title' => '商品推广费用明细'],
],

View File

@ -163,7 +163,11 @@
<span class="material-icons-outlined" aria-hidden="true">search</span>
<span>查询</span>
</button>
<a href="{{ route('business.pages.show', ['section' => $section['slug'], 'page' => $page['slug']]) }}" class="upstream-data-button">
<a href="{{ route('business.pages.show', [
'section' => $section['slug'],
'page' => $page['slug'],
'tab' => $activeTab['slug'] ?? null,
]) }}" class="upstream-data-button">
<span class="material-icons-outlined" aria-hidden="true">refresh</span>
<span>重置</span>
</a>

View File

@ -36,7 +36,11 @@
<span class="material-icons-outlined" aria-hidden="true">search</span>
<span>查询</span>
</button>
<a href="{{ route('business.pages.show', ['section' => $section['slug'], 'page' => $page['slug']]) }}" class="upstream-data-button">
<a href="{{ route('business.pages.show', [
'section' => $section['slug'],
'page' => $page['slug'],
'tab' => $activeTab['slug'] ?? null,
]) }}" class="upstream-data-button">
<span class="material-icons-outlined" aria-hidden="true">refresh</span>
<span>重置</span>
</a>

View File

@ -0,0 +1 @@
@include('business.pages.order-data.after-sales-expenses')

View File

@ -0,0 +1 @@
@include('business.pages.order-data.promotion-expenses')

View File

@ -49,7 +49,8 @@ class OrderDataPagesUpstreamTest extends FeatureTestCase
$afterSalesResponse = $this->loginAs()
->get(route('business.pages.show', [
'section' => 'order-data',
'page' => 'after-sales-expenses',
'page' => 'raw-data',
'tab' => 'after-sales-expenses',
'order_no' => 'ORDER-1',
'from' => '2026-08-01',
'to' => '2026-08-09',
@ -74,7 +75,8 @@ class OrderDataPagesUpstreamTest extends FeatureTestCase
$this->get(route('business.pages.show', [
'section' => 'order-data',
'page' => 'promotion-expenses',
'page' => 'raw-data',
'tab' => 'promotion-expenses',
]))
->assertOk()
->assertSeeText('推广测试店铺')
@ -97,7 +99,8 @@ class OrderDataPagesUpstreamTest extends FeatureTestCase
$this->loginAs()
->get(route('business.pages.show', [
'section' => 'order-data',
'page' => 'promotion-expenses',
'page' => 'raw-data',
'tab' => 'promotion-expenses',
]))
->assertOk()
->assertSeeText('首份共享快照正在准备。')
@ -119,7 +122,8 @@ class OrderDataPagesUpstreamTest extends FeatureTestCase
$this->loginAs()
->get(route('business.pages.show', [
'section' => 'order-data',
'page' => 'after-sales-expenses',
'page' => 'raw-data',
'tab' => 'after-sales-expenses',
]))
->assertOk()
->assertSeeText('导出当前页')

View File

@ -78,7 +78,7 @@ class PagesTest extends FeatureTestCase
->assertDontSee('class="business-blank-page"', false);
}
public function testOrderDataPagesRenderSpreadsheetHeadersAsSeparateTables()
public function testOrderDataTablesRenderAsRawDataPageTabs()
{
$this->user->attachPermission(
Permission::where('name', 'read-admin-panel')->firstOrFail()
@ -89,6 +89,7 @@ class PagesTest extends FeatureTestCase
->assertRedirect(route('business.pages.show', [
'section' => 'order-data',
'page' => 'raw-data',
'tab' => 'after-sales-expenses',
]));
$this->get(route('business.pages.show', [
@ -97,12 +98,14 @@ class PagesTest extends FeatureTestCase
]))
->assertRedirect(route('business.pages.show', [
'section' => 'order-data',
'page' => 'after-sales-expenses',
'page' => 'raw-data',
'tab' => 'after-sales-expenses',
]));
$this->get(route('business.pages.show', [
'section' => 'order-data',
'page' => 'after-sales-expenses',
'page' => 'raw-data',
'tab' => 'after-sales-expenses',
]))
->assertOk()
->assertSeeText('订单售后费用明细')
@ -110,11 +113,27 @@ class PagesTest extends FeatureTestCase
->assertSeeText('内部订单号')
->assertSeeText('800503发空包/赠品费用')
->assertSeeText('暂无数据')
->assertSee('class="business-tab-bar"', false)
->assertSee(route('business.pages.show', [
'section' => 'order-data',
'page' => 'raw-data',
'tab' => 'after-sales-expenses',
]), false)
->assertSee(route('business.pages.show', [
'section' => 'order-data',
'page' => 'raw-data',
'tab' => 'promotion-expenses',
]), false)
->assertDontSee(route('business.pages.show', [
'section' => 'order-data',
'page' => 'after-sales-expenses',
]), false)
->assertDontSee('class="business-blank-page"', false);
$this->get(route('business.pages.show', [
'section' => 'order-data',
'page' => 'promotion-expenses',
'page' => 'raw-data',
'tab' => 'promotion-expenses',
]))
->assertOk()
->assertSeeText('商品推广费用明细')

View File

@ -72,12 +72,13 @@ class NavigationTest extends FeatureTestCase
);
$this->assertSame(
['after-sales-expenses', 'promotion-expenses'],
array_column($orderData['pages'][0]['children'], 'slug')
array_column($orderData['pages'][0]['tabs'], 'slug')
);
$this->assertSame(
['订单售后费用明细', '商品推广费用明细'],
array_column($orderData['pages'][0]['children'], 'title')
array_column($orderData['pages'][0]['tabs'], 'title')
);
$this->assertArrayNotHasKey('children', $orderData['pages'][0]);
$this->assertSame('退款', $refund['title']);
$this->assertSame('assignment_return', $refund['icon']);
$this->assertSame(