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.
211 lines
4.6 KiB
JavaScript
211 lines
4.6 KiB
JavaScript
const app = getApp();
|
|
const mqttMessage = require('../../../utils/mqttMessage.js');
|
|
Page({
|
|
/**
|
|
* 页面的初始数据
|
|
*/
|
|
data: {
|
|
isLoading: false,
|
|
showGoodsStatus: false,
|
|
orderId: "",
|
|
orderNo: "",
|
|
order: {},
|
|
intervalSeconds: 30,
|
|
storeId: "",
|
|
store: {},
|
|
product: {
|
|
imgUrl: ""
|
|
}
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面加载
|
|
*/
|
|
onLoad: function(options) {
|
|
var that = this;
|
|
var storeId = undefined == options.storeId ? "" : options.storeId;
|
|
var orderId = undefined == options.orderId ? "" : options.orderId;
|
|
var orderNo = undefined == options.orderNo ? "" : options.orderNo;
|
|
that.setData({
|
|
orderId: orderId,
|
|
orderNo: orderNo,
|
|
storeId: storeId
|
|
});
|
|
//启动定时查询订单详情
|
|
// wx.showLoading({
|
|
// title: '加载中...'
|
|
// });
|
|
// that.loadOrderInfo();
|
|
|
|
},
|
|
|
|
/**
|
|
* mqtt消息
|
|
*/
|
|
onMessage: function(top, message) {
|
|
var that = this;
|
|
if (message.status == 1) {
|
|
that.loadOrderInfo();
|
|
}
|
|
if(message.deliverStatus==1){
|
|
wx.showToast({
|
|
title: '骑手已接单',
|
|
icon:"none"
|
|
})
|
|
return ;
|
|
}else if(message.deliverStatus==14){
|
|
wx.showToast({
|
|
title: '您的配送单已取消',
|
|
icon:"none"
|
|
})
|
|
return ;
|
|
}
|
|
},
|
|
|
|
/**
|
|
*
|
|
*/
|
|
onShow: function() {
|
|
mqttMessage.mqttOn(this);
|
|
},
|
|
|
|
/**
|
|
* 加载订单详情
|
|
*/
|
|
loadOrderInfo: function() {
|
|
var that = this;
|
|
var params = {
|
|
"method": "wxdc.sales.order.info",
|
|
"wxStoreId": that.data.storeId,
|
|
"ticketId": that.data.orderId,
|
|
"ticketNo": that.data.orderNo
|
|
}
|
|
// 不签名参数
|
|
var ignores = [];
|
|
app.jsapi.api(app.globalData.appKey, app.globalData.appSecret, app.globalData.serverUrl).ajax(params, ignores,
|
|
function(json) {
|
|
var result = json.data;
|
|
if (result.status == 1) {
|
|
wx.stopPullDownRefresh();
|
|
wx.hideNavigationBarLoading();
|
|
wx.hideLoading();
|
|
// 清除定时查询
|
|
clearInterval(that.data.interval);
|
|
// 设置数据源
|
|
that.setData({
|
|
intervalSeconds: 20,
|
|
order: result.data
|
|
});
|
|
} else {
|
|
if (!that.data.isLoading) {
|
|
that.setData({
|
|
isLoading: true
|
|
});
|
|
that.beginPolling();
|
|
}
|
|
}
|
|
},
|
|
function(error) {
|
|
clearInterval(that.data.interval);
|
|
that.setData({
|
|
intervalSeconds: 20
|
|
});
|
|
app.msg.showMsg("提示", "网络中断,获取品类失败");
|
|
}
|
|
);
|
|
},
|
|
|
|
// 轮询查询订单详情
|
|
beginPolling: function() {
|
|
var that = this;
|
|
/* 加载数据 */
|
|
var interval = setInterval(function() {
|
|
that.loadData();
|
|
}, 2000);
|
|
that.setData({
|
|
interval: interval
|
|
});
|
|
},
|
|
|
|
/**
|
|
* 加载订单数据
|
|
*/
|
|
loadData: function() {
|
|
var that = this;
|
|
if (that.data.intervalSeconds == 0) {
|
|
clearInterval(that.data.interval);
|
|
that.setData({
|
|
intervalSeconds: 20
|
|
});
|
|
|
|
wx.stopPullDownRefresh();
|
|
wx.hideNavigationBarLoading();
|
|
wx.hideLoading();
|
|
wx.showModal({
|
|
title: '提示',
|
|
content: '加载订单详情失败',
|
|
});
|
|
} else {
|
|
var intervalSeconds = that.intervalSeconds;
|
|
intervalSeconds = intervalSeconds - 2;
|
|
that.setData({
|
|
intervalSeconds: intervalSeconds
|
|
});
|
|
that.loadOrderInfo();
|
|
}
|
|
},
|
|
|
|
/**
|
|
* 进入门店
|
|
*/
|
|
bindGoStore: function() {
|
|
|
|
},
|
|
|
|
/**
|
|
* 展开/关闭商品清淡
|
|
*/
|
|
bindShowGoods: function() {
|
|
this.setData({
|
|
showGoodsStatus: !this.data.showGoodsStatus
|
|
});
|
|
},
|
|
|
|
/**
|
|
* 取消订单
|
|
*/
|
|
bindCancelOrder: function() {
|
|
var that = this;
|
|
var order = that.data.order;
|
|
wx.navigateTo({
|
|
url: '../reason/reason?type=cancel&storeId=' + that.data.storeId + '&ticketId=' + order.ticketId + '&ticketNo=' + order.ticketNo,
|
|
});
|
|
// 0-等待付款;1-已支付;2-已退单;3-已取消;4-商家已确认;5-已完成;
|
|
},
|
|
|
|
/**
|
|
* 退单
|
|
*/
|
|
bindRefundOrder: function() {
|
|
var that = this;
|
|
var order = that.data.order;
|
|
wx.navigateTo({
|
|
url: '../reason/reason?type=refund&storeId=' + that.data.storeId + '&ticketId=' + order.ticketId + '&ticketNo=' + order.ticketNo,
|
|
});
|
|
},
|
|
|
|
/**
|
|
* 监听页面下拉事件
|
|
*/
|
|
onPullDownRefresh: function() {
|
|
//在标题栏中显示加载
|
|
wx.showNavigationBarLoading()
|
|
wx.showLoading({
|
|
title: '加载订单...',
|
|
});
|
|
this.setData({
|
|
order: {}
|
|
});
|
|
this.loadData();
|
|
},
|
|
}) |