代客下单修改,增加线上店铺装修页面

This commit is contained in:
2025-02-22 10:00:04 +08:00
parent e0ae1cca67
commit 504aa80c9e
16 changed files with 1371 additions and 45 deletions

View File

@@ -7,6 +7,9 @@ export interface CartsState {
}
export const useCartsStore = defineStore("carts", () => {
//台桌id
const table_code = ref('');
//当前购物车数据
const list = useStorage<any[]>("carts", []);
//赠菜
@@ -20,6 +23,10 @@ export const useCartsStore = defineStore("carts", () => {
id: '',
number: 0,
}
//购物车是否为空
const isEmpty = computed(() => {
return list.value.length === 0 && giftList.value.length === 0
})
const selCart = computed(() => {
if (isSelGift.value) {
return giftList.value[selListIndex.value] || defaultCart
@@ -43,7 +50,12 @@ export const useCartsStore = defineStore("carts", () => {
//支付总价
const payMoney = computed(() => {
const money = list.value.reduce((acc: number, cur: any) => {
return acc + cur.number * cur.salePrice
if (cur.is_temporary) {
//临时菜
return acc + cur.number * (cur.discount_sale_amount)
} else {
return acc + cur.number * (cur.salePrice)
}
}, 0)
return money.toFixed(2)
})
@@ -59,13 +71,13 @@ export const useCartsStore = defineStore("carts", () => {
})
const table_code = ref('');
function changeNumber(step: number, item: CartsState) {
if (item.number * 1 + step <= 0) {
del(item);
return;
}
update({ ...item, number: step * 1 });
const newNumber = item.number * 1 + step * 1;
update({ ...item, number: step * 1, pack_number: newNumber < item.pack_number ? (item.pack_number * 1 + step * 1) : item.pack_number });
}
function changeSelCart(cart: CartsState) {
@@ -86,6 +98,7 @@ export const useCartsStore = defineStore("carts", () => {
function add(data: any) {
sendMessage('add', data);
}
function del(data: any) {
sendMessage('del', data);
}
@@ -94,8 +107,8 @@ export const useCartsStore = defineStore("carts", () => {
console.log(data);
sendMessage('edit', data);
}
function updateTag(key: string, val: any) {
sendMessage('edit', { ...selCart.value, number: 0, [key]: val });
function updateTag(key: string, val: any, cart: CartsState) {
sendMessage('edit', { ...cart || selCart.value, number: 0, [key]: val });
}
function clear() {
sendMessage('cleanup', {});
@@ -123,6 +136,9 @@ export const useCartsStore = defineStore("carts", () => {
if (msg.hasOwnProperty('status') && msg.status != 1) {
return ElMessage.error(msg.message || '操作失败')
}
if (msg && msg.data && msg.data[0]) {
table_code.value = table_code.value ? table_code.value : msg.data[0].table_code
}
// 初始化
if (msg.operate_type === "manage_init") {
// 设置单价
@@ -164,6 +180,7 @@ export const useCartsStore = defineStore("carts", () => {
} else {
giftList.value[giftIndex] = { ...giftItem, ...newCart }
}
ElMessage.success(msg.message || '修改成功')
return
}
if (!isSelGift.value) {
@@ -175,6 +192,7 @@ export const useCartsStore = defineStore("carts", () => {
} else {
list.value[index] = { ...cartItem, ...newCart }
}
ElMessage.success(msg.message || '修改成功')
return
}
@@ -199,8 +217,11 @@ export const useCartsStore = defineStore("carts", () => {
return ElMessage.success(msg.message || '删除成功')
}
}
}
if (msg.operate_type === "manage_cleanup") {
list.value = []
giftList.value = []
table_code.value = ''
}
console.log(list.value)
});
@@ -216,7 +237,7 @@ export const useCartsStore = defineStore("carts", () => {
del,
update,
init,
changeNumber,
changeNumber, isEmpty,
selCart, totalNumber,
changeSelCart, payMoney,
clear, yiyouhui, giftList