瀏覽代碼

Merge branch 'master' of http://47.107.53.207:3000/ymy/oms

AlanWong 1 年之前
父節點
當前提交
44a3371b15

+ 8 - 0
src/api/delivery.ts

@@ -71,4 +71,12 @@ export function cancleSendOrder(data?:any){
 		method: 'POST',
 		data: data
 	})
+}
+//物流
+export function queryByOrderNo(data?:any){
+	return request({
+		url: '/omsOrder/omsShippingCallbackLog/queryByOrderNo',
+		method: 'POST',
+		params: data
+	})
 }

+ 1 - 1
src/views/oms/order/components/batchbyOneModal.vue

@@ -17,7 +17,7 @@
           :total="data.length">
         </el-pagination>
       </div>
-      <deliveryGoodsInfo @editState="editState" @editResult="editResult" ref="info" />
+      <deliveryGoodsInfo :hideOrderCode="true" @editState="editState" @editResult="editResult" ref="info" />
       <deliveryPrice :data="priceObj[data[currentOrder].omsOrderIds]" ref="price" v-if="data[currentOrder] && priceObj[data[currentOrder].omsOrderIds]" 
       @prichChange="prichChange" :currentValue="currentPrice[data[currentOrder].omsOrderIds]" />
     </div>

+ 10 - 7
src/views/oms/order/components/deliveryDetail.vue

@@ -8,7 +8,7 @@
     :direction="direction"
     size="50%">
     <div class="content">
-      <deliveryGoodsInfo :hideOrderCode="true" :sendState="true" ref="info" :readOnly="true" />
+      <deliveryGoodsInfo :sendState="true" ref="info" :readOnly="true" />
       <div class="send-box">
         <div class="pri-title">
           <!-- <div class="title-item">
@@ -72,6 +72,7 @@
       </div>
       <div class="space"></div>
       <div class="deli-footer">
+        <div class="send-btn" @click="showLogistics">物流信息</div>
         <div class="send-btn" @click="cancelDelivery">取消发货</div>
       </div>
     </div>
