fix: 修复称重商品切换就餐模式时打包数量展示不对问题
This commit is contained in:
parent
8bcc5b8c71
commit
2837711105
|
|
@ -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 });
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -6,6 +6,10 @@
|
|||
包
|
||||
<span class="number">{{ item.product_type == "weight" ? 1 : item.num * 1 }}</span>
|
||||
</span>
|
||||
<span class="pack" v-if="dinerType == 0 && item.pack_number * 1 > 0">
|
||||
包
|
||||
<span class="number">{{ item.product_type == "weight" ? 1 : item.num * 1 }}</span>
|
||||
</span>
|
||||
</template>
|
||||
<template v-else>
|
||||
<span class="pack" v-if="item.pack_number * 1 > 0">
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
},
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue