| | |
| | | const app = getApp(); |
| | | // import { getPublicImage } from '@/assets/js/middleGround/tool.js' |
| | | import { getPublicImage } from '../../assets/js/middleGround/tool'; |
| | | import { |
| | | loginInfo |
| | | } from '../../assets/js/login'; |
| | | import { |
| | | getPublicImage |
| | | } from '../../assets/js/middleGround/tool'; |
| | | import Toast from 'tdesign-miniprogram/toast/index'; |
| | | |
| | | |
| | | Page({ |
| | | data: { |
| | | loading: true, |
| | | hidden: true, |
| | | swipeOpened: false, |
| | | onDisabled: false, |
| | | imgUrl: [], |
| | | shoppingCartData: [], |
| | | checkAll: false, |
| | | checkedList: [], |
| | | selectedCount: 0, |
| | | totalPrice: 0.00, |
| | | type: '' |
| | | type: '', |
| | | start: 1, |
| | | totalSize: '', |
| | | isMore: null, |
| | | bookId: '', |
| | | bookName: '' |
| | | }, |
| | | |
| | | onLoad(options) { |
| | |
| | | title: '购物车' |
| | | }); |
| | | this.shoppingCartGet(); |
| | | |
| | | this.setData({ |
| | | swipeOpened: true |
| | | }) |
| | | }, |
| | | onShow() { |
| | | this.setData({ |
| | | swipeOpened: false |
| | | }) |
| | | if (typeof this.getTabBar === 'function' && this.getTabBar()) { |
| | | this.getTabBar().setData({ |
| | | active: 3 |
| | | }) |
| | | } |
| | | this.shoppingCartGet(); |
| | | this.setData({ totalPrice: 0.00, selectedCount: 0, checkAll: false, }) |
| | | |
| | | this.setData({ |
| | | totalPrice: 0.00, |
| | | selectedCount: 0, |
| | | checkAll: false, |
| | | }) |
| | | }, |
| | | |
| | | |
| | | onDelete(e) { |
| | | const item = e.currentTarget.dataset.item; |
| | | app.MG.store.delShoppingCart({ |
| | | ids: [item.id] |
| | | }).then(res => { |
| | | this.shoppingCartGet(); |
| | | wx.showToast({ title: '你点击了删除', icon: 'none' }); |
| | | wx.showToast({ |
| | | title: '删除图书成功', |
| | | icon: 'none' |
| | | }); |
| | | this.setData({ |
| | | totalPrice: 0.00, |
| | | selectedCount: 0, |
| | | checkAll: false, |
| | | }) |
| | | }); |
| | | }, |
| | | |
| | | shoppingCartGet() { |
| | | let query = { |
| | | start: 0, |
| | | size: 999, |
| | | size: this.data.start * 4, |
| | | filterList: [], |
| | | searchList: [] |
| | | }; |
| | | app.MG.store.getShoppingCartProductList(query).then(res => { |
| | | console.log(res, 'res'); |
| | | res.datas.forEach(item => { |
| | | item.imgUrl = getPublicImage(item.productMonWithLinkDto.product.icon, '', '160'); |
| | | console.log(item); |
| | | console.log(item.saleMethod.type, 'item.saleMethod.type') |
| | | this.setData({ |
| | | type: item.saleMethod.type == 'createProductItemSaleMethod' ? 'item' : 'product' |
| | | }) |
| | | |
| | | this.setData({ |
| | | totalSize: res.totalSize |
| | | }) |
| | | res.datas.forEach(item => { |
| | | this.setData({ |
| | | bookId: res.id, |
| | | bookName: res.name |
| | | }) |
| | | item.imgUrl = getPublicImage(item.productMonWithLinkDto.product.icon, '', '160'); |
| | | // this.setData({ |
| | | // type: item.saleMethod.type == 'createProductItemSaleMethod' ? 'item' : 'product' |
| | | // }) |
| | | const type = item.saleMethod.type == 'createProductItemSaleMethod' ? 'item' : 'product'; |
| | | item.type = type; // 将type设置为item对象的属性,而不是使用setData |
| | | |
| | | item.name = item.linkCmsItems[0].name ? item.productMonWithLinkDto.product.name + ':' + item.linkCmsItems[0].name : item.productMonWithLinkDto.product.name |
| | | }); |
| | | |
| | | this.setData({ |
| | | shoppingCartData: res.datas |
| | | }); |
| | | if (this.data.shoppingCartData.length === 0) { |
| | | this.setData({ |
| | | onDisabled: true |
| | | }) |
| | | } else { |
| | | this.setData({ |
| | | onDisabled: false |
| | | }) |
| | | } |
| | | this.setData({ |
| | | loading: false, |
| | | hidden: false, |
| | | }) |
| | | }); |
| | | wx.stopPullDownRefresh() |
| | | |
| | | }, |
| | | |
| | | bottomChange(e) { |
| | |
| | | }, |
| | | |
| | | HandelItemChange(e) { |
| | | const { item } = e.target.dataset; |
| | | const { |
| | | item |
| | | } = e.target.dataset; |
| | | const items = this.data.shoppingCartData |
| | | items.map(eitem => { |
| | | if (eitem.id == item.id) { |
| | |
| | | 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); |
| | | if (selectedIds.length) { |
| | | app.MG.store.shoppingCartCreateOrder({ linkIds: selectedIds }).then(res => { |
| | | console.log(res, 456); |
| | | const url = '/pages/cart/paymentPage/index?orderNumber=' + res.orderNumber |
| | | wx.navigateTo({ |
| | | url |
| | | }); |
| | | |
| | | // 首页测试登录功能,后续注释 |
| | | // 检查登录状态 |
| | | const token = wx.getStorageSync(app.config.tokenKey) |
| | | if (!token) { |
| | | loginInfo(app, (data) => { |
| | | // 如果不是第一次登录,会执行回调 |
| | | if (data) { |
| | | const selectedItems = this.data.shoppingCartData.filter(item => item.checked); |
| | | // console.log(selectedItems, 789); |
| | | const selectedIds = selectedItems.map(item => item.id); |
| | | console.log('选中的商品 id:', selectedIds); |
| | | if (selectedIds.length) { |
| | | let data = { |
| | | linkIds: selectedIds |
| | | } |
| | | // '&onNorderSaleMethod=' + |
| | | app.MG.store.shoppingCartCreateOrder(data).then(res => { |
| | | |
| | | const url = '/pages/cart/paymentPage/index?orderNumber=' + res.orderNumber |
| | | wx.navigateTo({ |
| | | url |
| | | }); |
| | | }) |
| | | } else { |
| | | Toast({ |
| | | context: this, |
| | | selector: '#t-toast', |
| | | message: '请选择商品', |
| | | theme: 'warning', |
| | | direction: 'column', |
| | | }); |
| | | } |
| | | } else { |
| | | // 出现错误,返回false |
| | | } |
| | | }) |
| | | } else { |
| | | Toast({ |
| | | context: this, |
| | | selector: '#t-toast', |
| | | message: '请选择商品', |
| | | theme: 'warning', |
| | | direction: 'column', |
| | | }); |
| | | const selectedItems = this.data.shoppingCartData.filter(item => item.checked); |
| | | // console.log(selectedItems, 789); |
| | | const selectedIds = selectedItems.map(item => item.id); |
| | | console.log('选中的商品 id:', selectedIds); |
| | | if (selectedIds.length) { |
| | | let data = { |
| | | linkIds: selectedIds |
| | | } |
| | | app.MG.store.shoppingCartCreateOrder(data).then(res => { |
| | | console.log(res.saleMethodLinks[0].orderSaleMethod.id, 'ressss798'); |
| | | const url = '/pages/cart/paymentPage/index?orderNumber=' + res.orderNumber + '&onNorderSaleMethod=' + res.saleMethodLinks[0].orderSaleMethod.id |
| | | wx.navigateTo({ |
| | | url |
| | | }); |
| | | }) |
| | | } else { |
| | | Toast({ |
| | | context: this, |
| | | selector: '#t-toast', |
| | | message: '请选择商品', |
| | | theme: 'warning', |
| | | direction: 'column', |
| | | }); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | }, |
| | | onLogin() { |
| | | wx.navigateTo({ |
| | | url: '/pages/testLogin/index' |
| | | }); |
| | | }, |
| | | |
| | | |
| | | onScrollToLower() { |
| | | if (this.data.shoppingCartData.length < this.data.totalSize) { |
| | | this.setData({ |
| | | isMore: true, |
| | | start: this.data.start + 1 |
| | | }) |
| | | this.shoppingCartGet() |
| | | } else { |
| | | this.setData({ |
| | | isMore: true, |
| | | }) |
| | | setTimeout(() => { |
| | | this.setData({ |
| | | isMore: false |
| | | }) |
| | | console.log('300'); |
| | | }, 300) |
| | | } |
| | | }, |
| | | // 下拉函数 |
| | | onPullDownRefresh() { |
| | | |
| | | this.setData({ |
| | | start: 1, |
| | | checkAll: false, |
| | | selectedCount: 0, |
| | | totalPrice: 0.00, |
| | | }) |
| | | console.log(978); |
| | | this.shoppingCartGet() |
| | | }, |
| | | async onBook(e) { |
| | | const item = e.currentTarget.dataset.item |
| | | console.log(item); |
| | | let parentData = null; |
| | | parentData = await app.MG.store.getProductBySaleMethod({ |
| | | 'saleMethodId': item.saleMethod.id |
| | | }) |
| | | console.log(parentData) |
| | | let bookId = item.productMonWithLinkDto.product.id; |
| | | if (parentData.parentProduct.length > 0) { |
| | | bookId = parentData.parentProduct[parentData.parentProduct.length - 1].id; |
| | | } |
| | | wx.navigateTo({ |
| | | url: '/packageBookService/pages/bookServices/detail/index?id=' + bookId + '&name=' + item.productMonWithLinkDto.product.name |
| | | }) |
| | | } |
| | | }); |
| | | }); |