feat: 接入下载桌台码接口,代客下单代码调整
This commit is contained in:
@@ -27,12 +27,24 @@ export const useCartsStore = defineStore("carts", () => {
|
||||
const isEmpty = computed(() => {
|
||||
return list.value.length === 0 && giftList.value.length === 0
|
||||
})
|
||||
//当前购物车选中数据
|
||||
const selCart = computed(() => {
|
||||
if (isSelGift.value) {
|
||||
return giftList.value[selListIndex.value] || defaultCart
|
||||
}
|
||||
return list.value[selListIndex.value] || defaultCart
|
||||
})
|
||||
//当前购物车选中对应商品数据
|
||||
const selGoods = computed(() => {
|
||||
return goodsMap[selCart.value.product_id]
|
||||
})
|
||||
//当前选中购物车数据是否是可选套餐商品
|
||||
const isCanSelectGroup = computed(() => {
|
||||
if (!selGoods.value) {
|
||||
return false
|
||||
}
|
||||
return selGoods.value.type == 'package' && selGoods.value.groupType == 1
|
||||
})
|
||||
//赠菜总价
|
||||
const giftMoney = computed(() => {
|
||||
return giftList.value.reduce((acc: number, cur: any) => {
|
||||
@@ -96,18 +108,30 @@ export const useCartsStore = defineStore("carts", () => {
|
||||
}
|
||||
}
|
||||
|
||||
const basic_msg = {
|
||||
number: 1,
|
||||
is_pack: 0,
|
||||
is_gift: 0,
|
||||
is_temporary: 0,
|
||||
discount_sale_amount: 0,
|
||||
discount_sale_note: "",
|
||||
is_print: 0,
|
||||
is_wait_call: 0,
|
||||
product_name: "",
|
||||
remark: "",
|
||||
sku_id: '',
|
||||
}
|
||||
//当前购物车直接添加
|
||||
function cartsPush(data: any) {
|
||||
sendMessage('add', {
|
||||
...basic_msg,
|
||||
...data
|
||||
});
|
||||
}
|
||||
|
||||
function add(data: any) {
|
||||
const msg = {
|
||||
number: 1,
|
||||
is_pack: 0,
|
||||
is_gift: 0,
|
||||
is_temporary: 0,
|
||||
discount_sale_amount: 0,
|
||||
discount_sale_note: "",
|
||||
is_print: 0,
|
||||
is_wait_call: 0,
|
||||
product_name: "",
|
||||
remark: "",
|
||||
...basic_msg,
|
||||
...data
|
||||
}
|
||||
const hasCart = list.value.find((cartItem) => {
|
||||
@@ -116,10 +140,21 @@ export const useCartsStore = defineStore("carts", () => {
|
||||
if (hasCart) {
|
||||
update({ ...hasCart, ...msg, number: hasCart.number * 1 + msg.number * 1 })
|
||||
} else {
|
||||
console.log(msg);
|
||||
sendMessage('add', msg);
|
||||
}
|
||||
}
|
||||
|
||||
// 换桌
|
||||
function changeTable(newVal: string | number) {
|
||||
if (table_code.value) {
|
||||
sendMessage('rottable', {
|
||||
new_table_code: newVal,
|
||||
id: list.value[0].id
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function del(data: any) {
|
||||
sendMessage('del', data);
|
||||
}
|
||||
@@ -183,27 +218,40 @@ export const useCartsStore = defineStore("carts", () => {
|
||||
return ElMessage.error(msg.message || '操作失败')
|
||||
}
|
||||
if (msg && msg.data) {
|
||||
const tableCode = Array.isArray(msg.data) ? msg.data[0].table_code : msg.data.table_code
|
||||
table_code.value = table_code.value ? table_code.value : tableCode
|
||||
console.log(table_code.value)
|
||||
if (Array.isArray(msg.data) && msg.data.length) {
|
||||
table_code.value = msg.data[0].table_code
|
||||
}
|
||||
if (msg.data.table_code) {
|
||||
table_code.value = table_code.value ? table_code.value : msg.data.table_code
|
||||
}
|
||||
}
|
||||
// 初始化
|
||||
if (msg.operate_type === "manage_init") {
|
||||
// 设置单价
|
||||
list.value = msg.data.filter((v: { is_gift: any; }) => !v.is_gift).map((v: Record<string, any>) => {
|
||||
list.value = msg.data.filter((v: Record<string, any>) => {
|
||||
const skuData = getProductDetails({ product_id: v.product_id, sku_id: v.sku_id })
|
||||
return {
|
||||
...skuData,
|
||||
...v,
|
||||
if (skuData) {
|
||||
(Object.keys(skuData) as (keyof typeof skuData)[]).forEach((key) => {
|
||||
v[key] = skuData[key];
|
||||
});
|
||||
} else {
|
||||
del({ id: v.id })
|
||||
return false
|
||||
}
|
||||
});
|
||||
giftList.value = msg.data.filter((v: { is_gift: any; }) => v.is_gift).map((v: Record<string, any>) => {
|
||||
return !v.is_gift
|
||||
})
|
||||
giftList.value = msg.data.filter((v: Record<string, any>) => {
|
||||
const skuData = getProductDetails({ product_id: v.product_id, sku_id: v.sku_id })
|
||||
return {
|
||||
...skuData,
|
||||
...v,
|
||||
if (skuData) {
|
||||
(Object.keys(skuData) as (keyof typeof skuData)[]).forEach((key) => {
|
||||
v[key] = skuData[key];
|
||||
});
|
||||
} else {
|
||||
del({ id: v.id })
|
||||
return false
|
||||
}
|
||||
});
|
||||
return v.is_gift
|
||||
})
|
||||
console.log(giftList.value)
|
||||
}
|
||||
//广播
|
||||
@@ -211,6 +259,9 @@ export const useCartsStore = defineStore("carts", () => {
|
||||
msg.operate_type = 'manage_' + msg.operate_type
|
||||
}
|
||||
if (msg.operate_type === "manage_add") {
|
||||
if (list.value.find(v => v.id == msg.data.id)) {
|
||||
return ElMessage.warning(msg.message || '该商品已存在')
|
||||
}
|
||||
const skuData = getProductDetails({ product_id: msg.data.product_id, sku_id: msg.data.sku_id })
|
||||
list.value.push({ ...skuData, ...msg.data })
|
||||
return ElMessage.success(msg.message || '添加成功')
|
||||
@@ -283,6 +334,9 @@ export const useCartsStore = defineStore("carts", () => {
|
||||
WebSocketManager.sendMessage(msg);
|
||||
}
|
||||
return {
|
||||
isCanSelectGroup,
|
||||
selGoods,
|
||||
cartsPush,
|
||||
table_code,
|
||||
updateTag,
|
||||
list,
|
||||
@@ -293,7 +347,8 @@ export const useCartsStore = defineStore("carts", () => {
|
||||
changeNumber, isEmpty,
|
||||
selCart, totalNumber,
|
||||
changeSelCart, payMoney,
|
||||
clear, yiyouhui, giftList
|
||||
clear, yiyouhui, giftList,
|
||||
changeTable
|
||||
};
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user