Browse Source

修复筛选无效问题,优化搜索功能

KH
徐飞洋 1 month ago
parent
commit
69c615757a
  1. 18
      web/src/main/java/com/example/web/entity/Users.java
  2. 65
      web/src/main/resources/static/index.html

18
web/src/main/java/com/example/web/entity/Users.java

@ -39,6 +39,8 @@ public class Users {
private String userlog;//用户操作日志 private String userlog;//用户操作日志
private Integer sync_statuss;//同步状态 private Integer sync_statuss;//同步状态
private String managerName;//负责人姓名 private String managerName;//负责人姓名
private Integer appraisalnum;//点击估价次数
private Integer comparenum;//点击对比价格次数
public Integer getId() { public Integer getId() {
@ -256,4 +258,20 @@ public class Users {
public void setManagerName(String managerName) { public void setManagerName(String managerName) {
this.managerName = managerName; this.managerName = managerName;
} }
public Integer getAppraisalnum() {
return appraisalnum;
}
public void setAppraisalnum(Integer appraisalnum) {
this.appraisalnum = appraisalnum;
}
public Integer getComparenum() {
return comparenum;
}
public void setComparenum(Integer comparenum) {
this.comparenum = comparenum;
}
} }

65
web/src/main/resources/static/index.html

@ -2128,6 +2128,10 @@
var personalTotalCount = document.getElementById('personalTotalCount'); var personalTotalCount = document.getElementById('personalTotalCount');
personalBody.innerHTML = ''; personalBody.innerHTML = '';
// 初始化求和变量
var totalAppraisalnum = 0;
var totalComparenum = 0;
// 检查用户角色,只对管理员显示负责人列和复选框列 // 检查用户角色,只对管理员显示负责人列和复选框列
var userRole = userInfo.loginInfo.projectName; var userRole = userInfo.loginInfo.projectName;
var isAdmin = userRole === '管理员'; var isAdmin = userRole === '管理员';
@ -2237,19 +2241,23 @@
personalTotalCount.textContent = total; personalTotalCount.textContent = total;
} }
console.log('加载的数据量:', allPersonalData.length, '总数据量:', total, '总页数:', totalPages); console.log('加载的数据量:', allPersonalData.length, '筛选后的数据量:', filteredUsers.length, '总数据量:', total, '总页数:', totalPages);
if (allPersonalData.length > 0) { if (filteredUsers.length > 0) {
personalEmpty.style.display = 'none'; personalEmpty.style.display = 'none';
// 直接使用后端返回的数据 // 使用筛选后的数据
var displayUsers = allPersonalData; var displayUsers = filteredUsers;
for (var i = 0; i < displayUsers.length; i++) { for (var i = 0; i < displayUsers.length; i++) {
var user = displayUsers[i]; var user = displayUsers[i];
var responseTime = calculateResponseTime(user.created_at, user.followup_at); var responseTime = calculateResponseTime(user.created_at, user.followup_at);
var managerCell = ''; var managerCell = '';
// 累加点击估价次数和点击对比价格次数
totalAppraisalnum += parseInt(user.appraisalnum) || 0;
totalComparenum += parseInt(user.comparenum) || 0;
// 只对管理员显示负责人信息 // 只对管理员显示负责人信息
if (userRole === '管理员') { if (userRole === '管理员') {
managerCell = '<td>' + (user.managerName || '-') + '</td>'; managerCell = '<td>' + (user.managerName || '-') + '</td>';
@ -2294,6 +2302,22 @@
personalPagination.style.display = 'flex'; personalPagination.style.display = 'flex';
} }
// 添加汇总行
if (displayUsers.length > 0) {
var summaryCheckboxCell = isAdmin ? '<td></td>' : '<td style="width: 40px;"></td>';
var summaryManagerCell = isAdmin ? '<td></td>' : '<td style="display: none;"></td>';
var summaryRow = '<tr style="background-color: #f0f7ff; font-weight: bold;">' +
summaryCheckboxCell +
'<td colspan="3">合计</td>' +
'<td colspan="2"></td>' +
'<td></td>' +
summaryManagerCell +
'<td>点击估价次数: ' + totalAppraisalnum + ' | 点击对比价格次数: ' + totalComparenum + '</td>' +
'</tr>';
personalBody.innerHTML += summaryRow;
}
// 渲染分页控件 // 渲染分页控件
renderPersonalPagination(personalPage, totalPages, total); renderPersonalPagination(personalPage, totalPages, total);
} else { } else {
@ -4744,6 +4768,18 @@
<span id="detailDemand" style="font-size: 14px; color: #333;"></span> <span id="detailDemand" style="font-size: 14px; color: #333;"></span>
</div> </div>
</div> </div>
<div style="margin-bottom: 16px;">
<div style="display: flex; justify-content: space-between; margin-bottom: 8px;">
<span style="font-size: 14px; font-weight: 500; color: #666;">点击估价次数:</span>
<span id="detailAppraisalnum" style="font-size: 14px; color: #333;"></span>
</div>
</div>
<div style="margin-bottom: 16px;">
<div style="display: flex; justify-content: space-between; margin-bottom: 8px;">
<span style="font-size: 14px; font-weight: 500; color: #666;">点击对比价格次数:</span>
<span id="detailComparenum" style="font-size: 14px; color: #333;"></span>
</div>
</div>
</div> </div>
<div style="text-align: center; margin-top: 24px;"> <div style="text-align: center; margin-top: 24px;">
<button onclick="closeDetailModal()" style="padding: 10px 24px; border: none; border-radius: 4px; font-size: 14px; color: white; background-color: #1890ff; cursor: pointer; transition: all 0.3s ease;">关闭</button> <button onclick="closeDetailModal()" style="padding: 10px 24px; border: none; border-radius: 4px; font-size: 14px; color: white; background-color: #1890ff; cursor: pointer; transition: all 0.3s ease;">关闭</button>
@ -5315,6 +5351,10 @@
var selectAllPublic = document.getElementById('selectAllPublic'); var selectAllPublic = document.getElementById('selectAllPublic');
publicBody.innerHTML = ''; publicBody.innerHTML = '';
// 初始化求和变量
var totalAppraisalnum = 0;
var totalComparenum = 0;
// 检查用户角色,只对管理员显示负责人列和复选框列 // 检查用户角色,只对管理员显示负责人列和复选框列
var userRole = userInfo.loginInfo.projectName; var userRole = userInfo.loginInfo.projectName;
var isAdmin = userRole === '管理员'; var isAdmin = userRole === '管理员';
@ -5439,6 +5479,21 @@
// 有数据时显示分页控件 // 有数据时显示分页控件
publicPagination.style.display = 'flex'; publicPagination.style.display = 'flex';
} }
// 添加汇总行
if (filteredUsers.length > 0) {
var summaryManagerCell = isAdmin ? '<td></td>' : '<td style="display: none;"></td>';
var summaryRow = '<tr style="background-color: #f0f7ff; font-weight: bold;">' +
'<td></td>' +
'<td colspan="3">合计</td>' +
'<td colspan="2"></td>' +
'<td></td>' +
summaryManagerCell +
'<td>点击估价次数: ' + totalAppraisalnum + ' | 点击对比价格次数: ' + totalComparenum + '</td>' +
'</tr>';
publicBody.innerHTML += summaryRow;
}
} else { } else {
publicEmpty.style.display = 'block'; publicEmpty.style.display = 'block';
// 没有数据时隐藏分页控件 // 没有数据时隐藏分页控件
@ -5887,6 +5942,8 @@
document.getElementById('detailDetailedAddress').textContent = user.detailedaddress || '-'; document.getElementById('detailDetailedAddress').textContent = user.detailedaddress || '-';
document.getElementById('detailCompany').textContent = user.company || '-'; document.getElementById('detailCompany').textContent = user.company || '-';
document.getElementById('detailDemand').textContent = user.demand || '-'; document.getElementById('detailDemand').textContent = user.demand || '-';
document.getElementById('detailAppraisalnum').textContent = user.appraisalnum || '0';
document.getElementById('detailComparenum').textContent = user.comparenum || '0';
// 显示弹窗 // 显示弹窗
document.getElementById('detailModal').style.display = 'block'; document.getElementById('detailModal').style.display = 'block';

Loading…
Cancel
Save