浏览代码

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

zhongtianhaoyuan 3 年之前
父节点
当前提交
50312d53ac

+ 96 - 23
src/views/tranManagement/component/routers/route.js

@@ -163,7 +163,8 @@ const tranManagementRouter = {
         keepAlive: true
       },
       hidden: true
-    }, //司机添加
+    }, 
+    //司机添加
     {
       path: 'driverManagement/add',
       component: () =>
@@ -223,7 +224,8 @@ const tranManagementRouter = {
         keepAlive: true
       }
     },
-    //反馈
+    
+    //汽运反馈
     {
       path: 'tranManagementTransporFeedback',
       component: () =>
@@ -238,6 +240,21 @@ const tranManagementRouter = {
       },
       hidden: true
     },
+
+     //汽运反馈查看
+     {
+      path: 'tranManagementTransporFeedbackLook',
+      component: () =>
+        import(/* webpackChunkName: "applDetail" */ '@/views/tranManagement/tranManagementTransporFeedbackLook'),
+      name: 'tranManagementTransporFeedbackLook',
+      meta: {
+        title: 'tranManagementTransporFeedbackLook',
+        shortcutEntrance: 'tranManagement',
+        module: 'transportationTask.transportation',
+      },
+      hidden: true
+    },
+
     //火运装车反馈
     {
       path: 'tranManagementFireFeedback',
@@ -253,33 +270,53 @@ const tranManagementRouter = {
       },
       hidden: true
     },
-    //反馈查看
+   
+    //火运装车反馈查看
     {
-      path: 'tranManagementTransporFeedbackLook',
+      path: 'tranManagementFireFeedbackLook',
       component: () =>
-        import(/* webpackChunkName: "applDetail" */ '@/views/tranManagement/tranManagementTransporFeedbackLook'),
-      name: 'tranManagementTransporFeedbackLook',
+        import(/* webpackChunkName: "applDetail" */ '@/views/tranManagement/tranManagementFireFeedbackLook'),
+      name: 'tranManagementFireFeedbackLook',
       meta: {
-        title: 'tranManagementTransporFeedbackLook',
+        title: 'tranManagementFireFeedbackLook',
         shortcutEntrance: 'tranManagement',
         module: 'transportationTask.transportation',
       },
       hidden: true
     },
-    //火运装车反馈查看
+
+    //船运装船反馈
     {
-      path: 'tranManagementFireFeedbackLook',
+      path: 'tranManagementShippingFeedback',
       component: () =>
-        import(/* webpackChunkName: "applDetail" */ '@/views/tranManagement/tranManagementFireFeedbackLook'),
-      name: 'tranManagementFireFeedbackLook',
+        import(/* webpackChunkName: "applDetail" */ '@/views/tranManagement/tranManagementShippingFeedback'),
+      name: 'tranManagementShippingFeedback',
       meta: {
-        title: 'tranManagementFireFeedbackLook',
+        title: 'tranManagementShippingFeedback',
+        shortcutEntrance: 'tranManagement',
+        module: 'transportationTask.transportation',
+        permissicon: [],
+        keepAlive: true
+      },
+      hidden: true
+    },
+
+    //船运装船反馈查看
+    {
+      path: 'tranManagementShippingFeedbackLook',
+      component: () =>
+        import(/* webpackChunkName: "applDetail" */ '@/views/tranManagement/tranManagementShippingFeedbackLook'),
+      name: 'tranManagementShippingFeedbackLook',
+      meta: {
+        title: 'tranManagementShippingFeedbackLook',
         shortcutEntrance: 'tranManagement',
         module: 'transportationTask.transportation',
       },
       hidden: true
     },
 
+   
+
     //收货反馈
     {
       path: 'tranManagementReceivingFeedback',
@@ -294,7 +331,38 @@ const tranManagementRouter = {
 
       },
     },
-    //反馈
+
+     //船运卸船反馈
+     {
+      path: 'tranManagementUnShippingFeedback',
+      component: () =>
+        import(/* webpackChunkName: "applDetail" */ '@/views/tranManagement/tranManagementUnShippingFeedback'),
+      name: 'tranManagementUnShippingFeedback',
+      meta: {
+        title: 'tranManagementUnShippingFeedback',
+        shortcutEntrance: 'tranManagement',
+        module: 'transportationTask.transportation',
+        permissicon: [],
+        keepAlive: true
+      },
+      hidden: true
+    },
+
+    //船运卸船反馈查看
+    {
+      path: 'tranManagementUnShippingFeedbackLook',
+      component: () =>
+        import(/* webpackChunkName: "applDetail" */ '@/views/tranManagement/tranManagementUnShippingFeedbackLook'),
+      name: 'tranManagementUnShippingFeedbackLook',
+      meta: {
+        title: 'tranManagementUnShippingFeedbackLook',
+        shortcutEntrance: 'tranManagement',
+        module: 'transportationTask.transportation',
+      },
+      hidden: true
+    },
+
+    //汽运收货反馈
     {
       path: 'tranManagementReceivingloading',
       component: () =>
@@ -309,14 +377,15 @@ const tranManagementRouter = {
       },
       hidden: true
     },
-    //火运卸车反馈
+
+    //汽运收货反馈查看
     {
-      path: 'tranManagementFireReceivingFeedback',
+      path: 'tranManagementReceivingloadingLook',
       component: () =>
-        import(/* webpackChunkName: "applDetail" */ '@/views/tranManagement/tranManagementFireReceivingFeedback'),
-      name: 'tranManagementFireReceivingFeedback',
+        import(/* webpackChunkName: "applDetail" */ '@/views/tranManagement/tranManagementReceivingloadingLook'),
+      name: 'tranManagementReceivingloadingLook',
       meta: {
-        title: 'tranManagementFireReceivingFeedback',
+        title: 'tranManagementReceivingloadingLook',
         shortcutEntrance: 'tranManagement',
         module: 'transportationTask.transportation',
         permissicon: [],
@@ -324,14 +393,15 @@ const tranManagementRouter = {
       },
       hidden: true
     },
-    //反馈查看
+
+    //火运卸车反馈
     {
-      path: 'tranManagementReceivingloadingLook',
+      path: 'tranManagementFireReceivingFeedback',
       component: () =>
-        import(/* webpackChunkName: "applDetail" */ '@/views/tranManagement/tranManagementReceivingloadingLook'),
-      name: 'tranManagementReceivingloadingLook',
+        import(/* webpackChunkName: "applDetail" */ '@/views/tranManagement/tranManagementFireReceivingFeedback'),
+      name: 'tranManagementFireReceivingFeedback',
       meta: {
-        title: 'tranManagementReceivingloadingLook',
+        title: 'tranManagementFireReceivingFeedback',
         shortcutEntrance: 'tranManagement',
         module: 'transportationTask.transportation',
         permissicon: [],
@@ -339,6 +409,7 @@ const tranManagementRouter = {
       },
       hidden: true
     },
+    
     //火运卸车反馈查看
     {
       path: 'tranManagementFireReceivingFeedbackLook',
@@ -354,6 +425,7 @@ const tranManagementRouter = {
       },
       hidden: true
     },
+
     //司机管理
     {
       path: 'driverManagement',
@@ -368,6 +440,7 @@ const tranManagementRouter = {
         keepAlive: true
       }
     },
+
   ],
 };
 export default tranManagementRouter;

+ 56 - 72
src/views/tranManagement/tranManagementShippingArrangemen.vue

@@ -144,45 +144,36 @@
               >
                 <ws-input v-model="item.boxNumber" placeholder="请输入数量" class="ys"></ws-input>
               </ws-form-item>
-              <!-- </ws-info-table> -->
-            </div>
-            <div
-              style=" width: 536px;"
-              class="xia"
-              v-for="(items, index) in freightspace"
-              v-show="item.shipType=='散船'"
-              :key="index"
-            >
-              <ws-info-table>
-                <ws-form-item :label="'仓位号-'+ (index +1 )" span="1" prop="impurity" class="bot">
-                  <el-input v-model="items.impurity"></el-input>
-                </ws-form-item>
-                <ws-form-item label="重量(吨)" span="1" prop="positionWeight" class="bot">
-                  <el-input v-model="items.positionWeight"></el-input>
-                </ws-form-item>
-                <span
-                  width="22"
-                  height="22"
-                  class="del"
-                  @click="del(index)"
-                  src="../../../public/img/del.png"
-                  alt
-                >×</span>
-              </ws-info-table>
+               <ws-form-item label="仓位号" span="1" prop="binNumber"  v-show="item.shipType=='散船'" class="biao6">
+                <ws-input
+                  v-model="item.binNumber"
+                  placeholder="请输入仓位号"
+                  maxlength="100"
+                  size="small"
+                  style="width: 110px;"
+                ></ws-input>
+              </ws-form-item>
+              <ws-form-item label="重量(吨)" span="1" prop="positionWeight"  v-show="item.shipType=='散船'" class="biao7">
+                <ws-input
+                  v-model="item.positionWeight"
+                  placeholder="请输入重量"
+                  maxlength="100"
+                  size="small"
+                  class="ys"
+                ></ws-input>
+              </ws-form-item>
             </div>
