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
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 ;
|
||
|
}
|
||
|
}
|
||
|
})
|