From 1e6adeb5763e07bb12837e8705a2b817bac2175f Mon Sep 17 00:00:00 2001 From: duxingchen Date: Fri, 28 Aug 2026 11:33:49 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E4=BA=8C=E7=BB=B4=E7=A0=81):=20=E5=BC=B9?= =?UTF-8?q?=E7=AA=97=E6=89=93=E5=BC=80=E6=97=B6=E9=94=81=E5=AE=9A=E8=83=8C?= =?UTF-8?q?=E6=99=AF=E6=BB=9A=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 与流转树弹窗一致,二维码弹窗打开时 body overflow=hidden 防止滚动穿透 --- frontend/src/pages/admin/AdminTasksPage.tsx | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/frontend/src/pages/admin/AdminTasksPage.tsx b/frontend/src/pages/admin/AdminTasksPage.tsx index d7d5a92..935193d 100644 --- a/frontend/src/pages/admin/AdminTasksPage.tsx +++ b/frontend/src/pages/admin/AdminTasksPage.tsx @@ -237,6 +237,14 @@ export default function AdminTasksPage() { loadProducts(keyword); } + // 🚀 二维码弹窗打开时锁定背景滚动(防止滚动穿透) + useEffect(() => { + if (!qrSerial) return; + const prev = document.body.style.overflow; + document.body.style.overflow = "hidden"; + return () => { document.body.style.overflow = prev; }; + }, [qrSerial]); + // ---- 按订单/设备分组 + 状态过滤 + 列筛选 + 组内排序 ---- const orderGroups = useMemo(() => { const map = new Map();