gjy 3 年之前
父節點
當前提交
f34570780e

+ 2 - 0
src/api/V2/transport/index.js

@@ -49,6 +49,8 @@ export const API_POST_AUTOMOBILE_STATE = '/tranProcessInfo/api/editFeedbackStatu
 export const API_POST_AUTOMOBILE_STATEREC = '/tranProcessInfo/api/editReceivingStatus'
 // 他运反馈查看
 export const API_GET_TRANPROCESSINFO = '/tranProcessInfo/getThreeTranProcess'
+// 他运反馈提交
+export const API_POST_TRANPROCESSINFO = '/tranProcessInfo/api/addTranCar'
 //状态
 export const API_POST_AUTOMOBILE_ALSOSTATE = '/tranProcessInfo/editStatus'
 //运输价格

+ 4 - 1
src/model/transport/index.js

@@ -31,7 +31,8 @@ import {
     API_POST_AUTOMOBILE_ALSOSTATE,
     API_POST_AUTOMOBILE_STATEREC,
     API_GET_IMPORT,
-    API_GET_TRANPROCESSINFO
+    API_GET_TRANPROCESSINFO,
+    API_POST_TRANPROCESSINFO
 } from '@/api/V2/transport'
 // 司机列表
 export const selectDriver = appRx.get(API_GET_TRAN_DRIVERINFO, errorCatcher, errorHandle, filter)
@@ -83,6 +84,8 @@ export const state = appRx.post(API_POST_AUTOMOBILE_STATE, errorCatcher, errorHa
 export const stateRec = appRx.post(API_POST_AUTOMOBILE_STATEREC, errorCatcher, errorHandle, filter)
 //他运反馈查看
 export const gettranprocessinfo = appRx.get(API_GET_TRANPROCESSINFO, errorCatcher, errorHandle, filter)
+//他运反馈提交
+export const posttranprocessinfo = appRx.post(API_POST_TRANPROCESSINFO, errorCatcher, errorHandle, filter)
 //状态
 export const alsostate = appRx.post(API_POST_AUTOMOBILE_ALSOSTATE, errorCatcher, errorHandle, filter)
 //设置运输价格

+ 14 - 0
src/views/tranManagement/tranManagementReceivingFeedback.vue

@@ -382,6 +382,13 @@ export default {
             id: row.id,
           },
         })
+      }else if (row.tranType == '他运') {
+        this.$router.push({
+          path: 'tranManagementthirdpartnarReceivingLook',
+          query: {
+            id: row.id,
+          },
+        })
       }
     },
 
@@ -409,6 +416,13 @@ export default {
             id: row.id,
           },
         })
