|
@@ -16,20 +16,20 @@
|
|
|
<!-- 已使用 -->
|
|
|
<view class="prize-coupon">
|
|
|
<view class="prize-coupon-list">
|
|
|
- <!-- <view class="flex prize-coupon-list-item">
|
|
|
- <image src="../../static/logo.png" mode=""></image>
|
|
|
+ <view class="flex prize-coupon-list-item" v-for="(item, index) in list" :key="index">
|
|
|
+ <image :src="item.picUrl" mode="aspectFill"></image>
|
|
|
<view class="flex info">
|
|
|
<view class="flex desc">
|
|
|
- <view class="title">200元代金券</view>
|
|
|
- <view class="txt">使用期限:2022.03.02-2022.04.01</view>
|
|
|
- <view class="txt">使用范围:星巴克xxx店</view>
|
|
|
+ <view class="title">{{ item.title }}</view>
|
|
|
+ <view class="txt">使用期限:{{ $parseTime(item.validStart, '{y}.{m}.{d}') }}-{{ $parseTime(item.validEnd, '{y}.{m}.{d}') }}</view>
|
|
|
+ <view class="txt">使用范围:{{ item.useAreaDesc }}</view>
|
|
|
</view>
|
|
|
<view class="flex btn">
|
|
|
- <view class="amt"><text>¥</text>100</view>
|
|
|
+ <view class="amt"><text>¥</text>{{ item.discount / 100 }}</view>
|
|
|
</view>
|
|
|
- <view class="state">已使用</view>
|
|
|
+ <view class="state">{{ item.status.desc }}</view>
|
|
|
</view>
|
|
|
- </view> -->
|
|
|
+ </view>
|
|
|
</view>
|
|
|
</view>
|
|
|
<view class="flex empty" v-if="!list.length">
|
|
@@ -39,6 +39,8 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
+ import env from '../../config/env.js'
|
|
|
+ import $http from '@/utils/request.js'
|
|
|
export default {
|
|
|
data() {
|
|
|
return {
|
|
@@ -47,25 +49,74 @@
|
|
|
}, {
|
|
|
name: '已过期',
|
|
|
}],
|
|
|
- state: 0,
|
|
|
+ state: 2,
|
|
|
pageNum: 1,
|
|
|
total: 0,
|
|
|
list: [],
|
|
|
};
|
|
|
},
|
|
|
+ onShow() {
|
|
|
+ this.pageList()
|
|
|
+ },
|
|
|
methods: {
|
|
|
+ getList() {
|
|
|
+ let _this = this
|
|
|
+ let url = '/api/v1/mp/user/mine/coupon/list'
|
|
|
+ uni.showLoading({
|
|
|
+ title: '加载中'
|
|
|
+ });
|
|
|
+ this.loading = true
|
|
|
+ $http.post(`${ url }?pageNum=${_this.pageNum}&pageSize=20`, {
|
|
|
+ status: this.state
|
|
|
+ }).then(res => {
|
|
|
+ uni.hideLoading();
|
|
|
+ this.loading = false
|
|
|
+ if (res.code == 0) {
|
|
|
+ res.rows.forEach(item => {
|
|
|
+ let picUrlArr = item.picUrl.split(',')
|
|
|
+ item.picUrl = env.filePublic + picUrlArr[0]
|
|
|
+ item.status = JSON.parse(item.status)
|
|
|
+ })
|
|
|
+ _this.total = res.total
|
|
|
+ _this.list = _this.list.concat(res.rows)
|
|
|
+ }
|
|
|
+ }).catch(() => {
|
|
|
+ uni.hideLoading();
|
|
|
+ this.loading = false
|
|
|
+ })
|
|
|
+ },
|
|
|
+
|
|
|
+ pageList() {
|
|
|
+ this.pageNum = 1
|
|
|
+ this.list = []
|
|
|
+ this.getList()
|
|
|
+ },
|
|
|
+
|
|
|
changeTab(e) {
|
|
|
if (e.index == 0) {
|
|
|
- this.state = 0
|
|
|
+ this.state = 2
|
|
|
} else if (e.index == 1) {
|
|
|
- this.state = 1
|
|
|
+ this.state = 3
|
|
|
}
|
|
|
+ this.pageList()
|
|
|
},
|
|
|
|
|
|
changeChecked() {
|
|
|
|
|
|
},
|
|
|
- }
|
|
|
+ },
|
|
|
+
|
|
|
+ onReachBottom() {
|
|
|
+ // 判断是否有数据
|
|
|
+ if (this.total > this.pageNum * 20) {
|
|
|
+ setTimeout(() => {
|
|
|
+ ++this.pageNum
|
|
|
+ this.getList()
|
|
|
+ }, 500)
|
|
|
+ } else {
|
|
|
+ uni.$u.toast('没有更多数据了')
|
|
|
+ }
|
|
|
+ },
|
|
|
}
|
|
|
</script>
|
|
|
|
|
@@ -133,10 +184,10 @@
|
|
|
right: 50rpx;
|
|
|
transform: rotate(20deg);
|
|
|
-webkit-transform:rotate(20deg);
|
|
|
- width: 150rpx;
|
|
|
- height: 150rpx;
|
|
|
- line-height: 150rpx;
|
|
|
- border: #E1E1E1 4px solid;
|
|
|
+ width: 160rpx;
|
|
|
+ height:160rpx;
|
|
|
+ line-height: 160rpx;
|
|
|
+ border: #E1E1E1 2px solid;
|
|
|
border-radius: 50%;
|
|
|
background-color: #f9f2ef;
|
|
|
text-align: center;
|