代客下单页面修改,增加店铺配置页面
This commit is contained in:
@@ -77,7 +77,7 @@ export const useCartsStore = defineStore("carts", () => {
|
||||
return;
|
||||
}
|
||||
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 });
|
||||
update({ ...item, number: item.number * 1 + step * 1, pack_number: newNumber < item.pack_number ? (item.pack_number * 1 + step * 1) : item.pack_number });
|
||||
}
|
||||
|
||||
function changeSelCart(cart: CartsState) {
|
||||
@@ -95,8 +95,29 @@ export const useCartsStore = defineStore("carts", () => {
|
||||
selListIndex.value = list.value.findIndex((item: CartsState) => item.id === cart.id);
|
||||
}
|
||||
}
|
||||
|
||||
function add(data: any) {
|
||||
sendMessage('add', data);
|
||||
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: "",
|
||||
...data
|
||||
}
|
||||
const hasCart = list.value.find((cartItem) => {
|
||||
return cartItem.product_id == msg.product_id && cartItem.sku_id == msg.sku_id;
|
||||
});
|
||||
if (hasCart) {
|
||||
update({ ...hasCart, ...msg, number: hasCart.number * 1 + msg.number * 1 })
|
||||
} else {
|
||||
sendMessage('add', msg);
|
||||
}
|
||||
}
|
||||
|
||||
function del(data: any) {
|
||||
@@ -108,14 +129,39 @@ export const useCartsStore = defineStore("carts", () => {
|
||||
sendMessage('edit', data);
|
||||
}
|
||||
function updateTag(key: string, val: any, cart: CartsState) {
|
||||
sendMessage('edit', { ...cart || selCart.value, number: 0, [key]: val });
|
||||
sendMessage('edit', { ...cart || selCart.value, [key]: val });
|
||||
}
|
||||
function clear() {
|
||||
sendMessage('cleanup', {});
|
||||
}
|
||||
|
||||
// 寻找套餐商品sku
|
||||
interface GroupSnap {
|
||||
goods: { [key: string]: any }[];
|
||||
}
|
||||
|
||||
function findInGroupSnapSku(groupSnap: GroupSnap[], sku_id: string | number) {
|
||||
for (let i in groupSnap) {
|
||||
const sku = groupSnap[i].goods.find(v => v.sku_id == sku_id)
|
||||
if (sku) {
|
||||
return sku
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function getProductDetails(v: { product_id: string, sku_id: string }) {
|
||||
const goods = goodsMap[v.product_id]
|
||||
const skuData = goods?.skuList.find((sku: { id: string, salePrice: number }) => sku.id == v.sku_id);
|
||||
if (!goods) {
|
||||
return undefined
|
||||
}
|
||||
let skuData = undefined;
|
||||
if (goods.type == 'package') {
|
||||
//套餐商品
|
||||
const SnapSku = findInGroupSnapSku(goods.groupSnap, v.sku_id)
|
||||
skuData = { ...SnapSku, salePrice: SnapSku ? SnapSku.price : 0 }
|
||||
} else {
|
||||
skuData = goods?.skuList.find((sku: { id: string, salePrice: number }) => sku.id == v.sku_id);
|
||||
}
|
||||
if (skuData) {
|
||||
return {
|
||||
salePrice: skuData ? skuData.salePrice : 0,
|
||||
@@ -136,8 +182,10 @@ 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 && 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 (msg.operate_type === "manage_init") {
|
||||
@@ -158,17 +206,21 @@ export const useCartsStore = defineStore("carts", () => {
|
||||
});
|
||||
console.log(giftList.value)
|
||||
}
|
||||
//广播
|
||||
if (msg.type === "bc") {
|
||||
msg.operate_type = 'manage_' + msg.operate_type
|
||||
}
|
||||
if (msg.operate_type === "manage_add") {
|
||||
const skuData = getProductDetails({ product_id: msg.data[0].product_id, sku_id: msg.data[0].sku_id })
|
||||
list.value.push({ ...skuData, ...msg.data[0] })
|
||||
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 || '添加成功')
|
||||
|
||||
}
|
||||
if (msg.operate_type === "manage_edit") {
|
||||
const newCart = msg.data[0]
|
||||
const newCart = msg.data
|
||||
const index = list.value.findIndex((item) => item.id === newCart.id)
|
||||
const giftIndex = giftList.value.findIndex((item) => item.id === newCart.id)
|
||||
const cartItem = list.value[index];
|
||||
const cartItem = list.value[index] || { is_gift: false };
|
||||
const giftItem = giftList.value[giftIndex];
|
||||
if (isSelGift.value) {
|
||||
//操作赠菜
|
||||
@@ -227,10 +279,11 @@ export const useCartsStore = defineStore("carts", () => {
|
||||
});
|
||||
}
|
||||
function sendMessage(operate_type: msgType, message: any) {
|
||||
console.log({ ...message, operate_type: operate_type, table_code: table_code.value })
|
||||
WebSocketManager.sendMessage({ ...message, operate_type: operate_type, table_code: table_code.value });
|
||||
const msg = { ...message, operate_type: operate_type, table_code: table_code.value }
|
||||
WebSocketManager.sendMessage(msg);
|
||||
}
|
||||
return {
|
||||
table_code,
|
||||
updateTag,
|
||||
list,
|
||||
add,
|
||||
|
||||
Reference in New Issue
Block a user