-            <div>
+          </div>
               <el-button
                 class="add bg-bottom"
                 type="primary"
                 size="small"
                 @click="add"
-                v-show="item.shipType=='散船'"
+                v-show="deptBudgetList.tranCarInfoList[0].shipType=='散船'"
               >
                 <img width="22" height="22" src="../../../public/img/add.png" alt />
                 <div class="spans">添加仓位</div>
               </el-button>
-            </div>
-          </div>
         </div>
       </ws-form>
       <div style="text-align: right; padding: 10px">
@@ -352,22 +343,22 @@ export default {
         .then(response => {
           this.deptBudgetList = response
           if (response.tranCarInfoList.length > 0) {
-            for (
-              var i = 0;
-              i < this.deptBudgetList.tranCarInfoList.length;
-              i++
-            ) {
-              var num = this.deptBudgetList.tranCarInfoList[
-                i
-              ].positionWeight.split(',')
-              for (var j = 0; j < num.length; j++) {
-                var num2 = num[j].split('/')
-                this.freightspace.push({
-                  impurity: num2[i],
-                  positionWeight: num2[num2.length - 1]
-                })
-              }
-            }
+            // for (
+            //   var i = 0;
+            //   i < this.deptBudgetList.tranCarInfoList.length;
+            //   i++
+            // ) {
+            //   var num = this.deptBudgetList.tranCarInfoList[
+            //     i
+            //   ].positionWeight.split(',')
+            //   for (var j = 0; j < num.length; j++) {
+            //     var num2 = num[j].split('/')
+            //     this.freightspace.push({
+            //       impurity: num2[i],
+            //       positionWeight: num2[num2.length - 1]
+            //     })
+            //   }
+            // }
           } else {
             this.deptBudgetList.tranCarInfoList = [
               {
@@ -380,7 +371,7 @@ export default {
                 shipType: '',
                 boxNumber: '',
                 positionWeight: '',
-                impurity: '',
+                binNumber: '',
                 tranType: '3'
               }
             ]
@@ -398,8 +389,17 @@ export default {
       }
     },
     add() {
-      this.freightspace.push({
-        impurity: ''
+      this.deptBudgetList.tranCarInfoList.push({
+        driver: this.deptBudgetList.tranCarInfoList[0].driver,
+        driverPhone: this.deptBudgetList.tranCarInfoList[0].driverPhone,
+        sendDateStart: this.deptBudgetList.tranCarInfoList[0].sendDateStart,
+        receiveDateEnd: this.deptBudgetList.tranCarInfoList[0].receiveDateEnd,
+        shipNo: this.deptBudgetList.tranCarInfoList[0].shipNo,
+        shipName: this.deptBudgetList.tranCarInfoList[0].shipName,
+        shipType: this.deptBudgetList.tranCarInfoList[0].shipType,
+        binNumber:'',
+        positionWeight: '',
+        tranType: '3'
       })
     },
     selectdriver() {},
@@ -474,15 +474,15 @@ export default {
           return
         }
         // console.log(this.freightspace,"仓位号")
-        for (var i = 0; i < this.freightspace.length; i++) {
-          if (!this.freightspace[i].impurity) {
+        if (this.deptBudgetList.tranCarInfoList[i].shipType == '散船') {
+          if (!this.deptBudgetList.tranCarInfoList[i].binNumber) {
             this.$message({
               message: '仓位号不能为空',
               type: 'warning'
             })
             return
           }
-          if (!this.freightspace[i].positionWeight) {
+          if (!this.deptBudgetList.tranCarInfoList[i].positionWeight) {
             this.$message({
               message: '重量不能为空',
               type: 'warning'
@@ -514,31 +514,11 @@ export default {
         .then(() => {
           this.$refs.deptBudgetList.validate(valid => {
             if (valid) {
-              for (var i = 0; i < this.freightspace.length; i++) {
-                var num =
-                  this.freightspace[i].impurity +
-                  '/' +
-                  this.freightspace[i].positionWeight
-                this.arr.push(num)
-              }
-
               this.deptBudgetList.totalStorage = this.totalStorage
-              this.tranCarInfoList.driver = this.deptBudgetList.tranCarInfoList[0].driver
-              this.tranCarInfoList.driverPhone = this.deptBudgetList.tranCarInfoList[0].driverPhone
-              this.tranCarInfoList.sendDateStart = this.deptBudgetList.tranCarInfoList[0].sendDateStart
-              this.tranCarInfoList.receiveDateEnd = this.deptBudgetList.tranCarInfoList[0].receiveDateEnd
-              this.tranCarInfoList.shipName = this.deptBudgetList.tranCarInfoList[0].shipName
-              this.tranCarInfoList.shipNo = this.deptBudgetList.tranCarInfoList[0].shipNo
-              this.tranCarInfoList.id = this.deptBudgetList.tranCarInfoList[0].id
-              this.tranCarInfoList.tranType = this.deptBudgetList.tranCarInfoList[0].tranType
-              this.tranCarInfoList.boxNumber = this.deptBudgetList.tranCarInfoList[0].boxNumber
-              this.tranCarInfoList.shipType = this.deptBudgetList.tranCarInfoList[0].shipType
-              this.tranCarInfoList.positionWeight = this.arr.toString()
               var tranCarInfo = {}
-              var tranList = [this.tranCarInfoList]
               tranCarInfo.id = this.deptBudgetList.id
               tranCarInfo.infoId = this.deptBudgetList.infoId
-              tranCarInfo.tranCarInfoList = tranList
+               tranCarInfo.tranCarInfoList = this.deptBudgetList.tranCarInfoList
               dispatchCat(tranCarInfo)
                 .toPromise()
                 .then(response => {
@@ -811,6 +791,10 @@ export default {
   margin-left: 450px;
   margin-top: -57px;
 }
+.biao7 {
+  margin-left: 700px;
+  margin-top: -57px;
+}
 /deep/.totalStorage .el-input__inner {
   color: #afb5cb;
   background: #f5f7fa;

+ 1102 - 0
src/views/tranManagement/tranManagementShippingFeedback.vue

@@ -0,0 +1,1102 @@
+//装船反馈
+<template>
+  <div class="container">
+    <el-row>
+      <el-col :span="12">
+        <h2 class="bg-left title">船运装船反馈</h2>
+      </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=""
+          />返回</el-button
+        >
+      </el-col>
+    </el-row>
+    <ws-form
+      class="position"
+      ref="deptBudgetList"
+      :rules="rules"
+      :model="deptBudgetList"
+    >
+      <div class="small-title" style="font-size: 16px">任务详情</div>
+      <ws-info-table>
+        <!--任务编号-->
+        <ws-form-item label="任务编号" span="1" prop="processNo">
+          {{ deptBudgetList.processNo }}
+        </ws-form-item>
+        <!--货名-->
+        <ws-form-item label="货名" span="1" prop="goodsName">
+          {{ deptBudgetList.goodsName }}
+        </ws-form-item>
+        <!--重量(吨)-->
+        <ws-form-item label="重量(吨)" span="1" prop="weight">
+          {{ deptBudgetList.weight }}
+        </ws-form-item>
+        <!--发货地址-->
+        <ws-form-item label="发货地址" span="1" prop="sendDetailedAddress">
+          {{ deptBudgetList.sendPrivate }}{{ deptBudgetList.sendCity
+          }}{{ 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="senderPhone"
+          class="readonly"
+        >
+          {{ deptBudgetList.senderPhone }}
+        </ws-form-item>
+        <!--收货地址-->
+        <ws-form-item label="收货地址" span="1" prop="receiveDetailedAddress">
+          {{ deptBudgetList.receivePrivate }}{{ deptBudgetList.receiveCity
+          }}{{ deptBudgetList.receiveArea }}
+        </ws-form-item>
+        <!--收货人-->
+        <ws-form-item label="收货人" span="1" prop="receiver">
+          {{ deptBudgetList.receiver }}
+        </ws-form-item>
+        <!--收货人电话-->
+        <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="deliveryDateEnd">
+          {{ deptBudgetList.deliveryDateEnd }}
+        </ws-form-item>
+        <!--合同编号-->
+        <ws-form-item label="合同编号" span="1" prop="contractNo">
+          {{ deptBudgetList.contractNo }}
+        </ws-form-item>
+        <!-- 运输方式 -->
+        <ws-form-item label="运输方式" span="1" prop="tranType">
+          {{ deptBudgetList.tranType }}
+        </ws-form-item>
+      </ws-info-table>
+      <div class="small-title" style="font-size: 16px">联络员及航次</div>
+      <div
+          style="width: 100%"
+          class="flex position"
+          v-for="(item, index) in this.freightspace"
+          :key="index"
+        >
+      <ws-info-table>
+        <!-- 姓名 -->
+        <ws-form-item label="姓名" span="1" prop="driver">
+          {{ item.driver }}
+        </ws-form-item>
+        <!-- 电话 -->
+        <ws-form-item label="电话" span="1" prop="driverPhone">
+          {{ item.driverPhone }}
+        </ws-form-item>
+        <!--发船日期-->
+        <ws-form-item label="发船日期" span="1" prop="sendDateStart">
+          <ws-date-picker
+            v-model="item.sendDateStart"
+            type="date"
+            placeholder="请选择发船日期"
+            value-format="yyyy-MM-dd"
+          />
+        </ws-form-item>
+        <!-- 预计到港日期 -->
+        <ws-form-item label="预计到港日期" span="1" prop="receiveDateEnd">
+          {{ item.receiveDateEnd }}
+        </ws-form-item>
+        <!-- 船名 -->
+        <ws-form-item label="船名" span="1" prop="shipName">
+          {{ item.shipName }}
+        </ws-form-item>
+        <!-- 航次 -->
+        <ws-form-item label="航次" span="1" prop="shipNo">
+          {{ item.shipNo }}
+        </ws-form-item>
+        <!-- 类型 -->
+        <ws-form-item label="类型" span="1" prop="shipType">
+          {{ item.shipType }}
+        </ws-form-item>
+        <!-- 数量 -->
+        <ws-form-item label="数量" span="1" prop="boxNumber" v-if="item.shipType == '集装箱'">
+          {{ item.boxNumber  }}
+        </ws-form-item>
+      </ws-info-table>
+      </div>
+      <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-button
+        class="bg-bottom"
+        type="primary"
+        size="small"
+        @click="import(deptBudgetList)"
+        >导入</el-button
+      >
+    </div>
+      <div class="liaison">
+        <div
+          style="width: 100%"
+          class="flex position"
+          v-for="(item, index) in this.freightspace"
+          :key="index"
+        >
+          <ws-info-table>
+            <div class="catNos" v-if="item.shipType == '集装箱'">
+              集装箱-{{ index + 1 }}
+              <span class="noservice" v-show="item.status == '未装船'">{{
+                  item.status
+                }}</span>
+                <span class="service" v-show="item.status == '已装船'">{{
+                  item.status
+                }}</span>
+                 <span class="serviced" v-show="item.status == '已送达'">{{
+                  item.status
+                }}</span>
+            </div>
+            <div class="catNos" v-if="item.shipType == '散船'">
+              仓位号-{{ index + 1 }}
+              <span class="noservice" v-show="item.status == '未装船'">{{
+                  item.status
+                }}</span>
+                <span class="service" v-show="item.status == '已装船'">{{
+                  item.status
+                }}</span>
+                 <span class="serviced" v-show="item.status == '已送达'">{{
+                  item.status
+                }}</span>
+            </div>
+            <!--箱号-->
+            <el-form-item label="箱号"  prop="caseNo" v-if="item.shipType == '集装箱'">
+              <el-input v-model="item.caseNo" placeholder="请输入箱号"></el-input>
+            </el-form-item>
+            <!--封号-->
+            <el-form-item label="封号" prop="titleNo" v-if="item.shipType == '集装箱'">
+              <el-input 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 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-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"
+            />
+            </el-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
+              width="22"
+              height="22"
+              class="del"
+              @click="del(index)"
+              src="../../../public/img/del.png"
+              alt=""
+              >×</span
+            >
+          </ws-info-table>
+        </div>
+      </div>
+      <div style="text-align: right; color: #8890b1; font-size: 16px">
+        合计(吨):{{ total }}/{{ deptBudgetList.weight }}
+        <!--阶段状态-->
+         <span class="noservice" v-show="deptBudgetList.feedbackStatus=='执行中'">
+          未完货
+        </span>
+        <span class="service" v-show="deptBudgetList.feedbackStatus=='已完货'">{{
+          deptBudgetList.feedbackStatus
+        }}</span>
+      </div>
+      <!--运单-->
+            <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="
+                      vertical-align: text-top;
+                      position: relative;
+                    "
+                    src="../../../public/img/fujian.png"
+                    alt=""
+                  />
+                </el-upload>
+                 <!-- <span v-if="deptBudgetList.tranCarInfoList[index].loadPoundImg != null " >1</span>
+                 <span
+                  v-if="
+                    deptBudgetList.tranCarInfoList[index].loadPoundImg == null
+                  "
+                  >未上传</span> -->
+              </template>
+            </ws-form-item>
+    </ws-form>
+    <!-- 提交 -->
+    <div style="text-align: right; padding: 10px" class="center">
+      <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>
+  </div>
+</template>
+<script>
+import { regionData, CodeToText, TextToCode } from 'element-china-area-data'
+import { seeCat, packList, feedback, state } 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()
+    },
+    isShow(val) {
+      this.showType = val
+    },
+  },
+  data() {
+    return {
+      deptBudgetList: {
+        totalStorage: 0,
+      },
+      tranCarInfoList: {
+        driver:'',
+      },
+      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: [],
+
+      freightspace1: [
+        {
+          accountTypeFlag: '1',
+          payeeName: '',
+          payeeNumberCard: '',
+          compName: '',
+          bankDeposit: '',
+          addressUrlArray: [],
+          bankCard: '',
+        },
+      ],
+      freightspace: [
+        {
+          driver: '',
+          driverPhone: '',
+          carNo: '',
+          loadNetWeight: '',
+          loadPoundImg: '',
+        },
+        // {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)
+      }
+      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].loadNetWeight
+          )
+        }
+        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
+          }
+        })
+      } 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
+    },
+    add() {
+      this.freightspace.push({
+        driver: '',
+        driverPhone: '',
+        carNo: '',
+        loadNetWeight: '',
+      })
+    },
+    del(index) {
+      if (this.freightspace.length > 1) {
+        this.freightspace.splice(index, 1)
+      }
+    },
+    //下拉司机姓名改变事件
+    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
+    },
+    //导入
+    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',
+                  })
+                })
+            } else {
+              return false
+            }
+          })
+        })
+        .catch(() => {
+          return false
+        })
+
+    },
+    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
+          }
+        }
+      }
+      this.$confirm(`提交成功后装船信息不可修改,是否确定提交?`, {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning',
+      })
+        .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.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
+            }
+          })
+        })
+        .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
+            }
+          }
+        })
+      //司机姓名下拉
+      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
+        }
+      }
+    },
+    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
+        }
+      }
+    },
+    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
+    },
+  },
+}
+</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;
+    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/.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;
+      }
+    }
+  }
+}
+.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;
+}
+.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;
+  }
+  .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;
+  }
+}
+// /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: 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;
+}
+.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;
+}
+.service {
+  background: #e5f1f7;
+  color: #50cad4;
+}
+</style>

