160 lines
4.3 KiB
JavaScript
Executable File
160 lines
4.3 KiB
JavaScript
Executable File
// pages/shop/product/goodsdetail.js
|
|
const app = getApp()
|
|
Page({
|
|
|
|
/**
|
|
* 页面的初始数据
|
|
*/
|
|
data: {
|
|
shopId: '', //商店ID
|
|
goodsId: '', //商品ID
|
|
picList: [], //商品
|
|
goodsDetail: null, //商品详情Bean
|
|
goodsPrices: 10000,
|
|
_options: null,
|
|
isShowCart: false,
|
|
shopCart: [],
|
|
baseImg: app.urls.baseImgUrl
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面加载
|
|
*/
|
|
onLoad: function (options) {
|
|
this.setData({
|
|
_options: options,
|
|
shopId: options.shopId,
|
|
goodsId: options.goodsId,
|
|
shopCart: app.globalData.shopCart
|
|
})
|
|
console.log(this.data.baseImg)
|
|
this.getGoodsDetail()
|
|
},
|
|
//获取商品详情
|
|
getGoodsDetail() {
|
|
wx.showLoading({
|
|
title: '加载中...',
|
|
})
|
|
let _self = this
|
|
app.restAjax.get(app.restAjax.path(app.restAjax.apis.getGoodsDetail, [app.restAjax.baseUrl.tradeUrl, _self.data.goodsId]), {}, {
|
|
headers: {
|
|
token: app.globalData.token
|
|
}
|
|
}, (code, data) => {
|
|
wx.hideLoading({})
|
|
if (code == 200) {
|
|
_self.buildPicList(data)
|
|
_self.setData({
|
|
goodsDetail: data
|
|
})
|
|
}
|
|
}, (code, err) => {
|
|
wx.hideLoading({})
|
|
if (err.msg) {
|
|
app.dialog.msg(err.msg)
|
|
} else {
|
|
wx.showToast({
|
|
title: '网络错误',
|
|
icon: 'error'
|
|
})
|
|
}
|
|
})
|
|
},
|
|
//构建图片数据
|
|
buildPicList(data) {
|
|
let _self = this
|
|
let picStrs = data.goodsPhotos.split(',')
|
|
picStrs.forEach(it => {
|
|
let url = _self.data.baseImg + it
|
|
_self.data.picList = _self.data.picList.concat(url)
|
|
})
|
|
_self.setData({
|
|
picList: _self.data.picList
|
|
})
|
|
},
|
|
|
|
onShow() {
|
|
this.setData({
|
|
shopCart: app.globalData.shopCart
|
|
})
|
|
this.selectComponent('#sCart').refreshCart()
|
|
},
|
|
//显示购物车弹框
|
|
doShowCart() {
|
|
if (this.data.shopCart.length > 0) {
|
|
this.setData({
|
|
isShowCart: true
|
|
})
|
|
} else {
|
|
wx.showToast({
|
|
title: '购物车空空如也',
|
|
icon: 'error'
|
|
})
|
|
}
|
|
},
|
|
//隐藏购物车弹框
|
|
onHideCart() {
|
|
this.setData({
|
|
isShowCart: false
|
|
})
|
|
},
|
|
//删除购物车中的商品
|
|
delGoods(e) {
|
|
let _self = this
|
|
var index = e.currentTarget.dataset.index
|
|
var goods = e.currentTarget.dataset.goods
|
|
app.globalData.shopCart.splice(index, 1)
|
|
//删除购物车中数据
|
|
_self.selectComponent('#sCart').refreshCart()
|
|
//将列表中的数据购买数量重置
|
|
_self.data.goodsList.forEach(it => {
|
|
if (it.goodsId == goods.goodsId) {
|
|
it.buyNum = 0
|
|
}
|
|
})
|
|
_self.setData({
|
|
goodsList: _self.data.goodsList,
|
|
shopCart: app.globalData.shopCart
|
|
})
|
|
if (_self.data.shopCart.length <= 0) {
|
|
_self.setData({
|
|
isShowCart: false
|
|
})
|
|
}
|
|
},
|
|
//购物车弹框删除或添加商品
|
|
onChange(e) {
|
|
let buyNum = e.detail
|
|
let goods = e.currentTarget.dataset.goods
|
|
let _self = this
|
|
//遍历列表
|
|
_self.data.goodsList.forEach(it => {
|
|
if (it.goodsId == goods.goodsId) {
|
|
it.buyNum = buyNum
|
|
}
|
|
})
|
|
//遍历购物车
|
|
_self.data.shopCart.forEach(it => {
|
|
if (it.goodsId == goods.goodsId) {
|
|
it.buyNum = buyNum
|
|
}
|
|
})
|
|
//刷新视图
|
|
_self.setData({
|
|
goodsList: _self.data.goodsList,
|
|
shopCart: _self.data.shopCart
|
|
})
|
|
//刷新购物车
|
|
_self.selectComponent('#sCart').refreshCart()
|
|
},
|
|
onHide() {
|
|
this.setData({
|
|
isShowCart: false
|
|
})
|
|
},
|
|
doRefreshShopcart() {
|
|
this.setData({
|
|
shopCart: app.globalData.shopCart
|
|
})
|
|
}
|
|
}) |