+      }else if (row.tranType == '他运') {
+        this.$router.push({
+          path: 'tranManagementthirdpartnarReceiving',
+          query: {
+            id: row.id,
+          },
+        })
       }
     },
     dateFormat(fmt, date) {

+ 467 - 291
src/views/tranManagement/tranManagementthirdpartnarFeedback.vue

@@ -1,4 +1,4 @@
-//卸船反馈
+他运发货反馈
 <template>
   <div class="container">
     <el-row>
@@ -55,96 +55,182 @@
       <div class="small-title" style="font-size: 16px">发货运输方式</div>
       <ws-info-table>
         <el-checkbox-group @change='checkchange' v-model="checkList" prop="tranType">
-            <el-checkbox label="汽运"></el-checkbox>
-            <el-checkbox label="火运"></el-checkbox>
-            <el-checkbox label="散船"></el-checkbox>
-            <el-checkbox label="集装箱船"></el-checkbox>
+            <el-checkbox :disabled='disabled' label="汽运"></el-checkbox>
+            <el-checkbox :disabled='disabled1' label="火运"></el-checkbox>
+            <el-checkbox :disabled='disabled2' label="散船"></el-checkbox>
+            <el-checkbox :disabled='disabled3' label="集装箱船"></el-checkbox>
           </el-checkbox-group>
       </ws-info-table>
-      <div v-show='status' class="small-title" style="font-size: 16px">
+      <div v-show='status'  class='flex' style="font-size: 16px;justify-content: space-between;align-items:center;margin-top:10px;">
         汽运反馈
+        <el-button type="primary" size="small" @click="add(1)">添加</el-button>
       </div>
       <div v-show='status' class="liaison">
         <div
-          style="width: 100%"
-          class="flex position"
+          style="width: 100% justify-content: space-between;align-items:center;"
+          class="flex"
           v-for="(item, index) in this.freightspace"
           :key="index"
         >
           <ws-info-table>
-            <el-form-item label="派车编号" prop="caseNo">{{ item.carNumber }}</el-form-item>
-            <el-form-item label="车牌号" prop="carNo">{{ item.carNo }}</el-form-item>
-            <el-form-item label="车牌号" prop="carNo">{{ item.carNo }}</el-form-item>
-            <el-form-item label="箱号-1" prop="caseNo" >{{ item.caseNo }}</el-form-item>
-            <el-form-item label="箱号-2" prop="caseNo">{{ item.caseNo }}</el-form-item>
-            <el-form-item label="封号-1" prop="titleNo">{{ item.titleNo }}</el-form-item>
-            <el-form-item label="封号-2" prop="titleNo" >{{ item.titleNo }}</el-form-item>
-            <ws-form-item label="装车净重(吨)" span="1" prop="loadNetWeight">{{ item.loadNetWeight }}</ws-form-item>
+            <!-- <el-form-item label="派车编号" prop="caseNo">{{ item.carNumber }}</el-form-item> -->
+            <el-form-item label="车牌号" prop="carNo">
+              <ws-input :disabled="item.disabled" v-model="item.carNo" placeholder="请输入车牌号" maxlength="20" size="small" />
+            </el-form-item>
+            <el-form-item label="箱号-1" prop="caseNo" >
+              <ws-input :disabled="item.disabled" v-model="item.caseNo" placeholder="请输入箱号" maxlength="20" size="small" />
+            </el-form-item>
+            <el-form-item label="箱号-2" prop="caseNoOther">
+              <ws-input :disabled="item.disabled" v-model="item.caseNoOther" placeholder="请输入箱号" maxlength="20" size="small" />
+            </el-form-item>
+            <el-form-item label="封号-1" prop="titleNo">
+              <ws-input :disabled="item.disabled" v-model="item.titleNo" placeholder="请输入封号" maxlength="20" size="small" />
+            </el-form-item>
+            <el-form-item label="封号-2" prop="titleNoOther" >
+              <ws-input :disabled="item.disabled" v-model="item.titleNoOther" placeholder="请输入封号" maxlength="20" size="small" />
+            </el-form-item>
+            <ws-form-item label="装车净重(吨)" span="1" prop="loadNetWeight">
+              <ws-input
+                :disabled="item.disabled"
+                v-model="item.loadNetWeight"
+                placeholder="请输入装车净重"
+                maxlength="20"
+                size="small"
+              /></ws-form-item>
             <el-form-item label="装车日期" span="1" prop="unloadingDate" label-width="100px">
-              <ws-date-picker v-model="item.unloadingDate" type="date" style="width: 150px" placeholder="请选择日期" value-format="yyyy-MM-dd"/>
+              <ws-date-picker :disabled="item.disabled" v-model="item.loadingDate" type="date" style="width: 150px" placeholder="请选择日期" value-format="yyyy-MM-dd"/>
             </el-form-item>
           </ws-info-table>
+          <img
+          v-if='!item.disabled'
+            width="22"
+            height="22"
+            class="del"
+            style='margin-left:10px;'
+            @click="del(index,1)"
+            src="../../../public/img/del.png"
+            alt
+          />
         </div>
       </div>
-      <div v-show='status1' class="small-title" style="font-size: 16px">
+      <div v-show='status1' class='flex' style="font-size: 16px;justify-content: space-between;align-items:center;margin-top:10px;">
         火运反馈
+        <el-button type="primary" size="small" @click="add(2)">添加</el-button>
       </div>
       <div v-show='status1' class="liaison">
         <div
-          style="width: 100%"
-          class="flex position"
+          style="width: 100% justify-content: space-between;align-items:center;"
+          class="flex "
           v-for="(item, index) in this.freightspace1"
           :key="index"
         >
           <ws-info-table>
-            <el-form-item label="车号" prop="caseNo" >{{ item.carNumber }}</el-form-item>
-            <el-form-item label="车厢号-1" prop="caseNo">{{ item.caseNo }}</el-form-item>
-            <el-form-item label="车厢号-2" prop="caseNo">{{ item.caseNo }}</el-form-item>
-            <ws-form-item label="装车净重(吨)" span="1" prop="loadNetWeight">{{ item.loadNetWeight }}</ws-form-item>
+            <el-form-item label="车号" prop="carNo" >
+              <ws-input :disabled="item.disabled" v-model="item.carNo" placeholder="请输入车号" maxlength="20" size="small" />
+            </el-form-item>
+            <el-form-item label="车厢号-1" prop="caseNo">
+              <ws-input :disabled="item.disabled" v-model="item.boxNo1" placeholder="请输入车厢号" maxlength="20" size="small" />
+            </el-form-item>
+            <el-form-item label="车厢号-2" prop="caseNo">
+              <ws-input :disabled="item.disabled" v-model="item.boxNo2" placeholder="请输入车厢号" maxlength="20" size="small" />
+            </el-form-item>
+            <ws-form-item label="装车净重(吨)" span="1" prop="loadNetWeight">
+               <ws-input
+                :disabled="item.disabled"
+                v-model="item.loadNetWeight"
+                placeholder="请输入装车净重"
+                maxlength="20"
+                size="small"
+              /></ws-form-item>
             <el-form-item label="装车日期" span="1" prop="unloadingDate" label-width="100px">
-              <ws-date-picker v-model="item.unloadingDate" type="date" style="width: 150px" placeholder="请选择日期" value-format="yyyy-MM-dd"/>
+              <ws-date-picker :disabled="item.disabled" v-model="item.loadingDate" type="date" style="width: 150px" placeholder="请选择日期" value-format="yyyy-MM-dd"/>
             </el-form-item>
           </ws-info-table>
+          <img
+          v-if='!item.disabled'
+            width="22"
+            height="22"
+            class="del"
+            style='margin-left:10px;'
+            @click="del(index,2)"
+            src="../../../public/img/del.png"
+            alt
+          />
         </div>
       </div>
-      <div  v-show='status2' class="small-title" style="font-size: 16px">
+      <div  v-show='status2'  class='flex' style="font-size: 16px;justify-content: space-between;align-items:center;margin-top:10px;">
         散船反馈
+        <el-button type="primary" size="small" @click="add(3)">添加</el-button>
       </div>
       <div v-show='status2' class="liaison">
         <div
-          style="width: 100%"
-          class="flex position"
+          style="width: 100% justify-content: space-between;align-items:center;"
+          class="flex"
           v-for="(item, index) in this.freightspace2"
           :key="index"
         >
           <ws-info-table>
-            <el-form-item label="航名" prop="caseNo" >{{ item.carNumber }}</el-form-item>
-            <el-form-item label="船次" prop="caseNo">{{ item.caseNo }}</el-form-item>
-            <ws-form-item label="装船净重(吨)" span="1" prop="loadNetWeight">{{ item.loadNetWeight }}</ws-form-item>
-            <el-form-item label="装船日期" span="1" prop="unloadingDate" label-width="100px">
-              <ws-date-picker v-model="item.unloadingDate" type="date" style="width: 150px" placeholder="请选择日期" value-format="yyyy-MM-dd"/>
+            <el-form-item label="船名" prop="caseNo" >{{ item.carNumber }}
+              <ws-input :disabled="item.disabled" v-model="item.shipName" placeholder="请输入船名" maxlength="20" size="small" />
+            </el-form-item>
+            <el-form-item label="航次" prop="caseNo">
+              <ws-input :disabled="item.disabled" v-model="item.shipNo" placeholder="请输入航次" maxlength="20" size="small" />
+            </el-form-item>
+            <ws-form-item label="装船净重(吨)" span="1" prop="loadNetWeight">
+               <ws-input :disabled="item.disabled" 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 :disabled="item.disabled" v-model="item.loadingDate" type="date" style="width: 150px" placeholder="请选择日期" value-format="yyyy-MM-dd"/>
             </el-form-item>
           </ws-info-table>
+          <img
+          v-if='!item.disabled'
+            width="22"
+            height="22"
+            class="del"
+            style='margin-left:10px;'
+            @click="del(index,3)"
+            src="../../../public/img/del.png"
+            alt
+          />
         </div>
       </div>
-      <div v-show='status3' class="small-title" style="font-size: 16px">
+      <div v-show='status3' class='flex' style="font-size: 16px;justify-content: space-between;align-items:center;margin-top:10px;">
         集装箱船反馈
+        <el-button type="primary" size="small" @click="add(4)">添加</el-button>
       </div>
       <div v-show='status3' class="liaison">
         <div
-          style="width: 100%"
-          class="flex position"
+          style="width: 100% justify-content: space-between;align-items:center;"
+          class="flex"
           v-for="(item, index) in this.freightspace3"
           :key="index"
         >
          <ws-info-table>
-            <el-form-item label="箱号" prop="caseNo" >{{ item.carNumber }}</el-form-item>
-            <el-form-item label="封号" prop="caseNo">{{ item.caseNo }}</el-form-item>
-            <ws-form-item label="装船净重(吨)" span="1" prop="loadNetWeight">{{ item.loadNetWeight }}</ws-form-item>
-            <el-form-item label="装船日期" span="1" prop="unloadingDate" label-width="100px">
-              <ws-date-picker v-model="item.unloadingDate" type="date" style="width: 150px" placeholder="请选择日期" value-format="yyyy-MM-dd"/>
+            <el-form-item label="箱号" prop="caseNo" >
+              {{ item.carNumber }}
+              <ws-input :disabled="item.disabled" v-model="item.caseNo" placeholder="请输入箱号" maxlength="20" size="small" />
+            </el-form-item>
+            <el-form-item label="封号" prop="titleNo">
+              <ws-input :disabled="item.disabled" v-model="item.titleNo" placeholder="请输入封号" maxlength="20" size="small" />
+            </el-form-item>
+            <ws-form-item label="装船净重(吨)" span="1" prop="loadNetWeight">
+               <ws-input :disabled="item.disabled" 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 :disabled="item.disabled" v-model="item.loadingDate" type="date" style="width: 150px" placeholder="请选择日期" value-format="yyyy-MM-dd"/>
             </el-form-item>
           </ws-info-table>
+          <img
+          v-if='!item.disabled'
+            width="22"
+            height="22"
+            class="del"
+            style='margin-left:10px;'
+            @click="del(index,4)"
+            src="../../../public/img/del.png"
+            alt
+          />
         </div>
       </div>
     </ws-form>
@@ -169,7 +255,7 @@
 </template>
 <script>
 import { regionData, CodeToText, TextToCode } from 'element-china-area-data'
-import { seeCat, packList, feedback, stateRec,gettranprocessinfo } from '@/model/transport/index'
+import { seeCat, packList, feedback, stateRec,state,gettranprocessinfo,posttranprocessinfo } from '@/model/transport/index'
 import { getstaff } from '@/model/warehouse/index'
 import WsUpload from '@/components/WsUpload'
 import mapDrag from '@/components/mapdrag/mapdrag'
@@ -190,6 +276,7 @@ export default {
   data() {
     return {
       pictureTotal: 0,
+      readonly:false,
       deptBudgetList: {
         totalStorage: 0,
       },
@@ -225,8 +312,8 @@ export default {
       freightspace: [
         {
           carNumber:'',
-          driver: '',
-          driverPhone: '',
+          caseNo:'',
+          titleNo:'',
           carNo: '',
           loadNetWeight: '',
           unloadPoundImg: '',
@@ -256,6 +343,10 @@ export default {
       status1:false,
       status2:false,
       status3:false,
+      disabled:false,
+      disabled1:false,
+      disabled2:false,
+      disabled3:false,
       name: '',
       staffList: [],
     }
@@ -265,26 +356,6 @@ export default {
     this.getList()
   },
   computed: {
-    totalStorage: function () {
-      var maxStorage = 0
-      for (var i = 0; i < this.freightspace.length; i++) {
-        maxStorage += Number(this.freightspace[i].maxStorage)
-      }
-      return maxStorage
-    },
-    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].unloadNetWeight
-          )
-        }
-        return maxStorage
-      } else {
-        return 0
-      }
-    },
   },
   methods: {
     checkchange(e){
@@ -309,131 +380,6 @@ export default {
         this.status3=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: '请上传附件!',
-        })
-      }
-    },
-    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 {
-            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.unloadNetWeight = v.卸船净重
-            obj.unloadingDate = 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();
-        }
-        reader.readAsArrayBuffer(f)
-      }
-      if (rABS) {
-        reader.readAsArrayBuffer(f)
-      } else {
-        reader.readAsBinaryString(f)
-      }
-      console.log(reader)
-    },
-    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) {
@@ -443,29 +389,55 @@ export default {
         }
       }
     },
