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--;