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() { } })