瀏覽代碼

适配多运单号

xdd 2 月之前
父節點
當前提交
63a9a8931a
共有 3 個文件被更改,包括 141 次插入56 次删除
  1. 21 2
      src/api/store/express.js
  2. 120 49
      src/views/store/components/productOrder.vue
  3. 0 5
      src/views/store/storeOrder/healthStoreList.vue

+ 21 - 2
src/api/store/express.js

@@ -1,4 +1,5 @@
 import request from '@/utils/request'
+import {order} from "mockjs/src/mock/random/helper";
 
 // 查询快递公司列表
 export function listExpress(query) {
@@ -16,7 +17,13 @@ export function getExpress(id) {
     method: 'get'
   })
 }
-
+export function getExpressByDeliverId(param) {
+  return request({
+    url: '/store/express/getExpressByDeliverId',
+    method: 'post',
+    data: param
+  })
+}
 export function getExpressList() {
   return request({
     url: '/store/express/getExpressList',
@@ -73,4 +80,16 @@ export function getCompanyByOmsCode(omsCode) {
     url: '/store/express/omsCode/' + omsCode,
     method: 'get'
   })
-}
+}
+
+/**
+ * 根据订单获取物流信息
+ * @param orderId
+ * @returns {*}
+ */
+export function getByOrderId(orderId){
+  return request({
+    url: '/fsStoreDelivers/getByOrderId/'+orderId,
+    method: 'get'
+  })
+}

+ 120 - 49
src/views/store/components/productOrder.vue

@@ -23,9 +23,9 @@
         <div class="operate-button-container" v-if="order.status==1||order.status==2"  v-hasPermi="['store:storeOrder:refundOrderMoney']"  >
           <el-button size="mini" @click="refundOrderMoney()" >退款</el-button>
         </div>
-        <div class="operate-button-container"  v-hasPermi="['store:storeOrder:express']"  >
-          <el-button size="mini" @click="showExpress()" >查看物流</el-button>
-        </div>
+<!--        <div class="operate-button-container"  v-hasPermi="['store:storeOrder:express']"  >-->
+<!--          <el-button size="mini" @click="showExpress()" >查看物流</el-button>-->
+<!--        </div>-->
         <div class="operate-button-container" v-if="order.tuiMoneyStatus==0"  v-hasPermi="['store:storeOrder:editTuiMoney']"  >
           <el-button size="mini" @click="editTuiMoney1()" >解冻</el-button>
         </div>
@@ -43,9 +43,9 @@
         <div class="operate-button-container" v-if="order.isPayRemain!=null&&order.isPayRemain==1"  v-hasPermi="['store:storeOrder:auditPayRemain']"  >
           <el-button size="mini" @click="auditPayRemain()" >尾款审核</el-button>
         </div>
-        <div class="operate-button-container" >
-          <el-button size="mini" @click="editDelivery()"  v-hasPermi="['store:storeOrder:editDeliveryId']" >修改物流</el-button>
-        </div>
+<!--        <div class="operate-button-container" >-->
+<!--          <el-button size="mini" @click="editDelivery()"  v-hasPermi="['store:storeOrder:editDeliveryId']" >修改物流</el-button>-->
+<!--        </div>-->
         <div class="operate-button-container" v-if="order.status >=1 && order.extendOrderId == null && order.deliveryId == null"  v-hasPermi="['store:storeOrder:createErpOrder']"  >
           <el-button size="mini" @click="addErpOrder()" >创建ERP订单信息</el-button>
         </div>
@@ -81,31 +81,31 @@
             <el-descriptions-item label="订单类型"  >
               <el-tag prop="orderType" v-for="(item, index) in orderTypeOptions"    v-if="order!=null&&order.orderType==item.dictValue">{{item.dictLabel}}</el-tag>
             </el-descriptions-item>
