增加确认订单页面菜品折叠,修改商品购物车数量显示

This commit is contained in:
2025-12-24 14:40:29 +08:00
parent a4580bdd1c
commit e1000c6b40
4 changed files with 101 additions and 41 deletions

View File

@@ -148,8 +148,10 @@
@click.stop="clickspecifications(item, index, index1)">
<text class="t no-wrap" v-if="item.groupType == '1'">选择套餐</text>
<text class="t" v-else>选规格</text>
<!-- <text class="dot num"
v-if="item.cartNumber > 0">{{ ifcartNumber(item) < 99 ? ifcartNumber(item) : '99+' }}</text> -->
<text class="dot num"
v-if="item.cartNumber > 0">{{ ifcartNumber(item) < 99 ? ifcartNumber(item) : '99+' }}</text>
v-if="returnGoodsImCartNum(item)">{{ returnGoodsImCartNum(item) < 99 ? returnGoodsImCartNum(item) : '99+' }}</text>
</view>
<view class="Controls" v-else>
<view class="btn" v-if="item.cartNumber != '0'">
@@ -288,8 +290,11 @@
@click.stop="clickspecifications(item1, index, index1)">
<text class="t no-wrap" v-if="item1.groupType == '1'">选择套餐</text>
<text class="t" v-else>选规格</text>
<text class="dot num"
v-if="item1.cartNumber > 0">{{ ifcartNumber(item1) < 99 ? ifcartNumber(item1) : '99+' }}</text>
<!-- <text class="dot num"
v-if="item1.cartNumber > 0">{{ ifcartNumber(item1) < 99 ? ifcartNumber(item1) : '99+' }}</text> -->
<text class="dot num"
v-if="returnGoodsImCartNum(item1)">{{ returnGoodsImCartNum(item1) < 99 ? returnGoodsImCartNum(item1) : '99+' }}</text>
</view>
</view>
<view class="Controls" v-else>
@@ -700,6 +705,7 @@
import {
useCartStore
} from '@/stores/order.js';
import { computed } from 'vue';
const cartStore = useCartStore();
/**
* store本地存储 end
@@ -800,9 +806,35 @@
};
// 购物车对应的商品数
const GoodsIDInCartNumMap=computed(()=>{
const map={}
for(let cart in cartStore.carts){
if(map[cart.product_id]){
map[cart.product_id]+=cart.number*1
}else{
map[cart.product_id]=cart.number*1
}
}
return map
})
/**
* 返回购物车对应的商品数量
*/
function returnGoodsImCartNum(goods){
if(GoodsIDInCartNumMap.value.hasOwnProperty([goods.id]) ){
GoodsIDInCartNumMap.value[goods.id]
}
return 0
}
// 获取商品数据
const shopProductList = reactive({
@@ -2106,7 +2138,6 @@
//第一步:将所有商品的 cartNumber 初始化为 0
shopProductList.productInfo.forEach((group) => {
group.productList.forEach(async (product) => {
product.cartNumber = 0;
product.isSaleTimeshow = await isProductAvailable(product.days, product
.startTime, product.endTime);
@@ -2116,7 +2147,6 @@
});
});
shopProductList.hots.forEach(async (i) => {
i.cartNumber = 0;
i.isSaleTimeshow = await isProductAvailable(i.days, i.startTime, i.endTime);
allGoodsArr.push(i)
cartStore.setGoodsMap(i.id, i);