2024-02-25 13:51:00 +08:00
|
|
|
|
<!DOCTYPE html>
|
|
|
|
|
<html lang="en">
|
|
|
|
|
|
|
|
|
|
<head>
|
|
|
|
|
<meta charset="utf-8" />
|
|
|
|
|
<meta name="viewport"
|
|
|
|
|
content="width=device-width, height=device-height, initial-scale=1.0, maximum-scale=1.0, user-scalable=0,viewport-fit=cover" />
|
|
|
|
|
<title>立减金领取</title>
|
|
|
|
|
<script src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/common/vue.min.js?v=1367936144322" type="text/javascript"
|
|
|
|
|
charset="utf-8"></script>
|
|
|
|
|
<script type="text/javascript" src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/common/axios.js?v=1367936144322">
|
|
|
|
|
</script>
|
|
|
|
|
<link rel="stylesheet" href="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/css/homepage2_0.css" />
|
|
|
|
|
<script src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/js/api2_0.js"></script>
|
2024-02-26 11:22:57 +08:00
|
|
|
|
<script src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/js/libs.js"></script>
|
2024-02-25 13:51:00 +08:00
|
|
|
|
<style>
|
|
|
|
|
* {
|
|
|
|
|
margin: 0 auto;
|
|
|
|
|
padding: 0;
|
|
|
|
|
font-family: HYQiHei;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
html {
|
|
|
|
|
font-size: 26.66666667vw;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
body {
|
|
|
|
|
-webkit-text-size-adjust: 100%;
|
|
|
|
|
-ms-text-size-adjust: 100%;
|
|
|
|
|
}
|
|
|
|
|
</style>
|
|
|
|
|
</head>
|
|
|
|
|
|
|
|
|
|
<body>
|
|
|
|
|
<div id="reduce">
|
|
|
|
|
<!-- 弹出框 -->
|
|
|
|
|
<div class="mask" v-if="maskshow"></div>
|
|
|
|
|
<!-- 单条弹出框 -->
|
|
|
|
|
<div class="prompt" :class="promtshow?'proactive':''">
|
|
|
|
|
{{this.promttip}}
|
|
|
|
|
</div>
|
|
|
|
|
<!-- 弹出提示 -->
|
|
|
|
|
<div class="popboxshow" v-if="popboxshow" :class="popboxshow?'active':''">
|
|
|
|
|
<div class="tip">
|
|
|
|
|
<p>{{tiptext}}</p>
|
|
|
|
|
<span @click="knowFn">知道了</span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<!-- 复制提示 -->
|
|
|
|
|
<div class="popboxshow" v-if="copyshow" :class="copyshow?'active':''">
|
|
|
|
|
<div class="tip">
|
|
|
|
|
<p>请点击下方[复制]按钮,复制链接到浏览器打开!</p>
|
|
|
|
|
<span @click="copyFn">复制</span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div class="couponShow">
|
|
|
|
|
<span>
|
|
|
|
|
<img @click="backgoodsFn" v-if="backAble" class="backIcon"
|
|
|
|
|
src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/img/backprepageBtn.png" alt="">
|
|
|
|
|
</span>
|
|
|
|
|
<div class="coupon-left">
|
|
|
|
|
<p class="coupon_money" :style="{fontSize:this.fonts()}">
|
|
|
|
|
<span>¥</span>{{parseFloat(reduceInfo.reduce_amount)}}
|
|
|
|
|
</p>
|
|
|
|
|
<p class="full_money">满{{parseFloat(reduceInfo.denomination)}}可用</p>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="coupon-right">
|
|
|
|
|
<p class="title">
|
|
|
|
|
{{reduceInfo.batch_goods_name}}
|
|
|
|
|
<span class="send_num" v-if="reduceInfo.send_num>1">x{{reduceInfo.send_num}}</span>
|
|
|
|
|
</p>
|
|
|
|
|
<p style="font-size: 0.11rem">
|
|
|
|
|
{{reduceInfo.card_type|cardType}}可用
|
|
|
|
|
</p>
|
|
|
|
|
<p class="validity">
|
|
|
|
|
有效期:{{receive_time.effect_time.start_time}}至{{receive_time.effect_time.end_time}}
|
|
|
|
|
</p>
|
|
|
|
|
<p class="validity" v-if="receive_time.use_time.type=='received'">
|
|
|
|
|
领取后{{receive_time.use_time.effect_date_type==0?'立即':'次日凌晨'}}生效,有效期
|
|
|
|
|
{{receive_time.use_time.effect_day}}天
|
|
|
|
|
</p>
|
|
|
|
|
<p class="validity" v-if="receive_time.use_time.type=='fiexd'">
|
|
|
|
|
可用时间:{{receive_time.use_time.fiexd_time.start_time}}-{{receive_time.use_time.fiexd_time.end_time}}
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="receiveBtn" @click="receiveFn" :class="goodInfo.available!=1?'readOnly':''">立即领取</div>
|
|
|
|
|
<div class="coupon_explain">
|
|
|
|
|
<h1>- 兑换说明 -</h1>
|
|
|
|
|
<div class="content">
|
|
|
|
|
<h3 v-if="receive_time.use_time.type=='week'||receive_time.use_time.type=='irregular'">可用时间</h3>
|
|
|
|
|
<ul v-if="receive_time.use_time.type=='week'" class="weekTime">
|
|
|
|
|
<li v-for="(item,index) in receive_time.use_time.week" :key="index">
|
|
|
|
|
<p>{{item}}</p>
|
|
|
|
|
<div>
|
|
|
|
|
<p v-for="(item2,index2) in receive_time.use_time.time" :key="index2">
|
|
|
|
|
{{item2[0]}}~{{item2[1]}}
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</li>
|
|
|
|
|
</ul>
|
|
|
|
|
<ul v-if="receive_time.use_time.type=='irregular'">
|
|
|
|
|
<li v-for="(item,index) in receive_time.use_time.day" :key="index">
|
|
|
|
|
<p>{{item[0]}}至{{item[1]}}</p>
|
|
|
|
|
<div>
|
|
|
|
|
<p v-for="(item2,index2) in receive_time.use_time.time" :key="index2">
|
|
|
|
|
{{item2[0]}}~{{item2[1]}}
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</li>
|
|
|
|
|
</ul>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="content">
|
|
|
|
|
<h3>使用须知</h3>
|
|
|
|
|
<p>
|
|
|
|
|
1、在{{reduceInfo.channel==1?'支付宝H5':'微信APP内打开链接'}},点击【一键领取】完成领取{{reduceInfo.channel==1?'支付宝':'微信'}}立减金<br />
|
|
|
|
|
2、{{reduceInfo.channel==1?'支付宝':'微信'}}立减金一旦领取不可撤销、不可转让。注意不要将兑换券泄露给他人
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="content">
|
|
|
|
|
<h3>使用规则</h3>
|
|
|
|
|
<p v-html="goodInfo.instruction"></p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</body>
|
|
|
|
|
<script>
|
2024-02-26 11:22:57 +08:00
|
|
|
|
const bm_obj_data = sessionStorage.getItem("bm_auth") ? JSON.parse(sessionStorage.getItem("bm_auth")) : null;
|
2024-02-25 13:51:00 +08:00
|
|
|
|
let goodsDetail = null, goodsCount = null;
|
|
|
|
|
new Vue({
|
|
|
|
|
el: "#reduce",
|
2024-02-26 11:22:57 +08:00
|
|
|
|
data() {
|
2024-02-25 13:51:00 +08:00
|
|
|
|
return {
|
|
|
|
|
plaflam: 1, //支付宝
|
|
|
|
|
promtshow: false,
|
|
|
|
|
promttip: "警告提示",
|
|
|
|
|
copyshow: false,//解决ios,必须触发按钮复制
|
|
|
|
|
copyLink: '',//存储链接
|
|
|
|
|
popboxshow: false,
|
|
|
|
|
maskshow: false,
|
2024-03-12 11:44:12 +08:00
|
|
|
|
openId: localStorage.getItem('openid'),
|
2024-02-25 13:51:00 +08:00
|
|
|
|
bindClick: false,
|
|
|
|
|
tiptext: "错误提示",
|
|
|
|
|
goodInfo: {}, //商品信息
|
|
|
|
|
reduceInfo: {}, //券信息
|
|
|
|
|
orderId: '',
|
|
|
|
|
backAble: true,
|
|
|
|
|
loading: false,
|
|
|
|
|
receive_time: {},//领取立减金时间
|
|
|
|
|
tip: `1、立减金自领取之日起0天有效,请在有效期内使用<br />
|
|
|
|
|
2、微信立减金自领取后每个立减金一次性使用,不兑换,不找零,到期后自动失效,逾期未使用不再补发。使用微信支付进行付款(大于立减金面额0.01元以上)即可自动抵扣<br />
|
|
|
|
|
3、多张立减金可在单笔微信支付订单中一起使用,但当用户的立减金超过8张时,系统会选取其中一部分使用,不保证在一张订单中全部使用<br />
|
|
|
|
|
4、在中国境内商户使用微信支付即可使用,少数特定商户(包括但不限于:CoCo奶茶、优衣库、星巴克、肯德基、必胜客、同程艺龙、热风、太平鸟、孩子王、航联保险、华为商城、Miss
|
|
|
|
|
Sixty、Ochirly、Apple商城、FivePlus、信用卡还款、零钱通、理财通等)、以及社交支付(如转账、红包、个人收款码支付等)及合单支付(微信支付订单号为44开头的交易)无法使用立减金<br />
|
|
|
|
|
5、使用立减金的微信支付订单,如发生全额退款,且立减金仍在有效期内,立减金将自动退还给用户,如立减金已过期,则不退还给用户;如发生部分退款,用户支付金额将按比例原路退还,立减金将不退还给用户<br />`,
|
|
|
|
|
};
|
|
|
|
|
},
|
2024-02-26 11:22:57 +08:00
|
|
|
|
created() {
|
2024-02-25 13:51:00 +08:00
|
|
|
|
document.title = localStorage.getItem('title');
|
|
|
|
|
/* 获取立减金信息*/
|
|
|
|
|
goodsDetail = JSON.parse(sessionStorage.getItem("goodsInfo"));
|
|
|
|
|
this.goodInfo = goodsDetail;
|
|
|
|
|
/*默认显示*/
|
|
|
|
|
// if (goodsDetail.available != 1) {
|
|
|
|
|
// this.openErrorDialog(product_status(goodsDetail.available, goodsDetail));
|
|
|
|
|
// this.bindClick = true;
|
|
|
|
|
// }
|
|
|
|
|
goodsCount = sessionStorage.getItem('goodsCount');
|
|
|
|
|
this.backAble = goodsCount > 1;//多个商品才有返回
|
|
|
|
|
this.reduceInfo = goodsDetail.entity;
|
|
|
|
|
this.plaflam = goodsDetail.entity.channel;
|
|
|
|
|
if (goodsDetail.entity.time_limit.use_time.type == 'week') { //处理星期连贯操作
|
|
|
|
|
goodsDetail.entity.time_limit.use_time.week = sortWeeks(goodsDetail.entity.time_limit.use_time.week);
|
|
|
|
|
}
|
|
|
|
|
this.receive_time = goodsDetail.entity.time_limit;
|
|
|
|
|
},
|
|
|
|
|
filters: {
|
2024-02-26 11:22:57 +08:00
|
|
|
|
cardType(val) {
|
2024-02-25 13:51:00 +08:00
|
|
|
|
return val.map((item) => {
|
|
|
|
|
return item == 1 ? "借记卡" : "信用卡" + " ";
|
|
|
|
|
}).join(" ");
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
methods: {
|
2024-02-26 11:22:57 +08:00
|
|
|
|
backgoodsFn() {
|
2024-02-25 13:51:00 +08:00
|
|
|
|
if (goodsCount > 1) {
|
2024-02-28 09:44:55 +08:00
|
|
|
|
locationReplace('./homepage.html');
|
2024-02-25 13:51:00 +08:00
|
|
|
|
} else {
|
|
|
|
|
history.go(-2);
|
|
|
|
|
}
|
|
|
|
|
},
|
2024-03-13 13:45:54 +08:00
|
|
|
|
receiveFn() {
|
2024-02-25 13:51:00 +08:00
|
|
|
|
if (this.loading) return;
|
|
|
|
|
this.loading = true;
|
|
|
|
|
let self = this;
|
|
|
|
|
if (self.goodInfo.available != 1) {
|
|
|
|
|
self.openErrorDialog(product_status(self.goodInfo.available, self.goodInfo));
|
|
|
|
|
this.loading = false;
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
let data = {
|
|
|
|
|
key: localStorage.getItem("key"),
|
|
|
|
|
goods_id: this.goodInfo.entity.goods_id,
|
|
|
|
|
code_batch_id: this.goodInfo.code_batch_id,
|
|
|
|
|
token: localStorage.getItem("token"),
|
|
|
|
|
};
|
|
|
|
|
req.axiosPost("/key/usage", data)
|
|
|
|
|
.then((res) => {
|
2024-02-26 11:22:57 +08:00
|
|
|
|
|
2024-02-25 13:51:00 +08:00
|
|
|
|
this.loading = false;
|
|
|
|
|
if (res.code == 200) {
|
2024-03-03 15:11:47 +08:00
|
|
|
|
// 领取结算 4
|
|
|
|
|
if (bm_obj_data && !bm_obj_data.settlement_data.is_settlement && bm_obj_data.settlement_data.settlement_type === 4) {
|
2024-02-26 11:22:57 +08:00
|
|
|
|
settlementFun(bm_obj_data.token, bm_obj_data.settlement_data.settlement_type);
|
|
|
|
|
}
|
2024-02-25 13:51:00 +08:00
|
|
|
|
sessionStorage.setItem("lastid", self.goodInfo.product_id);
|
|
|
|
|
this.orderId = res.data.order_number;
|
|
|
|
|
let ua = navigator.userAgent.toLowerCase(); //判断用户打开链接环境
|
2024-03-07 21:47:17 +08:00
|
|
|
|
|
|
|
|
|
setTimeout(() => {
|
|
|
|
|
if (self.plaflam == 1) {
|
|
|
|
|
//支付宝-微信环境中不能唤起支付宝
|
|
|
|
|
self.toLinkAlipay();
|
|
|
|
|
}
|
|
|
|
|
if (self.plaflam == 2) {
|
|
|
|
|
//微信
|
|
|
|
|
// if (ua.indexOf("dingtalk") > -1) {
|
|
|
|
|
// //在钉钉内置环境打开,不能唤起微信小程序
|
|
|
|
|
// self.openErrorDialog("请在其他浏览器打开!");
|
|
|
|
|
// } else {
|
2024-03-13 13:45:54 +08:00
|
|
|
|
if (this.goodInfo.entity.is_webview == 1) {
|
|
|
|
|
this.publicCollection(res.data.order_number);
|
|
|
|
|
} else {
|
|
|
|
|
//唤起微信福利官小程序
|
|
|
|
|
window.location.replace(res.data.redirect_url);
|
|
|
|
|
}
|
2024-03-07 21:47:17 +08:00
|
|
|
|
// }
|
|
|
|
|
}
|
|
|
|
|
}, 300)
|
|
|
|
|
|
2024-02-25 13:51:00 +08:00
|
|
|
|
} else {
|
|
|
|
|
self.openErrorDialog(res.message);
|
|
|
|
|
if (res.code == 403) {
|
|
|
|
|
if (goodsCount > 1) {
|
|
|
|
|
setTimeout(() => {
|
2024-02-28 09:44:55 +08:00
|
|
|
|
locationReplace("./homepage.html");
|
2024-02-25 13:51:00 +08:00
|
|
|
|
}, 3000);
|
|
|
|
|
} else {
|
|
|
|
|
self.openErrorDialog(res.message);
|
|
|
|
|
// window.location.replace("./index.html");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
.catch((err) => { this.loading = false; });
|
|
|
|
|
},
|
2024-03-12 11:44:12 +08:00
|
|
|
|
|
|
|
|
|
/* 公众号领取 */
|
2024-03-13 13:45:54 +08:00
|
|
|
|
publicCollection(order_number) {
|
2024-03-12 11:44:12 +08:00
|
|
|
|
let params = {
|
|
|
|
|
order_number,
|
|
|
|
|
channel: 2,
|
|
|
|
|
channel_user_id: this.openId,
|
|
|
|
|
is_webview: 1
|
|
|
|
|
};
|
|
|
|
|
req.axiosPost("/voucher/grant", params)
|
|
|
|
|
.then((res) => {
|
|
|
|
|
if (res.code == 200) {
|
|
|
|
|
this.openErrorDialog('领取成功');
|
|
|
|
|
this.goodInfo.available = 9;
|
|
|
|
|
sessionStorage.setItem('goodInfo', JSON.stringify(this.goodInfo));
|
|
|
|
|
} else {
|
|
|
|
|
this.openErrorDialog(res.message);
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
.catch((err) => { this.loading = false; });
|
|
|
|
|
;
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
2024-03-13 13:45:54 +08:00
|
|
|
|
toLinkAlipay() {
|
2024-02-25 13:51:00 +08:00
|
|
|
|
//支付宝H5跳转
|
|
|
|
|
let self = this;
|
|
|
|
|
let banklink = encodeURIComponent(
|
|
|
|
|
window.location.origin +
|
|
|
|
|
"/alipay.html?orderNumber=" + this.orderId
|
|
|
|
|
);
|
|
|
|
|
let link = "http://openapi.1688sup.com/alipay/oauth?jump=" + banklink;
|
|
|
|
|
let ua = navigator.userAgent.toLowerCase(); //判断用户打开链接环境
|
|
|
|
|
if (ua.indexOf("micromessenger") > -1 || ua.indexOf("baiduboxapp") > -1 || ua.indexOf("firefox") > -1) {
|
|
|
|
|
//复制链接地址,提醒去浏览器打开
|
|
|
|
|
this.copyLink = link;
|
|
|
|
|
this.copyshow = true;
|
|
|
|
|
this.maskshow = true;
|
|
|
|
|
} else {
|
|
|
|
|
//唤起支付宝
|
2024-02-28 09:58:21 +08:00
|
|
|
|
window.location.replace(link);
|
2024-02-25 13:51:00 +08:00
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
//错误弹出框关闭
|
2024-02-26 11:22:57 +08:00
|
|
|
|
knowFn() {
|
2024-02-25 13:51:00 +08:00
|
|
|
|
this.popboxshow = false;
|
|
|
|
|
this.maskshow = false;
|
|
|
|
|
},
|
|
|
|
|
//错误弹出框
|
2024-02-26 11:22:57 +08:00
|
|
|
|
openErrorDialog(tip) {
|
2024-02-25 13:51:00 +08:00
|
|
|
|
this.maskshow = true;
|
|
|
|
|
this.tiptext = tip;
|
|
|
|
|
this.popboxshow = true;
|
|
|
|
|
},
|
|
|
|
|
// 单条弹框
|
2024-02-26 11:22:57 +08:00
|
|
|
|
openDialog(tip) {
|
2024-02-25 13:51:00 +08:00
|
|
|
|
this.promtshow = true;
|
|
|
|
|
this.promttip = tip;
|
|
|
|
|
setTimeout(() => {
|
|
|
|
|
this.promtshow = false;
|
|
|
|
|
this.promttip = "";
|
|
|
|
|
}, 3000);
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
/* 动态font */
|
2024-02-26 11:22:57 +08:00
|
|
|
|
fonts() {
|
2024-02-25 13:51:00 +08:00
|
|
|
|
const defaultCss = '0.32rem';
|
|
|
|
|
const count = String(parseFloat(this.reduceInfo.reduce_amount)).length + 1;
|
|
|
|
|
if (count > 4) {
|
|
|
|
|
return 0.32 - ((count - 3) / 100 * 2.2) + 'rem';
|
|
|
|
|
} else {
|
|
|
|
|
return defaultCss;
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
//复制文本
|
2024-02-26 11:22:57 +08:00
|
|
|
|
copyFn() {
|
2024-02-25 13:51:00 +08:00
|
|
|
|
var textArea = document.createElement("textarea");
|
|
|
|
|
textArea.value = this.copyLink;
|
|
|
|
|
document.body.appendChild(textArea);
|
|
|
|
|
textArea.select();
|
|
|
|
|
document.execCommand("copy");
|
|
|
|
|
this.openDialog("复制成功,请到浏览器打开");
|
|
|
|
|
document.body.removeChild(textArea);
|
|
|
|
|
this.copyshow = false;
|
|
|
|
|
this.maskshow = false;
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
});
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
</html>
|