fix:折上折bug修复

dev_1.0.2
jiangpeng 2026-06-09 18:04:15 +08:00
parent d55fc11e24
commit a5b4446202
1 changed files with 15 additions and 12 deletions

View File

@ -30,7 +30,7 @@
<td v-if="!hidePrice">{{ product.discount ? (product.discount * 100).toFixed(2) + '%' : '-' }}</td>
<td>{{ formatCurrency(product.price) }}</td>
<td>{{ selectedDiscountLabel }}</td>
<td>{{ formatCurrency(product.allPrice) }}</td>
<td>{{ formatCurrency(getDisplayAllPrice(product, selectedDiscount)) }}</td>
<td>{{ formatCurrency(getDiscountedAllPrice(product, selectedDiscount)) }}</td>
<td>
<el-input
@ -86,7 +86,7 @@
<td v-if="!hidePrice">{{ product.discount ? (product.discount * 100).toFixed(2) + '%' : '-' }}</td>
<td>{{ formatCurrency(product.price) }}</td>
<td>{{ selectedDiscountLabel }}</td>
<td>{{ formatCurrency(product.allPrice) }}</td>
<td>{{ formatCurrency(getDisplayAllPrice(product, selectedDiscount)) }}</td>
<td>{{ formatCurrency(getDiscountedAllPrice(product, selectedDiscount)) }}</td>
<td>
<el-input
@ -142,7 +142,7 @@
<td v-if="!hidePrice">{{ product.discount ? (product.discount * 100).toFixed(2) + '%' : '-' }}</td>
<td>{{ formatCurrency(product.price) }}</td>
<td>{{ selectedDiscountLabel }}</td>
<td>{{ formatCurrency(product.allPrice) }}</td>
<td>{{ formatCurrency(getDisplayAllPrice(product, selectedDiscount)) }}</td>
<td>{{ formatCurrency(getDiscountedAllPrice(product, selectedDiscount)) }}</td>
<td>
<el-input
@ -302,19 +302,22 @@ export default {
//
this.$emit('tax-rate-change', product);
},
getDiscountedAllPrice(product, discount) {
if (discount === 1) {
return product.allPrice;
getDisplayAllPrice(product, discount) {
const allPrice = product.allPrice || 0;
if (this.order.orderStatus === '2' || this.order.orderStatus === 2) {
return this.$calc.div(allPrice, discount || 1);
}
const roundedDiscountedUnitPrice = this.$calc.mul( product.price,discount);
return this.$calc.mul(roundedDiscountedUnitPrice , product.quantity);
return allPrice;
},
getDiscountedAllPrice(product, discount) {
const allPrice = product.allPrice || 0;
if (this.order.orderStatus === '2' || this.order.orderStatus === 2) {
return allPrice;
}
return this.$calc.mul(allPrice, discount);
},
calculateTotal(productList, discount) {
if (!productList) return 0;
if (this.order.orderStatus === '2' || this.order.orderStatus === 2) {
return productList.reduce((sum, product) => sum + (product.allPrice || 0), 0);
}
return productList.reduce((sum, product) => sum + (this.getDiscountedAllPrice(product, discount) || 0), 0);
},
formatCurrency(value) {