From de983422a9a1b74b470c578edcb319b44478d70f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E6=9C=A8?= <594326199@qq.com> Date: Mon, 21 Sep 2026 12:54:04 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=BA=97=E9=93=BA=E8=BF=9D?= =?UTF-8?q?=E8=A7=84=E4=BF=A1=E6=81=AF=E9=A2=84=E8=AD=A6=E5=AD=90=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/business_navigation.php | 4 +++- .../financial-risk-control/index.blade.php | 15 +++++++++++---- .../store-violation-alert.blade.php | 6 ++++++ tests/Feature/Settings/NavigationTest.php | 19 ++++++++++++++++--- .../SystemSettings/UserPermissionsTest.php | 18 ++++++++++++++++++ 5 files changed, 54 insertions(+), 8 deletions(-) create mode 100644 resources/views/business/pages/financial-risk-control/store-violation-alert.blade.php diff --git a/config/business_navigation.php b/config/business_navigation.php index 00e865cf..e436ab95 100644 --- a/config/business_navigation.php +++ b/config/business_navigation.php @@ -630,7 +630,9 @@ $navigation = [ 'slug' => 'financial-risk-control', 'title' => '财务经营风险管控', 'icon' => 'security', - 'pages' => [], + 'pages' => [ + ['slug' => 'store-violation-alert', 'title' => '店铺违规信息预警'], + ], ], [ 'slug' => 'financial-sw', diff --git a/resources/views/business/pages/financial-risk-control/index.blade.php b/resources/views/business/pages/financial-risk-control/index.blade.php index 00f7855a..b948d82d 100644 --- a/resources/views/business/pages/financial-risk-control/index.blade.php +++ b/resources/views/business/pages/financial-risk-control/index.blade.php @@ -1,3 +1,10 @@ +@php + $emptyStateId = $emptyStateId ?? 'financial-risk-control-empty-title'; + $emptyStateIcon = $emptyStateIcon ?? 'security'; + $emptyStateTitle = $emptyStateTitle ?? '暂无风险事项'; + $emptyStateDescription = $emptyStateDescription ?? '风险规则和数据接入后,相关事项将在此展示。'; +@endphp + - + - security + {{ $emptyStateIcon }} - 暂无风险事项 - 风险规则和数据接入后,相关事项将在此展示。 + {{ $emptyStateTitle }} + {{ $emptyStateDescription }} diff --git a/resources/views/business/pages/financial-risk-control/store-violation-alert.blade.php b/resources/views/business/pages/financial-risk-control/store-violation-alert.blade.php new file mode 100644 index 00000000..84e4b05d --- /dev/null +++ b/resources/views/business/pages/financial-risk-control/store-violation-alert.blade.php @@ -0,0 +1,6 @@ +@include('business.pages.financial-risk-control.index', [ + 'emptyStateId' => 'store-violation-alert-empty-title', + 'emptyStateIcon' => 'warning_amber', + 'emptyStateTitle' => '暂无店铺违规预警', + 'emptyStateDescription' => '违规规则和店铺数据接入后,相关预警将在此展示。', +]) diff --git a/tests/Feature/Settings/NavigationTest.php b/tests/Feature/Settings/NavigationTest.php index 12d705f7..1c95243e 100644 --- a/tests/Feature/Settings/NavigationTest.php +++ b/tests/Feature/Settings/NavigationTest.php @@ -54,14 +54,27 @@ class NavigationTest extends FeatureTestCase $this->assertSame('financial-sw', $slugs[$riskControlIndex + 1]); $this->assertSame('财务经营风险管控', $navigation[$riskControlIndex]['title']); $this->assertSame('security', $navigation[$riskControlIndex]['icon']); - $this->assertSame([], $navigation[$riskControlIndex]['pages']); + $this->assertSame([ + ['slug' => 'store-violation-alert', 'title' => '店铺违规信息预警'], + ], $navigation[$riskControlIndex]['pages']); $this->loginAs() ->get(route('business.pages.show', ['section' => 'financial-risk-control'])) + ->assertRedirect(route('business.pages.show', [ + 'section' => 'financial-risk-control', + 'page' => 'store-violation-alert', + ])); + + $this->get(route('business.pages.show', [ + 'section' => 'financial-risk-control', + 'page' => 'store-violation-alert', + ])) ->assertOk() ->assertSeeText('财务经营风险管控') - ->assertSeeText('暂无风险事项') - ->assertSee('/workspace/financial-risk-control', false); + ->assertSeeText('店铺违规信息预警') + ->assertSeeText('暂无店铺违规预警') + ->assertSeeText('违规规则和店铺数据接入后,相关预警将在此展示。') + ->assertSee('/workspace/financial-risk-control/store-violation-alert', false); } public function testGroupedNavigationKeepsRestrictedPagePermissions(): void diff --git a/tests/Feature/SystemSettings/UserPermissionsTest.php b/tests/Feature/SystemSettings/UserPermissionsTest.php index af9e7287..f25e190a 100644 --- a/tests/Feature/SystemSettings/UserPermissionsTest.php +++ b/tests/Feature/SystemSettings/UserPermissionsTest.php @@ -128,6 +128,24 @@ class UserPermissionsTest extends FeatureTestCase $this->assertSame(['subject-trademark-rules'], $pages->pluck('slug')->all()); } + public function test_financial_risk_control_section_permission_includes_store_violation_alert(): void + { + $regular = $this->account('user'); + $subject = 'user_'.$regular->id; + setting()->set('system.sidebar_permissions', [ + 'configured' => [$subject], + 'subjects' => [$subject => ['financial-risk-control']], + ]); + + $navigation = SidebarPermissions::navigationFor($regular); + + $this->assertSame(['financial-risk-control'], array_column($navigation, 'slug')); + $this->assertSame( + ['store-violation-alert'], + array_column($navigation[0]['pages'], 'slug') + ); + } + public function test_legacy_small_payment_permission_follows_the_page_to_financial_operations(): void { $regular = $this->account('user'); -- 2.47.2
风险规则和数据接入后,相关事项将在此展示。
{{ $emptyStateDescription }}