| | |
| | | // pages/cart/index.js |
| | | const app = getApp(); |
| | | // import { getPublicImage } from '@/assets/js/middleGround/tool.js' |
| | | import { getPublicImage } from '../../assets/js/middleGround/tool'; |
| | | |
| | | Page({ |
| | | |
| | | /** |
| | | * 页面的初始数据 |
| | | */ |
| | | data: { |
| | | |
| | | imgUrl: [], |
| | | shoppingCartData: [], |
| | | checkAll: false, |
| | | checkedList: [], |
| | | selectedCount: 0, |
| | | totalPrice: 0.00 |
| | | }, |
| | | |
| | | /** |
| | | * 生命周期函数--监听页面加载 |
| | | */ |
| | | onLoad(options) { |
| | | |
| | | wx.setNavigationBarTitle({ |
| | | title: '购物车' |
| | | }); |
| | | this.shoppingCartGet(); |
| | | }, |
| | | |
| | | /** |
| | | * 生命周期函数--监听页面初次渲染完成 |
| | | */ |
| | | onReady() { |
| | | |
| | | onDelete(e) { |
| | | const item = e.currentTarget.dataset.item; |
| | | app.MG.store.delShoppingCart({ |
| | | ids: [item.id] |
| | | }).then(res => { |
| | | this.shoppingCartGet(); |
| | | wx.showToast({ title: '你点击了删除', icon: 'none' }); |
| | | }); |
| | | }, |
| | | |
| | | /** |
| | | * 生命周期函数--监听页面显示 |
| | | */ |
| | | onShow() { |
| | | shoppingCartGet() { |
| | | let query = { |
| | | start: 0, |
| | | size: 999, |
| | | filterList: [], |
| | | searchList: [] |
| | | }; |
| | | app.MG.store.getShoppingCartProductList(query).then(res => { |
| | | res.datas.forEach(item => { |
| | | item.imgUrl = getPublicImage(item.productMonWithLinkDto.product.icon, '', '160'); |
| | | }); |
| | | |
| | | this.setData({ |
| | | shoppingCartData: res.datas |
| | | }); |
| | | }); |
| | | }, |
| | | |
| | | /** |
| | | * 生命周期函数--监听页面隐藏 |
| | | */ |
| | | onHide() { |
| | | |
| | | bottomChange(e) { |
| | | const checked = e.detail.value.length > 0; |
| | | const items = this.data.shoppingCartData.map(item => { |
| | | item.checked = checked; |
| | | return item; |
| | | }); |
| | | this.setData({ |
| | | shoppingCartData: items, |
| | | checkAll: checked |
| | | }); |
| | | this.calculateSelectedCount(); |
| | | this.calculateTotalPrice(); |
| | | }, |
| | | |
| | | /** |
| | | * 生命周期函数--监听页面卸载 |
| | | */ |
| | | onUnload() { |
| | | HandelItemChange(e) { |
| | | const { item } = e.target.dataset; |
| | | const items = this.data.shoppingCartData |
| | | items.map(eitem => { |
| | | if (eitem.id == item.id) { |
| | | eitem.checked = e.detail.checked |
| | | } |
| | | |
| | | |
| | | }) |
| | | const data = items.filter(item => item.checked) |
| | | const checkAll = data.length == this.data.shoppingCartData.length |
| | | |
| | | this.setData({ |
| | | shoppingCartData: items, |
| | | checkAll |
| | | }); |
| | | this.calculateSelectedCount(); |
| | | this.calculateTotalPrice(); |
| | | }, |
| | | |
| | | /** |
| | | * 页面相关事件处理函数--监听用户下拉动作 |
| | | */ |
| | | onPullDownRefresh() { |
| | | |
| | | calculateSelectedCount() { |
| | | const selectedItems = this.data.shoppingCartData.filter(item => item.checked); |
| | | const selectedCount = selectedItems.length; |
| | | this.setData({ |
| | | selectedCount |
| | | }); |
| | | }, |
| | | |
| | | /** |
| | | * 页面上拉触底事件的处理函数 |
| | | */ |
| | | onReachBottom() { |
| | | |
| | | calculateTotalPrice() { |
| | | const selectedItems = this.data.shoppingCartData.filter(item => item.checked); |
| | | const totalPrice = selectedItems.reduce((total, item) => total + parseFloat(item.saleMethod.price), 0); |
| | | this.setData({ |
| | | totalPrice: totalPrice.toFixed(2) |
| | | }); |
| | | }, |
| | | goPaymentPage() { |
| | | |
| | | /** |
| | | * 用户点击右上角分享 |
| | | */ |
| | | onShareAppMessage() { |
| | | |
| | | const selectedItems = this.data.shoppingCartData.filter(item => item.checked); |
| | | console.log(selectedItems, 789); |
| | | const selectedIds = selectedItems.map(item => item.id); |
| | | console.log('选中的商品 id:', selectedIds); |
| | | |
| | | app.MG.store.shoppingCartCreateOrder({ linkIds: selectedIds }).then(res => { |
| | | console.log(res.orderNumber, 456); |
| | | const url = '/pages/cart/paymentPage/index?orderNumber=' + res.orderNumber |
| | | wx.navigateTo({ |
| | | url |
| | | }); |
| | | |
| | | |
| | | }) |
| | | |
| | | |
| | | } |
| | | }) |
| | | }); |