+ 874 - 0
src/views/tranManagement/tranManagementShippingFeedbackLook.vue

@@ -0,0 +1,874 @@
+//装船反馈查看
+<template>
+  <div class="container">
+    <el-row>
+      <el-col :span="12">
+        <h2 class="bg-left title">查看船运装船信息</h2>
+      </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=""
+          />返回</el-button
+        >
+      </el-col>
+    </el-row>
+    <ws-form
+      class="position"
+      ref="deptBudgetList"
+      :rules="rules"
+      :model="deptBudgetList"
+    >
+      <div class="small-title" style="font-size: 16px">任务详情</div>
+      <ws-info-table>
+        <!--任务编号-->
+        <ws-form-item label="任务编号" span="1" prop="processNo">
+          {{ deptBudgetList.processNo }}
+        </ws-form-item>
+        <!--货名-->
+        <ws-form-item label="货名" span="1" prop="goodsName">
+          {{ deptBudgetList.goodsName }}
+        </ws-form-item>
+        <!--重量(吨)-->
+        <ws-form-item label="重量(吨)" span="1" prop="weight">
+          {{ deptBudgetList.weight }}
+        </ws-form-item>
+        <!--发货地址-->
+        <ws-form-item label="发货地址" span="1" prop="sendDetailedAddress">
+          {{ deptBudgetList.sendPrivate }}{{ deptBudgetList.sendCity
+          }}{{ 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="senderPhone"
+          class="readonly"
+        >
+          {{ deptBudgetList.senderPhone }}
+        </ws-form-item>
+        <!--收货地址-->
+        <ws-form-item label="收货地址" span="1" prop="receiveDetailedAddress">
+          {{ deptBudgetList.receivePrivate }}{{ deptBudgetList.receiveCity
+          }}{{ deptBudgetList.receiveArea }}
+        </ws-form-item>
+        <!--收货人-->
+        <ws-form-item label="收货人" span="1" prop="receiver">
+          {{ deptBudgetList.receiver }}
+        </ws-form-item>
+        <!--收货人电话-->
+        <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="deliveryDateEnd">
+          {{ deptBudgetList.deliveryDateEnd }}
+        </ws-form-item>
+        <!--合同编号-->
+        <ws-form-item label="合同编号" span="1" prop="contractNo">
+          {{ deptBudgetList.contractNo }}
+        </ws-form-item>
+        <!-- 运输方式 -->
+        <ws-form-item label="运输方式" span="1" prop="tranType">
+          {{ deptBudgetList.tranType }}
+        </ws-form-item>
+      </ws-info-table>
+      <div class="small-title" style="font-size: 16px">联络员及航次</div>
+      <div
+          style="width: 100%"
+          class="flex position"
+          v-for="(item, index) in this.freightspace"
+          :key="index"
+        >
+      <ws-info-table>
+        <!-- 姓名 -->
+        <ws-form-item label="姓名" span="1" prop="driver">
+          {{ item.driver }}
+        </ws-form-item>
+        <!-- 电话 -->
+        <ws-form-item label="电话" span="1" prop="driverPhone">
+          {{ item.driverPhone }}
+        </ws-form-item>
+        <!--发船日期-->
+          <ws-form-item label="发船日期" span="1" prop="sendDateStart">
+            {{ item.sendDateStart }}
+          </ws-form-item>
+        <!-- 预计到港日期 -->
+        <ws-form-item label="预计到港日期" span="1" prop="receiveDateEnd">
+          {{ item.receiveDateEnd }}
+        </ws-form-item>
+        <!-- 船名 -->
+        <ws-form-item label="船名" span="1" prop="shipName">
+          {{ item.shipName }}
+        </ws-form-item>
+        <!-- 航次 -->
+        <ws-form-item label="航次" span="1" prop="shipNo">
+          {{ item.shipNo }}
+        </ws-form-item>
+        <!-- 类型 -->
+        <ws-form-item label="类型" span="1" prop="shipType">
+          {{ item.shipType }}
+        </ws-form-item>
+        <!-- 数量 -->
+        <ws-form-item label="数量" span="1" prop="tranType" v-if="item.shipType == '集装箱'">
+          {{ item.tranType }}
+        </ws-form-item>
+      </ws-info-table>     
+      </div>  
+      <div class="small-title" style="font-size: 16px">装船详情</div>
+      <div class="liaison">
+        <div
+          style="width: 100%"
+          class="flex position"
+          v-for="(item, index) in this.freightspace"
+          :key="index"
+        >
+          <ws-info-table>
+           <div class="catNos" v-if="item.shipType == '集装箱'">
+              集装箱-{{ index + 1 }}
+              <span class="noservice" v-show="item.status == '未装船'">{{
+                  item.status
+                }}</span>
+                <span class="service" v-show="item.status == '已装船'">{{
+                  item.status
+                }}</span>
+                 <span class="serviced" v-show="item.status == '已送达'">{{
+                  item.status
+                }}</span>
+            </div>
+            <div class="catNos" v-if="item.shipType == '散船'">
+              仓位号-{{ index + 1 }}
+              <span class="noservice" v-show="item.status == '未装船'">{{
+                  item.status
+                }}</span>
+                <span class="service" v-show="item.status == '已装船'">{{
+                  item.status
+                }}</span>
+                 <span class="serviced" v-show="item.status == '已送达'">{{
+                  item.status
+                }}</span>
+            </div>
+            <!--箱号-->
+            <ws-form-item label="箱号:" span="1" prop="caseNo" v-if="item.shipType == '集装箱'">
+             <span>{{ item.caseNo }}</span>
+            </ws-form-item>
+            <!--封号-->
+            <ws-form-item label="封号:" span="1" prop="titleNo" v-if="item.shipType == '集装箱'">
+             <span>{{ item.titleNo }}</span>
+            </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="loadNetWeight">
+              {{ item.loadNetWeight }}
+            </ws-form-item>
+            <!--装船日期-->
+          <ws-form-item label="装船日期" span="1" prop="loadingDate">
+            {{ item.loadingDate }}
+          </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
+            >
+          </ws-info-table>
+        </div>
+      </div>
+      <div style="text-align: right; color: #8890b1; font-size: 16px">
+        合计(吨):{{ total }}/{{ deptBudgetList.weight }}
+        <!--阶段状态-->
+         <span class="noservice" v-show="deptBudgetList.feedbackStatus=='执行中'">
+          未完货
+        </span>
+        <span class="service" v-show="deptBudgetList.feedbackStatus=='已完货'">{{
+          deptBudgetList.feedbackStatus
+        }}</span>
+      </div>
+      <!--运单-->
+            <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="
+                      vertical-align: text-top;
+                      position: relative;
+                    "
+                    src="../../../public/img/fujian.png"
+                    alt=""
+                  />
+                </el-upload>
+                 <!-- <span v-if="deptBudgetList.tranCarInfoList[index].loadPoundImg != null " >1</span>
+                 <span
+                  v-if="
+                    deptBudgetList.tranCarInfoList[index].loadPoundImg == null
+                  "
+                  >未上传</span> -->
+              </template>
+            </ws-form-item>  
+    </ws-form>
+    <div style="text-align: right; padding: 10px" class="center">
+      <el-button
+        class="bg-bottom"
+        type="primary"
+        size="small"
+        @click="returnsales()"
+        >关闭</el-button
+      >
+    </div>
+    <!-- 附件弹框 -->
+    <WinseaContentModal
+      v-model="accessoryTFs"
+      :title="$t('system.noticeCircular.information')"
+      @on-cancel="handleClose"
+    >
+      <p>查看附件</p>
+      <div
+        style="display: inline-block; margin: 5px"
+        v-for="item in appendixIdss"
+      >
+        <img width="100" height="100" :src="item" alt="" />
+      </div>
+    </WinseaContentModal>
+    <WinseaContentModal
+      v-model="accesscard"
+      :title="$t('system.noticeCircular.information')"
+      @on-cancel="handleClose1"
+    >
+      <p>查看附件</p>
+      <img width="100" height="100" :src="accessurl" alt="" />
+    </WinseaContentModal>
+  </div>
+</template>
+<script>
+import { regionData, CodeToText, TextToCode } from 'element-china-area-data'
+import { seeCat, packList, feedback } 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
+    },
+  },
+  data() {
+    return {
+      deptBudgetList: {
+        totalStorage: 0,
+      },
+      options_: regionData,
+      heightData: '600px',
+      zoom: 7,
+      selectedOptions: [],
+      center: [116.244694, 39.517344],
+      window: '',
+      radio: 1,
+      personCharge: [],
+      district: null,
+      driverList: [],
+      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: [],
+      freightspace: [
+        {
+          driver: '',
+          driverPhone: '',
+          carNo: '',
+          loadNetWeight: '',
+        },
+      ],
+      name: '',
+      staffList: [],
+      options: [],
+      // carModel: [],
+      tranCarInfoList: {},
+      //上传
+      accessoryTFs: false,
+      accesscard: false,
+      accessurl: '',
+      fileList: [],
+      // appendixIdsAdd: '',
+      //附件
+      appendixIdss: [],
+    }
+  },
+  mounted() {
+    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)
+      }
+      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].loadNetWeight
+          )
+        }
+        return maxStorage
+      } else {
+        return 0
+      }
+    },
+    label1: function () {
+      //  for (var i = 0; i < this.deptBudgetList.tranCarInfoList.length; i++) {
+      //   if (this.deptBudgetList.tranCarInfoList[i].temporaryDriverFlag == 0) {
+      //     return '司机名称'
+      //   }
+      //   else if (this.deptBudgetList.tranCarInfoList[i].temporaryDriverFlag == 1) {
+      //     // alert(this.deptBudgetList.tranCarInfoList[i].temporaryDriverFlag)
+      //     return '司机名称(临)'
+      //   }
+      //  }
+      return '(临)'
+
+      // item.temporaryDriverFlag == 0
+    },
+  },
+  methods: {
+    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
+    },
+    handleClose1() {
+      this.accesscard = false
+    },
+    handleChange(value) {
+      this.selectedOptions = value
+    },
+    returnsales() {
+      this.deptBudgetList = {}
+      this.freightspace = {}
+      this.selectedOptions = ''
+      this.$router.push({ path: 'tranManagementTransporHairRespond' })
+    },
+    // confirmPosition() {
+    //   this.draggable = false
+    // },
+    // 上传附件
+    uploadSuccess(data, files, url) {
+      console.log(data, files, url)
+    },
+    handleClose() {
+      this.accessoryTFs = 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
+            }
+            if (this.deptBudgetList.tranCarInfoList[i].loadPoundImg != null) {
+              this.deptBudgetList.tranCarInfoList[i].loadPoundImgArr =
+                this.deptBudgetList.tranCarInfoList[i].loadPoundImg.split(',')
+              this.fileList[i] =
+                this.deptBudgetList.tranCarInfoList[i].loadPoundImg.split(',')
+            } else {
+              this.deptBudgetList.tranCarInfoList[i].loadPoundImgArr = []
+            }
+          }
+        })
+    },
+    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
+        }
+      }
+    },
+    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
+        }
+      }
+    },
+    //上传
+    fujian(index) {
+      if (
+        this.deptBudgetList.tranCarInfoList[index].loadPoundImg === null ||
+        this.deptBudgetList.tranCarInfoList[index].loadPoundImg === ''
+      ) {
+        this.$message({
+          message: '暂无附件!',
+          type: 'warning',
+        })
+        return
+      } else {
+        this.accessoryTFs = true
+      }
+      this.appendixIdss =
+        this.deptBudgetList.tranCarInfoList[index].loadPoundImgArr
+    },
+  },
+}
+</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;
+}
+.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;
+}
+.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-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;
+      }
+    }
+  }
+}
+.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 {
+  margin-right: 50px;
+}
+.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;
+  }
+  .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;
+  }
+}
+/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: 14px;
+  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;
+  border-right: 1px solid #d8dce6;
+  border-radius: 0px;
+  padding: 0px;
+}
+//联络员及车次
+/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;
+}
+.catNos {
+  width: 100%;
+  height: 30px;
+  margin-top: 10px;
+  margin-left: 20px;
+  font-size: 14px;
+}
+.catNosCor {
+  color: #5473e8;
+}
+.signStatus {
+  height: 25px;
+  border-radius: 3px;
+  border: 1px solid #5473e8;
+  padding: 0 3px;
+  margin-left: 30px;
+  color: #ffffff;
+  background: #c4cada;
+  line-height: 24px;
+}
+.signStatus1 {
+  height: 25px;
+  background: #e6ebff;
+  border-radius: 3px;
+  border: 1px solid #5473e8;
+  padding: 0 3px;
+  margin-left: 30px;
+  color: #5473e8;
+  line-height: 24px;
+}
+.noservice {
+  background: #c4cada;
+  color: #ffffff;
+}
+.service {
+  background: #e5f1f7;
+  color: #50cad4;
+}
+</style>

