update pay ui
This commit is contained in:
@@ -56,7 +56,7 @@ export default function LimitAnalyse() {
|
||||
const [dateStr, setDateStr] = useState('');
|
||||
const [loading, setLoading] = useState(false);
|
||||
const [dailyData, setDailyData] = useState(null);
|
||||
const [availableDates, setAvailableDates] = useState([]);
|
||||
const [availableDates, setAvailableDates] = useState(null); // null 表示未加载,[] 表示加载完成但无数据
|
||||
const [wordCloudData, setWordCloudData] = useState([]);
|
||||
const [searchResults, setSearchResults] = useState(null);
|
||||
const [isSearchOpen, setIsSearchOpen] = useState(false);
|
||||
@@ -86,7 +86,12 @@ export default function LimitAnalyse() {
|
||||
|
||||
// 根据可用日期加载最近一个有数据的日期
|
||||
useEffect(() => {
|
||||
if (availableDates && availableDates.length > 0) {
|
||||
// 等待日期列表加载完成(null 表示未加载)
|
||||
if (availableDates === null) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (availableDates.length > 0) {
|
||||
// 选择日期字符串最大的那一天(格式为 YYYYMMDD)
|
||||
const latest = availableDates.reduce((max, cur) =>
|
||||
(!max || (cur.date && cur.date > max)) ? cur.date : max
|
||||
@@ -101,12 +106,9 @@ export default function LimitAnalyse() {
|
||||
fetchDailyAnalysis(latest);
|
||||
}
|
||||
} else {
|
||||
// 如果暂无可用日期,回退到今日,避免页面长时间空白
|
||||
const today = new Date();
|
||||
const dateString = formatDateStr(today);
|
||||
setDateStr(dateString);
|
||||
setSelectedDate(today);
|
||||
fetchDailyAnalysis(dateString);
|
||||
// 日期列表为空,显示提示但不请求数据
|
||||
setLoading(false);
|
||||
logger.warn('LimitAnalyse', '暂无可用数据');
|
||||
}
|
||||
}, [availableDates]);
|
||||
|
||||
@@ -115,12 +117,18 @@ export default function LimitAnalyse() {
|
||||
try {
|
||||
const data = await ztStaticService.fetchAvailableDates();
|
||||
if (data.success) {
|
||||
setAvailableDates(data.events);
|
||||
setAvailableDates(data.events || []);
|
||||
logger.debug('LimitAnalyse', '可用日期加载成功(静态文件)', {
|
||||
count: data.events?.length || 0
|
||||
});
|
||||
} else {
|
||||
// 请求成功但返回失败,设置空数组
|
||||
setAvailableDates([]);
|
||||
logger.warn('LimitAnalyse', '日期列表返回失败', data.error);
|
||||
}
|
||||
} catch (error) {
|
||||
// 请求失败,设置空数组避免一直 loading
|
||||
setAvailableDates([]);
|
||||
logger.error('LimitAnalyse', 'fetchAvailableDates', error);
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user