diff --git a/web/src/main/resources/static/index.html b/web/src/main/resources/static/index.html index 914d2e2..743b4e9 100644 --- a/web/src/main/resources/static/index.html +++ b/web/src/main/resources/static/index.html @@ -597,6 +597,10 @@ + 负责人: + 创建时间: @@ -625,7 +629,7 @@ 创建时间 跟进内容 响应时间 - 负责人 + 负责人 操作 @@ -647,6 +651,10 @@ + 负责人: + 创建时间: @@ -674,7 +682,7 @@ 创建时间 跟进内容 响应时间 - 负责人 + 负责人 操作 @@ -950,7 +958,7 @@ // 只对管理员显示负责人信息 if (userRole === '管理员') { - managerCell = '' + (user.managerName || '-') + ''; + managerCell = '' + (user.managerName || '-') + ''; } else { managerCell = ''; } @@ -1222,13 +1230,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); @@ -1510,6 +1529,30 @@ updateFilterTags('public'); } + // 筛选个人数据负责人 + function filterPersonalByManager() { + var managerName = document.getElementById('personalManagerFilter').value; + currentManagerFilter = managerName || null; + personalPage = 1; // 重置为第一页 + + // 总是加载所有数据以便筛选 + loadAllPersonalData(); + + // 更新筛选标签 + updateFilterTags('personal'); + } + + // 筛选公海池数据负责人 + function filterPublicByManager() { + var managerName = document.getElementById('publicManagerFilter').value; + currentManagerFilter = managerName || null; + publicPage = 1; // 重置为第一页 + loadPublicData(); // 重新加载公海池数据 + + // 更新筛选标签 + updateFilterTags('public'); + } + function loadPublicData() { var userRole = userInfo.loginInfo.projectName; var usersManagements = userInfo.usersManagements; @@ -2416,7 +2459,7 @@ // 只对管理员显示负责人信息 if (userRole === '管理员') { - managerCell = '' + (user.managerName || '-') + ''; + managerCell = '' + (user.managerName || '-') + ''; } else { managerCell = ''; } @@ -2512,7 +2555,7 @@ // 只对管理员显示负责人信息 if (userRole === '管理员') { - managerCell = '' + (user.managerName || '-') + ''; + managerCell = '' + (user.managerName || '-') + ''; } else { managerCell = ''; } @@ -3005,7 +3048,20 @@ var select = document.getElementById('managerSelect'); select.innerHTML = ''; + // 清空并初始化负责人筛选下拉框 + var personalManagerFilter = document.getElementById('personalManagerFilter'); + var publicManagerFilter = document.getElementById('publicManagerFilter'); + + if (personalManagerFilter) { + personalManagerFilter.innerHTML = ''; + } + + if (publicManagerFilter) { + publicManagerFilter.innerHTML = ''; + } + managersList.forEach(function(manager) { + // 填充分配模态框的下拉框 var option = document.createElement('option'); option.value = manager.managerId; option.textContent = manager.userName; @@ -3016,6 +3072,22 @@ option.setAttribute('data-root', manager.root); option.setAttribute('data-assistant', manager.assistant); select.appendChild(option); + + // 填充个人数据标签页的负责人筛选下拉框 + if (personalManagerFilter) { + var personalOption = document.createElement('option'); + personalOption.value = manager.userName; + personalOption.textContent = manager.userName; + personalManagerFilter.appendChild(personalOption); + } + + // 填充公海池数据标签页的负责人筛选下拉框 + if (publicManagerFilter) { + var publicOption = document.createElement('option'); + publicOption.value = manager.userName; + publicOption.textContent = manager.userName; + publicManagerFilter.appendChild(publicOption); + } }); }