-            <el-descriptions-item label="物流公司编号"  >
-                <span v-if="order!=null">
-                  {{order.deliverySn}}
-                </span>
-            </el-descriptions-item>
-            <el-descriptions-item label="物流公司名称"  >
-                <span v-if="order!=null">
-                  {{order.deliveryName}}
-                </span>
-            </el-descriptions-item>
-            <el-descriptions-item label="物流单号"  >
-                <span v-if="order!=null">
-                  {{order.deliveryId}}
-                </span>
-            </el-descriptions-item>
-            <el-descriptions-item label="物流状态"  >
-                <span v-if="order!=null">
-                  <el-tag prop="deliveryId" v-for="(item, index) in deliveryStatusOptions"    v-if="order!=null&&order.deliveryStatus==item.dictValue">{{item.dictLabel}}</el-tag>
-                </span>
-            </el-descriptions-item>
-            <el-descriptions-item label="物流跟踪状态"  >
-                <span v-if="order!=null">
-                  <el-tag prop="deliveryId" v-for="(item, index) in deliveryTypeOptions"    v-if="order!=null&&order.deliveryType==item.dictValue">{{item.dictLabel}}</el-tag>
-                </span>
-            </el-descriptions-item>
+<!--            <el-descriptions-item label="物流公司编号"  >-->
+<!--                <span v-if="order!=null">-->
+<!--                  {{order.deliverySn}}-->
+<!--                </span>-->
+<!--            </el-descriptions-item>-->
+<!--            <el-descriptions-item label="物流公司名称"  >-->
+<!--                <span v-if="order!=null">-->
+<!--                  {{order.deliveryName}}-->
+<!--                </span>-->
+<!--            </el-descriptions-item>-->
+<!--            <el-descriptions-item label="物流单号"  >-->
+<!--                <span v-if="order!=null">-->
+<!--                  {{order.deliveryId}}-->
+<!--                </span>-->
+<!--            </el-descriptions-item>-->
+<!--            <el-descriptions-item label="物流状态"  >-->
+<!--                <span v-if="order!=null">-->
+<!--                  <el-tag prop="deliveryId" v-for="(item, index) in deliveryStatusOptions"    v-if="order!=null&&order.deliveryStatus==item.dictValue">{{item.dictLabel}}</el-tag>-->
+<!--                </span>-->
+<!--            </el-descriptions-item>-->
+<!--            <el-descriptions-item label="物流跟踪状态"  >-->
+<!--                <span v-if="order!=null">-->
+<!--                  <el-tag prop="deliveryId" v-for="(item, index) in deliveryTypeOptions"    v-if="order!=null&&order.deliveryType==item.dictValue">{{item.dictLabel}}</el-tag>-->
+<!--                </span>-->
+<!--            </el-descriptions-item>-->
             <el-descriptions-item label="物流结算费用"  >
                 <span v-if="order!=null&&order.deliveryPayMoney!=null ">
                   {{order.deliveryPayMoney.toFixed(2) }}
@@ -159,6 +159,52 @@
                 </span>
             </el-descriptions-item>
       </el-descriptions>
+        <div style="margin-top: 20px">
+          <span class="font-small">物流信息</span>
+        </div>
+        <el-table
+          border
+          v-if="deliverList!=null"
+          :data="deliverList"
+          size="small"
+          style="width: 100%;margin-top: 20px" >
+          <el-table-column label="物流公司编码" width="150" align="center">
+            <template slot-scope="scope">
+              <p>{{scope.row.deliverSn}}</p>
+            </template>
+          </el-table-column>
+          <el-table-column label="物流公司名称" width="300" align="center">
+            <template slot-scope="scope">
+              <p>{{scope.row.deliverName}}</p>
+            </template>
+          </el-table-column>
+          <el-table-column label="物流单号" width="300" align="center">
+            <template slot-scope="scope">
+              <p>{{scope.row.deliverId}}</p>
+            </template>
+          </el-table-column>
+          <el-table-column label="物流状态" width="300" align="center">
+            <template slot-scope="scope">
+              <span>
+              <el-tag v-for="(item, index) in deliveryStatusOptions"    v-if="scope.row!=null&&scope.row.status==item.dictValue">
+              {{item.dictLabel}}
+              </el-tag>
+              </span>
+            </template>
+          </el-table-column>
+          <el-table-column label="发货时间" width="240" align="center">
+            <template slot-scope="scope">
+              {{scope.row.deliverSendTime}}
+            </template>
+          </el-table-column>
+          <el-table-column label="操作" width="240" align="center">
+            <template slot-scope="scope">
+              <el-link  type="primary" @click="showExpress(scope)">查看物流跟踪</el-link>
+              &nbsp;&nbsp;
+              <el-link  type="primary" @click="editDelivery(scope)">修改物流</el-link>
+            </template>
+          </el-table-column>
+        </el-table>
       <div style="margin: 20px 0px"  v-if="order!=null">
         <span class="font-small">
           凭证信息
@@ -388,7 +434,7 @@
         <el-button size="mini" @click="updateErpOrder" >同步物流单号信息</el-button>
       </div>
         <el-form-item label="物流公司" prop="deliverySn" >
-           <el-select style="width:220px" v-model="editDyForm.deliverySn" placeholder="请选择" clearable size="small">
+           <el-select style="width:220px" v-model="editDyForm.deliverSn" placeholder="请选择" clearable size="small">
             <el-option key="SF"  label="顺丰" value="SF" />
             <el-option key="EMS"  label="邮政" value="EMS" />
              <el-option key="ZTO"  label="中通" value="ZTO" />
@@ -397,7 +443,7 @@
            </el-select>
          </el-form-item>
         <el-form-item label="物流单号" prop="deliveryId"  >
-          <el-input v-model="editDyForm.deliveryId" placeholder="请输入物流单号" />
+          <el-input v-model="editDyForm.deliverId" placeholder="请输入物流单号" />
         </el-form-item>
 
       </el-form>
