yjwang 2 недель назад
Родитель
Сommit
cbbdbdf90b

+ 8 - 0
src/api/store/storePromotion.js

@@ -0,0 +1,8 @@
+import request from '@/utils/request'
+
+export function getOrderPromotionDetail(orderId) {
+  return request({
+    url: '/store/storePromotion/order/' + orderId,
+    method: 'get'
+  })
+}

+ 82 - 0
src/views/components/store/storeAfterSalesDetails.vue

@@ -170,6 +170,60 @@
         </el-table>
   </div>
 
+<!--      <div class="content" v-if="item != null">
+        <div class="desct">费用信息</div>
+        <el-descriptions :column="4" border>
+          <el-descriptions-item label="商品合计">
+            <span v-if="order != null">
+              ¥{{ order.totalPrice.toFixed(2) }}
+            </span>
+          </el-descriptions-item>
+          <el-descriptions-item label="应付金额">
+            <span v-if="order != null">
+              ¥{{ order.payPrice.toFixed(2) }}
+            </span>
+          </el-descriptions-item>
+          <el-descriptions-item label="运费">
+            <span v-if="order != null">
+              ¥{{ order.payPostage.toFixed(2) }}
+            </span>
+          </el-descriptions-item>
+          <el-descriptions-item label="优惠券">
+            <span v-if="order != null">
+              ¥{{ order.couponPrice.toFixed(2) }}
+            </span>
+          </el-descriptions-item>
+          <el-descriptions-item label="活动名称" v-if="orderPromotion != null">
+            <span>{{ orderPromotion.activityTitle }}</span>
+          </el-descriptions-item>
+          <el-descriptions-item label="活动类型" v-if="orderPromotion != null">
+            <span>{{ orderPromotion.tierTypeLabel }}</span>
+          </el-descriptions-item>
+          <el-descriptions-item label="活动档位" v-if="orderPromotion != null">
+            <span>{{ orderPromotion.matchedTierDesc }}</span>
+          </el-descriptions-item>
+          <el-descriptions-item label="活动优惠" v-if="orderPromotion != null">
+            <span class="color-danger">
+              ¥{{ formatPromotionDiscount(orderPromotion.promotionDiscountAmount) }}
+            </span>
+          </el-descriptions-item>
+          <el-descriptions-item label="积分抵扣">
+            <span v-if="order != null">
+              ¥{{ order.deductionPrice.toFixed(2) }}
+            </span>
+          </el-descriptions-item>
+          <el-descriptions-item label="实付金额">
+            <span v-if="order != null">
+              ¥{{ order.payMoney.toFixed(2) }}
+            </span>
+          </el-descriptions-item>
+          <el-descriptions-item label="代收金额">
+            <span v-if="order != null">
+              ¥{{ order.payDelivery.toFixed(2) }}
+            </span>
+          </el-descriptions-item>
+        </el-descriptions>
+      </div>-->
 
       <div class="content" v-if="item!=null">
            <div class="desct">
@@ -251,6 +305,8 @@
 
 <script>
 import {tuiMoney,noAuditing,depotAuditing, auditing, codeId, logList,getRelatedProducts, itemList,listSales, getSales, delSales, addSales, updateSales, exportSales, getExpress, cancelSales, audit1 } from "@/api/store/storeAfterSales";
