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(); }, onDelete(e) { const item = e.currentTarget.dataset.item; app.MG.store.delShoppingCart({ ids: [item.id] }).then(res => { this.shoppingCartGet(); wx.showToast({ title: '你点击了删除', icon: 'none' }); }); }, 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 }); }); }, 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(); }, 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(); }, calculateSelectedCount() { const selectedItems = this.data.shoppingCartData.filter(item => item.checked); const selectedCount = selectedItems.length; this.setData({ selectedCount }); }, 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() { 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 }); }) } });