From 2837711105c15c5cefd79744dab74bbdf2925214 Mon Sep 17 00:00:00 2001 From: YeMingfei666 <1619116647@qq.com> Date: Tue, 18 Mar 2025 18:18:42 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E7=A7=B0=E9=87=8D?= =?UTF-8?q?=E5=95=86=E5=93=81=E5=88=87=E6=8D=A2=E5=B0=B1=E9=A4=90=E6=A8=A1?= =?UTF-8?q?=E5=BC=8F=E6=97=B6=E6=89=93=E5=8C=85=E6=95=B0=E9=87=8F=E5=B1=95?= =?UTF-8?q?=E7=A4=BA=E4=B8=8D=E5=AF=B9=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/store/modules/carts.ts | 24 +++++++++++++------ .../tool/Instead/components/carts/item.vue | 4 ++++ src/views/tool/Instead/components/order.vue | 1 + src/views/tool/Instead/index.vue | 5 ++++ 4 files changed, 27 insertions(+), 7 deletions(-) diff --git a/src/store/modules/carts.ts b/src/store/modules/carts.ts index afdd95d..947df0f 100644 --- a/src/store/modules/carts.ts +++ b/src/store/modules/carts.ts @@ -127,35 +127,42 @@ export const useCartsStore = defineStore("carts", () => { }, 0) return (nowTotal + oldGiftMoney) }) + //返回打包数量(称重商品打包数量最大为1) + function returnCartPackNumber(cur: any) { + console.log(cur) + let pack_number = (dinnerType.value == 'take-out' ? cur.number : cur.pack_number * 1) + pack_number = (cur.product_type == 'weight' && pack_number > 1) ? 1 : pack_number; + return pack_number * 1 + } //打包数量 const packNum = computed(() => { const nowCartNumber = list.value.reduce((acc: number, cur: any) => { - return acc + cur.pack_number * 1 + return acc + returnCartPackNumber(cur) }, 0) const giftNumber = giftList.value.reduce((acc: number, cur: any) => { - return acc + cur.pack_number * 1 + return acc + returnCartPackNumber(cur) }, 0) let oldNumber = 0 for (let i in oldOrder.value.detailMap) { oldNumber += oldOrder.value.detailMap[i].reduce((prve: number, cur: any) => { - return prve + (dinnerType.value == 'take-out' ? cur.number : cur.pack_number * 1) + return prve + returnCartPackNumber(cur) }, 0) } return nowCartNumber + giftNumber + oldNumber }) + //打包费 const packFee = computed(() => { const nowPackFee = list.value.reduce((acc: number, cur: any) => { - return acc + (cur.packFee || 0) * cur.pack_number + return acc + (cur.packFee || 0) * returnCartPackNumber(cur) }, 0) const giftPackFee = giftList.value.reduce((acc: number, cur: any) => { - return acc + (cur.packFee || 0) * cur.pack_number + return acc + (cur.packFee || 0) * returnCartPackNumber(cur) }, 0) let oldPackfee = 0; for (let i in oldOrder.value.detailMap) { oldPackfee += oldOrder.value.detailMap[i].reduce((prve: number, cur: any) => { - const number = (dinnerType.value == 'take-out' ? cur.number : cur.pack_number * 1) - return prve + (cur.packFee || 0) * number + return prve + (cur.packFee || 0) * returnCartPackNumber(cur) }, 0) } return nowPackFee + giftPackFee + oldPackfee @@ -273,6 +280,9 @@ export const useCartsStore = defineStore("carts", () => { if (dinnerType.value == 'take-out') { pack_number = newNumber } + if (item.product_type == 'weight') { + pack_number = 1 + } update({ ...item, number: newNumber, pack_number }); } diff --git a/src/views/tool/Instead/components/carts/item.vue b/src/views/tool/Instead/components/carts/item.vue index 51ca740..6d3011a 100644 --- a/src/views/tool/Instead/components/carts/item.vue +++ b/src/views/tool/Instead/components/carts/item.vue @@ -6,6 +6,10 @@ 包 {{ item.product_type == "weight" ? 1 : item.num * 1 }} + + 包 + {{ item.product_type == "weight" ? 1 : item.num * 1 }} +