会员码去掉,修复多规格商品添加时可无限制添加没有对库存进行判断的问题
This commit is contained in:
@@ -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">
|
||||
|
||||
@@ -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++;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user