فهرست منبع

前端 发货反馈 火运 样式更改sdy

zhongtianhaoyuan 4 سال پیش
والد
کامیت
bc1561fc8f

+ 2 - 0
src/lang/zh.js

@@ -529,6 +529,7 @@
     //发货反馈
     tranManagementTransporHairRespond: '发货反馈',
     tranManagementTransporFeedback: '反馈',
+    tranManagementTransporFeedbackLook : '查看',
 
 
     // 采购模块
@@ -4753,6 +4754,7 @@
   tranManagementTransporHairRespond:{
     tranManagementTransporHairRespond: '发货反馈',
     tranManagementTransporFeedback:'反馈',
+    tranManagementTransporFeedbackLook : '查看'
   },
   tranManagementShipping:{
     tranManagementShipping:'船运调度',

+ 15 - 0
src/views/tranManagement/component/routers/route.js

@@ -265,6 +265,21 @@ const tranManagementRouter = {
       },
       hidden: true
     },
+    //反馈查看
+    {
+      path: 'tranManagementTransporFeedbackLook',
+      component: () =>
+        import(/* webpackChunkName: "applDetail" */ '@/views/tranManagement/tranManagementTransporFeedbackLook'),
+      name: 'tranManagementTransporFeedbackLook',
+      meta: {
+        title: 'tranManagementTransporFeedbackLook',
+        shortcutEntrance: 'tranManagement',
+        module: 'tranManagement.tranManagementTransporFeedbackLook',
+        permissicon: [],
+        keepAlive: true
+      },
+      hidden: true
+    },
 
 
   ],

+ 176 - 58
src/views/tranManagement/tranManagementTransporFeedback.vue

@@ -28,7 +28,7 @@
       :rules="rules"
       :model="deptBudgetList"
     >
-      <div class="small-title">任务详情</div>
+      <div class="small-title" style="font-size: 16px;">任务详情</div>
       <ws-info-table>
         <!--任务编号-->
         <ws-form-item label="任务编号" span="1" prop="processNo">
@@ -90,7 +90,7 @@
           {{ deptBudgetList.contractNo }}
         </ws-form-item>
       </ws-info-table>
-      <div class="small-title">装车详情</div>
+      <div class="small-title" style="font-size: 16px;">装车详情</div>
       <div class="liaison">
         <div
           style="width: 100%"
@@ -99,9 +99,28 @@
           :key="index"
         >
           <ws-info-table>
+            <div class="catNos" v-show="item.temporaryDriverFlag == 0">司机-{{index+1}}</div>
+             <div class="catNos catNosCor" v-show="item.temporaryDriverFlag != 0">司机-{{index+1}}(临)</div>
             <!--司机-->
-            <ws-form-item :label="'司机' + (index + 1)" span="1" prop="driver">
-               <el-select
+            <ws-form-item
+              label="姓名:"
+              span="1"
+              prop="driver"
+              v-show="item.temporaryDriverFlag == 0"
+            >
+              <span v-show="item.temporaryDriverFlag == 0"
+                >{{ item.driver }}
+              </span>
+            </ws-form-item>
+            <!--司机-->
+
+            <ws-form-item
+              label="姓名"
+              span="1"
+              prop="driver"
+              v-show="item.temporaryDriverFlag != 0"
+            >
+              <el-select
                 v-show="item.temporaryDriverFlag != 0"
                 v-model="item.driver"
                 placeholder="请选择司机"
@@ -115,35 +134,38 @@
                   :label="item.staffName"
                   :value="item.staffName"
                 />
-               
-              </el-select> 
-               <span v-show="item.temporaryDriverFlag == 0">{{item.driver}} </span> 
-                   
+              </el-select>
+              <!-- <span v-show="item.temporaryDriverFlag == 0">{{item.driver}} </span>  -->
             </ws-form-item>
+
             <!--电话-->
-            <ws-form-item label="司机电话" span="1" prop="driverPhone">
-               <ws-input
-               v-show="item.temporaryDriverFlag != 0"
+            <ws-form-item label="司机电话" span="1" prop="driverPhone">
+              <ws-input
+                v-show="item.temporaryDriverFlag != 0"
                 v-model="item.driverPhone"
                 placeholder="请输入司机电话"
                 maxlength="20"
                 size="small"
