From 99aaa05338efd21f328a8ea4b62bd2d3e6ea56aa Mon Sep 17 00:00:00 2001 From: clz Date: Sat, 10 Jan 2026 20:01:26 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=AF=8F=E6=97=A5=E8=B6=8B=E5=8A=BF?= =?UTF-8?q?=E5=9B=BE=E4=BD=BF=E7=94=A8=E5=85=A8=E9=83=A8=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=EF=BC=8C=E4=B8=8D=E5=8F=97=E6=97=A5=E6=9C=9F=E7=AD=9B=E9=80=89?= =?UTF-8?q?=E6=8E=A7=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/src/routes/analysis/+page.svelte | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/web/src/routes/analysis/+page.svelte b/web/src/routes/analysis/+page.svelte index 1360d60..717ba1e 100644 --- a/web/src/routes/analysis/+page.svelte +++ b/web/src/routes/analysis/+page.svelte @@ -53,6 +53,7 @@ let isLoading = $state(false); let errorMessage = $state(''); let records: CleanedBill[] = $state([]); + let allRecords: CleanedBill[] = $state([]); // 全部账单数据(不受日期筛选,用于每日趋势图) let monthlyStats: MonthlyStat[] = $state([]); // 月度统计(全部数据) let isDemo = $state(false); let serverAvailable = $state(true); @@ -88,6 +89,7 @@ // 派生分析数据 let analysisRecords = $derived(isDemo ? demoRecords : toAnalysisRecords(records)); + let allAnalysisRecords = $derived(isDemo ? demoRecords : toAnalysisRecords(allRecords)); // 全部数据用于每日趋势图 let categoryStats = $derived(calculateCategoryStats(analysisRecords)); let dailyExpenseData = $derived(calculateDailyExpenseData(analysisRecords)); let totalStats = $derived(calculateTotalStats(analysisRecords)); @@ -122,13 +124,14 @@ return; } - // 并行获取数据:筛选后的账单 + 全部月度统计 - const [billsResponse, monthlyResponse] = await Promise.all([ + // 并行获取数据:筛选后的账单 + 全部账单 + 全部月度统计 + const [billsResponse, allBillsResponse, monthlyResponse] = await Promise.all([ fetchBills({ page_size: 10000, start_date: toDateString(startYear, startMonth, startDay), end_date: toDateString(endYear, endMonth, endDay), }), + fetchBills({ page_size: 10000 }), // 获取全部数据,不传日期筛选 fetchMonthlyStats(), ]); @@ -142,6 +145,11 @@ errorMessage = billsResponse.message || '加载失败'; } + // 处理全部账单数据(用于每日趋势图) + if (allBillsResponse.result && allBillsResponse.data) { + allRecords = allBillsResponse.data.bills || []; + } + // 处理月度统计数据 if (monthlyResponse.result && monthlyResponse.data) { monthlyStats = monthlyResponse.data; @@ -246,8 +254,8 @@ - - + +