From 0e8708343c1a6169b765e8b9e04984c2810d34b8 Mon Sep 17 00:00:00 2001 From: syruan <321359594@qq.com> Date: Wed, 16 Jul 2025 21:59:25 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BE=85=E5=8A=9E=E7=A7=BB=E5=8A=A8=E7=AB=AF?= =?UTF-8?q?=E9=80=82=E9=85=8D-=E5=A2=9E=E5=8A=A0=E5=85=A8=E9=80=89?= =?UTF-8?q?=E6=89=B9=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../views/rm/unFinishWorkList-mobile.jsp | 135 ++++++++++++++++-- 1 file changed, 122 insertions(+), 13 deletions(-) diff --git a/WebContent/WEB-INF/views/rm/unFinishWorkList-mobile.jsp b/WebContent/WEB-INF/views/rm/unFinishWorkList-mobile.jsp index e94122d..0ec1205 100644 --- a/WebContent/WEB-INF/views/rm/unFinishWorkList-mobile.jsp +++ b/WebContent/WEB-INF/views/rm/unFinishWorkList-mobile.jsp @@ -192,12 +192,22 @@ z-index: 100; } + .bottom-actions { + display: flex; + gap: 10px; + } + .bottom-bar .btn { - width: 100%; + flex: 1; font-size: 16px; padding: 12px; } + .btn-warning { + background: #ffc107; + color: #212529; + } + /* 加载和提示 */ @@ -312,9 +322,14 @@
- +
+ + +
@@ -323,7 +338,7 @@
-

加载中...

+

系统处理中,请稍后...

@@ -398,12 +413,29 @@ batchApproval(); }); + // 全选当前页 + $('#selectAllBtn').on('click', function() { + selectAllCurrentPage(); + }); - // 页面可见性变化刷新 + + // 页面可见性变化刷新(避免在跳转详情页时触发) + var isNavigatingToDetail = false; document.addEventListener("visibilitychange", function() { + if (document.visibilityState === "visible" && !isNavigatingToDetail) { + // 延迟执行,避免快速切换导致的误触发 + setTimeout(function() { + if (!isNavigatingToDetail) { + loadTasks(currentPage); + } + }, 500); + } + // 重置标志 if (document.visibilityState === "visible") { - loadTasks(currentPage); + setTimeout(function() { + isNavigatingToDetail = false; + }, 2000); } }); } @@ -472,15 +504,16 @@ html += ' 计划编号: ' + (task.number || '') + ''; html += ' '; html += '
创建人: ' + (task.creatorName || task.operationUserName || '') + '
'; - html += '
'; - html += ' '; - html += '
'; + // html += '
'; + // html += ' '; + // html += '
'; html += ''; }); } $('#taskList').html(html); bindTaskEvents(); + updateSelectAllButtonText(); } // 绑定任务事件 @@ -493,6 +526,7 @@ selectedTasks.delete(taskId); } updateSelectedCount(); + updateSelectAllButtonText(); }); } @@ -506,6 +540,8 @@ return; } + // 设置导航标志,防止页面可见性检测干扰 + isNavigatingToDetail = true; showLoading(); $.ajax({ @@ -522,19 +558,38 @@ localStorage.setItem("token", data.token); // 根据流程类型跳转到对应页面 + var targetUrl = ""; if (processName === '派车计划') { - window.open("http://10.1.0.142:1999/gz-car/page/car_demand_plan/child/dispatch_car_detail.html?id=" + id + "&token=" + data.token); + targetUrl = "http://10.1.0.142:1999/gz-car/page/car_demand_plan/child/dispatch_car_detail.html?id=" + id + "&token=" + data.token; } else if (processName === '用车计划') { - window.open("http://10.1.0.142:1999/gz-car/page/car_demand_plan/child/apply_plan_detail.html?id=" + id + "&token=" + data.token); + targetUrl = "http://10.1.0.142:1999/gz-car/page/car_demand_plan/child/apply_plan_detail.html?id=" + id + "&token=" + data.token; } else { + isNavigatingToDetail = false; // 重置标志 showAlert('暂不支持该类型任务的详情查看: ' + processName); + return; + } + + // 使用 window.open 打开新窗口,避免影响当前页面 + try { + var newWindow = window.open(targetUrl, '_blank'); + // 检查新窗口是否成功打开 + if (!newWindow || newWindow.closed || typeof newWindow.closed == 'undefined') { + // 如果弹窗被阻止,尝试在当前窗口打开 + window.location.href = targetUrl; + } + } catch (e) { + console.error('打开详情页面失败:', e); + isNavigatingToDetail = false; + showAlert('打开详情页面失败,请稍后重试'); } } else { + isNavigatingToDetail = false; // 重置标志 showAlert("没有权限!"); } }, error: function(XMLHttpRequest, textStatus, errorThrown) { hideLoading(); + isNavigatingToDetail = false; // 重置标志 showAlert("未连接到服务器,请检查网络!状态码:" + XMLHttpRequest.status); } }); @@ -577,7 +632,61 @@ // 切换批量按钮状态 function toggleBatchButton() { var isFinish = $('#taskStatus').val(); - $('#batchBtn').prop('disabled', isFinish === '1'); + var isDisabled = isFinish === '1'; + $('#batchBtn').prop('disabled', isDisabled); + $('#selectAllBtn').prop('disabled', isDisabled); + + // 更新按钮文字 + if (isDisabled) { + $('#selectAllBtn').text('全选当前页'); + } else { + updateSelectAllButtonText(); + } + } + + // 全选当前页功能 + function selectAllCurrentPage() { + var isFinish = $('#taskStatus').val(); + if (isFinish === '1') { + return; // 已办状态不允许操作 + } + + var checkboxes = $('.task-checkbox:not(:disabled)'); + var allChecked = checkboxes.length > 0 && checkboxes.filter(':checked').length === checkboxes.length; + + if (allChecked) { + // 如果全部选中,则取消全选 + checkboxes.each(function() { + var taskId = $(this).val(); + selectedTasks.delete(taskId); + $(this).prop('checked', false); + }); + } else { + // 否则全选 + checkboxes.each(function() { + var taskId = $(this).val(); + selectedTasks.add(taskId); + $(this).prop('checked', true); + }); + } + + updateSelectedCount(); + updateSelectAllButtonText(); + } + + // 更新全选按钮文字 + function updateSelectAllButtonText() { + var checkboxes = $('.task-checkbox:not(:disabled)'); + var checkedCount = checkboxes.filter(':checked').length; + var totalCount = checkboxes.length; + + if (totalCount === 0) { + $('#selectAllBtn').text('全选当前页'); + } else if (checkedCount === totalCount) { + $('#selectAllBtn').text('取消全选'); + } else { + $('#selectAllBtn').text('全选当前页'); + } } // 更新选中计数