|
|
@@ -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() {
|