hengmei-two/pagesB/couponGroup/couponGroup.vue

177 lines
6.1 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<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>