-              /> 
-             <span v-show="item.temporaryDriverFlag == 0">{{item.driverPhone}} </span> 
+              />
+              <span v-show="item.temporaryDriverFlag == 0"
+                >{{ item.driverPhone }}
+              </span>
             </ws-form-item>
             <!--车牌号-->
-            <ws-form-item label="车牌号" span="1" prop="carNo">
-               <ws-input
-               v-show="item.temporaryDriverFlag != 0"
+            <ws-form-item label="车牌号" span="1" prop="carNo">
+              <ws-input
+                v-show="item.temporaryDriverFlag != 0"
                 v-model="item.carNo"
                 placeholder="请输入车牌号"
                 maxlength="20"
                 size="small"
-              /> 
-             <span v-show="item.temporaryDriverFlag == 0">{{item.carNo}} </span> 
+              />
+              <span v-show="item.temporaryDriverFlag == 0"
+                >{{ item.carNo }}
+              </span>
             </ws-form-item>
             <!--装车净重-->
-            <ws-form-item label="装车净重" span="1" prop="loadNetWeight">
+            <ws-form-item label="装车净重" span="1" prop="loadNetWeight">
               <ws-input
                 v-model="item.loadNetWeight"
                 placeholder="请输入装车净重"
@@ -152,9 +174,8 @@
               />
             </ws-form-item>
             <!--磅单-->
-            <ws-form-item label="磅单" span="1" prop="loadPoundImg">
+            <ws-form-item label="磅单" span="1" prop="loadPoundImg">
               <template slot-scope="scope">
-              
                 <img
                   width="18"
                   height="20"
@@ -167,23 +188,37 @@
                   @click="fujian(scope.row)"
                   alt=""
                 />
-                <span v-show="item.temporaryDriverFlag == 0" >{{item.signStatus}}</span>
+                <div v-show="item.temporaryDriverFlag == 0">
+                  {{ item.signStatus }}
+                </div>
               </template>
             </ws-form-item>
-            <img
+            
+            <span
             v-show="item.temporaryDriverFlag != 0"
-              width="22"
-              height="22"
-              class="del"
-              @click="del(index)"
-              src="../../../public/img/del.png"
-              alt=""
-            />
+                width="22"
+                height="22"
+                class="del"
+                @click="del(index)"
+                src="../../../public/img/del.png"
+                alt=""
+                >×</span
+              >
           </ws-info-table>
         </div>
       </div>
-      <el-button class="add bg-bottom" type="primary" size="small" @click="add"
-        >添加临时用车</el-button
+      <div style="text-align: right;color: #8890B1;font-size: 16px;">
+        合计(吨):{{ total }}/{{ deptBudgetList.weight }}
+      </div>
+      <el-button class="add bg-bottom" type="primary" size="small" @click="add">
+         <img
+          width="22"
+          height="22"
+          @click="add"
+          src="../../../public/img/add.png"
+          alt=""
+        />
+       <div class="spans"> 添加临时用车</div></el-button
       >
     </ws-form>
     <!-- 提交 -->
@@ -215,8 +250,6 @@
         accept=".jpg, .jpeg, .png, .pdf, .doc, .zip, .rar"
       />
     </WinseaContentModal>
-
-
   </div>
 </template>
 <script>
@@ -272,7 +305,7 @@ export default {
           },
         ],
       },
-       tranType: 1,
+      tranType: 1,
       size: 10,
       value1: '',
       unitList: [],
@@ -290,15 +323,16 @@ export default {
       carModel: [],
       tranCarInfoList: {},
       //上传
-      accessoryTFs:false,
-      fileList:[],
-        appendixIdsAdd: '',
+      accessoryTFs: false,
+      fileList: [],
+      appendixIdsAdd: '',
     }
   },
   mounted() {
     this.deptBudgetList.id = this.$route.query.id
     this.getList()
   },
