ouyj пре 4 месеци
родитељ
комит
03d68a1b72
1 измењених фајлова са 13 додато и 2 уклоњено
  1. 13 2
      pages/worktime/index.uvue

+ 13 - 2
pages/worktime/index.uvue

@@ -212,6 +212,8 @@ const maintenanceHours = ref<number>(0)
 const repairHours = ref<number>(0)
 const rank = ref<number | null>(null)
 const totalRankingUsers = ref<number | null>(null)
+// 添加防重复刷新的标志
+const isRefreshing = ref<boolean>(false)
 
 // 弹窗显示状态
 const showDatePickerPopup = ref<boolean>(false)
@@ -510,6 +512,7 @@ function loadData(isRefresh: boolean, disablePullDown = false) {
     loading.value = false;
     // 确保刷新状态最终被重置
     refreshing.value = false;
+    isRefreshing.value = false; // 重置刷新标志
   })
 }
 
@@ -601,13 +604,21 @@ function loadMore() {
 function handleRefresh() {
 	console.log("handleRefresh被触发")
   // 添加防重复调用检查
-  if (loading.value) {
-    // 如果已经在加载,直接重置刷新状态
+  if (loading.value || isRefreshing.value) {
+    // 如果已经在加载或正在刷新,直接重置刷新状态
     refreshing.value = false;
     return;
   }
   
+  // 设置刷新标志
+  isRefreshing.value = true;
+  
   loadData(true); // 使用默认的下拉刷新行为
+  
+  // 确保在一定时间后重置刷新标志,防止意外情况
+  setTimeout(() => {
+    isRefreshing.value = false;
+  }, 5000); // 5秒后自动重置
 }
 
 function showCustomDatePicker() {