diff --git a/common/api/shop.js b/common/api/shop.js
index 50dd9e5..fccbc0e 100644
--- a/common/api/shop.js
+++ b/common/api/shop.js
@@ -271,12 +271,13 @@ export default {
});
},
// 我的优惠券(已有的)
- getMemberCouponList({ store_id, gc_id, type, status }) {
+ getMemberCouponList({ store_id, gc_id, type, status, page }) {
return vm.$u.post('Coupon/getMemberCouponList', {
store_id: store_id,
gc_id: gc_id,
type: type,
status: status,
+ page: page,
});
},
// 获取直播列表
diff --git a/pageE/tool/MineCoupon.vue b/pageE/tool/MineCoupon.vue
index 3d9febc..5049f0c 100644
--- a/pageE/tool/MineCoupon.vue
+++ b/pageE/tool/MineCoupon.vue
@@ -3,13 +3,14 @@
-
+
+
@@ -32,6 +33,9 @@ export default {
swiperHeight: '',
couponList: [],
goodsClass: [],
+ page: 0,
+ timer: true,
+ loadStatus: ['loadmore', 'loadmore', 'loadmore'],
}
},
components: {
@@ -46,8 +50,7 @@ export default {
},
watch: {
current(value) {
- let status = value + 1;
- this.getMemberCouponList(status);
+ this.getMemberCouponList(value);
}
},
methods: {
@@ -56,16 +59,31 @@ export default {
this.goodsClass = res.data;
})
},
- getMemberCouponList(current) {
- this.$u.api.getMemberCouponList({
- status: current
- }).then(res => {
- if(res.errCode == 0) {
- this.couponList[this.current] = res.data;
- } else {
- this.couponList[this.current] = [];
- }
- this.$forceUpdate();
+ async getMemberCouponList({ load = 'reload' }) {
+ const res = await this.$u.api.getMemberCouponList({
+ status: this.current + 1, // 代金券状态 1:未用 2:已用 3:过期 4:收回
+ page: this.page,
+ })
+ this.timer = true;
+ if(res.errCode == 0) {
+ if(load == 'reload') this.couponList[this.current] = res.data;
+ else if(load == 'loadmore') this.couponList[this.current].push(...res.data);
+ }
+ this.$forceUpdate();
+ return res.data.length;
+ },
+ onreachBottom() {
+ if(!this.timer) return false;
+ this.timer = false;
+ this.loadStatus.splice(this.current, 1, "loading");
+ this.page++;
+ this.getMemberCouponList({ load: 'loadmore' }).then(length => {
+ this.loadStatus.splice(this.current, 1, "nomore");
+ if(length == 0) this.page--;
+ }).catch(() => {
+ this.loadStatus.splice(this.current, 1, "nomore");
+ console.log(this.loadStatus[this.current]);
+ this.page--;
})
},
useCoupon(coupon) {
diff --git a/pageE/tool/WashOrder.vue b/pageE/tool/WashOrder.vue
index 513c6f5..e3c46de 100644
--- a/pageE/tool/WashOrder.vue
+++ b/pageE/tool/WashOrder.vue
@@ -293,8 +293,12 @@ export default {
this.loadStatu = "loading";
this.page++;
this.getOrderList({ load: 'loadmore' }).then(length => {
- this.loadStatu = "nomore";
- if(length == 0) this.page--;
+ if(length == 0) {
+ this.page--;
+ this.loadStatu = "nomore";
+ } else {
+ this.loadStatu = "loadmore";
+ }
}).catch(() => {
this.loadStatu = "nomore";
this.page--;