-    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: '',
-      })
+    add(status) {
+      if(status==1){
+        this.freightspace.push({
+          caseNo: '',
+          caseNoOther: '',
+          carNo: '',
+          titleNo:'',
+          titleNoOther:'',
+          loadNetWeight: '',
+          loadingDate:''
+        })
+      }else if(status==2){
+        this.freightspace1.push({
+          boxNo1: '',
+          boxNo2: '',
+          carNo: '',
+          loadNetWeight: '',
+          loadingDate:''
+        })
+      }else if(status==3){
+        this.freightspace2.push({
+          shipName: '',
+          shipNo: '',
+          loadNetWeight: '',
+          loadingDate:''
+        })
+      }else if(status==4){
+        this.freightspace3.push({
+          caseNo: '',
+          titleNo: '',
+          loadNetWeight: '',
+          loadingDate:''
+        })
+      }
+    },
+    del(index,status) {
+      if(status==1){
+        this.freightspace.splice(index,1)
+      }else if(status==2){
+        this.freightspace1.splice(index,1)
+      }else if(status==3){
+        this.freightspace2.splice(index,1)
+      }else if(status==4){
+        this.freightspace3.splice(index,1)
+      }
     },
     //下拉司机姓名改变事件
     selectdriver() {},
@@ -477,7 +449,7 @@ export default {
       this.freightspace = {}
       this.selectedOptions = ''
       this.deptBudgetList.tranCarInfoList = []
-      this.$router.push({ path: 'tranManagementReceivingFeedback' })
+      this.$router.push({ path: 'tranManagementTransporHairRespond' })
     },
     // 上传附件
     uploadSuccess(data, files, url) {
@@ -486,11 +458,9 @@ export default {
     handleClose() {
       this.accessoryTFs = false
     },
-    //导入
-    import() {},
     //完货
     finished() {
-      this.$confirm(`完货操作后,装船信息不可修改,是否确定完货?`, {
+      this.$confirm(`完货操作后,反馈信息不可修改,是否确定完货?`, {
         confirmButtonText: '确定',
         cancelButtonText: '取消',
         type: 'warning',
@@ -500,8 +470,7 @@ export default {
             if (valid) {
               var tranProcessInfo = {}
               tranProcessInfo.id = this.deptBudgetList.id
-              tranProcessInfo.weight = this.total
-              stateRec(tranProcessInfo)
+              state(tranProcessInfo)
                 .toPromise()
                 .then((response) => {
                   this.$message.success('完货成功')
@@ -509,7 +478,7 @@ export default {
                   this.freightspace = {}
                   this.selectedOptions = ''
                   this.$router.push({
-                    path: 'tranManagementReceivingFeedback',
+                    path: 'tranManagementTransporHairRespond',
                   })
                 })
             } else {
@@ -522,47 +491,194 @@ export default {
         })
     },
     submit() {
-      for(let i = 0 ; i < this.freightspace.length ; i++){
-        if(this.freightspace[i].status== '已装车'){
-            if (!this.freightspace[i].unloadNetWeight) {
-                this.$message({
-                  message: '卸船净重不能为空!',
-                  type: 'warning',
-                })
-                return
-            }
-        if (
-          (this.freightspace[i].unloadNetWeight &&
-            String(this.freightspace[i].unloadNetWeight).indexOf('.') != -1 &&
-            String(this.freightspace[i].unloadNetWeight).length -
-              (String(this.freightspace[i].unloadNetWeight).indexOf('.') + 1) >
-              2) ||
-          this.freightspace[i].unloadNetWeight > 10000 ||
-          this.freightspace[i].unloadNetWeight < 0
-        ) {
-          this.$message({
-            message: '卸船净重输入错误',
-            type: 'warning',
-          })
-          return
+      var tranCarInfoList1=[],tranCarInfoList2=[],tranCarInfoList3=[],tranCarInfoList4=[]
+      if(this.checkList.indexOf('汽运')!=-1){
+        for(let i = 0 ; i < this.freightspace.length ; i++){
+          if (!this.freightspace[i].carNo) {
+            this.$message({
+              message: '车牌号不能为空!',
+              type: 'warning',
+            })
+            return
+          }
+          if (this.freightspace[i].carNo.length!=7) {
+            this.$message({
+              message: '车牌号输入错误!',
+              type: 'warning',
+            })
+            return
+          }
+          if (!this.freightspace[i].loadNetWeight) {
+            this.$message({
+              message: '装车净重不能为空!',
+              type: 'warning',
+            })
+            return
+          }
+          if (
+            this.freightspace[i].loadNetWeight > 200 ||
+            this.freightspace[i].loadNetWeight < 0
+          ) {
+            this.$message({
+              message: '装车净重输入错误',
+              type: 'warning',
+            })
+            return
+          }
         }
-        if (!this.freightspace[i].unloadingDate) {
-          this.$message({
-            message: '卸船日期不能为空!',
-            type: 'warning',
-          })
-          return
+        tranCarInfoList1=this.freightspace
+      }
+      if(this.checkList.indexOf('火运')!=-1){
+        for(let i = 0 ; i < this.freightspace1.length ; i++){
+          if (!this.freightspace1[i].carNo) {
+            this.$message({
+              message: '车号不能为空!',
+              type: 'warning',
+            })
+            return
+          }
+          if (!this.freightspace1[i].boxNo1) {
+            this.$message({
+              message: '车厢号1不能为空!',
+              type: 'warning',
+            })
+            return
+          }
+          if (this.freightspace1[i].boxNo1.length>20) {
+            this.$message({
+              message: '车厢号1输入错误!',
+              type: 'warning',
+            })
+            return
+          }
+          if (!this.freightspace1[i].loadNetWeight) {
+            this.$message({
+              message: '装车净重不能为空!',
+              type: 'warning',
+            })
+            return
+          }
+          if (
+            this.freightspace1[i].loadNetWeight > 200 ||
+            this.freightspace1[i].loadNetWeight < 0
+          ) {
+            this.$message({
+              message: '装车净重输入错误',
+              type: 'warning',
+            })
+            return
+          }
+          if(this.freightspace1[i].boxNo1&&this.freightspace1[i].boxNo2){
+            this.freightspace1[i].boxNo=this.freightspace1[i].boxNo1+','+this.freightspace1[i].boxNo2
+          }else{
+            this.freightspace1[i].boxNo=this.freightspace1[i].boxNo1
+          }
+        }
+        console.log(this.freightspace1)
+        tranCarInfoList2=this.freightspace1
+      }
+      if(this.checkList.indexOf('散船')!=-1){
+        for(let i = 0 ; i < this.freightspace2.length ; i++){
+          if (!this.freightspace2[i].shipName) {
+            this.$message({
+              message: '船名不能为空!',
+              type: 'warning',
+            })
+            return
+          }
+          if (this.freightspace2[i].shipName.length>20) {
+            this.$message({
+              message: '船名输入错误!',
+              type: 'warning',
+            })
+            return
+          }
+          if (!this.freightspace2[i].shipNo) {
+            this.$message({
+              message: '航次不能为空!',
+              type: 'warning',
+            })
+            return
+          }
+          if (this.freightspace2[i].shipNo.length>20) {
+            this.$message({
+              message: '航次输入错误!',
+              type: 'warning',
+            })
+            return
+          }
+          if (!this.freightspace2[i].loadNetWeight) {
+            this.$message({
+              message: '装船净重不能为空!',
+              type: 'warning',
+            })
+            return
+          }
+          if (
+            this.freightspace2[i].loadNetWeight > 50000 ||
+            this.freightspace2[i].loadNetWeight < 0
+          ) {
+            this.$message({
+              message: '装船净重输入错误',
+              type: 'warning',
+            })
+            return
+          }
         }
-        if (this.deptBudgetList.priceType!=null&&this.deptBudgetList.priceType=='随行就市'&&!this.freightspace[i].contractPrice) {
-          this.$message({
-              message: '单价不能为空!',
+        tranCarInfoList3=this.freightspace2
+      }
+      if(this.checkList.indexOf('集装箱船')!=-1){
+        for(let i = 0 ; i < this.freightspace3.length ; i++){
+          if (!this.freightspace3[i].caseNo) {
+            this.$message({
+              message: '箱号不能为空!',
+              type: 'warning',
+            })
+            return
+          }
+          if (this.freightspace3[i].caseNo.length>20) {
+            this.$message({
+              message: '箱号输入错误!',
+              type: 'warning',
+            })
+            return
+          }
+          if (!this.freightspace3[i].titleNo) {
+            this.$message({
+              message: '封号不能为空!',
+              type: 'warning',
+            })
+            return
+          }
+          if (this.freightspace3[i].titleNo.length>20) {
+            this.$message({
+              message: '封号输入错误!',
+              type: 'warning',
+            })
+            return
+          }
+          if (!this.freightspace3[i].loadNetWeight) {
+            this.$message({
+              message: '装船净重不能为空!',
+              type: 'warning',
+            })
+            return
+          }
+          if (
+            this.freightspace3[i].loadNetWeight > 100 ||
+            this.freightspace3[i].loadNetWeight < 0
+          ) {
+            this.$message({
+              message: '装船净重输入错误',
               type: 'warning',
             })
             return
           }
         }
+        tranCarInfoList4=this.freightspace3
       }
-      this.$confirm(`提交成功后装船信息不可修改,是否确定提交?`, {
+      
+      this.$confirm(`提交成功后反馈信息不可修改,是否确定提交?`, {
         confirmButtonText: '确定',
         cancelButtonText: '取消',
         type: 'warning',
@@ -570,31 +686,7 @@ export default {
         .then(() => {
           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[0].sendDateStart =
-              //   this.deptBudgetList.sendDateStart
-              // this.tranCarInfoList.receiveDateEnd =
-              //   this.deptBudgetList.receiveDateEnd
-              // this.tranCarInfoList.shipName = this.deptBudgetList.shipName
-              // this.tranCarInfoList.shipNo = this.shipNo
-              // this.tranCarInfoList.shipType = this.deptBudgetList.shipType
-              // this.tranCarInfoList.boxNumber = this.deptBudgetList.boxNumber
-              // this.tranCarInfoList.unloadingDate =
-              //   this.deptBudgetList.unloadingDate
-              // // this.tranCarInfoList.boxNo = this.arr.toString()
-              // for (var i = 0; i < this.tranCarInfoList.length; i++) {
-              //   this.tranCarInfoList[i].id = this.freightspace[i].id
-              // }
-              var tranProcessInfo = {}
-              tranProcessInfo.flag='1'
-              tranProcessInfo.id = this.deptBudgetList.id
-              tranProcessInfo.infoId = this.deptBudgetList.infoId
-              tranProcessInfo.processNo = this.deptBudgetList.processNo
-              tranProcessInfo.tranCarInfoList = this.freightspace
-              feedback(tranProcessInfo)
+              posttranprocessinfo({threeTranType:this.checkList.toString(),id:this.deptBudgetList.id,contractNo:this.deptBudgetList.contractNo,tranCarInfoList1,tranCarInfoList2,tranCarInfoList3,tranCarInfoList4})
                 .toPromise()
                 .then((response) => {
                   this.$message.success('提交成功')
@@ -602,7 +694,7 @@ export default {
                   this.freightspace = {}
                   this.selectedOptions = ''
                   this.$router.push({
-                    path: 'tranManagementReceivingFeedback',
+                    path: 'tranManagementTransporHairRespond',
                   })
                 })
             } else {
@@ -619,11 +711,107 @@ export default {
       this.$refs[deptBudgetList].resetFields()
     },
     getList() {
-      console.log(1111)
       gettranprocessinfo({ id: this.deptBudgetList.id })
         .toPromise()
         .then((response) => {
           this.deptBudgetList = response
+          if(response.threeTranType){
+            this.checkList=response.threeTranType.split(',')
+            if(this.checkList.indexOf('汽运')!=-1){
+              this.status=true
+              for (let i = 0; i < response.tranCarInfoList1.length; i++) {
+                if(response.tranCarInfoList1[i].carNo
+                &&response.tranCarInfoList1[i].caseNo
+                &&response.tranCarInfoList1[i].titleNo
+                &&response.tranCarInfoList1[i].loadNetWeight
+                &&response.tranCarInfoList1[i].loadingDate){
+                  response.tranCarInfoList1[i].disabled=true
+                }else{
+                  response.tranCarInfoList1[i].disabled=false
+                }
+                
+              }
+              if(response.tranCarInfoList1.length>0){
+                this.disabled=true
+              }else{
+                this.disabled=false
+              }
+              this.freightspace=response.tranCarInfoList1
+            }else{
+              this.status=false
+            }
+            if(this.checkList.indexOf('火运')!=-1){
+              this.status1=true
+              for (let i = 0; i < response.tranCarInfoList2.length; i++) {
+                if(response.tranCarInfoList2[i].carNo
+                &&response.tranCarInfoList2[i].boxNo
+                &&response.tranCarInfoList2[i].loadNetWeight
+                &&response.tranCarInfoList2[i].loadingDate){
+                  response.tranCarInfoList2[i].disabled=true
+                }else{
+                  response.tranCarInfoList2[i].disabled=false
+                }
+                if(response.tranCarInfoList2[i].boxNo&&response.tranCarInfoList2[i].boxNo.indexOf(',')!=-1){
+                  response.tranCarInfoList2[i].boxNo1=response.tranCarInfoList2[i].boxNo.split(',')[0]
+                  response.tranCarInfoList2[i].boxNo2=response.tranCarInfoList2[i].boxNo.split(',')[1]
+                }else{
+                  response.tranCarInfoList2[i].boxNo1=response.tranCarInfoList2[i].boxNo
+                }
+              }
+              if(response.tranCarInfoList2.length>0){
+                this.disabled1=true
+              }else{
+                this.disabled1=false
+              }
+              this.freightspace1=response.tranCarInfoList2
+            }else{
+              this.status1=false
+            }
+            if(this.checkList.indexOf('散船')!=-1){
+              this.status2=true
+              for (let i = 0; i < response.tranCarInfoList3.length; i++) {
+                if(response.tranCarInfoList3[i].shipName
+                &&response.tranCarInfoList3[i].shipNo
+                &&response.tranCarInfoList3[i].loadNetWeight
+                &&response.tranCarInfoList3[i].loadingDate){
+                  response.tranCarInfoList3[i].disabled=true
+                }else{
+                  response.tranCarInfoList3[i].disabled=false
+                }
+                
+              }
+              if(response.tranCarInfoList3.length>0){
+                this.disabled2=true
+              }else{
+                this.disabled2=false
+              }
+              this.freightspace2=response.tranCarInfoList3
+            }else{
+              this.status2=false
+            }
+            if(this.checkList.indexOf('集装箱船')!=-1){
+              this.status3=true
+              for (let i = 0; i < response.tranCarInfoList4.length; i++) {
+                if(response.tranCarInfoList4[i].caseNo
+                &&response.tranCarInfoList4[i].titleNo
+                &&response.tranCarInfoList4[i].loadNetWeight
+                &&response.tranCarInfoList4[i].loadingDate){
+                  response.tranCarInfoList4[i].disabled=true
+                }else{
+                  response.tranCarInfoList4[i].disabled=false
+                }
+                
+              }
+              if(response.tranCarInfoList4.length>0){
+                this.disabled3=true
+              }else{
+                this.disabled3=false
+              }
+              this.freightspace3=response.tranCarInfoList4
+            }else{
+              this.status3=false
+            }
+          }
          
         })
       //司机姓名下拉
@@ -716,19 +904,6 @@ export default {
   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;
@@ -1009,14 +1184,15 @@ export default {
   width: 50%;
   background: #f6f7fc;
 }
-/deep/.liaison .flex {
-  display: contents;
-}
+// /deep/.liaison .flex {
+//   display: contents;
+// }
 /deep/.liaison .ws-info-table {
   background: #f6f7fc;
   border-radius: 4px;
   border: 1px solid #d8dce6;
   margin-top: 20px;
+  width:98%;
 }
 .catNos {
   width: 100%;

File diff suppressed because it is too large
+ 248 - 642
src/views/tranManagement/tranManagementthirdpartnarFeedbackLook.vue


File diff suppressed because it is too large
+ 375 - 553
src/views/tranManagement/tranManagementthirdpartnarReceiving.vue


File diff suppressed because it is too large
+ 290 - 637
src/views/tranManagement/tranManagementthirdpartnarReceivingLook.vue


Some files were not shown because too many files changed in this diff