2023-3-13

余额
我的收藏
我的云链
This commit is contained in:
2023-03-13 18:14:28 +08:00
parent 1d7fb7b745
commit a1f44d5c93
7 changed files with 188 additions and 59 deletions

View File

@@ -7,7 +7,7 @@
<swiper :current="tabCurrentIndex" class="swiper-box" duration="300" @change="changeTab">
<swiper-item class="tab-content" v-for="(tabItem, tabIndex) in navList" :key="tabIndex">
<scroll-view class="list-scroll-content" scroll-y @scrolltolower="loadData">
<scroll-view class="list-scroll-content" scroll-y>
<!-- 空白页 -->
<empty v-if="tabItem.loaded === true && tabItem.orderList.length === 0"></empty>
@@ -30,11 +30,10 @@
</view>
</view>
<uni-load-more :status="tabItem.loadingType"></uni-load-more>
</scroll-view>
</swiper-item>
</swiper>
<uni-load-more :status="loadingType"></uni-load-more>
</view>
</template>
@@ -58,7 +57,8 @@
data() {
return {
tabCurrentIndex: 0,
pageNum:1,
pageNum: 1,
loadingType: 'more', //加载更多状态
navList: [{
type: 1,
text: '收藏商品',
@@ -105,10 +105,10 @@
onPullDownRefresh() {
console.log("onPullDownRefresh")
this.pageNum = this.pageNum + 1;
this.pageNum = 1;
// this.getNewProductList('refresh');
this.loadData();
this.loadData('refresh');
setTimeout(function() {
uni.stopPullDownRefresh();
}, 2000);
@@ -123,31 +123,9 @@
});
},
//获取订单列表
async loadData(source) {
async loadData(type = 'add', loading) {
// console.log('=======================')
//这里是将订单挂载到tab列表下
let index = this.tabCurrentIndex;
let navItem = this.navList[index];
let type = navItem.type;
if (source === 'tabChange' && navItem.loaded === true) {
//tab切换只有第一次需要加载数据
return;
}
if (navItem.loadingType === 'loading') {
//防止重复加载
return;
}
navItem.loadingType = 'loading';
// if (!this.hasLogin) {
// url = '/pages/public/login';
// uni.navigateTo({
// url
// });
// } else {
//没有更多直接返回
if (type === 'add') {
if (this.loadingType === 'nomore') {
@@ -157,33 +135,116 @@
} else {
this.loadingType = 'more';
}
//这里是将订单挂载到tab列表下
let index = this.tabCurrentIndex;
let navItem = this.navList[index];
console.log(navItem);
let status = navItem.type;
let params = {
pageNum: this.pageNum,
};
let data = await Api.apiCall('get', Api.goods.listCollect, params);
let orderList = data.records.filter(item => {
let data = await Api.apiCall('get', Api.goods.listCollect, params);
console.log("data>>>>", data);
let orderList = data.records.filter(item => {
//添加不同状态下订单的表现形式
if (item.type == 1) {
if (item.meno3 == null) {
item.meno3 = 0;
}
item.meno3 = '销量:' + item.meno3;
return item;
}
item = Object.assign(item, this.orderStateExp(item.type));
item.addTime = this.dateFormat(item.addTime);
return item.type === type;
});
orderList.forEach(item => {
navItem.orderList.push(item);
});
//loaded新字段用于表示数据加载完毕如果为空可以显示空白页
this.$set(navItem, 'loaded', true);
if (type === 'refresh') {
navItem.orderList = [];
}
console.log("orderList.length======:" + orderList.length)
navItem.orderList = navItem.orderList.concat(orderList);
console.log("data.total======:" + data.total)
console.log("length======:" + navItem.orderList.length)
//判断是否还有下一页有是more 没有是nomore(测试数据判断大于20就没有了)
this.loadingType = navItem.orderList.length >= data.total ? 'nomore' : 'more';
console.log("type======:" + type)
console.log("loadingType======:" + this.loadingType)
if (type === 'refresh') {
if (loading == 1) {
uni.hideLoading();
} else {
uni.stopPullDownRefresh();
}
}
//判断是否还有数据, 有改为 more 没有改为noMore
navItem.loadingType = 'more';
// //这里是将订单挂载到tab列表下
// let index = this.tabCurrentIndex;
// let navItem = this.navList[index];
// let type = navItem.type;
// if (source === 'tabChange' && navItem.loaded === true) {
// //tab切换只有第一次需要加载数据
// return;
// }
// if (navItem.loadingType === 'loading') {
// //防止重复加载
// return;
// }
// navItem.loadingType = 'loading';
// //没有更多直接返回
// if (type === 'add') {
// if (this.loadingType === 'nomore') {
// return;
// }
// this.loadingType = 'loading';
// } else {
// this.loadingType = 'more';
// }
// let params = {
// pageNum: this.pageNum,
// };
// console.log("params", params)
// let data = await Api.apiCall('get', Api.goods.listCollect, params);
// let orderList = data.records.filter(item => {
// //添加不同状态下订单的表现形式
// if (item.type == 1) {
// if (item.meno3 == null) {
// item.meno3 = 0;
// }
// item.meno3 = '销量:' + item.meno3;
// }
// item = Object.assign(item, this.orderStateExp(item.type));
// item.addTime = this.dateFormat(item.addTime);
// return item.type === type;
// });
// if (type === 'refresh') {
// navItem.orderList = [];
// }
// navItem.orderList = navItem.orderList.concat(orderList);
// // orderList.forEach(item => {
// // navItem.orderList.push(item);
// // });
// //loaded新字段用于表示数据加载完毕如果为空可以显示空白页
// this.$set(navItem, 'loaded', true);
// //判断是否还有数据, 有改为 more 没有改为noMore
// // navItem.loadingType = 'more';
// navItem.loadingType = navItem.orderList.length >= data.total ? 'nomore' : 'more';
// console.log("type======:" + type)
// console.log("loadingType======:" + navItem.loadingType)
// if (type === 'refresh') {
// if (loading == 1) {
// uni.hideLoading();
// } else {
// uni.stopPullDownRefresh();
// }
// }
},
//swiper 切换