From c722cd4c79e22792f4216af1598c53dc6630b30a Mon Sep 17 00:00:00 2001 From: YeMingfei666 <1619116647@qq.com> Date: Tue, 18 Mar 2025 16:14:22 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E6=94=B9=E4=BB=A3=E5=AE=A2?= =?UTF-8?q?=E4=B8=8B=E5=8D=95=E6=B7=BB=E5=8A=A0=E6=97=B6=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E5=95=86=E5=93=81=E7=B1=BB=E5=9E=8B=EF=BC=8C=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E6=BF=80=E6=B4=BB=E7=A0=81=E5=88=97=E8=A1=A8=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E5=B1=95=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/store/modules/carts.ts | 6 +++-- src/utils/index.ts | 3 ++- src/views/register/index.vue | 14 ++++------- .../tool/Instead/components/carts/item.vue | 8 +++++++ .../tool/Instead/components/carts/list.vue | 5 ++++ src/views/tool/Instead/components/control.vue | 17 ++++++++----- .../Instead/components/dialog-goods-sel.vue | 1 + src/views/tool/Instead/index.vue | 24 +++++++++++++------ 8 files changed, 53 insertions(+), 25 deletions(-) diff --git a/src/store/modules/carts.ts b/src/store/modules/carts.ts index d39310b..ba55b08 100644 --- a/src/store/modules/carts.ts +++ b/src/store/modules/carts.ts @@ -138,7 +138,7 @@ export const useCartsStore = defineStore("carts", () => { let oldNumber = 0 for (let i in oldOrder.value.detailMap) { oldNumber += oldOrder.value.detailMap[i].reduce((prve: number, cur: any) => { - return prve + cur.pack_number + return prve + (dinnerType.value == 'take-out' ? cur.number : cur.pack_number * 1) }, 0) } return nowCartNumber + giftNumber + oldNumber @@ -154,7 +154,8 @@ export const useCartsStore = defineStore("carts", () => { let oldPackfee = 0; for (let i in oldOrder.value.detailMap) { oldPackfee += oldOrder.value.detailMap[i].reduce((prve: number, cur: any) => { - return prve + (cur.packFee || 0) * cur.pack_number + const number = (dinnerType.value == 'take-out' ? cur.number : cur.pack_number * 1) + return prve + (cur.packFee || 0) * number }, 0) } return nowPackFee + giftPackFee + oldPackfee @@ -319,6 +320,7 @@ export const useCartsStore = defineStore("carts", () => { product_name: "", remark: "", sku_id: '', + product_type: '' } //当前购物车直接添加 function cartsPush(data: any) { diff --git a/src/utils/index.ts b/src/utils/index.ts index 3dc858c..1ada8db 100644 --- a/src/utils/index.ts +++ b/src/utils/index.ts @@ -110,7 +110,8 @@ export function downloadFile(obj: BlobPart, name: string, suffix: string, useUni const link = document.createElement("a"); link.style.display = "none"; link.href = url; - const fileName = useUnix ? (parseTime(new Date(), undefined) + "-") : '' + name.trim() + "." + suffix; + const newFilename = useUnix ? (parseTime(new Date(), undefined) + "-") : '' + name.trim() + const fileName = newFilename + "." + suffix; link.setAttribute("download", fileName); document.body.appendChild(link); link.click(); diff --git a/src/views/register/index.vue b/src/views/register/index.vue index f2eadac..e493efb 100644 --- a/src/views/register/index.vue +++ b/src/views/register/index.vue @@ -48,22 +48,18 @@ - - + + - - + diff --git a/src/views/tool/Instead/components/carts/item.vue b/src/views/tool/Instead/components/carts/item.vue index 69cb9f3..ce65015 100644 --- a/src/views/tool/Instead/components/carts/item.vue +++ b/src/views/tool/Instead/components/carts/item.vue @@ -5,6 +5,10 @@ 包 {{ item.pack_number * 1 }} + + 包 + {{ item.product_type == "weight" ? 1 : item.num * 1 }} + @@ -125,6 +129,10 @@ import { customTruncateToTwoDecimals } from "@/views/tool/Instead/util"; const props = defineProps({ + dinerType: { + type: [Number, String], + default: 0, //0 堂食 1 自取 + }, useVipPrice: { type: Boolean, default: false, diff --git a/src/views/tool/Instead/components/carts/list.vue b/src/views/tool/Instead/components/carts/list.vue index 2d2808e..d259b46 100644 --- a/src/views/tool/Instead/components/carts/list.vue +++ b/src/views/tool/Instead/components/carts/list.vue @@ -49,6 +49,7 @@ :useVipPrice="carts.useVipPrice" :canChangeNumber="false" isOld + :dinerType="dinerType" :item="detaiItem" @changeNumber="changeNumber" :selCart="carts.selCart" @@ -201,6 +202,10 @@ const props = defineProps({ type: Array, default: () => [], }, + dinerType: { + type: [Number, String], + default: 0, + }, }); let isXianFuKuan = computed(() => { // if (!props.table.tableCode) { diff --git a/src/views/tool/Instead/components/control.vue b/src/views/tool/Instead/components/control.vue index 6f2bbfb..2d43b89 100644 --- a/src/views/tool/Instead/components/control.vue +++ b/src/views/tool/Instead/components/control.vue @@ -33,8 +33,8 @@ const controls = ref([ { label: "打包", key: "is_pack", disabled: false, per: "pack" }, { label: "删除", key: "del", disabled: false, per: "del" }, { label: "转桌", key: "rottable", disabled: false, per: "rottable" }, - { label: "存单", key: "saveCart", disabled: false, per: "saveCart" }, - { label: "取单", key: "getCart", disabled: false, per: "getCart" }, + // { label: "存单", key: "saveCart", disabled: false, per: "saveCart" }, + // { label: "取单", key: "getCart", disabled: false, per: "getCart" }, { label: "单品备注", key: "one-note", disabled: false, per: "one-note" }, { label: "整单备注", key: "all-note", disabled: false, per: "all-note" }, { label: "退菜", key: "return", disabled: false, per: "return" }, @@ -68,7 +68,12 @@ function controlsClick(item) { carts.updateTag("pack_number", carts.selCart.pack_number * 1 == 1 ? 0 : 1); return; } - emits("packClick", carts.selCart.pack_number, carts.selCart.number); + + emits( + "packClick", + carts.selCart.pack_number, + carts.selCart.type == "weight" ? 1 : carts.selCart.number + ); break; case "is_print": carts.updateTag("is_print", carts.selCart.is_print ? 0 : 1); @@ -119,9 +124,9 @@ const perList = computed(() => { if (carts.oldOrder.id) { arr.push("rottable"); } - if (!carts.isEmpty) { - arr.push("saveCart"); - } + // if (!carts.isEmpty) { + // arr.push("saveCart"); + // } return arr; }); const canEdit = computed(() => { diff --git a/src/views/tool/Instead/components/dialog-goods-sel.vue b/src/views/tool/Instead/components/dialog-goods-sel.vue index 54bd2e3..296ce81 100644 --- a/src/views/tool/Instead/components/dialog-goods-sel.vue +++ b/src/views/tool/Instead/components/dialog-goods-sel.vue @@ -127,6 +127,7 @@ function confirm() { sku_id: skuData.value.id, product_id: goods.value.id, number: number.value, + product_type: goods.value.type, }); close(); } diff --git a/src/views/tool/Instead/index.vue b/src/views/tool/Instead/index.vue index 0369e6e..d31b9b6 100644 --- a/src/views/tool/Instead/index.vue +++ b/src/views/tool/Instead/index.vue @@ -113,6 +113,7 @@ :showOrder="showOrder" :goodsList="carts.goods" :oldOrder="oldOrder" + :dinerType="diners.sel" :perpole="perpole" :remark="remark" :table="table" @@ -442,7 +443,6 @@ async function createOrder(key) { refOrder.value.nowPayClick("cash"); }); } - // oldOrder.value = res; } } catch (error) { loading.close(); @@ -470,11 +470,15 @@ function taocanShow(item) { const refChangeWeight = ref(); function changeWeightConfirm(goods, number) { console.log(goods, number); - addCarts({ - product_id: goods.id, - sku_id: goods.skuList[0].id, - number, - }); + addCarts( + { + product_id: goods.id, + sku_id: goods.skuList[0].id, + number, + product_type: goods.type, + }, + true + ); } function showWeight(item) { console.log(item); @@ -642,6 +646,7 @@ function goodsClick(item) { product_id: item.id, sku_id: item.skuList[0].id, number: item.skuList[0].suitNum || 1, + product_type: item.type, }); return; } @@ -664,6 +669,7 @@ function goodsClick(item) { sku_id: item.skuList[0].id || -888, product_id: item.id, number: item.skuList[0].suitNum || 1, + product_type: item.type, }; addCarts(sendmsg); return; @@ -694,7 +700,11 @@ function clearCarts() { carts.clear(); }); } -function addCarts(item) { +function addCarts(item, isWeight = false) { + if (isWeight) { + carts.add({ pack_number: diners.sel ? 1 : 0, ...item }); + return; + } carts.add({ pack_number: diners.sel ? item.number : 0, ...item }); }