fix: 修复称重商品切换就餐模式时打包数量展示不对问题
This commit is contained in:
parent
8bcc5b8c71
commit
2837711105
|
|
@ -127,35 +127,42 @@ export const useCartsStore = defineStore("carts", () => {
|
||||||
}, 0)
|
}, 0)
|
||||||
return (nowTotal + oldGiftMoney)
|
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 packNum = computed(() => {
|
||||||
const nowCartNumber = list.value.reduce((acc: number, cur: any) => {
|
const nowCartNumber = list.value.reduce((acc: number, cur: any) => {
|
||||||
return acc + cur.pack_number * 1
|
return acc + returnCartPackNumber(cur)
|
||||||
}, 0)
|
}, 0)
|
||||||
const giftNumber = giftList.value.reduce((acc: number, cur: any) => {
|
const giftNumber = giftList.value.reduce((acc: number, cur: any) => {
|
||||||
return acc + cur.pack_number * 1
|
return acc + returnCartPackNumber(cur)
|
||||||
}, 0)
|
}, 0)
|
||||||
let oldNumber = 0
|
let oldNumber = 0
|
||||||
for (let i in oldOrder.value.detailMap) {
|
for (let i in oldOrder.value.detailMap) {
|
||||||
oldNumber += oldOrder.value.detailMap[i].reduce((prve: number, cur: any) => {
|
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)
|
}, 0)
|
||||||
}
|
}
|
||||||
return nowCartNumber + giftNumber + oldNumber
|
return nowCartNumber + giftNumber + oldNumber
|
||||||
})
|
})
|
||||||
|
|
||||||
//打包费
|
//打包费
|
||||||
const packFee = computed(() => {
|
const packFee = computed(() => {
|
||||||
const nowPackFee = list.value.reduce((acc: number, cur: any) => {
|
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)
|
}, 0)
|
||||||
const giftPackFee = giftList.value.reduce((acc: number, cur: any) => {
|
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)
|
}, 0)
|
||||||
let oldPackfee = 0;
|
let oldPackfee = 0;
|
||||||
for (let i in oldOrder.value.detailMap) {
|
for (let i in oldOrder.value.detailMap) {
|
||||||
oldPackfee += oldOrder.value.detailMap[i].reduce((prve: number, cur: any) => {
|
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) * returnCartPackNumber(cur)
|
||||||
return prve + (cur.packFee || 0) * number
|
|
||||||
}, 0)
|
}, 0)
|
||||||
}
|
}
|
||||||
return nowPackFee + giftPackFee + oldPackfee
|
return nowPackFee + giftPackFee + oldPackfee
|
||||||
|
|
@ -273,6 +280,9 @@ export const useCartsStore = defineStore("carts", () => {
|
||||||
if (dinnerType.value == 'take-out') {
|
if (dinnerType.value == 'take-out') {
|
||||||
pack_number = newNumber
|
pack_number = newNumber
|
||||||
}
|
}
|
||||||
|
if (item.product_type == 'weight') {
|
||||||
|
pack_number = 1
|
||||||
|
}
|
||||||
update({ ...item, number: newNumber, pack_number });
|
update({ ...item, number: newNumber, pack_number });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,10 @@
|
||||||
包
|
包
|
||||||
<span class="number">{{ item.product_type == "weight" ? 1 : item.num * 1 }}</span>
|
<span class="number">{{ item.product_type == "weight" ? 1 : item.num * 1 }}</span>
|
||||||
</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>
|
||||||
<template v-else>
|
<template v-else>
|
||||||
<span class="pack" v-if="item.pack_number * 1 > 0">
|
<span class="pack" v-if="item.pack_number * 1 > 0">
|
||||||
|
|
|
||||||
|
|
@ -474,6 +474,7 @@ function returnPayParams() {
|
||||||
fullCouponDiscountAmount: fullCouponDiscountAmount.value * 1,
|
fullCouponDiscountAmount: fullCouponDiscountAmount.value * 1,
|
||||||
couponList: quansSelArr.value.map((v) => v.id),
|
couponList: quansSelArr.value.map((v) => v.id),
|
||||||
userId: props.user.userId || "",
|
userId: props.user.userId || "",
|
||||||
|
allPack: carts.dinnerType == "take-out" ? 1 : 0,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -584,6 +584,10 @@ const diners = reactive({
|
||||||
|
|
||||||
function changeDinersSel(index) {
|
function changeDinersSel(index) {
|
||||||
diners.sel = index;
|
diners.sel = index;
|
||||||
|
changeCartsDinerType();
|
||||||
|
}
|
||||||
|
|
||||||
|
function changeCartsDinerType() {
|
||||||
carts.dinnerType = diners.sel == 0 ? "dine-in" : "take-out";
|
carts.dinnerType = diners.sel == 0 ? "dine-in" : "take-out";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -729,6 +733,7 @@ watch(
|
||||||
function init() {
|
function init() {
|
||||||
getTableList();
|
getTableList();
|
||||||
getCategoryList();
|
getCategoryList();
|
||||||
|
changeCartsDinerType();
|
||||||
carts.init({ table_code: table.tableCode }, oldOrder.value);
|
carts.init({ table_code: table.tableCode }, oldOrder.value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue