新增商品状态售罄,增加删除的库存限制
This commit is contained in:
@@ -18,7 +18,7 @@
|
||||
</el-text>
|
||||
</div>
|
||||
<div class="item"
|
||||
:class="{ disabled: goodsStore.cartList.length && (goodsStore.cartList[goodsStore.cartActiveIndex].goods_type == 'package' && goodsStore.cartList[goodsStore.cartActiveIndex].group_type == 1) }"
|
||||
:class="{ disabled: goodsStore.cartList.length && (goodsStore.cartList[goodsStore.cartActiveIndex].goods_type == 'package' && goodsStore.cartList[goodsStore.cartActiveIndex].group_type == 1) || goodsStore.cartList.length && goodsStore.cartList[goodsStore.cartActiveIndex].isStock }"
|
||||
@click="numberChange('add')">
|
||||
<el-icon class="icon add">
|
||||
<CloseBold />
|
||||
@@ -408,6 +408,11 @@ function numberChange(t) {
|
||||
}
|
||||
break;
|
||||
case 'add':
|
||||
let goods = goodsStore.originGoodsList.find(pro => pro.id == item.product_id)
|
||||
if (item.number >= goods.stockNumber && goods.isStock) {
|
||||
ElMessage.error('库存不足')
|
||||
return
|
||||
}
|
||||
goodsStore.cartList[goodsStore.cartActiveIndex].number++
|
||||
if (goodsStore.allSelected) {
|
||||
goodsStore.operateCart({ ...goodsStore.cartList[goodsStore.cartActiveIndex], pack_number: goodsStore.cartList[goodsStore.cartActiveIndex].number }, 'edit')
|
||||
@@ -422,6 +427,13 @@ function numberChange(t) {
|
||||
|
||||
// 输入修改数量
|
||||
function updateNumber(num) {
|
||||
let item = goodsStore.cartList[goodsStore.cartActiveIndex]
|
||||
let goods = goodsStore.originGoodsList.find(pro => pro.id == item.product_id)
|
||||
if (num > goods.stockNumber && goods.isStock) {
|
||||
ElMessage.error('库存不足')
|
||||
return
|
||||
}
|
||||
|
||||
goodsStore.cartList[goodsStore.cartActiveIndex].number = num
|
||||
if (goodsStore.allSelected) {
|
||||
goodsStore.operateCart({ ...goodsStore.cartList[goodsStore.cartActiveIndex], pack_number: goodsStore.cartList[goodsStore.cartActiveIndex].number }, 'edit')
|
||||
|
||||
@@ -72,9 +72,24 @@
|
||||
<div class="cover" v-if="shopListType == 'img'">
|
||||
<el-image :src="`${item.coverImg}?x-oss-process=image/resize,m_lfit,w_120,h_120`"
|
||||
class="el_img" fit="cover"></el-image>
|
||||
<div class="sell_out" v-if="item.isSoldStock">
|
||||
<img class="sell_out_icon" src="../../../assets/icon_xq.png">
|
||||
|
||||
<!-- 已下架 -->
|
||||
<div class="sell_out" v-if="!item.isSale">
|
||||
<img class="sell_out_icon" src="@/assets/icon_goods_yxj.svg">
|
||||
</div>
|
||||
<!-- 未开售(不在可售时间内) -->
|
||||
<div class="sell_out" v-else-if="!item.isSaleTime">
|
||||
<img class="sell_out_icon" src="@/assets/icon_goods_wks.svg">
|
||||
</div>
|
||||
<!-- 售罄 -->
|
||||
<div class="sell_out" v-else-if="item.isSoldStock">
|
||||
<img class="sell_out_icon" src="@/assets/icon_goods_sq.svg">
|
||||
</div>
|
||||
<!-- 库存不足 -->
|
||||
<div class="sell_out" v-else-if="item.isStock && item.stockNumber <= 0">
|
||||
<img class="sell_out_icon" src="@/assets/icon_goods_kcbz.svg">
|
||||
</div>
|
||||
|
||||
<div class="weight" v-if="item.type == 'weight'">称重</div>
|
||||
<div class="weight" v-if="item.type == 'package' && item.groupType == 1">可选套餐</div>
|
||||
<div class="weight" v-if="item.type == 'package' && item.groupType == 0">固定套餐</div>
|
||||
@@ -492,11 +507,24 @@ function showSkuHandle(item) {
|
||||
item.showMore = true
|
||||
}
|
||||
} else {
|
||||
if (item.isStock && item.stockNumber <= 0) {
|
||||
ElMessage({
|
||||
type: 'error',
|
||||
message: '库存不足',
|
||||
})
|
||||
return
|
||||
}
|
||||
if (item.isSoldStock) {
|
||||
ElMessage({
|
||||
type: 'error',
|
||||
message: '该商品已售罄',
|
||||
showClose: true,
|
||||
})
|
||||
return
|
||||
}
|
||||
if (!item.isSaleTime) {
|
||||
ElMessage({
|
||||
type: 'error',
|
||||
message: '不在可售时间内',
|
||||
})
|
||||
return
|
||||
}
|
||||
@@ -504,10 +532,10 @@ function showSkuHandle(item) {
|
||||
ElMessage({
|
||||
type: 'error',
|
||||
message: '该商品已下架,请编辑上架后操作',
|
||||
showClose: true,
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
let goodsItem = goodsStore.cartList.find(goods => goods.product_id == item.id)
|
||||
if (item.type == 'sku') {
|
||||
// 多规格
|
||||
@@ -518,7 +546,17 @@ function showSkuHandle(item) {
|
||||
// 编辑
|
||||
goodsStore.operateCart({ ...goodsItem, number: +goodsItem.number + 1 }, 'edit')
|
||||
} else {
|
||||
console.log(item);
|
||||
|
||||
// 添加
|
||||
// 先判断起售数量是否大于库存
|
||||
if (item.isStock && item.skuList[0].suitNum > item.stockNumber) {
|
||||
ElMessage({
|
||||
type: 'error',
|
||||
message: '库存不足',
|
||||
})
|
||||
return
|
||||
}
|
||||
goodsStore.addCart({ ...item.skuList[0], lowPrice: item.skuList[0].salePrice, number: item.skuList[0].suitNum })
|
||||
}
|
||||
} else if (item.type == 'weight') {
|
||||
@@ -686,7 +724,6 @@ async function closeSellHandle() {
|
||||
ElMessage({
|
||||
type: 'success',
|
||||
message: '操作成功',
|
||||
showClose: true,
|
||||
})
|
||||
updateGoods()
|
||||
} catch (error) {
|
||||
@@ -722,7 +759,6 @@ async function putawayHandle(item) {
|
||||
ElMessage({
|
||||
type: 'success',
|
||||
message: '操作成功',
|
||||
showClose: true,
|
||||
})
|
||||
updateGoods()
|
||||
} catch (error) {
|
||||
@@ -755,7 +791,6 @@ async function goodEditorConfirm() {
|
||||
ElMessage({
|
||||
type: 'success',
|
||||
message: '操作成功',
|
||||
showClose: true,
|
||||
})
|
||||
updateGoods()
|
||||
} catch (error) {
|
||||
@@ -775,7 +810,7 @@ async function goodStockNumberHandle(item) {
|
||||
// type: 'warning',
|
||||
// message: '未开启共享库存无法修改',
|
||||
|
||||
// showClose: true,
|
||||
//
|
||||
// })
|
||||
// } else {
|
||||
// goodsEditorStockItem.value = item
|
||||
@@ -805,7 +840,7 @@ async function goodsEditorStockConfirm() {
|
||||
ElMessage({
|
||||
type: 'success',
|
||||
message: '操作成功',
|
||||
showClose: true,
|
||||
|
||||
})
|
||||
updateGoods()
|
||||
} catch (error) {
|
||||
@@ -1082,12 +1117,12 @@ onMounted(() => {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
background-color: rgba(0, 0, 0, 0.3);
|
||||
// backdrop-filter: blur(2px);
|
||||
background-color: rgba(0, 0, 0, 0.5);
|
||||
// backdrop-filter: blur(2px);
|
||||
z-index: 10;
|
||||
|
||||
.sell_out_icon {
|
||||
$size: 60px;
|
||||
$size: 80px;
|
||||
width: $size;
|
||||
height: $size;
|
||||
object-fit: cover;
|
||||
|
||||
Reference in New Issue
Block a user