+ 6 - 2
src/views/tranManagement/tranManagementTransporFeedback.vue

@@ -214,7 +214,7 @@
               :disabled="readonly"
               v-model="item.sendDateStart"
               type="date"
-              style="width: 150px;"
+              class="picker"
               placeholder="请选择日期"
               value-format="yyyy-MM-dd"
             />
@@ -222,7 +222,7 @@
               v-else
               v-model="item.sendDateStart"
               type="date"
-              style="width: 150px;"
+              class="picker"
               placeholder="请选择日期"
               value-format="yyyy-MM-dd"
             />
@@ -913,6 +913,10 @@ export default {
       display: none;
     }
   }
+  /deep/ .picker{
+     padding-right: 3px !important;
+  }
+
   // .is-disabled {
   //   .el-input__inner:hover {
   //     background-color: #fff !important;

+ 3 - 27
src/views/tranManagement/tranManagementTransporTrainDetails.vue

@@ -119,23 +119,10 @@
           <ws-form-item label="车型:" span="1" prop="carModel">
             {{ item.carModel }}
           </ws-form-item>
-        </ws-info-table>
-        <ws-info-table>
-          <div
-            style="width: 100%"
-            class="flex position"
-            v-for="(items, index) in freightspace"
-            :key="index"
-          >
-            <!--车厢号-->
-            <ws-form-item
-              :label="'车厢号-' + (index + 1) + ':'"
-              span="1"
-              prop="trainNo"
-            >
-              {{ items.trainNo }}
+          <!--车厢号-->
+            <ws-form-item label="车厢号:" span="1" prop="boxNo">
+              {{ item.boxNo }}
             </ws-form-item>
