feat: 增加代课下单商品不在可售时间内判断,增加购物车提示库存不足处理,增加购物车编辑增加参数起售数量

This commit is contained in:
2025-04-21 11:04:24 +08:00
parent 8a9cca4ee2
commit 65c1aef7bf
4 changed files with 53 additions and 5 deletions

View File

@@ -279,11 +279,11 @@ export const useCartsStore = defineStore("carts", () => {
return;
}
const newNumber = item.number * 1 + step * 1;
let pack_number = newNumber < item.pack_number ? (item.pack_number * 1 + step * 1) : item.pack_number;
let pack_number = newNumber < item.pack_number ? (item.pack_number * 1 + step * 1) : item.pack_number * 1;
if (dinnerType.value == 'take-out') {
pack_number = newNumber
}
if (item.product_type == 'weight') {
if (item.product_type == 'weight' && item.pack_number * 1 >= 1) {
pack_number = 1
}
update({ ...item, number: newNumber, pack_number });
@@ -331,7 +331,8 @@ export const useCartsStore = defineStore("carts", () => {
product_name: "",
remark: "",
sku_id: '',
product_type: ''
product_type: '',
suitNum: 1
}
//当前购物车直接添加
function cartsPush(data: any) {
@@ -388,7 +389,7 @@ export const useCartsStore = defineStore("carts", () => {
return sendMessage('del', data);
}
const pack_number = dinnerType.value == 'take-out' ? data.number : data.pack_number
sendMessage('edit', { ...data, pack_number });
sendMessage('edit', { ...data, suitNum, pack_number });
}
function updateTag(key: string, val: any, cart: CartsState = selCart.value) {
const skuData = cart.skuData || { suitNum: 1 }
@@ -402,6 +403,7 @@ export const useCartsStore = defineStore("carts", () => {
const msg = { ...cart, [key]: val }
if (key == 'number' && dinnerType.value == 'take-out') {
msg.pack_number == val
msg.suitNum == skuData.suitNum
}
sendMessage('edit', msg);
@@ -587,6 +589,17 @@ export const useCartsStore = defineStore("carts", () => {
WebSocketManager.subscribeToTopic(initParams, (msg) => {
console.log("收到消息:", msg);
if (msg.hasOwnProperty('status') && msg.status != 1) {
if (msg.type === 'no_suit_num' && selListIndex.value != -1) {
return ElMessageBox.confirm(`${list.value[selListIndex.value].name}库存不足`, '提示', {
confirmButtonText: '确定',
callback: (action: string) => {
if (action == 'confirm') {
list.value.splice(selListIndex.value, 1)
}
}
});
}
return ElMessage.error(msg.message || msg.msg || '操作失败')
}
if (msg && msg.data) {