From eb0f246765ee755b1763bb0bb1b274fb3eb8eea1 Mon Sep 17 00:00:00 2001 From: renshen <1005457301@qq.com> Date: Mon, 19 Oct 2026 14:56:08 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B4=A2=E5=8A=A1=E7=BB=8F=E8=90=A5=E9=A3=8E?= =?UTF-8?q?=E9=99=A9=E7=AE=A1=E6=8E=A7=EF=BC=9A=E7=BD=91=E9=A1=B5=E7=AB=AF?= =?UTF-8?q?=E4=B8=8D=E5=86=8D=E9=87=8D=E5=A4=8D=E6=98=BE=E7=A4=BA=E7=9B=AE?= =?UTF-8?q?=E5=BD=95=E9=A1=B5=E7=AD=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 目录内页签(店铺违规信息预警/预览统计/流程统计)只在钉钉单页入口(?focus=1 或钉钉 UA)显示 - 网页端已有左侧菜单和已打开页面标签栏,页面内只保留内容本身 - 单页模式判断抽到 FocusMode,与布局共用 --- app/Utilities/FocusMode.php | 18 ++++++++++++++++++ resources/views/business/pages/show.blade.php | 4 ++-- .../views/components/layouts/admin.blade.php | 4 +--- 3 files changed, 21 insertions(+), 5 deletions(-) create mode 100644 app/Utilities/FocusMode.php diff --git a/app/Utilities/FocusMode.php b/app/Utilities/FocusMode.php new file mode 100644 index 00000000..a244b0ba --- /dev/null +++ b/app/Utilities/FocusMode.php @@ -0,0 +1,18 @@ +route('section') ?: request()->segment(3)); + + return in_array($section, ['financial-risk-control'], true) + && (request()->boolean('focus') || str_contains((string) request()->userAgent(), 'DingTalk')); + } +} diff --git a/resources/views/business/pages/show.blade.php b/resources/views/business/pages/show.blade.php index e3a18c36..af83aa41 100644 --- a/resources/views/business/pages/show.blade.php +++ b/resources/views/business/pages/show.blade.php @@ -587,8 +587,8 @@ @include('business.pages.supplier-payables.navigation', ['section' => $supplierWorkspaceSection]) @elseif ($isCourierFinalDirectory) @include('business.pages.partials.section-page-tabs', ['section' => $section]) - @elseif (($section['slug'] ?? '') === 'financial-risk-control') - {{-- 财务经营风险管控下已有多个页面,用目录内页签切换。 --}} + @elseif (($section['slug'] ?? '') === 'financial-risk-control' && \App\Utilities\FocusMode::activeFor($section['slug'] ?? null)) + {{-- 钉钉单页入口(菜单隐藏时)才需要目录内页签;网页端有左侧菜单和已打开页面标签栏,不再重复。 --}} @include('business.pages.partials.section-page-tabs', ['section' => $section]) @elseif (($section['slug'] ?? '') === 'supplier-reconciliation') {{-- 供应商对账:财务端数据 / 厂家端数据 两个页签。 --}} diff --git a/resources/views/components/layouts/admin.blade.php b/resources/views/components/layouts/admin.blade.php index 4b385da7..3165ac24 100644 --- a/resources/views/components/layouts/admin.blade.php +++ b/resources/views/components/layouts/admin.blade.php @@ -6,9 +6,7 @@ // 让钉钉里点进来就只是这一块内容;网页端登录(非钉钉容器)不受影响。 // 也支持显式 ?focus=1,便于以后给别的入口做同样的单页模式。 // 路由参数在部分上下文取不到时退回按路径段判断(与目录表同一套兼容写法)。 - $focusSection = (string) (request()->route('section') ?: request()->segment(3)); - $focusEntry = in_array($focusSection, ['financial-risk-control'], true) - && (request()->boolean('focus') || str_contains((string) request()->userAgent(), 'DingTalk')); + $focusEntry = \App\Utilities\FocusMode::activeFor(); @endphp