From b33616fd84fdc161d5849874cdfdaf26ec39f193 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E9=A3=9E=E6=B4=8B?= <15778543+xufeiyang6017@user.noreply.gitee.com> Date: Wed, 21 Jan 2026 11:01:18 +0800 Subject: [PATCH] Fix manager dropdown to always display below manager header --- web/src/main/resources/static/index.html | 25 +++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/web/src/main/resources/static/index.html b/web/src/main/resources/static/index.html index 14a088e..6fbc0df 100644 --- a/web/src/main/resources/static/index.html +++ b/web/src/main/resources/static/index.html @@ -1221,13 +1221,24 @@ }; dropdown.appendChild(clearOption); - // 获取单元格位置并显示菜单 - var rect = cell.getBoundingClientRect(); - var scrollTop = window.pageYOffset || document.documentElement.scrollTop; - var scrollLeft = window.pageXOffset || document.documentElement.scrollLeft; - - dropdown.style.left = (rect.left + scrollLeft) + 'px'; - dropdown.style.top = (rect.top + rect.height + scrollTop) + 'px'; + // 固定显示在负责人表头下方 + var managerHeader = document.getElementById('managerHeader') || document.getElementById('publicManagerHeader'); + if (managerHeader) { + var rect = managerHeader.getBoundingClientRect(); + var scrollTop = window.pageYOffset || document.documentElement.scrollTop; + var scrollLeft = window.pageXOffset || document.documentElement.scrollLeft; + + dropdown.style.left = (rect.left + scrollLeft) + 'px'; + dropdown.style.top = (rect.top + rect.height + scrollTop) + 'px'; + } else { + // 备用方案:如果找不到表头,显示在单元格下方 + var rect = cell.getBoundingClientRect(); + var scrollTop = window.pageYOffset || document.documentElement.scrollTop; + var scrollLeft = window.pageXOffset || document.documentElement.scrollLeft; + + dropdown.style.left = (rect.left + scrollLeft) + 'px'; + dropdown.style.top = (rect.top + rect.height + scrollTop) + 'px'; + } // 添加到页面 document.body.appendChild(dropdown);