Browse Source

为Management.html添加防快速点击和防抖动功能

Boss3
Default User 1 month ago
parent
commit
c9d153c35a
  1. 32
      Management.html

32
Management.html

@ -749,6 +749,22 @@
let usersData = []; let usersData = [];
let chartData = []; let chartData = [];
// 防抖动函数
function debounce(func, wait) {
let timeout;
return function executedFunction(...args) {
const later = () => {
clearTimeout(timeout);
func(...args);
};
clearTimeout(timeout);
timeout = setTimeout(later, wait);
};
}
// 防重复点击标志
let isFiltering = false;
// 货源详情相关变量 // 货源详情相关变量
let currentSellerId = null; // 当前正在显示的卖家ID let currentSellerId = null; // 当前正在显示的卖家ID
@ -1264,6 +1280,10 @@
// 设置筛选条件 // 设置筛选条件
function setFilter(filter) { function setFilter(filter) {
// 防重复点击检查
if (isFiltering) return;
isFiltering = true;
currentFilter = filter; currentFilter = filter;
// 重置当前卖家ID,确保切换时间筛选时显示所有货源 // 重置当前卖家ID,确保切换时间筛选时显示所有货源
@ -1283,11 +1303,17 @@
endDateInput.value = ''; endDateInput.value = '';
// 重新加载数据 // 重新加载数据
loadStats(filter); loadStats(filter).finally(() => {
isFiltering = false;
});
} }
// 应用自定义时间筛选 // 应用自定义时间筛选
function applyCustomFilter() { function applyCustomFilter() {
// 防重复点击检查
if (isFiltering) return;
isFiltering = true;
const startDate = startDateInput.value; const startDate = startDateInput.value;
const endDate = endDateInput.value; const endDate = endDateInput.value;
@ -1312,7 +1338,9 @@
[todayBtn, yesterdayBtn, beforeYesterdayBtn, weekBtn, monthBtn, lastMonthBtn, allBtn].forEach(btn => btn.classList.remove('active')); [todayBtn, yesterdayBtn, beforeYesterdayBtn, weekBtn, monthBtn, lastMonthBtn, allBtn].forEach(btn => btn.classList.remove('active'));
// 重新加载数据,传递自定义日期范围 // 重新加载数据,传递自定义日期范围
loadStats('custom', startDate, endDate); loadStats('custom', startDate, endDate).finally(() => {
isFiltering = false;
});
} }
// 从缓存中获取数据 // 从缓存中获取数据

Loading…
Cancel
Save