const app = getApp();
|
|
//拼团订单
|
const SHOW_MODEL_GROUP = 2;
|
//拼团订单结束
|
const SHOW_MODEL_GROUP_END = 3;
|
|
var util = require('../../utils/util.js');
|
var api = require('../../utils/service-api.js');
|
Page({
|
|
data: {
|
address: {},
|
addrDefault: "",
|
hasAddress: false,
|
total: 0,
|
couponsShow: false, //优惠券
|
delivery: [],
|
key: 0,
|
keydelivery: 0,
|
isShow: true,
|
selected: "",
|
hidden: false,
|
goodsList: [],
|
skuList: [],
|
usefulCoupon: [],
|
coupons: '暂无可用优惠券', // 优惠券金额
|
couponReceiveId: null, // 优惠券Id
|
postage: '', //邮费
|
showCoupon: false, //是否存在优惠券
|
carId: '', //购物车id
|
buttonClicked: false,
|
checkedValue: false,
|
deliverySelect: "物流配送",
|
qsfy: "",
|
pageScen: "",
|
discountExplain: {},
|
shopInfo: {},
|
},
|
|
onLoad(options) {
|
var _this = this;
|
|
this.setData({
|
shopInfo: app.shopInfo
|
});
|
|
},
|
|
onShow: function() {
|
var _this = this;
|
|
|
//获取收货地址
|
_this.getAddress();
|
|
},
|
|
|
//计算订单价格
|
jsjg() {
|
var _this = this;
|
let orderMsg = util.getOutStorage("orderMsg");
|
let goodsInfo = orderMsg.goodsInfo;
|
|
|
_this.setData({
|
goodsList: [{
|
imgMobile: goodsInfo.imgMobile,
|
title: goodsInfo.title,
|
name: orderMsg.specification,
|
price: orderMsg.currentGrooupPrice.gpPrice,
|
gpHeadPrice:orderMsg.currentGrooupPrice.gpHeadPrice,
|
cartNumber: orderMsg.cartNumber,
|
}],
|
orderMsg: orderMsg,
|
});
|
|
|
//调用接口计算价格
|
var goods = this.data.goodsList[0];
|
var couponReceiveId = _this.data.couponReceiveId;
|
|
let gpId = _this.data.orderMsg.currentGrooupPrice.id;
|
let actId = _this.data.orderMsg.currentGrooupPrice.actId;
|
|
|
|
var sendData = {
|
actId: actId,//活动id
|
gpId: gpId,//几人团
|
addressId: _this.data.address.addrId, //收货地址ID
|
remarks: _this.data.txtContent,
|
skuId: goods.cartSkuId,
|
productId: goods.cartProductId,
|
count: goods.cartNumber,
|
shopId: app.shopInfo.id,
|
shippingMethod: this.data.deliverySelect,
|
}
|
if (_this.data.orderMsg.gjId) {
|
sendData.gjId = _this.data.orderMsg.gjId;
|
}
|
|
|
util.request({
|
api: api.groupBuy.calPrice,
|
data: sendData,
|
callback: function (data) {
|
console.log(data);
|
|
|
|
_this.setData({
|
discountExplain: {
|
billPrice: data.mapInfo.billPrice,
|
postage: data.mapInfo.postage,
|
payPrice:data.mapInfo.totalPrice
|
},
|
});
|
|
|
|
}
|
});
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
mySelect(e) {
|
var name = e.currentTarget.dataset.name
|
this.setData({
|
tihuoWay: name,
|
select: false
|
})
|
},
|
|
//获取textarea里的值
|
txtInput(e) {
|
this.setData({
|
txtContent: e.detail.value
|
})
|
},
|
|
|
onShowText(e) {
|
this.setData({
|
isShow: true,
|
})
|
},
|
|
|
onReady() {
|
this.getTotalPrice();
|
},
|
|
|
|
|
/**
|
* 计算总价
|
*/
|
getTotalPrice() {
|
|
},
|
|
|
bindTextAreaBlur(event) {
|
var value = event.detail.value;
|
this.setData({
|
txtContent: value,
|
});
|
},
|
|
|
// 支付
|
startPayment() {
|
|
|
var _this = this;
|
if (!_this.data.address) {
|
wx.showToast({
|
title: "请选择收货地址",
|
icon: "none"
|
});
|
return;
|
}
|
|
|
wx.showLoading({
|
title: '加载中',
|
mask: true,
|
duration: 2000
|
});
|
|
util.buttonClicked(this);
|
|
var goods = this.data.goodsList[0];
|
var couponReceiveId = _this.data.couponReceiveId;
|
|
let gpId = _this.data.orderMsg.currentGrooupPrice.id;
|
let actId = _this.data.orderMsg.currentGrooupPrice.actId;
|
|
|
|
var sendData = {
|
actId: actId, //活动id
|
gpId: gpId, //几人团
|
addressId: _this.data.address.addrId, //收货地址ID
|
remarks: _this.data.txtContent,
|
skuId: goods.cartSkuId,
|
productId: goods.cartProductId,
|
count: goods.cartNumber,
|
shopId: app.shopInfo.id,
|
shippingMethod: this.data.deliverySelect,
|
}
|
|
console.log("订单请求参数", sendData)
|
var url = api.groupBuy.createGroupBuy;
|
if (_this.data.orderMsg.gjId) {
|
|
//存在指定团队,则调用加入该团的接口
|
url = api.groupBuy.joinGroupBuy;
|
|
sendData.gjId = _this.data.orderMsg.gjId;
|
}
|
|
util.request({
|
api: url,
|
data: sendData,
|
callback: function(data) {
|
wx.requestPayment({
|
'timeStamp': data.rows[0].timeStamp,
|
'nonceStr': data.rows[0].nonceStr,
|
'package': data.rows[0].prepay_id,
|
'signType': 'MD5',
|
'paySign': data.rows[0].paySign,
|
'success': function(res) {
|
// console.log(res.errMsg)
|
console.log("成功后的回调")
|
console.log(res)
|
if (res.errMsg == 'requestPayment:ok') {
|
// console.log(data.mapInfo.orderId);
|
//成功后的回调;
|
util.request({
|
method: "GET",
|
api: '/wxapi/shopOrder/findOrderPayStatus/' + data.mapInfo.orderId,
|
mask: true,
|
callback: function(payRes) {
|
debugger
|
if (payRes.mapInfo.status == 'success') {
|
|
//传输分享数据到订单成功页面
|
var shareData = {
|
id: actId, //活动id
|
gpId: gpId, //几人团
|
shopId: app.shopInfo.id,
|
actId: actId, //活动id
|
title: "[拼团]" + _this.data.goodsList[0].title,
|
imageUrl: _this.data.goodsList[0].imgMobile,
|
gjId:payRes.mapInfo.gjId,
|
|
};
|
|
wx.setStorageSync("shareData", shareData);
|
|
|
wx.redirectTo({
|
url: '../payOrder/paySuccess?showModel=' + payRes.mapInfo.groupBuyStatus,
|
});
|
wx.showToast({
|
title: payRes.mapInfo.msg,
|
icon: 'success'
|
})
|
} else {
|
wx.showToast({
|
title: payRes.mapInfo.msg,
|
duration: 2000,
|
image: "/image/fail.png"
|
})
|
wx.redirectTo({
|
url: '../payOrder/payError',
|
})
|
}
|
}
|
});
|
} else {
|
// console.log("支付失败");
|
wx.redirectTo({
|
url: '../order/order',
|
})
|
}
|
//{errMsg: "requestPayment:ok"}
|
},
|
|
'fail': function(res) {
|
wx.redirectTo({
|
url: '../order/order?status=1',
|
})
|
}
|
});
|
|
|
|
}
|
});
|
},
|
|
|
|
|
|
// 进入收货地址列表
|
goAddress(e) {
|
wx.navigateTo({
|
url: '../editAddress/editAddress?pageScen=2',
|
})
|
},
|
|
|
|
// 进入添加收货地址
|
addAddress() {
|
wx.navigateTo({
|
url: '../editAddress/editAddress?pageScen=2',
|
})
|
},
|
|
//设置地址
|
setAddress(address) {
|
debugger
|
this.setData({
|
"address": address,
|
hasAddress: true
|
});
|
},
|
|
//隐藏弹窗
|
popupTap(e) {
|
this.setData({
|
couponsShow: false,
|
isShow: false
|
})
|
},
|
total(e) {
|
this.setData({
|
isShow: true
|
})
|
},
|
|
|
// 获取默认地址
|
getAddress() {
|
var _this = this;
|
util.request({
|
api: api.address.queryaddress,
|
callback: function(data) {
|
if (data.rows.length != 0) {
|
_this.setData({
|
address: data.rows[0],
|
hasAddress: true
|
});
|
} else {
|
_this.setData({
|
hasAddress: false
|
})
|
}
|
_this.jsjg();
|
|
}
|
});
|
},
|
|
// 不使用优惠券按钮
|
checkedTap: function() {
|
var checked = this.data.checkedValue;
|
var couponReceiveId = this.data.couponReceiveId;
|
if (!checked) {
|
couponReceiveId = 1
|
this.setData({
|
coupons: '不使用优惠券',
|
couponReceiveId: couponReceiveId
|
})
|
}
|
this.setData({
|
checkedValue: !checked,
|
couponsShow: false
|
})
|
this.jsjg();
|
|
|
},
|
|
//优惠券
|
couponsChoice(e) {
|
this.setData({
|
couponsShow: true,
|
isShow: true
|
})
|
},
|
|
|
//优惠券
|
radioCouponsChange(e) {
|
var checked = e.detail.value;
|
var changed = {}
|
|
},
|
//优惠券选择
|
couponsEvent(e) {
|
var _this = this;
|
var coupon = e.currentTarget.dataset.coupon;
|
var index = e.currentTarget.dataset.index;
|
var id = e.currentTarget.dataset.id;
|
var usefulCoupon = _this.data.usefulCoupon;
|
var changed = {};
|
for (var i = 0; i < usefulCoupon.length; i++) {
|
if (i == index) {
|
changed['usefulCoupon[' + i + '].checked'] = true;
|
|
} else {
|
changed['usefulCoupon[' + i + '].checked'] = false
|
}
|
}
|
_this.setData(changed)
|
_this.setData({
|
coupons: coupon.cName,
|
couponsShow: false,
|
isShow: false,
|
couponReceiveId: id,
|
checkedValue: false
|
})
|
|
this.jsjg();
|
},
|
|
|
|
|
})
|