You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
375 lines
9.3 KiB
375 lines
9.3 KiB
<template>
|
|
<div class="couponBox warp" :class="['terminal' + terminal,'arrange'+(componentContent.arrangeActiveIndex+1),'color'+(componentContent.colorActiveIndex+1)]">
|
|
<div class="couponListBox" v-if="componentContent.selectedCoupon">
|
|
<div class="listItemBox" v-for="(item,index) in couponsData" :key="index" :class="item.state && item.state !== 3 && 'isReceive'">
|
|
<div class="listItemBoxInner">
|
|
<div class="itemInfo">
|
|
<i class="flag" :class="'flag'+item.couponType"></i>
|
|
<div class="amount">
|
|
<b v-if="item.couponType !== 2">¥</b>
|
|
<span v-if="typeId !== 1">
|
|
{{item.couponContent}}
|
|
</span>
|
|
<span v-else>
|
|
{{item.reduceMoney}}
|
|
</span>
|
|
<b v-if="item.couponType == 2">折</b>
|
|
</div>
|
|
<div class="couponInfo">
|
|
<p>{{item.content}}</p>
|
|
</div>
|
|
</div>
|
|
<!-- <div class="itemInfo" v-else>-->
|
|
<!-- <div class="amount">-->
|
|
<!-- <b>¥</b><span>{{item.reduceMoney}}<i>满减券</i></span>-->
|
|
<!-- </div>-->
|
|
<!-- <div class="couponInfo">-->
|
|
<!-- <p>{{item.content}}</p>-->
|
|
<!-- </div>-->
|
|
<!-- </div>-->
|
|
<div v-if="item.state === 0" class="receiveBtn">
|
|
<span>己领取</span>
|
|
</div>
|
|
<div v-else-if="item.state === 1" class="receiveBtn">
|
|
<span>已使用</span>
|
|
</div>
|
|
<div v-else-if="item.state === 2" class="receiveBtn">
|
|
<span>已过期</span>
|
|
</div>
|
|
<div v-else class="receiveBtn" @click="receiveCoupon(item)">
|
|
<span>立即领取</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
import {commonMixin} from '../mixin'
|
|
export default {
|
|
mixins: [commonMixin]
|
|
}
|
|
</script>
|
|
|
|
<style lang="scss" scoped>
|
|
.couponBox {
|
|
min-height: 177px;
|
|
margin: 0 auto;
|
|
padding: 20px 0;
|
|
.couponListBox {
|
|
flex-wrap: wrap;
|
|
/**默认**/
|
|
.listItemBox {
|
|
//background-image:url('../../../static/images/coupon/border_L1.png'), url('../../../static/images/coupon/border_R1.png');
|
|
//background-repeat: no-repeat, no-repeat;
|
|
//background-position: left top, right top;
|
|
box-sizing: border-box;
|
|
margin-bottom: 20px;
|
|
.listItemBoxInner {
|
|
width: 100%;
|
|
height: 150px;
|
|
display: flex;
|
|
background-color: #FAFAFA;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
position: relative;
|
|
.flag{
|
|
display: block;
|
|
width: 71px;
|
|
height: 71px;
|
|
background-repeat: no-repeat;
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
&.flag1{
|
|
background-image: url("../../../static/images/coupon/flag-coupon.png");
|
|
}
|
|
&.flag2{
|
|
background-image: url("../../../static/images/coupon/flag-coupon2.png");
|
|
}
|
|
}
|
|
.itemInfo {
|
|
flex: 1;
|
|
}
|
|
.amount {
|
|
max-width: 90%;
|
|
margin: 0 auto;
|
|
display: flex;
|
|
align-items: baseline;
|
|
justify-content: center;
|
|
line-height: 60px;
|
|
b {
|
|
font-size: 30px;
|
|
}
|
|
span {
|
|
font-size: 60px;
|
|
font-weight: bold;
|
|
}
|
|
i {
|
|
font-style: normal;
|
|
font-size: 18px;
|
|
margin-left: 5px;
|
|
}
|
|
}
|
|
.couponInfo {
|
|
text-align: center;
|
|
p {
|
|
display: inline-block;
|
|
padding: 0 42px;
|
|
text-align: center;
|
|
font-size: 18px;
|
|
line-height: 40px;
|
|
color: #C83732;
|
|
background: #F5E5E5;
|
|
}
|
|
}
|
|
}
|
|
.receiveBtn {
|
|
width: 72px;
|
|
margin-right: 5px;
|
|
background: #C5AA7B;
|
|
height: 100%;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
cursor: pointer;
|
|
position: relative;
|
|
&:before,&:after{
|
|
content: '';
|
|
display: block;
|
|
width: 25px;
|
|
height: 25px;
|
|
background-color: #fff;
|
|
position: absolute;
|
|
left: -12.5px;
|
|
border-radius: 50%;
|
|
}
|
|
&:before{
|
|
top: -12.5px;
|
|
}
|
|
&:after{
|
|
bottom: -12.5px;
|
|
}
|
|
span {
|
|
color: #FFFFFF !important;
|
|
writing-mode: vertical-lr;
|
|
font-size: 19px;
|
|
}
|
|
}
|
|
&.isReceive {
|
|
//background-image:url('../../../static/images/coupon/border_L4.png'), url('../../../static/images/coupon/border_R4.png');
|
|
.listItemBoxInner {
|
|
.flag{
|
|
&.flag1{
|
|
background-image: url("../../../static/images/coupon/flag-coupon-r.png");
|
|
}
|
|
&.flag2{
|
|
background-image: url("../../../static/images/coupon/flag-coupon2-r.png");
|
|
}
|
|
}
|
|
.itemInfo {
|
|
color: #999;
|
|
.couponInfo {
|
|
p {
|
|
color: #999;
|
|
background: #F1F1F1;
|
|
}
|
|
}
|
|
}
|
|
.receiveBtn {
|
|
cursor: auto;
|
|
background: #999;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
@mixin cardColor($bgColor: #FF3737,$fontColor: #fff) {
|
|
.couponListBox {
|
|
.listItemBox {
|
|
.listItemBoxInner{
|
|
background: $bgColor;
|
|
}
|
|
.itemInfo {
|
|
.amount {
|
|
b {
|
|
color: #EC4B42;
|
|
}
|
|
span {
|
|
color: #EC4B42;
|
|
i {
|
|
color: #EC4B42;
|
|
}
|
|
}
|
|
}
|
|
.couponInfo {
|
|
color:#EC4B42;
|
|
}
|
|
}
|
|
.receiveBtn {
|
|
span {
|
|
color: #EC4B42;
|
|
}
|
|
}
|
|
&.cardStyle3{
|
|
.itemInfo {
|
|
.amount {
|
|
span {
|
|
color: $bgColor;
|
|
i {
|
|
color: $bgColor;
|
|
}
|
|
}
|
|
}
|
|
.couponInfo {
|
|
color:$bgColor;
|
|
}
|
|
}
|
|
}
|
|
&.cardStyle4{
|
|
border: 2px solid $bgColor;
|
|
padding: 5px;
|
|
.listItemBoxInner{
|
|
padding: 20px 15px;
|
|
height: 85px;
|
|
border: 1px solid $bgColor;
|
|
}
|
|
.itemInfo {
|
|
.amount {
|
|
span {
|
|
color: $bgColor;
|
|
i {
|
|
color: $bgColor;
|
|
}
|
|
}
|
|
}
|
|
.couponInfo {
|
|
color:$bgColor;
|
|
}
|
|
}
|
|
.receiveBtn {
|
|
border-left: 1px $bgColor dashed;
|
|
span {
|
|
color: $bgColor;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
&.arrange1{
|
|
|
|
}
|
|
&.arrange2{
|
|
max-width: 100%;
|
|
.couponListBox{
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
justify-content: space-between;
|
|
.listItemBox{
|
|
width: 48%;
|
|
}
|
|
}
|
|
}
|
|
&.arrange3{
|
|
max-width: 100%;
|
|
.couponListBox{
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
justify-content: space-between;
|
|
.listItemBox{
|
|
width: 32%;
|
|
}
|
|
}
|
|
}
|
|
&.arrange4{
|
|
max-width: 100%;
|
|
.couponListBox{
|
|
display: flex;
|
|
overflow: hidden;
|
|
.listItemBox{
|
|
width: 268px;
|
|
flex: 0 0 268px;
|
|
margin:0 25px 25px 0;
|
|
&:nth-child(4n){
|
|
margin-right: 0;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
//&.color1{
|
|
// .listItemBox {
|
|
// background-image:url('../../../static/images/coupon/border_L1.png'), url('../../../static/images/coupon/border_R1.png');
|
|
// .listItemBoxInner {
|
|
// border-top: 1px solid #EC4B42;
|
|
// border-bottom: 1px solid #EC4B42;
|
|
// .itemInfo {
|
|
// color: #EC4B42;
|
|
// .amount {
|
|
// border-bottom: 1px solid #EC4B42;
|
|
// }
|
|
// .couponInfo {
|
|
// p {
|
|
// color: #EC4B42;
|
|
// }
|
|
// }
|
|
// }
|
|
// .receiveBtn {
|
|
// background: #EC4B42;
|
|
// }
|
|
// }
|
|
// }
|
|
//}
|
|
|
|
&.color2{
|
|
.listItemBox {
|
|
background-image:url('../../../static/images/coupon/border_L2.png'), url('../../../static/images/coupon/border_R2.png');
|
|
.listItemBoxInner {
|
|
border-top: 1px solid #FF7800;
|
|
border-bottom: 1px solid #FF7800;
|
|
.itemInfo {
|
|
color: #FF7800;
|
|
.amount {
|
|
border-bottom: 1px solid #FF7800;
|
|
}
|
|
.couponInfo {
|
|
p {
|
|
color: #FF7800;
|
|
}
|
|
}
|
|
}
|
|
.receiveBtn {
|
|
background: #FF7800;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
&.color3{
|
|
.listItemBox {
|
|
background-image:url('../../../static/images/coupon/border_L3.png'), url('../../../static/images/coupon/border_R3.png');
|
|
.listItemBoxInner {
|
|
border-top: 1px solid #86A7FF;
|
|
border-bottom: 1px solid #86A7FF;
|
|
.itemInfo {
|
|
color: #86A7FF;
|
|
.amount {
|
|
border-bottom: 1px solid #86A7FF;
|
|
}
|
|
.couponInfo {
|
|
p {
|
|
color: #86A7FF;
|
|
}
|
|
}
|
|
}
|
|
.receiveBtn {
|
|
background: #86A7FF;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
</style>
|