195 lines
3.7 KiB
JavaScript
195 lines
3.7 KiB
JavaScript
const App = getApp();
|
|
|
|
// 枚举类:发货方式
|
|
import DeliveryTypeEnum from '../../../../utils/enum/DeliveryType.js';
|
|
|
|
// 枚举类:支付方式
|
|
import PayTypeEnum from '../../../../utils/enum/order/PayType'
|
|
|
|
Page({
|
|
|
|
/**
|
|
* 页面的初始数据
|
|
*/
|
|
data: {
|
|
|
|
// 配送方式
|
|
DeliveryTypeEnum,
|
|
|
|
// 支付方式
|
|
PayTypeEnum,
|
|
|
|
order_id: null,
|
|
order: {},
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面加载
|
|
*/
|
|
onLoad(options) {
|
|
let _this = this;
|
|
_this.data.order_id = options.order_id;
|
|
// 获取订单详情
|
|
_this.getOrderDetail(options.order_id);
|
|
},
|
|
|
|
/**
|
|
* 获取订单详情
|
|
*/
|
|
getOrderDetail(order_id) {
|
|
let _this = this;
|
|
App._get('sharing.order/detail', {
|
|
order_id
|
|
}, result => {
|
|
_this.setData(result.data);
|
|
});
|
|
},
|
|
|
|
/**
|
|
* 跳转到商品详情
|
|
*/
|
|
onTargetGoods(e) {
|
|
let goods_id = e.currentTarget.dataset.id;
|
|
wx.navigateTo({
|
|
url: '../../goods/index?goods_id=' + goods_id
|
|
});
|
|
},
|
|
|
|
/**
|
|
* 取消订单
|
|
*/
|
|
cancelOrder(e) {
|
|
let _this = this;
|
|
let order_id = _this.data.order_id;
|
|
wx.showModal({
|
|
title: "提示",
|
|
content: "确认取消订单?",
|
|
success(o) {
|
|
if (o.confirm) {
|
|
App._post_form('sharing.order/cancel', {
|
|
order_id
|
|
}, result => {
|
|
wx.navigateBack();
|
|
});
|
|
}
|
|
}
|
|
});
|
|
},
|
|
|
|
/**
|
|
* 确认收货
|
|
*/
|
|
receipt(e) {
|
|
let _this = this;
|
|
let order_id = _this.data.order_id;
|
|
wx.showModal({
|
|
title: "提示",
|
|
content: "确认收到商品?",
|
|
success(o) {
|
|
if (o.confirm) {
|
|
App._post_form('sharing.order/receipt', {
|
|
order_id
|
|
}, result => {
|
|
_this.getOrderDetail(order_id);
|
|
});
|
|
}
|
|
}
|
|
});
|
|
},
|
|
|
|
/**
|
|
* 申请售后
|
|
*/
|
|
onApplyRefund(e) {
|
|
wx.navigateTo({
|
|
url: '../refund/apply/apply?order_goods_id=' + e.currentTarget.dataset.id,
|
|
})
|
|
},
|
|
|
|
/**
|
|
* 跳转到门店详情
|
|
*/
|
|
onTargetShop(e) {
|
|
wx.navigateTo({
|
|
url: '../../../shop/detail/index?shop_id=' + e.currentTarget.dataset.id,
|
|
})
|
|
},
|
|
|
|
/**
|
|
* 点击付款按钮
|
|
*/
|
|
onPayOrder(e) {
|
|
let _this = this;
|
|
// 显示支付方式弹窗
|
|
_this.onTogglePayPopup();
|
|
},
|
|
|
|
/**
|
|
* 选择支付方式
|
|
*/
|
|
onSelectPayType(e) {
|
|
let _this = this;
|
|
// 记录formId
|
|
App.saveFormId(e.detail.formId);
|
|
// 隐藏支付方式弹窗
|
|
_this.onTogglePayPopup();
|
|
if (!_this.data.showPayPopup) {
|
|
// 发起付款请求
|
|
_this.payment(e.currentTarget.dataset.value);
|
|
}
|
|
},
|
|
|
|
/**
|
|
* 显示/隐藏支付方式弹窗
|
|
*/
|
|
onTogglePayPopup() {
|
|
this.setData({
|
|
showPayPopup: !this.data.showPayPopup
|
|
});
|
|
},
|
|
|
|
/**
|
|
* 发起付款请求
|
|
*/
|
|
payment(payType) {
|
|
let _this = this,
|
|
orderId = _this.data.order_id;
|
|
// 显示loading
|
|
wx.showLoading({
|
|
title: '正在处理...',
|
|
});
|
|
App._post_form('sharing.order/pay', {
|
|
order_id: orderId,
|
|
payType
|
|
}, result => {
|
|
if (result.code === -10) {
|
|
App.showError(result.msg);
|
|
return false;
|
|
}
|
|
|
|
// 发起微信支付
|
|
if (result.data.pay_type == PayTypeEnum.WECHAT.value) {
|
|
App.wxPayment({
|
|
payment: result.data.payment,
|
|
success() {
|
|
_this.getOrderDetail(orderId);
|
|
},
|
|
fail() {
|
|
App.showError(result.msg.success);
|
|
},
|
|
});
|
|
}
|
|
|
|
// 余额支付
|
|
if (result.data.pay_type == PayTypeEnum.BALANCE.value) {
|
|
App.showSuccess(result.msg.success, () => {
|
|
_this.getOrderDetail(orderId);
|
|
});
|
|
}
|
|
|
|
}, null, () => {
|
|
wx.hideLoading();
|
|
});
|
|
},
|
|
|
|
}); |