-          </div>
         </ws-info-table>
       </div>
     </ws-form>
@@ -259,17 +246,6 @@ export default {
         .then((response) => {
           this.deptBudgetList = response
           this.deptBudgetList.tranCarInfoList = response.tranCarInfoList
-          if (this.deptBudgetList.tranCarInfoList.length > 0) {
-            if (response.tranCarInfoList[0].boxNo) {
-              this.list = response.tranCarInfoList[0].boxNo.split(',')
-              for (var i = 0; i < this.list.length; i++) {
-                var num = this.list[i]
-                this.freightspace.push({
-                  trainNo: num,
-                })
-              }
-            }
-          }
         })
     },
     selectChapterTwo(e) {

+ 17 - 70
src/views/tranManagement/tranManagementTransporTrainNo.vue

@@ -153,37 +153,18 @@
               />
             </el-select>
           </ws-form-item>
-        </ws-info-table>
-        <ws-info-table>
-          <div
-            style="width: 100%"
-            class="flex position carnum"
-            v-for="(item1, index) in freightspace"
-            :key="index"
-          >
-            <!--车厢号-->
-            <ws-form-item
-              :label="'车厢号-' + (index + 1)"
+          <ws-form-item
+              :label="'车厢号' "
               span="1"
               prop="boxNo"
             >
               <ws-input
-                v-model="item1.trainNo"
+                v-model="item.boxNo"
                 placeholder="请输入车厢号"
                 maxlength="20"
                 size="small"
               />
-              <span
-                width="22"
-                height="22"
-                class="del"
-                @click="del(index)"
-                src="../../../public/img/del.png"
-                alt=""
-                >×</span
-              >
             </ws-form-item>
-          </div>
         </ws-info-table>
       </div>
       <el-button class="add bg-bottom" type="primary" size="small" @click="add">
@@ -197,7 +178,7 @@
         class="bg-bottom"
         type="primary"
         size="small"
-        @click="submit(deptBudgetList)"
+        @click="submit()"
         >提交</el-button
       >
     </div>
@@ -253,7 +234,6 @@ export default {
       },
       size: 10,
       unitList: [],
-      freightspace: [],
       name: '',
       list: [],
       staffList: [],
@@ -315,8 +295,14 @@ export default {
     //   this.dialogViewSpareMoney = false
     // },
     add() {
-      this.freightspace.push({
-        trainNo: '',
+      this.deptBudgetList.tranCarInfoList.push({
+        driver:this.deptBudgetList.tranCarInfoList[0].driver,
+        driverPhone:this.deptBudgetList.tranCarInfoList[0].driverPhone,
+        sendDateStart:this.deptBudgetList.tranCarInfoList[0].sendDateStart,
+        receiveDateEnd:this.deptBudgetList.tranCarInfoList[0].receiveDateEnd,
+        carModel:this.deptBudgetList.tranCarInfoList[0].carModel,
+        boxNo: '',
+        tranType: "2"
       })
     },
     del(index) {
@@ -338,7 +324,7 @@ export default {
     uploadSuccess(data, files, url) {
       console.log(data, files, url)
     },
-    submit(deptBudgetList) {
+    submit() {
       for (var i = 0; i < this.deptBudgetList.tranCarInfoList.length; i++) {
         if (!this.deptBudgetList.tranCarInfoList[i].driver) {
           this.$message({
@@ -388,10 +374,8 @@ export default {
             type: 'warning',
           })
           return
-        }
-      }
-      for (var j = 0; j < this.freightspace.length; j++) {
-        if (!this.freightspace[j].trainNo) {
+        } 
+        if (!this.deptBudgetList.tranCarInfoList[i].boxNo) {
           this.$message({
             message: '车厢号不能为空',
             type: 'warning',
@@ -399,7 +383,6 @@ export default {
           return
         }
       }
-
       this.$confirm(`提交成功后,任务将下发给相关人员,是否确定提交?`, {
         confirmButtonText: '确定',
         cancelButtonText: '取消',
@@ -408,31 +391,10 @@ export default {
         .then(() => {
           this.$refs.deptBudgetList.validate((valid) => {
             if (valid) {
-              for (var i = 0; i < this.freightspace.length; i++) {
-                var num = this.freightspace[i].trainNo
-                this.arr.push(num)
-              }
-              this.deptBudgetList.totalStorage = this.totalStorage
-              this.tranCarInfoList.driver =
-                this.deptBudgetList.tranCarInfoList[0].driver
-              this.tranCarInfoList.driverPhone =
-                this.deptBudgetList.tranCarInfoList[0].driverPhone
-              this.tranCarInfoList.sendDateStart =
-                this.deptBudgetList.tranCarInfoList[0].sendDateStart
-              this.tranCarInfoList.receiveDateEnd =
-                this.deptBudgetList.tranCarInfoList[0].receiveDateEnd
-              this.tranCarInfoList.carModel =
-                this.deptBudgetList.tranCarInfoList[0].carModel.toString()
-              this.tranCarInfoList.id =
-                this.deptBudgetList.tranCarInfoList[0].id
-              this.tranCarInfoList.tranType = this.tranType
-              this.tranCarInfoList.boxNo = this.arr.toString()
               var tranCarInfo = {}
-              var tranList = [this.tranCarInfoList]
               tranCarInfo.id = this.deptBudgetList.id
               tranCarInfo.infoId = this.deptBudgetList.infoId
-              tranCarInfo.tranCarInfoList = tranList
-              // dispatchCat({tranCarInfo:{tranCarInfoList:[this.tranCarInfoList],id:this.deptBudgetList.id}
+              tranCarInfo.tranCarInfoList = this.deptBudgetList.tranCarInfoList
               dispatchCat(tranCarInfo)
                 .toPromise()
                 .then((response) => {
@@ -458,15 +420,6 @@ export default {
         .then((response) => {
           this.deptBudgetList = response
           if (response.tranCarInfoList.length > 0) {
-            if (response.tranCarInfoList[0].boxNo) {
-              this.list = response.tranCarInfoList[0].boxNo.split(',')
-              for (var i = 0; i < this.list.length; i++) {
-                var num = this.list[i]
-                this.freightspace.push({
-                  trainNo: num,
-                })
-              }
-            }
           } else {
             this.deptBudgetList.tranCarInfoList = [
               {
@@ -475,13 +428,7 @@ export default {
                 sendDateStart: '',
                 receiveDateEnd: '',
                 carModel: '',
-              },
-            ]
-          }
-          if (!this.deptBudgetList.tranCarInfoList[0].boxNo) {
-            this.freightspace = [
-              {
-                trainNo: '',
+                boxNo: '',
               },
             ]
           }

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

@@ -0,0 +1,1099 @@
+//卸船反馈
+<template>
+  <div class="container">
+    <el-row>
+      <el-col :span="12">
+        <h2 class="bg-left title">船运卸船反馈</h2>
+      </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=""
+          />返回</el-button
+        >
+      </el-col>
+    </el-row>
+    <ws-form
+      class="position"
+      ref="deptBudgetList"
+      :rules="rules"
+      :model="deptBudgetList"
+    >
+      <div class="small-title" style="font-size: 16px">任务详情</div>
+      <ws-info-table>
+        <!--任务编号-->
+        <ws-form-item label="任务编号" span="1" prop="processNo">
+          {{ deptBudgetList.processNo }}
+        </ws-form-item>
+        <!--货名-->
+        <ws-form-item label="货名" span="1" prop="goodsName">
+          {{ deptBudgetList.goodsName }}
+        </ws-form-item>
+        <!--重量(吨)-->
+        <ws-form-item label="重量(吨)" span="1" prop="weight">
+          {{ deptBudgetList.weight }}
+        </ws-form-item>
+        <!--发货地址-->
+        <ws-form-item label="发货地址" span="1" prop="sendDetailedAddress">
+          {{ deptBudgetList.sendPrivate }}{{ deptBudgetList.sendCity
+          }}{{ 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="senderPhone"
+          class="readonly"
+        >
+          {{ deptBudgetList.senderPhone }}
+        </ws-form-item>
+        <!--收货地址-->
+        <ws-form-item label="收货地址" span="1" prop="receiveDetailedAddress">
+          {{ deptBudgetList.receivePrivate }}{{ deptBudgetList.receiveCity
+          }}{{ deptBudgetList.receiveArea }}
+        </ws-form-item>
+        <!--收货人-->
+        <ws-form-item label="收货人" span="1" prop="receiver">
+          {{ deptBudgetList.receiver }}
+        </ws-form-item>
+        <!--收货人电话-->
+        <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="deliveryDateEnd">
+          {{ deptBudgetList.deliveryDateEnd }}
+        </ws-form-item>
+        <!--合同编号-->
+        <ws-form-item label="合同编号" span="1" prop="contractNo">
+          {{ deptBudgetList.contractNo }}
+        </ws-form-item>
+        <!-- 运输方式 -->
+        <ws-form-item label="运输方式" span="1" prop="tranType">
+          {{ deptBudgetList.tranType }}
+        </ws-form-item>
+      </ws-info-table>
+      <div class="small-title" style="font-size: 16px">联络员及航次</div>
+      <div
+          style="width: 100%"
+          class="flex position"
+          v-for="(item, index) in this.freightspace"
+          :key="index"
+        >
+      <ws-info-table>
+        <!-- 姓名 -->
+        <ws-form-item label="姓名" span="1" prop="driver">
+          {{ item.driver }}
+        </ws-form-item>
+        <!-- 电话 -->
+        <ws-form-item label="电话" span="1" prop="driverPhone">
+          {{ item.driverPhone }}
+        </ws-form-item>
+        <!--发船日期-->
+        <ws-form-item label="发船日期" span="1" prop="sendDateStart">
+          <ws-date-picker
+            v-model="item.sendDateStart"
+            type="date"
+            placeholder="请选择发船日期"
+            value-format="yyyy-MM-dd"
+          />
+        </ws-form-item>
+        <!-- 到港日期 -->
+        <ws-form-item label="到港日期" span="1" prop="receiveDateEnd">
+          {{ item.receiveDateEnd }}
+        </ws-form-item>
+        <!-- 船名 -->
+        <ws-form-item label="船名" span="1" prop="shipName">
+          {{ item.shipName }}
+        </ws-form-item>
+        <!-- 航次 -->
+        <ws-form-item label="航次" span="1" prop="shipNo">
+          {{ item.shipNo }}
+        </ws-form-item>
+        <!-- 类型 -->
+        <ws-form-item label="类型" span="1" prop="shipType">
+          {{ item.shipType }}
+        </ws-form-item>
+        <!-- 数量 -->
+        <ws-form-item label="数量" span="1" prop="boxNumber" v-if="item.shipType == '集装箱'">
+          {{ item.boxNumber  }}
+        </ws-form-item>
+      </ws-info-table>
+      </div>
+      <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-button
+        class="bg-bottom"
+        type="primary"
+        size="small"
+        @click="import(deptBudgetList)"
+        >导入</el-button
+      >
+    </div>
+      <div class="liaison">
+        <div
+          style="width: 100%"
+          class="flex position"
+          v-for="(item, index) in this.freightspace"
+          :key="index"
+        >
+          <ws-info-table>
+            <div class="catNos" v-if="item.shipType == '集装箱'">
+              集装箱-{{ index + 1 }}
+              <span class="noservice" v-show="item.status == '未装船'">{{
+                  item.status
+                }}</span>
+                <span class="service" v-show="item.status == '已卸船'">{{
+                  item.status
+                }}</span>
+                 <span class="serviced" v-show="item.status == '已送达'">{{
+                  item.status
+                }}</span>
+            </div>
+            <div class="catNos" v-if="item.shipType == '散船'">
+              仓位号-{{ index + 1 }}
+              <span class="noservice" v-show="item.status == '未装船'">{{
+                  item.status
+                }}</span>
+                <span class="service" v-show="item.status == '已卸船'">{{
+                  item.status
+                }}</span>
+                 <span class="serviced" v-show="item.status == '已送达'">{{
+                  item.status
+                }}</span>
+            </div>
+            <!--箱号-->
+            <el-form-item label="箱号"  prop="caseNo" v-if="item.shipType == '集装箱'">
+              {{ item.caseNo }}
+            </el-form-item>
+            <!--封号-->
+            <el-form-item label="封号" prop="titleNo" v-if="item.shipType == '集装箱'">
+              {{ item.titleNo }}
+            </el-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="loadNetWeight">
+              {{ item.loadNetWeight }}
+            </ws-form-item>
+            <!--卸船净重-->
+            <ws-form-item label="卸船净重:" span="1" prop="unloadNetWeight">
+              <ws-input
+                v-if="item.status == '已卸船'||item.status == '已送达'" 
+                :disabled="readonly"
+                v-model="item.unloadNetWeight"
+                placeholder="请输入卸船净重"
+                maxlength="20"
+                size="small"
+              />
+               <ws-input
+                v-else
+                v-model="item.unloadNetWeight"
+                placeholder="请输入卸船净重"
+                maxlength="20"
+                size="small"
+              />
+            </ws-form-item>
+            <!--卸船日期-->
+            <el-form-item label="卸船日期:" span="1" prop="unLoadingDate" label-width="100px">
+            <ws-date-picker
+              v-if="item.status == '已卸船'||item.status == '已送达'" 
+              :disabled="readonly"
+              v-model="item.unLoadingDate"
+              type="date"
+              style="width: 150px;"
+              placeholder="请选择日期"
+              value-format="yyyy-MM-dd"
+            />
+               <ws-date-picker
+              v-else
+              v-model="item.unLoadingDate"
+              type="date"
+              style="width: 150px;"
+              placeholder="请选择日期"
+              value-format="yyyy-MM-dd"
+            />
+            </el-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
+              width="22"
+              height="22"
+              class="del"
+              @click="del(index)"
+              src="../../../public/img/del.png"
+              alt=""
+              >×</span
+            >
+          </ws-info-table>
+        </div>
+      </div>
+      <div style="text-align: right; color: #8890b1; font-size: 16px">
+        合计(吨):{{ total }}/{{ deptBudgetList.weight }}
+        <!--阶段状态-->
+         <span class="noservice" v-show="deptBudgetList.feedbackStatus=='执行中'">
+          未完货
+        </span>
+        <span class="service" v-show="deptBudgetList.feedbackStatus=='已完货'">{{
+          deptBudgetList.feedbackStatus
+        }}</span>
+      </div>
+      <!--运单-->
+            <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="
+                      vertical-align: text-top;
+                      position: relative;
+                    "
+                    src="../../../public/img/fujian.png"
+                    alt=""
+                  />
+                </el-upload>
+                 <!-- <span v-if="deptBudgetList.tranCarInfoList[index].loadPoundImg != null " >1</span>
+                 <span
+                  v-if="
+                    deptBudgetList.tranCarInfoList[index].loadPoundImg == null
+                  "
+                  >未上传</span> -->
+              </template>
+            </ws-form-item>
+    </ws-form>
+    <!-- 提交 -->
+    <div style="text-align: right; padding: 10px" class="center">
+      <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>
+  </div>
+</template>
+<script>
+import { regionData, CodeToText, TextToCode } from 'element-china-area-data'
+import { seeCat, packList, feedback, stateRec } 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()
+    },
+    isShow(val) {
+      this.showType = val
+    },
+  },
+  data() {
+    return {
+      deptBudgetList: {
+        totalStorage: 0,
+      },
+      tranCarInfoList: {
+        driver:'',
+      },
+      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: [],
+
+      freightspace1: [
+        {
+          accountTypeFlag: '1',
+          payeeName: '',
+          payeeNumberCard: '',
+          compName: '',
+          bankDeposit: '',
+          addressUrlArray: [],
+          bankCard: '',
+        },
+      ],
+      freightspace: [
+        {
+          driver: '',
+          driverPhone: '',
+          carNo: '',
+          loadNetWeight: '',
+          loadPoundImg: '',
+        },
+        // {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)
+      }
+      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].loadNetWeight
+          )
+        }
+        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
+          }
+        })
+      } 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
+    },
+    add() {
+      this.freightspace.push({
+        driver: '',
+        driverPhone: '',
+        carNo: '',
+        loadNetWeight: '',
+      })
+    },
+    del(index) {
+      if (this.freightspace.length > 1) {
+        this.freightspace.splice(index, 1)
+      }
+    },
+    //下拉司机姓名改变事件
+    selectdriver() {},
+    handleChange(value) {
+      this.selectedOptions = value
+    },
+    returnsales() {
+      this.deptBudgetList = {}
+      this.freightspace = {}
+      this.selectedOptions = ''
+      this.deptBudgetList.tranCarInfoList = []
+      this.$router.push({ path: 'tranManagementReceivingFeedback' })
+    },
+    // 上传附件
+    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
+              stateRec(tranProcessInfo)
+                .toPromise()
+                .then((response) => {
+                  this.$message.success('完货成功')
+                  this.deptBudgetList = {}
+                  this.freightspace = {}
+                  this.selectedOptions = ''
+                  this.$router.push({
+                    path: 'tranManagementReceivingFeedback',
+                  })
+                })
+            } else {
+              return false
+            }
+          })
+        })
+        .catch(() => {
+          return false
+        })
+
+    },
+    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
+          }
+        }
+      }
+      this.$confirm(`提交成功后装船信息不可修改,是否确定提交?`, {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning',
+      })
+        .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.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: 'tranManagementReceivingFeedback',
+                  })
+                })
+            } 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
+          //  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() {},
+    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
+        }
+      }
+    },
+    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
+    },
+  },
+}
+</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;
+    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/.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;
+      }
+    }
+  }
+}
+.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;
+}
+.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;
+  }
+  .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;
+  }
+}
+// /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: 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;
+}
+.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;
+}
+.service {
+  background: #e5f1f7;
+  color: #50cad4;
+}
+</style>

