Files
xuan_wechat/pages/mall/confirm/confirm.js
2023-10-11 15:03:27 +08:00

109 lines
3.0 KiB
JavaScript

/*
* 手太欠
* 愿这世界都如故事里一样 美好而动人~
*/
Page({
/**
* 页面的初始数据
*/
data: {
disabled : true, //按钮
skuId : '',
goodsQty : '', // 产品数量
address : '', // 地址
goodskData : '', // 数据
amount : '', // 商品总金额
total : '', // 支付金额
freight : '', // 运费
weight : '', // 重量
distribution : [
{ type: 2, title: "请选择配送方式" },
{ type: 0, title: "快递" },
{ type: 1, title: "自提" },
],
distributionIndex: 0,
distributionType : 2,
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
this.setData({
goodsQty: options.qty,
skuId : options.skuId
})
// 获取商品下单信息
this.placeInfo(options.skuId, options.qty);
},
/**
* 配送方式选择
*/
distributionChange(e){
if(e.detail.value === this.data.distributionIndex) return
this.setData({
distributionIndex : e.detail.value,
distributionType : this.data.distribution[e.detail.value].type
})
this.placeInfo(this.data.skuId, this.data.goodsQty);
},
/**
* 商品下单信息
*/
placeInfo(skuid, qty, type) {
wx.showLoading({
title: '加载中...',
mask : true
})
wx.$api.mall.place({
goods_sku_id : skuid,
qty : qty,
address_id : this.data.address.address_id || '',
delivery_type: this.data.distributionIndex
}).then(res => {
if(type != 'chooseAdd'){
this.setData({
address: res.data.address,
})
}
this.setData({
goodskData: res.data.detail,
amount : res.data.amount,
total : res.data.total,
freight : res.data.freight,
weight : res.data.weight
})
wx.hideLoading()
}).catch(err =>{})
},
/**
* 商品确认下单
*/
buyTap() {
if(this.data.distributionIndex == 0){
wx.showToast({
title: '请选择配送方式',
icon : 'none'
})
return
}
wx.showLoading({
title: '下单中...',
mask : true
})
wx.$api.mall.placeTrue({
goods_sku_id : this.data.skuId,
qty : this.data.goodsQty,
address_id : this.data.address.address_id,
delivery_type : this.data.distributionType
}).then(res => {
wx.redirectTo({
url: '/pages/pay/index?params=' + encodeURIComponent(JSON.stringify(res.data))
})
wx.hideLoading()
}).catch(() =>{}).finally(() => {})
},
})