You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

181 lines
4.9 KiB
JavaScript

9 months ago
const app = getApp();
Page({
/**
* 页面的初始数据
*/
data: {
hidden: true,
money: 0,
coupon: null,
list: [],
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function(options) {
this.setData({
money: options.money,
list: JSON.parse(options.list),
color:app.globalData.color
});
console.log(options);
},
/**
* 立即使用
*/
cy_onceUse: function(e) {
var index = e.currentTarget.dataset.index;
this.data.coupon = this.data.list[index];
if(this.data.coupon.cardType=="DISCOUNT" && app.orderTicket.promotionFlag==1){
wx.showToast({
title: '折扣券不能同促销商品同时使用',
icon:'none'
})
return ;
}
this.setData({
hidden: false,
})
this.cy_checkCouponConsume();
},
/**
* 校验核销优惠券
*/
cy_checkCouponConsume: function() {
var that = this;
var store = wx.getStorageSync("store");
var coupon = that.data.coupon;
var params = {
method: "check.coupon.consume",
code: coupon.code,
amount: parseFloat(that.data.money * 100).toFixed(0) ,
shopNo: store.storeNo, // app.globalData.shopNo,
posNo: app.globalData.posNo,
workerNo: app.globalData.workerNo
}
var ignores = [];
console.log(params);
app.jsapi.memberApi(app.globalData.memberAppKey, app.globalData.memberAppSecret, app.globalData.memberUrl).ajax(params, ignores,
function(json) {
console.log(json);
that.setData({
hidden: true,
})
var data = json.data;
if (data.status == 1) {
var pages = getCurrentPages();
var prevPage = pages[pages.length - 2];
if(coupon.cardType=="GIFT"){
//判断该门店是否有兑换券的商品并且获取改商品的价格
that.cy_getGiftProductPrice(coupon);
}else{
prevPage.cy_selectUseCoupon(coupon);
wx.navigateBack({
});
}
} else {
wx.showToast({
title: data.errMessage,
icon: "none"
})
}
},
function(err) {
that.setData({
hidden: true,
})
wx.showToast({
title: '网络异常,优惠券检验失败',
icon: "none"
})
});
},
cy_getGiftProductPrice:function(coupon){
var flag=0;
var gift = JSON.parse(coupon.gift);
var giftTem=[];
var giftCount=0;
var i=0;
var totalBoxPrice=0;
if(gift && gift.length>=1){
giftCount=gift.length;
for(var giftItem of gift){
var productId = giftItem.productId;
var specId = giftItem.specId;
var storeId=app.orderTicket.storeId;
var params = {
method: "program.productspec.detail",
productId: productId,
specId: specId,
storeId: storeId
}
var ignores = [];
console.log(params);
app.jsapi.api(app.globalData.appKey, app.globalData.appSecret, app.globalData.serverUrl).ajax(params, ignores,
function(json) {
console.log(json);
var data = json.data;
if (data.status == 1) {
if(data.data.listProduct && data.data.listProduct.length>0){
giftItem.price=data.data.listProduct[0].price
giftItem.boxPrice=data.data.listProduct[0].boxPrice;
giftItem.linkUrl=coupon.coverLogo;
if(data.data.listProduct[0].boxPrice>0){
totalBoxPrice+=data.data.listProduct[0].boxPrice*giftItem.num;
giftItem.packageFee==data.data.listProduct[0].boxPrice*giftItem.num;
}
giftTem.push(giftItem);
flag++;
}
} else {
wx.showToast({
title: data.errMessage,
icon: "none"
})
}
i++;
if(i==giftCount){
if(flag==i){
var pages = getCurrentPages();
var prevPage = pages[pages.length - 2];
coupon.gift=JSON.stringify(giftTem);
coupon.totalBoxPrice=totalBoxPrice;
console.error("totalBoxPrice",totalBoxPrice)
prevPage.cy_selectUseCoupon(coupon);
wx.navigateBack({
})
}else{
wx.showToast({
title: '门店没有兑换的商品,暂无法使用',
icon: "none"
})
}
}
},
function(err) {
wx.showToast({
title: '网络异常,查询兑换券单价失败',
icon: "none"
})
});
}
}else{
isSuccess=false
wx.showToast({
title: '该兑换券无兑换的商品',
icon: "none"
})
return ;
}
}
})