+ 874 - 0
src/views/tranManagement/tranManagementUnShippingFeedbackLook.vue

@@ -0,0 +1,874 @@
+//卸船反馈查看
+<template>
+  <div class="container">
+    <el-row>
+      <el-col :span="12">
+        <h2 class="bg-left title">查看船运卸船信息</h2>
+      </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=""
+          />返回</el-button
+        >
+      </el-col>
+    </el-row>
+    <ws-form
+      class="position"
+      ref="deptBudgetList"
+      :rules="rules"
+      :model="deptBudgetList"
+    >
+      <div class="small-title" style="font-size: 16px">任务详情</div>
+      <ws-info-table>
+        <!--任务编号-->
+        <ws-form-item label="任务编号" span="1" prop="processNo">
+          {{ deptBudgetList.processNo }}
+        </ws-form-item>
+        <!--货名-->
+        <ws-form-item label="货名" span="1" prop="goodsName">
+          {{ deptBudgetList.goodsName }}
+        </ws-form-item>
+        <!--重量(吨)-->
+        <ws-form-item label="重量(吨)" span="1" prop="weight">
+          {{ deptBudgetList.weight }}
+        </ws-form-item>
+        <!--发货地址-->
+        <ws-form-item label="发货地址" span="1" prop="sendDetailedAddress">
+          {{ deptBudgetList.sendPrivate }}{{ deptBudgetList.sendCity
+          }}{{ 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="senderPhone"
+          class="readonly"
+        >
+          {{ deptBudgetList.senderPhone }}
+        </ws-form-item>
+        <!--收货地址-->
+        <ws-form-item label="收货地址" span="1" prop="receiveDetailedAddress">
+          {{ deptBudgetList.receivePrivate }}{{ deptBudgetList.receiveCity
+          }}{{ deptBudgetList.receiveArea }}
+        </ws-form-item>
+        <!--收货人-->
+        <ws-form-item label="收货人" span="1" prop="receiver">
+          {{ deptBudgetList.receiver }}
+        </ws-form-item>
+        <!--收货人电话-->
+        <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="deliveryDateEnd">
+          {{ deptBudgetList.deliveryDateEnd }}
+        </ws-form-item>
+        <!--合同编号-->
+        <ws-form-item label="合同编号" span="1" prop="contractNo">
+          {{ deptBudgetList.contractNo }}
+        </ws-form-item>
+        <!-- 运输方式 -->
+        <ws-form-item label="运输方式" span="1" prop="tranType">
+          {{ deptBudgetList.tranType }}
+        </ws-form-item>
+      </ws-info-table>
+      <div class="small-title" style="font-size: 16px">联络员及航次</div>
+      <div
+          style="width: 100%"
+          class="flex position"
+          v-for="(item, index) in this.freightspace"
+          :key="index"
+        >
+      <ws-info-table>
+        <!-- 姓名 -->
+        <ws-form-item label="姓名" span="1" prop="driver">
+          {{ item.driver }}
+        </ws-form-item>
+        <!-- 电话 -->
+        <ws-form-item label="电话" span="1" prop="driverPhone">
+          {{ item.driverPhone }}
+        </ws-form-item>
+        <!--发船日期-->
+          <ws-form-item label="发船日期" span="1" prop="sendDateStart">
+            {{ item.sendDateStart }}
+          </ws-form-item>
+        <!-- 预计到港日期 -->
+        <ws-form-item label="预计到港日期" span="1" prop="receiveDateEnd">
+          {{ item.receiveDateEnd }}
+        </ws-form-item>
+        <!-- 船名 -->
+        <ws-form-item label="船名" span="1" prop="shipName">
+          {{ item.shipName }}
+        </ws-form-item>
+        <!-- 航次 -->
+        <ws-form-item label="航次" span="1" prop="shipNo">
+          {{ item.shipNo }}
+        </ws-form-item>
+        <!-- 类型 -->
+        <ws-form-item label="类型" span="1" prop="shipType">
+          {{ item.shipType }}
+        </ws-form-item>
+        <!-- 数量 -->
+        <ws-form-item label="数量" span="1" prop="tranType" v-if="item.shipType == '集装箱'">
+          {{ item.tranType }}
+        </ws-form-item>
+      </ws-info-table>     
+      </div>  
+      <div class="small-title" style="font-size: 16px">装船详情</div>
+      <div class="liaison">
+        <div
+          style="width: 100%"
+          class="flex position"
+          v-for="(item, index) in this.freightspace"
+          :key="index"
+        >
+          <ws-info-table>
+           <div class="catNos" v-if="item.shipType == '集装箱'">
+              集装箱-{{ index + 1 }}
+              <span class="noservice" v-show="item.status == '未装船'">{{
+                  item.status
+                }}</span>
+                <span class="service" v-show="item.status == '已装船'">{{
+                  item.status
+                }}</span>
+                 <span class="serviced" v-show="item.status == '已送达'">{{
+                  item.status
+                }}</span>
+            </div>
+            <div class="catNos" v-if="item.shipType == '散船'">
+              仓位号-{{ index + 1 }}
+              <span class="noservice" v-show="item.status == '未装船'">{{
+                  item.status
+                }}</span>
+                <span class="service" v-show="item.status == '已装船'">{{
+                  item.status
+                }}</span>
+                 <span class="serviced" v-show="item.status == '已送达'">{{
+                  item.status
+                }}</span>
+            </div>
+            <!--箱号-->
+            <ws-form-item label="箱号:" span="1" prop="caseNo" v-if="item.shipType == '集装箱'">
+             <span>{{ item.caseNo }}</span>
+            </ws-form-item>
+            <!--封号-->
+            <ws-form-item label="封号:" span="1" prop="titleNo" v-if="item.shipType == '集装箱'">
+             <span>{{ item.titleNo }}</span>
+            </ws-form-item>
+            <!--仓位号-->
+            <ws-form-item  span="1" prop="binNumber" v-if="item.shipType == '散船'">
+             <span>{{ item.binNumber }}</span>
+            </ws-form-item>
+            <!--装船净重-->
+            <ws-form-item label="装船净重(吨)" span="1" prop="loadNetWeight">
+              {{ item.loadNetWeight }}
+            </ws-form-item>
+            <!--卸船净重-->
+            <ws-form-item label="卸船净重(吨)" span="1" prop="unloadNetWeight">
+              {{ item.unloadNetWeight }}
+            </ws-form-item>
+            <!--卸船日期-->
+            <ws-form-item label="卸船日期" span="1" prop="unLoadingDate">
+                {{ item.unLoadingDate }}
+            </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
+            >
+          </ws-info-table>
+        </div>
+      </div>
+      <div style="text-align: right; color: #8890b1; font-size: 16px">
+        合计(吨):{{ total }}/{{ deptBudgetList.weight }}
+        <!--阶段状态-->
+         <span class="noservice" v-show="deptBudgetList.feedbackStatus=='执行中'">
+          未完货
+        </span>
+        <span class="service" v-show="deptBudgetList.feedbackStatus=='已完货'">{{
+          deptBudgetList.feedbackStatus
+        }}</span>
+      </div>
+      <!--运单-->
+            <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="
+                      vertical-align: text-top;
+                      position: relative;
+                    "
+                    src="../../../public/img/fujian.png"
+                    alt=""
+                  />
+                </el-upload>
+                 <!-- <span v-if="deptBudgetList.tranCarInfoList[index].loadPoundImg != null " >1</span>
+                 <span
+                  v-if="
+                    deptBudgetList.tranCarInfoList[index].loadPoundImg == null
+                  "
+                  >未上传</span> -->
+              </template>
+            </ws-form-item>  
+    </ws-form>
+    <div style="text-align: right; padding: 10px" class="center">
+      <el-button
+        class="bg-bottom"
+        type="primary"
+        size="small"
+        @click="returnsales()"
+        >关闭</el-button
+      >
+    </div>
+    <!-- 附件弹框 -->
+    <WinseaContentModal
+      v-model="accessoryTFs"
+      :title="$t('system.noticeCircular.information')"
+      @on-cancel="handleClose"
+    >
+      <p>查看附件</p>
+      <div
+        style="display: inline-block; margin: 5px"
+        v-for="item in appendixIdss"
+      >
+        <img width="100" height="100" :src="item" alt="" />
+      </div>
+    </WinseaContentModal>
+    <WinseaContentModal
+      v-model="accesscard"
+      :title="$t('system.noticeCircular.information')"
+      @on-cancel="handleClose1"
+    >
+      <p>查看附件</p>
+      <img width="100" height="100" :src="accessurl" alt="" />
+    </WinseaContentModal>
+  </div>
+</template>
+<script>
+import { regionData, CodeToText, TextToCode } from 'element-china-area-data'
+import { seeCat, packList, feedback } 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
+    },
+  },
+  data() {
+    return {
+      deptBudgetList: {
+        totalStorage: 0,
+      },
+      options_: regionData,
+      heightData: '600px',
+      zoom: 7,
+      selectedOptions: [],
+      center: [116.244694, 39.517344],
+      window: '',
+      radio: 1,
+      personCharge: [],
+      district: null,
+      driverList: [],
+      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: [],
+      freightspace: [
+        {
+          driver: '',
+          driverPhone: '',
+          carNo: '',
+          loadNetWeight: '',
+        },
+      ],
+      name: '',
+      staffList: [],
+      options: [],
+      // carModel: [],
+      tranCarInfoList: {},
+      //上传
+      accessoryTFs: false,
+      accesscard: false,
+      accessurl: '',
+      fileList: [],
+      // appendixIdsAdd: '',
+      //附件
+      appendixIdss: [],
+    }
+  },
+  mounted() {
+    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)
+      }
+      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].loadNetWeight
+          )
+        }
+        return maxStorage
+      } else {
+        return 0
+      }
+    },
+    label1: function () {
+      //  for (var i = 0; i < this.deptBudgetList.tranCarInfoList.length; i++) {
+      //   if (this.deptBudgetList.tranCarInfoList[i].temporaryDriverFlag == 0) {
+      //     return '司机名称'
+      //   }
+      //   else if (this.deptBudgetList.tranCarInfoList[i].temporaryDriverFlag == 1) {
+      //     // alert(this.deptBudgetList.tranCarInfoList[i].temporaryDriverFlag)
+      //     return '司机名称(临)'
+      //   }
+      //  }
+      return '(临)'
+
+      // item.temporaryDriverFlag == 0
+    },
+  },
+  methods: {
+    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
+    },
+    handleClose1() {
+      this.accesscard = false
+    },
+    handleChange(value) {
+      this.selectedOptions = value
+    },
+    returnsales() {
+      this.deptBudgetList = {}
+      this.freightspace = {}
+      this.selectedOptions = ''
+      this.$router.push({ path: 'tranManagementReceivingFeedback' })
+    },
+    // confirmPosition() {
+    //   this.draggable = false
+    // },
+    // 上传附件
+    uploadSuccess(data, files, url) {
+      console.log(data, files, url)
+    },
+    handleClose() {
+      this.accessoryTFs = 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
+            }
+            if (this.deptBudgetList.tranCarInfoList[i].loadPoundImg != null) {
+              this.deptBudgetList.tranCarInfoList[i].loadPoundImgArr =
+                this.deptBudgetList.tranCarInfoList[i].loadPoundImg.split(',')
+              this.fileList[i] =
+                this.deptBudgetList.tranCarInfoList[i].loadPoundImg.split(',')
+            } else {
+              this.deptBudgetList.tranCarInfoList[i].loadPoundImgArr = []
+            }
+          }
+        })
+    },
+    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
+        }
+      }
+    },
+    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
+        }
+      }
+    },
+    //上传
+    fujian(index) {
+      if (
+        this.deptBudgetList.tranCarInfoList[index].loadPoundImg === null ||
+        this.deptBudgetList.tranCarInfoList[index].loadPoundImg === ''
+      ) {
+        this.$message({
+          message: '暂无附件!',
+          type: 'warning',
+        })
+        return
+      } else {
+        this.accessoryTFs = true
+      }
+      this.appendixIdss =
+        this.deptBudgetList.tranCarInfoList[index].loadPoundImgArr
+    },
+  },
+}
+</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;
+}
+.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;
+}
+.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-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;
+      }
+    }
+  }
+}
+.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 {
+  margin-right: 50px;
+}
+.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;
+  }
+  .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;
+  }
+}
+/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: 14px;
+  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;
+  border-right: 1px solid #d8dce6;
+  border-radius: 0px;
+  padding: 0px;
+}
+//联络员及车次
+/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;
+}
+.catNos {
+  width: 100%;
+  height: 30px;
+  margin-top: 10px;
+  margin-left: 20px;
+  font-size: 14px;
+}
+.catNosCor {
+  color: #5473e8;
+}
+.signStatus {
+  height: 25px;
+  border-radius: 3px;
+  border: 1px solid #5473e8;
+  padding: 0 3px;
+  margin-left: 30px;
+  color: #ffffff;
+  background: #c4cada;
+  line-height: 24px;
+}
+.signStatus1 {
+  height: 25px;
+  background: #e6ebff;
+  border-radius: 3px;
+  border: 1px solid #5473e8;
+  padding: 0 3px;
+  margin-left: 30px;
+  color: #5473e8;
+  line-height: 24px;
+}
+.noservice {
+  background: #c4cada;
+  color: #ffffff;
+}
+.service {
+  background: #e5f1f7;
+  color: #50cad4;
+}
+</style>