Browse Source

上拉刷新重复问题

fenbao
wangyx 1 month ago
parent
commit
efc5e3cea5
  1. 8
      common/api.js
  2. 8
      pages/api.js
  3. 26
      pagesA/checkout/list/list.vue
  4. 46
      pagesA/release/list/list.vue

8
common/api.js

@ -32,13 +32,7 @@ export function getdeptList() {
method: 'get'
})
}
// 待释放房间列表
export function listWaitingReleaseRooms() {
return request({
url: "/apartment/manager/listWaitingReleaseRooms",
method: "get",
});
}
// 提交退房
export function submitCheckout(data) {
return request({

8
pages/api.js

@ -53,6 +53,14 @@ export function listCheckoutAlert(query) {
params: query,
});
}
// 待释放房间列表
export function listWaitingReleaseRooms(query) {
return request({
url: "/apartment/manager/listWaitingReleaseRooms",
method: "get",
params: query,
});
}
export function getRoomFacilities(query) {
return request({
url: "/apartment/manager/facilitiesByRoomId",

26
pagesA/checkout/list/list.vue

@ -7,9 +7,9 @@
:refresher-triggered="isRefreshing"
@refresherrefresh="refreshData"
@scrolltolower="loadMore"
style="height: 100vh;"
style="height: 100vh"
>
<view v-for="(item,index) in listData" :key="index">
<view v-for="(item, index) in listData" :key="index">
<view class="checkout-card" @click="goDetail(item)">
<image
v-if="item.coverImg"
@ -30,9 +30,9 @@
</view>
</view>
</view>
<view style="text-align: center;" v-if="isLoading">加载中...</view>
<view style="text-align: center" v-if="isLoading">加载中...</view>
<view v-else style="text-align: center">没有更多了~</view>
<view v-else-if="listData.length <= 0" class="no-data"> 暂无数据~ </view>
<!-- <view v-else-if="noMore && listData.length > 0" style="text-align: center;">没有更多了~</view> -->
</scroll-view>
</view>
</template>
@ -56,11 +56,11 @@ export default {
this.refreshData();
},
methods: {
maskPhoneNumber (phoneNumber) {
maskPhoneNumber(phoneNumber) {
if (!phoneNumber || phoneNumber.length !== 11) {
return phoneNumber;
}
return phoneNumber.substr(0, 3) + '****' + phoneNumber.substr(7);
return phoneNumber.substr(0, 3) + "****" + phoneNumber.substr(7);
},
//
refreshData() {
@ -81,8 +81,8 @@ export default {
async fetchData() {
try {
const res = await listCheckout(this.form);
console.log(res,'res');
console.log(res, "res");
const tempList = res.rows || [];
let page = this.form.pageNum;
if (page === 1) {
@ -93,13 +93,13 @@ export default {
}
}
//
if (tempList.length < this.form.pageSize) {
if (res.total <= this.form.pageSize * this.form.pageNum) {
this.noMore = true;
if (page !== 1) {
uni.showToast({
title: "已经加载全部",
icon: "none"
});
// uni.showToast({
// title: "",
// icon: "none"
// });
}
}
} catch (error) {

46
pagesA/release/list/list.vue

@ -7,11 +7,15 @@
:refresher-triggered="isRefreshing"
@refresherrefresh="refreshData"
@scrolltolower="loadMore"
style="height: 100vh;"
style="height: 100vh"
>
<view v-for="(item,index) in listData" :key="item.roomId">
<view v-for="(item, index) in listData" :key="item.roomId">
<view class="checkout-card" @click="goDetail(item)">
<image :src="item.houseTypeCoverImg" class="room-img" mode="aspectFill"></image>
<image
:src="item.houseTypeCoverImg"
class="room-img"
mode="aspectFill"
></image>
<view class="room-info">
<view class="room-title">{{ item.roomNamePath }}</view>
<view class="room-user">
@ -21,15 +25,15 @@
</view>
</view>
</view>
<view style="text-align: center;" v-if="isLoading">加载中...</view>
<view style="text-align: center" v-if="isLoading">加载中...</view>
<view v-else style="text-align: center">没有更多了~</view>
<view v-else-if="listData.length <= 0" class="no-data"> 暂无数据~ </view>
<!-- <view v-else-if="noMore " style="text-align: center;">没有更多了~</view> -->
</scroll-view>
</view>
</template>
<script>
import { listWaitingReleaseRooms } from "../../../common/api";
import { listWaitingReleaseRooms } from "@/pages/api";
export default {
data() {
return {
@ -69,10 +73,12 @@ export default {
//
async fetchData() {
try {
const { rows = [], code, msg } = await listWaitingReleaseRooms({
pageNum: this.form.pageNum,
pageSize: this.form.pageSize,
});
const {
rows = [],
code,
msg,
total
} = await listWaitingReleaseRooms(this.form);
if (code === 200) {
let page = this.form.pageNum;
if (page === 1) {
@ -82,13 +88,13 @@ export default {
this.listData = [...this.listData, ...rows];
}
}
if (rows.length < this.form.pageSize) {
if (total < this.form.pageSize *this.form.pageNum) {
this.noMore = true;
if (page !== 1) {
uni.showToast({
title: "已经加载全部",
icon: "none"
});
// uni.showToast({
// title: "",
// icon: "none",
// });
}
}
} else {
@ -102,10 +108,12 @@ export default {
}
},
goDetail(item) {
console.log(item,'item');
console.log(item, "item");
uni.navigateTo({
url: `/pagesA/release/detail/detail?roomId=${item.roomId}&userInfo=${JSON.stringify(item)}`
url: `/pagesA/release/detail/detail?roomId=${
item.roomId
}&userInfo=${JSON.stringify(item)}`,
});
},
},
@ -152,7 +160,7 @@ export default {
}
.room-user .gender {
margin-left: 16rpx;
color:#fcaa30;
color: #fcaa30;
}
.room-user .phone {
margin-left: 16rpx;

Loading…
Cancel
Save