绚火健康
This commit is contained in:
249
pages/mall/details/details.js
Normal file
249
pages/mall/details/details.js
Normal file
@@ -0,0 +1,249 @@
|
||||
/*
|
||||
* 手太欠
|
||||
* 愿这世界都如故事里一样 美好而动人~
|
||||
*/
|
||||
|
||||
Page({
|
||||
|
||||
/**
|
||||
* 页面的初始数据
|
||||
*/
|
||||
data: {
|
||||
isFixedTop : 0,
|
||||
barHeight : getApp().globalData.barHeight, // 状态栏高度
|
||||
goodsId : '', // 商品id
|
||||
goodsData : '', // 商品数据
|
||||
mallContent : '', // 商品详情
|
||||
skus : [], // 显示的规格-提交
|
||||
skuid : '',
|
||||
specselect : '', // 确认购买的规格
|
||||
selectSkusValues: '', // 默认选项
|
||||
valueId : '', // 选中规格id
|
||||
valueIndex : '', // 选中规格下标index
|
||||
specselectIndex : '',
|
||||
qtyNumber : 1, // 产品数量
|
||||
goodsSize : false
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面加载
|
||||
*/
|
||||
onLoad(options) {
|
||||
this.setData({
|
||||
goodsId: options.id
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面显示
|
||||
*/
|
||||
onShow() {
|
||||
// 获取商品详情
|
||||
this.goodsInfo();
|
||||
},
|
||||
|
||||
/**
|
||||
* 商品详情
|
||||
*/
|
||||
goodsInfo() {
|
||||
wx.$api.mall.goodsSee(this.data.goodsId).then(res => {
|
||||
console.log(res.data)
|
||||
this.setData({
|
||||
goodsData : res.data,
|
||||
mallContent : res.data.content.replace(/\<img/gi, '<img style="max-width:100%;height:auto;display:block;"'),
|
||||
skus : res.data.skus,
|
||||
skuid : res.data.skus[0].sku_id,
|
||||
selectSkusValues: res.data.skus[0],
|
||||
specselect : res.data.skus[0].unit.split('|')
|
||||
})
|
||||
}).catch(err =>{})
|
||||
},
|
||||
|
||||
/**
|
||||
* 选规格
|
||||
*/
|
||||
selectSize(e) {
|
||||
this.setData({
|
||||
qtyNumber: 1
|
||||
})
|
||||
let valueid = e.currentTarget.dataset.valueid,
|
||||
index = e.currentTarget.dataset.index
|
||||
var temp1 = 'specselect['+index+']'
|
||||
this.setData({
|
||||
[temp1]: valueid
|
||||
})
|
||||
let newlist = []
|
||||
let str = ''
|
||||
for (var i in this.data.specselect) {
|
||||
if (i == index) {
|
||||
newlist.push(valueid);
|
||||
if (i == 0) {
|
||||
str = valueid
|
||||
} else {
|
||||
str = str + '|' + valueid
|
||||
}
|
||||
} else {
|
||||
newlist.push(this.data.specselect[i])
|
||||
if (i == 0) {
|
||||
str = this.data.specselect[i]
|
||||
} else {
|
||||
str = str + '|' + this.data.specselect[i]
|
||||
}
|
||||
}
|
||||
}
|
||||
for (var i in this.data.skus) {
|
||||
if (this.data.skus[i].unit == str) {
|
||||
this.setData({
|
||||
selectSkusValues: this.data.skus[i]
|
||||
})
|
||||
break;
|
||||
}
|
||||
}
|
||||
this.setData({
|
||||
specselect: newlist
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* 产品数量加减
|
||||
*/
|
||||
goodsNumber(e){
|
||||
let num = this.data.qtyNumber,
|
||||
val = e.currentTarget.dataset.type,
|
||||
stock = this.data.selectSkusValues.stock
|
||||
if (val == 'plus'){
|
||||
num ++;
|
||||
if(num > stock) {
|
||||
wx.showToast({
|
||||
title : '商品数量不能大于库存量',
|
||||
icon : 'none'
|
||||
})
|
||||
this.setData({
|
||||
qtyNumber: stock
|
||||
})
|
||||
} else {
|
||||
this.setData({
|
||||
qtyNumber: num
|
||||
})
|
||||
}
|
||||
|
||||
}else{
|
||||
if (num > 1){
|
||||
num --;
|
||||
if(num < this.data.qtyNumber) {
|
||||
this.setData({
|
||||
qtyNumber: num
|
||||
})
|
||||
}
|
||||
}else{
|
||||
wx.showToast({
|
||||
title : '商品数量不能小于1',
|
||||
icon : 'none'
|
||||
})
|
||||
}
|
||||
this.setData({
|
||||
qtyNumber: num
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* 规格弹出
|
||||
*/
|
||||
buyPop() {
|
||||
this.setData({
|
||||
goodsSize: !this.data.goodsSize
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* 规格关闭
|
||||
*/
|
||||
closeTap() {
|
||||
this.setData({
|
||||
goodsSize: false
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* 确认购买
|
||||
*/
|
||||
buyTap() {
|
||||
// 获取登录状态
|
||||
if(wx.getStorageSync("token") != ''){
|
||||
let {
|
||||
sku_id,
|
||||
stock
|
||||
} = this.data.selectSkusValues;
|
||||
if (stock > 0) {
|
||||
this.setData({
|
||||
skuid: sku_id,
|
||||
goodsSize: false
|
||||
})
|
||||
wx.navigateTo({
|
||||
url: '/pages/mall/confirm/confirm?skuId=' + sku_id + '&qty=' + this.data.qtyNumber
|
||||
})
|
||||
} else {
|
||||
uni.showToast({
|
||||
title: '当前商品库存不足',
|
||||
icon: 'none',
|
||||
mask: true,
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
|
||||
}else{
|
||||
// 去登录
|
||||
wx.navigateTo({
|
||||
url: "/pages/login/index"
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* 监听页面滑动事件
|
||||
*/
|
||||
onPageScroll(e) {
|
||||
this.setData({
|
||||
isFixedTop: parseInt(e.scrollTop)
|
||||
});
|
||||
},
|
||||
|
||||
/**
|
||||
* 返回上一页
|
||||
*/
|
||||
returnGo() {
|
||||
wx.navigateBack({
|
||||
delta: 1,
|
||||
fail: () => {
|
||||
wx.switchTab({
|
||||
url: '/pages/mall/index?invite=' + getApp().globalData.inviteText
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* 回到首页
|
||||
*/
|
||||
returnHome() {
|
||||
wx.switchTab({
|
||||
url: '/pages/mall/index?invite=' + getApp().globalData.inviteText
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* 放大轮播相册图片
|
||||
*/
|
||||
opneBanner(e){
|
||||
let imgs = [],
|
||||
index = e.currentTarget.dataset.index
|
||||
for (let img of e.currentTarget.dataset.imgs){
|
||||
imgs.push(img)
|
||||
}
|
||||
wx.previewImage({
|
||||
urls : imgs,
|
||||
current : imgs[index]
|
||||
})
|
||||
}
|
||||
})
|
||||
Reference in New Issue
Block a user