Browse Source

上拉刷新重复问题

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

8
common/api.js

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

8
pages/api.js

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

20
pagesA/checkout/list/list.vue

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

40
pagesA/release/list/list.vue

@ -7,11 +7,15 @@
:refresher-triggered="isRefreshing" :refresher-triggered="isRefreshing"
@refresherrefresh="refreshData" @refresherrefresh="refreshData"
@scrolltolower="loadMore" @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)"> <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-info">
<view class="room-title">{{ item.roomNamePath }}</view> <view class="room-title">{{ item.roomNamePath }}</view>
<view class="room-user"> <view class="room-user">
@ -21,15 +25,15 @@
</view> </view>
</view> </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="listData.length <= 0" class="no-data"> 暂无数据~ </view>
<!-- <view v-else-if="noMore " style="text-align: center;">没有更多了~</view> -->
</scroll-view> </scroll-view>
</view> </view>
</template> </template>
<script> <script>
import { listWaitingReleaseRooms } from "../../../common/api"; import { listWaitingReleaseRooms } from "@/pages/api";
export default { export default {
data() { data() {
return { return {
@ -69,10 +73,12 @@ export default {
// //
async fetchData() { async fetchData() {
try { try {
const { rows = [], code, msg } = await listWaitingReleaseRooms({ const {
pageNum: this.form.pageNum, rows = [],
pageSize: this.form.pageSize, code,
}); msg,
total
} = await listWaitingReleaseRooms(this.form);
if (code === 200) { if (code === 200) {
let page = this.form.pageNum; let page = this.form.pageNum;
if (page === 1) { if (page === 1) {
@ -82,13 +88,13 @@ export default {
this.listData = [...this.listData, ...rows]; this.listData = [...this.listData, ...rows];
} }
} }
if (rows.length < this.form.pageSize) { if (total < this.form.pageSize *this.form.pageNum) {
this.noMore = true; this.noMore = true;
if (page !== 1) { if (page !== 1) {
uni.showToast({ // uni.showToast({
title: "已经加载全部", // title: "",
icon: "none" // icon: "none",
}); // });
} }
} }
} else { } else {
@ -102,10 +108,12 @@ export default {
} }
}, },
goDetail(item) { goDetail(item) {
console.log(item,'item'); console.log(item, "item");
uni.navigateTo({ 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)}`,
}); });
}, },
}, },

Loading…
Cancel
Save