|
|
@ -0,0 +1,195 @@ |
|
|
|
<template> |
|
|
|
<scroll-view |
|
|
|
scroll-y="true" |
|
|
|
:style="{height: height}" |
|
|
|
@scrolltolower="loadMoreData"> |
|
|
|
<view class="list"> |
|
|
|
<view class="item" |
|
|
|
v-for="(item,index) in list" |
|
|
|
@click="select(item)" |
|
|
|
:key="index"> |
|
|
|
|
|
|
|
<view class="price"> |
|
|
|
<view class="num"> |
|
|
|
<view class="icon"> |
|
|
|
¥ |
|
|
|
</view> |
|
|
|
{{ item.price }} |
|
|
|
</view> |
|
|
|
<view class="tiao"> |
|
|
|
{{ item.useType_dictText }}满{{ item.conditionPrice }}可用 |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
<view class="date"> |
|
|
|
<view> |
|
|
|
有效期{{ item.endTime || '不限' }} |
|
|
|
</view> |
|
|
|
<view> |
|
|
|
{{ item.type_dictText }}使用 |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
|
|
|
|
<view class="status"> |
|
|
|
<!-- 已 使 用 --> |
|
|
|
<!-- 立 即 使 用 --> |
|
|
|
{{ item.status_dictText }} |
|
|
|
</view> |
|
|
|
|
|
|
|
<view class="del" |
|
|
|
v-if="isSelect(item)"> |
|
|
|
|
|
|
|
</view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
|
|
|
|
<uv-empty |
|
|
|
v-if="list.length == 0" |
|
|
|
text="空空如也" |
|
|
|
textSize="30rpx" |
|
|
|
iconSize="200rpx" |
|
|
|
icon="list"></uv-empty> |
|
|
|
</scroll-view> |
|
|
|
</template> |
|
|
|
|
|
|
|
<script> |
|
|
|
import mixinList from '@/mixins/list.js' |
|
|
|
export default { |
|
|
|
name:"couponList", |
|
|
|
mixins : [mixinList], |
|
|
|
props : { |
|
|
|
height : { |
|
|
|
default : 'auto' |
|
|
|
// default : 'calc(90vh - 180rpx)' |
|
|
|
}, |
|
|
|
// 押金 |
|
|
|
depositPrice : { |
|
|
|
}, |
|
|
|
washPrice: {//水洗费 |
|
|
|
}, |
|
|
|
rentPrice: {//租金 |
|
|
|
}, |
|
|
|
}, |
|
|
|
data() { |
|
|
|
return { |
|
|
|
mixinsListApi : 'couponPage' |
|
|
|
}; |
|
|
|
}, |
|
|
|
methods : { |
|
|
|
select(item){ |
|
|
|
if(this.isSelect(item)){ |
|
|
|
return |
|
|
|
} |
|
|
|
this.$emit('select', item) |
|
|
|
}, |
|
|
|
isSelect(item){ |
|
|
|
|
|
|
|
if(!this.depositPrice && !this.rentPrice && !this.washPrice){ |
|
|
|
return false |
|
|
|
} |
|
|
|
|
|
|
|
// 押金 |
|
|
|
if(this.depositPrice && |
|
|
|
item.useType == 0 && |
|
|
|
this.depositPrice >= item.conditionPrice){ |
|
|
|
return false |
|
|
|
} |
|
|
|
|
|
|
|
// 租金 |
|
|
|
if(this.rentPrice && |
|
|
|
item.useType == 1 && |
|
|
|
this.rentPrice >= item.conditionPrice){ |
|
|
|
return false |
|
|
|
} |
|
|
|
|
|
|
|
// 水洗 |
|
|
|
if(this.washPrice && |
|
|
|
item.useType == 2 && |
|
|
|
this.washPrice >= item.conditionPrice){ |
|
|
|
return false |
|
|
|
} |
|
|
|
|
|
|
|
return true |
|
|
|
}, |
|
|
|
} |
|
|
|
} |
|
|
|
</script> |
|
|
|
|
|
|
|
<style scoped lang="scss"> |
|
|
|
.list{ |
|
|
|
.item{ |
|
|
|
color: #4FD3BC; |
|
|
|
position: relative; |
|
|
|
width: calc(100% - 40rpx); |
|
|
|
height: 220rpx; |
|
|
|
background: url(../../static/image/coupon/c.png); |
|
|
|
background-size: 100% 100%; |
|
|
|
margin: 20rpx; |
|
|
|
box-sizing: border-box; |
|
|
|
padding: 30rpx; |
|
|
|
.status{ |
|
|
|
position: absolute; |
|
|
|
right: 20rpx; |
|
|
|
top: 20rpx; |
|
|
|
height: calc(100% - 40rpx); |
|
|
|
width: 60rpx; |
|
|
|
writing-mode:vertical-rl; |
|
|
|
box-sizing: border-box; |
|
|
|
padding: 20rpx; |
|
|
|
background-color: #fff; |
|
|
|
border-radius: 60rpx; |
|
|
|
font-size: 26rpx; |
|
|
|
display: flex; |
|
|
|
justify-content: center; |
|
|
|
align-items: center; |
|
|
|
} |
|
|
|
.price{ |
|
|
|
display: flex; |
|
|
|
align-items: center; |
|
|
|
.num{ |
|
|
|
color: #4FD3BC; |
|
|
|
font-weight: 900; |
|
|
|
font-size: 70rpx; |
|
|
|
display: flex; |
|
|
|
align-items: flex-end; |
|
|
|
.icon{ |
|
|
|
color: #fff; |
|
|
|
background-color: #4FD3BC; |
|
|
|
width: 30rpx; |
|
|
|
height: 30rpx; |
|
|
|
display: flex; |
|
|
|
justify-content: center; |
|
|
|
align-items: center; |
|
|
|
font-size: 20rpx; |
|
|
|
border-radius: 14rpx; |
|
|
|
margin-bottom: 14rpx; |
|
|
|
margin-right: 10rpx; |
|
|
|
} |
|
|
|
} |
|
|
|
.tiao{ |
|
|
|
padding: 10rpx 20rpx; |
|
|
|
background-color: #9ee3d1; |
|
|
|
color: #25a28c; |
|
|
|
font-size: 22rpx; |
|
|
|
margin-left: 20rpx; |
|
|
|
border-radius: 10rpx; |
|
|
|
} |
|
|
|
} |
|
|
|
.date{ |
|
|
|
display: flex; |
|
|
|
font-size: 24rpx; |
|
|
|
view{ |
|
|
|
margin-right: 20rpx; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
.del{ |
|
|
|
position: absolute; |
|
|
|
top: 0; |
|
|
|
left: 0; |
|
|
|
width: 100%; |
|
|
|
height: 100%; |
|
|
|
background-color: #ffffff99; |
|
|
|
z-index: 99; |
|
|
|
} |
|
|
|
} |
|
|
|
</style> |