+
   computed: {
     totalStorage: function () {
       var maxStorage = 0
@@ -307,6 +341,15 @@ export default {
       }
       return maxStorage
     },
+    total: function () {
+      var maxStorage = 0
+      for (var i = 0; i < this.deptBudgetList.tranCarInfoList.length; i++) {
+        maxStorage += Number(
+          this.deptBudgetList.tranCarInfoList[i].loadNetWeight
+        )
+      }
+      return maxStorage
+    },
   },
   methods: {
     dataFilter(val) {
@@ -326,11 +369,11 @@ export default {
     },
     selectstaff(e) {
       for (var i = 0; i < this.staffList.length; i++) {
-        if (this.staffList[i].staffName == e) {     
+        if (this.staffList[i].staffName == e) {
           this.deptBudgetList.driverPhone = this.staffList[i].staffMobilePhone
-         this.freightspace[i].driverPhone = this.staffList[i].staffMobilePhone
+          this.freightspace[i].driverPhone = this.staffList[i].staffMobilePhone
           // this.deptBudgetList.tranCarInfoList[i].driverPhone = this.staffList[i].staffMobilePhone
-          console.log(this.freightspace[i].driverPhone,"dianhu")
+          console.log(this.freightspace[i].driverPhone, 'dianhu')
           this.deptBudgetList.personChargeKey = this.staffList[i].staffId
         }
       }
@@ -386,6 +429,39 @@ export default {
       this.accessoryTFs = 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: '取消',
@@ -393,27 +469,29 @@ export default {
       })
         .then(() => {
           this.$refs.deptBudgetList.validate((valid) => {
-             if (valid) {
+            if (valid) {
               // this.deptBudgetList.totalStorage = this.totalStorage
-              this.tranCarInfoList=this.freightspace    
+              this.tranCarInfoList = this.freightspace
               this.tranCarInfoList.driver = this.deptBudgetList.driver
               this.tranCarInfoList.driverPhone = this.deptBudgetList.driverPhone
-              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.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
-                 }
+              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.tranCarInfoList = this.tranCarInfoList         
+              tranProcessInfo.tranCarInfoList = this.tranCarInfoList
               // dispatchCat({tranCarInfo:{tranCarInfoList:[this.tranCarInfoList],id:this.deptBudgetList.id}
               feedback(tranProcessInfo)
                 .toPromise()
@@ -552,12 +630,16 @@ export default {
 .del {
   position: absolute;
   right: -38px;
-  top: 9px;
+  top: 14px;
   cursor: pointer;
-}
-.del {
   right: 0;
+  display: inline-block;
+  font-size: 26px;
+  width: 26px;
+  height: 10px;
+  line-height: 0px;
 }
+
 .amap-page-container {
   width: 300px;
   height: 300px;
@@ -840,9 +922,45 @@ export default {
   width: 20%;
 }
 /deep/.liaison .ws-info-table .el-form-item .el-form-item__label {
-  width: 25%;
+  width: 30%;
+  background: #F6F7FC;
 }
 /deep/.liaison .flex {
   display: contents;
 }
+/deep/.liaison .ws-info-table{
+  background: #F6F7FC;
+border-radius: 4px;
+border: 1px solid #D8DCE6;
+}
+.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;
+}
 </style>

+ 776 - 0
src/views/tranManagement/tranManagementTransporFeedbackLook.vue

@@ -0,0 +1,776 @@
+//反馈
+<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="contractNo">
+          {{ deptBudgetList.contractNo }}
+        </ws-form-item>
+      </ws-info-table>
+      <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-show="item.temporaryDriverFlag == 0">司机-{{index+1}}</div>
+             <div class="catNos catNosCor" v-show="item.temporaryDriverFlag != 0">司机-{{index+1}}(临)</div>
+            <!--司机-->
+            <ws-form-item label="姓名:" span="1" prop="driver" v-show="freightspace[index].temporaryDriverFlag == 0">
+              <span>{{ item.driver }} </span>
+            </ws-form-item>
+            <!--司机-->
+            <ws-form-item label="姓名:" span="1" prop="driver" v-show="freightspace[index].temporaryDriverFlag == 1">
+              <span>{{ item.driver }} </span>
+            </ws-form-item>
+            <!--电话-->
+            <ws-form-item label="司机电话" span="1" prop="driverPhone">
+              <span>{{ item.driverPhone }} </span>
+            </ws-form-item>
+            <!--车牌号-->
+            <ws-form-item label="车牌号" span="1" prop="carNo">
+              <span>{{ item.carNo }} </span>
+            </ws-form-item>
+            <!--装车净重-->
+            <ws-form-item label="装车净重" span="1" prop="loadNetWeight">
+              {{ item.loadNetWeight }}
+            </ws-form-item>
+            <!--磅单-->
+            <ws-form-item label="磅单" span="1" prop="loadPoundImg">
+              <template slot-scope="scope">
+                <img
+                  width="18"
+                  height="20"
+                  style="
+                    vertical-align: text-top;
+                    position: relative;
+                    top: -1px;
+                  "
+                  src="../../../public/img/fujian.png"
+                  @click="fujian(scope.row)"
+                  alt=""
+                />
+                <div v-show="item.temporaryDriverFlag == 0">
+                  {{ item.signStatus }}
+                </div>
+              </template>
+            </ws-form-item>
+           
+          </ws-info-table>
+        </div>
+      </div>
+      <div style="text-align: right;color: #8890B1;font-size: 16px;">
+        合计(吨):{{ total }}/{{ deptBudgetList.weight }}
+      </div>
+    </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>
+      <ws-upload
+        ref="upload"
+        table-name="maintain_work_order"
+        oss-key="mainPlan"
+        :comp-id="compId"
+        :file-list="fileList"
+        :appendix-ids="appendixIdsAdd"
+        :vesselId="deptBudgetList.loadPoundImg"
+        :size-limit="size"
+        @uploadSuccess="uploadSuccess"
+        accept=".jpg, .jpeg, .png, .pdf, .doc, .zip, .rar"
+      />
+    </WinseaContentModal>
+  </div>
+</template>
+<script>
+import { regionData, CodeToText, TextToCode } from 'element-china-area-data'
+import { seeCat, packList, feedback } 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,
+      },
+      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,
+      fileList: [],
+      appendixIdsAdd: '',
+    }
+  },
+  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 () {
+      var maxStorage = 0
+      for (var i = 0; i < this.deptBudgetList.tranCarInfoList.length; i++) {
+        maxStorage += Number(
+          this.deptBudgetList.tranCarInfoList[i].loadNetWeight
+        )
+      }
+      return maxStorage
+    },
+    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: {
+    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.tranCarInfoList[i].driverPhone = this.staffList[i].staffMobilePhone
+          console.log(this.freightspace[i].driverPhone, 'dianhu')
+          this.deptBudgetList.personChargeKey = this.staffList[i].staffId
+        }
+      }
+    },
+    marker: function (item) {
+      this.deptBudgetList.warehousePositioning =
+        item.lnglat.lat + ',' + item.lnglat.lng
+    },
+    selectedAddress(e) {
+      this.deptBudgetList.warehousePositioning =
+        e.center.lat + ',' + e.center.lng
+    },
+    confirmPositioncity() {
+      this.listDate.level = 'city'
+      this.listDate.country = this.name
+    },
+    // 关闭 dialog时 处理文件url 初始化upload组件
+    handleClose() {
+      this.dialogViewSpareMoney = false
+    },
+
+    //下拉司机姓名改变事件
+    selectdriver() {},
+    handleChange(value) {
+      this.selectedOptions = value
+    },
+    returnsales() {
+      this.deptBudgetList = {}
+      this.freightspace = {}
+      this.selectedOptions = ''
+      this.$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
+            }
+          }
+        })
+      //司机姓名下拉
+      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
+        }
+      }
+    },
+    //上传
+    fujian(row) {
+      if (
+        row.receiveAttachmentPath === null ||
+        row.receiveAttachmentPath === ''
+      ) {
+        EventBus.$emit(
+          'warning',
+          this.$t('system.noticeCircular.NoInformation')
+        )
+      } else {
+        this.accessoryTFs = true
+      }
+      this.appendixIdss = row.receiveAttachmentPath
+    },
+  },
+}
+</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;
+  // 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-right: 0px;
+  border-bottom: 0px;
+  border-left: 0px;
+  border-top: 0px;
+}
+/deep/.ws-info-table .el-form-item {
+  border-right: 0px;
+  border-bottom: 0px;
+  border-left: 0px;
+  border-top: 0px;
+}
+/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;
+}
+//联络员及车次
+/deep/.liaison .ws-info-table .el-form-item {
+  width: 20%;
+}
+/deep/.liaison .ws-info-table .el-form-item .el-form-item__label {
+  width: 30%;
+  background: #F6F7FC;
+}
+/deep/.liaison .flex {
+  display: contents;
+}
+/deep/.liaison .ws-info-table{
+  background: #F6F7FC;
+border-radius: 4px;
+border: 1px solid #D8DCE6;
+}
+.catNos{
+  width: 100%;
+  height: 30px;
+  margin-top: 10px;
+  margin-left: 20px;
+  font-size: 14px;
+}
+.catNosCor{
+  color: #5473E8;
+}
+</style>

