feat: 更新未读消息计数的刷新频率,优化消息视图;添加分类标签显示功能,增强预算卡片的可读性
All checks were successful
Docker Build & Deploy / Build Docker Image (push) Successful in 19s
Docker Build & Deploy / Deploy to Production (push) Successful in 13s
Docker Build & Deploy / Cleanup Dangling Images (push) Successful in 1s
Docker Build & Deploy / WeChat Notification (push) Successful in 1s

This commit is contained in:
2026-01-10 23:01:02 +08:00
parent 171febcfb6
commit ad21d20751
6 changed files with 98 additions and 25 deletions

View File

@@ -25,7 +25,7 @@
:title="activeTabTitle"
:get-value-class="getValueClass"
/>
<div class="scroll-content">
<van-pull-refresh v-model="isRefreshing" class="scroll-content" @refresh="onRefresh">
<div class="budget-list">
<template v-if="expenseBudgets?.length > 0">
<van-swipe-cell v-for="budget in expenseBudgets" :key="budget.id">
@@ -66,7 +66,7 @@
<van-empty v-else description="暂无支出预算" />
</div>
<div style="height: calc(50px + env(safe-area-inset-bottom, 0px))"></div>
</div>
</van-pull-refresh>
</van-tab>
<van-tab title="收入" :name="BudgetCategory.Income">
@@ -76,7 +76,7 @@
:title="activeTabTitle"
:get-value-class="getValueClass"
/>
<div class="scroll-content">
<van-pull-refresh v-model="isRefreshing" class="scroll-content" @refresh="onRefresh">
<div class="budget-list">
<template v-if="incomeBudgets?.length > 0">
<van-swipe-cell v-for="budget in incomeBudgets" :key="budget.id">
@@ -117,11 +117,11 @@
<van-empty v-else description="暂无收入预算" />
</div>
<div style="height: calc(50px + env(safe-area-inset-bottom, 0px))"></div>
</div>
</van-pull-refresh>
</van-tab>
<van-tab title="存款" :name="BudgetCategory.Savings">
<div class="scroll-content" style="padding-top:4px">
<van-pull-refresh v-model="isRefreshing" class="scroll-content" style="padding-top:4px" @refresh="onRefresh">
<div class="budget-list">
<template v-if="savingsBudgets?.length > 0">
<BudgetCard
@@ -155,7 +155,7 @@
<van-empty v-else description="暂无存款计划" />
</div>
<div style="height: calc(50px + env(safe-area-inset-bottom, 0px))"></div>
</div>
</van-pull-refresh>
</van-tab>
</van-tabs>
@@ -183,6 +183,7 @@ import SavingsConfigPopup from '@/components/Budget/SavingsConfigPopup.vue'
const activeTab = ref(BudgetCategory.Expense)
const budgetEditRef = ref(null)
const savingsConfigRef = ref(null)
const isRefreshing = ref(false)
const expenseBudgets = ref([])
const incomeBudgets = ref([])
@@ -229,6 +230,16 @@ const fetchBudgetList = async () => {
}
}
const onRefresh = async () => {
try {
await Promise.all([fetchBudgetList(), fetchCategoryStats()])
} catch (err) {
console.error('刷新失败', err)
} finally {
isRefreshing.value = false
}
}
const fetchCategoryStats = async () => {
try {
const res = await getCategoryStats(activeTab.value)
@@ -364,6 +375,11 @@ const handleDelete = (budget) => {
margin: 0 12px 12px;
}
.scroll-content {
flex: 1;
overflow-y: auto;
}
.delete-button {
height: 100%;
}