@@ -93,12 +94,13 @@ export default class DeliveryDetail extends Vue {
   setShow(v:boolean){
     this.drawer=v;
   }
+  showLogistics() {
+    this.drawer = false;
+    this.$emit('showLogistics',this.value.tmsOrderNo)
+  }
   close(){
     this.value={}
     this.priceData=[];
-  }
-  btn(){
-    
   }
   getWmsState(s:any){
     let n = '';
@@ -161,26 +163,26 @@ export default class DeliveryDetail extends Vue {
   cancelDelivery(){
     let msg = '';
     if(this.value.shippingType == 'MORE'){
-      msg='此操作将导致整车订单的发货被取消,是否继续?'
+      msg = '此操作将导致整车订单的发货被取消,是否继续?'
     }
     if(this.value.shippingType == 'ONE'){
       msg = '此操作将导致该订单的发货被取消,是否继续?'
     }
     if(msg){
       this.$confirm(msg, '提示', {
-        confirmButtonText: '确定',
+        confirmButtonText: '继续',
         cancelButtonText: '取消',
         type: 'warning'
       }).then(() => {
         this.load = true;
         cancleSendOrder({orderNos:[this.value.tmsOrderNo]}).then((res:any) => {
+          this.drawer = false;
           this.load =false;
           this.$message({
             message:'该订单的发货已被取消!',
             type:'success'
           })
           this.$emit('handleSuccess');
-          this.drawer = false;
         }).catch(() => {
           this.load = false;
         })
@@ -307,6 +309,7 @@ export default class DeliveryDetail extends Vue {
     font-size: 14px;
     text-align: center;
     box-shadow: 0px 2px 6px 0px rgba(93, 167, 249, 100);
+    margin-left: 16px;
     cursor: pointer;
   }
 }

+ 2 - 2
src/views/oms/order/components/deliveryGoodsInfo.vue

@@ -6,8 +6,8 @@
     <div class="g-box">
       <div class="info-row" v-if="!hideOrderCode">
         <div class="info-col">
-          <span class="label">内部订单号:</span>
-          <span :title="value.omsOrderIds">{{ value.omsOrderIds }}</span>
+          <span class="label">单号:</span>
+          <span :title="value.tmsOrderNo">{{ value.tmsOrderNo }}</span>
         </div>
       </div>
       <!-- <div class="info-row">

+ 80 - 0
src/views/oms/order/components/logisticsInfo.vue

@@ -0,0 +1,80 @@
+<template>
+  <el-drawer
+    v-loading="load"
+    title="物流信息"
+    :visible.sync="drawer"
+    :direction="direction"
+    size="30%">
+    <div class="order-logistcs">
+      <el-timeline :reverse="true">
+        <el-timeline-item v-for="(item,index) of data" :key="index" :timestamp="item.tmsStatus + ' ' +item.createTime" placement="top">
+          <el-card>
+            <!-- <h4>{{item.tmsStatus}}</h4> -->
+            <p v-if="item.tmsOrderNo">单号:{{ item.tmsOrderNo }}</p>
+            <!-- <p v-if="item.tmsCarrierName">物流:{{ item.tmsCarrierName }}</p> -->
+            <p v-if="item.tmsPlateNumber">车牌:{{ item.tmsPlateNumber }}</p>
+            <p v-if="item.tmsDriverName">司机:{{ item.tmsDriverName }}</p>
+            <p v-if="item.tmsDriverPhone">电话:{{ item.tmsDriverPhone }}</p>
+          </el-card>
+        </el-timeline-item>
+      </el-timeline>
+    </div>
+      
+  </el-drawer>
+</template>
+<script lang="ts">
+import { Component, Prop, Vue, Watch } from "vue-property-decorator";
+import { queryByOrderNo } from  '@/api/delivery'
+@Component({components:{}})
+export default class LogisticsInfo extends Vue {
+  drawer=false;
+  direction='rtl'
+  load = false;
+  data:Array<any>=[]
+
+  setShow(v:boolean){
+    this.drawer = v;
+  }
+  loadData(code:string){
+    if(!code){
+      this.$message('订单编号不能为空!')
+      return
+    }
+    this.load = true;
+    queryByOrderNo({orderNo:code}).then((res:any) => {
+      this.load = false;
+      this.data = []
+      if(res.data){
+        this.data = res.data;
+      }
+    }).catch(() => {
+      this.load = false;
+    })
+  }
+}
+</script>
+<style lang="scss" scoped>
+.order-logistcs{
+  width: 100%;
+  box-sizing: border-box;
+
+  padding: 0 16px;
+}
+.info{
+  width: 100%;
+  padding: 8px 16px;
+  box-sizing: border-box;
+  border-bottom: solid 1px #EEE;
+  .logistic-state{
+    font-size: 14px;
+  }
+  .logistic-time{
+    font-size: 12px;
+    padding-top: 8px;
+    color: #999;
+  }
+}
+.info:last-child{
+  border: none;
+}
+</style>

+ 1 - 1
src/views/oms/order/components/orderTable.vue

@@ -126,7 +126,7 @@
         <el-button type="text" size="mini" v-if="showMerge(row)" @click="mergeHandle(row)">合并</el-button>
         <el-button type="text" size="mini" v-if="showSplit(row)" @click="splitHandle(row)">拆分</el-button>
         <el-button type="text" size="mini" v-if="showSend(row)" @click="sendGoods(row)">发货</el-button>
-        <el-button type="text" size="mini" v-if="row.status == 'Delivering'" @click="sendGoodsDetail(row)">发货明细</el-button>
+        <el-button type="text" size="mini" v-if="row.status == 'Delivering'  || row.status == 'Sent'" @click="sendGoodsDetail(row)">发货明细</el-button>
       </template>
     </vxe-column>
   </vxe-table>

+ 12 - 2
src/views/oms/order/index.vue

@@ -187,7 +187,9 @@
       <!-- 整车/拼单发货 -->
       <carpoolModal ref="carpoolModal" @handleSuccess="handleSuccess" />
       <!-- 发货单详情 -->
-      <deliveryDetail ref="deliveryDetail" @handleSuccess="handleSuccess" />
+      <deliveryDetail ref="deliveryDetail" @handleSuccess="handleSuccess" @showLogistics="showLogistics" />
+      <!-- 物流信息 -->
+      <logisticsInfo ref="logisticsInfo" />
     </div>
   </div>
 </template>
@@ -220,11 +222,12 @@ import SendModeModal from "./components/sendModeModal.vue";
 import batchbyOneModal from './components/batchbyOneModal.vue'
 import carpoolModal from './components/carpoolModal.vue'
 import DeliveryDetail from "./components/deliveryDetail.vue";
+import LogisticsInfo from "./components/logisticsInfo.vue";
 import { query,getProvince,smt,unSmt,purchaseQty,unCancel,resetQuestion,archive } from '@/api/omsOrder'
 import { queryAll } from '@/api/question'
 @Component({components:{filterInput,OrderCheckbox,OrderRadio,filterDate,OrderTool,OrderTable,AddOrder,InputSelect,OrderProduct,
   filterMinMax,loadOrderModal,PurchaseModel,MergeModel,SplitModel,CancelOrderModel,QuestModel,SetQuesModal,UpdateRmkModal,UpdateSalerModal,
-  TabModal,AddProductModal,FreightModal,LabelsModal,SendModeModal,batchbyOneModal,carpoolModal,DeliveryDetail}})
+  TabModal,AddProductModal,FreightModal,LabelsModal,SendModeModal,batchbyOneModal,carpoolModal,DeliveryDetail,LogisticsInfo}})
 export default class Order extends Vue {
   activeNames:Array<any>=['1','statusList']
   radio=''
@@ -499,6 +502,13 @@ export default class Order extends Vue {
     this.getProvince();
     this.getQuestionList();
   }
+  //查看物流
+  showLogistics(code:string){
+    if(this.$refs.logisticsInfo){
+      (this.$refs.logisticsInfo as any).setShow(true);
+      (this.$refs.logisticsInfo as any).loadData(code);
+    }
+  }
   //发货详情
   sendGoodsDetail(row:any){
     if(this.$refs.deliveryDetail){