会员码去掉,修复多规格商品添加时可无限制添加没有对库存进行判断的问题

This commit is contained in:
2026-04-27 17:43:41 +08:00
parent b637a6dea9
commit 0f15137c7f
4 changed files with 61 additions and 3 deletions

View File

@@ -356,6 +356,17 @@
}
},
},
cartNumber:{
//当前购物车数量
type:Number,
default:0
},
consStockList:{
type:Array,
default:()=>{
return []
}
},
GoodsIDInCartNumMap: {
type: Object,
default: () => {
@@ -810,13 +821,39 @@
return limitUtils.canUseLimitTimeDiscount(item, cartStore.limitTimeDiscount, shopInfo, shopUserInfo.value, 'id') ?
1 : 0;
}
function returnStockNumber(item) {
if (!item.isAutoSoldStock) {
return 9999
}
const consList = item.consList
const matchStockList = props.consStockList.filter(v => {
return consList.find(c => c.consInfoId == v.consId)
}).map(v => {
const cItem = item.consList.find(c => c.consInfoId == v.consId)
const goodsNumber = Math.floor(v.stockNumber / cItem.surplusStock)
return {
...v,
goodsNumber
}
}).sort((a, b) => {
return a.goodsNumber - b.goodsNumber
})
const minConsStockNumber = matchStockList[0] ? matchStockList[0].goodsNumber : 9999
return minConsStockNumber
}
// 多规格 套餐 单规格添加数量
const shopCart = async (i) => {
if (i == '-' && shopCartNumber.value <= (props.goods.suitNum || 1)) {
shopCartNumber.value = 0;
return false;
}
const stockNumber=returnStockNumber(props.goods)-(props.cartNumber||0)
console.log('stockNumber',stockNumber);
let res = null
if (i == '-') {
@@ -832,15 +869,34 @@
} else {
if (!res && shopCartNumber.value < 1) {
if (props.goods.type == 'sku') {
if (!selSku.value) {
return
}
if(stockNumber<selSku.value.suitNum){
return uni.showToast({
title:'商品库存不足',
icon:'error'
})
}
shopCartNumber.value = parseFloat(selSku.value.suitNum);
} else {
if(stockNumber<props.goods.suitNum){
return uni.showToast({
title:'商品库存不足',
icon:'error'
})
}
shopCartNumber.value = parseFloat(props.goods.suitNum);
}
} else {
if(shopCartNumber.value>=stockNumber){
return uni.showToast({
title:'商品库存不足!',
icon:'error'
})
}
shopCartNumber.value++;
}
}