Browse Source

Merge branch 'master' of http://47.100.3.209:3000/gdc/yiliangyiyun-pc

ccjgmwz 3 years ago
parent
commit
0564c44b68

+ 6 - 1
src/api/V2/statisticalReport/index.js

@@ -93,4 +93,9 @@ export const API_POST_DISORREMARKS = '/stockSaleReceiptReport/api/disAndRemark'
 export const API_POST_SALEEDITSETTLEMENTWEIGHT = '/stockSaleReceiptReport/api/editSettlementWeight'
 //现货销售出库合同下拉
 export const API_GET_STOCK_SALE_CONTRACTNO = '/stockSaleReceiptReport/selectContractNoList'
-
+// 火运,船运合同编号下拉
+export const API_GET_YUNSHUXIALA = '/tranTaskInfo/selectTranTask'
+// 火运,船运运输编号下拉
+export const API_GET_YUNSHUNUMBER = '/tranTaskInfo/selectTask'
+// 火运,船运实际价格
+export const API_POST_YUNSHUSETPRICE = '/tranProcessInfo/api/setUpTranPrice'

+ 33 - 0
src/components/imgPreview/ImgPreview.vue

@@ -0,0 +1,33 @@
+<template>
+  <el-dialog
+    :visible.sync="isShowImageDialog"
+    @closed="clearImg"
+  >
+    <el-carousel indicator-position="outside" height="600px" :autoplay='false'>
+      <el-carousel-item v-for="src in imgs">
+        <img :src="src" style="max-width: 100%;max-height: 100%;display: block; margin: 0 auto;"/>
+      </el-carousel-item>
+    </el-carousel>
+  </el-dialog>
+</template>
+ 
+<script>
+export default {
+  name: 'ImgPreview',
+  data() {
+    return {
+      imgs: '',
+      isShowImageDialog: false
+    }
+  },
+  methods: {
+    clearImg() {
+      this.imgs = null
+    }
+  }
+}
+</script>
+ 
+<style scoped>
+ 
+</style>

+ 24 - 0
src/components/imgPreview/index.js

@@ -0,0 +1,24 @@
+import ImgPreviewComponent from './ImgPreview'
+ 
+const ImgPreview = {}
+ 
+ImgPreview.install = Vue => {
+  const ImgConstructor = Vue.extend(ImgPreviewComponent)
+ 
+  const instance = new ImgConstructor()
+ 
+  instance.$mount(document.createElement('div'))
+ 
+  document.body.appendChild(instance.$el)
+ 
+  Vue.prototype.$imgPreview = (e) => {
+    instance.target = e.currentTarget
+    instance.imgs = instance.target.getAttribute('data-img').split(',')
+    for(let i = 0;i<instance.imgs.length;i++){
+        if(!instance.imgs[i]) instance.imgs.splice(i)
+    }
+    instance.isShowImageDialog = true
+  }
+}
+ 
+export default ImgPreview

+ 3 - 1
src/main.js

@@ -15,7 +15,9 @@ const { router, store } = vendors
 Vue.config.productionTip = false
 import AMap from 'vue-amap';
 Vue.use(AMap);
-
+import imgPreview from '@/components/imgPreview'
+ 
+Vue.use(imgPreview)
 
 import $ from 'jquery'
 // import Warehouse from './common.js'

+ 10 - 1
src/model/statisticalReport/index.js

@@ -43,7 +43,10 @@ import {
     API_POST_STOCKSALECOLLECTMONEY,
     API_POST_DISORREMARKS,
     API_POST_SALEEDITSETTLEMENTWEIGHT,
-    API_GET_STOCK_SALE_CONTRACTNO
+    API_GET_STOCK_SALE_CONTRACTNO,
+    API_GET_YUNSHUXIALA,
+    API_GET_YUNSHUNUMBER,
+    API_POST_YUNSHUSETPRICE
 } from '@/api/V2/statisticalReport'
 //期货采购入库报表
 export const getpurchreceipt = appRx.get(API_GET_PURCHRECEIPT, errorCatcher, errorHandle, filter)
