177 lines
6.1 KiB
Vue
177 lines
6.1 KiB
Vue
<template>
|
||
<view class="pad-x180" style="padding-bottom: 240rpx;">
|
||
<!-- 状态栏 -->
|
||
<status-nav :titleVal="title" :statusTitle="true"></status-nav>
|
||
<!-- 列表 -->
|
||
<view :style="{paddingTop: (statusHeight+15)+'px'}" class="pad-zy32">
|
||
<view class="fon28 mar-x50" style="color: #1A1A1A; line-height: 40rpx;">
|
||
<rich-text :nodes="richText"></rich-text>
|
||
</view>
|
||
<view class="pad-x30">
|
||
<view v-if="dataList.length!=0" class="mar-x20 animated fadeInLeft" v-for="(item,index) in dataList" :key="index">
|
||
<view style="height: 200rpx;" class="disjbac posir">
|
||
<view class="disjcac fc recerve-left" style="width: 218rpx;height: 200rpx;flex-shrink: 0;text-align: center;color: #FFFFFF;">
|
||
<image v-if="item.get" class="posia quan-img" src="/static/public/quan-left-two.png" mode=""></image>
|
||
<image v-else class="posia quan-img" src="/static/public/quan-left.png" mode=""></image>
|
||
<view class="posir disjcac fc" style="z-index: 1;">
|
||
<view class="fon28 mar-s20 mar-x36"><span class="bold" style="font-size: 56rpx;">{{item.num}}</span><span v-if="item.unit">{{item.unit}}</span></view>
|
||
<view @tap="useEv(item.id)" class="fon24 quan-btn" :style="{color: item.get ? '#b3b3b3' : '#3875F6'}">{{['立即领取','已领取'][item.get]}}</view>
|
||
</view>
|
||
</view>
|
||
<view class="quan-right-box">
|
||
<view class="fon28 col3 mar-s20">{{item.title}}</view>
|
||
<view class="fon24 col80">满{{item.manPrice}}元可使用</view>
|
||
<view class="fon20 col80 mar-x20">有效期:{{item.startTime}}至{{item.endTime}}</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<view class="posixzy bacf pad-sx25" style="background: none; bottom: 150rpx;">
|
||
<view @tap="allReceive" class="fon30 radius20 tc colf bold" style="margin: 0 83rpx;height: 90rpx;line-height: 90rpx;" :style="{background:publicColor}">{{['一键领取','立即使用'][dataList[0].get]}}</view>
|
||
</view>
|
||
</view>
|
||
|
||
<view class="disjcac" v-if="ifLing" style="position: fixed;top: 0;left: 0;bottom: 0;right: 0;background-color: rgba(0, 0, 0, .7);z-index: 2;padding: 0 100rpx;">
|
||
<view class="tcenter radius30 bacf width100 pad-sx50">
|
||
<view class="bold pad-s30" style="font-size: 48rpx;">恭喜您领取成功</view>
|
||
<view @tap="allReceive" class="disjcac fon38" style="width: 426rpx;height: 80rpx;border-radius: 20rpx;color: #FFFFFF;margin: 0 auto;margin-top: 100rpx;margin-bottom: 10rpx;" :style="{backgroundColor:publicColor}">立即使用</view>
|
||
</view>
|
||
</view>
|
||
<!-- 用户信息授权,手机号授权 -->
|
||
<auth-userInfo-mobileInfo></auth-userInfo-mobileInfo>
|
||
<!-- 底部导航 -->
|
||
<view class="posixzy">
|
||
<bottom-tab></bottom-tab>
|
||
</view>
|
||
</view>
|
||
</template>
|
||
|
||
<script>
|
||
import bottomTab from '@/components/bottom-tab.vue';
|
||
export default {
|
||
components: {
|
||
bottomTab,
|
||
},
|
||
data() {
|
||
return {
|
||
dataList:[],
|
||
zcList:[],
|
||
page:1,
|
||
size:10,
|
||
sizeq: 162,
|
||
title:'优惠券组',
|
||
richText:'',
|
||
groupId:'',
|
||
ifLing:false,
|
||
share_img:'', //分享图片
|
||
share_title:'', //分享标签
|
||
}
|
||
},
|
||
computed:{
|
||
// 主题颜色
|
||
publicColor() {
|
||
return this.$store.state.publicColor
|
||
},
|
||
statusHeight() {
|
||
return this.$store.state.statusHeight
|
||
}
|
||
},
|
||
onShareAppMessage() {
|
||
// 调用tools.js中的种植埋点事件
|
||
// console.log(`${this.$http}${this.share_img}`,`${this.share_title}`,212121212)
|
||
var shareObj = {
|
||
title: `${this.share_title}`, // 默认是小程序的名称(可以写slogan等)
|
||
path: `/pagesB/couponGroup/couponGroup?group_id=${this.groupId}&share_id=${uni.getStorageSync('userId')}&invite_code=${uni.getStorageSync('invite_code')}`, // 默认是当前页面,必须是以‘/’开头的完整路径
|
||
imageUrl: `${this.$http}${this.share_img}` //自定义图片路径,可以是本地文件路径、代码包文件路径或者网络图片路径,支持PNG及JPG,不传入 imageUrl 则使用默认截图。显示图片长宽比是 5:4
|
||
};
|
||
return shareObj;
|
||
},
|
||
onLoad(op) {
|
||
if(uni.getStorageSync('authorization')==1){
|
||
if(uni.getStorageSync('phone_active')!=0 && uni.getStorageSync('is_active')!=0){
|
||
this.checkAllList(op.group_id);
|
||
}
|
||
}else{
|
||
this.checkAllList(op.group_id);
|
||
}
|
||
},
|
||
onUnload() {
|
||
|
||
},
|
||
methods: {
|
||
allReceive(){
|
||
if(this.dataList[0].get) {
|
||
uni.reLaunch({
|
||
url:'/pagesA/coupon/coupon'
|
||
})
|
||
} else {
|
||
this.$requst.post('user/get-coupon-group',{group_id:this.groupId}).then(res=>{
|
||
if(res.code==0){
|
||
// this.$toolAll.tools.showToast('领取成功(*^▽^*)');
|
||
this.ifLing = true;
|
||
this.checkAllList(this.groupId);
|
||
} else {
|
||
this.$toolAll.tools.showToast(res.msg);
|
||
}
|
||
})
|
||
}
|
||
},
|
||
checkAllList(group_id){//查询所有优惠券列表
|
||
this.$requst.post('user/get-coupon-group-info',{group_id}).then(res=>{
|
||
console.log(res,'优惠券列表')
|
||
if(res.code==0){
|
||
this.groupId = res.data.id;
|
||
this.title = res.data.title;
|
||
this.richText = this.$toolAll.tools.escape2Html(res.data.content);
|
||
this.dataList = [];
|
||
this.zcList = [];
|
||
this.share_img = res.data.share_img;
|
||
this.share_title = res.data.title;
|
||
if(res.data.coupon.length!=0){
|
||
res.data.coupon.forEach(item=>{
|
||
let obj = {
|
||
id:item.id,
|
||
num:item.amount/100,
|
||
title:item.name,
|
||
cover:this.$http + item.cover,
|
||
manPrice:item.condition/100,
|
||
startTime:item.begin_at.slice(0,10),
|
||
endTime:item.end_at.slice(0,10),
|
||
get:item.get,
|
||
type:item.type,
|
||
unit:item.unit
|
||
}
|
||
this.dataList.push(obj);//渲染的列表
|
||
this.zcList.push(obj);//暂存的列表
|
||
})
|
||
}
|
||
}
|
||
})
|
||
},
|
||
useEv(id){
|
||
this.$requst.post('user/get-coupon',{coupon_id:id}).then(res=>{
|
||
if(res.code==0){
|
||
this.$toolAll.tools.showToast('领取成功');
|
||
this.checkAllList(this.groupId);
|
||
} else {
|
||
this.$toolAll.tools.showToast(res.msg);
|
||
}
|
||
})
|
||
},
|
||
}
|
||
}
|
||
</script>
|
||
|
||
<style>
|
||
.isWen{color: #3875F6;}
|
||
.isWen::after{
|
||
content: '';
|
||
display: block;
|
||
height: 8rpx;
|
||
width: 100%;
|
||
position: absolute;
|
||
bottom: -20rpx;
|
||
background: #3875F6;
|
||
}
|
||
</style>
|