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

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

@@ -26,7 +26,7 @@
<text class="u-m-l-22">积分{{ allConfig.pointNum }}</text>
</view>
</view>
<image :src="imgs.code" class="code"></image>
<!-- <image :src="imgs.code" class="code"></image> -->
</view>
</view>
<view class="new-menus-box">

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++;
}
}

View File

@@ -402,6 +402,8 @@
<view v-for="(item,index) in goodsModalList" :key="index">
<goodsModal :key="index" v-model="item.show" :goods="item.goods" @prveImgs="prveImgs" :orderinfo="orderinfo"
:cartNumber="returnGoodsImCartNum(item.goods)"
:consStockList="consStockList"
@shareClick="shareClick" @close="goodsModalClose(index)" @websocketsendMessage="websocketsendMessage"
@modalAdd="modalAdd" :GoodsIDInCartNumMap="GoodsIDInCartNumMap"></goodsModal>
</view>

View File

@@ -27,7 +27,7 @@
<!-- #endif -->
</view>
<view class="right-icons">
<image class="my_info_right_qr" src="/static/icon/code.png" mode="aspectFill"></image>
<!-- <image class="my_info_right_qr" src="/static/icon/code.png" mode="aspectFill"></image> -->
<view class="msg-view" @click="viewUserMsgList">
<view class="msg-icon-wrapper">
<image v-if="unreadMsgCount > 0" class="my-msg-icon" src="/static/mine/msg_select.png" mode="aspectFill"></image>