yjwang 6 часов назад
Родитель
Сommit
99b53291a2

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

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

+ 75 - 0
src/views/hisStore/components/productAfterSalesOrder.vue

@@ -140,6 +140,62 @@
             </template>
           </el-table-column>
         </el-table>
+
+        <div style="margin: 60px 0px 20px 0px">
+          <span class="font-small">费用信息</span>
+        </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 style="margin-top: 20px">
           <span class="font-small">操作信息</span>
         </div>
@@ -205,6 +261,7 @@
 
 <script>
 import {getStoreAfterSales,cancel,refund,audit,updateStoreAfterSales } from "@/api/hisStore/storeAfterSales";
+import { getOrderPromotionDetail } from "@/api/hisStore/storePromotion";
 
 import productOrder from "./productOrder";
 export default {
@@ -238,6 +295,7 @@ export default {
         ],
       },
       order:null,
+      orderPromotion: null,
       user:null,
       serviceTypeOptions:[],
       salesStatusOptions:[],
@@ -286,6 +344,12 @@ export default {
     });
   },
   methods: {
+    formatPromotionDiscount(amount) {
+      if (amount == null || amount === '') {
+        return '0.00';
+      }
+      return Number(amount).toFixed(2);
+    },
     submitForm() {
       var id=this.afterSales.id;
       this.addForm.id = id;
@@ -360,13 +424,24 @@ export default {
         }).catch(function() {});
     },
     getStoreAfterSales(id){
+        this.orderPromotion = null;
         getStoreAfterSales(id).then(response => {
             this.afterSales = response.afterSales;
             this.logs = response.logs;
             this.items = response.items;
             this.user=response.user;
             this.order=response.order;
+            if (this.order && this.order.id) {
+              this.loadOrderPromotion(this.order.id);
+            }
         });
+     },
+     loadOrderPromotion(orderId) {
+       getOrderPromotionDetail(orderId).then(response => {
+         this.orderPromotion = response.data || null;
+       }).catch(() => {
+         this.orderPromotion = null;
+       });
      }
   }
 };

+ 32 - 1
src/views/hisStore/components/productOrder.vue

@@ -222,6 +222,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)}}
@@ -495,6 +509,7 @@ import {getCustomerListBySearch } from "@/api/crm/customer";
 import ImageUpload from '@/components/ImageUpload'
 import Material from '@/components/Material'
 import {bindCustomer,getExpress, listStoreOrder, getStoreOrder, delStoreOrder, addStoreOrder, updateStoreOrder, exportStoreOrder,uploadCredentials, getStoreOrderAddress,getUserPhone} from "@/api/hisStore/storeOrder";
+import { getOrderPromotionDetail } from "@/api/hisStore/storePromotion";
 import {getCitys} from "@/api/hisStore/city";
 import customerDetails from '../../crm/components/customerDetails.vue';
 import addSms from '../../crm/components/addSms.vue';
@@ -602,7 +617,8 @@ export default {
       express:[],
       traces:[],
       payments:[],
-      auditLogs: []
+      auditLogs: [],
+      orderPromotion: null,
     };
   },
   created() {
@@ -631,6 +647,12 @@ export default {
     }
   },
   methods: {
+    formatPromotionDiscount(amount) {
+      if (amount == null || amount === '') {
+        return '0.00';
+      }
+      return Number(amount).toFixed(2);
+    },
     closeSms(){
       this.addSms.open=false;
     },
@@ -854,6 +876,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){
@@ -865,7 +888,15 @@ export default {
             this.payments=response.payments;
             this.customerInfo=response.customer;
             this.auditLogs = response.auditLogs;
+            this.loadOrderPromotion(orderId);
         });
+     },
+     loadOrderPromotion(orderId) {
+       getOrderPromotionDetail(orderId).then(response => {
+         this.orderPromotion = response.data || null;
+       }).catch(() => {
+         this.orderPromotion = null;
+       });
      }
   }
 };