|
|
|
<template>
|
|
|
|
<view>
|
|
|
|
<view class="width100" v-if="couponDesInfo">
|
|
|
|
<view class="width100 fotct coupon-status font20 fcorred" v-if="couponDesInfo.couponCodeInfo.status == 3">
|
|
|
|
已使用
|
|
|
|
</view>
|
|
|
|
<view class="width100 fotct coupon-status font20 fcor41c" v-if="couponDesInfo.couponCodeInfo.status == 2">
|
|
|
|
未使用
|
|
|
|
</view>
|
|
|
|
<view class="line1"></view>
|
|
|
|
<view class="width90">
|
|
|
|
<view class="flright fotct">
|
|
|
|
<image class="coupon-img" :src="imageUrl+couponDesInfo.couponInfo.couponImg"></image>
|
|
|
|
</view>
|
|
|
|
<view class="coupon-mes mart10">
|
|
|
|
<view class="fcor333 fontwig6 font24 width100 text2">{{couponDesInfo.couponInfo.couponName}}</view>
|
|
|
|
<view class="fcor666 font13 width100 mart5" v-if="oneTime">
|
|
|
|
领取时间:{{oneTime | formatDate('-')}}</view>
|
|
|
|
<view class="fcor666 font13 width100 mart5" v-if="twoTime">
|
|
|
|
使用有效期:{{twoTime | formatDate('-')}}</view>
|
|
|
|
<view class="fcorred font15 width100 mart5" v-if="threeTime">
|
|
|
|
消费时间:{{threeTime | formatDate('-')}}</view>
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
|
|
|
|
<view class="line1 mart15"></view>
|
|
|
|
<view class="width100" v-if="couponDesInfo.couponInfo.couponSource == 4">
|
|
|
|
<view class="mart20 width90 font18 fcor333 fontwig6">
|
|
|
|
使用流程:
|
|
|
|
</view>
|
|
|
|
<view class="mart5 width80 font14 fcor999 fontwig6" style="list-style-type: decimal;">
|
|
|
|
<view style="width: 5%;" class="flleft">1:</view>
|
|
|
|
<view style="margin-left: 5%;">客户使用积分兑换或者工会卡购买。</view>
|
|
|
|
</view>
|
|
|
|
<view class="mart5 width80 font14 fcor999 fontwig6" style="list-style-type: decimal;">
|
|
|
|
<view style="width: 5%;" class="flleft">2:</view>
|
|
|
|
<view style="margin-left: 5%;">兑换成功后中石化给客户发送一张同等面额的码商券,保存在”加油中石化“APP中。</view>
|
|
|
|
</view>
|
|
|
|
<view class="mart5 width80 font14 fcor999 fontwig6" style="list-style-type: decimal;">
|
|
|
|
<view style="width: 5%;" class="flleft">3:</view>
|
|
|
|
<view style="margin-left: 5%;">客户登录”加油中石化“APP,查看码商券详情。</view>
|
|
|
|
</view>
|
|
|
|
<view class="mart5 width80 font14 fcor999 fontwig6" style="list-style-type: decimal;">
|
|
|
|
<view style="width: 5%;" class="flleft">4:</view>
|
|
|
|
<view style="margin-left: 5%;">客户选择中石化任意加油站加油,加完油后,在加油中石化“APP中查看订单,选择支付,支付时选择码商券抵用。支付完成即可。</view>
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
|
|
|
|
|
|
|
|
<view class="width100" v-if="couponDesInfo.couponInfo.couponSource != 4">
|
|
|
|
<view class="width90 mart10 fcor666">核销码(商户扫客户)</view>
|
|
|
|
<view class="mart20 fotct fcorred font15 marb20">请告知加油员用码商支付</view>
|
|
|
|
<view class="width90 mart20 fotct">
|
|
|
|
<image class="coupon-qr" :src="imageUrl+'couponCode/'+couponDesInfo.highUserCoupon.qrCodeImg">
|
|
|
|
</image>
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
<view class="width90 mart30 font20 fcor333 fotct marb40" v-if="!couponDesInfo">二维码生效中,前往个人中心查看</view>
|
|
|
|
<view class="width90 mart20" style="height: 80px;" v-for="(store,i) in storeList" :key="i">
|
|
|
|
<view class="coupon-des flleft">
|
|
|
|
立即<br>前往
|
|
|
|
</view>
|
|
|
|
<view class="coupon-cont-dh">
|
|
|
|
<view class="coupon-title flleft width70">
|
|
|
|
<view class="font20 fcor333 fontwig6 width100 text1">{{store.storeName}}</view>
|
|
|
|
<view class="font14 fcor999 width100 text2 mart5">{{store.address}}</view>
|
|
|
|
</view>
|
|
|
|
<view class="coupon-map flright width30 fotrt" @click="seeloaction(store)">
|
|
|
|
<!-- 地图logo -->
|
|
|
|
<image
|
|
|
|
src="data:image/png;base64,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
|
|
|
|
</image>
|
|
|
|
<view class="mart5 fcor999 font13">{{store.distance}}km</view>
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
<view class="height60"></view>
|
|
|
|
<button class="coupne-btn width100" @click="toUser">个人中心</button>
|
|
|
|
</view>
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<script>
|
|
|
|
import {
|
|
|
|
getUserNewCouponDetail,
|
|
|
|
getStoreListByCoupon
|
|
|
|
} from "../../../Utils/Api.js"
|
|
|
|
let app = getApp()
|
|
|
|
export default {
|
|
|
|
data() {
|
|
|
|
return {
|
|
|
|
couDesId: '',
|
|
|
|
imageUrl: app.globalData.imgUrl,
|
|
|
|
couponDesInfo: [],
|
|
|
|
storeList: [],
|
|
|
|
oneTime: '',
|
|
|
|
twoTime: '',
|
|
|
|
threeTime: ''
|
|
|
|
}
|
|
|
|
},
|
|
|
|
onLoad(option) {
|
|
|
|
this.couDesId = option.id;
|
|
|
|
this.getUserNewCouponDetail();
|
|
|
|
},
|
|
|
|
filters: {
|
|
|
|
//过滤器 用于格式化时间
|
|
|
|
formatDate: function(value, spe = '/') {
|
|
|
|
let data = new Date(value);
|
|
|
|
let year = data.getFullYear();
|
|
|
|
let month = data.getMonth() + 1;
|
|
|
|
let day = data.getDate();
|
|
|
|
let h = data.getHours();
|
|
|
|
let mm = data.getMinutes();
|
|
|
|
let s = data.getSeconds();
|
|
|
|
month = month >= 10 ? month : "0" + month;
|
|
|
|
day = day >= 10 ? day : "0" + day;
|
|
|
|
h = h >= 10 ? h : "0" + h;
|
|
|
|
mm = mm >= 10 ? mm : "0" + mm;
|
|
|
|
s = s >= 10 ? s : "0" + s;
|
|
|
|
return `${year}${spe}${month}${spe}${day} ${h}:${mm}:${s}`;
|
|
|
|
}
|
|
|
|
},
|
|
|
|
onReachBottom() {
|
|
|
|
this.getStoreListByCoupon();
|
|
|
|
},
|
|
|
|
methods: {
|
|
|
|
//我的卡券详情
|
|
|
|
getUserNewCouponDetail() {
|
|
|
|
uni.showLoading({
|
|
|
|
title: '加载中...'
|
|
|
|
})
|
|
|
|
let params = {
|
|
|
|
couponId: this.couDesId
|
|
|
|
}
|
|
|
|
getUserNewCouponDetail(params).then(res => {
|
|
|
|
if (res.return_code == '000000') {
|
|
|
|
this.couponDesInfo = res.return_data;
|
|
|
|
if(res.return_data.couponInfo.couponSource == 4){
|
|
|
|
this.oneTime = res.return_data.highUserCoupon.createTime;
|
|
|
|
this.twoTime = res.return_data.highUserCoupon.useEndTime;
|
|
|
|
this.threeTime = res.return_data.highUserCoupon.consumeTime;
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
this.getStoreListByCoupon();
|
|
|
|
this.oneTime = res.return_data.couponCodeInfo.receiveTime;
|
|
|
|
this.twoTime = res.return_data.couponCodeInfo.salesEndTime;
|
|
|
|
this.threeTime = res.return_data.couponCodeInfo.consumeTime;
|
|
|
|
uni.hideLoading()
|
|
|
|
} else {
|
|
|
|
uni.hideLoading()
|
|
|
|
}
|
|
|
|
})
|
|
|
|
},
|
|
|
|
//导航
|
|
|
|
seeloaction(e) {
|
|
|
|
uni.openLocation({
|
|
|
|
latitude: Number(e.latitude), //目的地的定位
|
|
|
|
longitude: Number(e.longitude), //目的地的定位
|
|
|
|
name: e.storeName,
|
|
|
|
address: e.address
|
|
|
|
})
|
|
|
|
},
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 查询门店列表
|
|
|
|
*/
|
|
|
|
getStoreListByCoupon() {
|
|
|
|
uni.showLoading({
|
|
|
|
title: '加载中...'
|
|
|
|
})
|
|
|
|
|
|
|
|
let params = {
|
|
|
|
couponId: this.couDesId,
|
|
|
|
longitude: app.globalData.longitude,
|
|
|
|
latitude: app.globalData.latitude
|
|
|
|
}
|
|
|
|
getStoreListByCoupon(params).then(res => {
|
|
|
|
if (res.return_code == '000000' && res.return_data.list != '') {
|
|
|
|
uni.hideLoading();
|
|
|
|
this.storeList = res.return_data;
|
|
|
|
} else {
|
|
|
|
this.storeList = [];
|
|
|
|
uni.hideLoading()
|
|
|
|
}
|
|
|
|
})
|
|
|
|
},
|
|
|
|
toUser() {
|
|
|
|
uni.switchTab({
|
|
|
|
url: '/pages/tabBar/user/user'
|
|
|
|
});
|
|
|
|
},
|
|
|
|
scan() {
|
|
|
|
uni.scanCode({
|
|
|
|
success: function(res) {
|
|
|
|
console.log('条码类型:' + res.scanType);
|
|
|
|
console.log('条码内容:' + res.result);
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
</script>
|
|
|
|
<style lang="scss">
|
|
|
|
.loading-text {
|
|
|
|
width: 100%;
|
|
|
|
display: flex;
|
|
|
|
justify-content: center;
|
|
|
|
align-items: center;
|
|
|
|
height: 60upx;
|
|
|
|
color: #979797;
|
|
|
|
font-size: 24upx;
|
|
|
|
}
|
|
|
|
|
|
|
|
.coupon-status {
|
|
|
|
height: 35px;
|
|
|
|
line-height: 35px;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.coupon-mes {
|
|
|
|
margin-right: 90px;
|
|
|
|
}
|
|
|
|
|
|
|
|
.coupon-img {
|
|
|
|
width: 80px;
|
|
|
|
height: 80px;
|
|
|
|
}
|
|
|
|
|
|
|
|
.coupon-qr {
|
|
|
|
width: 250px;
|
|
|
|
height: 250px;
|
|
|
|
}
|
|
|
|
|
|
|
|
.coupon-des {
|
|
|
|
width: 80px;
|
|
|
|
height: 80px;
|
|
|
|
text-align: center;
|
|
|
|
color: white;
|
|
|
|
font-size: 28px;
|
|
|
|
border-radius: 10px;
|
|
|
|
background-color: red;
|
|
|
|
}
|
|
|
|
|
|
|
|
.coupon-cont-dh {
|
|
|
|
margin-left: 90px;
|
|
|
|
}
|
|
|
|
|
|
|
|
.coupon-map image {
|
|
|
|
width: 45px;
|
|
|
|
height: 45px;
|
|
|
|
}
|
|
|
|
|
|
|
|
.coupon-no {
|
|
|
|
height: 80px;
|
|
|
|
line-height: 80px;
|
|
|
|
border: 1px solid #b2b2b2;
|
|
|
|
border-radius: 10px;
|
|
|
|
}
|
|
|
|
|
|
|
|
.coupne-btn {
|
|
|
|
position: fixed;
|
|
|
|
bottom: 0px;
|
|
|
|
background-color: red;
|
|
|
|
color: #FFFFFF;
|
|
|
|
}
|
|
|
|
|
|
|
|
.coupne-btn {
|
|
|
|
position: fixed;
|
|
|
|
bottom: 0px;
|
|
|
|
background-color: red;
|
|
|
|
color: #FFFFFF;
|
|
|
|
}
|
|
|
|
</style>
|