加上下拉刷新
This commit is contained in:
@@ -1,11 +1,5 @@
|
||||
<template>
|
||||
<view class="page_padding">
|
||||
<!-- 状态栏 -->
|
||||
<view class="status-bar" :style="{ height: statusBarHeight + 'px' }"></view>
|
||||
|
||||
<!-- 导航栏 -->
|
||||
<uni-nav-bar title="实收统计" backgroundColor="transparent" :border="false" left-icon="left" @click-left="goBack" />
|
||||
|
||||
<!-- 筛选条件 -->
|
||||
<view class="filter-section">
|
||||
<view class="filter-row">
|
||||
@@ -53,7 +47,14 @@
|
||||
</view>
|
||||
|
||||
<!-- 统计表格列表 -->
|
||||
<scroll-view class="table-scroll" scroll-y show-scrollbar="false">
|
||||
<scroll-view
|
||||
class="table-scroll"
|
||||
scroll-y
|
||||
show-scrollbar="false"
|
||||
refresher-enabled
|
||||
:refresher-triggered="refresherTriggered"
|
||||
@refresherrefresh="onPullRefresh"
|
||||
>
|
||||
<!-- 循环渲染每个表格 -->
|
||||
<view v-for="(table, index) in tableConfigs" :key="index" class="table-wrapper">
|
||||
<!-- 标题独立于卡片外 -->
|
||||
@@ -102,9 +103,6 @@
|
||||
import { onShow } from '@dcloudio/uni-app'
|
||||
import { getVillageList,getFeeTypes,getTableList} from '../../api/api.js'
|
||||
|
||||
// ============ 系统信息 ============
|
||||
const statusBarHeight = ref(uni.getSystemInfoSync().statusBarHeight || 0)
|
||||
|
||||
// ============ 筛选数据 ============
|
||||
// 项目选项(从接口获取)
|
||||
const projectOptions = ref([])
|
||||
@@ -119,6 +117,9 @@
|
||||
// 日期范围
|
||||
const datetimerange = ref([])
|
||||
|
||||
// 下拉刷新触发状态
|
||||
const refresherTriggered = ref(false)
|
||||
|
||||
// ============ 表格数据 ============
|
||||
const tableConfigs = reactive([
|
||||
{
|
||||
@@ -143,7 +144,7 @@
|
||||
|
||||
// ============ 获取小区列表 ============
|
||||
const fetchVillageList = () => {
|
||||
getVillageList()
|
||||
return getVillageList()
|
||||
.then((res) => {
|
||||
if (res.code === 200 && res.data) {
|
||||
const list = res.data.map((item) => ({
|
||||
@@ -164,7 +165,7 @@
|
||||
|
||||
// ============ 获取收费类型列表 ============
|
||||
const fetchFeeTypes = () => {
|
||||
getFeeTypes()
|
||||
return getFeeTypes()
|
||||
.then((res) => {
|
||||
if (res.code === 200 && res.data) {
|
||||
const list = res.data.map((item) => ({
|
||||
@@ -198,7 +199,7 @@
|
||||
params.startDate = datetimerange.value[0]
|
||||
params.endDate = datetimerange.value[1]
|
||||
}
|
||||
getTableList(params)
|
||||
return getTableList(params)
|
||||
.then((res) => {
|
||||
if (res.code === 200 && res.data) {
|
||||
// 项目总览
|
||||
@@ -250,11 +251,19 @@
|
||||
fetchTableList()
|
||||
})
|
||||
|
||||
// ============ 事件处理 ============
|
||||
const goBack = () => {
|
||||
uni.navigateBack()
|
||||
// 下拉刷新
|
||||
const onPullRefresh = () => {
|
||||
refresherTriggered.value = true
|
||||
Promise.allSettled([
|
||||
fetchVillageList(),
|
||||
fetchFeeTypes(),
|
||||
fetchTableList()
|
||||
]).finally(() => {
|
||||
refresherTriggered.value = false
|
||||
})
|
||||
}
|
||||
|
||||
// ============ 事件处理 ============
|
||||
const onProjectChange = (e) => {
|
||||
const index = e.detail.value
|
||||
const option = projectOptions.value[index]
|
||||
@@ -295,11 +304,6 @@
|
||||
flex-direction: column;
|
||||
height: 100vh;
|
||||
|
||||
.status-bar {
|
||||
width: 100%;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
// ===== 筛选区域(取消背景) =====
|
||||
.filter-section {
|
||||
padding: 24rpx 0 16rpx;
|
||||
|
||||
Reference in New Issue
Block a user