修改首页轮播报错、活动显示、公共页样式显示、我的车位等bug
This commit is contained in:
@@ -221,7 +221,7 @@
|
||||
} catch (err) {
|
||||
uni.hideLoading()
|
||||
uni.showToast({
|
||||
title: err.msg || '上传失败',
|
||||
title: err.msg || '网络异常',
|
||||
icon: 'none'
|
||||
})
|
||||
}
|
||||
@@ -237,7 +237,8 @@
|
||||
carModel: formData.value.carModel,
|
||||
carColor: formData.value.carColor,
|
||||
carImageUrl: imageUrl,
|
||||
residentId: uni.getStorageSync('userId')
|
||||
villageId:uni.getStorageSync('currentVillageId')
|
||||
// residentId: uni.getStorageSync('userId')
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
</uni-nav-bar>
|
||||
<!-- -->
|
||||
|
||||
<scroll-view class="page" scroll-y="true" @scrolltolower="getList" refresher-enabled="true" :refresher-triggered="isRefreshing" @refresherrefresh="onRefresh">
|
||||
<scroll-view class="page" scroll-y="true">
|
||||
<view v-if="houseList.length === 0" class="empty-state">
|
||||
<uni-icons type="info" size="60" color="#ccc"></uni-icons>
|
||||
<text class="empty-text">
|
||||
@@ -52,6 +52,10 @@
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view v-if="houseList.length > 0" class="load-more-wrap">
|
||||
<view v-if="noMoreData" class="no-more">没有更多了</view>
|
||||
<button v-else class="load-more-btn" :loading="loading" @click="loadMore">加载更多</button>
|
||||
</view>
|
||||
</scroll-view>
|
||||
<!-- 底部添加按钮 -->
|
||||
<view class="bottom-btn">
|
||||
@@ -75,40 +79,28 @@
|
||||
|
||||
|
||||
const houseList = ref([])
|
||||
const loadingMore = ref(false)
|
||||
const noMoreData = ref(false)
|
||||
const isRefreshing = ref(false)
|
||||
|
||||
const loading = ref(false)
|
||||
const pageNum = ref(1)
|
||||
const pageSize = ref(10)
|
||||
const noMoreData = ref(false)
|
||||
// ==================== 获取列表数据 ====================
|
||||
const getList = async () => {
|
||||
// 防重复请求
|
||||
|
||||
if (loadingMore.value || noMoreData.value) return
|
||||
|
||||
loadingMore.value = true
|
||||
if (loading.value) return
|
||||
loading.value = true
|
||||
try {
|
||||
const res = await getMyHouseList({
|
||||
pageNum: pageNum.value,
|
||||
pageSize: pageSize.value
|
||||
})
|
||||
|
||||
const data = res
|
||||
const newList = data.rows || []
|
||||
|
||||
// 第一页 → 覆盖数据
|
||||
const newList = res.rows || []
|
||||
if (pageNum.value === 1) {
|
||||
houseList.value = newList
|
||||
} else {
|
||||
// 后续页 → 追加数据
|
||||
houseList.value = [...houseList.value, ...newList]
|
||||
}
|
||||
// 判断是否没有更多数据
|
||||
// 不足一页说明没有更多数据了
|
||||
if (newList.length < pageSize.value) {
|
||||
noMoreData.value = true
|
||||
} else {
|
||||
pageNum.value++
|
||||
}
|
||||
} catch (err) {
|
||||
uni.showToast({
|
||||
@@ -117,26 +109,21 @@
|
||||
})
|
||||
console.error('列表接口报错:', err)
|
||||
} finally {
|
||||
loadingMore.value = false
|
||||
// 关闭 refresher 下拉刷新状态
|
||||
if (isRefreshing.value) {
|
||||
isRefreshing.value = false
|
||||
}
|
||||
loading.value = false
|
||||
}
|
||||
}
|
||||
|
||||
// ==================== 下拉刷新 ====================
|
||||
const onRefresh = () => {
|
||||
isRefreshing.value = true
|
||||
pageNum.value = 1
|
||||
noMoreData.value = false
|
||||
houseList.value = []
|
||||
loadingMore.value = false
|
||||
// ==================== 加载更多 ====================
|
||||
const loadMore = () => {
|
||||
if (loading.value || noMoreData.value) return
|
||||
pageNum.value++
|
||||
getList()
|
||||
}
|
||||
|
||||
// 页面加载时请求第一页
|
||||
onMounted(() => {
|
||||
pageNum.value = 1
|
||||
noMoreData.value = false
|
||||
getList()
|
||||
})
|
||||
|
||||
@@ -155,7 +142,7 @@
|
||||
const data = res
|
||||
if (data.code === 200) {
|
||||
// uni.hideLoading();
|
||||
loadingMore.value = false
|
||||
pageNum.value = 1
|
||||
noMoreData.value = false
|
||||
getList()
|
||||
uni.setStorageSync('houseIsDefault', e.detail.value)
|
||||
@@ -173,7 +160,7 @@
|
||||
} catch (err) {
|
||||
// uni.hideLoading();
|
||||
uni.showToast({
|
||||
title: `${err}`,
|
||||
title: err.msg,
|
||||
icon: 'none'
|
||||
})
|
||||
console.error('列表接口报错:', err)
|
||||
@@ -253,6 +240,33 @@
|
||||
margin-bottom: 10rpx;
|
||||
}
|
||||
|
||||
.no-more {
|
||||
text-align: center;
|
||||
padding: 30rpx 0;
|
||||
color: #999;
|
||||
font-size: 24rpx;
|
||||
}
|
||||
|
||||
.load-more-wrap {
|
||||
padding: 20rpx 0 40rpx;
|
||||
}
|
||||
|
||||
.load-more-btn {
|
||||
width: 100%;
|
||||
height: 80rpx;
|
||||
line-height: 80rpx;
|
||||
background: #ffffff;
|
||||
color: #007aff;
|
||||
border: 1rpx solid #007aff;
|
||||
border-radius: 12rpx;
|
||||
font-size: 28rpx;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.load-more-btn::after {
|
||||
border: none;
|
||||
}
|
||||
|
||||
/* 底部按钮 */
|
||||
.bottom-btn {
|
||||
padding: 20rpx 30rpx 40rpx;
|
||||
|
||||
@@ -103,7 +103,7 @@
|
||||
const res = await getCarList({
|
||||
pageNum: pageNum.value,
|
||||
pageSize: pageSize.value,
|
||||
residentId: uni.getStorageSync('userId')
|
||||
// residentId: uni.getStorageSync('userId')
|
||||
})
|
||||
|
||||
const data = res
|
||||
|
||||
Reference in New Issue
Block a user