From 05bd41aab8c9dba2cf7afcd78493415761f11d9d Mon Sep 17 00:00:00 2001 From: xuxueyang <xuxy@fengyuntec.com> Date: 星期四, 26 九月 2024 08:54:08 +0800 Subject: [PATCH] update 供应商刷新问题 --- sub_pages/customer/coupon/good-all.vue | 59 +++++++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 49 insertions(+), 10 deletions(-) diff --git a/sub_pages/customer/coupon/good-all.vue b/sub_pages/customer/coupon/good-all.vue index 9e36900..2bee1b6 100644 --- a/sub_pages/customer/coupon/good-all.vue +++ b/sub_pages/customer/coupon/good-all.vue @@ -16,7 +16,7 @@ <view class="flex" @click="goto('/sub_pages/customer/coupon/point-history',true)"> <image src="../../../static/images/customer/coupon/icon-point.png" class="point-icon"> </image> - {{currentInfo.currentPoint || 0}} + {{self_point}} <uni-icons class="icon" type="right" size="32"></uni-icons> </view> </view> @@ -48,15 +48,19 @@ <view class="good-container p15 flex"> <view v-for="(item,index) of list" :key="index" class="good-item" @click="toDetail(item)"> - <image class="cover" :src="item.cover" :lazy-load="true" mode="scaleToFill"> + <image class="cover" :src="item.cover" :lazy-load="true" mode="scaleToFill" + :class="[item.stock===0?'component-stock-zero':'']"> </image> <view class="title"> {{item.name}} </view> <view class="flex score-info"> - <view><span class="score">{{item.point||'-'}}</span>积分</view> - <view class="button m-l-a m-r-0" @click.stop="exchange('good',item)">兑换</view> + <view> + <view><span class="score">{{item.point||'-'}}</span> 积分</view> + <view class="desc-gray">库存:<span class="">{{item.stock||'0'}}</span></view> + </view> + <view class="button m-l-a m-r-0 m-t-20" @click.stop="exchange('good',item)">兑换</view> </view> </view> </view> @@ -84,8 +88,12 @@ <view class="t-red"> {{item.point||'0'}}积分 </view> - <view class="button m-l-a m-r-15" @click="exchange('coupon',item)"> - 兑换 + <view class="m-l-10 desc-gray"> + 库存:{{item.couponAmount||'0'}} + </view> + <view class="button m-l-a m-r-15" :class="[item.couponAmount===0?'over':'']" + @click="exchange('coupon',item)"> + {{item.couponAmount===0?'已售磬':'兑换'}} </view> </view> </view> @@ -99,6 +107,20 @@ <script> export default { + computed: { + + self_point() { + if (this.currentInfo.currentPoint) { + if (this.currentInfo.currentPoint >= 10000) { + return (this.currentInfo.currentPoint / 10000 + '万') + } else { + return this.currentInfo.currentPoint + } + } + + return 0 + } + }, methods: { changeTab(flg) { this.flg = '' + flg @@ -107,6 +129,10 @@ this.refreshList() }, async exchange(type, item) { + if (item.stock === 0 || item.couponAmount === 0) { + this.$message.showToast('库存为0,无法兑换') + return + } var api = '' if (type == 'good') { api = '/api/customer/point/goods/exchange' @@ -131,7 +157,14 @@ //刷新积分 this.$store.dispatch('getCurrentInfo'); await this.$message.showToast('兑换成功') - + if (type == 'good') { + item.stock -= 1 + this.$forceUpdate() + } + if (type == 'coupon') { + item.couponAmount -= 1 + this.$forceUpdate() + } } }, toDetail(item) { @@ -194,11 +227,12 @@ this.listApi = '/api/customer/point/goods/list' this.getList() }, - onPullDownRefresh() { + async onPullDownRefresh() { //刷新积分和刷新商品 this.$store.dispatch('getCurrentInfo'); // this.list = [] - this.refreshList() + await this.refreshList() + uni.stopPullDownRefresh() }, onReachBottom() { @@ -209,7 +243,7 @@ <style lang="scss" scoped> @import './coupon.scss'; - + .good-list-container { .good-container { .good-item { @@ -260,6 +294,11 @@ text-align: center; line-height: 46rpx; } + + .button.over { + color: #747374; + border: 2rpx solid #747374; + } } .good-item:nth-child(2n+1) { -- Gitblit v1.9.3