fix: v1.4 Bug 修复与体验优化
- 修复所有日期相关逻辑使用 UTC 导致时区偏移问题 - 首页今日数据改用 stats API 聚合查询,消除 100 条上限 - 账单分页加载添加请求序号,防止并发覆盖 - 统计页 maxSingle 改为按金额排序 - 统计页 tab 切换时刷新月对比数据 - 首页 onShow 跳过首次加载,避免双重请求 - 今日卡片同时展示支出/收入,骨架屏对齐 - 账单页统一左滑删除,去掉长按 - 后端 transaction 支持 sortBy 参数 - 后端 stats overview 支持 startDate/endDate 查询
This commit is contained in:
@@ -26,7 +26,6 @@
|
||||
:item="item"
|
||||
:hideDate="true"
|
||||
@tap="onEdit(item)"
|
||||
@longpress="onDelete(item)"
|
||||
@delete="onDelete(item)"
|
||||
/>
|
||||
</view>
|
||||
@@ -85,6 +84,7 @@ const pageSize = 20
|
||||
const txList = ref<any[]>([])
|
||||
const total = ref(0)
|
||||
const loadError = ref(false)
|
||||
let loadSeq = 0 // 请求序号,防止并发覆盖
|
||||
|
||||
const noMore = computed(() => txList.value.length >= total.value && total.value > 0)
|
||||
|
||||
@@ -116,11 +116,14 @@ async function loadTx(reset = false) {
|
||||
page.value = 1
|
||||
txList.value = []
|
||||
}
|
||||
const seq = ++loadSeq
|
||||
const params: any = { page: page.value, pageSize }
|
||||
if (filterType.value !== 'all') params.type = filterType.value
|
||||
try {
|
||||
loadError.value = false
|
||||
await txStore.fetchTransactions(params)
|
||||
// 丢弃过期请求的结果
|
||||
if (seq !== loadSeq) return
|
||||
if (reset) {
|
||||
txList.value = txStore.transactions
|
||||
} else {
|
||||
@@ -128,6 +131,7 @@ async function loadTx(reset = false) {
|
||||
}
|
||||
total.value = txStore.total
|
||||
} catch (e) {
|
||||
if (seq !== loadSeq) return
|
||||
console.error('Load bills error:', e)
|
||||
loadError.value = true
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user