[水感应客户端最新]

This commit is contained in:
2023-06-21 17:14:39 +08:00
commit b3b4d4dae7
187 changed files with 12997 additions and 0 deletions

View File

@@ -0,0 +1,220 @@
/*
* 手太欠
* 愿这世界都如故事里一样 美好而动人~
*/
Page({
data: {
goods_id : '', // 店铺id
goods_sku : '', // 产品id
goods_qty : '', // 产品数量
address : '', // 地址
addressId : '', // 地址id
goodskData : '', // 数据
amount : '', // 总金额
freight : '', // 运费
weight : '', // 重量
disabled : true,//按钮
paySuccess : false, // 兑换成功显示
maxcoupon : '', //拥有兑换券数量
coupon_qty : 1, //兑换券数量
checked : false//兑换券
},
onLoad(options) {
this.setData({
goods_id : options.goodsid,
goods_sku : options.skuid,
goods_qty : options.qty
})
},
onShow() {
// 获取下单信息
this.confirmInfo()
},
/**
* 产品下单信息
*/
confirmInfo (){
wx.$api.mall.mallPlace({
goods_sku_id: this.data.goods_sku,
address_id: this.data.addressId,
qty: this.data.goods_qty
}).then(res => {
this.setData({
address : res.data.address,
addressId : res.data.address.address_id,
goodskData: res.data.detail,
amount : res.data.amount,
freight : res.data.freight,
weight : res.data.weight,
maxcoupon : res.data.couponCount
})
// 计算总价格
this.totalPrice()
}).catch(err => { })
},
/**
* 产品数量加减
*/
goodsNumber(e){
let num = this.data.goods_qty,
val = e.currentTarget.dataset.type
if (val == 'plus'){
num ++;
}else{
if (num > 1){
num --;
if(num < this.data.coupon_qty) {
this.setData({
coupon_qty: num
})
}
}else{
wx.showToast({
title : '商品数量不能小于1',
icon : 'none'
})
}
this.setData({
goods_qty: num
})
}
this.setData({
goods_qty: num
})
// 计算总价格
this.totalPrice()
},
/**
* 是否使用兑换券
*/
checkedTap() {
this.setData({
checked: !this.data.checked
})
// 计算总价格
this.totalPrice()
},
/**
* 兑换券数量加减
*/
couponNumber(e){
let minVal = Math.min(this.data.goods_qty, this.data.maxcoupon)
let num = this.data.coupon_qty,
val = e.currentTarget.dataset.type
if (val == 'plus'){
if(num >= minVal){
this.setData({
coupon_qty: minVal
})
wx.showToast({
title: '兑换券数量超出产品数量或兑换券不足',
icon : 'none'
})
return
}
num ++;
}else{
if (num > 1){
num --;
}else{
wx.showToast({
title : '兑换券数量不能小于1',
icon : 'none'
})
}
this.setData({
coupon_qty: num
})
}
this.setData({
coupon_qty: num
})
// 计算总价格
this.totalPrice()
},
/**
* 计算总价格
*/
totalPrice() {
let couponQty = this.data.coupon_qty
let goodNum = this.data.goods_qty
let goodPrice = this.data.goodskData[0].items[0].price
let freight = this.data.freight
let totalPrice = 0
totalPrice = this.data.checked ?
(goodNum - couponQty) * goodPrice :
goodNum * goodPrice
if(freight > 0) totalPrice += freight
this.setData({
amount: totalPrice
})
},
/**
* 产品确认购买
*/
buyTap() {
wx.showLoading({
title: '加载中...',
})
let that = this
let data = {
goods_sku_id: this.data.goods_sku,
qty : this.data.goods_qty,
address_id : this.data.addressId,
use_coupon : this.data.checked,
coupon_qty : this.data.coupon_qty
}
wx.$api.mall.mallAffirm(data).then(res => {
this.setData({
disabled: false
})
wx.hideLoading()
if(res.data.can_pay) {
wx.redirectTo({
url: '/pages/pay/index?order_no=' + res.data.order_no + '&total=' + res.data.total
})
return
}
wx.showToast({
title: '支付成功',
icon: 'none',
duration: 2000,
//显示透明蒙层,防止触摸穿透
mask:true,
success: function () {
that.setData({
paySuccess: true
})
setTimeout(()=>{
wx.redirectTo({
url: '/pages/order/index?state=paid'
})
},3000)
}
})
}).catch(err => {
this.setData({
disabled: true
})
})
}
})