浏览代码

Merge branch 'master' of http://git.zthymaoyi.com:3000/gdc/yiliangyiyun-pc

gjy 3 年之前
父节点
当前提交
dccfe31f7c
共有 23 个文件被更改,包括 6512 次插入1801 次删除
  1. 24 112
      src/api/V2/houseSelfCollect/index.js
  2. 38 2
      src/model/houseSelfCollect/index.js
  3. 158 66
      src/views/houseSelfCollect/acquisitionManagement.vue
  4. 439 69
      src/views/houseSelfCollect/acquisitionManagementAdd.vue
  5. 49 40
      src/views/houseSelfCollect/customerManagement.vue
  6. 483 117
      src/views/houseSelfCollect/customerManagementAdd.vue
  7. 9 7
      src/views/houseSelfCollect/settlement.vue
  8. 96 23
      src/views/tranManagement/component/routers/route.js
  9. 104 159
      src/views/tranManagement/tranManagementFireFeedback.vue
  10. 74 97
      src/views/tranManagement/tranManagementFireFeedbackLook.vue
  11. 115 173
      src/views/tranManagement/tranManagementFireReceivingFeedback.vue
  12. 113 141
      src/views/tranManagement/tranManagementFireReceivingFeedbackLook.vue
  13. 1 1
      src/views/tranManagement/tranManagementReceivingFeedback.vue
  14. 4 4
      src/views/tranManagement/tranManagementReceivingloading.vue
  15. 285 148
      src/views/tranManagement/tranManagementShippingArrangemen.vue
  16. 1182 0
      src/views/tranManagement/tranManagementShippingFeedback.vue
  17. 873 0
      src/views/tranManagement/tranManagementShippingFeedbackLook.vue
  18. 411 537
      src/views/tranManagement/tranManagementShippingLook.vue
  19. 6 2
      src/views/tranManagement/tranManagementTransporFeedback.vue
  20. 3 27
      src/views/tranManagement/tranManagementTransporTrainDetails.vue
  21. 23 76
      src/views/tranManagement/tranManagementTransporTrainNo.vue
  22. 1145 0
      src/views/tranManagement/tranManagementUnShippingFeedback.vue
  23. 877 0
      src/views/tranManagement/tranManagementUnShippingFeedbackLook.vue

+ 24 - 112
src/api/V2/houseSelfCollect/index.js

@@ -1,113 +1,25 @@
-/**
- * @fileOverview 证书
- * @author Yolo
- */
-// 动态请求前缀
-const baseUrl = process.env.VUE_APP_API_CERTIFICATE
+//客户管理列表
+export const API_GET_CUSTOMER_MANAGE = '/identityAuthenticationInfo/selectIdentityAuthenticationInfoPurchase'
+//新增粮商1
+export const API_POST_CUSTOMER_ADD = '/identityAuthenticationInfo/api/addIdentityAuthenticationInfo'
+//新增粮商2
+export const API_GET_CUSTOMER_IDENTITY = '/identityAuthenticationInfo/saveCompanyIdentity'
+//客户管理删除
+export const API_GET_CUSTOMER_DELETE = '/identityAuthenticationInfo/api/deleteCompanyIdentity'
+//客户查看
+export const API_GET_CUSTOMER_LOOK = '/identityAuthenticationInfo/api/getIdentityAuthenticationInfo'
+//收购管理列表
+export const API_GET_PURCHASEPRICE_MANAGE = '/purchasePrice/purchasePriceList'
+//收购管理添加
+export const API_POST_PURCHASEPRICE_ADD = '/purchasePrice/purchasePriceAdd'
+//收购管理查看
+export const API_GET_PURCHASEPRICE_LOOK = '/purchasePrice/purchasePriceLook'
+//收购管理编辑
+export const API_POST_PURCHASEPRICE_EDIT = '/purchasePrice/purchasePriceEdit'
+//收购管理删除
+export const API_POST_PURCHASEPRICE_DEL = '/purchasePrice/purchasePriceDel'
+//收购管理员手动编辑
+export const API_POST_PURCHASEPRICE_ALLOWEDIT = '/purchasePrice/purchasePriceAllowEdit'
+//查询仓库列表
+export const API_GET_WAREHOUSESELF = '/warehouseBaseInfo/selectWarehouseSelf'
 
-// 证书一览列表 {companyId:}     老接口:getCrtListByCondition
-export const API_GET_CRTLISTBYCONDITION = `${baseUrl}/certificate/query/getCrtListByCondition`
-
-// 获取证书概况{companyId:}     老接口:getCrtNumByCompId
-export const API_GET_CRTNUMBYCOMPID = `${baseUrl}/certificate/query/getCrtNumByCompId`
-
-// 获取证书详情 {id:}     老接口:getCrtByPk
-export const API_GET_CRTBYPK = `${baseUrl}/certificate/query/getCrtByPk`
-
-// 删除证书     老接口:deleteCrt
-export const API_POST_DELETECRT = `${baseUrl}/certificate/api/deleteCrt`
-
-// 查询基础数据     老接口:getListByCondition
-export const API_GET_LISTBYCONDITION = `${baseUrl}/certificateParameter/query/getListByCondition`
-
-// 查询币种     老接口:parameterTenant
-export const API_GET_PARAMETERTENANT = '/parameterCompany/query/parameterTenant'
-
-// 查询换证历史     老接口:getCrtChangeHistorys
-export const API_GET_CRTCHANGEHISTORYS = `${baseUrl}/certificate/query/getCrtChangeHistorys`
-
-// 所属船舶     老接口:getUserVesselListByStatus
-export const API_GET_USERVESSELLISTBYSTATUS = '/vessel/query/getUserVesselListByStatus'
-
-// 新增证书     老接口:addCrt
-export const API_POST_ADDCRT = `${baseUrl}/certificate/api/addCrt`
-
-// 换证     老接口:changeCrt
-export const API_POST_CHANGECRT = `${baseUrl}/certificate/api/changeCrt`
-
-// 更新证书     老接口:updateCrt
-export const API_POST_UPDATECRT = `${baseUrl}/certificate/api/updateCrt`
-
-// 保存证书检验信息     老接口:saveCrtSurvey
-export const API_POST_SAVECRTSURVEY = `${baseUrl}/certificateSurvey/api/saveCrtSurvey`
-
-// 根据id查询检验信息     老接口:getSurveyByPk
-export const API_GET_SURVEYBYPK = `${baseUrl}/certificateSurvey/query/getSurveyByPk`
-
-// 获取证书检验信息列表     老接口:getCrtSurveyListByCondition
-export const API_GET_CRTSURVEYLISTBYCONDITION = `${baseUrl}/certificateSurvey/query/getCrtSurveyListByCondition`
-
-// 删除证书检验信息     老接口:deleteCrtSurvey
-export const API_POST_DELETECRTSURVEY = `${baseUrl}/certificateSurvey/api/deleteCrtSurvey`
-
-// 新增或修改基础数据     老接口:save1
-export const API_POST_SAVE = `${baseUrl}/certificateParameter/api/save`
-// 删除基础数据     老接口:deleteMsg
-export const API_POST_DELETE = `${baseUrl}/certificateParameter/api/delete`
-
-// 基础数据排序     老接口:order
-export const API_POST_ORDER = `${baseUrl}/certificateParameter/api/order`
-// 上传附件     老接口:uploadFiles
-export const API_POST_UPLOADFILES = '/appendix/api/uploadFiles'
-// 责任部门基础数据     老接口:deptListByCompId
-export const API_GET_DEPTLISTBYCOMPID = '/staff/query/deptListByCompId'
-
-// 导入文件     老接口:importCertificate
-export const API_POST_IMPORTMULTIPARTFILE = `${baseUrl}/certificate/api/importMultipartFile`
-
-// 导入文件附件     老接口:importCertificateFiles
-export const API_POST_IMPORTCERTIFICATEFILES = '/appendix/api/importCertificateFiles'
-
-// 校验当前导入的文件是否有关联数据     老接口:checkoutImportCertificateFiles
-export const API_GET_CHECKOUTIMPORTCERTIFICATEFILES = '/appendix/api/checkoutImportCertificateFiles'
-
-// 导入文件     老接口:importRepeatCertificate
-export const API_POST_IMPORTREPEATCERTIFICATE = `${baseUrl}/certificate/api/importRepeatCertificate`
-
-// 证书模板一览     老接口:getCrtTempList
-export const API_GET_CRTTEMPLIST = `${baseUrl}/certificateTempInfo/query/getCrtTempList`
-
-// 查询所有类型模板数据     老接口:getCrtTypeTempList
-export const API_GET_CRTTYPETEMPLIST = `${baseUrl}/certificateTempInfo/query/getCrtTypeTempList`
-
-//新增 证书模板     老接口:saveCrtTemp
-export const API_POST_SAVECRTTEMP = `${baseUrl}/certificateTempInfo/api/saveCrtTemp`
-
-//编辑 证书模板     老接口:editCrtTemp
-export const API_POST_EDITCRTTEMP = `${baseUrl}/certificateTempInfo/api/editCrtTemp`
-
-//删除 证书模板     老接口:removeCrtTemp
-export const API_POST_REMOVECRTTEMP = `${baseUrl}/certificateTempInfo/api/removeCrtTemp`
-
-//删除 证书模板     老接口:removeCrtTempId
-export const API_POST_REMOVECRTTEMPID = `${baseUrl}/certificateTempInfo/api/removeCrtTempId`
-
-//证书模板排序     老接口:changeOrder
-export const API_POST_CERTIFICATETEMPINFO_ORDER = `${baseUrl}/certificateTempInfo/api/order`
-
-//保存模板证书     老接口:saveCrtTypeTempList
-export const API_POST_SAVECRTTYPETEMPLIST = `${baseUrl}/certificateTempInfo/api/saveCrtTypeTempList`
-
-// 查询附件地址
-export const API_GET_CERTIFICATE_SEARCHPLACE = `${baseUrl}/certificate/api/searchPlace`
-
-//选项卡数值
-export const API_GET_CERTIFICATE_GETCRTNUMBYCONDITION = `${baseUrl}/certificate/query/getCrtNumByCondition`
-
-// 证书管理=> 一览接口以及顶部的状态
-export const API_GET_CERTIFICATE_GETCRTLISTBYCONDITIONDATA = `${baseUrl}/certificate/query/getCrtListByConditionData`
-
-
-
-// 证书模块
-export const API_GET_SP_GETCRTLIST = `${baseUrl}/certificate/query/getCrtListByCondition`

+ 38 - 2
src/model/houseSelfCollect/index.js

@@ -2,9 +2,45 @@ import { errorCatcher, errorHandle, filter } from 'base-core-lib'
 import { appRx } from '../defalutConfig/indexRx'
 
 import {
-  API_GET_CRTNUMBYCOMPID
+  API_GET_CUSTOMER_MANAGE,
+  API_POST_CUSTOMER_ADD,
+  API_GET_CUSTOMER_IDENTITY,
+  API_GET_CUSTOMER_DELETE,
+  API_GET_CUSTOMER_LOOK,
+  API_GET_PURCHASEPRICE_MANAGE,
+  API_POST_PURCHASEPRICE_ADD,
+  API_GET_PURCHASEPRICE_LOOK,
+  API_POST_PURCHASEPRICE_EDIT,
+  API_POST_PURCHASEPRICE_DEL,
+  API_POST_PURCHASEPRICE_ALLOWEDIT,
+  API_GET_WAREHOUSESELF
+
 } from '@/api/V2/houseSelfCollect'
+//客户管理列表
+export const getCustomerManage = appRx.get(API_GET_CUSTOMER_MANAGE, errorCatcher, errorHandle, filter)
+//新增粮商1
+export const customerAdd = appRx.post(API_POST_CUSTOMER_ADD, errorCatcher, errorHandle, filter)
+//新增粮商2
+export const customerIdentity = appRx.get(API_GET_CUSTOMER_IDENTITY, errorCatcher, errorHandle, filter)
+//客户管理删除
+export const getCustomerDelete = appRx.post(API_GET_CUSTOMER_DELETE, errorCatcher, errorHandle, filter)
+//客户查看
+export const getCustomerLook = appRx.get(API_GET_CUSTOMER_LOOK, errorCatcher, errorHandle, filter)
+
+//收购管理列表
+export const getPurchasePrice = appRx.get(API_GET_PURCHASEPRICE_MANAGE, errorCatcher, errorHandle, filter)
+//收购管理添加
+export const purchasePriceAdd = appRx.post(API_POST_PURCHASEPRICE_ADD, errorCatcher, errorHandle, filter)
+//收购管理查看
+export const purchasePriceLook = appRx.post(API_GET_PURCHASEPRICE_LOOK, errorCatcher, errorHandle, filter)
+//收购管理编辑
+export const purchasePriceEdit = appRx.post(API_POST_PURCHASEPRICE_EDIT, errorCatcher, errorHandle, filter)
+//收购管理删除
+export const purchasePriceDel = appRx.post(API_POST_PURCHASEPRICE_DEL, errorCatcher, errorHandle, filter)
+//收购管理手动编辑
+export const purchasePriceAllowEdit = appRx.post(API_POST_PURCHASEPRICE_ALLOWEDIT, errorCatcher, errorHandle, filter)
+//查看仓库
+export const selectWarehouseSelf = appRx.get(API_GET_WAREHOUSESELF, errorCatcher, errorHandle, filter)
 
-export const getCrtNumByCompId = appRx.get(API_GET_CRTNUMBYCOMPID, errorCatcher, errorHandle, filter)
 
 

+ 158 - 66
src/views/houseSelfCollect/acquisitionManagement.vue

@@ -3,16 +3,16 @@
   <div class="content">
     <div class="header">
       <div>
-        <el-select v-model="value" placeholder="请选择">
-          <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
+        <el-select v-model="selectVal" placeholder="请选择" @change="warehouseChange">
+          <el-option v-for="item in warehouseList" :key="item.id" :label="item.warehouseName" :value="item.id">
           </el-option>
         </el-select>
         <el-checkbox v-model="checked" @change="allowEdit">允许手动编辑重量</el-checkbox>
       </div>
-      <el-button type="primary" @click="newAcquisition()">新增</el-button>
+      <el-button type="primary" @click="newAcquisition('','','新增')">新增</el-button>
     </div>
     <el-dialog title="新增" :visible.sync="newAcquisitionDialogVisible" width="50%">
-     <acquisitionManagementAdd></acquisitionManagementAdd>
+      <acquisitionManagementAdd></acquisitionManagementAdd>
     </el-dialog>
     <div class="table-content">
       <el-table :data="tableData" style="width: 100%">
@@ -22,28 +22,32 @@
             <span v-else>{{ scope.$index + 1 }}</span>
           </template>
         </el-table-column>
-        <el-table-column label="仓库名称"></el-table-column>
-        <el-table-column prop="contractNo" label="货名"></el-table-column>
-        <el-table-column label="水分范围(%)"></el-table-column>
-        <el-table-column label="基准水分(%)"></el-table-column>
-        <el-table-column label="扣重比"></el-table-column>
-        <el-table-column label="销量上线"></el-table-column>
-        <el-table-column label="状态"></el-table-column>
-        <el-table-column label="扣重比"></el-table-column>
-        <el-table-column label="通过时间"></el-table-column>
+        <el-table-column prop="warehouseName" label="仓库名称"></el-table-column>
+        <el-table-column prop="goodsName" label="货名"></el-table-column>
+        <el-table-column label="水分范围(%)">
+          <template slot-scope="{ row }">
+            {{row.waterMin}}-{{row.waterMax}}
+          </template>
+        </el-table-column>
+        <el-table-column prop="waterBase" label="基准水分(%)"></el-table-column>
+        <el-table-column prop="deductWeight" label="扣重比"></el-table-column>
+        <el-table-column prop="saleLimit" label="销量上线"></el-table-column>
+        <el-table-column prop="status" label="状态"></el-table-column>
+        <el-table-column prop="passDate" label="通过时间"></el-table-column>
         <el-table-column label="操作" width="300">
           <template slot-scope="scope">
-            <el-button size="mini" @click="handleEdit(scope.$index, scope.row)">查看</el-button>
-            <el-button size="mini" @click="handleEdit(scope.$index, scope.row)">编辑</el-button>
-            <el-button size="mini" type="danger" @click="handleDelete(scope.$index, scope.row)">删除</el-button>
-            <el-button size="mini" @click="handleEdit(scope.$index, scope.row)">打印</el-button>
+            <el-button size="mini" @click="newAcquisition(scope.$index, scope.row,'查看')">查看</el-button>
+            <el-button size="mini" @click="newAcquisition(scope.$index, scope.row,'编辑')">编辑</el-button>
+            <el-button size="mini" type="danger" @click="delRow(scope.$index, scope.row)">删除</el-button>
+            <el-button size="mini" @click="print(scope.$index, scope.row)">打印</el-button>
           </template>
         </el-table-column>
       </el-table>
-      <el-popover
-        placement="center"
-        width="160"
-        v-model="visible">
+      <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage"
+        :page-size="deptCircularPage.pageSize" layout="total, sizes, prev, pager, next, jumper"
+        :total="deptBudgetTotal">
+      </el-pagination>
+      <el-popover placement="center" width="160" v-model="visible">
         <p>这是一段内容这是一段内容确定删除吗?</p>
         <div style="text-align: right; margin: 0">
           <el-button size="mini" type="text" @click="visible = false">取消</el-button>
@@ -54,7 +58,11 @@
   </div>
 </template>
 <script>
-  // import { getList,} from '@/model/houseSelfCollect/index'
+  import {
+    getPurchasePrice,
+    selectWarehouseSelf,
+    purchasePriceAllowEdit
+  } from '@/model/houseSelfCollect/index'
   import acquisitionManagementAdd from './acquisitionManagementAdd.vue'
   export default {
 
@@ -66,74 +74,158 @@
     },
     data() {
       return {
-        newAcquisitionDialogVisible:false,
-         visible: false,
+        newAcquisitionDialogVisible: false,
+        visible: false,
         checked: false,
-        tableData: [{
-          date: '2016-05-02',
-          name: '王小虎',
-          address: '上海市普陀区金沙江路 1518 弄'
-        }, {
-          date: '2016-05-04',
-          name: '王小虎',
-          address: '上海市普陀区金沙江路 1517 弄'
-        }, {
-          date: '2016-05-01',
-          name: '王小虎',
-          address: '上海市普陀区金沙江路 1519 弄'
-        }, {
-          date: '2016-05-03',
-          name: '王小虎',
-          address: '上海市普陀区金沙江路 1516 弄'
-        }],
-        options: [{
-          value: '选项1',
-          label: '黄金糕'
-        }, {
-          value: '选项2',
-          label: '双皮奶'
-        }, {
-          value: '选项3',
-          label: '蚵仔煎'
-        }, {
-          value: '选项4',
-          label: '龙须面'
-        }, {
-          value: '选项5',
-          label: '北京烤鸭'
-        }],
-        value: ''
+        currentPage: 1,
+        pageSize: 10,
+        deptBudgetTotal: 0,
+        deptCircularPage: {},
+        compId: '',
+        accountName: '',
+        tableData: [],
+        // tableData: [{
+        //   date: '2016-05-02',
+        //   name: '王小虎',
+        //   address: '上海市普陀区金沙江路 1518 弄'
+        // }, {
+        //   date: '2016-05-04',
+        //   name: '王小虎',
+        //   address: '上海市普陀区金沙江路 1517 弄'
+        // }, {
+        //   date: '2016-05-01',
+        //   name: '王小虎',
+        //   address: '上海市普陀区金沙江路 1519 弄'
+        // }, {
+        //   date: '2016-05-03',
+        //   name: '王小虎',
+        //   address: '上海市普陀区金沙江路 1516 弄'
+        // }],
+        warehouseList: [],
+        // warehouseList: [{
+        //   value: '选项1',
+        //   label: '黄金糕'
+        // }, {
+        //   value: '选项2',
+        //   label: '双皮奶'
+        // }, {
+        //   value: '选项3',
+        //   label: '蚵仔煎'
+        // }, {
+        //   value: '选项4',
+        //   label: '龙须面'
+        // }, {
+        //   value: '选项5',
+        //   label: '北京烤鸭'
+        // }],
+        selectVal: ''
       }
     },
     activated() {
-
+      this.getList()
     },
+    computed() {},
     created() {
-      this.value = this.options[0].value
+      debugger
+      //获取公司id
+      this.compId = sessionStorage.getItem('ws-pf_compId')
+      //用户名
+      this.accountName = sessionStorage.getItem('ws-pf_staffName')
+      this.getWarehouseSelf()
+
     },
     methods: {
-      newAcquisition(){
+      handleSizeChange(val) {
+        console.log(`每页 ${val} 条`)
+        this.pageSize = val
+        this.getList()
+      },
+      handleCurrentChange(val) {
+        this.currentPage = val
+        console.log(`当前页: ${val}`)
+        this.getList()
+      },
+      warehouseChange(e) {
+        console.log(e)
+      },
+      newAcquisition(index, row, type) {
+        debugger
+          let _obj = {}
+          let _query = {}
+        switch (type) {
+          case '新增':
+            _obj = this.warehouseList.find((item) => {
+              return item.id === this.selectVal;
+            });
+            console.log(_obj)
+            _query = {
+            warehouseId: _obj.id,
+            warehouseName: _obj.warehouseName,
+            compId: this.compId,
+            type:type
+          }
+            break
+          case '编辑':
+            break
+          case "查看":
+          _query = {
+            data:row,
+            type:type
+          }
+            break
+          default:
+            break
+        }
         this.$router.push({
-          name: 'acquisitionManagementAdd'
-          // query: { id: row.id },
+          name: 'acquisitionManagementAdd',
+          query: _query
         })
+      },
+      //获取仓库
+      getWarehouseSelf() {
+        selectWarehouseSelf({
+          compId: this.compId,
+          personCharge: this.accountName,
+        }).toPromise().then((response) => {
+          console.log(response)
+          this.warehouseList = response
+          this.selectVal = this.warehouseList[0].id
+          // this.tableData = response.records
 
+        })
+      },
+      //获取列表数据
+      getList() {
+        getPurchasePrice({
+          currentPage: this.currentPage,
+          pageSize: this.pageSize,
+          warehouseId: this.selectVal,
+          compId: this.compId,
+        }).toPromise().then((response) => {
+          console.log(response)
+          this.tableData = response.records
+        })
       },
       allowEdit(val) {
         console.log(val)
+        purchasePriceAllowEdit({}).toPromise().then((response) => {
+          console.log(response)
+          // this.tableData = response.records
+        })
       },
       handleEdit(index, row) {
         console.log(index, row);
       },
-      handleDelete(index, row) {
+      delRow(index, row) {
         this.visible = true
         console.log(index, row);
-      }
+      },
+      print() {}
     },
   }
 </script>
 <style lang="scss" scoped>
