From a2386e559babca48004d45bf885032f470e37f4f Mon Sep 17 00:00:00 2001 From: peng <peng.com> Date: 星期一, 08 九月 2025 15:31:30 +0800 Subject: [PATCH] 移除取消订单按钮 --- pages/commodity-square/commoditySquare.vue | 106 +++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 83 insertions(+), 23 deletions(-) diff --git a/pages/commodity-square/commoditySquare.vue b/pages/commodity-square/commoditySquare.vue index 791daf2..85e0b28 100644 --- a/pages/commodity-square/commoditySquare.vue +++ b/pages/commodity-square/commoditySquare.vue @@ -9,7 +9,8 @@ <view class="banner" style="margin-top: 14rpx;" v-if="bannerList.length>0"> <swiper :indicator-dots="false" :autoplay="true" :interval="3000" :duration="1000" :circular="true" style="width: 100%;height: 160rpx;"> - <swiper-item v-for="item in bannerList" :key="item.id" @click="navigateGoodsInfo(item.skuId,item.goodsId)"> + <swiper-item v-for="item in bannerList" :key="item.id" + @click="navigateGoodsInfo(item.skuId,item.goodsId)"> <view style="width: 100%; display: flex; align-items: center;justify-content: center;"> <image :src="item.showBannerUrl" mode="aspectFill" style="width: 690rpx;height: 150rpx;border-radius: 24rpx;overflow: hidden;"></image> @@ -47,7 +48,7 @@ <view class="goodsName"> <text>{{item.goodsName}}</text> </view> - <view class="goodsContent"> + <view class="goodsContent" style="font-size: 24rpx;"> {{item.sellingPoint}} </view> <view @@ -76,12 +77,23 @@ <view class="settlement">鍘昏喘鐗╄溅缁撶畻</view> </view> --> </view> - <view class="squareFotter" style="width: 750rpx; display: flex;align-items: center; + <view @click="gotoCardList()" class="squareFotter" style="width: 750rpx; display: flex;align-items: center; justify-content: space-between;padding: 0 32rpx;box-sizing: border-box;"> - <view class="icon"> - <text class="iconfont"></text> + <view style="display: flex;align-items: center;justify-content: center;"> + <view class="icon" style="position: relative;"> + <text class="iconfont"></text> + <view style=" height: 36rpx;width:36rpx;display: flex; + align-items: center; + justify-content: center; + background-color: #f9583b;border-radius: 100%; position: absolute; + top: -25rpx; right: -20rpx;color: #fff;font-size: 24rpx;"> + {{priceInfo.num > 99?'路路路':priceInfo.num}} + </view> + </view> + <view style="margin-left: 10rpx;color: #e06c75;font-size: 48rpx;font-weight: bold;"> + 锟{priceInfo.price}}</view> </view> - <view class="settlement" @click="gotoCardList()">鍘荤粨绠�</view> + <view class="settlement">鍘荤粨绠�</view> </view> </view> </template> @@ -110,7 +122,11 @@ }, data() { return { - bannerList:[], + priceInfo: { + price: 0, + num: 0 + }, + bannerList: [], canGoToCarList: false, nums: 10, searchInfo: '', @@ -142,8 +158,7 @@ } }, methods: { - navigateGoodsInfo(skuId,goodsId){ - console.log(skuId,goodsId) + navigateGoodsInfo(skuId, goodsId) { uni.navigateTo({ url: `/pages/product/goods?id=${skuId}&goodsId=${goodsId}` }); @@ -153,8 +168,26 @@ url: '/pages/cusbar/cart/cartList' }) }, - addCardNum(e, id) { - this.goodsList.forEach(item => { + async addCardNum(e, id) { + // this.goodsList.forEach(item => { + // if (item.id === id) { + // if (item.cardNum) { + // item.cardNum++; + // } else { + // item.cardNum = 1; + // } + // this.flushDom = new Date().getMilliseconds(); + // const data = { + // skuId: item.id, + // num: item.cardNum + // } + // await addCard(data) + // await this.getCartList(); + // return; + // } + // }) + for (let i = 0; i < this.goodsList.length; i++) { + const item = this.goodsList[i]; if (item.id === id) { if (item.cardNum) { item.cardNum++; @@ -162,27 +195,27 @@ item.cardNum = 1; } this.flushDom = new Date().getMilliseconds(); - console.log("閫変腑鐨勫晢鍝佷负------------------->", JSON.stringify(item)) const data = { skuId: item.id, num: item.cardNum } - addCard(data) + await addCard(data) + await this.getCartList(); return; } - }) - + } }, - miousCardNum(e, id) { + async miousCardNum(e, id) { for (let i = 0; i < this.goodsList.length; i++) { const item = this.goodsList[i]; if (item.id === id) { if (item.cardNum && item.cardNum > 1) { item.cardNum--; } else { - deleteSkuItem([id]); + await deleteSkuItem([id]); item.cardNum = 0; this.flushDom = new Date().getMilliseconds(); + await this.getCartList(); break; // 閫�鍑烘暣涓惊鐜� } this.flushDom = new Date().getMilliseconds(); @@ -190,7 +223,8 @@ skuId: item.id, num: item.cardNum }; - addCard(data); + await addCard(data); + await this.getCartList(); break; // 閫�鍑烘暣涓惊鐜� } } @@ -275,19 +309,19 @@ this.listHeight1 -= videoHeight; } } - console.log(this[arrName][index].width, this[arrName][index].height) + // console.log(this[arrName][index].width, this[arrName][index].height) this.flushDom = new Date(); }, goToGoodsInfo(id) { const item = this.goodsList.find(item => id === item.id); - console.log(item) + // console.log(item) uni.navigateTo({ url: `/pages/product/goods?id=${item.id}&goodsId=${item.goodsId}` }); }, //瑙﹀簳鑾峰彇鏁版嵁 async loadMoreData() { - console.log("瑙﹀簳鍔犺浇------------銆�", this.maxPages) + // console.log("瑙﹀簳鍔犺浇------------銆�", this.maxPages) if (this.getGoodsParam.pageNumber < this.maxPages) { this.getGoodsParam.pageNumber++; await this.getgoodsData() @@ -308,10 +342,34 @@ async getBannerList() { const bannerList = await getBannerList(); this.bannerList = bannerList.data.data - console.log(this.bannerList) + // console.log(this.bannerList) + }, + async getCartList() { + const cardInfos = await getCarts(); + const cardList = cardInfos.data.result.cartList.flatMap(item => { + return item.skuList.map(sku => { + return (sku.goodsSku.id, { + skuId: sku.goodsSku.id, + num: sku.num, + price: sku.priceDetailDTO.flowPrice + }) + }) + + }) + + this.priceInfo = cardList.reduce((newVal, current) => { + return { + num: newVal.num + current.num, + price: newVal.price + current.price + } + }, { + num: 0, + price: 0 + }) }, async getgoodsData() { const cardInfos = await getCarts(); + // console.log('--------------------->', cardInfos) // 澶勭悊璐墿杞︿俊鎭� let cardMap = new Map(); this.canGoToCarList = cardInfos.data.result.cartList.length > 0 @@ -335,7 +393,7 @@ }) this.goodsList = [...this.goodsList, ...goodsList.data.result.records]; this.maxPages = goodsList.data.result.pages - console.log('this.goodsList----------------------->', JSON.stringify(goodsList.data.result)) + // console.log('this.goodsList----------------------->', JSON.stringify(goodsList.data.result)) }, async chooseCategory(id) { @@ -357,6 +415,7 @@ }, async onLoad() { + await this.getCartList(); // 鑾峰彇鐘舵�佹爮楂樺害 const systemInfo = uni.getSystemInfoSync(); @@ -459,6 +518,7 @@ overflow: hidden; text-overflow: ellipsis; vertical-align: middle; + color: #e7c463; } .goodsPrice { -- Gitblit v1.8.0