+import { getStoreOrder } from "@/api/store/storeOrder";
+import { getOrderPromotionDetail } from "@/api/store/storePromotion";
 import storeOrderDetails from '../store/storeOrderDetails.vue';
   export default {
     name: "orderDet",
@@ -293,6 +349,8 @@ import storeOrderDetails from '../store/storeOrderDetails.vue';
         afterSalesStatusOptions:[],
         item:null,
         prod:null,
+        order: null,
+        orderPromotion: null,
         form: {
           sreason: '',
         }
@@ -313,6 +371,12 @@ import storeOrderDetails from '../store/storeOrderDetails.vue';
       });
     },
     methods: {
+      formatPromotionDiscount(amount) {
+        if (amount == null || amount === '') {
+          return '0.00';
+        }
+        return Number(amount).toFixed(2);
+      },
       submitForm() {
         var id=this.item.id;
         this.editForm.id = id;
@@ -432,12 +496,30 @@ import storeOrderDetails from '../store/storeOrderDetails.vue';
         this.nickName=nickName;
         this.storeName=storeName;
         this.item=null;
+        this.order=null;
+        this.orderPromotion=null;
           getSales(orderId).then(response => {
               this.item = response.data;
               this.getitemList();
               this.getlogList();
+              this.loadOrderFeeInfo(this.item.orderId);
           });
       },
+      loadOrderFeeInfo(orderId) {
+        if (!orderId) {
+          return;
+        }
+        getStoreOrder(orderId).then(response => {
+          this.order = response.order || null;
+        }).catch(() => {
+          this.order = null;
+        });
+        getOrderPromotionDetail(orderId).then(response => {
+          this.orderPromotion = response.data || null;
+        }).catch(() => {
+          this.orderPromotion = null;
+        });
+      },
       editDelivery(){
         this.edit.open = true;
         this.editForm.deliveryName = this.item.deliveryName;

+ 31 - 0
src/views/components/store/storeOrderDetails.vue

@@ -319,6 +319,20 @@
                 ¥{{order.couponPrice.toFixed(2)}}
               </span>
           </el-descriptions-item>
+          <el-descriptions-item label="活动名称" v-if="orderPromotion != null">
+              <span>{{ orderPromotion.activityTitle }}</span>
+          </el-descriptions-item>
+          <el-descriptions-item label="活动类型" v-if="orderPromotion != null">
+              <span>{{ orderPromotion.tierTypeLabel }}</span>
+          </el-descriptions-item>
+          <el-descriptions-item label="活动档位" v-if="orderPromotion != null">
+              <span>{{ orderPromotion.matchedTierDesc }}</span>
+          </el-descriptions-item>
+          <el-descriptions-item label="活动优惠" v-if="orderPromotion != null">
+              <span class="color-danger">
+                ¥{{ formatPromotionDiscount(orderPromotion.promotionDiscountAmount) }}
+              </span>
+          </el-descriptions-item>
           <el-descriptions-item label="积分抵扣"  >
               <span v-if="order!=null">
                 ¥{{order.deductionPrice.toFixed(2)}}
@@ -593,6 +607,7 @@ import {afterSales,auditPayRemain,addTuiMoney,syncExpress,updateExpress,getEroOr
    editTuiMoney,getExpress,finishOrder,listStoreOrder, getStoreOrder, delStoreOrder,
    addStoreOrder, updateStoreOrder, exportStoreOrder,updateDeliveryId, createErpOrder,
    updateErp,getStoreOrderAddress,getStoreOrderPhone,updateCommentInfo,getCommentInfo } from "@/api/store/storeOrder";
+import { getOrderPromotionDetail } from "@/api/store/storePromotion";
 export default {
   name: "order",
   data() {
@@ -665,6 +680,7 @@ export default {
       tuiMoneyLogs:[],
       erpOrder:null,
       auditLogs: [],
+      orderPromotion: null,
     };
   },
   created() {
@@ -689,6 +705,12 @@ export default {
     });
   },
   methods: {
+    formatPromotionDiscount(amount) {
+      if (amount == null || amount === '') {
+        return '0.00';
+      }
+      return Number(amount).toFixed(2);
+    },
     //提交回复
     submitreplyCommentForm(){
       let _this = this;
@@ -946,6 +968,7 @@ export default {
     getOrder(orderId){
       this.orderId=orderId;
       this.certificates = null;
+      this.orderPromotion = null;
       getStoreOrder(orderId).then(response => {
         this.order = response.order;
         if(response.order.certificates != null){
@@ -960,6 +983,14 @@ export default {
         this.payments=response.payments;
         this.tuiMoneyLogs=response.tuiMoneyLogs;
         this.auditLogs = response.auditLogs;
+        this.loadOrderPromotion(orderId);
+      });
+    },
+    loadOrderPromotion(orderId) {
+      getOrderPromotionDetail(orderId).then(response => {
+        this.orderPromotion = response.data || null;
+      }).catch(() => {
+        this.orderPromotion = null;
       });
     },