@@ -142,3 +145,9 @@ export const saleEditSettlementWeight = appRx.post(API_POST_SALEEDITSETTLEMENTWE
 //现货销售出库合同下拉
 export const getStockSaleContractNoList = appRx.get(API_GET_STOCK_SALE_CONTRACTNO, errorCatcher, errorHandle, filter)
 
+// 火运,船运合同编号下拉
+export const getYunShuXiaLa = appRx.get(API_GET_YUNSHUXIALA, errorCatcher, errorHandle, filter)
+// 火运,船运运输编号下拉
+export const getYunShuNumber= appRx.get(API_GET_YUNSHUNUMBER, errorCatcher, errorHandle, filter)
+// 火运,船运实际价格
+export const SetYunShuPrice = appRx.post(API_POST_YUNSHUSETPRICE, errorCatcher, errorHandle, filter)

+ 37 - 6
src/views/statisticalReport/autoSettlementList.vue

@@ -48,6 +48,13 @@
             @click="handleninvoice"
             >开发票</ws-button
           >
+          <ws-button
+            type="primary"
+            
+            @click="editRecord"
+            >记录</ws-button
+          >
+          <!-- v-hasPermission="`report.transportationReport.payment`" -->
         </el-col>
         <el-col
           style="text-align: right; line-height: 60px; padding-right: 10px"
@@ -386,6 +393,23 @@
         :total="deptBudgetTotal"
       ></el-pagination>
     </el-scrollbar>
+    <!-- 修改结算重量记录 -->
+    <el-dialog
+      width="40%"
+      title="结算重量修改记录"
+      :visible.sync="dialogFormVisible16"
+      :append-to-body="true"
+    >
+      <el-table :data="tranPriceApproveList">
+        <el-table-column prop="result" label="车牌号"> </el-table-column>
+        <el-table-column prop="tranPrice" label="单价(元)">
+        </el-table-column>
+        <el-table-column prop="beforeModification" label="修改前重量(吨)"> </el-table-column>
+        <el-table-column prop="afterModification" label="修改后重量(吨)"> </el-table-column>
+        <el-table-column prop="reviewer" label="修改人"> </el-table-column>
+        <el-table-column prop="createDate" label="修改日期" width="200px"> </el-table-column>
+      </el-table>
+    </el-dialog>
     <!-- 付款 -->
     <el-dialog
       width="25%"
@@ -611,6 +635,7 @@ export default {
       dialogFormVisible7: false,
       dialogFormVisible8: false,
       dialogFormVisible11: false,
+      dialogFormVisible16:false,
       dialogVisible: false,
 
       form: {
@@ -670,6 +695,7 @@ export default {
       deptCircularPage: {},
       warehouseList: [],
       orderList: {},
+      tranPriceApproveList:[],
       deptBudgetList: {},
       id: '',
 
@@ -1020,9 +1046,11 @@ export default {
         })
         return
       }
+      this.reviewer = sessionStorage.getItem('ws-pf_roleName') +sessionStorage.getItem('ws-pf_staffName')
       editauto({
         settlementWeight: Math.abs(this.settlementWeight),
         id: item.id,
+        reviewer:this.reviewer,
         flag: 0,
       })
         .toPromise()
@@ -1188,6 +1216,10 @@ export default {
         this.options = this.contractNoList
       }
     },
+    //查看修改结算重量记录
+    editRecord() {
+      this.dialogFormVisible16 = true
+    },
     handlepass() {
       var that = this
       if (this.modification.length == 0) {
@@ -1268,12 +1300,11 @@ export default {
             response.records[i].settlementWeightchange = false
             response.records[i].deductionAmountchange = false
             response.records[i].amountNotPayable=response.records[i].amountIngPayable-response.records[i].amountEdPayable
-            //     response.records[i].settlementPrice =
-            //       response.records[i].unitPrice -
-            //       Math.abs(response.records[i].basisPrice) -
-            //       Math.abs(response.records[i].unloadingCharge) -
-            //       Math.abs(response.records[i].invoiceFee) -
-            //       Math.abs(response.records[i].deductionAmount)
+            if(response.records[i].tranPriceApproveList){
+              for(var j=0;j<response.records[i].tranPriceApproveList.length;j++){
+                  this.tranPriceApproveList.push(response.records[i].tranPriceApproveList[j])
+              }
+            }
           }
           this.deptBudgetTotal = response.total
           this.warehouseList = response

+ 157 - 29
src/views/statisticalReport/huoyunList.vue

@@ -3,7 +3,7 @@
   <div class="container">
     <el-scrollbar style="height: 100%">
       <el-row>
-        <el-col style="padding-left: 15px" :span="16">
+        <el-col style="padding-left: 15px" :span="10">
           <ws-button
             :type="searchType == 1 ? 'primary' : ''"
             @click="handlestatus(1)"
@@ -50,8 +50,8 @@
           > -->
         </el-col>
         <el-col
-          style="text-align: right; line-height: 60px; padding-right: 10px"
-          :span="8"
+          style="text-align: right; line-height: 60px; padding-right: 10px;display: flex;"
+          :span="14"
         >
           <el-select
             v-model="contractNo"
@@ -65,22 +65,71 @@
             class="findValue"
           >
             <el-option
-              v-if="item.reportStatus"
               v-for="item in options"
               :key="item.constKey"
-              :label="item.contractNo + '(' + item.reportStatus + ')'"
+              :label="item.contractNo"
               :value="item.contractNo"
             />
+          </el-select>
+          <el-select
+            v-model="taskNo"
+            placeholder="请选择运输任务编号"
+            clearable
+            filterable
+            :filter-method="dataFilter"
+            @change="taskNochange"
+            maxlength="500"
+            type="input"
+            class="findValue"
+          >
             <el-option
+              v-for="item in taskNoList"
+              :key="item.taskNoKey"
+              :label="item.taskNoValue "
+              :value="item.taskNoValue"
+            />
+          </el-select>
+          <el-select
+            v-model="processNo"
+            placeholder="请选择运输阶段编号"
+            clearable
+            filterable
+            :filter-method="processNo"
+            @change="processNochange"
+            maxlength="500"
+            type="input"
+            class="findValue"
+          >
+            <el-option
+              v-for="item in processNoList"
+              :key="item.processNoKey"
+              :label="item.processNoValue "
+              :value="item.processNoValue"
+            />
+            <!-- <el-option
               v-if="!item.reportStatus"
               v-for="item in options"
               :key="item.constKey"
               :label="item.contractNo"
               :value="item.contractNo"
-            />
+            /> -->
           </el-select>
         </el-col>
       </el-row>
+      <div class="freightSet">
+        <div style="display: flex;width:200px;line-height: 30px;"> 预计运费(元):{{tranPriceIng}}元</div>
+        <span style="display: flex;line-height: 30px;">实际运费(元):<el-input type="text" maxlength="70" size="small"  v-model="actualFreight" v-show="textShow"/><span v-show="!textShow">{{actualFreight}}</span>元</span>
+        <i @click="actualFreightchange" class="iconfont icon-dui" v-show="textShow" style="margin-top:10px"></i>
+        <img
+              width="17"
+              height="18"
+              style="vertical-align: text-top; position: relative; top: 6px"
+              src="../../../public/img/edit.png"
+              @click="textShow = true"
+              alt=""
+               v-show="!textShow"
+            />
+      </div>
 
       <el-table
         class="wenzi"
@@ -337,6 +386,9 @@ import {
   autocontract,
   autopaymoney,
   openinvoicelist,
+  getYunShuXiaLa,
+  getYunShuNumber,
+  SetYunShuPrice
   // postaudit,
   //   getselectctcontractno,
 } from '@/model/statisticalReport/index'
@@ -345,6 +397,7 @@ import { downloadFile } from '@/utils/batchDown'
 import Pagination from '@/components/Pagination'
 import WsUpload from '@/components/WsUpload'
 import { EventBus } from 'base-core-lib'
+import { flatten } from 'lodash'
 export default {
   name: 'viewSpareMoney',
   components: {
@@ -421,6 +474,14 @@ export default {
       enter: {
         closePositionList: [],
       },
+       taskNoList:[],
+        processNoList:[],
+        taskNo:"",
+         processNo:"",
+         textShow:false,
+         actualFreight:"",
+         processNoId:"",
+      tranPriceIng:"",
 
       // 提交类型
       submitType: true,
@@ -463,14 +524,6 @@ export default {
       paymentScreenshotUrls: [],
       carryovercontractnolist: [],
       historyList: [],
-      account: [
-        {
-          value: '个人账户',
-        },
-        {
-          value: '企业账户',
-        },
-      ],
       pickerBeginDateBefore: {
         disabledDate: (time) => {
           return time.getTime() > Date.now()
@@ -768,6 +821,24 @@ export default {
         })
       }
     },
+    actualFreightchange(){
+      // this.actualFreight
+      this.$confirm(`是否提交实际总价?`, {
+          cancelButtonText: '取消',
+          confirmButtonText: '确定',
+          type: 'warning',
+        }).then(() => {
+          SetYunShuPrice({
+        actualFreight:this.actualFreight,
+        id:this.processNoId,
+        flag :3
+      })
+        .toPromise()
+        .then((response) => {
+         this.textShow = false
+        })
+        })
+    },
     //修改结算重量
     changesettlementWeight(item) {
       if (!this.settlementWeight) {
@@ -865,9 +936,8 @@ export default {
           this.$message.warning('修改扣款失败')
         })
     },
-    editdeductionAmount(item) {
-      this.deductionAmount = item.deductionAmount
-      item.deductionAmountchange = true
+    editdeductionAmount() {
+      this.textShow = false
     },
     //装车磅单
     lookloadingImg(row) {
@@ -971,12 +1041,59 @@ export default {
     handleSelectionChange(val) {
       this.modification = val
     },
+
     handlestatus(status) {
       this.searchType = status
       this.getList()
     },
     contractchange(e) {
       this.contractNo = e
+      this.taskNoList = []
+       this.taskNo = ""
+      this.processNoList= []
+      this.processNo = ""
+       getYunShuNumber({
+       contractNo:this.contractNo,
+       flag:2
+      })
+        .toPromise()
+        .then((response) => {
+          for(let i = 0 ; i < response.length ; i++){
+            this.taskNoList.push({
+              taskNoKey : i,
+              taskNoValue : response[i].taskNo,
+              processNo: response[i].tranProcessInfoList
+          }) 
+          }
+        })
+    },
+    taskNochange(e){
+      this.taskNo = e
+      this.processNoList= []
+      this.processNo = ""
+      for(let i = 0 ; i < this.taskNoList.length ; i++ ){
+        if(e == this.taskNoList[i].taskNoValue){
+          for(let j = 0 ; j < this.taskNoList.length ; j++){
+            this.processNoList.push({
+             processNoKey:i,
+             processNoValue:this.taskNoList[i].processNo[j].processNo,
+             actualFreight : this.taskNoList[i].processNo[j].actualFreight,
+             id:this.taskNoList[i].processNo[j].id,
+             tranPriceIng:this.taskNoList[i].processNo[j].tranPriceIng
+           })
+          }
+        }
+      }
+    },
+    processNochange(e){
+      this.processNo = e
+      for(let i = 0 ; i < this.processNoList.length ; i++){
+        if(this.processNoList[i].processNoValue == e){
+          this.actualFreight = this.processNoList[i].actualFreight
+          this.processNoId =this.processNoList[i].id
+          this.tranPriceIng = this.processNoList[i].tranPriceIng
+        }
+      }
       this.getList()
     },
     updated() {
@@ -1026,6 +1143,8 @@ export default {
         searchType: this.searchType,
         contractNo: this.contractNo,
         manualFlag: this.manualFlag,
+        taskNo:this.taskNo,
+         processNo:this.processNo
       })
         .toPromise()
         .then((response) => {
@@ -1045,15 +1164,18 @@ export default {
           this.deptBudgetTotal = response.total
           this.warehouseList = response
         })
-      autocontract({
-        compId: sessionStorage.getItem('ws-pf_compId'),
-        currentPage: this.currentPage,
-        pageSize: this.pageSize,
-        // roleFlag: this.roleFlag,
+            this.contractNoList=[]
+      getYunShuXiaLa({
+        flag:2,
       })
         .toPromise()
         .then((response) => {
-          this.contractNoList = response
+          for(let i = 0 ; i < response.length ; i++){
+            this.contractNoList.push({
+              constKey : i,
+              contractNo : response[i]
+          }) 
+          }
           this.contractNoList.unshift({ contractNo: '全部合同' })
           this.options = this.contractNoList
         })
@@ -1204,9 +1326,8 @@ export default {
   border-bottom-left-radius: 0px;
 }
 /deep/.findValue .el-input__inner {
-  border-top-right-radius: 0px;
-  border-bottom-right-radius: 0px;
-  width: 385px;
+  width: 300px;
+
 }
 .completed.el-button--default {
   border-color: #5878e8;
@@ -1377,8 +1498,6 @@ export default {
 }
 .el-input--small {
   font-size: 13px;
-  width: 390px;
-  margin-left: 74%;
 }
 /deep/.el-table .el-table__header .cell,
 .el-table .el-table__body .cell {
@@ -1412,7 +1531,6 @@ hr {
   margin-left: 9%;
 }
 .el-date-editor.el-input,
-.el-date-editor.el-input__inner,
 .el-input-number--small {
   width: 123% !important;
 }
@@ -1422,4 +1540,14 @@ hr {
   text-align: center;
   height: 40px;
 }
+/deep/.freightSet .el-input__inner{
+ width: 100px;
+}
+.freightSet{
+  display: flex;
+  width:500px;
+}
+/deep/.freightSet .el-input{
+  width: 44%;
+}
 </style>

+ 158 - 23
src/views/statisticalReport/shippingList.vue

@@ -3,7 +3,7 @@
   <div class="container">
     <el-scrollbar style="height: 100%">
       <el-row>
-        <el-col style="padding-left: 15px" :span="16">
+        <el-col style="padding-left: 15px" :span="10">
           <ws-button
             :type="searchType == 1 ? 'primary' : ''"
             @click="handlestatus(1)"
@@ -51,9 +51,9 @@
         </el-col>
         <el-col
           style="text-align: right; line-height: 60px; padding-right: 10px"
-          :span="8"
+          :span="14"
         >
-          <el-select
+         <el-select
             v-model="contractNo"
             placeholder="请选择合同"
             clearable
@@ -65,22 +65,71 @@
             class="findValue"
           >
             <el-option
-              v-if="item.reportStatus"
               v-for="item in options"
               :key="item.constKey"
-              :label="item.contractNo + '(' + item.reportStatus + ')'"
+              :label="item.contractNo"
               :value="item.contractNo"
             />
+          </el-select>
+          <el-select
+            v-model="taskNo"
+            placeholder="请选择运输任务编号"
+            clearable
+            filterable
+            
+            @change="taskNochange"
+            maxlength="500"
+            type="input"
+            class="findValue"
+          >
             <el-option
+              v-for="item in taskNoList"
+              :key="item.taskNoKey"
+              :label="item.taskNoValue "
+              :value="item.taskNoValue"
+            />
+          </el-select>
+          <el-select
+            v-model="processNo"
+            placeholder="请选择运输阶段编号"
+            clearable
+            filterable
+           
+            @change="processNochange"
+            maxlength="500"
+            type="input"
+            class="findValue"
+          >
+            <el-option
+              v-for="item in processNoList"
+              :key="item.processNoKey"
+              :label="item.processNoValue "
+              :value="item.processNoValue"
+            />
+            <!-- <el-option
               v-if="!item.reportStatus"
               v-for="item in options"
               :key="item.constKey"
               :label="item.contractNo"
               :value="item.contractNo"
-            />
+            /> -->
           </el-select>
         </el-col>
       </el-row>
+       <div class="freightSet">
+        <div style="display: flex;width:200px;line-height: 30px;"> 预计运费(元):{{tranPriceIng}}元</div>
+        <span style="display: flex;line-height: 30px;">实际运费(元):<el-input type="text" maxlength="70" size="small"  v-model="actualFreight" v-show="textShow"/><span v-show="!textShow">{{actualFreight}}</span>元</span>
+        <i @click="actualFreightchange" class="iconfont icon-dui" v-show="textShow" style="margin-top:10px"></i>
+        <img
+              width="17"
+              height="18"
+              style="vertical-align: text-top; position: relative; top: 6px"
+              src="../../../public/img/edit.png"
+              @click="textShow = true"
+              alt=""
+               v-show="!textShow"
+            />
+      </div>
 
       <el-table
         class="wenzi"
@@ -343,8 +392,9 @@ import {
   autocontract,
   autopaymoney,
   openinvoicelist,
-  // postaudit,
-  //   getselectctcontractno,
+  getYunShuXiaLa,
+  getYunShuNumber,
+  SetYunShuPrice
 } from '@/model/statisticalReport/index'
 import { posthandle } from '@/model/purchasingManagement/index'
 import { downloadFile } from '@/utils/batchDown'
@@ -427,6 +477,14 @@ export default {
       enter: {
         closePositionList: [],
       },
+       taskNoList:[],
+        processNoList:[],
+        taskNo:"",
+         processNo:"",
+         textShow:false,
+         actualFreight:"",
+         processNoId:"",
+      tranPriceIng:"",
 
       // 提交类型
       submitType: true,
@@ -978,9 +1036,73 @@ export default {
       this.searchType = status
       this.getList()
     },
-    contractchange(e) {
+  contractchange(e) {
       this.contractNo = e
+      this.taskNoList = []
+       this.taskNo = ""
+      this.processNoList= []
+      this.processNo = ""
+       getYunShuNumber({
+       contractNo:this.contractNo,
+       flag:1
+      })
+        .toPromise()
+        .then((response) => {
+          for(let i = 0 ; i < response.length ; i++){
+            this.taskNoList.push({
+              taskNoKey : i,
+              taskNoValue : response[i].taskNo,
+              processNo: response[i].tranProcessInfoList
+          }) 
+          }
+        })
+    },
+    taskNochange(e){
+      this.taskNo = e
+      this.processNoList= []
+      this.processNo = ""
+      for(let i = 0 ; i < this.taskNoList.length ; i++ ){
+        if(e == this.taskNoList[i].taskNoValue){
+          for(let j = 0 ; j < this.taskNoList.length ; j++){
+            this.processNoList.push({
+             processNoKey:i,
+             processNoValue:this.taskNoList[i].processNo[j].processNo,
+             actualFreight : this.taskNoList[i].processNo[j].actualFreight,
+             id:this.taskNoList[i].processNo[j].id,
+             tranPriceIng:this.taskNoList[i].processNo[j].tranPriceIng
+           })
+          }
+        }
+      }
+    },
+    processNochange(e){
+      this.processNo = e
+      for(let i = 0 ; i < this.processNoList.length ; i++){
+        if(this.processNoList[i].processNoValue == e){
+          this.actualFreight = this.processNoList[i].actualFreight
+          this.processNoId =this.processNoList[i].id
+          this.tranPriceIng = this.processNoList[i].tranPriceIng
+        }
+      }
       this.getList()
+    },
+     actualFreightchange(){
+      // this.actualFreight
+      this.$confirm(`是否提交实际总价?`, {
+          cancelButtonText: '取消',
+          confirmButtonText: '确定',
+          type: 'warning',
+        }).then(() => {
+          SetYunShuPrice({
+        actualFreight:this.actualFreight,
+        id:this.processNoId,
+        flag :3
+      })
+        .toPromise()
+        .then((response) => {
+         this.textShow = false
+        })
+        })
     },
     updated() {
       this.$nextTick(() => {
@@ -1029,6 +1151,8 @@ export default {
         searchType: this.searchType,
         contractNo: this.contractNo,
         manualFlag: this.manualFlag,
+        taskNo:this.taskNo,
+         processNo:this.processNo
       })
         .toPromise()
         .then((response) => {
@@ -1046,15 +1170,18 @@ export default {
           this.deptBudgetTotal = response.total
           this.warehouseList = response
         })
-      autocontract({
-        compId: sessionStorage.getItem('ws-pf_compId'),
-        currentPage: this.currentPage,
-        pageSize: this.pageSize,
-        // roleFlag: this.roleFlag,
+           this.contractNoList=[]
+      getYunShuXiaLa({
+        flag:1,
       })
         .toPromise()
         .then((response) => {
-          this.contractNoList = response
+          for(let i = 0 ; i < response.length ; i++){
+            this.contractNoList.push({
+              constKey : i,
+              contractNo : response[i]
+          }) 
+          }
           this.contractNoList.unshift({ contractNo: '全部合同' })
           this.options = this.contractNoList
         })
@@ -1205,9 +1332,7 @@ export default {
   border-bottom-left-radius: 0px;
 }
 /deep/.findValue .el-input__inner {
-  border-top-right-radius: 0px;
-  border-bottom-right-radius: 0px;
-  width: 385px;
+  width: 300px;
 }
 .completed.el-button--default {
   border-color: #5878e8;
@@ -1376,11 +1501,11 @@ export default {
 .look .el-form-item {
   border-bottom: 1px solid #ccc;
 }
-.el-input--small {
-  font-size: 13px;
-  width: 390px;
-  margin-left: 74%;
-}
+// .el-input--small {
+//   font-size: 13px;
+//   width: 390px;
+//   margin-left: 74%;
+// }
 /deep/.el-table .el-table__header .cell,
 .el-table .el-table__body .cell {
   text-align: center;
@@ -1423,4 +1548,14 @@ hr {
   text-align: center;
   height: 40px;
 }
+/deep/.freightSet .el-input__inner{
+ width: 100px;
+}
+.freightSet{
+  display: flex;
+  width:500px;
+}
+/deep/.freightSet .el-input{
+  width: 44%;
+}
 </style>

+ 999 - 968
src/views/tranManagement/tranManagementFireFeedback.vue

@@ -7,13 +7,8 @@
       </el-col>
       <el-col :span="12" class="bg-right">
         <el-button class="bg-bottom" type="primary" size="small" @click="revert()">
-          <img
-            width="6"
-            height="10"
-            style="vertical-align: bottom; margin-right: 3px"
-            src="../../../public/img/lujing.png"
-            alt
-          />返回
+          <img width="6" height="10" style="vertical-align: bottom; margin-right: 3px"
+            src="../../../public/img/lujing.png" alt />返回
         </el-button>
       </el-col>
     </el-row>
@@ -32,19 +27,10 @@
           }}{{ deptBudgetList.sendArea }}
         </ws-form-item>
         <!--发货人-->
-        <ws-form-item
-          label="发货人"
-          span="1"
-          prop="sender"
-          class="readonly"
-        >{{ deptBudgetList.sender }}</ws-form-item>
+        <ws-form-item label="发货人" span="1" prop="sender" class="readonly">{{ deptBudgetList.sender }}</ws-form-item>
         <!--发货人电话-->
-        <ws-form-item
-          label="发货人电话"
-          span="1"
-          prop="senderPhone"
-          class="readonly"
-        >{{ deptBudgetList.senderPhone }}</ws-form-item>
+        <ws-form-item label="发货人电话" span="1" prop="senderPhone" class="readonly">{{ deptBudgetList.senderPhone }}
+        </ws-form-item>
         <!--收货地址-->
         <ws-form-item label="收货地址" span="1" prop="receiveDetailedAddress">
           {{ deptBudgetList.receivePrivate }}{{ deptBudgetList.receiveCity
@@ -55,17 +41,10 @@
         <!--收货人电话-->
         <ws-form-item label="收货人电话" span="1" prop="receiverPhone">{{ deptBudgetList.receiverPhone }}</ws-form-item>
         <!--发货日期-->
-        <ws-form-item
-          label="发货日期"
-          span="1"
-          prop="deliveryDateStart"
-        >{{ deptBudgetList.deliveryDateStart }}</ws-form-item>
+        <ws-form-item label="发货日期" span="1" prop="deliveryDateStart">{{ deptBudgetList.deliveryDateStart }}
+        </ws-form-item>
         <!--最晚到货日期-->
-        <ws-form-item
-          label="最晚到货日期"
-          span="1"
-          prop="deliveryDateEnd"
-        >{{ deptBudgetList.deliveryDateEnd }}</ws-form-item>
+        <ws-form-item label="最晚到货日期" span="1" prop="deliveryDateEnd">{{ deptBudgetList.deliveryDateEnd }}</ws-form-item>
         <!--合同编号-->
         <ws-form-item label="合同编号" span="1" prop="contractNo">{{ deptBudgetList.contractNo }}</ws-form-item>
         <!-- 运输方式 -->
@@ -84,13 +63,8 @@
           </ws-form-item>
           <!--发车日期-->
           <el-form-item label="发车日期:" span="1" prop="sendDateStart">
-            <ws-date-picker
-              v-model="deptBudgetList.sendDateStart"
-              type="date"
-              style="width: 150px"
-              placeholder="请选择日期"
-              value-format="yyyy-MM-dd"
-            />
+            <ws-date-picker v-model="deptBudgetList.sendDateStart" type="date" style="width: 150px" placeholder="请选择日期"
+              value-format="yyyy-MM-dd" />
           </el-form-item>
           <!--预计到站日期-->
           <ws-form-item label="预计到站日期:" span="1" prop="receiveDateEnd">
@@ -104,26 +78,21 @@
       </div>
       <div class="small-title" style="font-size: 16px">装车详情</div>
       <!-- 导入 -->
-      <div style="font-size: 16px; width: 100%;  text-align: right">
-        <el-upload
-          style="margin-left: 8px;"
-          class="upload-demo inline-block margin-right-10"
-          action
-          :on-change="handleChange"
-          :show-file-list="false"
+      <div style="font-size: 16px; width: 100%;  text-align: right;display:flex;justify-content:end;">
+        <el-link
+          href="https://taohaoliang.oss-cn-beijing.aliyuncs.com/%E6%B1%BD%E8%BF%90%E8%A3%85%E8%BD%A6%E5%8F%8D%E9%A6%88%E6%A8%A1%E6%9D%BF.xlsx"
+          style="margin-left: 8px;">
+          <el-button type="primary">模板下载</el-button>
+        </el-link>
+        <el-upload style="margin-left: 8px;" class="upload-demo inline-block margin-right-10" action
+          :on-change="handleChange" :show-file-list="false"
           accept=".csv, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel"
-          :auto-upload="false"
-        >
+          :auto-upload="false">
           <el-button type="primary">导入</el-button>
         </el-upload>
       </div>
       <div class="liaison" v-if="file_is_show">
-        <div
-          style="width: 100%"
-          class="flex position"
-          v-for="(item, index) in freightspace"
-          :key="index"
-        >
+        <div style="width: 100%" class="flex position" v-for="(item, index) in freightspace" :key="index">
           <ws-info-table>
             <!--车厢号-->
             <div class="catNos">车厢号-{{ index + 1 }}</div>
@@ -132,88 +101,47 @@
             </ws-form-item>
             <!--装车净重-->
             <ws-form-item label="装车净重:" span="1" prop="loadNetWeight">
-              <ws-input
-                v-if="item.status == '已装车' || item.status == '已送达'"
-                :disabled="readonly"
-                v-model="item.loadNetWeight"
-                placeholder="请输入装车净重"
-                maxlength="20"
-                size="small"
-              />
-              <ws-input
-                v-else
-                v-model="item.loadNetWeight"
-                placeholder="请输入装车净重"
-                maxlength="20"
-                size="small"
-              />
+              <ws-input v-if="item.status == '已装车' || item.status == '已送达'" :disabled="readonly"
+                v-model="item.loadNetWeight" placeholder="请输入装车净重" maxlength="20" size="small" />
+              <ws-input v-else v-model="item.loadNetWeight" placeholder="请输入装车净重" maxlength="20" size="small" />
             </ws-form-item>
             <!--磅单-->
             <ws-form-item label="磅单:" span="1" prop="loadPoundImg">
-              <template>
+              <template slot-scope="scope">
                 <!-- slot-scope="scope" -->
-                <el-upload
-                  action="https://www.zthymaoyi.com/upload/admin"
-                  :show-file-list="false"
-                  :on-success="
+                <el-upload action="https://www.zthymaoyi.com/upload/admin" :show-file-list="false" :on-success="
                     (res) => {
                       uploadSuccessHandle1(res, index)
                     }
-                  "
-                  class="avatar-uploader"
-                  accept=".jpg, .jpeg, .png, .gif"
-                >
-                  <img
-                    width="18"
-                    height="20"
-                    style="vertical-align: text-top; position: relative"
-                    src="../../../public/img/fujian.png"
-                    alt
-                  />
+                  " class="avatar-uploader" accept=".jpg, .jpeg, .png, .gif">
+                  <img width="18" height="20" style="vertical-align: text-top; position: relative"
+                    src="../../../public/img/fujian.png" alt />
                 </el-upload>
-                <span v-show="item.imgCount > 0">{{item.imgCount}}</span>
-                <span v-show="item.imgCount == 0">未上传</span>
+                <span v-if="item.imgCount > 0">{{item.imgCount}}</span>
+                <span v-if="item.imgCount == 0">未上传</span>
+              <!-- <el-button class="bg-bottom-preview" type="primary" size="small" @click="preview(item)"  v-if="item.imgCount != null ">预览</el-button> -->
+              <el-button v-if="item.imgCount>0" class="bg-bottom-preview" type="primary" size="small" :data-img="item.loadPoundImg" @click="$imgPreview">预览</el-button>
               </template>
             </ws-form-item>
+            <!--箱号-->
             <!--装车日期-->
             <el-form-item label="装车日期:" span="1" prop="loadingDate">
-              <ws-date-picker
-                v-if="item.status == '已装车' || item.status == '已送达'"
-                :disabled="readonly"
-                v-model="item.loadingDate"
-                type="date"
-                style="width: 150px"
-                placeholder="请选择日期"
-                value-format="yyyy-MM-dd"
-              />
-              <ws-date-picker
-                v-else
-                v-model="item.loadingDate"
-                type="date"
-                style="width: 150px"
-                placeholder="请选择日期"
-                value-format="yyyy-MM-dd"
-              />
+              <ws-date-picker v-if="item.status == '已装车' || item.status == '已送达'" :disabled="readonly"
+                v-model="item.loadingDate" type="date" style="width: 150px" placeholder="请选择日期"
+                value-format="yyyy-MM-dd" />
+              <ws-date-picker v-else v-model="item.loadingDate" type="date" style="width: 150px" placeholder="请选择日期"
+                value-format="yyyy-MM-dd" />
             </el-form-item>
 
             <!-- 提交 -->
             <span class="servicein" v-show="item.status == '已装车' || item.status == '已送达'">已装车</span>
-            <span
-              style="text-align: right; padding: 10px"
-              class="center"
-              v-if="
+            <span style="text-align: right; padding: 10px" class="center" v-if="
                 item.status == '' ||
                 item.status == null ||
                 item.status == '未装车'
-              "
-            >
+              ">
               <div>
-                <el-button
-                  class="bg-bottom"
-                  type="primary"
-                  size="small"
-                  @click="submit(index)"
-                >提交</el-button>
+                <el-button class="bg-bottom" type="primary" size="small" @click="submit(index)">提交</el-button>
               </div>
             </span>
             <!-- <div
@@ -232,15 +160,8 @@
             >
               {{ item.signStatus }}
             </div>-->
-            <span
-              v-show="item.temporaryDriverFlag != 0"
-              width="22"
-              height="22"
-              class="del"
-              @click="del(index)"
-              src="../../../public/img/del.png"
-              alt
-            >×</span>
+            <span v-show="item.temporaryDriverFlag != 0" width="22" height="22" class="del" @click="del(index)"
+              src="../../../public/img/del.png" alt>×</span>
           </ws-info-table>
         </div>
       </div>
@@ -266,75 +187,84 @@
   </div>
 </template>
 <script>
-import { regionData } from 'element-china-area-data'
-import { seeCat, feedback, state } from '@/model/transport/index'
-import WsUpload from '@/components/WsUpload'
-import mapDrag from '@/components/mapdrag/mapdrag'
-export default {
-  name: 'viewSpareMoney',
-  components: {
-    WsUpload,
-    mapDrag
-  },
-  watch: {
-    vesselId(val) {
-      this.getVesselData()
-    },
-    isShow(val) {
-      this.showType = val
+  import {
+    regionData
+  } from 'element-china-area-data'
+  import {
+    seeCat,
+    feedback,
+    state
+  } from '@/model/transport/index'
+  import WsUpload from '@/components/WsUpload'
+  import mapDrag from '@/components/mapdrag/mapdrag'
+  export default {
+    name: 'viewSpareMoney',
+    components: {
+      WsUpload,
+      mapDrag
     },
-       freightspace(newVal) {
+    watch: {
+      vesselId(val) {
+        this.getVesselData()
+      },
+      isShow(val) {
+        this.showType = val
+      },
+      freightspace(newVal) {
         this.file_is_show = false
         if (true) {
-            this.$nextTick(()=>{ // $nextTick 是在 DOM 更新循环结束之后执行延迟回调
-                this.file_is_show = true
-            })
+          this.$nextTick(() => { // $nextTick 是在 DOM 更新循环结束之后执行延迟回调
+            this.file_is_show = true
+          })
         }
-    }
-  },
-  data() {
-    return {
-      index:0,
-      file_is_show:true,
-      deptBudgetList: {
-        totalStorage: 0
-      },
-      options_: regionData,
-      heightData: '600px',
-      zoom: 7,
-      selectedOptions: [],
-      center: [116.244694, 39.517344],
-      window: '',
-      radio: 1,
-      personCharge: [],
-      district: null,
-      driverList: [],
-      readonly: true,
-      listDate: { country: '中国', level: 'country', city: '' },
-      citylist: [],
-      compId: sessionStorage.getItem('ws-pf_compId'),
-      rules: {
-        warehouseName: [
-          {
-            required: true,
-            message: '请输入仓库名称',
-            trigger: 'blur'
-          },
-          {
-            min: 2,
-            max: 20,
-            message: '仓库名长度不符合要求,请输入2-20字符之内',
-            trigger: 'blur'
-          }
-        ]
-      },
-      tranType: 2,
-      size: 10,
-      value1: '',
-      unitList: [],
+      }
+    },
+    data() {
+      return {
+        excelFreightspace: [],
+        index: 0,
+        file_is_show: true,
+        deptBudgetList: {
+          totalStorage: 0
+        },
+        options_: regionData,
+        heightData: '600px',
+        zoom: 7,
+        selectedOptions: [],
+        center: [116.244694, 39.517344],
+        window: '',
+        radio: 1,
+        personCharge: [],
+        district: null,
+        driverList: [],
+        readonly: true,
+        listDate: {
+          country: '中国',
+          level: 'country',
+          city: ''
+        },
+        citylist: [],
+        compId: sessionStorage.getItem('ws-pf_compId'),
+        rules: {
+          warehouseName: [{
+              required: true,
+              message: '请输入仓库名称',
+              trigger: 'blur'
+            },
+            {
+              min: 2,
+              max: 20,
+              message: '仓库名长度不符合要求,请输入2-20字符之内',
+              trigger: 'blur'
+            }
+          ]
+        },
+        tranType: 2,
+        size: 10,
+        value1: '',
+        unitList: [],
 
-      freightspace1: [
-        {
+        freightspace1: [{
           accountTypeFlag: '1',
           payeeName: '',
           payeeNumberCard: '',
@@ -342,841 +272,942 @@ export default {
           bankDeposit: '',
           addressUrlArray: [],
           bankCard: ''
-        }
-      ],
-      freightspace: [
-        {
-          boxNo: '',
-          loadNetWeight: '',
-          loadPoundImg: '',
-          loadingDate: '',
-          imgCount:0
-        }
-        // {loadPoundImg:{}},
-      ],
-      name: '',
-      staffList: [],
-      options: [],
-      carModel: [],
-      fileTemp: {},
-      tranCarInfoList: {
-        loadPoundImg: ''
-      },
-      //  tranCarList: {
-      //   driver: '',
-      //   driverPhone:'',
-      //   sendDateStart:'',
-      //   receiveDateEnd:'',
-      //   carModel:'',
-      // },
-      //上传
-      accessoryTFs: false,
-      fileList: [],
-      appendixIdsAdd: '',
-    }
-  },
-  activated() {
-    this.deptBudgetList.id = this.$route.query.id
-    this.getList()
-  },
-  computed: {
-    totalStorage: function() {
-      var maxStorage = 0
-      for (var i = 0; i < this.freightspace.length; i++) {
-        maxStorage += Number(this.freightspace[i].maxStorage)
+        }],
+        freightspace: [{
+            boxNo: '',
+            loadNetWeight: '',
+            loadPoundImg: '',
+            loadingDate: '',
+            imgCount: 0
+          }
+          // {loadPoundImg:{}},
+        ],
+        name: '',
+        staffList: [],
+        options: [],
+        carModel: [],
+        fileTemp: {},
+        tranCarInfoList: {
+          loadPoundImg: ''
+        },
+        //  tranCarList: {
+        //   driver: '',
+        //   driverPhone:'',
+        //   sendDateStart:'',
+        //   receiveDateEnd:'',
+        //   carModel:'',
+        // },
+        //上传
+        accessoryTFs: false,
+        fileList: [],
+        appendixIdsAdd: '',
       }
-      return maxStorage
     },
-    total: function() {
-      if (this.deptBudgetList.tranCarInfoList != null) {
+    activated() {
+      this.deptBudgetList.id = this.$route.query.id
+      this.getList()
+    },
+    computed: {
+      totalStorage: function() {
         var maxStorage = 0
-        for (var i = 0; i < this.deptBudgetList.tranCarInfoList.length; i++) {
-          maxStorage += Number(
-            this.deptBudgetList.tranCarInfoList[i].loadNetWeight
-          )
+        for (var i = 0; i < this.freightspace.length; i++) {
+          maxStorage += Number(this.freightspace[i].maxStorage)
         }
         return maxStorage
-      } else {
-        return 0
-      }
-    }
-  },
-  methods: {
-    handleChange(file, fileList) {
-      this.fileTemp = file.raw
-      let fileName = file.raw.name
-      let fileType = fileName.substring(fileName.lastIndexOf('.') + 1)
-      // 判断上传文件格式
-      if (this.fileTemp) {
-        if (fileType == 'xlsx' || fileType == 'xls') {
-          this.importf(this.fileTemp)
+      },
+      total: function() {
+        if (this.deptBudgetList.tranCarInfoList != null) {
+          var maxStorage = 0
+          for (var i = 0; i < this.deptBudgetList.tranCarInfoList.length; i++) {
+            maxStorage += Number(
+              this.deptBudgetList.tranCarInfoList[i].loadNetWeight
+            )
+          }
+          return maxStorage
         } else {
-          this.$message({
-            type: 'warning',
-            message: '附件格式错误,请删除后重新上传!'
-          })
+          return 0
         }
-      } else {
-        this.$message({
-          type: 'warning',
-          message: '请上传附件!'
-        })
       }
     },
-    importf(obj) {
-      this.dialogVisible = true
-      let _this = this
-      let inputDOM = this.$refs.inputer // 通过DOM取文件数据
-      this.file = event.currentTarget.files[0]
-      var rABS = false //是否将文件读取为二进制字符串
-      var f = this.file
-      var reader = new FileReader()
-      //if (!FileReader.prototype.readAsBinaryString) {
-      FileReader.prototype.readAsBinaryString = function(f) {
-        var binary = ''
-        var rABS = false //是否将文件读取为二进制字符串
-        var pt = this
-        var wb //读取完成的数据
-        var outdata
-        var reader = new FileReader()
-        reader.onload = function(e) {
-          var bytes = new Uint8Array(reader.result)
-          var length = bytes.byteLength
-          for (var i = 0; i < length; i++) {
-            binary += String.fromCharCode(bytes[i])
-          }
-          var XLSX = require('xlsx')
-          if (rABS) {
-            wb = XLSX.read(btoa(fixdata(binary)), {
-              //手动转化
-              type: 'base64'
-            })
+    methods: {
+      handleChange(file, fileList) {
+        this.fileTemp = file.raw
+        let fileName = file.raw.name
+        let fileType = fileName.substring(fileName.lastIndexOf('.') + 1)
+        // 判断上传文件格式
+        if (this.fileTemp) {
+          if (fileType == 'xlsx' || fileType == 'xls') {
+            this.importf(this.fileTemp)
           } else {
-            wb = XLSX.read(binary, {
-              type: 'binary'
+            this.$message({
+              type: 'warning',
+              message: '附件格式错误,请删除后重新上传!'
             })
           }
-          // outdata就是你想要的东西 excel导入的数据
-          outdata = XLSX.utils.sheet_to_json(wb.Sheets[wb.SheetNames[0]])
-          // excel 数据再处理
-          let arr = []
-          outdata.map(v => {
-            // let jsonString = JSON.stringify(v).replace(/\*/g, '').replace(/\s/ig,'');
-            let jsonString = JSON.stringify(v)
-              .replace(/\//g, '')
-              .replace(/\s/gi, '')
-            console.log(jsonString)
-            v = JSON.parse(jsonString)
-            let obj = {}
-            //xxx代表列名
-            obj.boxNo = v.车厢号
-            obj.loadNetWeight = v.装车净重
-            obj.loadingDate = toString(v.装车日期)
-            obj.status = v.状态
-            obj.unloadPoundImg = v.磅单
-            console.log(obj)
-            _this.freightspace.push(obj)
+        } else {
+          this.$message({
+            type: 'warning',
+            message: '请上传附件!'
           })
-          // _this.freightspace.concat(arr)
-          console.log(arr, _this.freightspace)
         }
-        reader.readAsArrayBuffer(f)
-      }
-      if (rABS) {
-        reader.readAsArrayBuffer(f)
-      } else {
-        reader.readAsBinaryString(f)
-      }
-      console.log(reader)
-    },
-    marker: function(item) {
-      this.deptBudgetList.warehousePositioning =
-        item.lnglat.lat + ',' + item.lnglat.lng
-    },
-    // 关闭 dialog时 处理文件url 初始化upload组件
-    handleClose() {
-      this.dialogViewSpareMoney = false
-    },
-    add() {
-      this.freightspace.push({
-        driver: '',
-        driverPhone: '',
-        carNo: '',
-        loadNetWeight: ''
-      })
-    },
-    del(index) {
-      if (this.freightspace.length > 1) {
-        this.freightspace.splice(index, 1)
-      }
-    },
-    revert() {
-      this.$router.push({ path: 'tranManagementTransporHairRespond' })
-    },
-    //完货
-    finished() {
-      this.$confirm(`完货操作后,装车信息不可修改,是否确定完货?`, {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: 'warning'
-      })
-        .then(() => {
-          this.$refs.deptBudgetList.validate(valid => {
-            if (valid) {
-              var tranProcessInfo = {}
-              tranProcessInfo.id = this.deptBudgetList.id
-              state(tranProcessInfo)
-                .toPromise()
-                .then(response => {
-                  this.$message.success('完货成功')
-                  this.deptBudgetList = {}
-                  this.freightspace = {}
-                  this.selectedOptions = ''
-                  this.$router.push({
-                    path: 'tranManagementTransporHairRespond'
-                  })
-                })
+      },
+      importf(obj) {
+        this.excelFreightspace = []
+        this.dialogVisible = true
+        let _this = this
+        let inputDOM = this.$refs.inputer // 通过DOM取文件数据
+        this.file = event.currentTarget.files[0]
+        var rABS = false //是否将文件读取为二进制字符串
+        var f = this.file
+        var reader = new FileReader()
+        //if (!FileReader.prototype.readAsBinaryString) {
+        FileReader.prototype.readAsBinaryString = function(f) {
+          var binary = ''
+          var rABS = false //是否将文件读取为二进制字符串
+          var pt = this
+          var wb //读取完成的数据
+          var outdata
+          var reader = new FileReader()
+          reader.onload = function(e) {
+            var bytes = new Uint8Array(reader.result)
+            var length = bytes.byteLength
+            for (var i = 0; i < length; i++) {
+              binary += String.fromCharCode(bytes[i])
+            }
+            var XLSX = require('xlsx')
+            if (rABS) {
+              wb = XLSX.read(btoa(fixdata(binary)), {
+                //手动转化
+                type: 'base64'
+              })
             } else {
-              return false
+              wb = XLSX.read(binary, {
+                type: 'binary'
+              })
             }
-          })
-        })
-        .catch(() => {
-          return false
-        })
-    },
-    validateFunc() {
-      this.$refs.deptBudgetList.validate(valid => {
-        if (valid) {
-          // this.deptBudgetList.totalStorage = this.totalStorage
-          this.tranCarInfoList = this.freightspace
-          this.tranCarInfoList.driver = this.deptBudgetList.driver
-          this.tranCarInfoList.driverPhone = this.deptBudgetList.driverPhone
-          this.tranCarInfoList.tranCarNo = this.deptBudgetList.tranCarNo
-          this.tranCarInfoList.carNo = this.deptBudgetList.carNo
-          this.tranCarInfoList[0].sendDateStart = this.deptBudgetList.sendDateStart
-          this.tranCarInfoList.loadNetWeight = this.deptBudgetList.loadNetWeight
-          this.tranCarInfoList.tranType = this.tranType
-          this.tranCarInfoList.loadPoundImg = this.deptBudgetList.loadPoundImg
-          // this.tranCarInfoList.boxNo = this.arr.toString()
-          for (var i = 0; i < this.tranCarInfoList.length; i++) {
-            this.tranCarInfoList[i].id = this.freightspace[i].id
-            if (this.tranCarInfoList[i].temporaryDriverFlag != 0) {
-              this.tranCarInfoList[i].temporaryDriverFlag = 1
-              this.tranCarInfoList[i].tranType = this.tranType
+            // outdata就是你想要的东西 excel导入的数据
+            outdata = XLSX.utils.sheet_to_json(wb.Sheets[wb.SheetNames[0]])
+            // excel 数据再处理
+            let arr = []
+            outdata.map(v => {
+              // let jsonString = JSON.stringify(v).replace(/\*/g, '').replace(/\s/ig,'');
+              let jsonString = JSON.stringify(v)
+                .replace(/\//g, '')
+                .replace(/\s/gi, '')
+              console.log(jsonString)
+              v = JSON.parse(jsonString)
+              let obj = {}
+              //xxx代表列名
+              obj.boxNo = v.车厢号
+              obj.loadNetWeight = v.装车净重
+              obj.loadingDate = v.装车日期
+              obj.status = v.状态
+              obj.loadPoundImg = v.磅单
+              console.log(obj)
+              _this.excelFreightspace.push(obj)
+            })
+            let _ispushData = true
+            console.log(arr, _this.freightspace)
+            for (let i = 0; i < _this.excelFreightspace.length; i++) {
+              _ispushData = true
+              for (let k = 0; k < _this.freightspace.length; k++) {
+                if (_this.excelFreightspace[i].boxNo == _this.freightspace[k].boxNo) {
+                  _this.freightspace[k] = _this.excelFreightspace[i]
+                  if (_this.excelFreightspace[i].loadPoundImg.split(',').length > 0){
+                      _this.freightspace[k].imgCount = _this.excelFreightspace[i].loadPoundImg.split(',').length
+                  }
+                  _ispushData = false
+                }
+              }
+              if (_ispushData) {
+                if (_this.excelFreightspace[i].loadPoundImg.split(',').length > 0) {
+                  _this.excelFreightspace[i].imgCount = _this.excelFreightspace[i].loadPoundImg.split(',').length
+                }
+                _this.freightspace.push(_this.excelFreightspace[i])
+
+                _ispushData = true
+              }
             }
           }
-          var tranProcessInfo = {}
-          tranProcessInfo.id = this.deptBudgetList.id
-          tranProcessInfo.infoId = this.deptBudgetList.infoId
-          tranProcessInfo.processNo = this.deptBudgetList.processNo
-          tranProcessInfo.tranPrice = this.deptBudgetList.tranPrice
-          tranProcessInfo.tranCarInfoList = this.tranCarInfoList
-          // dispatchCat({tranCarInfo:{tranCarInfoList:[this.tranCarInfoList],id:this.deptBudgetList.id}
-          feedback(tranProcessInfo)
-            .toPromise()
-            .then(response => {
-              this.$message.success('提交成功')
-              this.deptBudgetList = {}
-              this.freightspace = {}
-              this.selectedOptions = ''
-              this.$router.push({
-                path: 'tranManagementTransporHairRespond'
-              })
-            })
+          reader.readAsArrayBuffer(f)
+        }
+        if (rABS) {
+          reader.readAsArrayBuffer(f)
         } else {
-          // EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
-          return false
+          reader.readAsBinaryString(f)
         }
-      })
-    },
-    submit(index) {
-      // for (var i = 0; i < this.freightspace.length; i++) {
-          // if (!this.freightspace[i].driver) {
-          //   this.$message({
-          //     message: '司机姓名不能为空!',
-          //     type: 'warning'
-          //   })
-          //   return
-          // }
-          // if (!this.freightspace[i].driverPhone) {
-          //   this.$message({
-          //     message: '司机电话不能为空!',
-          //     type: 'warning'
-          //   })
-          //   return
-          // }
-          // if (!this.freightspace[i].carNo) {
-          //   this.$message({
-          //     message: '车牌号不能为空!',
-          //     type: 'warning'
-          //   })
-          //   return
-          // }
-          if (!this.freightspace[index].loadNetWeight) {
-            this.$message({
-              message: '装车净重不能为空!',
-              type: 'warning'
-            })
-            return
-          }
-          if (
-            this.freightspace[index].loadNetWeight < 0 ||
-            this.freightspace[index].loadNetWeight > 10000
-          ) {
-            this.$message({
-              message: '装车净重输入错误!',
-              type: 'warning'
-            })
-            return
-          }
-          if (!this.freightspace[index].loadingDate) {
-            this.$message({
-              message: '装车日期不能为空!',
-              type: 'warning'
-            })
-            return
-          }
-        
-      // }
-      if (sessionStorage.getItem('sh-msg')) {
-        this.validateFunc()
-      } else {
-        this.$alert(
-          '<div><strong>提交成功后提醒司机及时签订运输合同,确定提交装车信息?</strong><div style="display:flex;align-items: center;"><input id="noMsg" type="checkbox" onclick="window.noMessege(1)"><span style="margin-left:10px">不在提示</span><div></div>',
-          '',
-          {
-            dangerouslyUseHTMLString: true,
-            distinguishCancelAndClose: true,
-            showCancelButton: true,
+        console.log(reader)
+      },
+      marker: function(item) {
+        this.deptBudgetList.warehousePositioning =
+          item.lnglat.lat + ',' + item.lnglat.lng
+      },
+      // 关闭 dialog时 处理文件url 初始化upload组件
+      handleClose() {
+        this.dialogViewSpareMoney = false
+      },
+      add() {
+        this.freightspace.push({
+          driver: '',
+          driverPhone: '',
+          carNo: '',
+          loadNetWeight: ''
+        })
+      },
+      del(index) {
+        if (this.freightspace.length > 1) {
+          this.freightspace.splice(index, 1)
+        }
+      },
+      revert() {
+        this.$router.push({
+          path: 'tranManagementTransporHairRespond'
+        })
+      },
+      //完货
+      finished() {
+        this.$confirm(`完货操作后,装车信息不可修改,是否确定完货?`, {
             confirmButtonText: '确定',
-            cancelButtonText: '取消'
-          }
-        )
+            cancelButtonText: '取消',
+            type: 'warning'
+          })
           .then(() => {
-            this.validateFunc()
+            this.$refs.deptBudgetList.validate(valid => {
+              if (valid) {
+                var tranProcessInfo = {}
+                tranProcessInfo.id = this.deptBudgetList.id
+                state(tranProcessInfo)
+                  .toPromise()
+                  .then(response => {
+                    this.$message.success('完货成功')
+                    this.deptBudgetList = {}
+                    this.freightspace = {}
+                    this.selectedOptions = ''
+                    this.$router.push({
+                      path: 'tranManagementTransporHairRespond'
+                    })
+                  })
+              } else {
+                return false
+              }
+            })
           })
           .catch(() => {
             return false
           })
-      }
-    },
-    getList() {
-      seeCat({ id: this.deptBudgetList.id })
-        .toPromise()
-        .then(response => {
-          this.deptBudgetList = response
-          //  this.deptBudgetList.tranCarInfoList = response.tranCarInfoList
-          if(response.tranCarInfoList[0].driver){
-            this.deptBudgetList.driver = response.tranCarInfoList[0].driver
-          }
-          this.deptBudgetList.driverPhone =
-            response.tranCarInfoList[0].driverPhone
-          this.$set(this.deptBudgetList,'sendDateStart',response.tranCarInfoList[0].sendDateStart)
-          this.deptBudgetList.receiveDateEnd =
-            response.tranCarInfoList[0].receiveDateEnd
-          this.deptBudgetList.carModel = response.tranCarInfoList[0].carModel
-          this.freightspace = response.tranCarInfoList
-          for (var i = 0; i < this.freightspace.length; i++) {
-            if (!this.freightspace[i].loadNetWeight) {
-              this.freightspace[i].loadNetWeight = 0
-            }
-            if(this.freightspace[i].loadPoundImg){
-               this.freightspace[i].imgCount = this.freightspace[i].loadPoundImg.split(",").length
-            }else{
-               this.freightspace[i].loadPoundImg = ""
-               this.freightspace[i].imgCount = 0
+      },
+      validateFunc() {
+        this.$refs.deptBudgetList.validate(valid => {
+          if (valid) {
+            // this.deptBudgetList.totalStorage = this.totalStorage
+            this.tranCarInfoList = this.freightspace
+            this.tranCarInfoList.driver = this.deptBudgetList.driver
+            this.tranCarInfoList.driverPhone = this.deptBudgetList.driverPhone
+            this.tranCarInfoList.tranCarNo = this.deptBudgetList.tranCarNo
+            this.tranCarInfoList.carNo = this.deptBudgetList.carNo
+            this.tranCarInfoList[0].sendDateStart = this.deptBudgetList.sendDateStart
+            this.tranCarInfoList.loadNetWeight = this.deptBudgetList.loadNetWeight
+            this.tranCarInfoList.tranType = this.tranType
+            this.tranCarInfoList.loadPoundImg = this.deptBudgetList.loadPoundImg
+            // this.tranCarInfoList.boxNo = this.arr.toString()
+            for (var i = 0; i < this.tranCarInfoList.length; i++) {
+              this.tranCarInfoList[i].id = this.freightspace[i].id
+              if (this.tranCarInfoList[i].temporaryDriverFlag != 0) {
+                this.tranCarInfoList[i].temporaryDriverFlag = 1
+                this.tranCarInfoList[i].tranType = this.tranType
+              }
             }
+            var tranProcessInfo = {}
+            tranProcessInfo.id = this.deptBudgetList.id
+            tranProcessInfo.infoId = this.deptBudgetList.infoId
+            tranProcessInfo.processNo = this.deptBudgetList.processNo
+            tranProcessInfo.tranPrice = this.deptBudgetList.tranPrice
+            tranProcessInfo.tranCarInfoList = this.tranCarInfoList
+            // dispatchCat({tranCarInfo:{tranCarInfoList:[this.tranCarInfoList],id:this.deptBudgetList.id}
+            feedback(tranProcessInfo)
+              .toPromise()
+              .then(response => {
+                this.$message.success('提交成功')
+                this.deptBudgetList = {}
+                this.freightspace = {}
+                this.selectedOptions = ''
+                this.$router.push({
+                  path: 'tranManagementTransporHairRespond'
+                })
+              })
+          } else {
+            // EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
+            return false
           }
         })
-    },
-    uploadSuccessHandle1(e, index) {
-      this.index = index
-      let that = this;
-      setTimeout(function(){ 
-      that.freightspace[that.index].imgCount++
-      console.log(that.freightspace[that.index].imgCount)
-      that.freightspace[that.index].loadPoundImg += e.url+","
-      console.log( that.freightspace[that.index].loadPoundImg)
-      console.log( that.freightspace,"成功后")},1000)
+      },
+      submit(index) {
+        // for (var i = 0; i < this.freightspace.length; i++) {
+        // if (!this.freightspace[i].driver) {
+        //   this.$message({
+        //     message: '司机姓名不能为空!',
+        //     type: 'warning'
+        //   })
+        //   return
+        // }
+        // if (!this.freightspace[i].driverPhone) {
+        //   this.$message({
+        //     message: '司机电话不能为空!',
+        //     type: 'warning'
+        //   })
+        //   return
+        // }
+        // if (!this.freightspace[i].carNo) {
+        //   this.$message({
+        //     message: '车牌号不能为空!',
+        //     type: 'warning'
+        //   })
+        //   return
+        // }
+        if (!this.freightspace[index].loadNetWeight) {
+          this.$message({
+            message: '装车净重不能为空!',
+            type: 'warning'
+          })
+          return
+        }
+        if (
+          this.freightspace[index].loadNetWeight < 0 ||
+          this.freightspace[index].loadNetWeight > 10000
+        ) {
+          this.$message({
+            message: '装车净重输入错误!',
+            type: 'warning'
+          })
+          return
+        }
+        if (!this.freightspace[index].loadingDate) {
+          this.$message({
+            message: '装车日期不能为空!',
+            type: 'warning'
+          })
+          return
+        }
+
+        // }
+        if (sessionStorage.getItem('sh-msg')) {
+          this.validateFunc()
+        } else {
+          this.$alert(
+              '<div><strong>提交成功后提醒司机及时签订运输合同,确定提交装车信息?</strong><div style="display:flex;align-items: center;"><input id="noMsg" type="checkbox" onclick="window.noMessege(1)"><span style="margin-left:10px">不在提示</span><div></div>',
+              '', {
+                dangerouslyUseHTMLString: true,
+                distinguishCancelAndClose: true,
+                showCancelButton: true,
+                confirmButtonText: '确定',
+                cancelButtonText: '取消'
+              }
+            )
+            .then(() => {
+              this.validateFunc()
+            })
+            .catch(() => {
+              return false
+            })
+        }
+      },
+      getList() {
+        seeCat({
+            id: this.deptBudgetList.id
+          })
+          .toPromise()
+          .then(response => {
+            this.deptBudgetList = response
+            //  this.deptBudgetList.tranCarInfoList = response.tranCarInfoList
+            if (response.tranCarInfoList[0].driver) {
+              this.deptBudgetList.driver = response.tranCarInfoList[0].driver
+            }
+            this.deptBudgetList.driverPhone =
+              response.tranCarInfoList[0].driverPhone
+            this.$set(this.deptBudgetList, 'sendDateStart', response.tranCarInfoList[0].sendDateStart)
+            this.deptBudgetList.receiveDateEnd =
+              response.tranCarInfoList[0].receiveDateEnd
+            this.deptBudgetList.carModel = response.tranCarInfoList[0].carModel
+            this.freightspace = response.tranCarInfoList
+            for (var i = 0; i < this.freightspace.length; i++) {
+              if (!this.freightspace[i].loadNetWeight) {
+                this.freightspace[i].loadNetWeight = 0
+              }
+              if (this.freightspace[i].loadPoundImg) {
+                this.freightspace[i].imgCount = this.freightspace[i].loadPoundImg.split(",").length
+              } else {
+                this.freightspace[i].loadPoundImg = ""
+                this.freightspace[i].imgCount = 0
+              }
+            }
+          })
+      },
+      uploadSuccessHandle1(e, index) {
+        this.index = index
+        let that = this;
+        that.$forceUpdate();
+        that.freightspace[that.index].imgCount++
+        console.log(that.freightspace[that.index].imgCount)
+        that.freightspace[that.index].loadPoundImg += e.url + ","
+        console.log(that.freightspace[that.index].loadPoundImg)
 
+      }
     }
   }
-}
 </script>
 
 <style lang="scss" scoped>
-/deep/.totalStorage .el-input__inner {
-  color: #afb5cb;
-  background: #f5f7fa;
-}
-.small-title {
-  position: relative;
-  padding: 10px;
-  font-weight: 600;
-}
-.small-title::before {
-  position: absolute;
-  content: '';
-  display: block;
-  background: #5473e8;
-  width: 4px;
-  height: 14px;
-  left: 0px;
-  top: 13px;
-}
-.position {
-  position: relative;
-}
-
-.del {
-  position: absolute;
-  right: -38px;
-  top: 14px;
-  cursor: pointer;
-  right: 0;
-  display: inline-block;
-  font-size: 26px;
-  width: 26px;
-  height: 10px;
-  line-height: 0px;
-}
-
-.amap-page-container {
-  width: 300px;
-  height: 300px;
-}
-.el-form {
-  padding: 0 10%;
-}
-/deep/.ws-info-table .el-form-item {
-  border-right: 1px solid transparent;
-  border-bottom: 1px solid transparent;
-}
-.readonly {
-  position: relative;
-}
-.readonly:after {
-  content: '*';
-  color: #ff2727;
-  position: absolute;
-  right: 8px;
-  z-index: 10;
-  top: 21%;
-  font-size: 20px;
-}
-.title {
-  position: relative;
-}
-.title::before {
-  content: '';
-  display: inline-block;
-  width: 5px;
-  height: 30px;
-  background: #5473e8;
-  position: absolute;
-  left: 0;
-}
-.el-button--primary {
-  background-color: #5878e8;
-  border-color: #5878e8;
-}
-.el-col {
-  background: #f6f7fc;
-}
-/deep/.ws-info-table .el-form-item .el-form-item__content {
-  padding: 0 25px;
-  border-left: 1px solid transparent;
-  background: #fff;
-}
-/deep/.ws-info-table .el-form-item .el-form-item__label {
-  width: 100px;
-  text-align: center;
-  background: #fff;
-  // border: 1px solid #cdd2dc;
-}
-.button-container {
-  display: flex;
-  flex-wrap: nowrap;
-  justify-content: space-between;
-  align-items: center;
-  background-color: #fff;
-  width: 100%;
-  height: 50px;
-  padding: 0 10px;
-  & > div {
-    margin-left: 10px;
+  /deep/.totalStorage .el-input__inner {
+    color: #afb5cb;
+    background: #f5f7fa;
+  }
+
+  .small-title {
+    position: relative;
+    padding: 10px;
+    font-weight: 600;
+  }
+
+  .small-title::before {
+    position: absolute;
+    content: '';
+    display: block;
+    background: #5473e8;
+    width: 4px;
+    height: 14px;
+    left: 0px;
+    top: 13px;
+  }
+
+  .position {
+    position: relative;
+  }
+
+  .del {
+    position: absolute;
+    right: -38px;
+    top: 14px;
+    cursor: pointer;
+    right: 0;
+    display: inline-block;
+    font-size: 26px;
+    width: 26px;
+    height: 10px;
+    line-height: 0px;
+  }
+
+  .amap-page-container {
+    width: 300px;
+    height: 300px;
+  }
+
+  .el-form {
+    padding: 0 10%;
+  }
+
+  /deep/.ws-info-table .el-form-item {
+    border-right: 1px solid transparent;
+    border-bottom: 1px solid transparent;
+  }
+
+  .readonly {
+    position: relative;
+  }
+
+  .readonly:after {
+    content: '*';
+    color: #ff2727;
+    position: absolute;
+    right: 8px;
+    z-index: 10;
+    top: 21%;
+    font-size: 20px;
+  }
+
+  .title {
+    position: relative;
+  }
+
+  .title::before {
+    content: '';
+    display: inline-block;
+    width: 5px;
+    height: 30px;
+    background: #5473e8;
+    position: absolute;
+    left: 0;
+  }
+
+  .el-button--primary {
+    background-color: #5878e8;
+    border-color: #5878e8;
+  }
+
+  .el-col {
+    background: #f6f7fc;
+  }
+
+  /deep/.ws-info-table .el-form-item .el-form-item__content {
+    padding: 0 25px;
+    border-left: 1px solid transparent;
+    background: #fff;
+  }
+
+  /deep/.ws-info-table .el-form-item .el-form-item__label {
+    width: 100px;
+    text-align: center;
+    background: #fff;
+    // border: 1px solid #cdd2dc;
+  }
+
+  .button-container {
     display: flex;
     flex-wrap: nowrap;
-    flex-direction: row;
-    & > span {
-      line-height: 50px;
-    }
-  }
+    justify-content: space-between;
+    align-items: center;
+    background-color: #fff;
+    width: 100%;
+    height: 50px;
+    padding: 0 10px;
+
+    &>div {
+      margin-left: 10px;
+      display: flex;
+      flex-wrap: nowrap;
+      flex-direction: row;
 
-  /deep/.auditFlow-box {
-    position: unset;
-    margin-left: 10px;
-    &/deep/.auditFlow-icon {
-      width: auto;
-      padding-right: 30px;
+      &>span {
+        line-height: 50px;
+      }
     }
-    &/deep/.auditFlow-main {
-      position: absolute;
+
+    /deep/.auditFlow-box {
+      position: unset;
+      margin-left: 10px;
+
+      &/deep/.auditFlow-icon {
+        width: auto;
+        padding-right: 30px;
+      }
+
+      &/deep/.auditFlow-main {
+        position: absolute;
+      }
     }
   }
-}
-.box-app {
-  display: inline-block;
-  float: left;
-  margin-left: 30px;
-  line-height: 50px;
-}
-/deep/.el-dialog {
-  .el-form-item {
-    margin-bottom: 0 !important;
-    .el-input--medium {
-      textarea {
-        min-height: 100px !important;
+
+  .box-app {
+    display: inline-block;
+    float: left;
+    margin-left: 30px;
+    line-height: 50px;
+  }
+
+  /deep/.el-dialog {
+    .el-form-item {
+      margin-bottom: 0 !important;
+
+      .el-input--medium {
+        textarea {
+          min-height: 100px !important;
+        }
       }
     }
   }
-}
-.collapse-bottom {
-  margin-bottom: 20px;
-}
-.input-main .textarea .el-textarea__inner {
-  width: 100%;
-  z-index: 1;
-}
-.bg-left {
-  padding-left: 30px;
-}
-.bg-right {
-  padding-right: 10px;
-  text-align: right;
-}
-.bg-bottom {
-  margin: 15px 0px;
-}
-.wenzi {
-  width: 900px;
-  margin: 0 auto;
-}
-.wenzi h3 {
-  display: inline-block;
-  left: 10px;
-}
-.wenzi p {
-  display: inline-block;
-}
-.center {
-  width: 900px;
-  margin: -70px auto;
-  margin-right: 92px;
-}
-.wanhuo {
-  width: 900px;
-  margin: 0 auto;
-}
-.el-form-item {
-  width: 50%;
-}
-.el-form-item__label {
-  text-align: center;
-}
-.ce {
-  width: 900px;
-  margin: 0 auto;
-}
-/*.crt-main .textarea /deep/ .el-form-item__label {*/
-/*  height: 82px;*/
-/*}*/
-// 控制select为只读的时候显示样式
-
-.hide-sel {
-  .el-input__inner {
-    border: 0px;
+
+  .collapse-bottom {
+    margin-bottom: 20px;
   }
-  .el-icon-arrow-up {
-    display: none;
+
+  .input-main .textarea .el-textarea__inner {
+    width: 100%;
+    z-index: 1;
   }
-  .el-textarea__inner {
-    background-color: #fff !important;
-    border: 0;
+
+  .bg-left {
+    padding-left: 30px;
+  }
+
+  .bg-right {
+    padding-right: 10px;
+    text-align: right;
+  }
+
+  .bg-bottom {
+    margin: 15px 0px;
+  }
+
+  .wenzi {
+    width: 900px;
+    margin: 0 auto;
+  }
+
+  .wenzi h3 {
+    display: inline-block;
+    left: 10px;
+  }
+
+  .wenzi p {
+    display: inline-block;
+  }
+
+  .center {
+    width: 900px;
+    margin: -70px auto;
+    margin-right: 92px;
+  }
+
+  .wanhuo {
+    width: 900px;
+    margin: 0 auto;
+  }
+
+  .el-form-item {
+    width: 50%;
+  }
+
+  .el-form-item__label {
+    text-align: center;
+  }
+
+  .ce {
+    width: 900px;
+    margin: 0 auto;
   }
-  .el-date-editor {
-    i {
+
+  /*.crt-main .textarea /deep/ .el-form-item__label {*/
+  /*  height: 82px;*/
+  /*}*/
+  // 控制select为只读的时候显示样式
+
+  .hide-sel {
+    .el-input__inner {
+      border: 0px;
+    }
+
+    .el-icon-arrow-up {
       display: none;
     }
+
+    .el-textarea__inner {
+      background-color: #fff !important;
+      border: 0;
+    }
+
+    .el-date-editor {
+      i {
+        display: none;
+      }
+    }
+
+    // .is-disabled {
+    //   .el-input__inner:hover {
+    //     background-color: #fff !important;
+    //     border: 0;
+    //   }
+    //   color: #606266;
+    //   .el-input__inner {
+    //     background-color: #fff !important;
+    //     border: 0;
+    //     color: #606266;
+    //   }
+    //   .el-textarea__inner {
+    //     background-color: #fff !important;
+    //     border: 0;
+    //     color: #606266;
+    //   }
+    // }
   }
-  // .is-disabled {
-  //   .el-input__inner:hover {
-  //     background-color: #fff !important;
-  //     border: 0;
+
+  // 控制select为只读的时候显示样式
+  /deep/.ws-class-table-col {
+    height: auto;
+    padding: 0px 2px;
+
+    /deep/.el-input__inner {
+      padding: 0px 2px;
+    }
+  }
+
+  // /deep/.is-disabled {
+  //   .el-input__prefix,
+  //   .el-input__suffix {
+  //     display: none;
   //   }
-  //   color: #606266;
   //   .el-input__inner {
-  //     background-color: #fff !important;
-  //     border: 0;
-  //     color: #606266;
-  //   }
-  //   .el-textarea__inner {
-  //     background-color: #fff !important;
-  //     border: 0;
-  //     color: #606266;
+  //     background-color: #fff;
+  //     border-color: #fff !important;
+  //     color: #000 !important;
+  //     font-size: 14px;
+  //     cursor: text;
+  //     padding: 0 !important;
   //   }
   // }
-}
+  .winseaview-view {
+    padding: 0 0 20px;
+  }
 
-// 控制select为只读的时候显示样式
-/deep/.ws-class-table-col {
-  height: auto;
-  padding: 0px 2px;
-  /deep/.el-input__inner {
-    padding: 0px 2px;
+  .container {
+    overflow: scroll;
+    height: 93vh;
+  }
+
+  .ws-info-table .el-form-item {
+    width: 33.3333%;
+  }
+
+  .readonly:after {
+    display: none;
+  }
+
+  .el-textarea__inner {
+    display: none;
+  }
+
+  .el-form {
+    margin-top: 50px;
+  }
+
+  .readonly {
+    width: 16%;
+  }
+
+  //去边框
+  /deep/.el-form-item {
+    border-right: 0px;
+    border-bottom: 0px;
+  }
+
+  /deep/.ws-info-table {
+    border-left: 0px;
+    border-top: 0px;
+  }
+
+  .ws-info-table .el-form-item .el-form-item__content {
+    border: none;
+  }
+
+  /deep/.ws-info-table .el-form-item {
+    border: none;
+    height: 50px;
+  }
+
+  /deep/.ws-info-table .el-form-item .el-form-item__content {
+    background: #f5f7fa;
+    border-radius: 4px;
+    border: 1px solid #d8dce6;
+    font-family: PingFangSC-Regular, PingFang SC;
+    margin-bottom: 5px;
+    background-color: #fff;
+    font-size: 14px;
+    font-weight: 400;
+    color: #8890b1;
+    line-height: 16px;
+  }
+
+  /deep/.ws-info-table .el-form-item .el-form-item__label {
+    background-color: #fff;
+    font-size: 13px;
+    font-family: PingFangSC-Regular, PingFang SC;
+    font-weight: 400;
+    color: #8890b1;
+    line-height: 16px;
+  }
+
+  /deep/.ws-info-table .el-form-item .el-form-item__content {
+    background: #f5f7fa;
+    border-radius: 4px;
+    border: 1px solid #d8dce6;
+  }
+
+  /deep/.flex .ws-info-table .el-form-item .el-form-item__content {
+    border: 0px;
+  }
+
+  .catNos {
+    width: 5%;
+    height: 30px;
+    margin-top: 10px;
+    margin-left: 20px;
+    margin-right: -5px;
+    font-size: 14px;
+  }
+
+  .catNosCor {
+    color: #5473e8;
+  }
+
+  .add {
+    width: 130px;
+    height: 34px;
+    background: #f6f7fb;
+    border-radius: 17px;
+    color: #5473e8;
+    font-size: 14px;
+    border: none;
+  }
+
+  .add img {
+    display: inline-block;
+    margin-top: 3px;
+    margin-left: -30px;
+  }
+
+  .add .spans {
+    display: table-caption;
+    width: 56px;
+    height: 20px;
+    line-height: 18px;
+  }
+
+  .signStatus {
+    height: 25px;
+    border-radius: 3px;
+    border: 1px solid #5473e8;
+    padding: 0 3px;
+    color: #ffffff;
+    background: #c4cada;
+    line-height: 24px;
+    margin-left: 18px;
+  }
+
+  .signStatus1 {
+    height: 25px;
+    background: #e6ebff;
+    border-radius: 3px;
+    border: 1px solid #5473e8;
+    padding: 0 3px;
+    margin-left: 18px;
+    color: #5473e8;
+    line-height: 24px;
+  }
+
+  .line {
+    height: 26px;
+    margin-top: 6px;
+    left: 2px;
+  }
+
+  //装车详情
+  /deep/.liaison .ws-info-table .el-form-item {
+    width: 20%;
+  }
+
+  /deep/.liaison .ws-info-table .el-form-item .el-form-item__label {
+    width: 50%;
+    background: #f6f7fc;
+  }
+
+  /deep/.liaison .flex {
+    display: contents;
+  }
+
+  /deep/.liaison .ws-info-table {
+    background: #f6f7fc;
+    border-radius: 4px;
+    border: 1px solid #d8dce6;
+    margin-top: 20px;
+  }
+
+  /deep/.liaison .ws-info-table .el-form-item .el-form-item__content {
+    padding: 0px;
+  }
+
+  //联络员及车次
+  /deep/.lianluoyuan .ws-info-table .el-form-item {
+    width: 20%;
+  }
+
+  /deep/.lianluoyuan .ws-info-table .el-form-item .el-form-item__label {
+    width: 43%;
+    background: #f6f7fc;
+    padding-right: 0px;
+    margin-top: 5px;
+  }
+
+  /deep/.lianluoyuan .flex {
+    display: contents;
+  }
+
+  /deep/.lianluoyuan .ws-info-table {
+    background: #f6f7fc;
+    border-radius: 4px;
+    border: 1px solid #d8dce6;
+    margin-top: 20px;
+  }
+
+  /deep/.lianluoyuan .ws-info-table .el-form-item .el-form-item__content {
+    padding: 0px;
+    margin-top: 5px;
+  }
+
+  //装车状态
+  .noservicein,
+  .servicein {
+    display: inline-block;
+    border-radius: 4px;
+    border: 1px solid #d8dce6;
+    padding: 2px;
+    font-size: 12px;
+    background: #e5f1f7;
+    color: #50cad4;
+    height: 23px;
+    margin-top: 11px;
+    margin-left: 53px;
+  }
+
+  .noservicein {
+    background: #c4cada;
+    color: #ffffff;
+    display: inline-block;
+    border-radius: 4px;
+    border: 1px solid #d8dce6;
+    padding: 2px;
+    font-size: 12px;
+    background: #e5f1f7;
+    color: #50cad4;
+    height: 23px;
+    margin-top: 11px;
+    margin-left: 53px;
+  }
+
+  .servicedin {
+    display: inline-block;
+    border-radius: 4px;
+    border: 1px solid #d8dce6;
+    padding: 2px;
+    font-size: 12px;
+    background: #e5f1f7;
+    color: #50cad4;
+    height: 23px;
+    margin-top: 11px;
+    margin-left: 53px;
+  }
+
+  /deep/.el-input--suffix .el-input__inner {
+    padding-right: 0px !important;
+  }
+
+  //送达/未送达
+  .noservice,
+  .service {
+    display: inline-block;
+    border-radius: 4px;
+    border: 1px solid #d8dce6;
+    padding: 2px;
+    font-size: 12px;
+  }
+
+  .noservice {
+    background: #c4cada;
+    color: #ffffff;
+  }
+
+  .service {
+    background: #e5f1f7;
+    color: #50cad4;
+  }
+  .bg-bottom-preview{
+    margin: 0 8px;
   }
-}
-// /deep/.is-disabled {
-//   .el-input__prefix,
-//   .el-input__suffix {
-//     display: none;
-//   }
-//   .el-input__inner {
-//     background-color: #fff;
-//     border-color: #fff !important;
-//     color: #000 !important;
-//     font-size: 14px;
-//     cursor: text;
-//     padding: 0 !important;
-//   }
-// }
-.winseaview-view {
-  padding: 0 0 20px;
-}
-.container {
-  overflow: scroll;
-  height: 93vh;
-}
-.ws-info-table .el-form-item {
-  width: 33.3333%;
-}
-.readonly:after {
-  display: none;
-}
-.el-textarea__inner {
-  display: none;
-}
-.el-form {
-  margin-top: 50px;
-}
-.readonly {
-  width: 16%;
-}
-
-//去边框
-/deep/.el-form-item {
-  border-right: 0px;
-  border-bottom: 0px;
-}
-/deep/.ws-info-table {
-  border-left: 0px;
-  border-top: 0px;
-}
-.ws-info-table .el-form-item .el-form-item__content {
-  border: none;
-}
-/deep/.ws-info-table .el-form-item {
-  border: none;
-  height: 50px;
-}
-/deep/.ws-info-table .el-form-item .el-form-item__content {
-  background: #f5f7fa;
-  border-radius: 4px;
-  border: 1px solid #d8dce6;
-  font-family: PingFangSC-Regular, PingFang SC;
-  margin-bottom: 5px;
-  background-color: #fff;
-  font-size: 14px;
-  font-weight: 400;
-  color: #8890b1;
-  line-height: 16px;
-}
-/deep/.ws-info-table .el-form-item .el-form-item__label {
-  background-color: #fff;
-  font-size: 13px;
-  font-family: PingFangSC-Regular, PingFang SC;
-  font-weight: 400;
-  color: #8890b1;
-  line-height: 16px;
-}
-
-/deep/.ws-info-table .el-form-item .el-form-item__content {
-  background: #f5f7fa;
-  border-radius: 4px;
-  border: 1px solid #d8dce6;
-}
-/deep/.flex .ws-info-table .el-form-item .el-form-item__content {
-  border: 0px;
-}
-.catNos {
-  width: 5%;
-  height: 30px;
-  margin-top: 10px;
-  margin-left: 20px;
-  margin-right: -5px;
-  font-size: 14px;
-}
-.catNosCor {
-  color: #5473e8;
-}
-.add {
-  width: 130px;
-  height: 34px;
-  background: #f6f7fb;
-  border-radius: 17px;
-  color: #5473e8;
-  font-size: 14px;
-  border: none;
-}
-.add img {
-  display: inline-block;
-  margin-top: 3px;
-  margin-left: -30px;
-}
-.add .spans {
-  display: table-caption;
-  width: 56px;
-  height: 20px;
-  line-height: 18px;
-}
-.signStatus {
-  height: 25px;
-  border-radius: 3px;
-  border: 1px solid #5473e8;
-  padding: 0 3px;
-  color: #ffffff;
-  background: #c4cada;
-  line-height: 24px;
-  margin-left: 18px;
-}
-.signStatus1 {
-  height: 25px;
-  background: #e6ebff;
-  border-radius: 3px;
-  border: 1px solid #5473e8;
-  padding: 0 3px;
-  margin-left: 18px;
-  color: #5473e8;
-  line-height: 24px;
-}
-.line {
-  height: 26px;
-  margin-top: 6px;
-  left: 2px;
-}
-//装车详情
-/deep/.liaison .ws-info-table .el-form-item {
-  width: 20%;
-}
-/deep/.liaison .ws-info-table .el-form-item .el-form-item__label {
-  width: 50%;
-  background: #f6f7fc;
-}
-/deep/.liaison .flex {
-  display: contents;
-}
-/deep/.liaison .ws-info-table {
-  background: #f6f7fc;
-  border-radius: 4px;
-  border: 1px solid #d8dce6;
-  margin-top: 20px;
-}
-/deep/.liaison .ws-info-table .el-form-item .el-form-item__content {
-  padding: 0px;
-}
-
-//联络员及车次
-/deep/.lianluoyuan .ws-info-table .el-form-item {
-  width: 20%;
-}
-/deep/.lianluoyuan .ws-info-table .el-form-item .el-form-item__label {
-  width: 43%;
-  background: #f6f7fc;
-  padding-right: 0px;
-  margin-top: 5px;
-}
-/deep/.lianluoyuan .flex {
-  display: contents;
-}
-/deep/.lianluoyuan .ws-info-table {
-  background: #f6f7fc;
-  border-radius: 4px;
-  border: 1px solid #d8dce6;
-  margin-top: 20px;
-}
-/deep/.lianluoyuan .ws-info-table .el-form-item .el-form-item__content {
-  padding: 0px;
-  margin-top: 5px;
-}
-//装车状态
-.noservicein,
-.servicein {
-  display: inline-block;
-  border-radius: 4px;
-  border: 1px solid #d8dce6;
-  padding: 2px;
-  font-size: 12px;
-  background: #e5f1f7;
-  color: #50cad4;
-  height: 23px;
-  margin-top: 11px;
-  margin-left: 53px;
-}
-.noservicein {
-  background: #c4cada;
-  color: #ffffff;
-  display: inline-block;
-  border-radius: 4px;
-  border: 1px solid #d8dce6;
-  padding: 2px;
-  font-size: 12px;
-  background: #e5f1f7;
-  color: #50cad4;
-  height: 23px;
-  margin-top: 11px;
-  margin-left: 53px;
-}
-.servicedin {
-  display: inline-block;
-  border-radius: 4px;
-  border: 1px solid #d8dce6;
-  padding: 2px;
-  font-size: 12px;
-  background: #e5f1f7;
-  color: #50cad4;
-  height: 23px;
-  margin-top: 11px;
-  margin-left: 53px;
-}
-/deep/.el-input--suffix .el-input__inner {
-  padding-right: 0px !important;
-}
-//送达/未送达
-.noservice,
-.service {
-  display: inline-block;
-  border-radius: 4px;
-  border: 1px solid #d8dce6;
-  padding: 2px;
-  font-size: 12px;
-}
-.noservice {
-  background: #c4cada;
-  color: #ffffff;
-}
-.service {
-  background: #e5f1f7;
-  color: #50cad4;
-}
-</style>
+</style>

+ 2 - 1
src/views/tranManagement/tranManagementFireReceivingFeedback.vue

@@ -505,7 +505,8 @@ export default {
                             //xxx代表列名
                             obj.boxNo = v.车厢号
                             obj.loadNetWeight = v.装车净重
-                            obj.loadingDate = toString(v.装车日期)
+                            obj.unloadNetWeight = v.卸车净重
+                            obj.unloadingDate = toString(v.卸车日期)
                             obj.status= v.状态
                             obj.unloadPoundImg = v.磅单
                             console.log(obj)

+ 3 - 3
src/views/tranManagement/tranManagementReceivingloading.vue

@@ -415,13 +415,13 @@ export default {
                             v = JSON.parse(jsonString);
                             let obj = {}
                             //xxx代表列名
-                            obj.temporaryDriverFlag = v.临时司机标识
                             obj.caseNo= v.箱号
+                            obj.loadNetWeight= v.装车
                             obj.titleNo= v.封号
                             obj.driverPhone = v.司机电话
                             obj.driver=v.司机姓名
-                            obj.loadNetWeight = v.车净重
-                            obj.loadingDate = toString(v.车日期)
+                            obj.loadNetWeight = v.车净重
+                            obj.loadingDate = toString(v.车日期)
                             obj.status= v.状态
                             obj.carNo = v.车牌号
                             obj.unloadPoundImg = v.磅单

+ 1056 - 1049
src/views/tranManagement/tranManagementShippingFeedback.vue

@@ -7,13 +7,8 @@
       </el-col>
       <el-col :span="12" class="bg-right">
         <el-button class="bg-bottom" type="primary" size="small" @click="returnsales()">
-          <img
-            width="6"
-            height="10"
-            style="vertical-align: bottom; margin-right: 3px"
-            src="../../../public/img/lujing.png"
-            alt
-          />返回
+          <img width="6" height="10" style="vertical-align: bottom; margin-right: 3px"
+            src="../../../public/img/lujing.png" alt />返回
         </el-button>
       </el-col>
     </el-row>
@@ -32,19 +27,10 @@
           }}{{ deptBudgetList.sendArea }}
         </ws-form-item>
         <!--发货人-->
-        <ws-form-item
-          label="发货人"
-          span="1"
-          prop="sender"
-          class="readonly"
-        >{{ deptBudgetList.sender }}</ws-form-item>
+        <ws-form-item label="发货人" span="1" prop="sender" class="readonly">{{ deptBudgetList.sender }}</ws-form-item>
         <!--发货人电话-->
-        <ws-form-item
-          label="发货人电话"
-          span="1"
-          prop="senderPhone"
-          class="readonly"
-        >{{ deptBudgetList.senderPhone }}</ws-form-item>
+        <ws-form-item label="发货人电话" span="1" prop="senderPhone" class="readonly">{{ deptBudgetList.senderPhone }}
+        </ws-form-item>
         <!--收货地址-->
         <ws-form-item label="收货地址" span="1" prop="receiveDetailedAddress">
           {{ deptBudgetList.receivePrivate }}{{ deptBudgetList.receiveCity
@@ -55,17 +41,10 @@
         <!--收货人电话-->
         <ws-form-item label="收货人电话" span="1" prop="receiverPhone">{{ deptBudgetList.receiverPhone }}</ws-form-item>
         <!--发货日期-->
-        <ws-form-item
-          label="发货日期"
-          span="1"
-          prop="deliveryDateStart"
-        >{{ deptBudgetList.deliveryDateStart }}</ws-form-item>
+        <ws-form-item label="发货日期" span="1" prop="deliveryDateStart">{{ deptBudgetList.deliveryDateStart }}
+        </ws-form-item>
         <!--最晚到货日期-->
-        <ws-form-item
-          label="最晚到货日期"
-          span="1"
-          prop="deliveryDateEnd"
-        >{{ deptBudgetList.deliveryDateEnd }}</ws-form-item>
+        <ws-form-item label="最晚到货日期" span="1" prop="deliveryDateEnd">{{ deptBudgetList.deliveryDateEnd }}</ws-form-item>
         <!--合同编号-->
         <ws-form-item label="合同编号" span="1" prop="contractNo">{{ deptBudgetList.contractNo }}</ws-form-item>
         <!-- 运输方式 -->
@@ -79,19 +58,11 @@
         <ws-form-item label="电话" span="1" prop="driverPhone">{{ deptBudgetList.driverPhone }}</ws-form-item>
         <!--发船日期-->
         <ws-form-item label="发船日期" span="1" prop="sendDateStart">
-          <ws-date-picker
-            v-model="deptBudgetList.sendDateStart"
-            type="date"
-            placeholder="请选择发船日期"
-            value-format="yyyy-MM-dd"
-          />
+          <ws-date-picker v-model="deptBudgetList.sendDateStart" type="date" placeholder="请选择发船日期"
+            value-format="yyyy-MM-dd" />
         </ws-form-item>
         <!-- 预计到港日期 -->
-        <ws-form-item
-          label="预计到港日期"
-          span="1"
-          prop="receiveDateEnd"
-        >{{ deptBudgetList.receiveDateEnd }}</ws-form-item>
+        <ws-form-item label="预计到港日期" span="1" prop="receiveDateEnd">{{ deptBudgetList.receiveDateEnd }}</ws-form-item>
         <!-- 船名 -->
         <ws-form-item label="船名" span="1" prop="shipName">{{ deptBudgetList.shipName }}</ws-form-item>
         <!-- 航次 -->
@@ -99,35 +70,26 @@
         <!-- 类型 -->
         <ws-form-item label="类型" span="1" prop="shipType">{{ deptBudgetList.shipType }}</ws-form-item>
         <!-- 数量 -->
-        <ws-form-item
-          label="数量"
-          span="1"
-          prop="boxNumber"
-          v-if="deptBudgetList.shipType == '集装箱'"
-        >{{ deptBudgetList.boxNumber }}</ws-form-item>
+        <ws-form-item label="数量" span="1" prop="boxNumber" v-if="deptBudgetList.shipType == '集装箱'">
+          {{ deptBudgetList.boxNumber }}</ws-form-item>
       </ws-info-table>
       <div class="small-title" style="font-size: 16px; width: 50%; float: left">装船详情</div>
       <!-- 导入 -->
-      <div style="font-size: 16px; width: 50%; float: left; text-align: right">
-        <el-upload
-          style="margin-left: 8px;"
-          class="upload-demo inline-block margin-right-10"
-          action
-          :on-change="handleChange"
-          :show-file-list="false"
+      <div style="font-size: 16px; width: 50%; float: left; text-align: right;display:flex;justify-content:end;">
+        <el-link
+          href="https://taohaoliang.oss-cn-beijing.aliyuncs.com/%E6%B1%BD%E8%BF%90%E8%A3%85%E8%BD%A6%E5%8F%8D%E9%A6%88%E6%A8%A1%E6%9D%BF.xlsx"
+          style="margin-left: 8px;">
+          <el-button type="primary">模板下载</el-button>
+        </el-link>
+        <el-upload style="margin-left: 8px;" class="upload-demo inline-block margin-right-10" action
+          :on-change="handleChange" :show-file-list="false"
           accept=".csv, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel"
-          :auto-upload="false"
-        >
+          :auto-upload="false">
           <el-button type="primary">导入</el-button>
         </el-upload>
       </div>
       <div class="liaison" v-if="this.deptBudgetList.tranCarInfoList.length>0">
-        <div
-          style="width: 100%"
-          class="flex position"
-          v-for="(item, index) in this.freightspace"
-          :key="index"
-        >
+        <div style="width: 100%" class="flex position" v-for="(item, index) in freightspace" :key="index">
           <ws-info-table>
             <div class="catNos" v-if="item.shipType == '集装箱'">
               集装箱-{{ index + 1 }}
@@ -151,83 +113,38 @@
             </div>
             <!--箱号-->
             <el-form-item label="箱号" prop="caseNo" v-if="item.shipType == '集装箱'">
-              <el-input
-                v-if="item.status == '已装车' || item.status == '已送达'"
-                :disabled="readonly"
-                v-model="item.caseNo"
-                placeholder="请输入箱号"
-              ></el-input>
+              <el-input v-if="item.status == '已装车' || item.status == '已送达'" :disabled="readonly" v-model="item.caseNo"
+                placeholder="请输入箱号"></el-input>
               <el-input v-else v-model="item.caseNo" placeholder="请输入箱号"></el-input>
             </el-form-item>
             <!--封号-->
             <el-form-item label="封号" prop="titleNo" v-if="item.shipType == '集装箱'">
-              <el-input
-                v-if="item.status == '已装车' || item.status == '已送达'"
-                :disabled="readonly"
-                v-model="item.titleNo"
-                placeholder="请输入封号"
-              ></el-input>
+              <el-input v-if="item.status == '已装车' || item.status == '已送达'" :disabled="readonly" v-model="item.titleNo"
+                placeholder="请输入封号"></el-input>
               <el-input v-else v-model="item.titleNo" placeholder="请输入封号"></el-input>
             </el-form-item>
             <!-- 仓位号 -->
-            <ws-form-item
-              span="1"
-              prop="binNumber"
-              v-if="item.shipType == '散船'"
-            >{{ item.binNumber }}</ws-form-item>
+            <ws-form-item span="1" prop="binNumber" v-if="item.shipType == '散船'">{{ item.binNumber }}</ws-form-item>
             <!-- 计划重量 -->
-            <ws-form-item
-              label="计划重量(吨)"
-              span="1"
-              prop="positionWeight"
-              v-if="item.shipType == '散船'"
-            >{{ item.positionWeight }}</ws-form-item>
+            <ws-form-item label="计划重量(吨)" span="1" prop="positionWeight" v-if="item.shipType == '散船'">
+              {{ item.positionWeight }}</ws-form-item>
             <!--装船净重-->
             <ws-form-item label="装船净重:" span="1" prop="loadNetWeight">
-              <ws-input
-                v-if="item.status == '已装车' || item.status == '已送达'"
-                :disabled="readonly"
-                v-model="item.loadNetWeight"
-                placeholder="请输入装船净重"
-                maxlength="20"
-                size="small"
-              />
-              <ws-input
-                v-else
-                v-model="item.loadNetWeight"
-                placeholder="请输入装船净重"
-                maxlength="20"
-                size="small"
-              />
+              <ws-input v-if="item.status == '已装车' || item.status == '已送达'" :disabled="readonly"
+                v-model="item.loadNetWeight" placeholder="请输入装船净重" maxlength="20" size="small" />
+              <ws-input v-else v-model="item.loadNetWeight" placeholder="请输入装船净重" maxlength="20" size="small" />
             </ws-form-item>
             <!--装船日期-->
             <el-form-item label="装船日期:" span="1" prop="loadingDate" label-width="100px">
-              <ws-date-picker
-                v-if="item.status == '已装车' || item.status == '已送达'"
-                :disabled="readonly"
-                v-model="item.loadingDate"
-                type="date"
-                style="width: 150px"
-                placeholder="请选择日期"
-                value-format="yyyy-MM-dd"
-              />
-              <ws-date-picker
-                v-else
-                v-model="item.loadingDate"
-                type="date"
-                style="width: 150px"
-                placeholder="请选择日期"
-                value-format="yyyy-MM-dd"
-              />
+              <ws-date-picker v-if="item.status == '已装车' || item.status == '已送达'" :disabled="readonly"
+                v-model="item.loadingDate" type="date" style="width: 150px" placeholder="请选择日期"
+                value-format="yyyy-MM-dd" />
+              <ws-date-picker v-else v-model="item.loadingDate" type="date" style="width: 150px" placeholder="请选择日期"
+                value-format="yyyy-MM-dd" />
             </el-form-item>
             <div style=" padding: 10px" class="center1">
-              <el-button
-                v-show="item.status == '未装车'"
-                class="bg-bottom"
-                type="primary"
-                size="small"
-                @click="submit(deptBudgetList)"
-              >提交</el-button>
+              <el-button v-show="item.status == '未装车'" class="bg-bottom" type="primary" size="small"
+                @click="submit(deptBudgetList)">提交</el-button>
             </div>
             <div v-show=" item.signStatus == '未签合同'" class="signStatus">{{ item.signStatus }}</div>
             <div v-show=" item.signStatus == '已签合同'" class="signStatus1">{{ item.signStatus }}</div>
@@ -235,33 +152,22 @@
         </div>
       </div>
       <div v-if="this.deptBudgetList.tranCarInfoList.length>0" class="yd-bottom">
-       
-        <ws-form-item label="运单:" span="1" prop="loadPoundImg" class="yd-bottom-left" v-if="freightspace[0].status == '已装车'">
+
+        <ws-form-item label="运单:" span="1" prop="loadPoundImg" class="yd-bottom-left"
+          v-if="freightspace[0].status == '已装车'">
           <!-- slot-scope="scope" -->
           <template>
-            <el-upload
-              action="https://www.zthymaoyi.com/upload/admin"
-              :show-file-list="false"
-              :on-success=" (res) => { uploadSuccessHandle1(res)}"
-              class="avatar-uploader"
-              accept=".jpg, .jpeg, .png, .gif"
-              multiple
-            >
-              <img
-                width="18"
-                height="20"
-                style="vertical-align: text-top; position: relative"
-                src="../../../public/img/fujian.png"
-                alt
-              />
+            <el-upload action="https://www.zthymaoyi.com/upload/admin" :show-file-list="false"
+              :on-success=" (res) => { uploadSuccessHandle1(res)}" class="avatar-uploader"
+              accept=".jpg, .jpeg, .png, .gif" multiple>
+              <img width="18" height="20" style="vertical-align: text-top; position: relative"
+                src="../../../public/img/fujian.png" alt />
             </el-upload>
             <div class="tupian">
               <span
-                v-if="deptBudgetList.tranCarInfoList.length>0&&deptBudgetList.tranCarInfoList[0].loadPoundImg != null "
-              >{{pictureTotal}}</span>
+                v-if="deptBudgetList.tranCarInfoList.length>0&&deptBudgetList.tranCarInfoList[0].loadPoundImg != null ">{{pictureTotal}}</span>
               <span
-                v-if="deptBudgetList.tranCarInfoList.length>0&&deptBudgetList.tranCarInfoList[0].loadPoundImg == null "
-              >未上传</span>
+                v-if="deptBudgetList.tranCarInfoList.length>0&&deptBudgetList.tranCarInfoList[0].loadPoundImg == null ">未上传</span>
             </div>
           </template>
         </ws-form-item>
@@ -270,14 +176,12 @@
           合计(吨):{{ total }}/{{ deptBudgetList.weight }}
           <!--阶段状态-->
           <span class="noservice" v-show="deptBudgetList.feedbackStatus == '执行中'">未完货</span>
-          <span
-            class="service"
-            v-show="deptBudgetList.feedbackStatus == '已完货'"
-          >{{ deptBudgetList.feedbackStatus }}</span>
+          <span class="service"
+            v-show="deptBudgetList.feedbackStatus == '已完货'">{{ deptBudgetList.feedbackStatus }}</span>
         </div>
       </div>
       <div v-if="this.deptBudgetList.tranCarInfoList.length==0">
-          暂无船次
+        暂无船次
       </div>
       <!--运单-->
       <!-- <div
@@ -296,971 +200,1074 @@
   </div>
 </template>
 <script>
-import { regionData } from 'element-china-area-data'
-import Pagination from '@/components/Pagination'
-import {
-  seeCat,
-  packList,
-  feedback,
-  state,
-  importApplFileUrl
-} from '@/model/transport/index'
-import { getstaff } from '@/model/warehouse/index'
-import WsUpload from '@/components/WsUpload'
-import mapDrag from '@/components/mapdrag/mapdrag'
-export default {
-  name: 'viewSpareMoney',
-  components: {
-    WsUpload,
-    mapDrag
-  },
-  watch: {
-    vesselId(val) {
-      this.getVesselData()
+  import {
+    regionData
+  } from 'element-china-area-data'
+  import Pagination from '@/components/Pagination'
+  import {
+    seeCat,
+    packList,
+    feedback,
+    state,
+    importApplFileUrl
+  } from '@/model/transport/index'
+  import {
+    getstaff
+  } from '@/model/warehouse/index'
+  import WsUpload from '@/components/WsUpload'
+  import mapDrag from '@/components/mapdrag/mapdrag'
+  export default {
+    name: 'viewSpareMoney',
+    components: {
+      WsUpload,
+      mapDrag
     },
-    isShow(val) {
-      this.showType = val
-    }
-  },
-  data() {
-    return {
-      pictureTotal:0,
-      deptBudgetList: {
-        totalStorage: 0,
-        sendDateStart: ''
+    watch: {
+      vesselId(val) {
+        this.getVesselData()
       },
-      tranCarInfoList: {
-        loadPoundImg: ''
-      },
-      options_: regionData,
-      heightData: '600px',
-      zoom: 7,
-      selectedOptions: [],
-      center: [116.244694, 39.517344],
-      window: '',
-      radio: 1,
-      personCharge: [],
-      district: null,
-      driverList: [],
-      readonly: true,
-      listDate: { country: '中国', level: 'country', city: '' },
-      citylist: [],
-      compId: sessionStorage.getItem('ws-pf_compId'),
-      rules: {
-        warehouseName: [
-          {
-            required: true,
-            message: '请输入仓库名称',
-            trigger: 'blur'
-          },
-          {
-            min: 2,
-            max: 20,
-            message: '仓库名长度不符合要求,请输入2-20字符之内',
-            trigger: 'blur'
+      isShow(val) {
+        this.showType = val
+      }
+    },
+    data() {
+      return {
+        excelFreightspace: [],
+        pictureTotal: 0,
+        deptBudgetList: {
+          totalStorage: 0,
+          sendDateStart: ''
+        },
+        tranCarInfoList: {
+          loadPoundImg: ''
+        },
+        options_: regionData,
+        heightData: '600px',
+        zoom: 7,
+        selectedOptions: [],
+        center: [116.244694, 39.517344],
+        window: '',
+        radio: 1,
+        personCharge: [],
+        district: null,
+        driverList: [],
+        readonly: true,
+        listDate: {
+          country: '中国',
+          level: 'country',
+          city: ''
+        },
+        citylist: [],
+        compId: sessionStorage.getItem('ws-pf_compId'),
+        rules: {
+          warehouseName: [{
+              required: true,
+              message: '请输入仓库名称',
+              trigger: 'blur'
+            },
+            {
+              min: 2,
+              max: 20,
+              message: '仓库名长度不符合要求,请输入2-20字符之内',
+              trigger: 'blur'
+            }
+          ]
+        },
+        tranType: 1,
+        size: 10,
+        value1: '',
+        unitList: [],
+        fileTemp: '',
+        freightspace: [{
+            caseNo: '',
+            titleNo: '',
+            binNumber: '',
+            positionWeight: '',
+            loadNetWeight: '',
+            loadingDate: ''
           }
-        ]
-      },
-      tranType: 1,
-      size: 10,
-      value1: '',
-      unitList: [],
-      fileTemp: '',
-      freightspace: [
-        {
-          caseNo: '',
-          titleNo: '',
-          binNumber: '',
-          positionWeight: '',
-          loadNetWeight: '',
-          loadingDate: ''
-        }
-        // {loadPoundImg:{}},
-      ],
-      name: '',
-      staffList: [],
-      options: [],
-      carModel: [],
-      tranCarInfoList: {
-        loadPoundImg: ''
-      },
-      //上传
-      accessoryTFs: false,
-      fileList: [],
-      appendixIdsAdd: '',
-    }
-  },
-  activated() {
-    this.deptBudgetList.id = this.$route.query.id
-    this.getList()
-  },
-  computed: {
-    totalStorage: function() {
-      var maxStorage = 0
-      for (var i = 0; i < this.freightspace.length; i++) {
-        maxStorage += Number(this.freightspace[i].maxStorage)
+          // {loadPoundImg:{}},
+        ],
+        name: '',
+        staffList: [],
+        options: [],
+        carModel: [],
+        tranCarInfoList: {
+          loadPoundImg: ''
+        },
+        //上传
+        accessoryTFs: false,
+        fileList: [],
+        appendixIdsAdd: '',
       }
-      return maxStorage
     },
-    total: function() {
-      if (this.deptBudgetList.tranCarInfoList != null) {
+    activated() {
+      this.deptBudgetList.id = this.$route.query.id
+      this.getList()
+    },
+    computed: {
+      totalStorage: function() {
         var maxStorage = 0
-        for (var i = 0; i < this.deptBudgetList.tranCarInfoList.length; i++) {
-          maxStorage += Number(
-            this.deptBudgetList.tranCarInfoList[i].loadNetWeight
-          )
+        for (var i = 0; i < this.freightspace.length; i++) {
+          maxStorage += Number(this.freightspace[i].maxStorage)
         }
         return maxStorage
-      } else {
-        return 0
-      }
-    }
-  },
-  methods: {
-    dataFilter(val) {
-      this.deptBudgetList.personCharge = val
-      if (val) {
-        this.options = this.staffList.filter(item => {
-          if (
-            !!~item.staffName.indexOf(val) ||
-            !!~item.staffName.toUpperCase().indexOf(val.toUpperCase())
-          ) {
-            return true
+      },
+      total: function() {
+        if (this.deptBudgetList.tranCarInfoList != null) {
+          var maxStorage = 0
+          for (var i = 0; i < this.deptBudgetList.tranCarInfoList.length; i++) {
+            maxStorage += Number(
+              this.deptBudgetList.tranCarInfoList[i].loadNetWeight
+            )
           }
-        })
-      } else {
-        this.options = this.staffList
-      }
-    },
-    selectstaff(e) {
-      for (var i = 0; i < this.staffList.length; i++) {
-        if (this.staffList[i].staffName == e) {
-          this.deptBudgetList.driverPhone = this.staffList[i].staffMobilePhone
-          this.freightspace[i].driverPhone = this.staffList[i].staffMobilePhone
-          this.deptBudgetList.personChargeKey = this.staffList[i].staffId
+          return maxStorage
+        } else {
+          return 0
         }
       }
     },
-    marker: function(item) {
-      this.deptBudgetList.warehousePositioning =
-        item.lnglat.lat + ',' + item.lnglat.lng
-    },
-    selectedAddress(e) {
-      this.deptBudgetList.warehousePositioning =
-        e.center.lat + ',' + e.center.lng
-    },
-    confirmPositioncity() {
-      this.listDate.level = 'city'
-      this.listDate.country = this.name
-    },
-    // 关闭 dialog时 处理文件url 初始化upload组件
-    handleClose() {
-      this.dialogViewSpareMoney = false
-    },
-    //下拉司机姓名改变事件
-    selectdriver() {},
-    handleChange(value) {
-      this.selectedOptions = value
-    },
-    returnsales() {
-      this.deptBudgetList = {}
-      this.freightspace = {}
-      this.selectedOptions = ''
-      this.deptBudgetList.tranCarInfoList = []
-      this.$router.push({ path: 'tranManagementTransporHairRespond' })
-    },
-    // 上传附件
-    uploadSuccess(data, files, url) {
-      console.log(data, files, url)
-    },
-    handleClose() {
-      this.accessoryTFs = false
-    },
-    handleChange(file, fileList) {
-      this.fileTemp = file.raw
-      let fileName = file.raw.name
-      let fileType = fileName.substring(fileName.lastIndexOf('.') + 1)
-      // 判断上传文件格式
-      if (this.fileTemp) {
-        if (fileType == 'xlsx' || fileType == 'xls') {
-          this.importf(this.fileTemp)
+    methods: {
+      dataFilter(val) {
+        this.deptBudgetList.personCharge = val
+        if (val) {
+          this.options = this.staffList.filter(item => {
+            if (
+              !!~item.staffName.indexOf(val) ||
+              !!~item.staffName.toUpperCase().indexOf(val.toUpperCase())
+            ) {
+              return true
+            }
+          })
+        } else {
+          this.options = this.staffList
+        }
+      },
+      selectstaff(e) {
+        for (var i = 0; i < this.staffList.length; i++) {
+          if (this.staffList[i].staffName == e) {
+            this.deptBudgetList.driverPhone = this.staffList[i].staffMobilePhone
+            this.freightspace[i].driverPhone = this.staffList[i].staffMobilePhone
+            this.deptBudgetList.personChargeKey = this.staffList[i].staffId
+          }
+        }
+      },
+      marker: function(item) {
+        this.deptBudgetList.warehousePositioning =
+          item.lnglat.lat + ',' + item.lnglat.lng
+      },
+      selectedAddress(e) {
+        this.deptBudgetList.warehousePositioning =
+          e.center.lat + ',' + e.center.lng
+      },
+      confirmPositioncity() {
+        this.listDate.level = 'city'
+        this.listDate.country = this.name
+      },
+      // 关闭 dialog时 处理文件url 初始化upload组件
+      handleClose() {
+        this.dialogViewSpareMoney = false
+      },
+      //下拉司机姓名改变事件
+      selectdriver() {},
+      handleChange(value) {
+        this.selectedOptions = value
+      },
+      returnsales() {
+        this.deptBudgetList = {}
+        this.freightspace = {}
+        this.selectedOptions = ''
+        this.deptBudgetList.tranCarInfoList = []
+        this.$router.push({
+          path: 'tranManagementTransporHairRespond'
+        })
+      },
+      // 上传附件
+      uploadSuccess(data, files, url) {
+        console.log(data, files, url)
+      },
+      handleClose() {
+        this.accessoryTFs = false
+      },
+      handleChange(file, fileList) {
+        this.fileTemp = file.raw
+        let fileName = file.raw.name
+        let fileType = fileName.substring(fileName.lastIndexOf('.') + 1)
+        // 判断上传文件格式
+        if (this.fileTemp) {
+          if (fileType == 'xlsx' || fileType == 'xls') {
+            this.importf(this.fileTemp)
+          } else {
+            this.$message({
+              type: 'warning',
+              message: '附件格式错误,请删除后重新上传!'
+            })
+          }
         } else {
           this.$message({
             type: 'warning',
-            message: '附件格式错误,请删除后重新上传!'
+            message: '请上传附件!'
           })
         }
-      } else {
-        this.$message({
-          type: 'warning',
-          message: '请上传附件!'
-        })
-      }
-    },
-    importf(obj) {
-      this.dialogVisible = true
-      let _this = this
-      let inputDOM = this.$refs.inputer // 通过DOM取文件数据
-      this.file = event.currentTarget.files[0]
-      var rABS = false //是否将文件读取为二进制字符串
-      var f = this.file
-      var reader = new FileReader()
-      //if (!FileReader.prototype.readAsBinaryString) {
-      FileReader.prototype.readAsBinaryString = function(f) {
-        var binary = ''
+      },
+      importf(obj) {
+        this.dialogVisible = true
+        let _this = this
+        let inputDOM = this.$refs.inputer // 通过DOM取文件数据
+        this.file = event.currentTarget.files[0]
         var rABS = false //是否将文件读取为二进制字符串
-        var pt = this
-        var wb //读取完成的数据
-        var outdata
+        var f = this.file
         var reader = new FileReader()
-        reader.onload = function(e) {
-          var bytes = new Uint8Array(reader.result)
-          var length = bytes.byteLength
-          for (var i = 0; i < length; i++) {
-            binary += String.fromCharCode(bytes[i])
-          }
-          var XLSX = require('xlsx')
-          if (rABS) {
-            wb = XLSX.read(btoa(fixdata(binary)), {
-              //手动转化
-              type: 'base64'
-            })
-          } else {
-            wb = XLSX.read(binary, {
-              type: 'binary'
+        //if (!FileReader.prototype.readAsBinaryString) {
+        FileReader.prototype.readAsBinaryString = function(f) {
+          var binary = ''
+          var rABS = false //是否将文件读取为二进制字符串
+          var pt = this
+          var wb //读取完成的数据
+          var outdata
+          var reader = new FileReader()
+          reader.onload = function(e) {
+            var bytes = new Uint8Array(reader.result)
+            var length = bytes.byteLength
+            for (var i = 0; i < length; i++) {
+              binary += String.fromCharCode(bytes[i])
+            }
+            var XLSX = require('xlsx')
+            if (rABS) {
+              wb = XLSX.read(btoa(fixdata(binary)), {
+                //手动转化
+                type: 'base64'
+              })
+            } else {
+              wb = XLSX.read(binary, {
+                type: 'binary'
+              })
+            }
+            // outdata就是你想要的东西 excel导入的数据
+            outdata = XLSX.utils.sheet_to_json(wb.Sheets[wb.SheetNames[0]])
+            // excel 数据再处理
+            let arr = []
+            outdata.map(v => {
+              // let jsonString = JSON.stringify(v).replace(/\*/g, '').replace(/\s/ig,'');
+              let jsonString = JSON.stringify(v)
+                .replace(/\//g, '')
+                .replace(/\s/gi, '')
+              console.log(jsonString)
+              v = JSON.parse(jsonString)
+              let obj = {}
+              //xxx代表列名
+              obj.caseNo = v.箱号
+              obj.titleNo = v.封号
+              obj.binNumber = v.仓位号
+              obj.positionWeight = v.散船重量
+              obj.loadNetWeight = v.装船净重
+              obj.loadingDate = v.装船日期
+              obj.status = v.状态
+              obj.shipType = v.类型
+              console.log(obj)
+              _this.excelFreightspace.push(obj)
             })
+            let _ispushData = true
+            console.log(arr, _this.freightspace)
+            for (let i = 0; i < _this.excelFreightspace.length; i++) {
+              _ispushData = true
+              for (let k = 0; k < _this.freightspace.length; k++) {
+                if (_this.excelFreightspace[i].binNumber == _this.freightspace[k].binNumber) {
+                  _this.freightspace[k] = _this.excelFreightspace[i]
+                  _ispushData = false
+                }
+              }
+              if (_ispushData) {
+                _this.freightspace.push(_this.excelFreightspace[i])
+
+                _ispushData = true
+              }
+            }
+            _this.$forceUpdate();
           }
-          // outdata就是你想要的东西 excel导入的数据
-          outdata = XLSX.utils.sheet_to_json(wb.Sheets[wb.SheetNames[0]])
-          // excel 数据再处理
-          let arr = []
-          outdata.map(v => {
-            // let jsonString = JSON.stringify(v).replace(/\*/g, '').replace(/\s/ig,'');
-            let jsonString = JSON.stringify(v)
-              .replace(/\//g, '')
-              .replace(/\s/gi, '')
-            console.log(jsonString)
-            v = JSON.parse(jsonString)
-            let obj = {}
-            //xxx代表列名
-            obj.caseNo = v.箱号
-            obj.titleNo = v.封号
-            obj.binNumber = v.仓位号
-            obj.positionWeight = v.散船重量
-            obj.loadNetWeight = v.装船净重
-            obj.loadingDate = toString(v.装船日期)
-            obj.status = v.状态
-            obj.shipType = v.类型
-            console.log(obj)
-            _this.freightspace.push(obj)
-          })
-          // _this.freightspace.concat(arr)
-          console.log(arr, _this.freightspace)
+          reader.readAsArrayBuffer(f)
+        }
+        if (rABS) {
+          reader.readAsArrayBuffer(f)
+        } else {
+          reader.readAsBinaryString(f)
+        }
+        console.log(reader)
+      },
+      uploadSectionFile(param) {
+        var fileName = param.file.name.split('.')
+        var fileSuffix = fileName[fileName.length - 1]
+        if (
+          !(
+            fileSuffix.toLowerCase() == 'xlsx' ||
+            fileSuffix.toLowerCase() == 'xls'
+          )
+        ) {
+          EventBus.$emit('error', this.$t('upload.message08'))
+          loading.close()
+          return
         }
-        reader.readAsArrayBuffer(f)
-      }
-      if (rABS) {
-        reader.readAsArrayBuffer(f)
-      } else {
-        reader.readAsBinaryString(f)
-      }
-      console.log(reader)
-    },
-    uploadSectionFile(param) {
-      var fileName = param.file.name.split('.')
-      var fileSuffix = fileName[fileName.length - 1]
-      if (
-        !(
-          fileSuffix.toLowerCase() == 'xlsx' ||
-          fileSuffix.toLowerCase() == 'xls'
-        )
-      ) {
-        EventBus.$emit('error', this.$t('upload.message08'))
-        loading.close()
-        return
-      }
 
-      var data = new FormData()
-      data.append('file', param.file)
-      data.append('compId', sessionStorage.getItem('ws-pf_compId'))
-      data.append('userId', sessionStorage.getItem('ws-pf_userId'))
+        var data = new FormData()
+        data.append('file', param.file)
+        data.append('compId', sessionStorage.getItem('ws-pf_compId'))
+        data.append('userId', sessionStorage.getItem('ws-pf_userId'))
 
-      importApplFileUrl(data)
-        .toPromise()
-        .then(success => {
-          console.log(success)
-        })
-    },
+        importApplFileUrl(data)
+          .toPromise()
+          .then(success => {
+            console.log(success)
+          })
+      },
 
-    //完货
-    finished() {
-      this.$confirm(`完货操作后,装船信息不可修改,是否确定完货?`, {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: 'warning'
-      })
-        .then(() => {
-          this.$refs.deptBudgetList.validate(valid => {
-            if (valid) {
-              var tranProcessInfo = {}
-              tranProcessInfo.id = this.deptBudgetList.id
-              state(tranProcessInfo)
-                .toPromise()
-                .then(response => {
-                  this.$message.success('完货成功')
-                  this.deptBudgetList = {}
-                  this.freightspace = {}
-                  this.selectedOptions = ''
-                  this.$router.push({
-                    path: 'tranManagementTransporHairRespond'
-                  })
-                })
-            } else {
-              return false
-            }
+      //完货
+      finished() {
+        this.$confirm(`完货操作后,装船信息不可修改,是否确定完货?`, {
+            confirmButtonText: '确定',
+            cancelButtonText: '取消',
+            type: 'warning'
           })
-        })
-        .catch(() => {
-          return false
-        })
-    },
-    submit() {
-      // if (!this.freightspace[i].sendDateStart) {
-      //   this.$message({
-      //     message: '发船日期不能为空!',
-      //     type: 'warning',
-      //   })
-      //   return
-      // }
-      // if (!this.freightspace[i].caseNo) {
-      //   this.$message({
-      //     message: '箱号不能为空!',
-      //     type: 'warning',
-      //   })
-      //   return
-      // }
-      // if (
-      //   this.freightspace[i].caseNo.length > 15 ||
-      //   this.freightspace[i].caseNo.length < 1
-      // ) {
-      //   this.$message({
-      //     message: '箱号输入错误!',
-      //     type: 'warning',
-      //   })
-      //   return
-      // }
-      // if (!this.freightspace[i].titleNo) {
-      //   this.$message({
-      //     message: '封号不能为空!',
-      //     type: 'warning',
-      //   })
-      //   return
-      // }
-      // if (
-      //   this.freightspace[i].titleNo.length > 15 ||
-      //   this.freightspace[i].titleNo.length < 1
-      // ) {
-      //   this.$message({
-      //     message: '封号输入错误!',
-      //     type: 'warning',
-      //   })
-      //   return
-      // }
-      // if (!this.freightspace[i].loadNetWeight) {
-      //   this.$message({
-      //     message: '装船净重不能为空!',
-      //     type: 'warning',
-      //   })
-      //   return
-      // }
-      // if (
-      //   (this.freightspace[i].loadNetWeight &&
-      //     String(this.freightspace[i].loadNetWeight).indexOf('.') != -1 &&
-      //     String(this.freightspace[i].loadNetWeight).length -
-      //       (String(this.freightspace[i].loadNetWeight).indexOf('.') + 1) >
-      //       2) ||
-      //   this.freightspace[i].loadNetWeight > 10000 ||
-      //   this.freightspace[i].loadNetWeight < 0
-      // ) {
-      //   this.$message({
-      //     message: '装船净重输入错误',
-      //     type: 'warning',
-      //   })
-      //   return
-      // }
-      // if (!this.freightspace[i].loadingDate) {
-      //   this.$message({
-      //     message: '装船日期不能为空!',
-      //     type: 'warning',
-      //   })
-      //   return
-      // }
-      this.$confirm(`提交成功后装船信息不可修改,是否确定提交?`, {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: 'warning'
-      })
-        .then(() => {
-          this.$refs.deptBudgetList.validate(valid => {
-            if (valid) {
-              this.tranCarInfoList = this.freightspace
-              this.tranCarInfoList[0].sendDateStart = this.deptBudgetList.sendDateStart
-              for (var i = 0; i < this.tranCarInfoList.length; i++) {
-                this.tranCarInfoList[i].id = this.freightspace[i].id
+          .then(() => {
+            this.$refs.deptBudgetList.validate(valid => {
+              if (valid) {
+                var tranProcessInfo = {}
+                tranProcessInfo.id = this.deptBudgetList.id
+                state(tranProcessInfo)
+                  .toPromise()
+                  .then(response => {
+                    this.$message.success('完货成功')
+                    this.deptBudgetList = {}
+                    this.freightspace = {}
+                    this.selectedOptions = ''
+                    this.$router.push({
+                      path: 'tranManagementTransporHairRespond'
+                    })
+                  })
+              } else {
+                return false
               }
-              var tranProcessInfo = {}
-              tranProcessInfo.id = this.deptBudgetList.id
-              tranProcessInfo.infoId = this.deptBudgetList.infoId
-              tranProcessInfo.processNo = this.deptBudgetList.processNo
-              tranProcessInfo.tranCarInfoList = this.tranCarInfoList
-              feedback(tranProcessInfo)
-                .toPromise()
-                .then(response => {
-                  this.$message.success('提交成功')
-                  this.deptBudgetList = {}
-                  this.freightspace = {}
-                  this.selectedOptions = ''
-                  this.$router.push({
-                    path: 'tranManagementTransporHairRespond'
+            })
+          })
+          .catch(() => {
+            return false
+          })
+      },
+      submit() {
+        // if (!this.freightspace[i].sendDateStart) {
+        //   this.$message({
+        //     message: '发船日期不能为空!',
+        //     type: 'warning',
+        //   })
+        //   return
+        // }
+        // if (!this.freightspace[i].caseNo) {
+        //   this.$message({
+        //     message: '箱号不能为空!',
+        //     type: 'warning',
+        //   })
+        //   return
+        // }
+        // if (
+        //   this.freightspace[i].caseNo.length > 15 ||
+        //   this.freightspace[i].caseNo.length < 1
+        // ) {
+        //   this.$message({
+        //     message: '箱号输入错误!',
+        //     type: 'warning',
+        //   })
+        //   return
+        // }
+        // if (!this.freightspace[i].titleNo) {
+        //   this.$message({
+        //     message: '封号不能为空!',
+        //     type: 'warning',
+        //   })
+        //   return
+        // }
+        // if (
+        //   this.freightspace[i].titleNo.length > 15 ||
+        //   this.freightspace[i].titleNo.length < 1
+        // ) {
+        //   this.$message({
+        //     message: '封号输入错误!',
+        //     type: 'warning',
+        //   })
+        //   return
+        // }
+        // if (!this.freightspace[i].loadNetWeight) {
+        //   this.$message({
+        //     message: '装船净重不能为空!',
+        //     type: 'warning',
+        //   })
+        //   return
+        // }
+        // if (
+        //   (this.freightspace[i].loadNetWeight &&
+        //     String(this.freightspace[i].loadNetWeight).indexOf('.') != -1 &&
+        //     String(this.freightspace[i].loadNetWeight).length -
+        //       (String(this.freightspace[i].loadNetWeight).indexOf('.') + 1) >
+        //       2) ||
+        //   this.freightspace[i].loadNetWeight > 10000 ||
+        //   this.freightspace[i].loadNetWeight < 0
+        // ) {
+        //   this.$message({
+        //     message: '装船净重输入错误',
+        //     type: 'warning',
+        //   })
+        //   return
+        // }
+        // if (!this.freightspace[i].loadingDate) {
+        //   this.$message({
+        //     message: '装船日期不能为空!',
+        //     type: 'warning',
+        //   })
+        //   return
+        // }
+        this.$confirm(`提交成功后装船信息不可修改,是否确定提交?`, {
+            confirmButtonText: '确定',
+            cancelButtonText: '取消',
+            type: 'warning'
+          })
+          .then(() => {
+            this.$refs.deptBudgetList.validate(valid => {
+              if (valid) {
+                this.tranCarInfoList = this.freightspace
+                this.tranCarInfoList[0].sendDateStart = this.deptBudgetList.sendDateStart
+                for (var i = 0; i < this.tranCarInfoList.length; i++) {
+                  this.tranCarInfoList[i].id = this.freightspace[i].id
+                }
+                var tranProcessInfo = {}
+                tranProcessInfo.id = this.deptBudgetList.id
+                tranProcessInfo.infoId = this.deptBudgetList.infoId
+                tranProcessInfo.processNo = this.deptBudgetList.processNo
+                tranProcessInfo.tranCarInfoList = this.tranCarInfoList
+                feedback(tranProcessInfo)
+                  .toPromise()
+                  .then(response => {
+                    this.$message.success('提交成功')
+                    this.deptBudgetList = {}
+                    this.freightspace = {}
+                    this.selectedOptions = ''
+                    this.$router.push({
+                      path: 'tranManagementTransporHairRespond'
+                    })
                   })
-                })
-            } else {
-              // EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
-              return false
-            }
+              } else {
+                // EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
+                return false
+              }
+            })
           })
-        })
-        .catch(() => {
-          return false
-        })
-    },
-    resetForm(deptBudgetList) {
-      this.$refs[deptBudgetList].resetFields()
-    },
-    getList() {
-      seeCat({ id: this.deptBudgetList.id })
-        .toPromise()
-        .then(response => {
-          this.deptBudgetList = response
-          if (response.tranCarInfoList.length > 0) {
-            this.deptBudgetList.driver = response.tranCarInfoList[0].driver
-            this.deptBudgetList.driverPhone =
-              response.tranCarInfoList[0].driverPhone
-            this.$set(
-              this.deptBudgetList,
-              'sendDateStart',
-              response.tranCarInfoList[0].sendDateStart
-            )
-            this.deptBudgetList.receiveDateEnd =
-              response.tranCarInfoList[0].receiveDateEnd
-            this.deptBudgetList.shipName = response.tranCarInfoList[0].shipName
-            this.deptBudgetList.shipNo = response.tranCarInfoList[0].shipNo
-            this.deptBudgetList.shipType = response.tranCarInfoList[0].shipType
-            this.deptBudgetList.boxNumber = response.tranCarInfoList[0].boxNumber
-            //上传附件计数
-            if(this.deptBudgetList.tranCarInfoList[0].loadPoundImg){
-              this.pictureTotal =  this.deptBudgetList.tranCarInfoList[0].loadPoundImg.split(",").length
+          .catch(() => {
+            return false
+          })
+      },
+      resetForm(deptBudgetList) {
+        this.$refs[deptBudgetList].resetFields()
+      },
+      getList() {
+        seeCat({
+            id: this.deptBudgetList.id
+          })
+          .toPromise()
+          .then(response => {
+            this.deptBudgetList = response
+            if (response.tranCarInfoList.length > 0) {
+              this.deptBudgetList.driver = response.tranCarInfoList[0].driver
+              this.deptBudgetList.driverPhone =
+                response.tranCarInfoList[0].driverPhone
+              this.$set(
+                this.deptBudgetList,
+                'sendDateStart',
+                response.tranCarInfoList[0].sendDateStart
+              )
+              this.deptBudgetList.receiveDateEnd =
+                response.tranCarInfoList[0].receiveDateEnd
+              this.deptBudgetList.shipName = response.tranCarInfoList[0].shipName
+              this.deptBudgetList.shipNo = response.tranCarInfoList[0].shipNo
+              this.deptBudgetList.shipType = response.tranCarInfoList[0].shipType
+              this.deptBudgetList.boxNumber = response.tranCarInfoList[0].boxNumber
+              //上传附件计数
+              if (this.deptBudgetList.tranCarInfoList[0].loadPoundImg) {
+                this.pictureTotal = this.deptBudgetList.tranCarInfoList[0].loadPoundImg.split(",").length
+              }
+              this.freightspace = response.tranCarInfoList
             }
-            this.freightspace = response.tranCarInfoList
-          }
 
-          for (var i = 0; i < this.freightspace.length; i++) {
-            if (!this.freightspace[i].loadNetWeight) {
-              this.freightspace[i].loadNetWeight = 0
+            for (var i = 0; i < this.freightspace.length; i++) {
+              if (!this.freightspace[i].loadNetWeight) {
+                this.freightspace[i].loadNetWeight = 0
+              }
             }
-          }
-        })
-      //司机姓名下拉
-      getstaff({ compId: sessionStorage.getItem('ws-pf_compId') })
-        .toPromise()
-        .then(response => {
-          this.options = response
-          this.staffList = response
-        }),
-        //车型
-        packList({ constId: 'TRAN5' })
+          })
+        //司机姓名下拉
+        getstaff({
+            compId: sessionStorage.getItem('ws-pf_compId')
+          })
+          .toPromise()
+          .then(response => {
+            this.options = response
+            this.staffList = response
+          }),
+          //车型
+          packList({
+            constId: 'TRAN5'
+          })
           .toPromise()
           .then(response => {
             this.carModel = response
           })
-    },
-    handleExamine() {},
-    approve() {},
-    // returnsales() {
-    //   this.$router.push({ path: 'purchaseContract' })
-    // },
-    selectChapterTwo(e) {
-      for (var i = 0; i < this.ChapterTwoList.length; i++) {
-        if (this.ChapterTwoList[i].constValue == e) {
-          this.deptBudgetList.gradeKey = this.ChapterTwoList[i].constKey
+      },
+      handleExamine() {},
+      approve() {},
+      // returnsales() {
+      //   this.$router.push({ path: 'purchaseContract' })
+      // },
+      selectChapterTwo(e) {
+        for (var i = 0; i < this.ChapterTwoList.length; i++) {
+          if (this.ChapterTwoList[i].constValue == e) {
+            this.deptBudgetList.gradeKey = this.ChapterTwoList[i].constKey
+          }
         }
-      }
-    },
-    selectunitList(e) {
-      for (var i = 0; i < this.unitList.length; i++) {
-        if (this.unitList[i].constValue == e) {
-          this.deptBudgetList.acceptanceMethodKey = this.unitList[i].constKey
+      },
+      selectunitList(e) {
+        for (var i = 0; i < this.unitList.length; i++) {
+          if (this.unitList[i].constValue == e) {
+            this.deptBudgetList.acceptanceMethodKey = this.unitList[i].constKey
+          }
         }
-      }
-    },
-    selectgrade(e) {
-      for (var i = 0; i < this.gradeList.length; i++) {
-        if (this.gradeList[i].constValue == e) {
-          this.deptBudgetList.gradeKey = this.gradeList[i].constKey
+      },
+      selectgrade(e) {
+        for (var i = 0; i < this.gradeList.length; i++) {
+          if (this.gradeList[i].constValue == e) {
+            this.deptBudgetList.gradeKey = this.gradeList[i].constKey
+          }
         }
-      }
-    },
-    selectgoodsName(e) {
-      for (var i = 0; i < this.goodnameList.length; i++) {
-        if (this.goodnameList[i].constValue == e) {
-          this.deptBudgetList.goodsNameKey = this.goodnameList[i].constKey
+      },
+      selectgoodsName(e) {
+        for (var i = 0; i < this.goodnameList.length; i++) {
+          if (this.goodnameList[i].constValue == e) {
+            this.deptBudgetList.goodsNameKey = this.goodnameList[i].constKey
+          }
         }
-      }
-    },
-    selectpackingMethod(e) {
-      for (var i = 0; i < this.packtypeList.length; i++) {
-        if (this.packtypeList[i].constValue == e) {
-          this.deptBudgetList.packingMethodKey = this.packtypeList[i].constKey
+      },
+      selectpackingMethod(e) {
+        for (var i = 0; i < this.packtypeList.length; i++) {
+          if (this.packtypeList[i].constValue == e) {
+            this.deptBudgetList.packingMethodKey = this.packtypeList[i].constKey
+          }
+        }
+      },
+      uploadSuccessHandle1(e) {
+        this.pictureTotal++;
+        if (this.deptBudgetList.tranCarInfoList[0].loadPoundImg) {
+          this.deptBudgetList.tranCarInfoList[0].loadPoundImg += ',' + e.url
+        } else {
+          this.deptBudgetList.tranCarInfoList[0].loadPoundImg = e.url
         }
-      }
-    },
-    uploadSuccessHandle1(e) {
-      this.pictureTotal++; 
-      if (this.deptBudgetList.tranCarInfoList[0].loadPoundImg) {
-        this.deptBudgetList.tranCarInfoList[0].loadPoundImg += ',' + e.url
-      } else {
-        this.deptBudgetList.tranCarInfoList[0].loadPoundImg = e.url
-      }
 
-      console.log(this.deptBudgetList.tranCarInfoList,"duixiang1")
-       feedback(this.deptBudgetList)
-                .toPromise()
-                .then(response => {
-                })
+        console.log(this.deptBudgetList.tranCarInfoList, "duixiang1")
+        feedback(this.deptBudgetList)
+          .toPromise()
+          .then(response => {})
+      }
     }
   }
-}
 </script>
 
 <style lang="scss" scoped>
-/deep/.totalStorage .el-input__inner {
-  color: #afb5cb;
-  background: #f5f7fa;
-}
-.small-title {
-  position: relative;
-  padding: 10px;
-  font-weight: 600;
-}
-.small-title::before {
-  position: absolute;
-  content: '';
-  display: block;
-  background: #5473e8;
-  width: 4px;
-  height: 14px;
-  left: 0px;
-  top: 13px;
-}
-.position {
-  position: relative;
-}
-
-.del {
-  position: absolute;
-  right: -38px;
-  top: 14px;
-  cursor: pointer;
-  right: 0;
-  display: inline-block;
-  font-size: 26px;
-  width: 26px;
-  height: 10px;
-  line-height: 0px;
-}
-
-.amap-page-container {
-  width: 300px;
-  height: 300px;
-}
-.el-form {
-  padding: 0 10%;
-}
-/deep/.ws-info-table .el-form-item {
-  border-right: 1px solid transparent;
-  border-bottom: 1px solid transparent;
-}
-.readonly {
-  position: relative;
-}
-.readonly:after {
-  content: '*';
-  color: #ff2727;
-  position: absolute;
-  right: 8px;
-  z-index: 10;
-  top: 21%;
-  font-size: 20px;
-}
-.title {
-  position: relative;
-}
-.title::before {
-  content: '';
-  display: inline-block;
-  width: 5px;
-  height: 30px;
-  background: #5473e8;
-  position: absolute;
-  left: 0;
-}
-.el-button--primary {
-  background-color: #5878e8;
-  border-color: #5878e8;
-}
-.el-col {
-  background: #f6f7fc;
-}
-/deep/.ws-info-table .el-form-item .el-form-item__content {
-  padding: 0 25px;
-  border-left: 1px solid transparent;
-  background: #fff;
-  display: flex;
-}
-/deep/.ws-info-table .el-form-item .el-form-item__label {
-  width: 100px;
-  text-align: center;
-  background: #fff;
-  // border: 1px solid #cdd2dc;
-}
-.button-container {
-  display: flex;
-  flex-wrap: nowrap;
-  justify-content: space-between;
-  align-items: center;
-  background-color: #fff;
-  width: 100%;
-  height: 50px;
-  padding: 0 10px;
-  & > div {
-    margin-left: 10px;
+  /deep/.totalStorage .el-input__inner {
+    color: #afb5cb;
+    background: #f5f7fa;
+  }
+
+  .small-title {
+    position: relative;
+    padding: 10px;
+    font-weight: 600;
+  }
+
+  .small-title::before {
+    position: absolute;
+    content: '';
+    display: block;
+    background: #5473e8;
+    width: 4px;
+    height: 14px;
+    left: 0px;
+    top: 13px;
+  }
+
+  .position {
+    position: relative;
+  }
+
+  .del {
+    position: absolute;
+    right: -38px;
+    top: 14px;
+    cursor: pointer;
+    right: 0;
+    display: inline-block;
+    font-size: 26px;
+    width: 26px;
+    height: 10px;
+    line-height: 0px;
+  }
+
+  .amap-page-container {
+    width: 300px;
+    height: 300px;
+  }
+
+  .el-form {
+    padding: 0 10%;
+  }
+
+  /deep/.ws-info-table .el-form-item {
+    border-right: 1px solid transparent;
+    border-bottom: 1px solid transparent;
+  }
+
+  .readonly {
+    position: relative;
+  }
+
+  .readonly:after {
+    content: '*';
+    color: #ff2727;
+    position: absolute;
+    right: 8px;
+    z-index: 10;
+    top: 21%;
+    font-size: 20px;
+  }
+
+  .title {
+    position: relative;
+  }
+
+  .title::before {
+    content: '';
+    display: inline-block;
+    width: 5px;
+    height: 30px;
+    background: #5473e8;
+    position: absolute;
+    left: 0;
+  }
+
+  .el-button--primary {
+    background-color: #5878e8;
+    border-color: #5878e8;
+  }
+
+  .el-col {
+    background: #f6f7fc;
+  }
+
+  /deep/.ws-info-table .el-form-item .el-form-item__content {
+    padding: 0 25px;
+    border-left: 1px solid transparent;
+    background: #fff;
     display: flex;
-    flex-wrap: nowrap;
-    flex-direction: row;
-    & > span {
-      line-height: 50px;
-    }
   }
 
-  /deep/.auditFlow-box {
-    position: unset;
-    margin-left: 10px;
-    &/deep/.auditFlow-icon {
-      width: auto;
-      padding-right: 30px;
+  /deep/.ws-info-table .el-form-item .el-form-item__label {
+    width: 100px;
+    text-align: center;
+    background: #fff;
+    // border: 1px solid #cdd2dc;
+  }
+
+  .button-container {
+    display: flex;
+    flex-wrap: nowrap;
+    justify-content: space-between;
+    align-items: center;
+    background-color: #fff;
+    width: 100%;
+    height: 50px;
+    padding: 0 10px;
+
+    &>div {
+      margin-left: 10px;
+      display: flex;
+      flex-wrap: nowrap;
+      flex-direction: row;
+
+      &>span {
+        line-height: 50px;
+      }
     }
-    &/deep/.auditFlow-main {
-      position: absolute;
+
+    /deep/.auditFlow-box {
+      position: unset;
+      margin-left: 10px;
+
+      &/deep/.auditFlow-icon {
+        width: auto;
+        padding-right: 30px;
+      }
+
+      &/deep/.auditFlow-main {
+        position: absolute;
+      }
     }
   }
-}
-.box-app {
-  display: inline-block;
-  float: left;
-  margin-left: 30px;
-  line-height: 50px;
-}
-/deep/.el-dialog {
-  .el-form-item {
-    margin-bottom: 0 !important;
-    .el-input--medium {
-      textarea {
-        min-height: 100px !important;
+
+  .box-app {
+    display: inline-block;
+    float: left;
+    margin-left: 30px;
+    line-height: 50px;
+  }
+
+  /deep/.el-dialog {
+    .el-form-item {
+      margin-bottom: 0 !important;
+
+      .el-input--medium {
+        textarea {
+          min-height: 100px !important;
+        }
       }
     }
   }
-}
-.collapse-bottom {
-  margin-bottom: 20px;
-}
-.input-main .textarea .el-textarea__inner {
-  width: 100%;
-  z-index: 1;
-}
-.bg-left {
-  padding-left: 30px;
-}
-.bg-right {
-  padding-right: 10px;
-  text-align: right;
-}
-.bg-bottom {
-  margin: 15px 0px;
-}
-.wenzi {
-  width: 900px;
-  margin: 0 auto;
-}
-.wenzi h3 {
-  display: inline-block;
-  left: 10px;
-}
-.wenzi p {
-  display: inline-block;
-}
-.center {
-  width: 900px;
-  margin: 0 auto;
-}
-.center1 {
-  width: 100px;
-  margin: 0 auto;
-  margin-top: -2%;
-}
-.el-form-item {
-  width: 50%;
-}
-.el-form-item__label {
-  text-align: center;
-}
-.ce {
-  width: 900px;
-  margin: 0 auto;
-}
-/*.crt-main .textarea /deep/ .el-form-item__label {*/
-/*  height: 82px;*/
-/*}*/
-// 控制select为只读的时候显示样式
-
-.hide-sel {
-  .el-input__inner {
-    border: 0px;
+
+  .collapse-bottom {
+    margin-bottom: 20px;
   }
-  .el-icon-arrow-up {
-    display: none;
+
+  .input-main .textarea .el-textarea__inner {
+    width: 100%;
+    z-index: 1;
   }
-  .el-textarea__inner {
-    background-color: #fff !important;
-    border: 0;
+
+  .bg-left {
+    padding-left: 30px;
+  }
+
+  .bg-right {
+    padding-right: 10px;
+    text-align: right;
+  }
+
+  .bg-bottom {
+    margin: 15px 0px;
+  }
+
+  .wenzi {
+    width: 900px;
+    margin: 0 auto;
+  }
+
+  .wenzi h3 {
+    display: inline-block;
+    left: 10px;
+  }
+
+  .wenzi p {
+    display: inline-block;
+  }
+
+  .center {
+    width: 900px;
+    margin: 0 auto;
+  }
+
+  .center1 {
+    width: 100px;
+    margin: 0 auto;
+    margin-top: -2%;
+  }
+
+  .el-form-item {
+    width: 50%;
   }
-  .el-date-editor {
-    i {
+
+  .el-form-item__label {
+    text-align: center;
+  }
+
+  .ce {
+    width: 900px;
+    margin: 0 auto;
+  }
+
+  /*.crt-main .textarea /deep/ .el-form-item__label {*/
+  /*  height: 82px;*/
+  /*}*/
+  // 控制select为只读的时候显示样式
+
+  .hide-sel {
+    .el-input__inner {
+      border: 0px;
+    }
+
+    .el-icon-arrow-up {
       display: none;
     }
+
+    .el-textarea__inner {
+      background-color: #fff !important;
+      border: 0;
+    }
+
+    .el-date-editor {
+      i {
+        display: none;
+      }
+    }
+
+    // .is-disabled {
+    //   .el-input__inner:hover {
+    //     background-color: #fff !important;
+    //     border: 0;
+    //   }
+    //   color: #606266;
+    //   .el-input__inner {
+    //     background-color: #fff !important;
+    //     border: 0;
+    //     color: #606266;
+    //   }
+    //   .el-textarea__inner {
+    //     background-color: #fff !important;
+    //     border: 0;
+    //     color: #606266;
+    //   }
+    // }
+  }
+
+  // 控制select为只读的时候显示样式
+  /deep/.ws-class-table-col {
+    height: auto;
+    padding: 0px 2px;
+
+    /deep/.el-input__inner {
+      padding: 0px 2px;
+    }
   }
-  // .is-disabled {
-  //   .el-input__inner:hover {
-  //     background-color: #fff !important;
-  //     border: 0;
+
+  // /deep/.is-disabled {
+  //   .el-input__prefix,
+  //   .el-input__suffix {
+  //     display: none;
   //   }
-  //   color: #606266;
   //   .el-input__inner {
-  //     background-color: #fff !important;
-  //     border: 0;
-  //     color: #606266;
-  //   }
-  //   .el-textarea__inner {
-  //     background-color: #fff !important;
-  //     border: 0;
-  //     color: #606266;
+  //     background-color: #fff;
+  //     border-color: #fff !important;
+  //     color: #000 !important;
+  //     font-size: 14px;
+  //     cursor: text;
+  //     padding: 0 !important;
   //   }
   // }
-}
+  .winseaview-view {
+    padding: 0 0 20px;
+  }
 
-// 控制select为只读的时候显示样式
-/deep/.ws-class-table-col {
-  height: auto;
-  padding: 0px 2px;
-  /deep/.el-input__inner {
-    padding: 0px 2px;
+  .container {
+    overflow: scroll;
+    height: 93vh;
+  }
+
+  .ws-info-table .el-form-item {
+    width: 33.3333%;
+  }
+
+  .readonly:after {
+    display: none;
+  }
+
+  .el-textarea__inner {
+    display: none;
+  }
+
+  .el-form {
+    margin-top: 50px;
+  }
+
+  .readonly {
+    width: 16%;
+  }
+
+  //去边框
+  /deep/.el-form-item {
+    border-right: 0px;
+    border-bottom: 0px;
+  }
+
+  /deep/.ws-info-table {
+    border-left: 0px;
+    border-top: 0px;
+  }
+
+  .ws-info-table .el-form-item .el-form-item__content {
+    border: none;
+  }
+
+  /deep/.ws-info-table .el-form-item {
+    border: none;
+    height: 50px;
+  }
+
+  /deep/.ws-info-table .el-form-item .el-form-item__content {
+    background: #f5f7fa;
+    border-radius: 4px;
+    border: 1px solid #d8dce6;
+    font-family: PingFangSC-Regular, PingFang SC;
+    margin-bottom: 5px;
+    background-color: #fff;
+    font-size: 14px;
+    font-weight: 400;
+    color: #8890b1;
+    line-height: 16px;
+  }
+
+  /deep/.ws-info-table .el-form-item .el-form-item__label {
+    background-color: #fff;
+    font-size: 13px;
+    font-family: PingFangSC-Regular, PingFang SC;
+    font-weight: 400;
+    color: #8890b1;
+    line-height: 16px;
+  }
+
+  /deep/.ws-info-table .el-form-item .el-form-item__content {
+    background: #f5f7fa;
+    border-radius: 4px;
+    border: 1px solid #d8dce6;
+  }
+
+  /deep/.flex .ws-info-table .el-form-item .el-form-item__content {
+    border: 0px;
+  }
+
+  //联络员及车次
+  /deep/.liaison .ws-info-table .el-form-item {
+    width: 19%;
+  }
+
+  /deep/.liaison .ws-info-table .el-form-item .el-form-item__label {
+    width: 37%;
+    background: #f6f7fc;
+  }
+
+  /deep/.liaison .ws-info-table {
+    width: 100%;
+    background: #f6f7fc;
+    border-radius: 4px;
+    border: 1px solid #d8dce6;
+    margin-top: 20px;
+  }
+
+  .catNos {
+    width: 100%;
+    height: 30px;
+    margin-top: 10px;
+    margin-left: 20px;
+    font-size: 14px;
+  }
+
+  .catNosCor {
+    color: #5473e8;
+  }
+
+  .add {
+    width: 130px;
+    height: 34px;
+    background: #f6f7fb;
+    border-radius: 17px;
+    color: #5473e8;
+    font-size: 14px;
+    border: none;
+  }
+
+  .add img {
+    display: inline-block;
+    margin-top: 3px;
+    margin-left: -30px;
+  }
+
+  .add .spans {
+    display: table-caption;
+    width: 56px;
+    height: 20px;
+    line-height: 18px;
+  }
+
+  .signStatus {
+    height: 25px;
+    border-radius: 3px;
+    border: 1px solid #5473e8;
+    padding: 0 3px;
+    color: #ffffff;
+    background: #c4cada;
+    line-height: 24px;
+    margin-left: 18px;
+  }
+
+  .signStatus1 {
+    height: 25px;
+    background: #e6ebff;
+    border-radius: 3px;
+    border: 1px solid #5473e8;
+    padding: 0 3px;
+    margin-left: 18px;
+    color: #5473e8;
+    line-height: 24px;
+  }
+
+  .line {
+    height: 26px;
+    margin-top: 6px;
+    left: 2px;
+  }
+
+  /deep/.liaison .ws-info-table .el-form-item .el-form-item__content {
+    padding: 0px;
+  }
+
+  .noservice {
+    background: #c4cada;
+    color: #ffffff;
+    padding: 5px 7px;
+    border-radius: 4px;
+  }
+
+  .service {
+    background: #e5f1f7;
+    color: #50cad4;
+  }
+
+  .tupian {
+    // margin-left: 14%;
+    // margin-top: -7%;
+  }
+
+  /deep/.el-input--suffix .el-input__inner {
+    padding-right: 0px;
+  }
+
+  .liaison {
+    margin-bottom: 20px;
+  }
+
+  .yd-bottom {
+    display: flex;
+    justify-content: space-between;
+  }
+
+  .yd-bottom-left {
+    display: flex;
+  }
+
+  .avatar-uploader {
+    margin-right: 10px;
+  }
+
+  /deep/.yd-bottom-left .el-form-item__content {
+    display: flex;
   }
-}
-// /deep/.is-disabled {
-//   .el-input__prefix,
-//   .el-input__suffix {
-//     display: none;
-//   }
-//   .el-input__inner {
-//     background-color: #fff;
-//     border-color: #fff !important;
-//     color: #000 !important;
-//     font-size: 14px;
-//     cursor: text;
-//     padding: 0 !important;
-//   }
-// }
-.winseaview-view {
-  padding: 0 0 20px;
-}
-.container {
-  overflow: scroll;
-  height: 93vh;
-}
-.ws-info-table .el-form-item {
-  width: 33.3333%;
-}
-.readonly:after {
-  display: none;
-}
-.el-textarea__inner {
-  display: none;
-}
-.el-form {
-  margin-top: 50px;
-}
-.readonly {
-  width: 16%;
-}
-
-//去边框
-/deep/.el-form-item {
-  border-right: 0px;
-  border-bottom: 0px;
-}
-/deep/.ws-info-table {
-  border-left: 0px;
-  border-top: 0px;
-}
-.ws-info-table .el-form-item .el-form-item__content {
-  border: none;
-}
-/deep/.ws-info-table .el-form-item {
-  border: none;
-  height: 50px;
-}
-/deep/.ws-info-table .el-form-item .el-form-item__content {
-  background: #f5f7fa;
-  border-radius: 4px;
-  border: 1px solid #d8dce6;
-  font-family: PingFangSC-Regular, PingFang SC;
-  margin-bottom: 5px;
-  background-color: #fff;
-  font-size: 14px;
-  font-weight: 400;
-  color: #8890b1;
-  line-height: 16px;
-}
-/deep/.ws-info-table .el-form-item .el-form-item__label {
-  background-color: #fff;
-  font-size: 13px;
-  font-family: PingFangSC-Regular, PingFang SC;
-  font-weight: 400;
-  color: #8890b1;
-  line-height: 16px;
-}
-
-/deep/.ws-info-table .el-form-item .el-form-item__content {
-  background: #f5f7fa;
-  border-radius: 4px;
-  border: 1px solid #d8dce6;
-}
-/deep/.flex .ws-info-table .el-form-item .el-form-item__content {
-  border: 0px;
-}
-//联络员及车次
-/deep/.liaison .ws-info-table .el-form-item {
-  width: 19%;
-}
-/deep/.liaison .ws-info-table .el-form-item .el-form-item__label {
-  width: 37%;
-  background: #f6f7fc;
-}
-/deep/.liaison .ws-info-table {
-  width: 100%;
-  background: #f6f7fc;
-  border-radius: 4px;
-  border: 1px solid #d8dce6;
-  margin-top: 20px;
-}
-.catNos {
-  width: 100%;
-  height: 30px;
-  margin-top: 10px;
-  margin-left: 20px;
-  font-size: 14px;
-}
-.catNosCor {
-  color: #5473e8;
-}
-.add {
-  width: 130px;
-  height: 34px;
-  background: #f6f7fb;
-  border-radius: 17px;
-  color: #5473e8;
-  font-size: 14px;
-  border: none;
-}
-.add img {
-  display: inline-block;
-  margin-top: 3px;
-  margin-left: -30px;
-}
-.add .spans {
-  display: table-caption;
-  width: 56px;
-  height: 20px;
-  line-height: 18px;
-}
-.signStatus {
-  height: 25px;
-  border-radius: 3px;
-  border: 1px solid #5473e8;
-  padding: 0 3px;
-  color: #ffffff;
-  background: #c4cada;
-  line-height: 24px;
-  margin-left: 18px;
-}
-.signStatus1 {
-  height: 25px;
-  background: #e6ebff;
-  border-radius: 3px;
-  border: 1px solid #5473e8;
-  padding: 0 3px;
-  margin-left: 18px;
-  color: #5473e8;
-  line-height: 24px;
-}
-.line {
-  height: 26px;
-  margin-top: 6px;
-  left: 2px;
-}
-/deep/.liaison .ws-info-table .el-form-item .el-form-item__content {
-  padding: 0px;
-}
-.noservice {
-  background: #c4cada;
-  color: #ffffff;
-  padding: 5px 7px;
-  border-radius: 4px;
-}
-.service {
-  background: #e5f1f7;
-  color: #50cad4;
-}
-.tupian {
-  // margin-left: 14%;
-  // margin-top: -7%;
-}
-/deep/.el-input--suffix .el-input__inner {
-  padding-right: 0px;
-}
-.liaison {
-  margin-bottom: 20px;
-}
-.yd-bottom {
-  display: flex;
-  justify-content: space-between;
-}
-.yd-bottom-left {
-  display: flex;
-}
-.avatar-uploader {
-  margin-right: 10px;
-}
-/deep/.yd-bottom-left .el-form-item__content {
-  display: flex;
-}
-</style>
+</style>

+ 1032 - 1017
src/views/tranManagement/tranManagementTransporFeedback.vue

@@ -7,13 +7,8 @@
       </el-col>
       <el-col :span="12" class="bg-right">
         <el-button class="bg-bottom" type="primary" size="small" @click="returnsales()">
-          <img
-            width="6"
-            height="10"
-            style="vertical-align: bottom; margin-right: 3px"
-            src="../../../public/img/lujing.png"
-            alt
-          />返回
+          <img width="6" height="10" style="vertical-align: bottom; margin-right: 3px"
+            src="../../../public/img/lujing.png" alt />返回
         </el-button>
       </el-col>
     </el-row>
@@ -32,19 +27,10 @@
           }}{{ deptBudgetList.sendArea }}
         </ws-form-item>
         <!--发货人-->
-        <ws-form-item
-          label="发货人"
-          span="1"
-          prop="sender"
-          class="readonly"
-        >{{ deptBudgetList.sender }}</ws-form-item>
+        <ws-form-item label="发货人" span="1" prop="sender" class="readonly">{{ deptBudgetList.sender }}</ws-form-item>
         <!--发货人电话-->
-        <ws-form-item
-          label="发货人电话"
-          span="1"
-          prop="senderPhone"
-          class="readonly"
-        >{{ deptBudgetList.senderPhone }}</ws-form-item>
+        <ws-form-item label="发货人电话" span="1" prop="senderPhone" class="readonly">{{ deptBudgetList.senderPhone }}
+        </ws-form-item>
         <!--收货地址-->
         <ws-form-item label="收货地址" span="1" prop="receiveDetailedAddress">
           {{ deptBudgetList.receivePrivate }}{{ deptBudgetList.receiveCity
@@ -55,17 +41,10 @@
         <!--收货人电话-->
         <ws-form-item label="收货人电话" span="1" prop="receiverPhone">{{ deptBudgetList.receiverPhone }}</ws-form-item>
         <!--发货日期-->
-        <ws-form-item
-          label="发货日期"
-          span="1"
-          prop="deliveryDateStart"
-        >{{ deptBudgetList.deliveryDateStart }}</ws-form-item>
+        <ws-form-item label="发货日期" span="1" prop="deliveryDateStart">{{ deptBudgetList.deliveryDateStart }}
+        </ws-form-item>
         <!--最晚到货日期-->
-        <ws-form-item
-          label="最晚到货日期"
-          span="1"
-          prop="deliveryDateEnd"
-        >{{ deptBudgetList.deliveryDateEnd }}</ws-form-item>
+        <ws-form-item label="最晚到货日期" span="1" prop="deliveryDateEnd">{{ deptBudgetList.deliveryDateEnd }}</ws-form-item>
         <!--合同编号-->
         <ws-form-item label="合同编号" span="1" prop="contractNo">{{ deptBudgetList.contractNo }}</ws-form-item>
         <!-- 运输方式 -->
@@ -73,8 +52,8 @@
       </ws-info-table>
       <div class="small-title" style="font-size: 16px; width: 50%;float: left;">装车详情</div>
       <!-- 导入 -->
-      <div style="font-size: 16px; width: 50%;float: left;text-align: right;">
-      <!-- <el-upload style="margin-left: 8px;"
+      <div style="font-size: 16px; width: 50%;float: left;text-align: right;display:flex;justify-content:end;">
+        <!-- <el-upload style="margin-left: 8px;"
           class=""
           action="https://www.zthymaoyi.com/upload/admin"
           :show-file-list="false"
@@ -87,23 +66,20 @@
           >
           <el-button  type="primary">导入</el-button>
         </el-upload> -->
-        <el-upload style="margin-left: 8px;"
-          class="upload-demo inline-block margin-right-10"
-          action=""
-          :on-change="handleChange"
-          :show-file-list="false"
+        <el-link
+          href="https://taohaoliang.oss-cn-beijing.aliyuncs.com/%E6%B1%BD%E8%BF%90%E8%A3%85%E8%BD%A6%E5%8F%8D%E9%A6%88%E6%A8%A1%E6%9D%BF.xlsx"
+          style="margin-left: 8px;">
+          <el-button type="primary">模板下载</el-button>
+        </el-link>
+        <el-upload style="margin-left: 8px;" class="upload-demo inline-block margin-right-10" action=""
+          :on-change="handleChange" :show-file-list="false"
           accept=".csv, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel"
           :auto-upload="false">
-          <el-button  type="primary">导入</el-button>
+          <el-button type="primary">导入</el-button>
         </el-upload>
-    </div>
+      </div>
       <div class="liaison">
-        <div
-          style="width: 100%"
-          class="flex position"
-          v-for="(item, index) in freightspace"
-          :key="index"
-        >
+        <div style="width: 100%" class="flex position" v-for="(item, index) in freightspace" :key="index">
           <ws-info-table>
             <div class="catNos" v-show="item.temporaryDriverFlag == 0">
               司机-{{ index + 1 }}
@@ -123,10 +99,7 @@
                 }}
               </span>
             </div>
-            <div
-              class="catNos catNosCor"
-              v-show="item.temporaryDriverFlag != 0"
-            >司机-{{ index + 1 }}(临)</div>
+            <div class="catNos catNosCor" v-show="item.temporaryDriverFlag != 0">司机-{{ index + 1 }}(临)</div>
             <!--司机-->
             <ws-form-item label="姓名:" span="1" prop="driver" v-show="item.temporaryDriverFlag == 0">
               <span v-show="item.temporaryDriverFlag == 0">{{ item.driver }}</span>
@@ -134,114 +107,59 @@
             <!--司机-->
 
             <ws-form-item label="姓名:" span="1" prop="driver" v-show="item.temporaryDriverFlag != 0">
-              <el-select
-                v-show="item.temporaryDriverFlag != 0"
-                v-model="item.driver"
-                placeholder="请选择司机"
-                filterable
-                :filter-method="dataFilter"
-                @change="selectstaff"
-              >
-                <el-option
-                  v-for="item in options"
-                  :key="item.value"
-                  :label="item.staffName"
-                  :value="item.staffName"
-                />
+              <el-select v-show="item.temporaryDriverFlag != 0" v-model="item.driver" placeholder="请选择司机" filterable
+                :filter-method="dataFilter" @change="selectstaff">
+                <el-option v-for="item in options" :key="item.value" :label="item.staffName" :value="item.staffName" />
               </el-select>
             </ws-form-item>
             <!--电话-->
             <ws-form-item label="司机电话:" span="1" prop="driverPhone">
-              <ws-input
-                v-show="item.temporaryDriverFlag != 0"
-                v-model="item.driverPhone"
-                placeholder="请输入司机电话"
-                maxlength="20"
-                size="small"
-              />
+              <ws-input v-show="item.temporaryDriverFlag != 0" v-model="item.driverPhone" placeholder="请输入司机电话"
+                maxlength="20" size="small" />
               <span v-show="item.temporaryDriverFlag == 0">{{ item.driverPhone }}</span>
             </ws-form-item>
             <!--车牌号-->
             <ws-form-item label="车牌号:" span="1" prop="carNo">
-              <ws-input
-                v-show="item.temporaryDriverFlag != 0"
-                v-model="item.carNo"
-                placeholder="请输入车牌号"
-                maxlength="20"
-                size="small"
-              />
+              <ws-input v-show="item.temporaryDriverFlag != 0" v-model="item.carNo" placeholder="请输入车牌号" maxlength="20"
+                size="small" />
               <span v-show="item.temporaryDriverFlag == 0">{{ item.carNo }}</span>
             </ws-form-item>
             <!--装车净重-->
             <ws-form-item label="装车净重:" span="1" prop="loadNetWeight">
-              <ws-input
-                v-if="item.status == '已装车'||item.status == '已送达'"
-                :disabled="readonly"
-                v-model="item.loadNetWeight"
-                placeholder="请输入装车净重"
-                maxlength="20"
-                size="small"
-                style="width:80px"
-              />
-              <ws-input
-                v-else
-                v-model="item.loadNetWeight"
-                placeholder="请输入装车净重"
-                maxlength="20"
-                style="width:80px"
-                size="small"
-              />
+              <ws-input v-if="item.status == '已装车'||item.status == '已送达'" :disabled="readonly"
+                v-model="item.loadNetWeight" placeholder="请输入装车净重" maxlength="20" size="small" style="width:80px" />
+              <ws-input v-else v-model="item.loadNetWeight" placeholder="请输入装车净重" maxlength="20" style="width:80px"
+                size="small" />
             </ws-form-item>
             <!--装车日期-->
             <ws-form-item label="装车日期:" span="1" prop="sendDateStart">
-              <ws-date-picker
-                v-if="item.status == '已装车'||item.status == '已送达'"
-                :disabled="readonly"
-                v-model="item.sendDateStart"
-                type="date"
-                class="picker"
-                placeholder="请选择日期"
-                value-format="yyyy-MM-dd"
-              />
-              <ws-date-picker
-                v-else
-                v-model="item.sendDateStart"
-                type="date"
-                class="picker"
-                placeholder="请选择日期"
-                value-format="yyyy-MM-dd"
-              />
+              <ws-date-picker v-if="item.status == '已装车'||item.status == '已送达'" :disabled="readonly"
+                v-model="item.sendDateStart" type="date" class="picker" placeholder="请选择日期" value-format="yyyy-MM-dd" />
+              <ws-date-picker v-else v-model="item.sendDateStart" type="date" class="picker" placeholder="请选择日期"
+                value-format="yyyy-MM-dd" />
             </ws-form-item>
             <!--磅单-->
             <ws-form-item label="磅单:" span="1" prop="loadPoundImg">
               <!-- slot-scope="scope" -->
               <template>
-                <el-upload
-                  action="https://www.zthymaoyi.com/upload/admin"
-                  :show-file-list="false"
-                  :on-success=" (res) => { uploadSuccessHandle1(res,index)}"
-                  class="avatar-uploader"
-                  accept=".jpg, .jpeg, .png, .gif"
-                >
-                  <img
-                    width="18"
-                    height="20"
-                    style="
+                <el-upload action="https://www.zthymaoyi.com/upload/admin" :show-file-list="false"
+                  :on-success=" (res) => { uploadSuccessHandle1(res,index)}" class="avatar-uploader"
+                  accept=".jpg, .jpeg, .png, .gif">
+                  <img width="18" height="20" style="
                       vertical-align: text-top;
                       position: relative;
-                    "
-                    src="../../../public/img/fujian.png"
-                    alt
-                  />
+                    " src="../../../public/img/fujian.png" alt />
                 </el-upload>
                 <span v-if="item.loadPoundImg != null ">1</span>
-                <span
-                  v-if="
+                <span v-if="
                     item.loadPoundImg == null
-                  "
-                >未上传</span>
+                  ">未上传</span>
               </template>
             </ws-form-item>
+            <!--预览-->
+            <div>
+              <el-button class="bg-bottom" type="primary" size="small" @click="preview(item)"  v-if="item.loadPoundImg != null ">预览</el-button>
+            </div>
             <!--箱号-->
             <ws-form-item label="箱号:" span="1" prop="caseNo">
               <span>{{ item.caseNo }}</span>
@@ -250,23 +168,12 @@
             <ws-form-item label="封号:" span="1" prop="titleNo">
               <span>{{ item.titleNo }}</span>
             </ws-form-item>
-            <div
-              v-show="item.temporaryDriverFlag == 0 && item.signStatus == '未签合同'"
-              class="signStatus"
-            >{{ item.signStatus }}</div>
-            <div
-              v-show="item.temporaryDriverFlag == 0 && item.signStatus == '已签合同'"
-              class="signStatus1"
-            >{{ item.signStatus }}</div>
-            <span
-              v-show="item.temporaryDriverFlag != 0"
-              width="22"
-              height="22"
-              class="del"
-              @click="del(index)"
-              src="../../../public/img/del.png"
-              alt
-            >×</span>
+            <div v-show="item.temporaryDriverFlag == 0 && item.signStatus == '未签合同'" class="signStatus">
+              {{ item.signStatus }}</div>
+            <div v-show="item.temporaryDriverFlag == 0 && item.signStatus == '已签合同'" class="signStatus1">
+              {{ item.signStatus }}</div>
+            <span v-show="item.temporaryDriverFlag != 0" width="22" height="22" class="del" @click="del(index)"
+              src="../../../public/img/del.png" alt>×</span>
           </ws-info-table>
         </div>
       </div>
@@ -290,77 +197,91 @@
       <el-button class="bg-bottom" type="primary" size="small" @click="submit(deptBudgetList)">提交</el-button>
       <el-button class="bg-bottom" type="primary" size="small" @click="finished (deptBudgetList)">完货</el-button>
     </div>
+    <WinseaContentModal v-model="accessoryTFs" :title="$t('system.noticeCircular.information')"
+			@on-cancel="handleClose">
+			<ws-upload ref="upload" :comp-id="compId" :appendix-ids="appendixIdss" :editable="false"
+				accept=".jpg, .jpeg, .png, .pdf, .doc, .zip, .rar" />
+		</WinseaContentModal>
   </div>
 </template>
 <script>
-import { regionData, CodeToText, TextToCode } from 'element-china-area-data'
-import {
-  seeCat,
-  packList,
-  feedback,
-  getbank,
-  state,
-  importApplFileUrl
-} from '@/model/transport/index'
-import { getstaff } from '@/model/warehouse/index'
-import WsUpload from '@/components/WsUpload'
-import mapDrag from '@/components/mapdrag/mapdrag'
-export default {
-  name: 'viewSpareMoney',
-  components: {
-    WsUpload,
-    mapDrag
-  },
-  watch: {
-    vesselId(val) {
-      this.getVesselData()
+  import {
+    regionData,
+    CodeToText,
+    TextToCode
+  } from 'element-china-area-data'
+  import {
+    seeCat,
+    packList,
+    feedback,
+    getbank,
+    state,
+    importApplFileUrl
+  } from '@/model/transport/index'
+  import {
+    getstaff
+  } from '@/model/warehouse/index'
+  import WsUpload from '@/components/WsUpload'
+  import mapDrag from '@/components/mapdrag/mapdrag'
+  export default {
+    name: 'viewSpareMoney',
+    components: {
+      WsUpload,
+      mapDrag
     },
-    isShow(val) {
-      this.showType = val
-    }
-  },
-  data() {
-    return {
-      deptBudgetList: {
-        totalStorage: 0
+    watch: {
+      vesselId(val) {
+        this.getVesselData()
       },
-      options_: regionData,
-      heightData: '600px',
-      zoom: 7,
-      selectedOptions: [],
-      center: [116.244694, 39.517344],
-      window: '',
-      radio: 1,
-      personCharge: [],
-      district: null,
-      driverList: [],
-      readonly: true,
-      fileTemp: {},
-      listDate: { country: '中国', level: 'country', city: '' },
-      citylist: [],
-      compId: sessionStorage.getItem('ws-pf_compId'),
-      rules: {
-        warehouseName: [
-          {
-            required: true,
-            message: '请输入仓库名称',
-            trigger: 'blur'
-          },
-          {
-            min: 2,
-            max: 20,
-            message: '仓库名长度不符合要求,请输入2-20字符之内',
-            trigger: 'blur'
-          }
-        ]
-      },
-      tranType: 1,
-      size: 10,
-      value1: '',
-      unitList: [],
+      isShow(val) {
+        this.showType = val
+      }
+    },
+    data() {
+      return {
+        excelFreightspace: [],
+        deptBudgetList: {
+          totalStorage: 0
+        },
+        options_: regionData,
+        heightData: '600px',
+        zoom: 7,
+        selectedOptions: [],
+        center: [116.244694, 39.517344],
+        window: '',
+        radio: 1,
+        personCharge: [],
+        district: null,
+        driverList: [],
+        readonly: true,
+        fileTemp: {},
+        listDate: {
+          country: '中国',
+          level: 'country',
+          city: ''
+        },
+        citylist: [],
+        compId: sessionStorage.getItem('ws-pf_compId'),
+        rules: {
+          warehouseName: [{
+              required: true,
+              message: '请输入仓库名称',
+              trigger: 'blur'
+            },
+            {
+              min: 2,
+              max: 20,
+              message: '仓库名长度不符合要求,请输入2-20字符之内',
+              trigger: 'blur'
+            }
+          ]
+        },
+        tranType: 1,
+        size: 10,
+        value1: '',
+        unitList: [],
 
-      freightspace1: [
-        {
+        freightspace1: [{
           accountTypeFlag: '1',
           payeeName: '',
           payeeNumberCard: '',
@@ -368,872 +289,966 @@ export default {
           bankDeposit: '',
           addressUrlArray: [],
           bankCard: ''
-        }
-      ],
-      freightspace: [
-        {
-          driver: '',
-          driverPhone: '',
-          carNo: '',
-          loadNetWeight: '',
-          loadPoundImg: null
-        }
-        // {loadPoundImg:{}},
-      ],
-      name: '',
-      staffList: [],
-      options: [],
-      carModel: [],
-      tranCarInfoList: {
-        loadPoundImg: ''
-      },
-      localFile:'',
-      //上传
+        }],
+        freightspace: [{
+            driver: '',
+            driverPhone: '',
+            carNo: '',
+            loadNetWeight: '',
+            loadPoundImg: null
+          }
+          // {loadPoundImg:{}},
+        ],
+        name: '',
+        staffList: [],
+        options: [],
+        carModel: [],
+        tranCarInfoList: {
+          loadPoundImg: ''
+        },
+        localFile: '',
+        //上传
 
-      accessoryTFs: false,
-      fileList: [],
-      appendixIdsAdd: '',
-      messageAddEventListener: ''
-    }
-  },
-  activated() {
-    this.deptBudgetList.id = this.$route.query.id
-    this.getList()
-  },
-  mounted() {
-    window.noMessege = this.noMessege
-  },
-  computed: {
-    totalStorage: function() {
-      var maxStorage = 0
-      for (var i = 0; i < this.freightspace.length; i++) {
-        maxStorage += Number(this.freightspace[i].maxStorage)
+        accessoryTFs: false,
+        fileList: [],
+        appendixIdsAdd: '',
+        messageAddEventListener: ''
       }
-      return maxStorage
     },
-    total: function() {
-      if (this.deptBudgetList.tranCarInfoList != null) {
+    activated() {
+      this.deptBudgetList.id = this.$route.query.id
+      this.getList()
+    },
+    mounted() {
+      window.noMessege = this.noMessege
+    },
+    computed: {
+      totalStorage: function() {
         var maxStorage = 0
-        for (var i = 0; i < this.deptBudgetList.tranCarInfoList.length; i++) {
-          maxStorage += Number(
-            this.deptBudgetList.tranCarInfoList[i].loadNetWeight
-          )
+        for (var i = 0; i < this.freightspace.length; i++) {
+          maxStorage += Number(this.freightspace[i].maxStorage)
         }
         return maxStorage
-      } else {
-        return 0
+      },
+      total: function() {
+        if (this.deptBudgetList.tranCarInfoList != null) {
+          var maxStorage = 0
+          for (var i = 0; i < this.deptBudgetList.tranCarInfoList.length; i++) {
+            maxStorage += Number(
+              this.deptBudgetList.tranCarInfoList[i].loadNetWeight
+            )
+          }
+          return maxStorage
+        } else {
+          return 0
+        }
       }
-    }
-  },
-  methods: {
-    uploadHandle(response, file, fileList){
-      this.localFile=file.raw  // 或者 this.localFile=file.raw
-let Base64 = require('js-base64').Base64
-                    // 转换操作可以不放到这个函数里面,
-                    // 因为这个函数会被多次触发,上传时触发,上传成功也触发
-                    let reader = new FileReader()
-                    reader.readAsDataURL(this.localFile);// 这里也可以直接写参数event.raw
-                      
-                    // 转换成功后的操作,reader.result即为转换后的DataURL ,
-                    // 它不需要自己定义,你可以console.log(reader.result)看一下
-                    reader.onload=()=>{
-                      console.log(reader.result)
-                    }
+    },
+    methods: {
+      preview(item) {
+				this.accessoryTFs = true
+				this.appendixIdss = item.loadPoundImg
+			},
 
+      uploadHandle(response, file, fileList) {
+        this.localFile = file.raw // 或者 this.localFile=file.raw
+        let Base64 = require('js-base64').Base64
+        // 转换操作可以不放到这个函数里面,
+        // 因为这个函数会被多次触发,上传时触发,上传成功也触发
+        let reader = new FileReader()
+        reader.readAsDataURL(this.localFile); // 这里也可以直接写参数event.raw
 
-    },
-    handleChange(file, fileList) {
-            this.fileTemp = file.raw
-                let fileName = file.raw.name
-                let fileType = fileName.substring(fileName.lastIndexOf('.') + 1);
-                // 判断上传文件格式
-                if (this.fileTemp) {
-                    if ((fileType == 'xlsx') || (fileType == 'xls')) {
-                        this.importf(this.fileTemp)
-                    } else {
-                        this.$message({
-                            type: 'warning',
-                            message: '附件格式错误,请删除后重新上传!'
-                        })
-                    }
-                } else {
-                    this.$message({
-                        type: 'warning',
-                        message: '请上传附件!'
-                    })
-                }
+        // 转换成功后的操作,reader.result即为转换后的DataURL ,
+        // 它不需要自己定义,你可以console.log(reader.result)看一下
+        reader.onload = () => {
+          console.log(reader.result)
+        }
 
-    },
- importf(obj) {
-                this.dialogVisible = true;
-                let _this = this;
-                let inputDOM = this.$refs.inputer;   // 通过DOM取文件数据
-                this.file = event.currentTarget.files[0];
-                var rABS = false; //是否将文件读取为二进制字符串
-                var f = this.file;
-                var reader = new FileReader();
-                //if (!FileReader.prototype.readAsBinaryString) {
-                FileReader.prototype.readAsBinaryString = function (f) {
-                    var binary = "";
-                    var rABS = false; //是否将文件读取为二进制字符串
-                    var pt = this;
-                    var wb; //读取完成的数据
-                    var outdata;
-                    var reader = new FileReader();
-                    reader.onload = function (e) {
-                        var bytes = new Uint8Array(reader.result);
-                        var length = bytes.byteLength;
-                        for (var i = 0; i < length; i++) {
-                            binary += String.fromCharCode(bytes[i]);
-                        }
-                        var XLSX = require('xlsx');
-                        if (rABS) {
-                            wb = XLSX.read(btoa(fixdata(binary)), { //手动转化
-                                type: 'base64'
-                            });
-                        } else {
-                            wb = XLSX.read(binary, {
-                                type: 'binary'
-                            });
-                        }
-                        // outdata就是你想要的东西 excel导入的数据
-                        outdata = XLSX.utils.sheet_to_json(wb.Sheets[wb.SheetNames[0]]);
-                        // excel 数据再处理
-                        let arr = []
-                        outdata.map(v => {
-                            // let jsonString = JSON.stringify(v).replace(/\*/g, '').replace(/\s/ig,'');
-                            let jsonString = JSON.stringify(v).replace(/\//g, '').replace(/\s/ig,'');
-                            console.log(jsonString);
-                            v = JSON.parse(jsonString);
-                            let obj = {}
-                            //xxx代表列名
-                            obj.temporaryDriverFlag = v.临时司机标识
-                            obj.caseNo= v.箱号
-                            obj.titleNo= v.封号
-                            obj.driverPhone = v.司机电话
-                            obj.driver=v.司机姓名
-                            obj.loadNetWeight = v.装车净重
-                            obj.loadingDate = toString(v.装车日期)
-                            obj.status= v.状态
-                            obj.carNo = v.车牌号
-                            obj.unloadPoundImg = v.磅单
-                            console.log(obj)
-                            _this.freightspace.push(obj)
-                        })
-                        // _this.freightspace.concat(arr)
-                        console.log(arr,_this.freightspace)
-                    }
-                    reader.readAsArrayBuffer(f);
-                }
-                if (rABS) {
-                    reader.readAsArrayBuffer(f);
-                } else {
-                    reader.readAsBinaryString(f);
-                }
-                console.log(reader)
-            },
-    beforeUpload(file){
-          if(window.createObjectURL!=undefined){
-            this.fileName = window.createObjectURL(file)
-          }else if(window.URL!=undefined){
-            this.fileName = window.URL.createObjectURL(file)
-          }else if (window.webkitURL!=undefined){
-            this.fileName = window.webkitURL.createObjectURL(file)
-          }
-          console.log(this.fileName)
-        },
-    uploadSuccessHandle(e) {
-      console.log(e)
-      importApplFileUrl({ file: e.url })
-        .toPromise()
-        .then(response => {
-          console.log(response)
-        })
-    },
-    dataFilter(val) {
-      this.deptBudgetList.personCharge = val
-      if (val) {
-        this.options = this.staffList.filter(item => {
-          if (
-            !!~item.staffName.indexOf(val) ||
-            !!~item.staffName.toUpperCase().indexOf(val.toUpperCase())
-          ) {
-            return true
+
+      },
+      handleChange(file, fileList) {
+        this.fileTemp = file.raw
+        let fileName = file.raw.name
+        let fileType = fileName.substring(fileName.lastIndexOf('.') + 1);
+        // 判断上传文件格式
+        if (this.fileTemp) {
+          if ((fileType == 'xlsx') || (fileType == 'xls')) {
+            this.importf(this.fileTemp)
+          } else {
+            this.$message({
+              type: 'warning',
+              message: '附件格式错误,请删除后重新上传!'
+            })
           }
-        })
-      } else {
-        this.options = this.staffList
-      }
-    },
-    selectstaff(e) {
-      for (var i = 0; i < this.staffList.length; i++) {
-        if (this.staffList[i].staffName == e) {
-          this.deptBudgetList.driverPhone = this.staffList[i].staffMobilePhone
-          this.freightspace[i].driverPhone = this.staffList[i].staffMobilePhone
-          this.deptBudgetList.personChargeKey = this.staffList[i].staffId
+        } else {
+          this.$message({
+            type: 'warning',
+            message: '请上传附件!'
+          })
         }
-      }
-    },
-    marker: function(item) {
-      this.deptBudgetList.warehousePositioning =
-        item.lnglat.lat + ',' + item.lnglat.lng
-    },
-    selectedAddress(e) {
-      this.deptBudgetList.warehousePositioning =
-        e.center.lat + ',' + e.center.lng
-    },
-    confirmPositioncity() {
-      this.listDate.level = 'city'
-      this.listDate.country = this.name
-    },
-    // 关闭 dialog时 处理文件url 初始化upload组件
-    handleClose() {
-      this.dialogViewSpareMoney = false
-    },
-    add() {
-      this.freightspace.push({
-        driver: '',
-        driverPhone: '',
-        carNo: '',
-        loadNetWeight: ''
-      })
-    },
-    del(index) {
-      if (this.freightspace.length > 1) {
-        this.freightspace.splice(index, 1)
-      }
-    },
-    //下拉司机姓名改变事件
-    selectdriver() {},
-
-    returnsales() {
-      this.deptBudgetList = {}
-      this.freightspace = {}
-      this.selectedOptions = ''
-      this.deptBudgetList.tranCarInfoList = []
-      this.$router.push({ path: 'tranManagementTransporHairRespond' })
-    },
-    // 上传附件
-    uploadSuccess(data, files, url) {
-      console.log(data, files, url)
-    },
-    handleClose() {
-      this.accessoryTFs = false
-    },
-    //导入
-    import() {},
-    finished() {
-      this.$confirm(`完货操作后,装车信息不可修改,是否确定完货?`, {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: 'warning'
-      })
-        .then(() => {
-          this.$refs.deptBudgetList.validate(valid => {
-            if (valid) {
-              var tranProcessInfo = {}
-              tranProcessInfo.id = this.deptBudgetList.id
-              state(tranProcessInfo)
-                .toPromise()
-                .then(response => {
-                  this.$message.success('完货成功')
-                  this.deptBudgetList = {}
-                  this.freightspace = {}
-                  this.selectedOptions = ''
-                  this.$router.push({
-                    path: 'tranManagementTransporHairRespond'
-                  })
-                })
+
+      },
+      importf(obj) {
+        this.excelFreightspace = []
+        this.dialogVisible = true;
+        let _this = this;
+        let inputDOM = this.$refs.inputer; // 通过DOM取文件数据
+        this.file = event.currentTarget.files[0];
+        var rABS = false; //是否将文件读取为二进制字符串
+        var f = this.file;
+        var reader = new FileReader();
+        //if (!FileReader.prototype.readAsBinaryString) {
+        FileReader.prototype.readAsBinaryString = function(f) {
+          var binary = "";
+          var rABS = false; //是否将文件读取为二进制字符串
+          var pt = this;
+          var wb; //读取完成的数据
+          var outdata;
+          var reader = new FileReader();
+          reader.onload = function(e) {
+            var bytes = new Uint8Array(reader.result);
+            var length = bytes.byteLength;
+            for (var i = 0; i < length; i++) {
+              binary += String.fromCharCode(bytes[i]);
+            }
+            var XLSX = require('xlsx');
+            if (rABS) {
+              wb = XLSX.read(btoa(fixdata(binary)), { //手动转化
+                type: 'base64',
+                cellDates: true
+              });
             } else {
-              return false
+              wb = XLSX.read(binary, {
+                type: 'binary'
+              });
             }
-          })
-        })
-        .catch(() => {
-          return false
-        })
-    },
-    noMessege() {
-      sessionStorage.setItem('qy-msg',"true")
-    },
-    validateFunc() {
-      this.$refs.deptBudgetList.validate(valid => {
-        if (valid) {
-          // this.deptBudgetList.totalStorage = this.totalStorage
-          this.tranCarInfoList = this.freightspace
-          this.tranCarInfoList.driver = this.deptBudgetList.driver
-          this.tranCarInfoList.driverPhone = this.deptBudgetList.driverPhone
-          this.tranCarInfoList.tranCarNo = this.deptBudgetList.tranCarNo
-          this.tranCarInfoList.carNo = this.deptBudgetList.carNo
-          this.tranCarInfoList.loadNetWeight = this.deptBudgetList.loadNetWeight
-          this.tranCarInfoList.tranType = this.tranType
-          this.tranCarInfoList.loadPoundImg = this.deptBudgetList.loadPoundImg
-          // this.tranCarInfoList.boxNo = this.arr.toString()
-          for (var i = 0; i < this.tranCarInfoList.length; i++) {
-            this.tranCarInfoList[i].id = this.freightspace[i].id
-            if (this.tranCarInfoList[i].temporaryDriverFlag != 0) {
-              this.tranCarInfoList[i].temporaryDriverFlag = 1
-              this.tranCarInfoList[i].tranType = this.tranType
+            // outdata就是你想要的东西 excel导入的数据
+            outdata = XLSX.utils.sheet_to_json(wb.Sheets[wb.SheetNames[0]]);
+            // excel 数据再处理
+            let arr = []
+            outdata.map(v => {
+              // let jsonString = JSON.stringify(v).replace(/\*/g, '').replace(/\s/ig,'');
+              let jsonString = JSON.stringify(v).replace(/\//g, '').replace(/\s/ig, '');
+              console.log(jsonString);
+              v = JSON.parse(jsonString);
+              let obj = {}
+              //xxx代表列名
+              obj.caseNo = v.箱号
+              obj.titleNo = v.封号
+              obj.driverPhone = v.司机电话
+              obj.driver = v.姓名
+              obj.loadNetWeight = v.装车净重
+              obj.sendDateStart = v.装车日期
+              obj.status = v.状态
+              obj.carNo = v.车牌号
+              obj.loadPoundImg = v.磅单
+              console.log(obj)
+              _this.excelFreightspace.push(obj)
+            })
+            let _ispushData = true
+            // _this.freightspace.concat(arr)
+            console.log(arr, _this.freightspace)
+            for (let i = 0; i < _this.excelFreightspace.length; i++) {
+              _ispushData = true
+              for (let k = 0; k < _this.freightspace.length; k++) {
+                if (_this.excelFreightspace[i].driverPhone == _this.freightspace[k].driverPhone) {
+                  _this.freightspace[k] = _this.excelFreightspace[i]
+                  _ispushData = false
+                }
+              }
+              if (_ispushData) {
+                _this.freightspace.push(_this.excelFreightspace[i])
+                _ispushData = true
+              }
             }
           }
-          var tranProcessInfo = {}
-          tranProcessInfo.id = this.deptBudgetList.id
-          tranProcessInfo.infoId = this.deptBudgetList.infoId
-          tranProcessInfo.processNo = this.deptBudgetList.processNo
-          tranProcessInfo.tranPrice = this.deptBudgetList.tranPrice
-          tranProcessInfo.tranCarInfoList = this.tranCarInfoList
-          // dispatchCat({tranCarInfo:{tranCarInfoList:[this.tranCarInfoList],id:this.deptBudgetList.id}
-          feedback(tranProcessInfo)
-            .toPromise()
-            .then(response => {
-              this.$message.success('提交成功')
-              this.deptBudgetList = {}
-              this.freightspace = {}
-              this.selectedOptions = ''
-              this.$router.push({
-                path: 'tranManagementTransporHairRespond'
-              })
-            })
+          reader.readAsArrayBuffer(f);
+        }
+        if (rABS) {
+          reader.readAsArrayBuffer(f);
         } else {
-          // EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
-          return false
+          reader.readAsBinaryString(f);
         }
-      })
-    },
-    submit() {
-      for (var i = 0; i < this.freightspace.length; i++) {
-        if (this.freightspace[i].temporaryDriverFlag != 0) {
-          if (!this.freightspace[i].driver) {
-            this.$message({
-              message: '司机姓名不能为空!',
-              type: 'warning'
-            })
-            return
-          }
-          if (!this.freightspace[i].driverPhone) {
-            this.$message({
-              message: '司机电话不能为空!',
-              type: 'warning'
-            })
-            return
-          }
-          if (!this.freightspace[i].carNo) {
-            this.$message({
-              message: '车牌号不能为空!',
-              type: 'warning'
-            })
-            return
-          }
-          if (!this.freightspace[i].loadNetWeight) {
-            this.$message({
-              message: '装载净重不能为空!',
-              type: 'warning'
-            })
-            return
+        console.log(reader)
+      },
+      beforeUpload(file) {
+        if (window.createObjectURL != undefined) {
+          this.fileName = window.createObjectURL(file)
+        } else if (window.URL != undefined) {
+          this.fileName = window.URL.createObjectURL(file)
+        } else if (window.webkitURL != undefined) {
+          this.fileName = window.webkitURL.createObjectURL(file)
+        }
+        console.log(this.fileName)
+      },
+      uploadSuccessHandle(e) {
+        console.log(e)
+        importApplFileUrl({
+            file: e.url
+          })
+          .toPromise()
+          .then(response => {
+            console.log(response)
+          })
+      },
+      dataFilter(val) {
+        this.deptBudgetList.personCharge = val
+        if (val) {
+          this.options = this.staffList.filter(item => {
+            if (
+              !!~item.staffName.indexOf(val) ||
+              !!~item.staffName.toUpperCase().indexOf(val.toUpperCase())
+            ) {
+              return true
+            }
+          })
+        } else {
+          this.options = this.staffList
+        }
+      },
+      selectstaff(e) {
+        for (var i = 0; i < this.staffList.length; i++) {
+          if (this.staffList[i].staffName == e) {
+            this.deptBudgetList.driverPhone = this.staffList[i].staffMobilePhone
+            this.freightspace[i].driverPhone = this.staffList[i].staffMobilePhone
+            this.deptBudgetList.personChargeKey = this.staffList[i].staffId
           }
         }
-      }
-      if (sessionStorage.getItem('qy-msg')) {
-        this.validateFunc()
-      } else {
-        this.$alert(
-          '<div><strong>提交成功后提醒司机及时签订运输合同,确定提交装车信息?</strong><div style="display:flex;align-items: center;"><input id="noMsg" type="checkbox" onclick="window.noMessege(1)"><span style="margin-left:10px">不在提示</span><div></div>',
-          '',
-          {
-            dangerouslyUseHTMLString: true,
-            distinguishCancelAndClose: true,
-            showCancelButton: true,
+      },
+      marker: function(item) {
+        this.deptBudgetList.warehousePositioning =
+          item.lnglat.lat + ',' + item.lnglat.lng
+      },
+      selectedAddress(e) {
+        this.deptBudgetList.warehousePositioning =
+          e.center.lat + ',' + e.center.lng
+      },
+      confirmPositioncity() {
+        this.listDate.level = 'city'
+        this.listDate.country = this.name
+      },
+      // 关闭 dialog时 处理文件url 初始化upload组件
+      handleClose() {
+        this.dialogViewSpareMoney = false
+      },
+      add() {
+        this.freightspace.push({
+          driver: '',
+          driverPhone: '',
+          carNo: '',
+          loadNetWeight: ''
+        })
+      },
+      del(index) {
+        if (this.freightspace.length > 1) {
+          this.freightspace.splice(index, 1)
+        }
+      },
+      //下拉司机姓名改变事件
+      selectdriver() {},
+
+      returnsales() {
+        this.deptBudgetList = {}
+        this.freightspace = {}
+        this.selectedOptions = ''
+        this.deptBudgetList.tranCarInfoList = []
+        this.$router.push({
+          path: 'tranManagementTransporHairRespond'
+        })
+      },
+      // 上传附件
+      uploadSuccess(data, files, url) {
+        console.log(data, files, url)
+      },
+      handleClose() {
+        this.accessoryTFs = false
+      },
+      //导入
+      import() {},
+      finished() {
+        this.$confirm(`完货操作后,装车信息不可修改,是否确定完货?`, {
             confirmButtonText: '确定',
-            cancelButtonText: '取消'
-          }
-        )
+            cancelButtonText: '取消',
+            type: 'warning'
+          })
           .then(() => {
-            this.validateFunc()
+            this.$refs.deptBudgetList.validate(valid => {
+              if (valid) {
+                var tranProcessInfo = {}
+                tranProcessInfo.id = this.deptBudgetList.id
+                state(tranProcessInfo)
+                  .toPromise()
+                  .then(response => {
+                    this.$message.success('完货成功')
+                    this.deptBudgetList = {}
+                    this.freightspace = {}
+                    this.selectedOptions = ''
+                    this.$router.push({
+                      path: 'tranManagementTransporHairRespond'
+                    })
+                  })
+              } else {
+                return false
+              }
+            })
           })
           .catch(() => {
             return false
           })
-      }
-    },
-
-    resetForm(deptBudgetList) {
-      this.$refs[deptBudgetList].resetFields()
-    },
-    getList() {
-      seeCat({ id: this.deptBudgetList.id })
-        .toPromise()
-        .then(response => {
-          this.deptBudgetList = response
-          //  this.deptBudgetList.tranCarInfoList = response.tranCarInfoList
-          this.freightspace = response.tranCarInfoList
-          for (var i = 0; i < this.freightspace.length; i++) {
-            if (!this.freightspace[i].loadNetWeight) {
-              this.freightspace[i].loadNetWeight = 0
+      },
+      noMessege() {
+        sessionStorage.setItem('qy-msg', "true")
+      },
+      validateFunc() {
+        this.$refs.deptBudgetList.validate(valid => {
+          if (valid) {
+            // this.deptBudgetList.totalStorage = this.totalStorage
+            this.tranCarInfoList = this.freightspace
+            this.tranCarInfoList.driver = this.deptBudgetList.driver
+            this.tranCarInfoList.driverPhone = this.deptBudgetList.driverPhone
+            this.tranCarInfoList.tranCarNo = this.deptBudgetList.tranCarNo
+            this.tranCarInfoList.carNo = this.deptBudgetList.carNo
+            this.tranCarInfoList.loadNetWeight = this.deptBudgetList.loadNetWeight
+            this.tranCarInfoList.tranType = this.tranType
+            this.tranCarInfoList.loadPoundImg = this.deptBudgetList.loadPoundImg
+            // this.tranCarInfoList.boxNo = this.arr.toString()
+            for (var i = 0; i < this.tranCarInfoList.length; i++) {
+              this.tranCarInfoList[i].id = this.freightspace[i].id
+              if (this.tranCarInfoList[i].temporaryDriverFlag != 0) {
+                this.tranCarInfoList[i].temporaryDriverFlag = 1
+                this.tranCarInfoList[i].tranType = this.tranType
+              }
             }
+            var tranProcessInfo = {}
+            tranProcessInfo.id = this.deptBudgetList.id
+            tranProcessInfo.infoId = this.deptBudgetList.infoId
+            tranProcessInfo.processNo = this.deptBudgetList.processNo
+            tranProcessInfo.tranPrice = this.deptBudgetList.tranPrice
+            tranProcessInfo.tranCarInfoList = this.tranCarInfoList
+            // dispatchCat({tranCarInfo:{tranCarInfoList:[this.tranCarInfoList],id:this.deptBudgetList.id}
+            feedback(tranProcessInfo)
+              .toPromise()
+              .then(response => {
+                this.$message.success('提交成功')
+                this.deptBudgetList = {}
+                this.freightspace = {}
+                this.selectedOptions = ''
+                this.$router.push({
+                  path: 'tranManagementTransporHairRespond'
+                })
+              })
+          } else {
+            // EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
+            return false
           }
         })
-      //司机姓名下拉
-      getstaff({ compId: sessionStorage.getItem('ws-pf_compId') })
-        .toPromise()
-        .then(response => {
-          this.options = response
-          this.staffList = response
-        })
-      //车型
-      packList({ constId: 'TRAN5' })
-        .toPromise()
-        .then(response => {
-          this.carModel = response
-        })
-    },
-    handleExamine() {},
-    approve() {},
-    // returnsales() {
-    //   this.$router.push({ path: 'purchaseContract' })
-    // },
-    selectChapterTwo(e) {
-      for (var i = 0; i < this.ChapterTwoList.length; i++) {
-        if (this.ChapterTwoList[i].constValue == e) {
-          this.deptBudgetList.gradeKey = this.ChapterTwoList[i].constKey
+      },
+      submit() {
+        for (var i = 0; i < this.freightspace.length; i++) {
+          if (this.freightspace[i].temporaryDriverFlag != 0) {
+            if (!this.freightspace[i].driver) {
+              this.$message({
+                message: '司机姓名不能为空!',
+                type: 'warning'
+              })
+              return
+            }
+            if (!this.freightspace[i].driverPhone) {
+              this.$message({
+                message: '司机电话不能为空!',
+                type: 'warning'
+              })
+              return
+            }
+            if (!this.freightspace[i].carNo) {
+              this.$message({
+                message: '车牌号不能为空!',
+                type: 'warning'
+              })
+              return
+            }
+            if (!this.freightspace[i].loadNetWeight) {
+              this.$message({
+                message: '装载净重不能为空!',
+                type: 'warning'
+              })
+              return
+            }
+          }
         }
-      }
-    },
-    selectunitList(e) {
-      for (var i = 0; i < this.unitList.length; i++) {
-        if (this.unitList[i].constValue == e) {
-          this.deptBudgetList.acceptanceMethodKey = this.unitList[i].constKey
+        if (sessionStorage.getItem('qy-msg')) {
+          this.validateFunc()
+        } else {
+          this.$alert(
+              '<div><strong>提交成功后提醒司机及时签订运输合同,确定提交装车信息?</strong><div style="display:flex;align-items: center;"><input id="noMsg" type="checkbox" onclick="window.noMessege(1)"><span style="margin-left:10px">不在提示</span><div></div>',
+              '', {
+                dangerouslyUseHTMLString: true,
+                distinguishCancelAndClose: true,
+                showCancelButton: true,
+                confirmButtonText: '确定',
+                cancelButtonText: '取消'
+              }
+            )
+            .then(() => {
+              this.validateFunc()
+            })
+            .catch(() => {
+              return false
+            })
         }
-      }
-    },
-    selectgrade(e) {
-      for (var i = 0; i < this.gradeList.length; i++) {
-        if (this.gradeList[i].constValue == e) {
-          this.deptBudgetList.gradeKey = this.gradeList[i].constKey
+      },
+
+      resetForm(deptBudgetList) {
+        this.$refs[deptBudgetList].resetFields()
+      },
+      getList() {
+        seeCat({
+            id: this.deptBudgetList.id
+          })
+          .toPromise()
+          .then(response => {
+            this.deptBudgetList = response
+            //  this.deptBudgetList.tranCarInfoList = response.tranCarInfoList
+            this.freightspace = response.tranCarInfoList
+            for (var i = 0; i < this.freightspace.length; i++) {
+              if (!this.freightspace[i].loadNetWeight) {
+                this.freightspace[i].loadNetWeight = 0
+              }
+            }
+          })
+        //司机姓名下拉
+        getstaff({
+            compId: sessionStorage.getItem('ws-pf_compId')
+          })
+          .toPromise()
+          .then(response => {
+            this.options = response
+            this.staffList = response
+          })
+        //车型
+        packList({
+            constId: 'TRAN5'
+          })
+          .toPromise()
+          .then(response => {
+            this.carModel = response
+          })
+      },
+      handleExamine() {},
+      approve() {},
+      // returnsales() {
+      //   this.$router.push({ path: 'purchaseContract' })
+      // },
+      selectChapterTwo(e) {
+        for (var i = 0; i < this.ChapterTwoList.length; i++) {
+          if (this.ChapterTwoList[i].constValue == e) {
+            this.deptBudgetList.gradeKey = this.ChapterTwoList[i].constKey
+          }
         }
-      }
-    },
-    selectgoodsName(e) {
-      for (var i = 0; i < this.goodnameList.length; i++) {
-        if (this.goodnameList[i].constValue == e) {
-          this.deptBudgetList.goodsNameKey = this.goodnameList[i].constKey
+      },
+      selectunitList(e) {
+        for (var i = 0; i < this.unitList.length; i++) {
+          if (this.unitList[i].constValue == e) {
+            this.deptBudgetList.acceptanceMethodKey = this.unitList[i].constKey
+          }
         }
-      }
-    },
-    selectpackingMethod(e) {
-      for (var i = 0; i < this.packtypeList.length; i++) {
-        if (this.packtypeList[i].constValue == e) {
-          this.deptBudgetList.packingMethodKey = this.packtypeList[i].constKey
+      },
+      selectgrade(e) {
+        for (var i = 0; i < this.gradeList.length; i++) {
+          if (this.gradeList[i].constValue == e) {
+            this.deptBudgetList.gradeKey = this.gradeList[i].constKey
+          }
+        }
+      },
+      selectgoodsName(e) {
+        for (var i = 0; i < this.goodnameList.length; i++) {
+          if (this.goodnameList[i].constValue == e) {
+            this.deptBudgetList.goodsNameKey = this.goodnameList[i].constKey
+          }
         }
+      },
+      selectpackingMethod(e) {
+        for (var i = 0; i < this.packtypeList.length; i++) {
+          if (this.packtypeList[i].constValue == e) {
+            this.deptBudgetList.packingMethodKey = this.packtypeList[i].constKey
+          }
+        }
+      },
+      uploadSuccessHandle1(e, index) {
+        this.freightspace[index].loadPoundImg = e.url
       }
-    },
-    uploadSuccessHandle1(e, index) {
-      this.freightspace[index].loadPoundImg = e.url
     }
   }
-}
 </script>
 
 <style lang="scss" scoped>
-/deep/.totalStorage .el-input__inner {
-  color: #afb5cb;
-  background: #f5f7fa;
-}
-.small-title {
-  position: relative;
-  padding: 10px;
-  font-weight: 600;
-}
-.small-title::before {
-  position: absolute;
-  content: '';
-  display: block;
-  background: #5473e8;
-  width: 4px;
-  height: 14px;
-  left: 0px;
-  top: 13px;
-}
-.position {
-  position: relative;
-}
-
-.del {
-  position: absolute;
-  right: -38px;
-  top: 14px;
-  cursor: pointer;
-  right: 0;
-  display: inline-block;
-  font-size: 26px;
-  width: 26px;
-  height: 10px;
-  line-height: 0px;
-}
-
-.amap-page-container {
-  width: 300px;
-  height: 300px;
-}
-.el-form {
-  padding: 0 15%;
-}
-/deep/.ws-info-table .el-form-item {
-  border-right: 1px solid transparent;
-  border-bottom: 1px solid transparent;
-}
-.readonly {
-  position: relative;
-}
-.readonly:after {
-  content: '*';
-  color: #ff2727;
-  position: absolute;
-  right: 8px;
-  z-index: 10;
-  top: 21%;
-  font-size: 20px;
-}
-.title {
-  position: relative;
-}
-.title::before {
-  content: '';
-  display: inline-block;
-  width: 5px;
-  height: 30px;
-  background: #5473e8;
-  position: absolute;
-  left: 0;
-}
-.el-button--primary {
-  background-color: #5878e8;
-  border-color: #5878e8;
-}
-.el-col {
-  background: #f6f7fc;
-}
-/deep/.ws-info-table .el-form-item .el-form-item__content {
-  padding: 0 25px;
-  border-left: 1px solid transparent;
-  background: #fff;
-}
-/deep/.ws-info-table .el-form-item .el-form-item__label {
-  width: 100px;
-  text-align: center;
-  background: #fff;
-  // border: 1px solid #cdd2dc;
-}
-.button-container {
-  display: flex;
-  flex-wrap: nowrap;
-  justify-content: space-between;
-  align-items: center;
-  background-color: #fff;
-  width: 100%;
-  height: 50px;
-  padding: 0 10px;
-  & > div {
-    margin-left: 10px;
+  /deep/.totalStorage .el-input__inner {
+    color: #afb5cb;
+    background: #f5f7fa;
+  }
+
+  .small-title {
+    position: relative;
+    padding: 10px;
+    font-weight: 600;
+  }
+
+  .small-title::before {
+    position: absolute;
+    content: '';
+    display: block;
+    background: #5473e8;
+    width: 4px;
+    height: 14px;
+    left: 0px;
+    top: 13px;
+  }
+
+  .position {
+    position: relative;
+  }
+
+  .del {
+    position: absolute;
+    right: -38px;
+    top: 14px;
+    cursor: pointer;
+    right: 0;
+    display: inline-block;
+    font-size: 26px;
+    width: 26px;
+    height: 10px;
+    line-height: 0px;
+  }
+
+  .amap-page-container {
+    width: 300px;
+    height: 300px;
+  }
+
+  .el-form {
+    padding: 0 15%;
+  }
+
+  /deep/.ws-info-table .el-form-item {
+    border-right: 1px solid transparent;
+    border-bottom: 1px solid transparent;
+  }
+
+  .readonly {
+    position: relative;
+  }
+
+  .readonly:after {
+    content: '*';
+    color: #ff2727;
+    position: absolute;
+    right: 8px;
+    z-index: 10;
+    top: 21%;
+    font-size: 20px;
+  }
+
+  .title {
+    position: relative;
+  }
+
+  .title::before {
+    content: '';
+    display: inline-block;
+    width: 5px;
+    height: 30px;
+    background: #5473e8;
+    position: absolute;
+    left: 0;
+  }
+
+  .el-button--primary {
+    background-color: #5878e8;
+    border-color: #5878e8;
+  }
+
+  .el-col {
+    background: #f6f7fc;
+  }
+
+  /deep/.ws-info-table .el-form-item .el-form-item__content {
+    padding: 0 25px;
+    border-left: 1px solid transparent;
+    background: #fff;
+  }
+
+  /deep/.ws-info-table .el-form-item .el-form-item__label {
+    width: 100px;
+    text-align: center;
+    background: #fff;
+    // border: 1px solid #cdd2dc;
+  }
+
+  .button-container {
     display: flex;
     flex-wrap: nowrap;
-    flex-direction: row;
-    & > span {
-      line-height: 50px;
-    }
-  }
+    justify-content: space-between;
+    align-items: center;
+    background-color: #fff;
+    width: 100%;
+    height: 50px;
+    padding: 0 10px;
+
+    &>div {
+      margin-left: 10px;
+      display: flex;
+      flex-wrap: nowrap;
+      flex-direction: row;
 
-  /deep/.auditFlow-box {
-    position: unset;
-    margin-left: 10px;
-    &/deep/.auditFlow-icon {
-      width: auto;
-      padding-right: 5px;
+      &>span {
+        line-height: 50px;
+      }
     }
-    &/deep/.auditFlow-main {
-      position: absolute;
+
+    /deep/.auditFlow-box {
+      position: unset;
+      margin-left: 10px;
+
+      &/deep/.auditFlow-icon {
+        width: auto;
+        padding-right: 5px;
+      }
+
+      &/deep/.auditFlow-main {
+        position: absolute;
+      }
     }
   }
-}
-.box-app {
-  display: inline-block;
-  float: left;
-  margin-left: 30px;
-  line-height: 50px;
-}
-/deep/.el-dialog {
-  .el-form-item {
-    margin-bottom: 0 !important;
-    .el-input--medium {
-      textarea {
-        min-height: 100px !important;
+
+  .box-app {
+    display: inline-block;
+    float: left;
+    margin-left: 30px;
+    line-height: 50px;
+  }
+
+  /deep/.el-dialog {
+    .el-form-item {
+      margin-bottom: 0 !important;
+
+      .el-input--medium {
+        textarea {
+          min-height: 100px !important;
+        }
       }
     }
   }
-}
-.collapse-bottom {
-  margin-bottom: 20px;
-}
-.input-main .textarea .el-textarea__inner {
-  width: 100%;
-  z-index: 1;
-}
-.bg-left {
-  padding-left: 30px;
-}
-.bg-right {
-  padding-right: 2px;
-  text-align: right;
-}
-.bg-bottom {
-  margin: 15px 0px;
-}
-.wenzi {
-  width: 900px;
-  margin: 0 auto;
-}
-.wenzi h3 {
-  display: inline-block;
-  left: 10px;
-}
-.wenzi p {
-  display: inline-block;
-}
-.center {
-  width: 900px;
-  margin: 0 auto;
-}
-.el-form-item {
-  width: 50%;
-}
-.el-form-item__label {
-  text-align: center;
-}
-.ce {
-  width: 900px;
-  margin: 0 auto;
-}
-/*.crt-main .textarea /deep/ .el-form-item__label {*/
-/*  height: 82px;*/
-/*}*/
-// 控制select为只读的时候显示样式
-
-.hide-sel {
-  .el-input__inner {
-    border: 0px;
+
+  .collapse-bottom {
+    margin-bottom: 20px;
   }
-  .el-icon-arrow-up {
-    display: none;
+
+  .input-main .textarea .el-textarea__inner {
+    width: 100%;
+    z-index: 1;
   }
-  .el-textarea__inner {
-    background-color: #fff !important;
-    border: 0;
+
+  .bg-left {
+    padding-left: 30px;
+  }
+
+  .bg-right {
+    padding-right: 2px;
+    text-align: right;
+  }
+
+  .bg-bottom {
+    margin: 15px 0px;
+  }
+
+  .wenzi {
+    width: 900px;
+    margin: 0 auto;
+  }
+
+  .wenzi h3 {
+    display: inline-block;
+    left: 10px;
+  }
+
+  .wenzi p {
+    display: inline-block;
+  }
+
+  .center {
+    width: 900px;
+    margin: 0 auto;
+  }
+
+  .el-form-item {
+    width: 50%;
   }
-  .el-date-editor {
-    i {
+
+  .el-form-item__label {
+    text-align: center;
+  }
+
+  .ce {
+    width: 900px;
+    margin: 0 auto;
+  }
+
+  /*.crt-main .textarea /deep/ .el-form-item__label {*/
+  /*  height: 82px;*/
+  /*}*/
+  // 控制select为只读的时候显示样式
+
+  .hide-sel {
+    .el-input__inner {
+      border: 0px;
+    }
+
+    .el-icon-arrow-up {
       display: none;
     }
+
+    .el-textarea__inner {
+      background-color: #fff !important;
+      border: 0;
+    }
+
+    .el-date-editor {
+      i {
+        display: none;
+      }
+    }
+
+    /deep/ .picker {
+      padding-right: 3px !important;
+    }
+
+    // .is-disabled {
+    //   .el-input__inner:hover {
+    //     background-color: #fff !important;
+    //     border: 0;
+    //   }
+    //   color: #606266;
+    //   .el-input__inner {
+    //     background-color: #fff !important;
+    //     border: 0;
+    //     color: #606266;
+    //   }
+    //   .el-textarea__inner {
+    //     background-color: #fff !important;
+    //     border: 0;
+    //     color: #606266;
+    //   }
+    // }
   }
-  /deep/ .picker {
-    padding-right: 3px !important;
+
+  // 控制select为只读的时候显示样式
+  /deep/.ws-class-table-col {
+    height: auto;
+    padding: 0px 2px;
+
+    /deep/.el-input__inner {
+      padding: 0px 2px;
+    }
   }
 
-  // .is-disabled {
-  //   .el-input__inner:hover {
-  //     background-color: #fff !important;
-  //     border: 0;
+  // /deep/.is-disabled {
+  //   .el-input__prefix,
+  //   .el-input__suffix {
+  //     display: none;
   //   }
-  //   color: #606266;
   //   .el-input__inner {
-  //     background-color: #fff !important;
-  //     border: 0;
-  //     color: #606266;
-  //   }
-  //   .el-textarea__inner {
-  //     background-color: #fff !important;
-  //     border: 0;
-  //     color: #606266;
+  //     background-color: #fff;
+  //     border-color: #fff !important;
+  //     color: #000 !important;
+  //     font-size: 14px;
+  //     cursor: text;
+  //     padding: 0 !important;
   //   }
   // }
-}
+  .winseaview-view {
+    padding: 0 0 20px;
+  }
 
-// 控制select为只读的时候显示样式
-/deep/.ws-class-table-col {
-  height: auto;
-  padding: 0px 2px;
-  /deep/.el-input__inner {
-    padding: 0px 2px;
+  .container {
+    overflow: scroll;
+    height: 93vh;
+  }
+
+  .ws-info-table .el-form-item {
+    width: 33.3333%;
+  }
+
+  .readonly:after {
+    display: none;
+  }
+
+  .el-textarea__inner {
+    display: none;
+  }
+
+  .el-form {
+    margin-top: 50px;
+  }
+
+  .readonly {
+    width: 16%;
+  }
+
+  //去边框
+  /deep/.el-form-item {
+    border-right: 0px;
+    border-bottom: 0px;
+  }
+
+  /deep/.ws-info-table {
+    border-left: 0px;
+    border-top: 0px;
+  }
+
+  .ws-info-table .el-form-item .el-form-item__content {
+    border: none;
+  }
+
+  /deep/.ws-info-table .el-form-item {
+    border: none;
+    height: 50px;
+  }
+
+  /deep/.ws-info-table .el-form-item .el-form-item__content {
+    background: #f5f7fa;
+    border-radius: 4px;
+    border: 1px solid #d8dce6;
+    font-family: PingFangSC-Regular, PingFang SC;
+    margin-bottom: 5px;
+    background-color: #fff;
+    font-size: 14px;
+    font-weight: 400;
+    color: #8890b1;
+    line-height: 16px;
+  }
+
+  /deep/.ws-info-table .el-form-item .el-form-item__label {
+    background-color: #fff;
+    font-size: 13px;
+    font-family: PingFangSC-Regular, PingFang SC;
+    font-weight: 400;
+    color: #8890b1;
+    line-height: 16px;
+  }
+
+  /deep/.ws-info-table .el-form-item .el-form-item__content {
+    background: #f5f7fa;
+    border-radius: 4px;
+    border: 1px solid #d8dce6;
+  }
+
+  /deep/.flex .ws-info-table .el-form-item .el-form-item__content {
+    border: 0px;
+  }
+
+  //联络员及车次
+  /deep/.liaison .ws-info-table .el-form-item {
+    width: 19%;
+  }
+
+  /deep/.liaison .ws-info-table .el-form-item .el-form-item__label {
+    width: 100px;
+    background: #f6f7fc;
+  }
+
+  /deep/.liaison .ws-info-table {
+    width: 100%;
+    background: #f6f7fc;
+    border-radius: 4px;
+    border: 1px solid #d8dce6;
+    margin-top: 20px;
+  }
+
+  .catNos {
+    width: 100%;
+    height: 30px;
+    margin-top: 10px;
+    margin-left: 20px;
+    font-size: 14px;
+  }
+
+  .catNosCor {
+    color: #5473e8;
+  }
+
+  .add {
+    width: 130px;
+    height: 34px;
+    background: #f6f7fb;
+    border-radius: 17px;
+    color: #5473e8;
+    font-size: 14px;
+    border: none;
+  }
+
+  .add img {
+    display: inline-block;
+    margin-top: 3px;
+    margin-left: -30px;
+  }
+
+  .add .spans {
+    display: table-caption;
+    width: 56px;
+    height: 20px;
+    line-height: 18px;
+  }
+
+  .signStatus {
+    height: 25px;
+    border-radius: 3px;
+    border: 1px solid #5473e8;
+    padding: 0 3px;
+    color: #ffffff;
+    background: #c4cada;
+    line-height: 24px;
+    margin-left: 18px;
+  }
+
+  .signStatus1 {
+    height: 25px;
+    background: #e6ebff;
+    border-radius: 3px;
+    border: 1px solid #5473e8;
+    padding: 0 3px;
+    margin-left: 18px;
+    color: #5473e8;
+    line-height: 24px;
+  }
+
+  .line {
+    height: 26px;
+    margin-top: 6px;
+    left: 2px;
+  }
+
+  //送达/未送达
+  .noservice,
+  .service {
+    display: inline-block;
+    border-radius: 4px;
+    border: 1px solid #d8dce6;
+    padding: 2px;
+    font-size: 12px;
+  }
+
+  .noservice {
+    background: #c4cada;
+    color: #ffffff;
+  }
+
+  .service {
+    background: #e5f1f7;
+    color: #50cad4;
+  }
+
+  /deep/.liaison .ws-info-table .el-form-item .el-form-item__content {
+    padding: 0px;
   }
-}
-// /deep/.is-disabled {
-//   .el-input__prefix,
-//   .el-input__suffix {
-//     display: none;
-//   }
-//   .el-input__inner {
-//     background-color: #fff;
-//     border-color: #fff !important;
-//     color: #000 !important;
-//     font-size: 14px;
-//     cursor: text;
-//     padding: 0 !important;
-//   }
-// }
-.winseaview-view {
-  padding: 0 0 20px;
-}
-.container {
-  overflow: scroll;
-  height: 93vh;
-}
-.ws-info-table .el-form-item {
-  width: 33.3333%;
-}
-.readonly:after {
-  display: none;
-}
-.el-textarea__inner {
-  display: none;
-}
-.el-form {
-  margin-top: 50px;
-}
-.readonly {
-  width: 16%;
-}
-
-//去边框
-/deep/.el-form-item {
-  border-right: 0px;
-  border-bottom: 0px;
-}
-/deep/.ws-info-table {
-  border-left: 0px;
-  border-top: 0px;
-}
-.ws-info-table .el-form-item .el-form-item__content {
-  border: none;
-}
-/deep/.ws-info-table .el-form-item {
-  border: none;
-  height: 50px;
-}
-/deep/.ws-info-table .el-form-item .el-form-item__content {
-  background: #f5f7fa;
-  border-radius: 4px;
-  border: 1px solid #d8dce6;
-  font-family: PingFangSC-Regular, PingFang SC;
-  margin-bottom: 5px;
-  background-color: #fff;
-  font-size: 14px;
-  font-weight: 400;
-  color: #8890b1;
-  line-height: 16px;
-}
-/deep/.ws-info-table .el-form-item .el-form-item__label {
-  background-color: #fff;
-  font-size: 13px;
-  font-family: PingFangSC-Regular, PingFang SC;
-  font-weight: 400;
-  color: #8890b1;
-  line-height: 16px;
-}
-
-/deep/.ws-info-table .el-form-item .el-form-item__content {
-  background: #f5f7fa;
-  border-radius: 4px;
-  border: 1px solid #d8dce6;
-}
-/deep/.flex .ws-info-table .el-form-item .el-form-item__content {
-  border: 0px;
-}
-//联络员及车次
-/deep/.liaison .ws-info-table .el-form-item {
-  width: 19%;
-}
-/deep/.liaison .ws-info-table .el-form-item .el-form-item__label {
-  width: 50%;
-  background: #f6f7fc;
-}
-/deep/.liaison .ws-info-table {
-  width:100%;
-  background: #f6f7fc;
-  border-radius: 4px;
-  border: 1px solid #d8dce6;
-  margin-top: 20px;
-}
-.catNos {
-  width: 100%;
-  height: 30px;
-  margin-top: 10px;
-  margin-left: 20px;
-  font-size: 14px;
-}
-.catNosCor {
-  color: #5473e8;
-}
-.add {
-  width: 130px;
-  height: 34px;
-  background: #f6f7fb;
-  border-radius: 17px;
-  color: #5473e8;
-  font-size: 14px;
-  border: none;
-}
-.add img {
-  display: inline-block;
-  margin-top: 3px;
-  margin-left: -30px;
-}
-.add .spans {
-  display: table-caption;
-  width: 56px;
-  height: 20px;
-  line-height: 18px;
-}
-.signStatus {
-  height: 25px;
-  border-radius: 3px;
-  border: 1px solid #5473e8;
-  padding: 0 3px;
-  color: #ffffff;
-  background: #c4cada;
-  line-height: 24px;
-  margin-left: 18px;
-}
-.signStatus1 {
-  height: 25px;
-  background: #e6ebff;
-  border-radius: 3px;
-  border: 1px solid #5473e8;
-  padding: 0 3px;
-  margin-left: 18px;
-  color: #5473e8;
-  line-height: 24px;
-}
-.line {
-  height: 26px;
-  margin-top: 6px;
-  left: 2px;
-}
-//送达/未送达
-.noservice,
-.service {
-  display: inline-block;
-  border-radius: 4px;
-  border: 1px solid #d8dce6;
-  padding: 2px;
-  font-size: 12px;
-}
-.noservice {
-  background: #c4cada;
-  color: #ffffff;
-}
-.service {
-  background: #e5f1f7;
-  color: #50cad4;
-}
-/deep/.liaison .ws-info-table .el-form-item .el-form-item__content {
-  padding: 0px;
-}
-</style>
+</style>

+ 1 - 1
src/views/tranManagement/tranManagementTransporTrainNo.vue

@@ -127,7 +127,7 @@
               >审核中</el-button
             >
              <el-button
-              v-else
+             
               type="primary"
               size="small"
               @click="priceSubmit()"

+ 1 - 0
src/views/tranManagement/tranManagementUnShippingFeedback.vue

@@ -525,6 +525,7 @@ export default {
                             obj.binNumber = v.仓位号
                             obj.positionWeight=v.散船重量
                             obj.loadNetWeight = v.装船净重
+                            obj.unloadNetWeight = v.卸船净重
                             obj.loadingDate = toString(v.装船日期)
                             obj.status= v.状态
                             obj.shipType = v.类型