From 04c7b0163caeae4ab1c5da62e301fa993101cfad Mon Sep 17 00:00:00 2001 From: 闫增涛 <1829501689@qq.com> Date: 星期一, 31 三月 2025 10:40:45 +0800 Subject: [PATCH] bug修改 --- pages/cart/index.js | 284 ++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 261 insertions(+), 23 deletions(-) diff --git a/pages/cart/index.js b/pages/cart/index.js index db4d31b..4a4ceb1 100644 --- a/pages/cart/index.js +++ b/pages/cart/index.js @@ -1,50 +1,177 @@ 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: { + price: '', + loading: true, + hidden: true, + swipeOpened: false, + onDisabled: false, imgUrl: [], shoppingCartData: [], checkAll: false, checkedList: [], selectedCount: 0, - totalPrice: 0.00 + totalPrice: 0.00, + type: '', + start: 1, + totalSize: '', + isMore: null, + bookId: '', + bookName: '' }, onLoad(options) { wx.setNavigationBarTitle({ title: '璐墿杞�' }); - this.shoppingCartGet(); + // this.shoppingCartGet(); + this.setData({ + swipeOpened: true + }) + }, + onShow() { + loginInfo(app, (data) => { + if (data) { + this.shoppingCartGet(); + } else { + wx.switchTab({ + url: '/pages/home/home', + }) + } + }) + this.setData({ + swipeOpened: false + }) + if (typeof this.getTabBar === 'function' && this.getTabBar()) { + this.getTabBar().setData({ + active: 3 + }) + } + this.setData({ + totalPrice: 0.00, + selectedCount: 0, + checkAll: false, + }) }, + // 閲戦鏄剧ず.00鏍煎紡 + numFormat(value) { + if (!value) return "0.00"; + value = Number(value).toFixed(2); + var intPart = Math.trunc(value); // 鑾峰彇鏁存暟閮ㄥ垎 + var intPartFormat = intPart + .toString() + .replace(/(\d)(?=(?:\d{3})+$)/g, "$1,"); // 灏嗘暣鏁伴儴鍒嗛�笁涓�鏂� + var floatPart = ".00"; // 棰勫畾涔夊皬鏁伴儴鍒� + var value2Array = value.split("."); + // =2琛ㄧず鏁版嵁鏈夊皬鏁颁綅 + if (value2Array.length === 2) { + floatPart = value2Array[1].toString(); // 鎷垮埌灏忔暟閮ㄥ垎 + if (floatPart.length === 1) { + return `${intPartFormat}.${floatPart}0`; + } + return `${intPartFormat}.${floatPart}`; + } + return intPartFormat + floatPart; + }, 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.datas); + this.setData({ + totalSize: res.totalSize + }) res.datas.forEach(item => { + this.setData({ + bookId: res.id, + bookName: res.name, + price: item.saleMethod.price.toFixed(2), + }) 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; // 灏唗ype璁剧疆涓篿tem瀵硅薄鐨勫睘鎬э紝鑰屼笉鏄娇鐢╯etData + item.name = item.linkCmsItems[0].name ? item.productMonWithLinkDto.product.name + ':' + item.linkCmsItems[0].name : item.productMonWithLinkDto.product.name + item.saleMethod.price = this.numFormat(item.saleMethod.price) + if (item.productMonWithLinkDto.links[0].storeRefCode == 'jsek_digitalTextbooks') { + item.typeTxt = '鏁板瓧鏁欐潗' + item.productType = "鏁板瓧鏁欐潗" + } else if (item.productMonWithLinkDto.links[0].storeRefCode == 'jsek_digitalCourses') { + item.typeTxt = '鏁板瓧璇剧▼' + item.productType = "鏁板瓧璇剧▼" + } else { + item.typeTxt = '鐢靛瓙涔�' + item.productType = "鍥句功鏈嶅姟-鐢靛瓙涔�" + + if (item.saleMethod.type == 'createProductItemSaleMethod' || item.saleMethod.type == 'createProductFolderSaleMethod') { + if (item.linkCmsItems[0].refCode == 'questionBank') { + item.typeTxt = '浜戞祴璇�' + item.productType = '鍥句功鏈嶅姟-浜戞祴璇�' + } else { + item.typeTxt = '浜戝涔�' + item.productType = "鍥句功鏈嶅姟-浜戝涔�" + } + } + } + // }); this.setData({ shoppingCartData: res.datas }); + if (this.data.shoppingCartData.length === 0) { + this.setData({ + onDisabled: true + }) + } else { + this.setData({ + onDisabled: false + }) + } + setTimeout(() => { + this.setData({ + loading: false, + hidden: false, + }) + }, 600) + }); + wx.stopPullDownRefresh() + }, bottomChange(e) { @@ -62,18 +189,17 @@ }, 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) { 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 @@ -97,24 +223,136 @@ totalPrice: totalPrice.toFixed(2) }); }, + goPaymentPage() { + // 棣栭〉娴嬭瘯鐧诲綍鍔熻兘锛屽悗缁敞閲� + // 妫�鏌ョ櫥褰曠姸鎬� + 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 { + // 鍑虹幇閿欒锛岃繑鍥瀎alse + } + }) + } else { + 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', + }); + } + } - 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 - }); + }, + 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); + const type = item.productMonWithLinkDto.links[0].storeRefCode + let url = '' + if (type == 'jsek_digitalCourses') { + // 璇剧▼ + url = '/pages/digitalCourses/digitalCoursesDetails/index?id=' + item.productMonWithLinkDto.product.id + '&path=' + '' + } else if (type == 'jsek_digitalTextbooks') { + // 鏁板瓧鏁欐潗 + url = '/pages/digitalTextbooks/digitalTextbooksDetails/index?id=' + item.productMonWithLinkDto.product.id + } else { + 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; + } + url = '/packageBookService/pages/bookServices/detail/index?id=' + bookId + '&name=' + item.productMonWithLinkDto.product.name + } + wx.navigateTo({ + url + }) } -}); +}); \ No newline at end of file -- Gitblit v1.9.1