浏览代码

refactor(create-order): 优化订单详情页面的金额计算逻辑

- 移除了 OrderDetailCardProductList 组件中的 setTotalAmounts 方法
- 更新了 OrderDetailCardProductSummarize 和 SelectOrderDetailCard 组件中的金额计算逻辑
- 统一使用 pay_money 字段计算合同金额合计
- 简化了折扣率的计算方式

Signed-off-by: tangshizhe <48740614+tangshizhe@users.noreply.github.com>
tangshizhe 1 月之前
父节点
当前提交
ff991df448

+ 0 - 11
src/views/create-order/components/order-detail-submodule/OrderDetailCardProductList.vue

@@ -342,7 +342,6 @@ export default {
           })
         );
       }
-      this.setTotalAmounts(productData);
       this.productData = productData;
     },
     sortTableText(service) {
@@ -511,16 +510,6 @@ export default {
       }
       return '';
     },
-    // 设置合同金额合计和标准售价合计,以及计算折扣率总和。
-    setTotalAmounts(productData) {
-      const totalFinalPrice = productData.reduce((acc, cur) => acc + Number(cur.final_price), 0).toFixed(2);
-      const totalOriginalPrice = productData.reduce((acc, cur) => acc + Number(cur.original_price), 0).toFixed(2);
-      const rateTotal = div(totalFinalPrice, totalOriginalPrice) ? (div(totalFinalPrice, totalOriginalPrice) * 100).toFixed(2) + '%' : '无法计算';
-
-      this.orderData.final_price_total = totalFinalPrice;
-      this.orderData.original_price_total = Number(totalOriginalPrice) ? '¥' + totalOriginalPrice : '无法计算';
-      this.orderData.rate_total = Number(totalOriginalPrice) ? rateTotal : '无法计算';
-    },
 
     shouldRenderItem(item, product) {
       if (item.condition && typeof item.condition === 'function') {

+ 1 - 1
src/views/create-order/components/order-detail-submodule/OrderDetailCardProductSummarize.vue

@@ -182,7 +182,7 @@ export default {
     // 设置合同金额合计和标准售价合计,以及计算折扣率总和。
     setTotalAmounts(productData) {
       this.orderData = this.orderDetail.orderData || {};
-      const totalFinalPrice = this.isBackstageOrder ? (this.formatNumber(this.orderData.pay_money) || '0.00') : (this.formatNumber(this.orderData.order_money) || '0.00')
+      const totalFinalPrice = this.formatNumber(this.orderData.pay_money) || '0.00'
       let totalOriginalPrice = productData.reduce((acc, cur) => acc + Number(cur.original_price), 0).toFixed(2);
       const totalDiscountRate = div(totalFinalPrice, totalOriginalPrice) * 100
       const rateTotal = totalDiscountRate ? (div(totalFinalPrice, totalOriginalPrice) * 100).toFixed(2) + '%' : '0%'

+ 1 - 1
src/views/create-order/components/order-detail-submodule/SelectOrderDetailCard.vue

@@ -720,7 +720,7 @@ export default {
     // 设置合同金额合计和标准售价合计,以及计算折扣率总和。
     setTotalAmounts(productData) {
       this.orderData = this.orderDetail.orderData || {};
-      const totalFinalPrice = this.isBackstageOrder ? (this.formatNumber(this.orderData.pay_money) || '0.00') : (this.formatNumber(this.orderData.order_money) || '0.00')
+      const totalFinalPrice = this.formatNumber(this.orderData.pay_money) || '0.00'
       let totalOriginalPrice = productData.reduce((acc, cur) => acc + Number(cur.original_price), 0).toFixed(2);
       const totalDiscountRate = div(totalFinalPrice, totalOriginalPrice) * 100
       const rateTotal = totalDiscountRate ? (div(totalFinalPrice, totalOriginalPrice) * 100).toFixed(2) + '%' : '0%'