Files
liche/home/views/h5/market/sylive/act/item.php
T
xiaoyu 6a9316dd64 0507
2025-05-07 12:39:07 +08:00

223 lines
11 KiB
PHP

<body class="bg-f6">
<div id="app" ref="app">
<div class="container relative pb130">
<!--轮播-->
<div class="goods-banner relative imgsize-750X680 z-index-0" v-if='info.banner.length>1'>
<div class="swiper-container">
<div class="swiper-wrapper">
<div class="swiper-slide" v-for="item in info.banner">
<img class="imgsize-750X680" :src="item" alt="#" />
</div>
</div>
</div>
<div class="swiper-pagination ulib-rl750 font-22 color-fff"></div>
</div>
<div v-else><img class="imgsize-750X680" :src="info.banner[0]" alt="#" /></div>
<!--end 轮播-->
<div class="relative pl30 pr30 pb30 z-index-1 goods-con">
<div class="relative bg-fff mb30 ml30 mr30 inner40 pr220 ulib-r20 box-shadow-darkGray">
<div class="font-36">{{info.title}}</div>
<div class="mt10 font-22 color-999">{{info.validity}}</div>
<div class="absolute right-0 box-middle mr30 color-c4302c">
<span class="font-28">¥</span>
<span class="font-64">{{info.price}}</span>
</div>
</div>
<div class="relative bg-fff mb30 ml30 mr30 inner40 ulib-r20 box-shadow-darkGray">
<div class="pb20 text-center"><div class="inline-block relative pl10 pr10 introTitle font-36"><span class="relative z-index-1">{{info.introTitle}}</span></div></div>
<div class="line-height-17 font-28 color-666 text-break space-pre-line rich-text-img" v-html="info.content"></div>
</div>
</div>
<div class="fixed left-0 bottom-0 right-0 inner30 bg-fff z-index-2" >
<template v-if="info.e_time>0">
<a class="block bg-1a1a1a pt20 pb20 text-center color-fff ulib-r10" v-if="info.stock>0" @click="showReg" href="javascript:void(0)">
<div class="font-32">立即支付<span>{{info.price}}</span></div>
<div class="mt10 font-20 color-888" v-html="showTime"></div>
</a>
<div class="bg-999 pt30 pb30 text-center color-fff ulib-r10" v-else>已售罄</div>
</template>
<div class="bg-999 pt30 pb30 text-center color-fff ulib-r10" v-else>活动已结束</div>
</div>
</div>
<div class="msg fn-hide" :style="isShowReg?'display:block':'display:none'" v-if="isShowReg">
<div class="msgBg" @click="closeReg"></div>
<div class="msgMain">
<div class="content">
<div class="word">
<div class="mt30 relative bg-f6 ulib-r10">
<input class="wp100 inner30 font-30 bg-f6 border-none ulib-r10" type="text" v-model="name" placeholder="请输入您的姓名" />
</div>
<div class="mt30 relative bg-f6 ulib-r10">
<input class="wp100 inner30 font-30 bg-f6 border-none ulib-r10" type="tel" v-model="telPhone" placeholder="请输入手机号" />
</div>
</div>
<div class="mt20 opt pl40 pr40">
<a class="block pt25 pb25 bg-1a1a1a text-center font-32 color-fff ulib-r750" @click="toPay()">确定支付</a>
</div>
</div>
</div>
</div>
</div>
<script>
let hostUrl = ''
var app = new Vue({
el: '#app',
data: {
// info:{
// title:"纳米Box 轻Young空间",
// e_time: 5,
// price:9.9,
// validity:'有效期 2022-08-01 -2022 -08-31',
// introTitle:'权益说明',
// content:'纳米BOX充分考虑到了用户的用车续航焦虑问题,新车采用了高密度电池组,CLTC续航331km。此外,纳米BOX全系支持快充、慢充功能,快充30分钟可以完成30~80%的补电,慢充4小时即可满电,轻松覆盖日常用车需求。纳米BOX充分考虑到了用户的用车续航焦虑问题,新车采用了高密度电池组,CLTC续航331km。此外,纳米BOX全系支持快充、慢充功能,快充30分钟可以完成30~80%的补电,慢充4小时即可满电,轻松覆盖日常用车需求。',
// "banner": [
// "https://img.zcool.cn/community/0144975f5d8a2711013e3187fe2bb7.jpg@1280w_1l_2o_100sh.jpg",
// "https://qs.liche.cn/web/images/project/H5-ShiYu/upload/v-5.jpg",
// ],
// },
info : <?=json_encode($info)?>,
bundleIntervalEvent: '',//倒计时
isShowReg: false,
name: '',
telPhone: '',
isSubmiting: false,
},
created(){
},
computed: {
//用计算属性显示结果
showTime() {
//剩余秒数<=0
if (this.info.e_time <= 0) {
return "活动已结束";
}
// 剩余秒数>0
else {
let day = Math.floor(this.info.e_time / 86400);
let hour = Math.floor((this.info.e_time % 86400) / 3600);
let min = Math.floor(((this.info.e_time % 86400) % 3600) / 60);
let sec = Math.floor(((this.info.e_time % 86400) % 3600) % 60);
if(day>0){
return ("<span class='text-middle'>距抢购结束还有</span><em class='text-middle pl5 pr5'>"+day+ "</em><em class='text-middle'>天</em><em class='text-middle pl5 pr5'>"+(hour < 10 ? "0" : "") + hour + "</em><em class='text-middle'>时</em><em class='text-middle pl5 pr5'>" + (min < 10 ? "0" : "") + min + "</em><em class='text-middle'>分</em><em class='text-middle pl5 pr5'>" + (sec <
10 ? "0" : "") + sec+"</em><em class='text-middle'>秒</em>");
}else if(hour>0){
return ("<span class='text-middle'>距抢购结束还有</span><em class='text-middle color-ff7200 pl5 pr5'>"+(hour < 10 ? "0" : "") + hour + "</em><em class='text-middle'>时</em><em class='text-middle color-ff7200 pl5 pr5'>" + (min < 10 ? "0" : "") + min + "</em><em class='text-middle'>分</em><em class='text-middle color-ff7200 pl5 pr5'>" + (sec <
10 ? "0" : "") + sec+"</em><em class='text-middle'>秒</em>");
}else if(min>0){
return ("<span class='text-middle'>距抢购结束还有</span><em class='text-middle color-ff7200 pl5 pr5'>" + (min < 10 ? "0" : "") + min + "</em><em class='text-middle'>分</em><em class='text-middle color-ff7200 pl5 pr5'>" + (sec <
10 ? "0" : "") + sec+"</em><em class='text-middle'>秒</em>");
}else if(sec>0){
return ("<span class='text-middle'>距抢购结束还有</span><em class='text-middle color-ff7200 pl5 pr5'>" + (sec <
10 ? "0" : "") + sec+"</em><em class='text-middle'>秒</em>");
}
}
}
},
mounted() {
let that = this
let swiper = new Swiper('.goods-banner .swiper-container', {
//loop: true,
//autoHeight: true,
pagination: {
el: '.swiper-pagination',
type: 'fraction',
},
navigation: {
nextEl: '.swiper-button-next',
prevEl: '.swiper-button-prev',
},
on: {
slideChangeTransitionEnd: function(){
that.activeIndex = this.activeIndex
},
},
});
//倒计时
this.bundleIntervalEvent = setInterval(this.intervalEvent, 1000);
},
beforeDestroy() {
clearInterval(this.bundleIntervalEvent);
},
methods: {
showReg: function() {
this.isShowReg = true
},
closeReg: function() {
this.isShowReg = false
},
toPay() {
var that = this
if (!this.name) {
mDialog.msg({
duration: 250,
pause: 2000,
content: "请输入您的姓名"
});
}else if (!/^1[3456789]\d{9}$/.test(this.telPhone)) {
mDialog.msg({
duration: 250,
pause: 2000,
content: "请输入正确手机号"
});
}else{
if(that.isSubmit){
return ''
}
that.isSubmiting = true
$.post('/h5/market/sylive/act/post_pay',{'skey':'<?=$info['skey']?>','name':that.name,'telPhone':that.telPhone},function (res){
that.isSubmiting = false
this.isShowReg = false
if(res.code==200){
var jsondata = res.data;
WeixinJSBridge.invoke(
'getBrandWCPayRequest',
jsondata,
function(res){
if(res.err_msg == "get_brand_wcpay_request:ok" ){//前端返回成功支付
mDialog.msg({
duration: 250,
pause: 2000,
content: "恭喜您购买成功",
onClose:function(){
window.location = "/h5/market/sylive/act/ucenter?skey=<?=$info['skey']?>";
}
});
}else{
mDialog.msg({content: "支付失败"});
}
}
);
}else{
mDialog.msg({content: res.msg});
}
},'json')
}
},
//直播倒计时
intervalEvent() {
if (this.info.e_time > 0) {
this.info.e_time--;
} else {
clearInterval(this.bundleIntervalEvent);
}
},
},
})
</script>
<?=$this->load->view('h5/market/sylive/share_script')?>
</body>