@@ -487,6 +533,7 @@
 <script>
 import {auditPayRemain,addTuiMoney,syncExpress,updateExpress,getEroOrder,refundOrderMoney, editTuiMoney,getExpress,finishOrder,listStoreOrder, getStoreOrder, delStoreOrder, addStoreOrder, updateStoreOrder, exportStoreOrder,updateDeliveryId, createErpOrder,updateErp,getStoreOrderAddress,getStoreOrderPhone} from "@/api/store/storeOrder";
 import { getTcmScheduleList } from "@/api/company/schedule";
+import {getByOrderId, getExpressByDeliverId} from "../../../api/store/express";
 export default {
   name: "order",
   data() {
@@ -515,8 +562,10 @@ export default {
         open:false,
       },
       editDyForm:{
-        deliverySn:null,
-        deliveryId:null,
+        id: null,
+        orderId: null,
+        deliverSn:null,
+        deliverId:null,
       },
       editForm:{
         orderType:null,
@@ -528,10 +577,10 @@ export default {
       },
 
       editDyRules:{
-        deliverySn: [
+        deliverSn: [
           { required: true, message: "物流公司不能为空", trigger: "blur" }
         ],
-        deliveryId: [
+        deliverId: [
           { required: true, message: "物流单号不能为空", trigger: "blur" }
         ],
       },
@@ -555,6 +604,7 @@ export default {
       payments:[],
       tuiMoneyLogs:[],
       erpOrder:null,
+      deliverList: []
     };
   },
   created() {
@@ -582,6 +632,14 @@ export default {
     });
   },
   methods: {
+    deliveryStatus(val){
+      return this.deliveryStatusOptions.filter(e=>e.dictValue === val)[0].dictLabel;
+    },
+    getExpressList(){
+      getByOrderId(this.orderId).then(res=>{
+        this.deliverList = res.data;
+      })
+    },
     handleAddress(){
         const id = this.order.id;
         getStoreOrderAddress(id).then(response =>{
@@ -652,15 +710,25 @@ export default {
 
       });
     },
-    showExpress(){
+    showExpress(scope){
       this.expressDialog.open=true;
-      getExpress(this.orderId).then(response => {
-          this.express = response.data;
-          if(this.express!=null&&this.express.Traces!=null){
-              this.traces=this.express.Traces
-          }
-
-      });
+      getExpressByDeliverId({
+        orderId: this.orderId,
+        deliverId: scope.row.deliverId,
+        deliverSn: scope.row.deliverSn
+      }).then(response => {
+        this.express = response.data;
+        if(this.express!=null&&this.express.Traces!=null){
+          this.traces=this.express.Traces
+        }
+      })
+      // getExpress(this.orderId).then(response => {
+      //     this.express = response.data;
+      //     if(this.express!=null&&this.express.Traces!=null){
+      //         this.traces=this.express.Traces
+      //     }
+      //
+      // });
 
     },
     submitEditForm(){
@@ -801,11 +869,12 @@ export default {
           this.getOrder(this.order.id);
         }).catch(function() {});
     },
-    editDelivery(){
+    editDelivery(scope){
       this.editDy.open = true;
-      this.editDyForm.id = this.order.id;
-      this.editDyForm.deliveryId = this.order.deliveryId;
-      this.editDyForm.deliverySn = this.order.deliverySn;
+      this.editDyForm.orderId = this.order.id;
+      this.editDyForm.id = scope.row.id;
+      this.editDyForm.deliverId = scope.row.deliverId;
+      this.editDyForm.deliverSn = scope.row.deliverSn;
     },
     getOrder(orderId){
         this.orderId=orderId;
@@ -824,6 +893,8 @@ export default {
             this.payments=response.payments;
             this.tuiMoneyLogs=response.tuiMoneyLogs;
         });
+
+        this.getExpressList();
      }
   }
 };

+ 0 - 5
src/views/store/storeOrder/healthStoreList.vue

@@ -246,11 +246,6 @@
               <el-tag prop="status" v-for="(item, index) in statusOptions"    v-if="scope.row.status==item.dictValue">{{item.dictLabel}}</el-tag>
           </template>
       </el-table-column>
-      <el-table-column label="物流状态" align="center" prop="deliveryStatus" >
-          <template slot-scope="scope">
-              <el-tag prop="status" v-for="(item, index) in deliveryStatusOptions"    v-if="scope.row.deliveryStatus==item.dictValue">{{item.dictLabel}}</el-tag>
-          </template>
-      </el-table-column>
       <el-table-column label="物流结算状态" align="center" prop="deliveryPayStatus" >
           <template slot-scope="scope">
               <el-tag prop="status" v-for="(item, index) in deliveryPayStatusOptions"    v-if="scope.row.deliveryPayStatus==item.dictValue">{{item.dictLabel}}</el-tag>