diff --git a/config/business_navigation.php b/config/business_navigation.php
index 9c5b87c6..c5a0c502 100644
--- a/config/business_navigation.php
+++ b/config/business_navigation.php
@@ -157,7 +157,7 @@ return [
[
'slug' => 'raw-data',
'title' => '原始数据',
- 'children' => [
+ 'tabs' => [
['slug' => 'after-sales-expenses', 'title' => '订单售后费用明细'],
['slug' => 'promotion-expenses', 'title' => '商品推广费用明细'],
],
diff --git a/resources/views/business/pages/order-data/after-sales-expenses.blade.php b/resources/views/business/pages/order-data/after-sales-expenses.blade.php
index 623275c9..da21aaf7 100644
--- a/resources/views/business/pages/order-data/after-sales-expenses.blade.php
+++ b/resources/views/business/pages/order-data/after-sales-expenses.blade.php
@@ -163,7 +163,11 @@
search
查询
-
+
refresh
重置
diff --git a/resources/views/business/pages/order-data/promotion-expenses.blade.php b/resources/views/business/pages/order-data/promotion-expenses.blade.php
index 27438517..fff3e613 100644
--- a/resources/views/business/pages/order-data/promotion-expenses.blade.php
+++ b/resources/views/business/pages/order-data/promotion-expenses.blade.php
@@ -36,7 +36,11 @@
search
查询
-
+
refresh
重置
diff --git a/resources/views/business/pages/order-data/raw-data/after-sales-expenses.blade.php b/resources/views/business/pages/order-data/raw-data/after-sales-expenses.blade.php
new file mode 100644
index 00000000..8e66d85f
--- /dev/null
+++ b/resources/views/business/pages/order-data/raw-data/after-sales-expenses.blade.php
@@ -0,0 +1 @@
+@include('business.pages.order-data.after-sales-expenses')
diff --git a/resources/views/business/pages/order-data/raw-data/promotion-expenses.blade.php b/resources/views/business/pages/order-data/raw-data/promotion-expenses.blade.php
new file mode 100644
index 00000000..144a7690
--- /dev/null
+++ b/resources/views/business/pages/order-data/raw-data/promotion-expenses.blade.php
@@ -0,0 +1 @@
+@include('business.pages.order-data.promotion-expenses')
diff --git a/tests/Feature/Business/OrderDataPagesUpstreamTest.php b/tests/Feature/Business/OrderDataPagesUpstreamTest.php
index d2d03913..d79fb37c 100644
--- a/tests/Feature/Business/OrderDataPagesUpstreamTest.php
+++ b/tests/Feature/Business/OrderDataPagesUpstreamTest.php
@@ -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('导出当前页')
diff --git a/tests/Feature/Business/PagesTest.php b/tests/Feature/Business/PagesTest.php
index 748988ef..1af7213e 100644
--- a/tests/Feature/Business/PagesTest.php
+++ b/tests/Feature/Business/PagesTest.php
@@ -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('商品推广费用明细')
diff --git a/tests/Feature/Settings/NavigationTest.php b/tests/Feature/Settings/NavigationTest.php
index e1aea60c..70351b5c 100644
--- a/tests/Feature/Settings/NavigationTest.php
+++ b/tests/Feature/Settings/NavigationTest.php
@@ -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(