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 }}
+
diff --git a/src/views/tool/Instead/components/order.vue b/src/views/tool/Instead/components/order.vue
index b322d35..38ff990 100644
--- a/src/views/tool/Instead/components/order.vue
+++ b/src/views/tool/Instead/components/order.vue
@@ -474,6 +474,7 @@ function returnPayParams() {
fullCouponDiscountAmount: fullCouponDiscountAmount.value * 1,
couponList: quansSelArr.value.map((v) => v.id),
userId: props.user.userId || "",
+ allPack: carts.dinnerType == "take-out" ? 1 : 0,
},
};
}
diff --git a/src/views/tool/Instead/index.vue b/src/views/tool/Instead/index.vue
index e504132..a89d5cc 100644
--- a/src/views/tool/Instead/index.vue
+++ b/src/views/tool/Instead/index.vue
@@ -584,6 +584,10 @@ const diners = reactive({
function changeDinersSel(index) {
diners.sel = index;
+ changeCartsDinerType();
+}
+
+function changeCartsDinerType() {
carts.dinnerType = diners.sel == 0 ? "dine-in" : "take-out";
}
@@ -729,6 +733,7 @@ watch(
function init() {
getTableList();
getCategoryList();
+ changeCartsDinerType();
carts.init({ table_code: table.tableCode }, oldOrder.value);
}