diff --git a/resources/views/business/pages/partials/open-page-tabs.blade.php b/resources/views/business/pages/partials/open-page-tabs.blade.php new file mode 100644 index 00000000..931d2de6 --- /dev/null +++ b/resources/views/business/pages/partials/open-page-tabs.blade.php @@ -0,0 +1,177 @@ +{{-- + 已打开页面标签栏:点开过的业务页面固定在顶部并排显示,方便来回切换; + 只要没退出登录就一直保留(按账号存在浏览器本地,不外传)。 +--}} + + + + + diff --git a/resources/views/components/layouts/admin.blade.php b/resources/views/components/layouts/admin.blade.php index 1075224e..026eec1b 100644 --- a/resources/views/components/layouts/admin.blade.php +++ b/resources/views/components/layouts/admin.blade.php @@ -92,6 +92,10 @@ + @unless ($focusEntry) + @include('business.pages.partials.open-page-tabs') + @endunless + diff --git a/resources/views/components/layouts/admin/menu.blade.php b/resources/views/components/layouts/admin/menu.blade.php index 75ff220f..687c82cb 100644 --- a/resources/views/components/layouts/admin/menu.blade.php +++ b/resources/views/components/layouts/admin/menu.blade.php @@ -199,6 +199,22 @@ @endphp +
+ +
+
@foreach ($prototypeGroups as $group)
@@ -226,6 +246,7 @@ @endforeach
@endforeach +
@stack('menu_end') + + diff --git a/tests/Feature/Business/StoreViolationAlertPageTest.php b/tests/Feature/Business/StoreViolationAlertPageTest.php index 171b7a1a..2b2e3259 100644 --- a/tests/Feature/Business/StoreViolationAlertPageTest.php +++ b/tests/Feature/Business/StoreViolationAlertPageTest.php @@ -149,6 +149,7 @@ class StoreViolationAlertPageTest extends FeatureTestCase ])) ->assertOk() ->assertDontSee('id="sidenav-main"', false) + ->assertDontSee('data-open-tabs', false) ->assertSeeText('店铺违规信息预警'); // 同目录下的另一个页面(流程统计)在钉钉里同样是单页模式。 diff --git a/tests/Feature/Settings/NavigationTest.php b/tests/Feature/Settings/NavigationTest.php index 851c5832..f92217f9 100644 --- a/tests/Feature/Settings/NavigationTest.php +++ b/tests/Feature/Settings/NavigationTest.php @@ -188,6 +188,23 @@ class NavigationTest extends FeatureTestCase ->assertSee('/workspace/financial-risk-control/store-violation-alert', false); } + public function test_business_pages_render_menu_filter_and_open_page_tabs(): void + { + $this->loginAs() + ->get(route('business.pages.show', [ + 'section' => 'financial-risk-control', + 'page' => 'store-violation-alert', + ])) + ->assertOk() + // 侧边栏菜单搜索框(方便按名称找页面)。 + ->assertSee('id="prototype-menu-filter"', false) + ->assertSee('prototype-menu-filter', false) + // 已打开页面标签栏(固定在页面上方,点开的页面并排显示)。 + ->assertSee('data-open-tabs', false) + ->assertSee('data-open-tabs-list', false) + ->assertSee('caiwu.open-pages.v1.', false); + } + public function testProcessStatisticsPageIsAvailableUnderRiskControl(): void { $this->loginAs()