tsteam-business-card-card-mini/packagecard/shop/product/goodsdetail.js
2024-02-22 11:04:15 +08:00

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
})
}
})