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.

240 lines
6.2 KiB
JavaScript

9 months ago
const app = getApp();
const card = require('../../utils/card.js');
const wxbarcode = require('../../utils/wxbarcode.js');
const mqttMessage = require('../../utils/mqttMessage.js');
var intercode;
Page({
/**
* 页面的初始数据
*/
data: {
couponStatus: [{
status: 1,
title: "未使用",
select: true,
}, {
status: 2,
title: "已使用",
select: false,
}, {
status: 3,
title: "已过期",
select: false,
}],
hiden: false
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function(options) {
this.cy_queryCoupon(1);
this.setData({color:app.globalData.color})
},
cy_goto_couponCenter:function(){
wx.redirectTo({
url: '/pages/coupon/couponCenterNew',
})
},
/**
* 优惠券
*/
cy_queryCoupon: function(status) {
var that = this;
var property = "memberId";
var keyword = app.globalData.memberId;
var params = {
"property": property,
"keyword": keyword,
"status": status,
"shopNo": app.globalData.shopNo,
"posNo": app.globalData.posNo,
"amount": 0,
"amountFilter": 0
}
card.queryGroupCouponsList(params, function success(json) {
console.log(json)
var data = json.data;
if (data.status == 1) {
var list = [];
if (data.list.length > 0) {
for (var item of data.list) {
if (item.cardType == "DISCOUNT") {
console.log(item);
item.unitName = "折";
item.amount = item.discount;
item.size = "60rpx";
item.height = "90rpx;";
} else if (item.cardType == "CASH") {
item.unitName = "¥";
item.size = "60rpx";
item.height = "90rpx;";
item.amount = app.utils.getZero(parseFloat(item.reduceCost) / 100);
} else if (item.cardType == "GIFT") {
item.unitName = "兑换";
item.amount = "券";
item.size = "45rpx";
item.height = "80rpx;";
} else if (item.cardType = "PRODUCT") {
item.unitName = "商品";
item.amount = "券";
item.size = "45rpx";
item.height = "80rpx;";
}
item.bgImage ="http://pos.juweiyun.cn/373001/file/wechatAppnewCoupon.png";
if (item.status == 1) {
item.useStatus = "立即使用";
item.type=1;
item.color = app.globalData.color
} else if (item.status == 2) {
item.useStatus = "已使用";
item.type=2;
item.color = "#999";
} else if (item.status == 3) {
item.useStatus = "已过期";
item.color = "#999";
item.type=2;
}
item.condition = "满" + app.utils.getOne(parseFloat(item.leastCost) / 100) + "可用";
item.effective = item.beginTimestamp.split(" ")[0] + " 至 " + item.endTimestamp.split(" ")[0];
}
that.setData({
list: data.list
})
} else {
that.setData({
list: data.list,
})
wx.showToast({
title: "暂无优惠券",
icon: "none"
})
}
} else {
wx.showToast({
title: data.errMessage,
icon: "none"
})
}
}, function fail(err) {
console.log(err);
wx.showToast({
title: "网络连接不稳定, 请重试",
icon: "none"
})
})
},
/**
* 选择优惠券类型
*/
cy_selectTypeCoupon: function(e) {
var status = e.currentTarget.dataset.status;
for (var item of this.data.couponStatus) {
item.select = false;
if (item.status == status) {
item.select = true;
}
}
this.cy_queryCoupon(status);
this.setData({
couponStatus: this.data.couponStatus
});
},
close: function() {
this.setData({
hiden: false
})
clearInterval(intercode);
mqttMessage.mqttunSubscribe(app.getCouponConsumeCode(this.data.code));
},
onMessage: function (top, msg) {
app.globalFunction.consumeCouponCallBack(JSON.stringify(msg));
},
useCode: function(e) {
console.error(e , ".......")
var status = this.get_defaultMenusStatus();
var couponId = e.currentTarget.dataset.id;
var formId = e.detail.formId;
if (status == 1) {
var code = e.currentTarget.dataset.code;
this.setData({
code: code
})
app.globalData.oldCode = code;
wxbarcode.barcode('barcode', code, 680, 200);
wxbarcode.qrcode('qrcode', code, 450, 450);
var that = this;
that.setData({
hiden: true
})
var i = 0;
if (intercode)
clearInterval(intercode);
intercode = setInterval(function() {
i = i + 1;
wxbarcode.barcode('barcode', code, 680, 200);
wxbarcode.qrcode('qrcode', code, 450, 450);
if (i == 10) {
clearInterval(intercode);
}
}, 1000)
that.subscribeCouponCode();
that.senUseCodedMessage(formId, couponId);
}
},
get_defaultMenusStatus: function() {
var couponStatus = this.data.couponStatus;
for (var item of couponStatus) {
if (item.select) {
return item.status;
}
}
return couponStatus[0].status;
},
onHide: function() {
if(this.data.code){
mqttMessage.mqttunSubscribe(app.getCouponConsumeCode(this.data.code));
}
clearInterval(intercode);
},
onUnload: function() {
if(this.data.code){
mqttMessage.mqttunSubscribe(app.getCouponConsumeCode(this.data.code));
}
clearInterval(intercode);
},
/**
* 订阅优惠券核销主题
*/
subscribeCouponCode: function() {
mqttMessage.mqttSubscribe(4);
mqttMessage.mqttOn(this);
},
senUseCodedMessage: function(formId, couponId) {
console.error(couponId+".......")
card.sendTemPlate("couponCode", formId, couponId, function(success) {}, function fail(err) {
console.log(err);
wx.showToast({
title: "网络连接不稳定, 请重试",
icon: "none"
})
})
},
onPullDownRefresh: function() {
},
onReachBottom: function() {
},
onShareAppMessage: function() {
}
})