fix: 代客下单增加转台功能,修复临时菜价格展示问题,增加就餐类型切换为打包时,加菜默认为打包
This commit is contained in:
@@ -16,6 +16,11 @@ export const useCartsStore = defineStore("carts", () => {
|
||||
vipUser.value = user;
|
||||
}
|
||||
|
||||
//就餐类型 dine-in take-out
|
||||
let dinnerType = ref<string>('dine-in');
|
||||
|
||||
|
||||
|
||||
//是否启用会员价
|
||||
const useVipPrice = computed(() => {
|
||||
return (shopUser.userInfo.isMemberPrice && vipUser.value.id && vipUser.value.isVip) ? true : false
|
||||
@@ -174,9 +179,7 @@ export const useCartsStore = defineStore("carts", () => {
|
||||
const oldOrderMoney = computed(() => {
|
||||
let total = 0
|
||||
for (let i in oldOrder.value.detailMap) {
|
||||
console.log(oldOrder.value)
|
||||
total += oldOrder.value.detailMap[i].reduce((prve: number, cur: any) => {
|
||||
console.log(cur)
|
||||
if (cur.isGift) {
|
||||
return prve + 0
|
||||
}
|
||||
@@ -236,7 +239,11 @@ export const useCartsStore = defineStore("carts", () => {
|
||||
return;
|
||||
}
|
||||
const newNumber = item.number * 1 + step * 1;
|
||||
update({ ...item, number: item.number * 1 + step * 1, 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;
|
||||
if (dinnerType.value == 'take-out') {
|
||||
pack_number = newNumber
|
||||
}
|
||||
update({ ...item, number: newNumber, pack_number });
|
||||
}
|
||||
|
||||
function changeSelCart(cart: CartsState) {
|
||||
@@ -270,6 +277,7 @@ export const useCartsStore = defineStore("carts", () => {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
const basic_msg = {
|
||||
number: 1,
|
||||
is_gift: 0,
|
||||
@@ -325,10 +333,12 @@ export const useCartsStore = defineStore("carts", () => {
|
||||
|
||||
function update(data: any) {
|
||||
console.log(data);
|
||||
if (data.number * 1 < data.skuData.suitNum * 1) {
|
||||
const suitNum = data.skuData ? (data.skuData.suitNum || 1) : 1;
|
||||
if (data.number * 1 < suitNum * 1) {
|
||||
return sendMessage('del', data);
|
||||
}
|
||||
sendMessage('edit', data);
|
||||
const pack_number = dinnerType.value == 'take-out' ? data.number : data.pack_number
|
||||
sendMessage('edit', { ...data, pack_number });
|
||||
}
|
||||
function updateTag(key: string, val: any, cart: CartsState = selCart.value) {
|
||||
if (cart.number * 1 < cart.skuData.suitNum * 1) {
|
||||
@@ -338,7 +348,16 @@ export const useCartsStore = defineStore("carts", () => {
|
||||
if (key == 'discount_sale_amount' && val * 1 <= 0) {
|
||||
return ElMessage.error('价格不能为0!')
|
||||
}
|
||||
sendMessage('edit', { ...cart, [key]: val });
|
||||
const msg = { ...cart, [key]: val }
|
||||
if (key == 'number' && dinnerType.value == 'take-out') {
|
||||
msg.pack_number == val
|
||||
}
|
||||
|
||||
sendMessage('edit', msg);
|
||||
}
|
||||
// 更改全部商品打包状态
|
||||
function changePack(is_pack: number | string) {
|
||||
sendMessage('batch', { is_pack });
|
||||
}
|
||||
|
||||
function clear() {
|
||||
@@ -358,6 +377,14 @@ export const useCartsStore = defineStore("carts", () => {
|
||||
vipUser.value = {}
|
||||
}
|
||||
|
||||
function nowCartsClear() {
|
||||
if (selPlaceNum.value == 1) {
|
||||
selListIndex.value = -1;
|
||||
}
|
||||
list.value = [];
|
||||
giftList.value = [];
|
||||
}
|
||||
|
||||
// 寻找套餐商品sku
|
||||
interface GroupSnap {
|
||||
goods: { [key: string]: any }[];
|
||||
@@ -439,6 +466,9 @@ export const useCartsStore = defineStore("carts", () => {
|
||||
}
|
||||
}
|
||||
|
||||
let $initParams = {} as ApifoxModel
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* @param initParams 购物车初始化参数
|
||||
@@ -446,6 +476,8 @@ export const useCartsStore = defineStore("carts", () => {
|
||||
* @param oldOrder 历史订单数据
|
||||
*/
|
||||
|
||||
|
||||
|
||||
function init(initParams: ApifoxModel, $goodsMap: any, $oldOrder: any) {
|
||||
// 商品id对应的数据map
|
||||
if ($goodsMap) {
|
||||
@@ -461,16 +493,22 @@ export const useCartsStore = defineStore("carts", () => {
|
||||
if (initParams) {
|
||||
initParams.table_code = initParams.table_code ? initParams.table_code : ''
|
||||
table_code.value = initParams.table_code
|
||||
$initParams = initParams;
|
||||
}
|
||||
console.log($initParams)
|
||||
// localStorage.setItem('cache_table_code', table_code.value);
|
||||
concocatSocket($initParams)
|
||||
}
|
||||
|
||||
function concocatSocket(initParams = $initParams) {
|
||||
console.log("初始化参数", initParams);
|
||||
WebSocketManager.subscribeToTopic(initParams, (msg) => {
|
||||
console.log("收到消息:", msg);
|
||||
if (msg.hasOwnProperty('status') && msg.status != 1) {
|
||||
return ElMessage.error(msg.message || '操作失败')
|
||||
}
|
||||
if (msg && msg.data) {
|
||||
if (Array.isArray(msg.data) && msg.data.length) {
|
||||
if (Array.isArray(msg.data) && msg.data.length && msg.data[0].table_code) {
|
||||
table_code.value = msg.data[0].table_code
|
||||
}
|
||||
if (msg.data.table_code) {
|
||||
@@ -528,7 +566,9 @@ export const useCartsStore = defineStore("carts", () => {
|
||||
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 })
|
||||
const newGoods = { ...skuData, ...msg.data }
|
||||
console.log('newGoods', newGoods)
|
||||
list.value.push(newGoods)
|
||||
return ElMessage.success(msg.message || '添加成功')
|
||||
|
||||
}
|
||||
@@ -588,9 +628,11 @@ export const useCartsStore = defineStore("carts", () => {
|
||||
}
|
||||
}
|
||||
if (msg.operate_type === "manage_cleanup") {
|
||||
dataReset()
|
||||
nowCartsClear()
|
||||
}
|
||||
if (msg.operate_type === "batch") {
|
||||
concocatSocket({ ...$initParams, table_code: table_code.value })
|
||||
}
|
||||
console.log(list.value)
|
||||
});
|
||||
}
|
||||
|
||||
@@ -606,6 +648,8 @@ export const useCartsStore = defineStore("carts", () => {
|
||||
WebSocketManager.sendMessage(msg);
|
||||
}
|
||||
return {
|
||||
dinnerType,
|
||||
changePack,
|
||||
giftMoney,
|
||||
goodsTotal,
|
||||
isLinkFinshed,
|
||||
|
||||
@@ -34,7 +34,6 @@ export const usePermissionStore = defineStore("permission", () => {
|
||||
if (!isTest) {
|
||||
const dynamicRoutes = parseDynamicRoutes(data.filter(v => v.type == 0));
|
||||
routes.value = [...constantRoutes, ...dynamicRoutes];
|
||||
console.log(routes.value)
|
||||
isRoutesLoaded.value = true;
|
||||
resolve(dynamicRoutes);
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user