+ 25 - 19
src/views/tranManagement/tranManagementTransporHairRespond.vue

@@ -146,7 +146,7 @@
             <ws-button
               class="putstorage"
               @click="feedback(scope.row)"
-              v-show="scope.row.tranType == '汽运'"
+              v-show="scope.row.tranType == '汽运' && scope.row.feedbackStatus != '已完成'"
             >
               反馈
             </ws-button>
@@ -251,28 +251,34 @@ export default {
     },
     //查看火运调度详细
     trainSee(row) {
-      if (row.tranType == '汽运') {
-        this.$router.push({
-          path: 'tranManagementVehicleLook',
+      // if (row.tranType == '汽运') {
+      //   this.$router.push({
+      //     path: 'tranManagementVehicleLook',
+      //     query: {
+      //       id: row.id,
+      //     },
+      //   })
+      // }else if(row.tranType == '火运'){
+      //    this.$router.push({
+      //     path: 'tranManagementTransporTrainDetails',
+      //     query: {
+      //       id: row.id,
+      //     },
+      //   })
+      // }else if(row.tranType == '船运'){
+      //   this.$router.push({
+      //     path: 'tranManagementShippingLook',
+      //     query: {
+      //       id: row.id,
+      //     },
+      //   })
+      // }  
+       this.$router.push({
+          path: 'tranManagementTransporFeedbackLook',
           query: {
             id: row.id,
           },
         })
-      }else if(row.tranType == '火运'){
-         this.$router.push({
-          path: 'tranManagementTransporTrainDetails',
-          query: {
-            id: row.id,
-          },
-        })
-      }else if(row.tranType == '船运'){
-        this.$router.push({
-          path: 'tranManagementShippingLook',
-          query: {
-            id: row.id,
-          },
-        })
-      }  
     },
     //反馈
     feedback(row) {

+ 23 - 9
src/views/tranManagement/tranManagementTransporTrainDetails.vue

@@ -28,7 +28,7 @@
       :rules="rules"
       :model="deptBudgetList"
     >
-      <div class="small-title">任务详情</div>
+      <div class="small-title" style="font-size: 16px;">任务详情</div>
       <ws-info-table>
         <!--任务编号-->
         <ws-form-item label="任务编号" span="1" prop="processNo">
@@ -88,27 +88,27 @@
           {{ deptBudgetList.contractNo }}
         </ws-form-item>
       </ws-info-table>
-      <div class="small-title">联络员及车皮信息</div>
+      <div class="small-title" style="font-size: 16px;">联络员及车皮信息</div>
       <div class="liaison" v-for="(item, index) in deptBudgetList.tranCarInfoList" :key="index">
         <ws-info-table>
           <!--姓名-->
-          <ws-form-item label="姓名" span="1" prop="driver">
+          <ws-form-item label="姓名" span="1" prop="driver">
             {{ item.driver }}
           </ws-form-item>
           <!--电话-->
-          <ws-form-item label="电话" span="1" prop="driverPhone">
+          <ws-form-item label="电话" span="1" prop="driverPhone">
             {{ item.driverPhone }}
           </ws-form-item>
           <!--发车日期-->
-          <ws-form-item label="发车日期" span="1" prop="sendDateStart">
+          <ws-form-item label="发车日期" span="1" prop="sendDateStart">
             {{ item.sendDateStart }}
           </ws-form-item>
           <!--到站日期-->
-          <ws-form-item label="到站日期" span="1" prop="receiveDateEnd">
+          <ws-form-item label="到站日期" span="1" prop="receiveDateEnd">
             {{ item.receiveDateEnd }}
           </ws-form-item>
           <!--车型-->
-          <ws-form-item label="车型" span="1" prop="carModel">
+          <ws-form-item label="车型" span="1" prop="carModel">
             {{item.carModel }}
           </ws-form-item>
         </ws-info-table>
@@ -121,7 +121,7 @@
           >
             <!--车厢号-->
             <ws-form-item
-              :label="'车厢号-' + (index + 1)"
+              :label="'车厢号-' + (index + 1)+':'"
               span="1"
               prop="trainNo"
             >
@@ -699,9 +699,23 @@ export default {
   width: 20%;
 }
 /deep/.liaison .ws-info-table .el-form-item .el-form-item__label {
-  width: 25%;
+  width: 30%;
+  background: #F5F7FA;
+  border: none;
 }
 /deep/.liaison .flex {
   display: contents;
 }
+/deep/.liaison{
+  background: #F5F7FA;
+border-radius: 4px;
+border: 0px solid #D8DCE6;
+}
+/deep/.liaison .ws-info-table .el-form-item .el-form-item__content {
+  // border: 0px solid #d8dce6;
+  border-radius: 0px;
+  border-left: none;
+  border-bottom: none;
+  border-top: none;
+}
 </style>

+ 131 - 36
src/views/tranManagement/tranManagementTransporTrainNo.vue

@@ -28,7 +28,7 @@
       :rules="rules"
       :model="deptBudgetList"
     >
-      <div class="small-title">任务详情</div>
+      <div class="small-title" style="font-size: 16px;">任务详情</div>
       <ws-info-table>
         <!--任务编号-->
         <ws-form-item label="任务编号" span="1" prop="processNo">
@@ -88,10 +88,10 @@
           {{ deptBudgetList.contractNo }}
         </ws-form-item>
       </ws-info-table>
-      <div class="small-title">联络员及车皮信息</div>
+      <div class="small-title" style="font-size: 16px;">联络员及车皮信息</div>
       <div
         class="liaison"
-        v-for ="(item, index) in deptBudgetList.tranCarInfoList"
+        v-for="(item, index) in deptBudgetList.tranCarInfoList"
         :key="index"
       >
         <ws-info-table>
@@ -116,6 +116,8 @@
           <ws-form-item label="电话" span="1" prop="driverPhone">
             <ws-input
               v-model="item.driverPhone"
+              readonly
+              unselectable="on"
               placeholder="请输入电话"
               maxlength="20"
               size="small"
@@ -145,6 +147,10 @@
               v-model="item.carModel"
               placeholder="请输入车型"
               class="typeselect"
+              multiple
+              filterable
+              allow-create
+              default-first-option
             >
               <ws-option
                 v-for="items in carModel"
@@ -158,7 +164,7 @@
         <ws-info-table>
           <div
             style="width: 100%"
-            class="flex position"
+            class="flex position "
             v-for="(item1, index) in freightspace"
             :key="index"
           >
@@ -174,21 +180,30 @@
                 maxlength="20"
                 size="small"
               />
-              <img
+              <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"
-        >添加车厢</el-button
-      >
+      <el-button class="add bg-bottom" type="primary" size="small" @click="add">
+        <img
+          width="22"
+          height="22"
+          @click="add"
+          src="../../../public/img/add.png"
+          alt=""
+        />
+        <div class="spans">添加车厢</div>
+      </el-button>
     </ws-form>
 
     <!-- 提交 -->
@@ -308,8 +323,9 @@ export default {
     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.deptBudgetList.tranCarInfoList[0].driverPhone = this.staffList[i].staffMobilePhone
+          this.deptBudgetList.driverPhone = this.staffList[i].staffMobilePhone
+          this.deptBudgetList.tranCarInfoList[0].driverPhone =
+            this.staffList[i].staffMobilePhone
           this.deptBudgetList.personChargeKey = this.staffList[i].staffId
         }
       }
@@ -359,6 +375,67 @@ export default {
       console.log(data, files, url)
     },
     submit() {
+      for (var i = 0; i < this.deptBudgetList.tranCarInfoList.length; i++) {
+        if (!this.deptBudgetList.tranCarInfoList[i].driver) {
+          this.$message({
+            message: '姓名不能为空!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.tranCarInfoList[i].driverPhone) {
+          this.$message({
+            message: '电话不能为空!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.tranCarInfoList[i].sendDateStart) {
+          this.$message({
+            message: '发车日期不能为空!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.tranCarInfoList[i].receiveDateEnd) {
+          this.$message({
+            message: '到站日期不能为空',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          new Date(
+            this.deptBudgetList.tranCarInfoList[i].sendDateStart
+          ).getTime() >
+          new Date(
+            this.deptBudgetList.tranCarInfoList[i].receiveDateEnd
+          ).getTime()
+        ) {
+          this.$message({
+            message: '发车时间不能大于到站时间!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.tranCarInfoList[i].carModel) {
+          this.$message({
+            message: '车型不能为空!',
+            type: 'warning',
+          })
+          return
+        }
+      }
+      for (var j = 0; j < this.freightspace.length; j++) {
+        if (!this.freightspace[j].trainNo) {
+          this.$message({
+            message: '车厢号不能为空',
+            type: 'warning',
+          })
+          return
+        }
+      }
+
       this.$confirm(`提交成功后,任务将下发给相关人员,是否确定提交?`, {
         confirmButtonText: '确定',
         cancelButtonText: '取消',
@@ -545,13 +622,17 @@ export default {
 
 .del {
   position: absolute;
-  right: -38px;
+  // right: -38px;
   top: 9px;
   cursor: pointer;
-}
-.del {
   right: 0;
+  display: inline-block;
+  font-size: 20px;
+  width: 16px;
+  height: 10px;
+  line-height: 0px;
 }
+
 .amap-page-container {
   width: 300px;
   height: 300px;
@@ -669,17 +750,7 @@ export default {
 .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;
@@ -690,10 +761,6 @@ export default {
 .el-form-item__label {
   text-align: center;
 }
-.ce {
-  width: 900px;
-  margin: 0 auto;
-}
 /*.crt-main .textarea /deep/ .el-form-item__label {*/
 /*  height: 82px;*/
 /*}*/
@@ -788,12 +855,6 @@ export default {
   border-left: 0px;
   border-top: 0px;
 }
-.ws-info-table .el-form-item .el-form-item__content {
-  border-right: 0px;
-  border-bottom: 0px;
-  border-left: 0px;
-  border-top: 0px;
-}
 /deep/.ws-info-table .el-form-item {
   border-right: 0px;
   border-bottom: 0px;
@@ -834,9 +895,43 @@ export default {
   width: 20%;
 }
 /deep/.liaison .ws-info-table .el-form-item .el-form-item__label {
-  width: 25%;
+  width: 30%;
+  border: 0px solid #d8dce6;
+  background: #f5f7fa;
 }
 /deep/.liaison .flex {
   display: contents;
 }
+/deep/.liaison {
+  background: #f5f7fa;
+  border-radius: 4px;
+  border: 0px solid #d8dce6;
+}
+/deep/.liaison .ws-info-table .el-form-item .el-form-item__content {
+  border: none;
+}
+.add {
+  width: 100px;
+  height: 34px;
+  background: #f6f7fb;
+  border-radius: 17px;
+  color: #5473e8;
+  font-size: 14px;
+  border: none;
+}
+.add img {
+  display: inline-block;
+  margin-top: 3px;
+  margin-left: -12px;
+}
+.add .spans {
+  display: table-caption;
+  width: 56px;
+  height: 20px;
+  line-height: 18px;
+}
+/deep/.carNos{
+  margin-top: 20px;
+}
+
 </style>