-  .header{
+  .header {
     display: flex;
     justify-content: space-between;
     align-items: center;

+ 439 - 69
src/views/houseSelfCollect/acquisitionManagementAdd.vue

@@ -1,46 +1,47 @@
-<!--收购管理新增-->
+<!-- <!--收购管理新增-->
 <template>
   <el-container class="container">
+    <div class="type">{{type}}</div>
     <el-header class="header">
       <img class="head-icon" src="../../../public/img/icons/acquisition6.png" alt="">
-      <div class="head-title">鲅鱼圈一号库</div>
+      <div class="head-title">{{baseInfoForm.warehouseName}}</div>
     </el-header>
-    <el-main>
-      <el-form ref="form" label-position="left" :model="form" label-width="120px">
+    <el-main v-show="isCountShow">
+      <el-form ref="baseInfoForm" label-position="left" :model="baseInfoForm" label-width="120px">
         <el-row class="base-info">
           基本信息
         </el-row>
         <div class="row1">
           <div class="grid-content">
             <el-form-item label="货名">
-              <el-input v-model="form.name"></el-input>
+              <el-input v-model="baseInfoForm.goodsName"></el-input>
             </el-form-item>
           </div>
           <div class="grid-content">
             <el-form-item label="基准水分(%)">
-              <el-input v-model="form.name"></el-input>
+              <el-input v-model="baseInfoForm.waterBase" @input="changeBaseWater"></el-input>
             </el-form-item>
           </div>
           <div class="grid-content">
             <el-form-item label="扣重比">
-              <el-input v-model="form.name"></el-input>
+              <el-input v-model="baseInfoForm.deductWeight"></el-input>
             </el-form-item>
           </div>
         </div>
         <div class="row2">
           <div class="grid-content">
             <el-form-item label="干粮水分">
-              <el-input v-model="form.name"></el-input>
+              <el-input v-model="baseInfoForm.waterMin" @input="changeMinWater"></el-input>
             </el-form-item>
           </div>
           <div class="grid-content">
             <el-form-item label="水分上限">
-              <el-input v-model="form.name"></el-input>
+              <el-input v-model="baseInfoForm.waterMax" @input="changeMaxWater"></el-input>
             </el-form-item>
           </div>
           <div class="grid-content">
             <el-form-item label="销售上限(年/吨)">
-              <el-input v-model="form.name"></el-input>
+              <el-input v-model="baseInfoForm.saleLimit"></el-input>
             </el-form-item>
           </div>
         </div>
@@ -54,12 +55,13 @@
           <div class="top">
             <div class="left">
               <div class="text">基准单价(元/公斤)</div>
-              <el-input v-model="priceList.name"></el-input>
+              <el-input v-model="item.basicUnitPrice"></el-input>
             </div>
             <el-button @click="delSetPrice(item,index)">删除</el-button>
           </div>
+          {{item}}
           <div class="level">
-            <el-checkbox-group v-model="checkList" @change="changeLevel">
+            <el-checkbox-group v-model="item.checkList" @change="changeLevel($event,index)">
               <el-checkbox label="一等"></el-checkbox>
               <el-checkbox label="二等"></el-checkbox>
               <el-checkbox label="三等"></el-checkbox>
@@ -84,7 +86,14 @@
                       v-show="item1.type!=1&&item1.type!=2&&item1.type!=3">-</span>
                   </div>
                   <div v-show="item1.type!=4">
-                    <input class="water-price" v-model="form.name" :disabled="item1.isWrite?false:true"></input>
+                    <input v-if='item1.type==1' class="water-price" v-model="baseInfoForm.waterMin"
+                      :disabled="item1.isWrite?false:true"></input>
+                    <input v-if='item1.type==2' class="water-price" v-model="baseInfoForm.waterBase"
+                      :disabled="item1.isWrite?false:true"></input>
+                    <input v-if='item1.type==3' class="water-price" v-model="baseInfoForm.waterMax"
+                      :disabled="item1.isWrite?false:true"></input>
+                    <input v-if='item1.type==5' class="water-price" v-model="item1.water"
+                      :disabled="item1.isWrite?false:true"></input>
                   </div>
                   <div class="circle" v-if="item1.type!=4"></div>
                 </div>
@@ -95,14 +104,38 @@
             </div>
           </div>
         </div>
-      </el-row>
 
+        <el-button class="submit" @click="submit">提交</el-button>
+      </el-row>
+    </el-main>
+    <el-main v-show="!isCountShow">
+      <div class="page2-content">
+        <div class="titel">
+          玉米价格对照表(按水分)
+        </div>
+        <el-table :data="tableData" style="width: 100%" :row-class-name="tableRowClassName">
+          <el-table-column prop="waterMin" label="水分下限(%)">
+          </el-table-column>
+          <el-table-column prop="waterMax" label="水分上限(%)">
+          </el-table-column>
+          <el-table-column prop="price1" label="一等单价">
+          </el-table-column>
+          <el-table-column prop="price2" label="二等单价">
+          </el-table-column>
+          <el-table-column prop="price3" label="三等单价">
+          </el-table-column>
+          <el-table-column prop="price4" label="等外单价">
+          </el-table-column>
+        </el-table>
+      </div>
+      <el-button class="submit" @click="closeCount">关闭</el-button>
     </el-main>
   </el-container>
 </template>
 <script>
-  // import { getList,} from '@/model/houseSelfCollect/index'
-
+  import {
+    purchasePriceAdd
+  } from '@/model/houseSelfCollect/index'
   export default {
 
     components: {
@@ -113,49 +146,165 @@
     },
     data() {
       return {
+        tableData: [{
+          waterMin: '10',
+          waterMax: '20',
+          price1: '30',
+          price2: '30',
+          price3: '30',
+          price4: '30',
+        }, {
+          waterMin: '11',
+          waterMax: '20',
+          price1: '30',
+          price2: '30',
+          price3: '30',
+          price4: '30',
+        }, {
+          waterMin: '12',
+          waterMax: '20',
+          price1: '30',
+          price2: '30',
+          price3: '30',
+          price4: '30',
+        }, {
+          waterMin: '13',
+          waterMax: '20',
+          price1: '30',
+          price2: '30',
+          price3: '30',
+          price4: '30',
+        }],
+        isCountShow: true,
         priceList: [{
           unitPrice: '',
           index: 0,
+          checkList: [],
+          basicUnitPrice: "",
           detailList: [{
               type: 1,
               name: "干粮",
-              water: '15',
+              water: "",
               isWrite: false
             },
             {
               type: 4,
-              jfprice: "0.03"
+              jfprice: ""
             },
             {
               type: 2,
               name: "基准",
-              water: '30',
+              water: '',
               isWrite: false
             },
             {
               type: 4,
-              jfprice: "0.03"
+              jfprice: ""
             },
             {
               type: 3,
               name: "上限",
-              water: '40',
+              water: '',
               isWrite: false
             },
           ],
         }],
-        checkList: [],
-        form: {
-          name: "姓名"
+        splitPriceList: [],
+        baseInfoForm: {
+          warehouseId: '',
+          warehouseName: '',
+          compId: '',
+          goodsNameKey: '',
+          goodsName: '',
+          waterBase: '',
+          deductWeight: '',
+          waterMin: '',
+          waterMax: '',
+          saleLimit: '',
+          statusFlag: '',
+          status: '',
+          workflowId: '',
+          approveStatus: '',
+          passDate: '',
+          details: [],
+          detailPrints: []
         },
-
-        index: 0
+        index: 0,
+        type: '',
+        isEdit: true
+      }
+    },
+    created() {
+      debugger
+      this.baseInfoForm.warehouseId = this.$route.query.warehouseId
+      this.baseInfoForm.warehouseName = this.$route.query.warehouseName
+      this.baseInfoForm.compId = this.$route.query.compId
+      this.type = this.$route.query.type
+      console.log(this.baseInfoForm)
+      this.priceList[0].detailList[0].water = this.baseInfoForm.waterMin
+      this.priceList[0].detailList[2].water = this.baseInfoForm.waterBase
+      this.priceList[0].detailList[4].water = this.baseInfoForm.waterMax
+      switch (this.$route.query.type) {
+        case "新增":
+          break;
+        case "编辑":
+          break;
+        case "查看":
+
+          break;
+        default:
+          break
       }
     },
-    created() {},
+    mounted() {
+      debugger
+
+
+    },
     methods: {
+      changeBaseWater(val) {
+        console.log('val', val)
+        for (let i = 0; i < this.priceList.length; i++) {
+          for (let k = 0; k < this.priceList[i].detailList.length; k++) {
+            if (this.priceList[i].detailList[k].type == 2) {
+              this.priceList[i].detailList[k].water = val
+            }
+          }
+        }
+      },
+      changeMinWater(val) {
+        console.log('val', val)
+        for (let i = 0; i < this.priceList.length; i++) {
+          for (let k = 0; k < this.priceList[i].detailList.length; k++) {
+            if (this.priceList[i].detailList[k].type == 1) {
+              this.priceList[i].detailList[k].water = val
+            }
+          }
+        }
+      },
+      changeMaxWater(val) {
+        console.log('val', val)
+        for (let i = 0; i < this.priceList.length; i++) {
+          for (let k = 0; k < this.priceList[i].detailList.length; k++) {
+            if (this.priceList[i].detailList[k].type == 3) {
+              this.priceList[i].detailList[k].water = val
+            }
+          }
+        }
+      },
+      tableRowClassName({
+        row,
+        rowIndex
+      }) {
+        if (rowIndex === 1) {
+          return 'warning-row';
+        } else if (rowIndex === 3) {
+          return 'success-row';
+        }
+        return '';
+      },
+      // 增加分界
       add(item, item1, index) {
-        debugger
         // let _data = this.detailList;
         if (item.index > 2) {
           this.$message({
@@ -166,24 +315,25 @@
           item.index++
           item.detailList.splice(index + 1, 0, {
             name: "分界",
-            water: '30',
+            water: '',
             type: 5,
             index: 1,
             isWrite: true
-            // jfprice: "0.03"
           });
           item.detailList.splice(index + 1, 0, {
-            jfprice: "0.03",
+            jfprice: "",
             type: 4
           });
           this.makeSpliceIndex(item, item1, index)
         }
       },
+      // 减少分界
       reduce(item, item1, index) {
         item.index--
         item.detailList.splice(index, 2);
         console.log(item, index)
       },
+      // 设置分界索引排序
       makeSpliceIndex(item, item1) {
         let _index = 0
         for (let j = 0; j < item.detailList.length; j++) {
@@ -193,80 +343,268 @@
           }
         }
       },
-      changeLevel() {
-        console.log(this.checkList)
+      // 复选框变化监听
+      changeLevel(val, index) {
+        console.log("val", val)
+        let _data = this.priceList
+        for (let i = 0; i < _data.length; i++) {
+          let _childData = _data[i].checkList
+          for (let k = 0; k < _childData.length; k++) {
+            for (let j = 0; j < val.length; j++) {
+              if (val[j] == _childData[k] && i != index) {
+                _childData.splice(k, 1)
+              }
+            }
+          }
+        }
       },
       newSetPrice() {
         let _newObj = {
           unitPrice: '',
           index: 0,
+          checkList: [],
           detailList: [{
               type: 1,
               name: "干粮",
-              water: '15',
+              water: this.baseInfoForm.waterMin,
               isWrite: false
             },
             {
               type: 4,
-              jfprice: "0.03"
+              jfprice: ""
             },
             {
               type: 2,
               name: "基准",
-              water: '30',
+              water: this.baseInfoForm.waterBase,
               isWrite: false
             },
             {
               type: 4,
-              jfprice: "0.03"
+              jfprice: ""
             },
             {
               type: 3,
               name: "上限",
-              water: '40',
+              water: this.baseInfoForm.waterMax,
               isWrite: false
             },
           ],
         }
         this.priceList.push(_newObj)
       },
-      delSetPrice() {
-        let _newObj = {
-          unitPrice: '',
-          detailList: [{
-              type: 1,
-              name: "干粮",
-              water: '15',
-              isWrite: false
-            },
-            {
-              type: 4,
-              jfprice: "0.03"
-            },
-            {
-              type: 2,
-              name: "基准",
-              water: '30',
-              isWrite: false
-            },
-            {
-              type: 4,
-              jfprice: "0.03"
-            },
-            {
-              type: 3,
-              name: "上限",
-              water: '40',
-              isWrite: false
-            },
-          ],
+      // 删除价格组
+      delSetPrice(item, index) {
+        this.$confirm(
+            '确认删除本组设置?',
+            '提示', {
+              confirmButtonText: '确定',
+              cancelButtonText: '取消',
+              type: 'warning',
+            }
+          )
+          .then(() => {
+            this.priceList.splice(index, 1)
+          })
+          .catch(() => {
+            return false
+          })
+      },
+      // 提交
+      submit() {
+        debugger
+        this.isCountShow = false
+        for (let k = 0; k < this.priceList.length; k++) {
+          // 新增
+          let _detailsObj = {
+            compId: this.baseInfoForm.warehouseId,
+            basePrice: this.priceList[k].basicUnitPrice,
+            level: '',
+            point: '',
+            pointPrice: ''
+          }
+          for (let j = 0; j < this.priceList[k].checkList.length; j++) {
+            if (j == 0) {
+              _detailsObj.level += this.priceList[k].checkList[j]
+            } else {
+              _detailsObj.level += ',' + this.priceList[k].checkList[j]
+            }
+          }
+          let _index = 0
+          let _index1 = 0
+          for (let i = 0; i < this.priceList[k].detailList.length; i++) {
+            if (this.priceList[k].detailList[i].type == 4) {
+              if (_index == 0) {
+                _index++
+                _detailsObj.pointPrice += this.priceList[k].detailList[i].jfprice
+
+              } else {
+                _detailsObj.pointPrice += ',' + this.priceList[k].detailList[i].jfprice
+              }
+            } else if (_index1 == 0) {
+              _index1++
+              _detailsObj.point += this.priceList[k].detailList[i].water
+            } else {
+              _detailsObj.point += ',' + this.priceList[k].detailList[i].water
+            }
+          }
+
+          debugger
+          this.baseInfoForm.details.push(_detailsObj)
+
+        }
+
+        this.makeTableList()
+        purchasePriceAdd(this.baseInfoForm).toPromise().then((response) => {
+          console.log(response)
+          // this.tableData = response.records
+        })
+      },
+      closeCount() {
+        this.isCountShow = true
+        this.splitPriceList = []
+      },
+      //处理表格数据
+      makeTableList() {
+        // this.tableData
+        //水分下限
+        // this.baseInfoForm.waterMin
+        // 水分上限
+        // this.baseInfoForm.waterMax
+        // price1
+
+        // 获取等级对应分界钱数
+        this.getSplitPrice()
+        // 分界价钱数据
+        // this.splitPriceList
+        let _list = []
+        let _obj = {}
+        let _waterMin = parseFloat(this.baseInfoForm.waterMin)
+        let _waterMax = this.baseInfoForm.waterMax
+        let _count = (_waterMax - _waterMin) / 0.5 + 1
+        for (let i = 0; i < _count; i++) {
+          if (i == 0) {
+            let priceList = this.calculatePrice(_waterMin)
+            _obj = {
+              waterMin: _waterMin,
+              waterMax: _waterMin + 0.4,
+              price1: priceList[0],
+              price2: priceList[1],
+              price3: priceList[2],
+              price4: priceList[3],
+            }
+          } else {
+            _waterMin += 0.5
+            let priceList = this.calculatePrice(_waterMin)
+            _obj = {
+              waterMin: _waterMin,
+              waterMax: _waterMin + 0.4,
+              price1: priceList[0],
+              price2: priceList[1],
+              price3: priceList[2],
+              price4: priceList[3],
+            }
+          }
+          _list.push(_obj)
+        }
+        this.tableData = _list
+      },
+      // 获取分界价格数据
+      getSplitPrice() {
+
+        let _priceList = this.priceList
+        for (let i = 0; i < _priceList.length; i++) {
+          for (let k = 0; k < _priceList[i].checkList.length; k++) {
+            let _obj = {}
+            _obj.level = _priceList[i].checkList[k]
+            _obj.basicUnitPrice = _priceList[i].basicUnitPrice
+            _obj.priceList = []
+            _obj.haveSplit = false
+            for (let j = 0; j < _priceList[i].detailList.length; j++) {
+              if (_priceList[i].detailList[j].type == 5) {
+                _obj.haveSplit = true
+              }
+              if (_priceList[i].detailList[j].type != 4 && _priceList[i].detailList[j].type != 3) {
+                _obj.priceList.push({
+                  type: parseFloat(_priceList[i].detailList[j].type),
+                  priceStart: parseFloat(_priceList[i].detailList[j].water),
+                  priceEnd: parseFloat(_priceList[i].detailList[j + 2].water),
+                  betweenPrice: parseFloat(_priceList[i].detailList[j + 1].jfprice),
+                  totalPrice: (parseFloat(_priceList[i].detailList[j + 2].water) - parseFloat(_priceList[i]
+                    .detailList[j].water)) / 0.5 * parseFloat(_priceList[i].detailList[j + 1].jfprice)
+                })
+              }
+            }
+            console.log(_obj)
+            this.splitPriceList.push(_obj)
+
+            console.log(this.splitPriceList)
+          }
+        }
+      },
+      getOtherPrice(list) {
+
+      },
+      // 计算价格
+      calculatePrice(_waterMin) {
+        console.log(_waterMin)
+        console.log("this.splitPriceList", this.splitPriceList)
+        let prcieList = []
+        let totalPrice = []
+        let _price = 0
+        for (let i = 0; i < this.splitPriceList.length; i++) {
+          let _list = this.splitPriceList[i].priceList
+          let basePrice = parseFloat(this.splitPriceList[i].basicUnitPrice) * parseFloat(this.baseInfoForm
+            .waterBase) * 0.01
+          for (let k = 0; k < _list.length; k++) {
+            //基准左边
+            if (_waterMin < parseFloat(this.baseInfoForm.waterBase)) {
+              if (_waterMin >= _list[k].priceStart && _waterMin < _list[k].priceEnd && !this.splitPriceList[i]
+                .haveSplit) {
+                _price = basePrice + (parseFloat(this.baseInfoForm.waterBase) - _waterMin) / 0.5 *
+                  _list[k].betweenPrice
+                prcieList.push(_price)
+              } else if (_waterMin >= _list[k].priceStart && _waterMin < _list[k].priceEnd) {
+                // 当前段价格+其他段价格
+                let _otherPice = this.getOtherPrice(_list[k])
+                let _price1 = (_list[k].priceEnd - _waterMin) / 0.5 * _list[k].betweenPrice + _otherPice;
+
+
+
+                // _price+=_list[k].totalPrice
+
+              }
+
+            }
+            //基准值
+            else if (_waterMin = parseFloat(this.baseInfoForm.waterBase)) {
+
+            }
+            // 基准右边
+            else {
+
+            }
+
+
+          }
         }
-        // this.detailList.push(_newObj)
+        return prcieList
+
       }
+
+
     },
   }
 </script>
 <style lang="scss">
+  .el-table .warning-row {
+    background: oldlace;
+  }
+
+  .el-table .success-row {
+    background: #f0f9eb;
+  }
+
   .el-checkbox__input.is-checked .el-checkbox__inner,
   .el-checkbox__input.is-indeterminate .el-checkbox__inner {
     background-color: #5878E8;
@@ -492,4 +830,36 @@
       }
     }
   }
+
+  .submit {
+    float: right;
+    width: 74px;
+    height: 32px;
+    background: #5473E8;
+    color: white;
+    border-radius: 4px;
+  }
+
+  .page2-content {
+    border: 1px solid #D8DCE6;
+    margin-top: 20px;
+    padding: 10px;
+    box-sizing: border-box;
+    text-align: center;
+    border-radius: 4px;
+    padding-bottom: 20px;
+  }
+
+  .titel {
+    font-size: 20px;
+    font-weight: 500;
+    color: #323233;
+    margin: 20px;
+  }
+
+  .type {
+    font-size: 16px;
+    font-weight: 500;
+    color: #262626;
+  }
 </style>

+ 49 - 40
src/views/houseSelfCollect/customerManagement.vue

@@ -4,7 +4,7 @@
     <BaseHeaderLayout :leftSpan="12">
       <template slot="left">
         <ws-button type="primary" @click="getCustomer()">获取客户</ws-button>
-        <ws-button type="primary" @click="createCustomer()"
+        <ws-button type="primary" @click="createCustomer(1)"
           >创建新客户</ws-button
         >
       </template>
@@ -80,7 +80,7 @@
     </div>
 
     <el-table
-      :data="customertList.records"
+      :data="customertList"
       style="width: 100%; margin-top: 20px"
       ref="warehouseList"
       border
@@ -92,15 +92,15 @@
           <span v-else>{{ scope.$index + 1 }}</span>
         </template>
       </el-table-column>
-      <el-table-column prop="contractNo" label="客户"></el-table-column>
-      <el-table-column prop="goodsName" label="手机号"></el-table-column>
-      <el-table-column prop="weight" label="银行卡号"></el-table-column>
+      <el-table-column prop="customerName" label="客户"></el-table-column>
+      <el-table-column prop="customerPhone" label="手机号"></el-table-column>
+      <el-table-column prop="bankCard" label="银行卡号"></el-table-column>
+      <el-table-column prop="bankDeposit" label="开户行"></el-table-column>
+      <el-table-column prop="payeeName" label="收款人"></el-table-column>
       <el-table-column
-        prop="unitContractPrice"
-        label="开户行"
+        prop="authenticationStatus"
+        label="状态"
       ></el-table-column>
-      <el-table-column prop="packingMethod" label="收款人"></el-table-column>
-      <el-table-column prop="status" label="状态"></el-table-column>
       <el-table-column prop="address" label="操作">
         <template slot-scope="scope">
           <img
@@ -108,7 +108,7 @@
             height="16"
             style="vertical-align: text-top; margin: 0 6px"
             src="../../../public/img/chakan.png"
-            @click="handleExamine(scope.row)"
+            @click="createCustomer(scope.row,2)"
             v-hasPermission="
               `contractManagement.buyContract.buyContractInfo.view`
             "
@@ -119,7 +119,7 @@
             height="16"
             style="vertical-align: text-top; margin: 0 6px"
             src="../../../public/img/bianji.png"
-            @click="handleEdit(scope.row)"
+            @click="createCustomer(scope.row,3)"
             v-hasPermission="
               `contractManagement.buyContract.buyContractInfo.edit`
             "
@@ -158,8 +158,10 @@
   </div>
 </template>
 <script>
-// import xx
-// '@/model/houseSelfCollect/index'
+import {
+  getCustomerManage,
+  getCustomerDelete,
+} from '@/model/houseSelfCollect/index'
 import QRCode from 'qrcodejs2'
 import customerManagementAdd from './customerManagementAdd.vue'
 export default {
@@ -172,18 +174,7 @@ export default {
       searchKeyWord: '',
       customerDialogVisible: false,
       creatNewCustomerDialogVisible: false,
-      customertList: {
-        records: [
-          {
-            contractNo: '小王',
-            goodsName: '17127741111',
-            weight: '111111111',
-            unitContractPrice: '312321312132321',
-            packingMethod: '12213321231fsfssfd',
-            status: 'fsdfsdfsd',
-          },
-        ],
-      },
+      customertList: [],
       currentPage: 1,
       pageSize: 10,
       deptBudgetTotal: 0,
@@ -193,9 +184,12 @@ export default {
       searchType: '',
     }
   },
+  activated() {
+    this.getList()
+  },
   methods: {
     find() {
-      console.log('搜索')
+      this.getList()
     },
     //获取客户
     getCustomer() {
@@ -208,18 +202,17 @@ export default {
           text: 'https://www.baidu.com',
           colorDark: '#109dff',
           colorLight: '#d9d9d9',
-          
         })
       })
     },
     //选择仓库改变事件
     selecttaskType() {},
     //创建客户
-    createCustomer() {
-      // this.creatNewCustomerDialogVisible = true
+    createCustomer(row,num) {
+      let type = num
       this.$router.push({
         name: 'customerManagementAdd',
-        // query: { id: row.id },
+        query: { types: type ,id:row.id},
       })
     },
     handleSizeChange(val) {
@@ -232,15 +225,8 @@ export default {
       console.log(`当前页: ${val}`)
       this.getList()
     },
-    handleExamine(row) {
-      console.log(row)
-      // this.$router.push({
-      //   name: 'purchaseContractExamine',
-      //   query: { id: row.id, status: row.status },
-      // })
-    },
+    
     handleEdit(row) {
-      console.log(row)
       this.$router.push({
         name: 'customerManagementEdit',
         query: {
@@ -254,12 +240,35 @@ export default {
         cancelButtonText: '取消',
         type: 'warning',
       })
-        .then(() => {})
+        .then(() => {
+          getCustomerDelete({
+            compId: sessionStorage.getItem('ws-pf_compId'),
+            id:row.id
+          })
+            .toPromise()
+            .then((response) => {
+             this.$message.success('删除成功')
+             this.getList()
+            })
+        })
         .catch(() => {
           return false
         })
     },
-    getList() {},
+    getList() {
+      getCustomerManage({
+        compId: sessionStorage.getItem('ws-pf_compId'),
+        currentPage: this.currentPage,
+        pageSize: this.pageSize,
+        searchKeyWord: this.searchKeyWord
+      })
+        .toPromise()
+        .then((response) => {
+          console.log(response)
+          this.customertList = response.records
+           this.deptBudgetTotal = response.total
+        })
+    },
   },
 }
 </script>

+ 483 - 117
src/views/houseSelfCollect/customerManagementAdd.vue

@@ -1,9 +1,9 @@
 <!--客户管理-->
 <template>
-  <div class="content">
-     <!-- <el-row>
+  <div class="center">
+    <el-row>
       <el-col :span="12">
-        <h2 class="bg-left titleup">{{ information }}质检信息</h2>
+        <h2 class="bg-left titleup">{{ trader }}粮商</h2>
       </el-col>
       <el-col :span="12" class="bg-right">
         <el-button class="bg-bottom" type="primary" size="small" @click="cancel"
@@ -16,42 +16,220 @@
           />返回</el-button
         >
       </el-col>
-    </el-row> -->
-    <div class="title">新增粮商</div>
+    </el-row>
+    <!-- <div>
+
+    </div> -->
+    <!-- <div class="title">新增粮商</div> -->
     <div class="unload">
-      <el-upload action="https://jsonplaceholder.typicode.com/posts/" :limit="2" list-type="picture-card"
-        :on-preview="handlePictureCardPreview" :on-remove="handleRemove">
-        <i class="el-icon-plus"></i>
-      </el-upload>
-      <el-form ref="form" :model="form" label-width="120px">
-        <el-form-item label="姓名">
-          <el-input v-model="form.name"></el-input>
-        </el-form-item>
-        <el-form-item label="身份证号">
-          <el-input v-model="form.name"></el-input>
-        </el-form-item>
-        <el-form-item label="银行卡号">
-          <el-input v-model="form.name"></el-input>
-        </el-form-item>
-        <el-form-item label="开户行">
-          <el-input v-model="form.name"></el-input>
-        </el-form-item>
-        <el-form-item label="开户支行">
-          <el-input v-model="form.name"></el-input>
-        </el-form-item>
-        <el-form-item label="收款人姓名">
-          <el-input v-model="form.name"></el-input>
-        </el-form-item>
-        <el-form-item label="收款人身份证号">
-          <el-input v-model="form.name"></el-input>
-        </el-form-item>
-        <el-form-item label="手机号">
+      <ws-form ref="customerList" :model="customerList" label-width="120px">
+        <ws-info-table>
+          <div style="display: flex; width: 100%; text-align: center">
+            <div v-if="switchType==1" style="width: 50%; margin: 0 auto">
+               上传身份证正面
+              <el-upload
+                action="https://www.zthymaoyi.com/upload/admin"
+                :limit="1"
+                list-type="picture-card"
+                :on-preview="handlePictureCardPreview"
+                :on-remove="handleRemove"
+                :auto-upload="true"
+                :on-success="upLoadSuccess1"
+                :disabled="disabled"
+              >
+                <i class="el-icon-plus"></i>
+              </el-upload>
+            </div>
+            <div style="width: 50%; margin: 0 auto" :class="identityUp" v-if="switchType==2||switchType==3">
+              上传身份证正面
+              <el-upload
+                action="https://www.zthymaoyi.com/upload/admin"
+                :limit="1"
+                list-type="picture-card"
+                :on-preview="handlePictureCardPreview"
+                :on-remove="(file) => {handleRemove(file,identityUp)}"
+                :auto-upload="true"
+                :on-success="upLoadSuccess1"
+                :disabled="disabled"
+                :file-list="identityImgUp"
+              >
+                <i class="el-icon-plus"></i>
+              </el-upload>
+            </div>
+            <div v-if="switchType==1" style="width: 50%; margin: 0 auto">
+               上传身份证反面
+              <el-upload
+                action="https://www.zthymaoyi.com/upload/admin"
+                :limit="1"
+                list-type="picture-card"
+                :on-preview="handlePictureCardPreview"
+                :on-remove="handleRemove"
+                :auto-upload="true"
+                :on-success="upLoadSuccess2"
+                :disabled = "disabled"
+              >
+                <i class="el-icon-plus"></i>
+              </el-upload>
+
+            </div>
+            <div style="width: 50%; margin: 0 auto" v-if="switchType==2||switchType==3" class="low">
+              上传身份证反面
+              <el-upload
+                action="https://www.zthymaoyi.com/upload/admin"
+                :limit="1"
+                list-type="picture-card"
+                :on-preview="handlePictureCardPreview"
+                :on-remove="handleRemove"
+                :auto-upload="true"
+                :on-success="upLoadSuccess2"
+                :disabled="disabled"
+                :file-list="identityImgLow"
+              >
+                <i class="el-icon-plus"></i>
+              </el-upload>
+            </div>
+          </div>
+
+          <ws-form-item label="姓名" span="1" prop="customerName">
+            <ws-input
+              v-model="customerList.customerName"
+              placeholder="请输入姓名"
+              maxlength="100"
+              size="small"
+              :disabled="disabled"
+            />
+          </ws-form-item>
+          <ws-form-item label="身份证号" span="1" prop="customerNumberCard">
+            <ws-input
+              v-model="customerList.customerNumberCard"
+              placeholder="请输入身份证号"
+              maxlength="100"
+              size="small"
+              :disabled="disabled"
+            />
+          </ws-form-item>
+          <div style="display: flex; width: 100%; text-align: center">
+            <div style="width: 50%; margin: 0 auto" v-if="switchType==1" >
+               上传银行卡正面
+              <el-upload
+                action="https://www.zthymaoyi.com/upload/admin"
+                :limit="1"
+                list-type="picture-card"
+                :on-preview="handlePictureCardPreview"
+                :on-remove="handleRemove1"
+                :auto-upload="true"
+                :on-success="bankSuccess1"
+                :disabled="disabled"
+              >
+                <i class="el-icon-plus"></i>
+              </el-upload>
+            </div>
+            <div style="width: 50%; margin: 0 auto" v-if="switchType==2||switchType==3" class="bankUp">
+              上传银行卡正面
+              <el-upload
+                action="https://www.zthymaoyi.com/upload/admin"
+                :limit="1"
+                list-type="picture-card"
+                :on-preview="handlePictureCardPreview"
+                :on-remove="handleRemove1"
+                :auto-upload="true"
+                :on-success="bankSuccess1"
+                :disabled="disabled"
+                :file-list="bankImgUp"
+              >
+                <i class="el-icon-plus"></i>
+              </el-upload>
+            </div>
+            <div style="width: 50%; margin: 0 auto" v-if="switchType==1">
+              上传银行卡反面
+              <el-upload
+                action="https://www.zthymaoyi.com/upload/admin"
+                :limit="1"
+                list-type="picture-card"
+                :on-preview="handlePictureCardPreview"
+                :on-remove="handleRemove1"
+                :auto-upload="true"
+                :on-success="bankSuccess2"
+                :disabled="disabled"
+              >
+                <i class="el-icon-plus"></i>
+              </el-upload>
+            </div>
+            <div style="width: 50%; margin: 0 auto" v-if="switchType==2||switchType==3" class="bankLow">
+              上传银行卡反面
+              <el-upload
+                action="https://www.zthymaoyi.com/upload/admin"
+                :limit="1"
+                list-type="picture-card"
+                :on-preview="handlePictureCardPreview"
+                :on-remove="handleRemove1"
+                :auto-upload="true"
+                :on-success="bankSuccess2"
+                :disabled="disabled"
+                :file-list="bankImgLow"
+              >
+                <i class="el-icon-plus"></i>
+              </el-upload>
+            </div>
+          </div>
+          <ws-form-item label="银行卡号" span="1" prop="bankCard">
+            <ws-input
+              v-model="customerList.bankCard"
+              placeholder="请输入银行卡号"
+              maxlength="100"
+              size="small"
+              :disabled="disabled"
+            />
+          </ws-form-item>
+          <ws-form-item label="开户行" span="1" prop="bankDeposit">
+            <ws-input
+              v-model="customerList.bankDeposit"
+              placeholder="请输入开户行"
+              maxlength="100"
+              size="small"
+              :disabled="disabled"
+            />
+          </ws-form-item>
+          <ws-form-item label="开户支行" span="1" prop="bankDepositBranch">
+            <ws-input
+              v-model="customerList.bankDepositBranch"
+              placeholder="请输入开户支行"
+              maxlength="100"
+              size="small"
+              :disabled="disabled"
+            />
+          </ws-form-item>
+          <ws-form-item label="收款人姓名" span="1" prop="payeeName">
+            <ws-input
+              v-model="customerList.payeeName"
+              placeholder="请输入收款人姓名"
+              maxlength="100"
+              size="small"
+              :disabled="disabled"
+            />
+          </ws-form-item>
+          <ws-form-item label="收款人身份证号" span="1" prop="payeeNumberCard">
+            <ws-input
+              v-model="customerList.payeeNumberCard"
+              placeholder="请输入收款人身份证号"
+              maxlength="100"
+              size="small"
+              :disabled="disabled"
+            />
+          </ws-form-item>
+          <ws-form-item label="手机号" span="1" prop="customerPhone">
+            <ws-input
+              v-model="customerList.customerPhone"
+              placeholder="请输入手机号"
+              maxlength="100"
+              size="small"
+              :disabled="disabled"
+            />
+          </ws-form-item>
+          <!-- 验证码 -->
+          <!-- <el-form-item prop="veriCode" :label="$t('login.register08')">
           <el-input v-model="form.name"></el-input>
-        </el-form-item>
-        <!-- 验证码 -->
-        <el-form-item prop="veriCode" :label="$t('login.register08')">
-            <el-input v-model="form.name"></el-input>
-   <!--       <div style="display: flex; justify-content: space-between">
+             <div style="display: flex; justify-content: space-between">
             <el-input
               v-model="form.name"
               :disabled="disabledFlag"
@@ -69,103 +247,291 @@
                 >{{ $t('login.retry') }}({{ count }})s</ws-button
               >
             </div>
-          </div> -->
-        </el-form-item>
-        <el-form-item label="联系地址">
-          <el-input v-model="form.name"></el-input>
-        </el-form-item>
-       </el-form>
+          </div> 
+        </el-form-item> -->
+          <ws-form-item label="联系地址" span="1" prop="compAddress">
+            <ws-input
+              v-model="customerList.compAddress"
+              placeholder="请输入联系地址"
+              maxlength="100"
+              size="small"
+              :disabled="disabled"
+            />
+          </ws-form-item>
+        </ws-info-table>
+        <div class="but">
+          <el-button type="primary" @click="commit" v-if="switchType==1 || switchType==3">提交</el-button>
+          <el-button type="primary" @click = "cancel" v-if="switchType==2">关闭</el-button>
+        </div>
+      </ws-form>
     </div>
   </div>
 </template>
 <script>
-  // import xx
-  // '@/model/houseSelfCollect/index'
-
-  export default {
-    components: {},
-    watch: {},
-    data() {
-      return {
-        dialogImageUrl: '',
-        dialogVisible: false,
-        form:{
-          name:'姓名'
-        },
-        disabledFlag: true,
+import {
+  customerAdd,
+  customerIdentity,
+  getCustomerLook,
+} from '@/model/houseSelfCollect/index'
 
+export default {
+  components: {},
+  watch: {},
+  data() {
+    return {
+      dialogImageUrl: '',
+      dialogVisible: false,
+      customerList: {},
+      disabledFlag: true,
+      disabled: false,
+      identity: [],
+      bank: [],
+      trader: '新增',
+      switchType:"",
+      identityImgUp:[
+        {
+          url:"",
+        }
+      ],
+      identityImgLow:[
+        {
+          url:"",
+        }
+      ],
+      bankImgUp:[
+        {
+          url:"",
+        }
+      ],
+      bankImgLow:[
+        {
+          url:""
+        }
+      ],
+      identityUp:"up",
+    }
+  },
+  activated() {
+   this.switchType = this.$route.query.types
+    if(this.$route.query.types == null){
+       this.switchType = 1
+    } 
+    let id = this.$route.query.id
+    if ( this.switchType == 2) {
+      this.disabled = true
+      this.trader = '查看'
+      this.getList(id)
+    } else if (this.switchType == 3) {
+      this.disabled = false
+      this.trader = '编辑'
+      this.getList(id)
+    }
+    console.log( this.switchType)
+  },
+  methods: {
+    handleRemove(file,a) {
+      console.log(file)
+      console.log(a)
+      for (let i = 0; i < this.identity.length; i++) {
+        if (file.response.url == this.identity[i]) {
+          this.identity.splice(i, 1, '')
+        }
       }
     },
-    methods: {
-      handleRemove(file, fileList) {
-        console.log(file, fileList);
-      },
-      handlePictureCardPreview(file) {
-        this.dialogImageUrl = file.url;
-        this.dialogVisible = true;
-      },
-      // 发送验证码
-      toSend() {
-        if (this.registerForm.linkmanPhone) {
-          if (validUserCellPhone(this.registerForm.linkmanPhone)) {
-            this.disabledFlag = false
-            clearInterval(this.timer)
-            this.timer = null
-            const TIME_COUNT = 60
-            if (!this.timer) {
-              this.count = TIME_COUNT
-              this.verification = false
-              let data = {
-                mobilePhone: this.registerForm.linkmanPhone,
-              }
-              sendRegisterCode(data)
-                .toPromise()
-                .then((res) => {
-                  this.timer = setInterval(() => {
-                    if (this.count > 0 && this.count <= TIME_COUNT) {
-                      this.count--
-                    } else {
-                      this.verification = true
-                      clearInterval(this.timer)
-                      this.timer = null
-                    }
-                  }, 1000)
-                })
-                .catch((err) => {
-                  this.verification = true
-                })
+    handleRemove1(file) {
+      for (let i = 0; i < this.bank.length; i++) {
+        if (file.response.url == this.bank[i]) {
+          this.bank.splice(i, 1, '')
+        }
+      }
+      console.log(this.bank)
+    },
+    handlePictureCardPreview(file) {
+      this.dialogImageUrl = file.url
+      this.dialogVisible = true
+    },
+    // 发送验证码
+    toSend() {
+      if (this.registerForm.linkmanPhone) {
+        if (validUserCellPhone(this.registerForm.linkmanPhone)) {
+          this.disabledFlag = false
+          clearInterval(this.timer)
+          this.timer = null
+          const TIME_COUNT = 60
+          if (!this.timer) {
+            this.count = TIME_COUNT
+            this.verification = false
+            let data = {
+              mobilePhone: this.registerForm.linkmanPhone,
             }
-          } else {
-            EventBus.$emit('error', this.$t('login.registerVerif09'))
+            sendRegisterCode(data)
+              .toPromise()
+              .then((res) => {
+                this.timer = setInterval(() => {
+                  if (this.count > 0 && this.count <= TIME_COUNT) {
+                    this.count--
+                  } else {
+                    this.verification = true
+                    clearInterval(this.timer)
+                    this.timer = null
+                  }
+                }, 1000)
+              })
+              .catch((err) => {
+                this.verification = true
+              })
           }
         } else {
-          EventBus.$emit('error', this.$t('login.registerVerif05'))
+          EventBus.$emit('error', this.$t('login.registerVerif09'))
         }
-      },
-    }
-  }
+      } else {
+        EventBus.$emit('error', this.$t('login.registerVerif05'))
+      }
+    },
+    cancel() {
+      this.$router.push({ path: 'customerManagement' })
+    },
+    upLoadSuccess1(e) {
+      this.identity[0] = e.url
+    },
+    upLoadSuccess2(e) {
+      this.identity[1] = e.url
+    },
+    bankSuccess1(e) {
+      this.bank[0] = e.url
+    },
+    bankSuccess2(e) {
+      this.bank[1] = e.url
+    },
+    commit() {
+      this.$confirm('确定提交客户信息?', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning',
+      })
+        .then(() => {
+          this.customerList.compId = sessionStorage.getItem('ws-pf_compId')
+          this.customerList.cardAddressUrl = this.identity.toString()
+          this.customerList.payeeAddressUrl = this.bank.toString()
+          this.customerList.customerTypeFlag = 1
+          this.customerList.customerType = '个人'
+          customerAdd(this.customerList)
+            .toPromise()
+            .then((response) => {
+              this.customerList.id = response
+              customerIdentity(this.customerList)
+                .toPromise()
+                .then((response) => {
+                  console.log(response.code)
+                  this.$message.success('添加成功')
+                  this.$router.push({ path: 'customerManagement' })
+                })
+
+              // this.$message.success('添加成功')
+              // this.$router.push({ path: 'customerManagement' })
+            })
+        })
+        .catch(() => {
+          return false
+        })
+    },
+    getList(ids) {
+       getCustomerLook({id:ids})
+        .toPromise()
+        .then((response) => {
+          this.customerList = response
+          this.identity = this.customerList.cardAddressUrl.split(",")
+          this.identityImgUp[0].url = this.identity[0]
+          this.identityImgLow[0].url = this.identity[1]
+          this.bank = this.customerList.payeeAddressUrl.split(",")
+             this.bankImgUp[0].url = this.bank[0] 
+             this.bankImgLow[0].url = this.bank[1]
+          
+        })
+    },
+  },
+}
 </script>
 <style lang="scss" scoped>
-  /deep/.el-form-item{
-    margin-bottom: 0;
-  }
-  .content {
-    padding: 20px;
-  }
+// /deep/.el-form-item {
+//   margin-bottom: 0;
+// }
+.center {
+  background: #f6f7fc;
+}
 
-  .seach {
-    display: flex;
-    align-items: center;
+.seach {
+  display: flex;
+  align-items: center;
 
-    .find {
-      width: 32px;
-    }
+  .find {
+    width: 32px;
+  }
 
-    .search-left {
-      display: flex;
-    }
+  .search-left {
+    display: flex;
   }
-  .titleup {
+}
+
+.ws-info-table {
+  border: none;
+  width: 50%;
+  margin: 0 auto;
+}
+.ws-info-table .el-form-item {
+  width: 50%;
+  border: none;
+}
+/deep/.ws-info-table .el-form-item .el-form-item__label {
+  width: 30%;
+  text-align: center;
+  background: #ffffff;
+  font-size: 14px;
+  color: #8890b1;
+}
+/deep/.ws-info-table .el-form-item .el-form-item__content {
+  border: none;
+}
+.bg-left {
+  padding-left: 30px;
+}
+.bg-right {
+  padding-right: 10px;
+  text-align: right;
+}
+.bg-bottom {
+  margin: 15px 0px;
+}
+.titleup {
   position: relative;
 }
+.titleup::before {
+  content: '';
+  display: inline-block;
+  width: 5px;
+  height: 30px;
+  background: #5473e8;
+  position: absolute;
+  left: 0;
+}
+.unload {
+  background: #ffffff;
+  padding-top: 20px;
+}
+.but {
+  text-align: center;
+  margin: 20px auto;
+}
+/deep/.up .el-upload--picture-card{
+  display: none;
+}
+/deep/.low .el-upload--picture-card{
+  display: none;
+}
+/deep/.bankUp .el-upload--picture-card{
+  display: none;
+}
+/deep/.bankLow .el-upload--picture-card{
+  display: none;
+}
 </style>

+ 9 - 7
src/views/houseSelfCollect/settlement.vue

@@ -23,7 +23,7 @@
     </el-row>
     <div class="substance">
       <ws-form>
-        <div style="width: 60%; margin: 0 auto">
+        <div style="width: 50%; margin: 0 auto">
           <div class="title">基本信息</div>
           <ws-info-table>
             <ws-form-item label="编号" span="1" prop="waterContent">
@@ -320,9 +320,9 @@
             </ws-form-item>
           </ws-info-table>
           <div class="but">
-            <el-button @click="cancel" v-if="this.types == 2" type="primary">取消</el-button>
-            <el-button @click="print" v-if="this.types == 2" type="primary">保存并打印</el-button>
-            <el-button @click="cancel" v-if="this.types == 1" type="primary">关闭</el-button>
+            <el-button @click="cancel" v-if="this.types == 1" type="primary">取消</el-button>
+            <el-button @click="print" v-if="this.types == 1" type="primary">保存并打印</el-button>
+            <el-button @click="cancel" v-if="this.types == 2" type="primary">关闭</el-button>
           </div>
         </div>
       </ws-form>
@@ -350,8 +350,10 @@ export default {
     this.types = this.$route.query.type
     if( this.types == 2){
          this.disabled=true
-         this.information = '查看'
-         
+         this.information = '查看'   
+    }else if(this.types == 1){
+      this.disabled=false
+         this.information = '结算'   
     }
     console.log( this.information)
   },
@@ -381,7 +383,7 @@ export default {
   border: none;
 }
 .ws-info-table .el-form-item {
-  width: 40%;
+  width: 50%;
   border: none;
 }
 /deep/.ws-info-table .el-form-item .el-form-item__label {

+ 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;

+ 104 - 159
src/views/tranManagement/tranManagementFireFeedback.vue

@@ -10,7 +10,7 @@
           class="bg-bottom"
           type="primary"
           size="small"
-          @click="returnsales()"
+          @click="revert()"
           ><img
             width="6"
             height="10"
@@ -91,25 +91,19 @@
       </ws-info-table>
       <div class="small-title" style="font-size: 16px">联络员及车次</div>
       <div class="lianluoyuan">
-        <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">
-            <span>{{ item.driver }}</span>
+            <span>{{ deptBudgetList.driver }}</span>
           </ws-form-item>
           <!--电话-->
           <ws-form-item label="电话:" span="1" prop="driverPhone">
-            <span>{{ item.driverPhone }}</span>
+            <span>{{ deptBudgetList.driverPhone }}</span>
           </ws-form-item>
           <!--发车日期-->
           <el-form-item label="发车日期:" span="1" prop="sendDateStart">
             <ws-date-picker
-              v-model="item.sendDateStart"
+              v-model="deptBudgetList.sendDateStart"
               type="date"
               style="width: 150px"
               placeholder="请选择日期"
@@ -118,15 +112,14 @@
           </el-form-item>
           <!--预计到站日期-->
           <ws-form-item label="预计到站日期:" span="1" prop="receiveDateEnd">
-            <span>{{ item.receiveDateEnd }}</span>
+            <span>{{ deptBudgetList.receiveDateEnd }}</span>
           </ws-form-item>
           <!--车型-->
           <ws-form-item label="车型:" span="1" prop="caeModel">
-            <span>{{ item.carModel }}</span>
+            <span>{{ deptBudgetList.carModel }}</span>
           </ws-form-item>
         </ws-info-table>
       </div>
-      </div>
       <div class="small-title" style="font-size: 16px">装车详情</div>
       <div class="liaison">
         <div
@@ -137,9 +130,7 @@
         >
           <ws-info-table>
             <!--车厢号-->
-            <div class="catNos">
-             车厢号-{{ index + 1 }}
-            </div>
+            <div class="catNos">车厢号-{{ index + 1 }}</div>
             <ws-form-item label="车厢号:" span="1" prop="boxNo">
               <span>{{ item.boxNo }}</span>
             </ws-form-item>
@@ -198,28 +189,38 @@
               </template>
             </ws-form-item>
             <!--装车日期-->
-            <el-form-item label="装车日期:" span="1" prop="sendDateStart" >
-            <ws-date-picker
-              v-model="item.sendDateStart"
-              type="date"
-              style="width: 150px;"
-              placeholder="请选择日期"
-              value-format="yyyy-MM-dd"
-            />
-          </el-form-item>
-
-          <!-- 提交 -->
-    <div style="text-align: right; padding: 10px" class="center">
-      <el-button
-        class="bg-bottom"
-        type="primary"
-        size="small"
-        @click="submit(deptBudgetList)"
-        >提交</el-button
-      >
-    </div>
+            <el-form-item label="装车日期:" span="1" prop="loadingDate">
+              <ws-date-picker
+                v-model="item.loadingDate"
+                type="date"
+                style="width: 150px"
+                placeholder="请选择日期"
+                value-format="yyyy-MM-dd"
+              />
+            </el-form-item>
 
-            <div
+            <!-- 提交 -->
+            <span class="servicein" v-show="item.status == '已装车' || item.status == '已送达'">已装车</span>
+            <span
+              style="text-align: right; padding: 10px"
+              class="center"
+              v-if="
+                item.status == '' ||
+                item.status == null ||
+                item.status == '未装车'
+              "
+            >
+              <div>
+                <el-button
+                  class="bg-bottom"
+                  type="primary"
+                  size="small"
+                  @click="submit(deptBudgetList)"
+                  >提交</el-button
+                >
+              </div>
+            </span>
+            <!-- <div
               v-show="
                 item.temporaryDriverFlag == 0 && item.signStatus == '未签合同'
               "
@@ -234,7 +235,7 @@
               class="signStatus1"
             >
               {{ item.signStatus }}
-            </div>
+            </div> -->
             <span
               v-show="item.temporaryDriverFlag != 0"
               width="22"
@@ -248,7 +249,7 @@
           </ws-info-table>
         </div>
       </div>
-      <div style="text-align: right; color: #8890b1; font-size: 16px">
+      <div style="text-align: center; color: #8890b1; font-size: 16px">
         合计(吨):{{ total }}/{{ deptBudgetList.weight }}
       </div>
       <!-- <el-button class="add bg-bottom" type="primary" size="small" @click="add">
@@ -256,7 +257,7 @@
         <div class="spans">添加临时用车</div></el-button
       > -->
     </ws-form>
-    <!-- 提交 -->
+    <!-- 完货 -->
     <div style="text-align: right; padding: 10px" class="wanhuo">
       <el-button
         class="bg-bottom"
@@ -322,7 +323,7 @@ export default {
           },
         ],
       },
-      tranType: 1,
+      tranType: 2,
       size: 10,
       value1: '',
       unitList: [],
@@ -343,7 +344,7 @@ export default {
           boxNo: '',
           loadNetWeight: '',
           loadPoundImg: '',
-          loadingDate:'',
+          loadingDate: '',
         },
         // {loadPoundImg:{}},
       ],
@@ -394,42 +395,10 @@ export default {
     },
   },
   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
@@ -447,25 +416,9 @@ export default {
         this.freightspace.splice(index, 1)
       }
     },
-    //下拉司机姓名改变事件
-    selectdriver() {},
-    handleChange(value) {
-      this.selectedOptions = value
-    },
-    returnsales() {
-      this.deptBudgetList = {}
-      this.freightspace = {}
-      this.selectedOptions = ''
-      this.deptBudgetList.tranCarInfoList = []
+    revert() {
       this.$router.push({ path: 'tranManagementTransporHairRespond' })
     },
-    // 上传附件
-    uploadSuccess(data, files, url) {
-      console.log(data, files, url)
-    },
-    handleClose() {
-      this.accessoryTFs = false
-    },
     submit() {
       for (var i = 0; i < this.freightspace.length; i++) {
         if (this.freightspace[i].temporaryDriverFlag != 0) {
@@ -554,15 +507,20 @@ export default {
           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.deptBudgetList.driver = response.tranCarInfoList[0].driver
+          this.deptBudgetList.driverPhone =
+            response.tranCarInfoList[0].driverPhone
+          this.deptBudgetList.sendDateStart =
+            response.tranCarInfoList[0].sendDateStart
+          this.deptBudgetList.receiveDateEnd =
+            response.tranCarInfoList[0].receiveDateEnd
+          this.deptBudgetList.carModel = response.tranCarInfoList[0].carModel
           this.freightspace = response.tranCarInfoList
           for (var i = 0; i < this.freightspace.length; i++) {
             if (!this.freightspace[i].loadNetWeight) {
@@ -570,59 +528,6 @@ export default {
             }
           }
         })
-      //司机姓名下拉
-      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
@@ -797,9 +702,9 @@ export default {
   display: inline-block;
 }
 .center {
-    width: 900px;
-    margin: -70px auto;
-    margin-right: 38px;
+  width: 900px;
+  margin: -70px auto;
+  margin-right: 92px;
 }
 .wanhuo {
   width: 900px;
@@ -946,12 +851,12 @@ export default {
   border: 0px;
 }
 .catNos {
-    width: 5%;
-    height: 30px;
-    margin-top: 10px;
-    margin-left: 20px;
-    margin-right: -5px;
-    font-size: 14px;
+  width: 5%;
+  height: 30px;
+  margin-top: 10px;
+  margin-left: 20px;
+  margin-right: -5px;
+  font-size: 14px;
 }
 .catNosCor {
   color: #5473e8;
@@ -1003,7 +908,7 @@ export default {
 }
 //装车详情
 /deep/.liaison .ws-info-table .el-form-item {
-  width: 20%;
+  width: 19%;
 }
 /deep/.liaison .ws-info-table .el-form-item .el-form-item__label {
   width: 50%;
@@ -1027,9 +932,9 @@ export default {
   width: 20%;
 }
 /deep/.lianluoyuan .ws-info-table .el-form-item .el-form-item__label {
-  width: 50%;
+  width: 43%;
   background: #f6f7fc;
-  padding-right: 28px;
+  padding-right: 0px;
   margin-top: 5px;
 }
 /deep/.lianluoyuan .flex {
@@ -1045,4 +950,44 @@ export default {
   padding: 0px;
   margin-top: 5px;
 }
+//装车状态
+.noservicein,
+.servicein {
+  display: inline-block;
+  border-radius: 4px;
+  border: 1px solid #d8dce6;
+  padding: 2px;
+  font-size: 12px;
+  background: #e5f1f7;
+  color: #50cad4;
+  height: 23px;
+  margin-top: 11px;
+  margin-left: 53px;
+}
+.noservicein {
+  background: #c4cada;
+  color: #ffffff;
+  display: inline-block;
+  border-radius: 4px;
+  border: 1px solid #d8dce6;
+  padding: 2px;
+  font-size: 12px;
+  background: #e5f1f7;
+  color: #50cad4;
+  height: 23px;
+  margin-top: 11px;
+  margin-left: 53px;
+}
+.servicedin {
+  display: inline-block;
+  border-radius: 4px;
+  border: 1px solid #d8dce6;
+  padding: 2px;
+  font-size: 12px;
+  background: #e5f1f7;
+  color: #50cad4;
+  height: 23px;
+  margin-top: 11px;
+  margin-left: 53px;
+}
 </style>

+ 74 - 97
src/views/tranManagement/tranManagementFireFeedbackLook.vue

@@ -90,7 +90,7 @@
           {{ deptBudgetList.tranType }}
         </ws-form-item>
       </ws-info-table>
-        <div class="small-title" style="font-size: 16px">联络员及车次</div>
+      <div class="small-title" style="font-size: 16px">联络员及车次</div>
       <div class="lianluoyuan">
         <ws-info-table>
           <!--姓名-->
@@ -103,20 +103,14 @@
           </ws-form-item>
           <!--发车日期-->
           <el-form-item label="发车日期:" span="1" prop="sendDateStart">
-            <ws-date-picker
-              v-model="deptBudgetList.sendDateStart"
-              type="date"
-              style="width: 150px"
-              placeholder="请选择日期"
-              value-format="yyyy-MM-dd"
-            />
+            <span>{{ deptBudgetList.sendDateStart }}</span>
           </el-form-item>
           <!--预计到站日期-->
           <ws-form-item label="预计到站日期:" span="1" prop="receiveDateEnd">
             <span>{{ deptBudgetList.receiveDateEnd }}</span>
           </ws-form-item>
           <!--车型-->
-          <ws-form-item label="车型:" span="1" prop="caeModel">
+          <ws-form-item label="车型:" span="1" prop="carModel">
             <span>{{ deptBudgetList.carModel }}</span>
           </ws-form-item>
         </ws-info-table>
@@ -131,9 +125,7 @@
         >
           <ws-info-table>
             <!--车厢号-->
-            <div class="catNos">
-             车厢号-{{ index + 1 }}
-            </div>
+            <div class="catNos">车厢号-{{ index + 1 }}</div>
             <ws-form-item label="车厢号:" span="1" prop="boxNo">
               <span>{{ item.boxNo }}</span>
             </ws-form-item>
@@ -166,17 +158,18 @@
                     deptBudgetList.tranCarInfoList[index].loadPoundImgArr.length
                   }}</span
                 >
-                 <span
+                <span
                   v-if="
                     deptBudgetList.tranCarInfoList[index].loadPoundImgArr
                       .length == 0
                   "
-                  >无</span>
+                  >无</span
+                >
               </template>
             </ws-form-item>
-             <!--装车日期-->
-            <ws-form-item label="装车日期:" span="1" prop="caseNo">
-             <span>{{ item.receiveDateEnd }}</span>
+            <!--装车日期-->
+            <ws-form-item label="装车日期:" span="1" prop="loadingDate">
+              <span>{{ item.loadingDate }}</span>
             </ws-form-item>
             <!-- <div
             v-show="
@@ -196,30 +189,25 @@
           >
             {{ item.signStatus }}
           </div> -->
-          <!-- v-show="item.status == '未装车'" -->
-          <!-- v-show="item.status == '已装车'" -->
-          <!-- v-show="item.status == '已送达'" -->
-          <span class="noservice" >{{
-                  item.status
-                }} 未装车</span>
-          <!-- <span class="service" >{{
-                  item.status
-                }}已装车</span>
-          <span class="serviced" >{{
-                  item.status
-                }}已送达</span> -->
+            <span class="noservicein" v-show="item.status == '未装车'">{{ item.status}}</span>
+            <span class="servicein" v-show="item.status == '已装车' || item.status == '已送达'">已装车</span>
           </ws-info-table>
         </div>
       </div>
       <div style="text-align: center; color: #8890b1; font-size: 16px">
         合计(吨):{{ total }}/{{ deptBudgetList.weight }}
         <!--阶段状态-->
-         <span class="noservice" v-show="deptBudgetList.feedbackStatus=='执行中'">
+        <span
+          class="noservice"
+          v-show="deptBudgetList.feedbackStatus == '执行中'"
+        >
           未完货
         </span>
-        <span class="service" v-show="deptBudgetList.feedbackStatus=='已完货'">{{
-          deptBudgetList.feedbackStatus
-        }}</span>
+        <span
+          class="service"
+          v-show="deptBudgetList.feedbackStatus == '已完货'"
+          >{{ deptBudgetList.feedbackStatus }}</span
+        >
       </div>
     </ws-form>
     <!-- 关闭 -->
@@ -381,14 +369,6 @@ export default {
       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
@@ -396,25 +376,12 @@ export default {
     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()
     },
@@ -423,8 +390,15 @@ export default {
         .toPromise()
         .then((response) => {
           this.deptBudgetList = response
-          //  this.deptBudgetList.tranCarInfoList = response.tranCarInfoList
           this.freightspace = response.tranCarInfoList
+          this.deptBudgetList.driver = response.tranCarInfoList[0].driver
+          this.deptBudgetList.driverPhone =
+            response.tranCarInfoList[0].driverPhone
+          this.deptBudgetList.sendDateStart =
+            response.tranCarInfoList[0].sendDateStart
+          this.deptBudgetList.receiveDateEnd =
+            response.tranCarInfoList[0].receiveDateEnd
+          this.deptBudgetList.carModel = response.tranCarInfoList[0].carModel
           for (var i = 0; i < this.freightspace.length; i++) {
             if (!this.freightspace[i].loadNetWeight) {
               this.freightspace[i].loadNetWeight = 0
@@ -440,41 +414,6 @@ export default {
           }
         })
     },
-    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 (
@@ -810,12 +749,12 @@ export default {
   margin-top: 20px;
 }
 .catNos {
-    width: 5%;
-    height: 30px;
-    margin-top: 10px;
-    margin-left: 20px;
-    margin-right: -5px;
-    font-size: 14px;
+  width: 5%;
+  height: 30px;
+  margin-top: 10px;
+  margin-left: 20px;
+  margin-right: -5px;
+  font-size: 14px;
 }
 .catNosCor {
   color: #5473e8;
@@ -863,7 +802,7 @@ export default {
   padding: 0px;
   margin-top: 5px;
 }
-//送达/未送达
+//完货
 .noservice,
 .service {
   display: inline-block;
@@ -880,4 +819,42 @@ export default {
   background: #e5f1f7;
   color: #50cad4;
 }
+//装车状态
+.noservicein,
+.servicein {
+  display: inline-block;
+  border-radius: 4px;
+  border: 1px solid #d8dce6;
+  padding: 2px;
+  font-size: 12px;
+  background: #e5f1f7;
+  color: #50cad4;
+  height: 23px;
+  margin-top: 11px;
+  margin-left: 53px;
+}
+.noservicein {
+  background: #c4cada;
+  color: #ffffff;
+  display: inline-block;
+  border-radius: 4px;
+  border: 1px solid #d8dce6;
+  padding: 2px;
+  font-size: 12px;
+  height: 23px;
+  margin-top: 11px;
+  margin-left: 53px;
+}
+.servicedin {
+  display: inline-block;
+  border-radius: 4px;
+  border: 1px solid #d8dce6;
+  padding: 2px;
+  font-size: 12px;
+  background: #e5f1f7;
+  color: #50cad4;
+  height: 23px;
+  margin-top: 11px;
+  margin-left: 53px;
+}
 </style>

+ 115 - 173
src/views/tranManagement/tranManagementFireReceivingFeedback.vue

@@ -10,7 +10,7 @@
           class="bg-bottom"
           type="primary"
           size="small"
-          @click="returnsales()"
+          @click="revert()"
           ><img
             width="6"
             height="10"
@@ -91,25 +91,19 @@
       </ws-info-table>
       <div class="small-title" style="font-size: 16px">联络员及车次</div>
       <div class="lianluoyuan">
-        <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">
-            <span>{{ item.driver }}</span>
+            <span>{{ deptBudgetList.driver }}</span>
           </ws-form-item>
           <!--电话-->
           <ws-form-item label="电话:" span="1" prop="driverPhone">
-            <span>{{ item.driverPhone }}</span>
+            <span>{{ deptBudgetList.driverPhone }}</span>
           </ws-form-item>
           <!--发车日期-->
           <el-form-item label="发车日期:" span="1" prop="sendDateStart">
             <ws-date-picker
-              v-model="item.sendDateStart"
+              v-model="deptBudgetList.sendDateStart"
               type="date"
               style="width: 150px"
               placeholder="请选择日期"
@@ -118,15 +112,14 @@
           </el-form-item>
           <!--到站日期-->
           <ws-form-item label="到站日期:" span="1" prop="receiveDateEnd">
-            <span>{{ item.receiveDateEnd }}</span>
+            <span>{{ deptBudgetList.receiveDateEnd }}</span>
           </ws-form-item>
           <!--车型-->
           <ws-form-item label="车型:" span="1" prop="caeModel">
-            <span>{{ item.carModel }}</span>
+            <span>{{ deptBudgetList.carModel }}</span>
           </ws-form-item>
         </ws-info-table>
       </div>
-      </div>
       <div class="small-title" style="font-size: 16px">卸车详情</div>
       <div class="liaison">
         <div
@@ -137,32 +130,34 @@
         >
           <ws-info-table>
             <!--车厢号-->
-            <div class="catNos">
-             车厢号-{{ index + 1 }}
-            </div>
+            <div class="catNos">车厢号-{{ index + 1 }}</div>
             <ws-form-item label="车厢号:" span="1" prop="boxNo">
               <span>{{ item.boxNo }}</span>
             </ws-form-item>
+            <!--装车净重 -->
+            <ws-form-item label="装车净重:" span="1" prop="loadNetWeight">
+              <span>{{ item.loadNetWeight }}</span>
+            </ws-form-item>
             <!--卸车净重-->
-            <ws-form-item label="卸车净重:" span="1" prop="loadNetWeight">
+            <ws-form-item label="卸车净重:" span="1" prop="unloadNetWeight">
               <ws-input
                 v-if="item.status == '已卸车' || item.status == '已送达'"
                 :disabled="readonly"
-                v-model="item.loadNetWeight"
+                v-model="item.unloadNetWeight"
                 placeholder="请输入卸车净重"
                 maxlength="20"
                 size="small"
               />
               <ws-input
                 v-else
-                v-model="item.loadNetWeight"
+                v-model="item.unloadNetWeight"
                 placeholder="请输入卸车净重"
                 maxlength="20"
                 size="small"
               />
             </ws-form-item>
             <!--磅单-->
-            <ws-form-item label="磅单:" span="1" prop="loadPoundImg">
+            <ws-form-item label="磅单:" span="1" prop="unloadPoundImg">
               <!-- slot-scope="scope" -->
               <template>
                 <el-upload
@@ -185,41 +180,57 @@
                 </el-upload>
                 <span
                   v-if="
-                    deptBudgetList.tranCarInfoList[index].loadPoundImg != null
+                    deptBudgetList.tranCarInfoList[index].unloadPoundImg != null
                   "
                   >1</span
                 >
                 <span
                   v-if="
-                    deptBudgetList.tranCarInfoList[index].loadPoundImg == null
+                    deptBudgetList.tranCarInfoList[index].unloadPoundImg == null
                   "
                   >未上传</span
                 >
               </template>
             </ws-form-item>
             <!--卸车日期-->
-            <el-form-item label="卸车日期:" span="1" prop="sendDateStart" >
-            <ws-date-picker
-              v-model="item.sendDateStart"
-              type="date"
-              style="width: 150px;"
-              placeholder="请选择日期"
-              value-format="yyyy-MM-dd"
-            />
-          </el-form-item>
-
-          <!-- 提交 -->
-    <div style="text-align: right; padding: 10px" class="center">
-      <el-button
-        class="bg-bottom"
-        type="primary"
-        size="small"
-        @click="submit(deptBudgetList)"
-        >提交</el-button
-      >
-    </div>
+            <el-form-item label="卸车日期:" span="1" prop="unloadingDate">
+              <ws-date-picker
+                v-model="item.unloadingDate"
+                type="date"
+                style="width: 150px"
+                placeholder="请选择日期"
+                value-format="yyyy-MM-dd"
+              />
+            </el-form-item>
+            <!-- 提交 -->
+            <span class="servicedout" v-show="item.status == '已送达'"
+              >已卸车</span
+            >
+            <span class="noserviceout" v-show="item.status == '未装车'">{{
+              item.status
+            }}</span>
+            <span
+              style="text-align: right; padding: 10px"
+              class="center"
+              v-if="
+                item.status == '' ||
+                item.status == null ||
+                item.status == '未送达' ||
+                item.status == '已装车'
+              "
+            >
+              <div>
+                <el-button
+                  class="bg-bottom"
+                  type="primary"
+                  size="small"
+                  @click="submit(deptBudgetList)"
+                  >提交</el-button
+                >
+              </div>
+            </span>
 
-            <div
+            <!-- <div
               v-show="
                 item.temporaryDriverFlag == 0 && item.signStatus == '未签合同'
               "
@@ -234,7 +245,7 @@
               class="signStatus1"
             >
               {{ item.signStatus }}
-            </div>
+            </div> -->
             <span
               v-show="item.temporaryDriverFlag != 0"
               width="22"
@@ -248,7 +259,7 @@
           </ws-info-table>
         </div>
       </div>
-      <div style="text-align: right; color: #8890b1; font-size: 16px">
+      <div style="text-align: center; color: #8890b1; font-size: 16px">
         合计(吨):{{ total }}/{{ deptBudgetList.weight }}
       </div>
       <!-- <el-button class="add bg-bottom" type="primary" size="small" @click="add">
@@ -256,7 +267,7 @@
         <div class="spans">添加临时用车</div></el-button
       > -->
     </ws-form>
-    <!-- 提交 -->
+    <!-- 完货 -->
     <div style="text-align: right; padding: 10px" class="wanhuo">
       <el-button
         class="bg-bottom"
@@ -322,7 +333,7 @@ export default {
           },
         ],
       },
-      tranType: 1,
+      tranType: 2,
       size: 10,
       value1: '',
       unitList: [],
@@ -341,9 +352,9 @@ export default {
       freightspace: [
         {
           boxNo: '',
-          loadNetWeight: '',
-          loadPoundImg: '',
-          loadingDate:'',
+          unloadNetWeight: '',
+          unloadPoundImg: '',
+          unloadingDate: '',
         },
         // {loadPoundImg:{}},
       ],
@@ -352,7 +363,7 @@ export default {
       options: [],
       carModel: [],
       tranCarInfoList: {
-        loadPoundImg: '',
+        unloadPoundImg: '',
       },
       //  tranCarList: {
       //   driver: '',
@@ -394,42 +405,10 @@ export default {
     },
   },
   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
@@ -447,25 +426,6 @@ export default {
         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
-    },
     submit() {
       for (var i = 0; i < this.freightspace.length; i++) {
         if (this.freightspace[i].temporaryDriverFlag != 0) {
@@ -510,14 +470,15 @@ export default {
               // this.deptBudgetList.totalStorage = this.totalStorage
               this.tranCarInfoList = this.freightspace
               this.tranCarInfoList.driver = this.deptBudgetList.driver
+              this.tranCarInfoList.unloadingDate = this.deptBudgetList.unloadingDate
               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.unloadNetWeight =
+                this.deptBudgetList.unloadNetWeight
               this.tranCarInfoList.tranType = this.tranType
-              this.tranCarInfoList.loadPoundImg =
-                this.deptBudgetList.loadPoundImg
+              this.tranCarInfoList.unloadPoundImg =
+                this.deptBudgetList.unloadPoundImg
               // this.tranCarInfoList.boxNo = this.arr.toString()
               for (var i = 0; i < this.tranCarInfoList.length; i++) {
                 this.tranCarInfoList[i].id = this.freightspace[i].id
@@ -541,7 +502,7 @@ export default {
                   this.freightspace = {}
                   this.selectedOptions = ''
                   this.$router.push({
-                    path: 'tranManagementTransporHairRespond',
+                    path: 'tranManagementReceivingFeedback',
                   })
                 })
             } else {
@@ -554,8 +515,8 @@ export default {
           return false
         })
     },
-    resetForm(deptBudgetList) {
-      this.$refs[deptBudgetList].resetFields()
+    revert() {
+      this.$router.push({ path: 'tranManagementReceivingFeedback' })
     },
     getList() {
       seeCat({ id: this.deptBudgetList.id })
@@ -563,6 +524,14 @@ export default {
         .then((response) => {
           this.deptBudgetList = response
           //  this.deptBudgetList.tranCarInfoList = response.tranCarInfoList
+          this.deptBudgetList.driver = response.tranCarInfoList[0].driver
+          this.deptBudgetList.driverPhone =
+            response.tranCarInfoList[0].driverPhone
+          this.deptBudgetList.sendDateStart =
+            response.tranCarInfoList[0].sendDateStart
+          this.deptBudgetList.receiveDateEnd =
+            response.tranCarInfoList[0].receiveDateEnd
+          this.deptBudgetList.carModel = response.tranCarInfoList[0].carModel
           this.freightspace = response.tranCarInfoList
           for (var i = 0; i < this.freightspace.length; i++) {
             if (!this.freightspace[i].loadNetWeight) {
@@ -570,62 +539,9 @@ export default {
             }
           }
         })
-      //司机姓名下拉
-      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
+      this.freightspace[index].unloadPoundImg = e.url
     },
   },
 }
@@ -797,9 +713,9 @@ export default {
   display: inline-block;
 }
 .center {
-    width: 900px;
-    margin: -60px auto;
-    margin-right: 38px;
+  width: 900px;
+  margin: -70px auto;
+  margin-right: 92px;
 }
 .wanhuo {
   width: 900px;
@@ -946,12 +862,12 @@ export default {
   border: 0px;
 }
 .catNos {
-    width: 5%;
-    height: 30px;
-    margin-top: 10px;
-    margin-left: 20px;
-    margin-right: -5px;
-    font-size: 14px;
+  width: 5%;
+  height: 30px;
+  margin-top: 10px;
+  margin-left: 20px;
+  margin-right: -5px;
+  font-size: 14px;
 }
 .catNosCor {
   color: #5473e8;
@@ -1003,7 +919,7 @@ export default {
 }
 //卸车详情
 /deep/.liaison .ws-info-table .el-form-item {
-  width: 20%;
+  width: 15%;
 }
 /deep/.liaison .ws-info-table .el-form-item .el-form-item__label {
   width: 50%;
@@ -1045,4 +961,30 @@ export default {
   padding: 0px;
   margin-top: 5px;
 }
+//卸车状态
+.noserviceout,
+.noserviceout {
+  background: #c4cada;
+  color: #ffffff;
+  display: inline-block;
+  border-radius: 4px;
+  border: 1px solid #d8dce6;
+  padding: 2px;
+  font-size: 12px;
+  height: 23px;
+  margin-top: 11px;
+  margin-left: 53px;
+}
+.servicedout {
+  background: #e5f1f7;
+  color: #50cad4;
+  display: inline-block;
+  border-radius: 4px;
+  border: 1px solid #d8dce6;
+  padding: 2px;
+  font-size: 12px;
+  height: 23px;
+  margin-top: 11px;
+  margin-left: 53px;
+}
 </style>

+ 113 - 141
src/views/tranManagement/tranManagementFireReceivingFeedbackLook.vue

@@ -3,7 +3,7 @@
   <div class="container">
     <el-row>
       <el-col :span="12">
-        <h2 class="bg-left title">查看火运卸车反馈</h2>
+        <h2 class="bg-left title">查看火运卸车信息</h2>
       </el-col>
       <el-col :span="12" class="bg-right">
         <el-button
@@ -90,7 +90,7 @@
           {{ deptBudgetList.tranType }}
         </ws-form-item>
       </ws-info-table>
-        <div class="small-title" style="font-size: 16px">联络员及车次</div>
+      <div class="small-title" style="font-size: 16px">联络员及车次</div>
       <div class="lianluoyuan">
         <ws-info-table>
           <!--姓名-->
@@ -131,18 +131,20 @@
         >
           <ws-info-table>
             <!--车厢号-->
-            <div class="catNos">
-             车厢号-{{ index + 1 }}
-            </div>
+            <div class="catNos">车厢号-{{ index + 1 }}</div>
             <ws-form-item label="车厢号:" span="1" prop="boxNo">
               <span>{{ item.boxNo }}</span>
             </ws-form-item>
+            <!--装车净重 -->
+            <ws-form-item label="装车净重:" span="1" prop="loadNetWeight">
+              <span>{{ item.loadNetWeight }}</span>
+            </ws-form-item>
             <!--卸车(吨)-->
-            <ws-form-item label="卸车净重(吨):" span="1" prop="loadNetWeight">
-              {{ item.loadNetWeight }}
+            <ws-form-item label="卸车净重(吨):" span="1" prop="unloadNetWeight">
+              {{ item.unloadNetWeight }}
             </ws-form-item>
             <!--磅单-->
-            <ws-form-item label="磅单:" span="1" prop="loadPoundImg">
+            <ws-form-item label="磅单:" span="1" prop="unloadPoundImg">
               <template>
                 <img
                   width="18"
@@ -166,17 +168,18 @@
                     deptBudgetList.tranCarInfoList[index].loadPoundImgArr.length
                   }}</span
                 >
-                 <span
+                <span
                   v-if="
                     deptBudgetList.tranCarInfoList[index].loadPoundImgArr
                       .length == 0
                   "
-                  >无</span>
+                  >无</span
+                >
               </template>
             </ws-form-item>
-             <!--卸车日期-->
-            <ws-form-item label="卸车日期:" span="1" prop="caseNo">
-             <span>{{ item.receiveDateEnd }}</span>
+            <!--卸车日期-->
+            <ws-form-item label="卸车日期:" span="1" prop="unloadingDate">
+              <span>{{ item.unloadingDate }}</span>
             </ws-form-item>
             <!-- <div
             v-show="
@@ -196,33 +199,35 @@
           >
             {{ item.signStatus }}
           </div> -->
-          <!-- v-show="item.status == '未卸车'" -->
-          <!-- v-show="item.status == '已卸车'" -->
-          <!-- v-show="item.status == '已送达'" -->
-          <span class="noservice" >{{
-                  item.status
-                }} 未卸车</span>
-          <!-- <span class="service" >{{
-                  item.status
-                }}已卸车</span>
-          <span class="serviced" >{{
-                  item.status
-                }}已送达</span> -->
+            <span class="noserviceout" v-show="item.status == '未装车'"
+              >{{ item.status }}
+            </span>
+            <span class="servicedout" v-show="item.status == '已送达'"
+              >已卸车</span
+            >
+            <span class="noserviceout" v-show="item.status == '未送达' || item.status == '已装车'"
+              >未卸车</span
+            >
           </ws-info-table>
         </div>
       </div>
       <div style="text-align: center; color: #8890b1; font-size: 16px">
         合计(吨):{{ total }}/{{ deptBudgetList.weight }}
         <!--阶段状态-->
-         <span class="noservice" v-show="deptBudgetList.feedbackStatus=='执行中'">
+        <span
+          class="noservice"
+          v-show="deptBudgetList.feedbackStatus == '执行中'"
+        >
           未完货
         </span>
-        <span class="service" v-show="deptBudgetList.feedbackStatus=='已完货'">{{
-          deptBudgetList.feedbackStatus
-        }}</span>
+        <span
+          class="service"
+          v-show="deptBudgetList.feedbackStatus == '已完货'"
+          >{{ deptBudgetList.feedbackStatus }}</span
+        >
       </div>
     </ws-form>
-    <!-- 关闭 -->
+    <!-- 提交 -->
     <div style="text-align: right; padding: 10px" class="center">
       <el-button
         class="bg-bottom"
@@ -259,6 +264,7 @@
 <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 {
@@ -277,8 +283,10 @@ export default {
   },
   data() {
     return {
+      staffList: [],
       deptBudgetList: {
         totalStorage: 0,
+        tranCarInfoList: [],
       },
       options_: regionData,
       heightData: '600px',
@@ -293,6 +301,7 @@ export default {
       listDate: { country: '中国', level: 'country', city: '' },
       citylist: [],
       compId: sessionStorage.getItem('ws-pf_compId'),
+      tranType: 2,
       rules: {
         warehouseName: [
           {
@@ -308,38 +317,30 @@ export default {
           },
         ],
       },
-      tranType: 1,
+      accessoryTFs: false,
+      fileList: [],
+      appendixIdsAdd: '',
       size: 10,
       value1: '',
       unitList: [],
-      freightspace: [
-        {
-          driver: '',
-          driverPhone: '',
-          carNo: '',
-          loadNetWeight: '',
-        },
-      ],
+      freightspace: [],
       name: '',
+      list: [],
       staffList: [],
       options: [],
-      // carModel: [],
+      carModel: [],
       tranCarInfoList: {},
-      //上传
-      accessoryTFs: false,
-      accesscard: false,
+      arr: [],
       accessurl: '',
-      fileList: [],
-      // appendixIdsAdd: '',
       //附件
       appendixIdss: [],
+      accesscard: false,
     }
   },
-  mounted() {
+  activated() {
     this.deptBudgetList.id = this.$route.query.id
     this.getList()
   },
-
   computed: {
     totalStorage: function () {
       var maxStorage = 0
@@ -349,28 +350,25 @@ export default {
       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
+      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 '司机名称(临)'
-      //   }
-      //  }
+      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
@@ -381,14 +379,6 @@ export default {
       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
@@ -396,27 +386,11 @@ export default {
     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()
+      this.$router.push({ path: 'tranManagementReceivingFeedback' })
     },
     getList() {
       seeCat({ id: this.deptBudgetList.id })
@@ -424,62 +398,35 @@ export default {
         .then((response) => {
           this.deptBudgetList = response
           //  this.deptBudgetList.tranCarInfoList = response.tranCarInfoList
+          this.deptBudgetList.driver = response.tranCarInfoList[0].driver
+          this.deptBudgetList.driverPhone =
+            response.tranCarInfoList[0].driverPhone
+          this.deptBudgetList.sendDateStart =
+            response.tranCarInfoList[0].sendDateStart
+          this.deptBudgetList.receiveDateEnd =
+            response.tranCarInfoList[0].receiveDateEnd
+          this.deptBudgetList.carModel = response.tranCarInfoList[0].carModel
           this.freightspace = response.tranCarInfoList
           for (var i = 0; i < this.freightspace.length; i++) {
             if (!this.freightspace[i].loadNetWeight) {
               this.freightspace[i].loadNetWeight = 0
             }
-            if (this.deptBudgetList.tranCarInfoList[i].loadPoundImg != null) {
+            if (this.deptBudgetList.tranCarInfoList[i].unloadPoundImg != null) {
               this.deptBudgetList.tranCarInfoList[i].loadPoundImgArr =
-                this.deptBudgetList.tranCarInfoList[i].loadPoundImg.split(',')
+                this.deptBudgetList.tranCarInfoList[i].unloadPoundImg.split(',')
               this.fileList[i] =
-                this.deptBudgetList.tranCarInfoList[i].loadPoundImg.split(',')
+                this.deptBudgetList.tranCarInfoList[i].unloadPoundImg.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.deptBudgetList.tranCarInfoList[index].unloadPoundImg === null ||
+        this.deptBudgetList.tranCarInfoList[index].unloadPoundImg === ''
       ) {
         this.$message({
           message: '暂无附件!',
@@ -495,7 +442,6 @@ export default {
   },
 }
 </script>
-
 <style lang="scss" scoped>
 /deep/.totalStorage .el-input__inner {
   color: #afb5cb;
@@ -792,9 +738,9 @@ export default {
   border-radius: 0px;
   padding: 0px;
 }
-//车详情
+//车详情
 /deep/.liaison .ws-info-table .el-form-item {
-  width: 20%;
+  width: 17%;
 }
 /deep/.liaison .ws-info-table .el-form-item .el-form-item__label {
   width: 50%;
@@ -810,12 +756,12 @@ export default {
   margin-top: 20px;
 }
 .catNos {
-    width: 5%;
-    height: 30px;
-    margin-top: 10px;
-    margin-left: 20px;
-    margin-right: -5px;
-    font-size: 14px;
+  width: 5%;
+  height: 30px;
+  margin-top: 10px;
+  margin-left: 20px;
+  margin-right: -5px;
+  font-size: 14px;
 }
 .catNosCor {
   color: #5473e8;
@@ -863,7 +809,7 @@ export default {
   padding: 0px;
   margin-top: 5px;
 }
-//送达/未送达
+//完货
 .noservice,
 .service {
   display: inline-block;
@@ -880,4 +826,30 @@ export default {
   background: #e5f1f7;
   color: #50cad4;
 }
+//卸车状态
+.noserviceout,
+.noserviceout {
+  background: #c4cada;
+  color: #ffffff;
+  display: inline-block;
+  border-radius: 4px;
+  border: 1px solid #d8dce6;
+  padding: 2px;
+  font-size: 12px;
+  height: 23px;
+  margin-top: 11px;
+  margin-left: 30px;
+}
+.servicedout {
+  background: #e5f1f7;
+  color: #50cad4;
+  display: inline-block;
+  border-radius: 4px;
+  border: 1px solid #d8dce6;
+  padding: 2px;
+  font-size: 12px;
+  height: 23px;
+  margin-top: 11px;
+  margin-left: 30px;
+}
 </style>

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

@@ -343,7 +343,7 @@ export default {
           },
         })
       }
-      if (row.tranType == '火运') {
+      else if (row.tranType == '火运') {
         this.$router.push({
           path: 'tranManagementFireReceivingFeedbackLook',
           query: {

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

@@ -302,7 +302,7 @@ export default {
       deptBudgetList: {
         tranCarInfoList: [
           {
-            unloadPoundImg:"",
+            unloadPoundImg:'',
           }
         ]
       },
@@ -378,7 +378,7 @@ export default {
               this.tranCarInfoList.loadNetWeight = this.deptBudgetList.loadNetWeight
               this.tranCarInfoList.tranType = this.tranType
               // this.tranCarInfoList.unloadPoundImg = this.deptBudgetList.tranCarInfoList.unloadPoundImg
-              console.log( this.deptBudgetList.tranCarInfoList[0].unloadPoundImg,"图片")
+              console.log( this.deptBudgetList.tranCarInfoList[0].unloadPoundImg,'图片')
               this.tranCarInfoList.unloadNetWeight = this.deptBudgetList.unloadNetWeight
               for (var i = 0; i < this.tranCarInfoList.length; i++) {
                 this.tranCarInfoList[i].id = this.freightspace[i].id
@@ -387,7 +387,7 @@ export default {
                   this.tranCarInfoList[i].tranType = this.tranType
                 }
               }
-              console.log(this.tranCarInfoList,"12121212")
+              console.log(this.tranCarInfoList,'12121212')
               var tranProcessInfo = {}
               tranProcessInfo.id = this.deptBudgetList.id
               tranProcessInfo.infoId = this.deptBudgetList.infoId
@@ -698,7 +698,7 @@ export default {
   background: #c4cada;
   color: #ffffff;
 }
-.service {
+.serviced {
   background: #e5f1f7;
   color: #50cad4;
 }

+ 285 - 148
src/views/tranManagement/tranManagementShippingArrangemen.vue

@@ -6,7 +6,12 @@
         <h2 class="bg-left title">船次管理</h2>
       </el-col>
       <el-col :span="4" class="bg-right">
-        <el-button class="bg-bottom" type="primary" size="small" @click="revert()">
+        <el-button
+          class="bg-bottom"
+          type="primary"
+          size="small"
+          @click="revert()"
+        >
           <img
             width="6"
             height="10"
@@ -18,42 +23,60 @@
       </el-col>
     </el-row>
     <div class="center">
-      <ws-form ref="deptBudgetList" :model="deptBudgetList" :rules="rules" class="position">
+      <ws-form
+        ref="deptBudgetList"
+        :model="deptBudgetList"
+        :rules="rules"
+        class="position"
+      >
         <div class="basicInformation">
           <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="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.sendDetailedAddress}}</ws-form-item>
-            <ws-form-item label="发货人" span="1" prop="sender">{{deptBudgetList.sender}}</ws-form-item>
-            <ws-form-item label="发货人电话" span="1" prop="senderPhone">{{deptBudgetList.senderPhone}}</ws-form-item>
+              >{{deptBudgetList.sendPrivate}}{{deptBudgetList.sendCity}}{{deptBudgetList.sendArea}}{{ deptBudgetList.sendDetailedAddress }}</ws-form-item
+            >
+            <ws-form-item label="发货人" span="1" prop="sender">{{
+              deptBudgetList.sender
+            }}</ws-form-item>
+            <ws-form-item label="发货人电话" span="1" prop="senderPhone">{{
+              deptBudgetList.senderPhone
+            }}</ws-form-item>
             <ws-form-item
               label="收货地址"
               span="1"
               prop="receiveDetailedAddress"
-            >{{deptBudgetList.receiveDetailedAddress}}</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>
+              >{{deptBudgetList.receivePrivate}}{{deptBudgetList.receiveCity}}{{deptBudgetList.receiveArea}}{{ deptBudgetList.receiveDetailedAddress }}</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>
+              >{{ deptBudgetList.deliveryDateEnd }}</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
@@ -64,6 +87,24 @@
             <div class="zhong">
               <ws-form-item label="姓名" span="1" prop="driver">
                 <el-select
+                  v-if="item.id != null"
+                  :disabled="readonly"
+                  v-model="item.driver"
+                  placeholder="请选择姓名"
+                  filterable
+                  :filter-method="dataFilter"
+                  @change="selectstaff"
+                  size="small"
+                >
+                  <el-option
+                    v-for="item in options"
+                    :key="item.value"
+                    :label="item.staffName"
+                    :value="item.staffName"
+                  />
+                </el-select>
+                 <el-select
+                  v-else
                   v-model="item.driver"
                   placeholder="请选择姓名"
                   filterable
@@ -79,8 +120,24 @@
                   />
                 </el-select>
               </ws-form-item>
-              <ws-form-item label="电话" span="1" prop="driverPhone" class="biao">
+              <ws-form-item
+                label="电话"
+                span="1"
+                prop="driverPhone"
+                class="biao"
+              >
+                <ws-input
+                  v-if="item.id != null"
+                  :disabled="readonly"
+                  :readonly="true"
+                  v-model="item.driverPhone"
+                  placeholder="请输入电话"
+                  maxlength="20"
+                  size="small"
+                  class="ys"
+                />
                 <ws-input
+                  v-else
                   :readonly="true"
                   v-model="item.driverPhone"
                   placeholder="请输入电话"
@@ -89,17 +146,47 @@
                   class="ys"
                 />
               </ws-form-item>
-              <ws-form-item label="发船日期" span="1" prop="sendDateStart" class="biao2">
+              <ws-form-item
+                label="发船日期"
+                span="1"
+                prop="sendDateStart"
+                class="biao2"
+              >
                 <ws-date-picker
+                v-if="item.id != null"
+                  :disabled="readonly"
                   v-model="item.sendDateStart"
                   type="date"
-                  placeholder="请选择发货日期"
+                  placeholder="请选择发船日期"
+                  value-format="yyyy-MM-dd"
+                  class="small"
+                />
+                 <ws-date-picker
+               v-else
+                  v-model="item.sendDateStart"
+                  type="date"
+                  placeholder="请选择发船日期"
                   value-format="yyyy-MM-dd"
                   class="small"
                 />
               </ws-form-item>
-              <ws-form-item label="预计到港日期" span="1" prop="receiveDateEnd" class="biao3">
+              <ws-form-item
+                label="预计到港日期"
+                span="1"
+                prop="receiveDateEnd"
+                class="biao3"
+              >
+                <ws-date-picker
+                v-if="item.id != null"
+                  :disabled="readonly"
+                  v-model="item.receiveDateEnd"
+                  type="date"
+                  placeholder="请选择发货日期"
+                  value-format="yyyy-MM-dd"
+                  class="small"
+                />
                 <ws-date-picker
+               v-else
                   v-model="item.receiveDateEnd"
                   type="date"
                   placeholder="请选择发货日期"
@@ -126,7 +213,26 @@
                 ></ws-input>
               </ws-form-item>
               <ws-form-item label="类型" span="1" prop="shipType" class="biao5">
-                <ws-select v-model="item.shipType" placeholder="请输入" class="ys">
+                <ws-select
+                  v-model="item.shipType"
+                  placeholder="请输入"
+                  class="ys"
+                  v-if="item.id != null"
+                  :disabled="readonly"
+                >
+                  <ws-option
+                    v-for="items in shipType"
+                    :key="items.constKey"
+                    :label="items.constValue"
+                    :value="items.constValue"
+                  />
+                </ws-select>
+                <ws-select
+                  v-model="item.shipType"
+                  placeholder="请输入"
+                  class="ys"
+                  v-else
+                >
                   <ws-option
                     v-for="items in shipType"
                     :key="items.constKey"
@@ -140,53 +246,94 @@
                 span="1"
                 prop="boxNumber"
                 class="biao6"
-                v-show="item.shipType=='集装箱'"
+                v-show="item.shipType == '集装箱'"
               >
-                <ws-input v-model="item.boxNumber" placeholder="请输入数量" class="ys"></ws-input>
+                <ws-input
+                  v-if="item.id != null"
+                  :disabled="readonly"
+                  v-model="item.boxNumber"
+                  placeholder="请输入数量"
+                  class="ys"
+                ></ws-input>
+                 <ws-input
+                 v-else
+                  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>
-            </div>
-            <div>
-              <el-button
-                class="add bg-bottom"
-                type="primary"
-                size="small"
-                @click="add"
-                v-show="item.shipType=='散船'"
+              <ws-form-item
+                label="仓位号"
+                span="1"
+                prop="binNumber"
+                v-show="item.shipType == '散船'"
+                class="biao6"
+              >
+                <ws-input
+                  v-if="item.id != null"
+                  :disabled="readonly"
+                  v-model="item.binNumber"
+                  placeholder="请输入仓位号"
+                  maxlength="100"
+                  size="small"
+                  style="width: 110px"
+                ></ws-input>
+                <ws-input
+                  v-else
+                  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"
               >
-                <img width="22" height="22" src="../../../public/img/add.png" alt />
-                <div class="spans">添加仓位</div>
-              </el-button>
+                <ws-input
+                  v-if="item.id != null"
+                  :disabled="readonly"
+                  v-model="item.positionWeight"
+                  placeholder="请输入重量"
+                  maxlength="100"
+                  size="small"
+                  class="ys"
+                ></ws-input>
+                 <ws-input
+                 v-else
+                  v-model="item.positionWeight"
+                  placeholder="请输入重量"
+                  maxlength="100"
+                  size="small"
+                  class="ys"
+                ></ws-input>
+              </ws-form-item>
             </div>
           </div>
+          <el-button
+            class="add bg-bottom"
+            type="primary"
+            size="small"
+            @click="add"
+            v-show="deptBudgetList.tranCarInfoList[0].shipType == '散船'"
+          >
+            <img width="22" height="22" src="../../../public/img/add.png" alt />
+            <div class="spans">添加仓位</div>
+          </el-button>
         </div>
       </ws-form>
       <div style="text-align: right; padding: 10px">
-        <el-button class="bg-bottom-up" type="primary" size="small" @click="submit()">提交</el-button>
+        <el-button
+          class="bg-bottom-up"
+          type="primary"
+          size="small"
+          @click="submit()"
+          >提交</el-button
+        >
       </div>
     </div>
   </div>
@@ -203,7 +350,7 @@ export default {
   name: 'viewSpareMoney',
   components: {
     WsUpload,
-    Pagination
+    Pagination,
   },
   watch: {
     vesselId(val) {
@@ -211,7 +358,7 @@ export default {
     },
     isShow(val) {
       this.showType = val
-    }
+    },
   },
   data() {
     return {
@@ -256,9 +403,9 @@ export default {
             required: true,
             type: 'number',
             message: '请输入活动名称',
-            trigger: 'blur'
-          }
-        ]
+            trigger: 'blur',
+          },
+        ],
       },
       arr: [],
       freightspace: [
@@ -272,20 +419,20 @@ export default {
       packtypeList: {},
       date: {
         year: dayjs().format('YYYY'),
-        month: dayjs().format('MM')
+        month: dayjs().format('MM'),
       },
       contractList: [],
       deptBudgetList: {
-        warehouseInOutDetail: {}
+        warehouseInOutDetail: {},
       },
       historyList: [],
 
       pickerBeginDateBefore: {
-        disabledDate: time => {
+        disabledDate: (time) => {
           return time.getTime() > Date.now()
-        }
+        },
       },
-      accessoryTFs: false
+      accessoryTFs: false,
     }
   },
   mounted() {
@@ -296,26 +443,26 @@ export default {
     this.getList()
   },
   computed: {
-    totalStorage: function() {
+    totalStorage: function () {
       var maxStorage = 0
       for (var i = 0; i < this.freightspace.length; i++) {
         maxStorage += Number(this.freightspace[i].maxStorage)
       }
       return maxStorage
-    }
+    },
   },
   methods: {
     getList() {
       getstaff({ compId: sessionStorage.getItem('ws-pf_compId') })
         .toPromise()
-        .then(response => {
+        .then((response) => {
           this.options = response
           this.staffList = response
         })
       //类型
       packList({ constId: 'TRAN4' })
         .toPromise()
-        .then(response => {
+        .then((response) => {
           this.shipType = response
         })
     },
@@ -323,7 +470,7 @@ export default {
       this.deptBudgetList.personCharge = val
       if (val) {
         console.log(val)
-        this.options = this.staffList.filter(item => {
+        this.options = this.staffList.filter((item) => {
           if (
             !!~item.staffName.indexOf(val) ||
             !!~item.staffName.toUpperCase().indexOf(val.toUpperCase())
@@ -339,9 +486,8 @@ export default {
       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.tranCarInfoList[0].driverPhone =
+            this.staffList[i].staffMobilePhone
           this.deptBudgetList.personChargeKey = this.staffList[i].staffId
         }
       }
@@ -349,25 +495,25 @@ export default {
     loaddata() {
       shippingLook({ id: this.$route.query.id })
         .toPromise()
-        .then(response => {
+        .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,9 +526,9 @@ export default {
                 shipType: '',
                 boxNumber: '',
                 positionWeight: '',
-                impurity: '',
-                tranType: '3'
-              }
+                binNumber: '',
+                tranType: '3',
+              },
             ]
           }
         })
@@ -398,8 +544,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() {},
@@ -418,42 +573,42 @@ export default {
         if (!this.deptBudgetList.tranCarInfoList[i].driver) {
           this.$message({
             message: '名字不为空',
-            type: 'warning'
+            type: 'warning',
           })
           return
         }
         if (!this.deptBudgetList.tranCarInfoList[i].driverPhone) {
           this.$message({
             message: '电话号不为空',
-            type: 'warning'
+            type: 'warning',
           })
           return
         }
         if (!this.deptBudgetList.tranCarInfoList[i].sendDateStart) {
           this.$message({
             message: '发船时间不能为空',
-            type: 'warning'
+            type: 'warning',
           })
           return
         }
         if (!this.deptBudgetList.tranCarInfoList[i].receiveDateEnd) {
           this.$message({
             message: '预计到港时间不能为空',
-            type: 'warning'
+            type: 'warning',
           })
           return
         }
         if (!this.deptBudgetList.tranCarInfoList[i].shipName) {
           this.$message({
             message: '船名不能为空',
-            type: 'warning'
+            type: 'warning',
           })
           return
         }
         if (!this.deptBudgetList.tranCarInfoList[i].shipNo) {
           this.$message({
             message: '航次不能为空',
-            type: 'warning'
+            type: 'warning',
           })
           return
         }
@@ -461,7 +616,7 @@ export default {
           if (!this.deptBudgetList.tranCarInfoList[i].boxNumber) {
             this.$message({
               message: '数量不能为空',
-              type: 'warning'
+              type: 'warning',
             })
             return
           }
@@ -469,23 +624,23 @@ export default {
         if (!this.deptBudgetList.tranCarInfoList[i].shipType) {
           this.$message({
             message: '类型不能为空',
-            type: 'warning'
+            type: 'warning',
           })
           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'
+              type: 'warning',
             })
             return
           }
-          if (!this.freightspace[i].positionWeight) {
+          if (!this.deptBudgetList.tranCarInfoList[i].positionWeight) {
             this.$message({
               message: '重量不能为空',
-              type: 'warning'
+              type: 'warning',
             })
             return
           }
@@ -501,7 +656,7 @@ export default {
         ) {
           this.$message({
             message: '发船时间不能大于最晚到到港时间!',
-            type: 'warning'
+            type: 'warning',
           })
           return
         }
@@ -509,39 +664,19 @@ export default {
       this.$confirm(`提交成功后,任务将下发给相关人员,是否确定提交?`, {
         cancelButtonText: '取消',
         confirmButtonText: '确定',
-        type: 'warning'
+        type: 'warning',
       })
         .then(() => {
-          this.$refs.deptBudgetList.validate(valid => {
+          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 => {
+                .then((response) => {
                   this.$message.success('提交成功')
                   this.deptBudgetList = {}
                   this.freightspace = {}
@@ -577,10 +712,10 @@ export default {
           this.searchType = this.taskTypeList[i].type
         }
       }
-    }
+    },
     // approve() {},
     // listQuery() {}
-  }
+  },
 }
 </script>
 <style lang="scss" scoped>
@@ -811,6 +946,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;
@@ -1153,7 +1292,5 @@ export default {
 }
 /deep/.el-form-item__content .el-select {
   width: 42%;
-  
 }
-
 </style>

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

@@ -0,0 +1,1182 @@
+//装船反馈
+<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>
+      <ws-info-table>
+        <!-- 姓名 -->
+        <ws-form-item label="姓名" span="1" prop="driver">
+          {{ deptBudgetList.driver }}
+        </ws-form-item>
+        <!-- 电话 -->
+        <ws-form-item label="电话" span="1" prop="driverPhone">
+          {{ deptBudgetList.driverPhone }}
+        </ws-form-item>
+        <!--发船日期-->
+        <ws-form-item label="发船日期" span="1" prop="sendDateStart">
+          <ws-date-picker
+            v-model="deptBudgetList.sendDateStart"
+            type="date"
+            placeholder="请选择发船日期"
+            value-format="yyyy-MM-dd"
+          />
+        </ws-form-item>
+        <!-- 预计到港日期 -->
+        <ws-form-item label="预计到港日期" span="1" prop="receiveDateEnd">
+          {{ deptBudgetList.receiveDateEnd }}
+        </ws-form-item>
+        <!-- 船名 -->
+        <ws-form-item label="船名" span="1" prop="shipName">
+          {{ deptBudgetList.shipName }}
+        </ws-form-item>
+        <!-- 航次 -->
+        <ws-form-item label="航次" span="1" prop="shipNo">
+          {{ deptBudgetList.shipNo }}
+        </ws-form-item>
+        <!-- 类型 -->
+        <ws-form-item label="类型" span="1" prop="shipType">
+          {{ deptBudgetList.shipType }}
+        </ws-form-item>
+        <!-- 数量 -->
+        <ws-form-item
+          label="数量"
+          span="1"
+          prop="boxNumber"
+          v-if="deptBudgetList.shipType == '集装箱'"
+        >
+          {{ deptBudgetList.boxNumber }}
+        </ws-form-item>
+      </ws-info-table>
+      <div class="small-title" style="font-size: 16px; width: 50%; float: left">
+        装船详情
+      </div>
+      <!-- 导入 -->
+      <div style="font-size: 16px; width: 50%; float: left; text-align: right">
+        <el-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 == '未装车'">
+                  未装船
+                </span>
+                <span class="service" v-show="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 == '未装车'">
+                  未装船
+                </span>
+                <span class="service" v-show="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-if="item.status == '已装车' || item.status == '已送达'"
+                :disabled="readonly"
+                v-model="item.caseNo"
+                placeholder="请输入箱号"
+              ></el-input>
+            </el-form-item>
+            <!--封号-->
+            <el-form-item
+              label="封号"
+              prop="titleNo"
+              v-if="item.shipType == '集装箱'"
+            >
+              <el-input
+                v-if="item.status == '已装车' || item.status == '已送达'"
+                :disabled="readonly"
+                v-model="item.titleNo"
+                placeholder="请输入封号"
+              ></el-input>
+            </el-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 style="text-align: right; padding: 10px" class="center1">
+              <el-button
+                v-show="item.status == '未装车'"
+                class="bg-bottom"
+                type="primary"
+                size="small"
+                @click="submit(deptBudgetList)"
+                >提交</el-button
+              >
+            </div>
+            <div v-show=" item.signStatus == '未签合同'" class="signStatus">
+                  {{ item.signStatus }}
+                </div>
+                <div v-show=" item.signStatus == '已签合同'" class="signStatus1">
+                  {{ item.signStatus }}
+                </div>
+            <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>
+      <!--运单-->
+      <!-- <div
+          style="width: 100%"
+          class="flex position"
+          v-for="(item, index) in this.freightspace"
+          :key="index"
+        > -->
+      <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)}"
+            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>
+          <div class="tupian">
+          <span v-if="deptBudgetList.tranCarInfoList[0].loadPoundImg != null " >1</span>
+          <span v-if="deptBudgetList.tranCarInfoList[0].loadPoundImg == null ">未上传</span>
+          </div>
+        </template>       
+      </ws-form-item>
+      <!-- </div> -->
+    </ws-form>
+    <!-- 完货 -->
+    <div style="text-align: right; padding: 10px" class="center">
+      <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: {
+        loadPoundImg: '',
+      },
+      options_: regionData,
+      heightData: '600px',
+      zoom: 7,
+      selectedOptions: [],
+      center: [116.244694, 39.517344],
+      window: '',
+      radio: 1,
+      personCharge: [],
+      district: null,
+      driverList: [],
+      readonly: true,
+      listDate: { country: '中国', level: 'country', city: '' },
+      citylist: [],
+      compId: sessionStorage.getItem('ws-pf_compId'),
+      rules: {
+        warehouseName: [
+          {
+            required: true,
+            message: '请输入仓库名称',
+            trigger: 'blur',
+          },
+          {
+            min: 2,
+            max: 20,
+            message: '仓库名长度不符合要求,请输入2-20字符之内',
+            trigger: 'blur',
+          },
+        ],
+      },
+      tranType: 1,
+      size: 10,
+      value1: '',
+      unitList: [],
+      freightspace: [
+        {
+          caseNo: '',
+          titleNo: '',
+          binNumber: '',
+          positionWeight: '',
+          loadNetWeight: '',
+          loadingDate: '',
+        },
+        // {loadPoundImg:{}},
+      ],
+      name: '',
+      staffList: [],
+      options: [],
+      carModel: [],
+      tranCarInfoList: {
+        loadPoundImg: '',
+      },
+      //上传
+      accessoryTFs: false,
+      fileList: [],
+      appendixIdsAdd: '',
+    }
+  },
+  activated() {
+    this.deptBudgetList.id = this.$route.query.id
+    this.getList()
+  },
+  computed: {
+    totalStorage: function () {
+      var maxStorage = 0
+      for (var i = 0; i < this.freightspace.length; i++) {
+        maxStorage += Number(this.freightspace[i].maxStorage)
+      }
+      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() {
+      // if (!this.freightspace[i].sendDateStart) {
+      //   this.$message({
+      //     message: '发船日期不能为空!',
+      //     type: 'warning',
+      //   })
+      //   return
+      // }
+      // if (!this.freightspace[i].caseNo) {
+      //   this.$message({
+      //     message: '箱号不能为空!',
+      //     type: 'warning',
+      //   })
+      //   return
+      // }
+      // if (
+      //   this.freightspace[i].caseNo.length > 15 ||
+      //   this.freightspace[i].caseNo.length < 1
+      // ) {
+      //   this.$message({
+      //     message: '箱号输入错误!',
+      //     type: 'warning',
+      //   })
+      //   return
+      // }
+      // if (!this.freightspace[i].titleNo) {
+      //   this.$message({
+      //     message: '封号不能为空!',
+      //     type: 'warning',
+      //   })
+      //   return
+      // }
+      // if (
+      //   this.freightspace[i].titleNo.length > 15 ||
+      //   this.freightspace[i].titleNo.length < 1
+      // ) {
+      //   this.$message({
+      //     message: '封号输入错误!',
+      //     type: 'warning',
+      //   })
+      //   return
+      // }
+      // if (!this.freightspace[i].loadNetWeight) {
+      //   this.$message({
+      //     message: '装船净重不能为空!',
+      //     type: 'warning',
+      //   })
+      //   return
+      // }
+      // if (
+      //   (this.freightspace[i].loadNetWeight &&
+      //     String(this.freightspace[i].loadNetWeight).indexOf('.') != -1 &&
+      //     String(this.freightspace[i].loadNetWeight).length -
+      //       (String(this.freightspace[i].loadNetWeight).indexOf('.') + 1) >
+      //       2) ||
+      //   this.freightspace[i].loadNetWeight > 10000 ||
+      //   this.freightspace[i].loadNetWeight < 0
+      // ) {
+      //   this.$message({
+      //     message: '装船净重输入错误',
+      //     type: 'warning',
+      //   })
+      //   return
+      // }
+      // if (!this.freightspace[i].loadingDate) {
+      //   this.$message({
+      //     message: '装船日期不能为空!',
+      //     type: 'warning',
+      //   })
+      //   return
+      // }
+      this.$confirm(`提交成功后装船信息不可修改,是否确定提交?`, {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning',
+      })
+        .then(() => {
+          this.$refs.deptBudgetList.validate((valid) => {
+            if (valid) {
+              // this.deptBudgetList.totalStorage = this.totalStorage
+              this.tranCarInfoList = this.freightspace
+              this.tranCarInfoList.driver = this.deptBudgetList.driver
+              this.tranCarInfoList.driverPhone = this.deptBudgetList.driverPhone
+              this.tranCarInfoList.sendDateStart = this.deptBudgetList.sendDateStart
+              this.tranCarInfoList.receiveDateEnd = this.deptBudgetList.receiveDateEnd
+              this.tranCarInfoList.shipName = this.deptBudgetList.shipName  
+              this.tranCarInfoList.shipNo = this.shipNo
+              this.tranCarInfoList.shipType = this.deptBudgetList.shipType
+              this.tranCarInfoList.boxNumber = this.deptBudgetList.boxNumber
+              // this.tranCarInfoList.boxNo = this.arr.toString()
+              for (var i = 0; i < this.tranCarInfoList.length; i++) {
+                this.tranCarInfoList[i].id = this.freightspace[i].id
+              }
+              var tranProcessInfo = {}
+              tranProcessInfo.id = this.deptBudgetList.id
+              tranProcessInfo.infoId = this.deptBudgetList.infoId
+              tranProcessInfo.processNo = this.deptBudgetList.processNo
+              tranProcessInfo.tranCarInfoList = this.tranCarInfoList
+              // 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.driver = response.tranCarInfoList[0].driver
+          this.deptBudgetList.driverPhone =
+            response.tranCarInfoList[0].driverPhone
+          this.deptBudgetList.sendDateStart =
+            response.tranCarInfoList[0].sendDateStart
+          this.deptBudgetList.receiveDateEnd =
+            response.tranCarInfoList[0].receiveDateEnd
+          this.deptBudgetList.shipName = response.tranCarInfoList[0].shipName
+          this.deptBudgetList.shipNo = response.tranCarInfoList[0].shipNo
+          this.deptBudgetList.shipType = response.tranCarInfoList[0].shipType
+          this.deptBudgetList.boxNumber = response.tranCarInfoList[0].boxNumber
+          //  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) {
+      this.deptBudgetList.tranCarInfoList[0].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;
+}
+.center1 {
+  width: 100px;
+  margin: 0 auto;
+  margin-top: -2%
+}
+.el-form-item {
+  width: 50%;
+}
+.el-form-item__label {
+  text-align: center;
+}
+.ce {
+  width: 900px;
+  margin: 0 auto;
+}
+/*.crt-main .textarea /deep/ .el-form-item__label {*/
+/*  height: 82px;*/
+/*}*/
+// 控制select为只读的时候显示样式
+
+.hide-sel {
+  .el-input__inner {
+    border: 0px;
+  }
+  .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;
+}
+.tupian{
+  margin-left: 14%;
+  margin-top: -7%;
+}
+</style>

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

@@ -0,0 +1,873 @@
+//装船反馈查看
+<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>
+      <ws-info-table>
+        <!-- 姓名 -->
+        <ws-form-item label="姓名" span="1" prop="driver">
+          {{ deptBudgetList.driver }}
+        </ws-form-item>
+        <!-- 电话 -->
+        <ws-form-item label="电话" span="1" prop="driverPhone">
+          {{ deptBudgetList.driverPhone }}
+        </ws-form-item>
+        <!--发船日期-->
+          <ws-form-item label="发船日期" span="1" prop="sendDateStart">
+            {{ deptBudgetList.sendDateStart }}
+          </ws-form-item>
+        <!-- 预计到港日期 -->
+        <ws-form-item label="预计到港日期" span="1" prop="receiveDateEnd">
+          {{ deptBudgetList.receiveDateEnd }}
+        </ws-form-item>
+        <!-- 船名 -->
+        <ws-form-item label="船名" span="1" prop="shipName">
+          {{ deptBudgetList.shipName }}
+        </ws-form-item>
+        <!-- 航次 -->
+        <ws-form-item label="航次" span="1" prop="shipNo">
+          {{ deptBudgetList.shipNo }}
+        </ws-form-item>
+        <!-- 类型 -->
+        <ws-form-item label="类型" span="1" prop="shipType">
+          {{ deptBudgetList.shipType }}
+        </ws-form-item>
+        <!-- 数量 -->
+        <ws-form-item label="数量" span="1" prop="tranType" v-if="deptBudgetList.shipType == '集装箱'">
+          {{ deptBudgetList.tranType }}
+        </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-if="item.shipType == '集装箱'">
+              集装箱-{{ index + 1 }}
+              <span class="noservice" v-show="item.status == '未装车'">
+                  未装船
+                </span>
+                <span class="service" v-show="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 == '未装车'">
+                  未装船
+                </span>
+                <span class="service" v-show="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">
+             <template>
+                <img
+                  width="18"
+                  height="20"
+                  style="
+                    vertical-align: text-top;
+                    position: relative;
+                    top: -1px;
+                  "
+                  src="../../../public/img/fujian.png"
+                  @click="fujian()"
+                  alt=""
+                />
+                <span
+                  v-if="
+                    deptBudgetList.tranCarInfoList[0].loadPoundImgArr
+                      .length > 0
+                  "
+                  >{{
+                    deptBudgetList.tranCarInfoList[0].loadPoundImgArr.length
+                  }}</span
+                >
+                 <span
+                  v-if="
+                    deptBudgetList.tranCarInfoList[0].loadPoundImgArr
+                      .length == 0
+                  "
+                  >无</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
+      }
+    },
+  },
+  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.driver= response.tranCarInfoList[0].driver
+          this.deptBudgetList.driverPhone = response.tranCarInfoList[0].driverPhone
+          this.deptBudgetList.sendDateStart= response.tranCarInfoList[0].sendDateStart
+          this.deptBudgetList.receiveDateEnd= response.tranCarInfoList[0].receiveDateEnd
+          this.deptBudgetList.shipName= response.tranCarInfoList[0].shipName
+          this.deptBudgetList.shipNo= response.tranCarInfoList[0].shipNo
+          this.deptBudgetList.shipType= response.tranCarInfoList[0].shipType
+          this.deptBudgetList.boxNumber= response.tranCarInfoList[0].boxNumber
+          //  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(e) {
+      if (
+        this.deptBudgetList.tranCarInfoList[0].loadPoundImg === null ||
+        this.deptBudgetList.tranCarInfoList[0].loadPoundImg === ''
+      ) {
+        this.$message({
+          message: '暂无附件!',
+          type: 'warning',
+        })
+        return
+      } else {
+        this.accessoryTFs = true
+      }
+      this.appendixIdss =
+        this.deptBudgetList.tranCarInfoList[0].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;
+}
+.forlist{
+  background-color: #F5F7FA;
+  border-radius: 10px;
+  width: 100%;
+  padding-left: 15px;
+  height: 35px;
+  line-height: 35px;
+  color: #C0C4CC;
+  font-size: 14px;
+}
+</style>

+ 411 - 537
src/views/tranManagement/tranManagementShippingLook.vue

@@ -7,149 +7,88 @@
       </el-col>
       <el-col :span="4" class="bg-right">
         <el-button class="bg-bottom" type="primary" size="small" @click="revert()">
-          <img
-            width="6"
-            height="10"
-            style="vertical-align: bottom; margin-right: 3px"
-            src="../../../public/img/lujing.png"
-            alt
-          />返回
+          <img width="6" height="10" style="vertical-align: bottom; margin-right: 3px"
+            src="../../../public/img/lujing.png" alt />返回
         </el-button>
       </el-col>
     </el-row>
     <div class="center">
       <ws-form ref="deptBudgetList" :model="deptBudgetList">
-        <div class="basicInformation">
-          <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"
-              class="readonly"
-            >{{ deptBudgetList.weight }}</ws-form-item>
-
-            <!--发货地址-->
-            <ws-form-item label="发货地址" span="1">
-              {{ deptBudgetList.sendPrivate }}{{ deptBudgetList.sendCity
-              }}{{ deptBudgetList.sendArea }}
-            </ws-form-item>
-            <!--发货人-->
-            <ws-form-item label="发货人" span="1" prop="sender">{{ deptBudgetList.sender }}</ws-form-item>
-
-            <!--发货人电话-->
-            <ws-form-item label="发货人电话" span="1" prop="senderPhone">{{ 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-info-table>
-          <div class="small-title" style="font-size: 16px">联络员及航次</div>
-          <div
-            style="width: 100% "
-            class="flex position middle"
-            v-for="(item, index) in deptBudgetList.tranCarInfoList"
-          >
-            <div style="margin: 18px;color: #69708C;">航次信息</div>
+        <div>
+          <div class="basicInformation">
+            <div class="small-title" style="font-size: 16px;">任务详情</div>
             <ws-info-table>
-              <!-- 姓名 -->
-              <ws-form-item label="姓名:" span="1" prop="driver" class="siji">{{item.driver}}</ws-form-item>
-              <!-- <el-divider direction="vertical" class="line"></el-divider> -->
-              <!-- 电话 -->
-              <ws-form-item
-                label="电话:"
-                span="1"
-                prop="driverPhone"
-                class="siji"
-              >{{ item.driverPhone }}</ws-form-item>
-              <!-- <el-divider direction="vertical" class="line"></el-divider> -->
+              <!-- 任务编号 -->
+              <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" class="readonly">{{ deptBudgetList.weight }}
+              </ws-form-item>
+
+              <!--发货地址-->
+              <ws-form-item label="发货地址" span="1">
+                {{ deptBudgetList.sendPrivate }}{{ deptBudgetList.sendCity
+                }}{{ deptBudgetList.sendArea }}
+              </ws-form-item>
+              <!--发货人-->
+              <ws-form-item label="发货人" span="1" prop="sender">{{ deptBudgetList.sender }}</ws-form-item>
+
+              <!--发货人电话-->
+              <ws-form-item label="发货人电话" span="1" prop="senderPhone">{{ 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="sendDateStart"
-                class="siji"
-              >{{ item.sendDateStart }}</ws-form-item>
-              <!-- <el-divider direction="vertical" class="line"></el-divider> -->
-              <ws-form-item
-                label="预计到港日期:"
-                span="1"
-                prop="receiveDateEnd"
-                class="siji"
-              >{{ item.receiveDateEnd }}</ws-form-item>
-              <!-- <el-divider direction="vertical" class="line"></el-divider> -->
-              <!-- 船名 -->
-              <ws-form-item label="船名:" span="1" prop="shipName" class="siji">{{ item.shipName }}</ws-form-item>
-              <!-- <el-divider direction="vertical" class="line"></el-divider> -->
-              <!-- 航次 -->
-              <ws-form-item label="航次:" span="1" prop="shipNo" class="siji">{{ item.shipNo }}</ws-form-item>
-
-              <!-- <el-divider direction="vertical" class="line"></el-divider> -->
-              <!-- 类型 -->
-              <ws-form-item label="类型:" span="1" prop="shipType" class="siji">{{ item.shipType }}</ws-form-item>
-              <ws-form-item
-                label="数量"
-                span="1"
-                prop="boxNumber"
-                class="siji"
-                v-show="item.shipType == '集装箱'"
-              >{{ item.boxNumber }}</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-info-table>
           </div>
-          <div class="xia">
-            <div
-              style="width: 100%"
-              class="flex position cangno"
-              v-for="(items, index) in freightspace"
-            >
-              <ws-info-table>
-                <ws-form-item
-                  :label="'仓位号-' + (index + 1)"
-                  span="1"
-                  prop="impurity"
-                  class="bot"
-                >{{ items.impurity }}</ws-form-item>
-                <!-- 重量(吨) -->
-                <ws-form-item
-                  label="重量(吨)"
-                  span="1"
-                  prop="positionWeight"
-                  class="bot"
-                >{{ items.positionWeight }}</ws-form-item>
-              </ws-info-table>
+
+          <div>
+            <div class="small-title" style="font-size: 16px">联络员及航次</div>
+            <div v-if='deptBudgetList.tranCarInfoList'>
+              <div style="width: 100% " class="flex position middle"
+                v-for="(item, index) in deptBudgetList.tranCarInfoList" :key="index">
+                <div style="margin: 18px;color: #69708C;">航次信息</div>
+                <ws-info-table>
+                  <ws-form-item label="姓名:" span="1" prop="driver" class="siji">{{item.driver}}</ws-form-item>
+                  <ws-form-item label="电话:" span="1" prop="driverPhone" style="width:210px;">{{item.driverPhone}}
+                  </ws-form-item>
+                  <ws-form-item label="发船日期:" span="1" prop="sendDateStart" class="siji">{{ item.sendDateStart }}
+                  </ws-form-item>
+                  <ws-form-item label="预计到港日期:" span="1" prop="receiveDateEnd" class="siji">{{ item.receiveDateEnd }}
+                  </ws-form-item>
+                  <ws-form-item label="船名:" span="1" prop="shipName" class="siji">{{ item.shipName }}</ws-form-item>
+                  <ws-form-item label="航次:" span="1" prop="shipNo" class="siji">{{ item.shipNo }}</ws-form-item>
+                  <ws-form-item label="类型:" span="1" prop="shipType" class="siji">{{ item.shipType }}</ws-form-item>
+                  <ws-form-item label="数量:" span="1" prop="boxNumber" class="siji" v-if="item.shipType == '集装箱'">
+                    {{ item.boxNumber }}</ws-form-item>
+                  <ws-form-item label="仓位号:" span="1" prop="impurity" class="siji" v-if="item.shipType == '散船'">
+                    {{ item.binNumber }}</ws-form-item>
+                  <ws-form-item label="重量(吨):" span="1" prop="positionWeight" class="siji" v-if="item.shipType == '散船'">
+                    {{ item.positionWeight }}</ws-form-item>
+                </ws-info-table>
+              </div>
             </div>
+
           </div>
+
           <div style="text-align: right; padding: 10px">
             <el-button class="bg-bottom-up" type="primary" size="small" @click="returnsales()">关闭</el-button>
           </div>
@@ -159,428 +98,363 @@
   </div>
 </template>
 <script>
-import { regionData, CodeToText, TextToCode } from 'element-china-area-data'
-import { shippingList, shippingLook } from '@/model/transport/index'
-import Pagination from '@/components/Pagination'
-import WsUpload from '@/components/WsUpload'
-import { dayjs, EventBus } from 'base-core-lib'
-export default {
-  name: 'viewSpareMoney',
-  components: {
-    WsUpload,
-    Pagination
-  },
-  watch: {
-    // vesselId(val) {
-    //   this.getList()
-    // },
-    isShow(val) {
-      this.showType = val
-    }
-  },
-  data() {
-    return {
-      //弹出框
-      dialogViewSpareMoney: false,
-      dialogApproveFormVisible: false,
-      // 船舶类型
-      monetaryKey: null,
-      // 表格显示数据
-      tableDate: [],
-      // 是否显示
-      showType: true,
-      // 年
-      year: '',
-      deptBudgetTotal: 0,
-      currentPage: 1,
-      pageSize: 10,
-      searchType: 1,
-      searchKeyWord: '',
-      contractType: 2,
-      startDate: null,
-      endDate: null,
-      goodnameList: {},
-      // 提交类型
-      submitType: true,
-      storageType: [],
-      readonly: true,
-      appendixIdsAdd: '',
-      uploadSuccess: {},
-      onChange: {},
-      gradeList: [],
-      tranCarInfoList: [],
-      list: [],
-      arr: [],
-      freightspace: [],
-      rules: {
-        netWeight: [
-          {
-            required: true,
-            type: 'number',
-            message: '请输入活动名称',
-            trigger: 'blur'
-          }
-        ]
-      },
-      size: 10,
-      compId: sessionStorage.getItem('ws-pf_compId'),
-      deptCircularPage: {},
-      packtypeList: {},
-      date: {
-        year: dayjs().format('YYYY'),
-        month: dayjs().format('MM')
-      },
-      contractList: [],
-      deptBudgetList: {
-        warehouseInOutDetail: {},
-        tranCarInfoList: []
-      },
-      historyList: [],
-
-      pickerBeginDateBefore: {
-        disabledDate: time => {
-          return time.getTime() > Date.now()
-        }
-      },
-      accessoryTFs: false
-    }
-  },
-  mounted() {
-    this.deptBudgetList.baseId = this.$route.query.baseId
-    this.deptBudgetList.positionId = this.$route.query.positionId
-    this.deptBudgetList.warehouseName = this.$route.query.warehouseName
-    this.deptBudgetList.binNumber = this.$route.query.binNumber
-    // this.getList()
-  },
-  activated() {
-    this.loaddata()
-  },
-  methods: {
-    loaddata() {
-      shippingLook({ id: this.$route.query.id })
-        .toPromise()
-        .then(response => {
-          this.deptBudgetList = response
-          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]
-              })
-            }
-          }
-        })
+  import {
+    seeCat
+  } from '@/model/transport/index'
+  import Pagination from '@/components/Pagination'
+  import WsUpload from '@/components/WsUpload'
+  import {
+    dayjs,
+    EventBus
+  } from 'base-core-lib'
+  export default {
+    name: 'viewSpareMoney',
+    components: {
+      WsUpload,
+      Pagination
     },
-    // getList() {
-    //   shippingList({
-    //     compId: sessionStorage.getItem('ws-pf_compId'),
-    //     currentPage: this.currentPage,
-    //     pageSize: this.pageSize,
-    //     contractType: this.contractType,
-    //     tranTypeKey: this.tranTypeKey,
-    //   })
-    //     .toPromise()
-    //     .then((response) => {
-    //       this.warehouseList = response
-    //     })
-    // },
-    //返回按钮
-    revert() {
-      this.freightspace = []
-      this.$router.go(-1)
+    watch: {
+      isShow(val) {
+        this.showType = val
+      }
     },
-    del(index) {
-      if (this.freightspace.length > 1) {
-        this.freightspace.splice(index, 1)
+    data() {
+      return {
+        //弹出框
+        dialogViewSpareMoney: false,
+        dialogApproveFormVisible: false,
+        // 船舶类型
+        monetaryKey: null,
+        // 表格显示数据
+        tableDate: [],
+        // 是否显示
+        showType: true,
+        // 年
+        year: '',
+        deptBudgetTotal: 0,
+        currentPage: 1,
+        pageSize: 10,
+        searchType: 1,
+        searchKeyWord: '',
+        contractType: 2,
+        startDate: null,
+        endDate: null,
+        goodnameList: {},
+        // 提交类型
+        submitType: true,
+        storageType: [],
+        readonly: true,
+        appendixIdsAdd: '',
+        uploadSuccess: {},
+        onChange: {},
+        gradeList: [],
+        list: [],
+        arr: [],
+        size: 10,
+        compId: sessionStorage.getItem('ws-pf_compId'),
+        deptCircularPage: {},
+        packtypeList: {},
+        deptBudgetList: {
+          totalStorage: 0,
+          tranCarInfoList: [],
+        },
+        tranCarInfoList: {},
+        date: {
+          year: dayjs().format('YYYY'),
+          month: dayjs().format('MM')
+        },
+        contractList: [],
+        deptBudgetList: {},
       }
     },
-    add() {
-      this.freightspace.push({
-        binNumber: '',
-        maxStorage: '',
-        remark: ''
-      })
+    activated() {
+      this.deptBudgetList.id = this.$route.query.id
+      this.getList()
     },
-    //提交按钮
-    submit() {
-      this.$confirm(`暂存后可在待完成页面查看,确定暂存`, {
-        cancelButtonText: '取消',
-        confirmButtonText: '确定',
-        type: 'warning'
-      })
-        .then(() => {
-          this.$refs.deptBudgetList.validate(valid => {
-            if (valid) {
-              this.deptBudgetList.compId = sessionStorage.getItem(
-                'ws-pf_compId'
-              )
-              this.deptBudgetList.inOutFlag = 2
-              this.deptBudgetList.statusFlag = 1
-              addstorageputList(this.deptBudgetList)
-                .toPromise()
-                .then(response => {
-                  this.$message.success('暂存成功')
-                  this.$router.push({ path: 'warehouseManagementList' })
-                })
-            } else {
-              EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
-              return false
-            }
+
+    methods: {
+      getList() {
+        seeCat({
+            id: this.$route.query.id
           })
-        })
-        .catch(() => {
-          return false
-        })
-    },
-    returnsales() {
-      this.$router.go(-1)
-    },
-    handleClose() {
-      this.accessoryTFs = false
-    },
-    handleSizeChange(val) {
-      console.log(`每页 ${val} 条`)
-      this.pageSize = val
-      // this.getList()
-    },
-    handleCurrentChange(val) {
-      this.currentPage = val
-      console.log(`当前页: ${val}`)
-      // this.getList()
-    },
-    selecttaskType(e) {
-      for (var i = 0; i < this.taskTypeList.length; i++) {
-        if (this.taskTypeList[i].value == e) {
-          this.searchType = this.taskTypeList[i].type
-        }
-      }
-    },
-    approve() {},
-    listQuery() {}
+          .toPromise()
+          .then((response) => {
+            this.deptBudgetList = response
+            this.deptBudgetList.tranCarInfoList = response.tranCarInfoList
+            console.log(this.deptBudgetList.tranCarInfoList[0].driverPhone)
+            console.log(this.deptBudgetList.tranCarInfoList[1].driverPhone)
+          })
+      },
+      //返回按钮
+      revert() {
+        this.$router.go(-1)
+      },
+      returnsales() {
+        this.$router.go(-1)
+      },
+    }
   }
-}
 </script>
 <style lang="scss" scoped>
-/deep/.basicInformation {
-  .ws-info-table {
-    border: none;
-  }
-  .el-form-item {
-    width: 33.3333%;
-    border: none;
-    .el-form-item__label {
-      background: transparent;
+  /deep/.basicInformation {
+    .ws-info-table {
       border: none;
     }
-    .el-form-item__content {
+
+    .el-form-item {
+      width: 33.3333%;
       border: none;
+
+      .el-form-item__label {
+        background: transparent;
+        border: none;
+      }
+
+      .el-form-item__content {
+        border: none;
+      }
     }
   }
-}
-.title {
-  position: relative;
-  padding-left: 10px;
-}
-.title::before {
-  content: '';
-  display: inline-block;
-  width: 5px;
-  height: 30px;
-  background: #5473e8;
-  position: absolute;
-  left: 0;
-}
-.el-form {
-  padding: 0 10%;
-}
-.el-button--primary {
-  background-color: #5878e8;
-  border-color: #5878e8;
-}
-.el-col {
-  background: #f6f7fc;
-}
-.bg-right {
-  text-align: right;
-  padding: 16px 20px;
-}
-.center {
-  width: 100%;
-  margin: 0 auto;
-}
-
-//表格文字
-/deep/.ws-info-table .el-form-item .el-form-item__label {
-  text-align: left;
-  font-size: 14px;
-  font-weight: 400;
-  color: #8890b1;
-  line-height: 16px;
-}
-//蓝标
-.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;
-  padding: 4px 2px;
-}
-.position {
-  width: 90%;
-}
-.position .siji {
-  width: 16%;
-}
-/deep/.position .ws-info-table .el-form-item .el-form-item__label {
-  background-color: #f5f7fa;
-}
-.position .zaizhong {
-  width: 16%;
-}
-//减号
-.del {
-  right: -70px;
-}
-// .bot{
-//   width: 30%;
-//   border: none;
-// }
-.siji {
-  width: 300px;
-}
-/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: 13px;
-  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;
-}
-/deep/.ws-class-table-col {
-  height: auto;
-  padding: 0px 2px;
-  /deep/.el-input__inner {
-    padding: 0px 2px;
+
+  .title {
+    position: relative;
+    padding-left: 10px;
   }
-}
-/deep/.is-disabled {
-  .el-input__prefix,
-  .el-input__suffix {
-    display: none;
+
+  .title::before {
+    content: '';
+    display: inline-block;
+    width: 5px;
+    height: 30px;
+    background: #5473e8;
+    position: absolute;
+    left: 0;
   }
-  .el-input__inner {
-    background-color: #fff;
-    border-color: #fff !important;
-    color: #000 !important;
+
+  .el-form {
+    padding: 0 10%;
+  }
+
+  .el-button--primary {
+    background-color: #5878e8;
+    border-color: #5878e8;
+  }
+
+  .el-col {
+    background: #f6f7fc;
+  }
+
+  .bg-right {
+    text-align: right;
+    padding: 16px 20px;
+  }
+
+  .center {
+    width: 100%;
+    margin: 0 auto;
+  }
+
+  //表格文字
+  /deep/.ws-info-table .el-form-item .el-form-item__label {
+    text-align: left;
     font-size: 14px;
-    cursor: text;
-    padding: 0 !important;
+    font-weight: 400;
+    color: #8890b1;
+    line-height: 16px;
+  }
+
+  //蓝标
+  .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;
+    padding: 4px 2px;
+  }
+
+  .position {
+    width: 90%;
+  }
+
+  .position .siji {
+    width: 16%;
+  }
+
+  /deep/.position .ws-info-table .el-form-item .el-form-item__label {
+    background-color: #f5f7fa;
+  }
+
+  .position .zaizhong {
+    width: 16%;
+  }
+
+  //减号
+  .del {
+    right: -70px;
+  }
+
+  // .bot{
+  //   width: 30%;
+  //   border: none;
+  // }
+  .siji {
+    width: 300px;
+  }
+
+  /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: 13px;
+    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;
+  }
+
+  /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;
+      border: none;
+    }
+  }
+
+  .xia {
+    width: 700px;
+    // height: 50px;
+    border-radius: 4px;
+    border: 1px solid #d8dce6;
+    margin-top: 10px;
     border: none;
   }
-}
-.xia {
-  width: 700px;
-  // height: 50px;
-  border-radius: 4px;
-  border: 1px solid #d8dce6;
-  margin-top: 10px;
-  border: none;
-}
-/deep/.ws-info-table .el-form-item .el-form-item__label {
-  // background-color: #f5f7fa;
-  font-size: 13px;
-  font-family: PingFangSC-Regular, PingFang SC;
-  font-weight: 400;
-  color: #8890b1;
-  line-height: 16px;
-}
-.position .siji {
-  width: 14.28%;
-}
-.el-form {
-  height: 1000px;
-}
-.flex {
-  flex-direction: column;
-}
-/deep/.position .ws-info-table .el-form-item .el-form-item__label {
-  background-color: #f5f7fa;
-  // text-align: center;
-  width: 51%;
-}
-.middle {
-  background: #f6f7fc;
-  border-radius: 4px;
-  border: 1px solid #d8dce6;
-}
-.line {
-  height: 26px;
-  margin-top: 6px;
-  left: 2px;
-}
-/deep/.ws-info-table.el-form-item .el-form-item__label {
-  // background-color: #eee;
-  // padding-right: 8px;
-  // padding-left: 8px;
-  // width: 100px; 
-  font-size: 12px;
-  // font-weight: bold;
-  // color: #333;
-  // overflow: hidden;
-  text-overflow: ellipsis;
-  white-space: nowrap;
-  // line-height: 40px;
-  text-align: center;
-}
-/deep/.cangno .ws-info-table .el-form-item .el-form-item__content {
-  border: none;
-  
-}
+
+  /deep/.ws-info-table .el-form-item .el-form-item__label {
+    // background-color: #f5f7fa;
+    font-size: 13px;
+    font-family: PingFangSC-Regular, PingFang SC;
+    font-weight: 400;
+    color: #8890b1;
+    line-height: 16px;
+  }
+
+  .position .siji {
+    width: 14.28%;
+  }
+
+  .phone {
+    width: 100%;
+  }
+
+  .el-form {
+    height: 1000px;
+  }
+
+  .flex {
+    flex-direction: column;
+  }
+
+  /deep/.position .ws-info-table .el-form-item .el-form-item__label {
+    background-color: #f5f7fa;
+    // text-align: center;
+    width: 51%;
+  }
+
+  .middle {
+    background: #f6f7fc;
+    border-radius: 4px;
+    border: 1px solid #d8dce6;
+  }
+
+  .line {
+    height: 26px;
+    margin-top: 6px;
+    left: 2px;
+  }
+
+  /deep/.ws-info-table.el-form-item .el-form-item__label {
+    // background-color: #eee;
+    // padding-right: 8px;
+    // padding-left: 8px;
+    // width: 100px;
+    font-size: 12px;
+    // font-weight: bold;
+    // color: #333;
+    // overflow: hidden;
+    text-overflow: ellipsis;
+    white-space: nowrap;
+    // line-height: 40px;
+    text-align: center;
+  }
+
+  /deep/.cangno .ws-info-table .el-form-item .el-form-item__content {
+    border: none;
+
+  }
 </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) {

+ 23 - 76
src/views/tranManagement/tranManagementTransporTrainNo.vue

@@ -44,7 +44,7 @@
         <!--发货地址-->
         <ws-form-item label="发货地址" span="1" prop="sendDetailedAddress">
           {{ deptBudgetList.sendPrivate }}{{ deptBudgetList.sendCity
-          }}{{ deptBudgetList.sendArea }}
+          }}{{ deptBudgetList.sendArea }}{{ deptBudgetList.sendDetailedAddress }}
         </ws-form-item>
         <!--发货人-->
         <ws-form-item label="发货人" span="1" prop="sender" class="readonly">
@@ -62,7 +62,7 @@
         <!--收货地址-->
         <ws-form-item label="收货地址" span="1" prop="receiveDetailedAddress">
           {{ deptBudgetList.receivePrivate }}{{ deptBudgetList.receiveCity
-          }}{{ deptBudgetList.receiveArea }}
+          }}{{ deptBudgetList.receiveArea }}{{ deptBudgetList.receiveDetailedAddress }}
         </ws-form-item>
         <!--收货人-->
         <ws-form-item label="收货人" span="1" prop="receiver">
@@ -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>
@@ -235,7 +216,7 @@ export default {
       driverList: [],
       listDate: { country: '中国', level: 'country', city: '' },
       citylist: [],
-      tranType: 2,
+      tranType: '2',
       rules: {
         warehouseName: [
           {
@@ -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,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].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.tranType = '2'
+              tranCarInfo.tranCarInfoList = this.deptBudgetList.tranCarInfoList
               dispatchCat(tranCarInfo)
                 .toPromise()
                 .then((response) => {
@@ -457,17 +420,7 @@ export default {
         .toPromise()
         .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 {
+          if (response.tranCarInfoList.length == 0) 
             this.deptBudgetList.tranCarInfoList = [
               {
                 driver: '',
@@ -475,16 +428,10 @@ export default {
                 sendDateStart: '',
                 receiveDateEnd: '',
                 carModel: '',
+                boxNo: '',
+                tranType :'2'
               },
             ]
-          }
-          if (!this.deptBudgetList.tranCarInfoList[0].boxNo) {
-            this.freightspace = [
-              {
-                trainNo: '',
-              },
-            ]
-          }
         })
       //司机姓名下拉
       getstaff({ compId: sessionStorage.getItem('ws-pf_compId') })

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

@@ -0,0 +1,1145 @@
+//卸船反馈
+<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>
+      <ws-info-table>
+        <!-- 姓名 -->
+        <ws-form-item label="姓名" span="1" prop="driver">
+          {{ deptBudgetList.driver }}
+        </ws-form-item>
+        <!-- 电话 -->
+        <ws-form-item label="电话" span="1" prop="driverPhone">
+          {{ deptBudgetList.driverPhone }}
+        </ws-form-item>
+        <!--发船日期-->
+        <ws-form-item label="发船日期" span="1" prop="sendDateStart">
+          <ws-date-picker
+            v-model="deptBudgetList.sendDateStart"
+            type="date"
+            placeholder="请选择发船日期"
+            value-format="yyyy-MM-dd"
+          />
+        </ws-form-item>
+        <!-- 到港日期 -->
+        <ws-form-item label="到港日期" span="1" prop="receiveDateEnd">
+          {{ deptBudgetList.receiveDateEnd }}
+        </ws-form-item>
+        <!-- 船名 -->
+        <ws-form-item label="船名" span="1" prop="shipName">
+          {{ deptBudgetList.shipName }}
+        </ws-form-item>
+        <!-- 航次 -->
+        <ws-form-item label="航次" span="1" prop="shipNo">
+          {{ deptBudgetList.shipNo }}
+        </ws-form-item>
+        <!-- 类型 -->
+        <ws-form-item label="类型" span="1" prop="shipType">
+          {{ deptBudgetList.shipType }}
+        </ws-form-item>
+        <!-- 数量 -->
+        <ws-form-item
+          label="数量"
+          span="1"
+          prop="boxNumber"
+          v-if="deptBudgetList.shipType == '集装箱'"
+        >
+          {{ deptBudgetList.boxNumber }}
+        </ws-form-item>
+      </ws-info-table>
+      <div class="small-title" style="font-size: 16px; width: 50%; float: left">
+        卸船详情
+      </div>
+      <!-- 导入 -->
+      <div style="font-size: 16px; width: 50%; float: left; text-align: right">
+        <el-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 == '未装车'">
+                未装船
+              </span>
+              <span class="noservice" v-show="item.status == '已装车'">
+                未卸船
+              </span>
+              <span class="service" v-show="item.status == '已送达'">
+                已卸船
+              </span>
+            </div>
+            <div class="catNos" v-if="item.shipType == '散船'">
+              仓位号-{{ index + 1 }}
+              <span class="noservice" v-show="item.status == '未装车'">
+                未装船
+              </span>
+              <span class="noservice" v-show="item.status == '已装车'">
+                未卸船
+              </span>
+              <span class="service" v-show="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 style="text-align: right; padding: 10px" class="center1">
+              <el-button
+                v-show="item.status == '已装车'"
+                class="bg-bottom"
+                type="primary"
+                size="small"
+                @click="submit(deptBudgetList)"
+                >提交</el-button
+              >
+            </div>
+            <div v-show="item.signStatus == '未签合同'" class="signStatus">
+              {{ item.signStatus }}
+            </div>
+            <div v-show="item.signStatus == '已签合同'" class="signStatus1">
+              {{ item.signStatus }}
+            </div>
+            <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)
+              }
+            "
+            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>
+          <div class="tupian">
+            <span v-if="deptBudgetList.tranCarInfoList[0].loadPoundImg != null"
+              >1</span
+            >
+            <span v-if="deptBudgetList.tranCarInfoList[0].loadPoundImg == null"
+              >未上传</span
+            >
+          </div>
+        </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="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].unloadNetWeight
+          )
+        }
+        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() {
+      // if (!this.freightspace[i].receiveDateEnd) {
+      //   this.$message({
+      //     message: '到港日期不能为空!',
+      //     type: 'warning',
+      //   })
+      //   return
+      // }
+      // if (!this.freightspace[i].unloadNetWeight) {
+      //   this.$message({
+      //     message: '卸船净重不能为空!',
+      //     type: 'warning',
+      //   })
+      //   return
+      // }
+      // if (
+      //   (this.freightspace[i].unloadNetWeight &&
+      //     String(this.freightspace[i].unloadNetWeight).indexOf('.') != -1 &&
+      //     String(this.freightspace[i].unloadNetWeight).length -
+      //       (String(this.freightspace[i].unloadNetWeight).indexOf('.') + 1) >
+      //       2) ||
+      //   this.freightspace[i].unloadNetWeight > 10000 ||
+      //   this.freightspace[i].unloadNetWeight < 0
+      // ) {
+      //   this.$message({
+      //     message: '卸船净重输入错误',
+      //     type: 'warning',
+      //   })
+      //   return
+      // }
+      // if (!this.freightspace[i].unloadingDate) {
+      //   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.sendDateStart =
+                this.deptBudgetList.sendDateStart
+              this.tranCarInfoList.receiveDateEnd =
+                this.deptBudgetList.receiveDateEnd
+              this.tranCarInfoList.shipName = this.deptBudgetList.shipName
+              this.tranCarInfoList.shipNo = this.shipNo
+              this.tranCarInfoList.shipType = this.deptBudgetList.shipType
+              this.tranCarInfoList.boxNumber = this.deptBudgetList.boxNumber              
+              this.tranCarInfoList.unloadingDate = this.deptBudgetList.unloadingDate
+              // this.tranCarInfoList.boxNo = this.arr.toString()
+              for (var i = 0; i < this.tranCarInfoList.length; i++) {
+                this.tranCarInfoList[i].id = this.freightspace[i].id
+              }
+              var tranProcessInfo = {}
+              tranProcessInfo.id = this.deptBudgetList.id
+              tranProcessInfo.infoId = this.deptBudgetList.infoId
+              tranProcessInfo.processNo = this.deptBudgetList.processNo
+              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.driver = response.tranCarInfoList[0].driver
+          this.deptBudgetList.driverPhone =
+            response.tranCarInfoList[0].driverPhone
+          this.deptBudgetList.sendDateStart =
+            response.tranCarInfoList[0].sendDateStart
+          this.deptBudgetList.receiveDateEnd =
+            response.tranCarInfoList[0].receiveDateEnd
+          this.deptBudgetList.shipName = response.tranCarInfoList[0].shipName
+          this.deptBudgetList.shipNo = response.tranCarInfoList[0].shipNo
+          this.deptBudgetList.shipType = response.tranCarInfoList[0].shipType
+          this.deptBudgetList.boxNumber = response.tranCarInfoList[0].boxNumber
+          //  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.deptBudgetList.tranCarInfoList[0].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;
+}
+.center1 {
+  width: 100px;
+  margin: 0 auto;
+  margin-top: -2%;
+}
+.tupian{
+  margin-left: 14%;
+  margin-top: -7%;
+}
+</style>

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

@@ -0,0 +1,877 @@
+//卸船反馈查看
+<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>
+      <ws-info-table>
+        <!-- 姓名 -->
+        <ws-form-item label="姓名" span="1" prop="driver">
+          {{ deptBudgetList.driver }}
+        </ws-form-item>
+        <!-- 电话 -->
+        <ws-form-item label="电话" span="1" prop="driverPhone">
+          {{ deptBudgetList.driverPhone }}
+        </ws-form-item>
+        <!--发船日期-->
+          <ws-form-item label="发船日期" span="1" prop="sendDateStart">
+            {{ deptBudgetList.sendDateStart }}
+          </ws-form-item>
+        <!-- 预计到港日期 -->
+        <ws-form-item label="预计到港日期" span="1" prop="receiveDateEnd">
+          {{ deptBudgetList.receiveDateEnd }}
+        </ws-form-item>
+        <!-- 船名 -->
+        <ws-form-item label="船名" span="1" prop="shipName">
+          {{ deptBudgetList.shipName }}
+        </ws-form-item>
+        <!-- 航次 -->
+        <ws-form-item label="航次" span="1" prop="shipNo">
+          {{ deptBudgetList.shipNo }}
+        </ws-form-item>
+        <!-- 类型 -->
+        <ws-form-item label="类型" span="1" prop="shipType">
+          {{ deptBudgetList.shipType }}
+        </ws-form-item>
+        <!-- 数量 -->
+        <ws-form-item label="数量" span="1" prop="tranType" v-if="deptBudgetList.shipType == '集装箱'">
+          {{ deptBudgetList.tranType }}
+        </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-if="item.shipType == '集装箱'">
+              集装箱-{{ index + 1 }}
+              <span class="noservice" v-show="item.status == '未装车'">
+                  未装船
+                </span>
+                <span class="service" v-show="item.status == '已装车'">
+                   未卸船
+                </span>
+                 <span class="serviced" v-show="item.status == '已送达'">
+                   已卸船
+                </span>
+            </div>
+            <div class="catNos" v-if="item.shipType == '散船'">
+              仓位号-{{ index + 1 }}
+              <span class="noservice" v-show="item.status == '未装车'">
+                  未装船
+                </span>
+                <span class="service" v-show="item.status == '已装车'">
+                   未卸船
+                </span>
+                 <span class="serviced" v-show="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">
+              <template>
+                <img
+                  width="18"
+                  height="20"
+                  style="
+                    vertical-align: text-top;
+                    position: relative;
+                    top: -1px;
+                  "
+                  src="../../../public/img/fujian.png"
+                  @click="fujian()"
+                  alt=""
+                />
+                <span
+                  v-if="
+                    deptBudgetList.tranCarInfoList[0].loadPoundImgArr
+                      .length > 0
+                  "
+                  >{{
+                    deptBudgetList.tranCarInfoList[0].loadPoundImgArr.length
+                  }}</span
+                >
+                 <span
+                  v-if="
+                    deptBudgetList.tranCarInfoList[0].loadPoundImgArr
+                      .length == 0
+                  "
+                  >无</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.driver= response.tranCarInfoList[0].driver
+          this.deptBudgetList.driverPhone = response.tranCarInfoList[0].driverPhone
+          this.deptBudgetList.sendDateStart= response.tranCarInfoList[0].sendDateStart
+          this.deptBudgetList.receiveDateEnd= response.tranCarInfoList[0].receiveDateEnd
+          this.deptBudgetList.shipName= response.tranCarInfoList[0].shipName
+          this.deptBudgetList.shipNo= response.tranCarInfoList[0].shipNo
+          this.deptBudgetList.shipType= response.tranCarInfoList[0].shipType
+          this.deptBudgetList.boxNumber= response.tranCarInfoList[0].boxNumber
+          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(e) {
+      if (
+        this.deptBudgetList.tranCarInfoList[0].loadPoundImg === null ||
+        this.deptBudgetList.tranCarInfoList[0].loadPoundImg === ''
+      ) {
+        this.$message({
+          message: '暂无附件!',
+          type: 'warning',
+        })
+        return
+      } else {
+        this.accessoryTFs = true
+      }
+      this.appendixIdss =
+        this.deptBudgetList.tranCarInfoList[0].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>