hios-miniprogram/pages/ucenter/order-details/index.js
2019-11-28 14:24:12 +08:00

297 lines
9.3 KiB
JavaScript

var util = require('../../../utils/util.js');
var api = require('../../../config/api.js');
var timer = require('../../../utils/wxTimer.js');
var remaintimer = require('../../../utils/remainTime.js');
const pay = require('../../../services/pay.js');
const app = getApp()
// TODO 拼团订单不能退款
Page({
data: {
orderId: 0,
orderInfo: {},
orderGoods: [],
handleOption: {},
textCode: {},
goodsCount: 0,
addressId: 0,
postscript: '',
hasPay: 0,
success: 0,
imageUrl: '',
wxTimerList: {},
express:{},
onPosting:0,
},
reOrderAgain: function () {
let orderId = this.data.orderId
wx.navigateTo({
url: '/pages/order-check/index?addtype=2&orderFrom=' + orderId
})
},
copyText: function (e) {
let data = e.currentTarget.dataset.text;
wx.setClipboardData({
data: data,
success(res) {
wx.getClipboardData({
success(res) { }
})
}
})
},
toGoodsList: function(e) {
let orderId = this.data.orderId;
wx.navigateTo({
url: '/pages/ucenter/goods-list/index?id=' + orderId,
});
},
toExpressInfo: function(e) {
let orderId = this.data.orderId;
wx.navigateTo({
url: '/pages/ucenter/express-info/index?id=' + orderId,
});
},
toRefundSelect: function(e) {
wx.navigateTo({
url: '/pages/refund-select/index',
});
},
payOrder: function(e) {
let that = this;
pay.payOrder(parseInt(that.data.orderId)).then(res => {
// this.setData({
// status: true
// });
that.getOrderDetail();
}).catch(res => {
util.showErrorToast('支付失败');
});
},
toSelectAddress: function() {
let orderId = this.data.orderId;
wx.navigateTo({
url: '/pages/ucenter/address-select/index?id=' + orderId,
});
},
onLoad: function() {
},
onShow: function() {
var orderId = wx.getStorageSync('orderId');
try {
this.setData({
orderId: orderId
});
} catch (e) {
// Do something when catch error
}
wx.showLoading({
title: '加载中...',
})
this.getOrderDetail();
this.getExpressInfo();
},
onUnload: function() {
let oCancel = this.data.handleOption.cancel;
if (oCancel == true) {
let orderTimerID = this.data.wxTimerList.orderTimer.wxIntId;
clearInterval(orderTimerID);
}
},
orderTimer: function(endTime) {
let that = this;
var orderTimerID = '';
let wxTimer2 = new timer({
endTime: endTime,
name: 'orderTimer',
id: orderTimerID,
complete: function() {
that.letOrderCancel();
},
})
wxTimer2.start(that);
},
bindinputMemo(event) {
let postscript = event.detail.value;
this.setData({
postscript: postscript
});
},
cancelRefund: function() {
let that = this;
wx.showModal({
title: '',
content: '确定要取消退款?',
success: function(res) {
if (res.confirm) {
util.request(api.CancelRefund, {
orderId: that.data.orderId
}, 'POST').then(function(res) {
if (res.errno === 0) {
wx.showToast({
title: '取消退款成功!'
});
that.getOrderDetail();
} else {
util.showErrorToast(res.errmsg);
}
});
}
}
});
},
getExpressInfo:function() {
this.setData({
onPosting:0
})
let that = this;
util.request(api.OrderExpressInfo, { orderId: that.data.orderId }).then(function (res) {
if (res.errno === 0) {
let express = res.data;
express.traces = JSON.parse(res.data.traces);
that.setData({
onPosting: 1,
express: express
});
// var traces = res.data.traces;
// that.setData({
// expressList: expressList
// });
// if (traces.length == 0) {
// that.setData({
// hasExpress: 0
// });
// }
}
});
},
getOrderDetail: function() {
let that = this;
util.request(api.OrderDetail, {
orderId: that.data.orderId
}).then(function(res) {
if (res.errno === 0) {
that.setData({
orderInfo: res.data.orderInfo,
orderGoods: res.data.orderGoods,
handleOption: res.data.handleOption,
textCode: res.data.textCode,
goodsCount: res.data.goodsCount
});
let orderType = res.data.orderInfo.order_type;
if (orderType == 2) {
that.getImageUrl();
}
}
let receive = res.data.textCode.receive;
if(receive == true){
let confirm_remainTime = res.data.orderInfo.confirm_remainTime;
remaintimer.reTime(confirm_remainTime,'c_remainTime',that);
}
let oCancel = res.data.handleOption.cancel;
let payTime = 0;
if (oCancel == true) {
payTime = res.data.orderInfo.final_pay_time
that.orderTimer(payTime);
}
});
wx.hideLoading();
},
letOrderCancel: function() {
let that = this;
util.request(api.OrderCancel, {
orderId: that.data.orderId
}, 'POST').then(function(res) {
if (res.errno === 0) {
that.getOrderDetail();
} else {
util.showErrorToast(res.errmsg);
}
});
},
// “删除”点击效果
deleteOrder: function() {
let that = this;
wx.showModal({
title: '',
content: '确定要删除此订单?',
success: function(res) {
if (res.confirm) {
util.request(api.OrderDelete, {
orderId: that.data.orderId
}, 'POST').then(function(res) {
if (res.errno === 0) {
wx.showToast({
title: '删除订单成功'
});
wx.removeStorageSync('orderId');
wx.navigateBack();
} else {
util.showErrorToast(res.errmsg);
}
});
}
}
});
},
// “确认收货”点击效果
confirmOrder: function() {
let that = this;
wx.showModal({
title: '',
content: '收到货了?确认收货?',
success: function(res) {
if (res.confirm) {
util.request(api.OrderConfirm, {
orderId: that.data.orderId
}, 'POST').then(function(res) {
if (res.errno === 0) {
wx.showToast({
title: '确认收货成功!'
});
that.getOrderDetail();
} else {
util.showErrorToast(res.errmsg);
}
});
}
}
});
},
// “取消订单”点击效果
cancelOrder: function(e) {
let that = this;
wx.showModal({
title: '',
content: '确定要取消此订单?',
success: function(res) {
if (res.confirm) {
util.request(api.OrderCancel, {
orderId: that.data.orderId
}, 'POST').then(function(res) {
if (res.errno === 0) {
let orderTimerID = that.data.wxTimerList.orderTimer.wxIntId;
clearInterval(orderTimerID);
wx.showToast({
title: '取消订单成功'
});
that.setData({
orderList: [],
allOrderList: [],
allPage: 1,
allCount: 0,
size: 8
});
that.getOrderDetail();
} else {
util.showErrorToast(res.errmsg);
}
});
}
}
});
},
})