gjy 3 年之前
父节点
当前提交
83d521b22c
共有 78 个文件被更改,包括 4360 次插入1813 次删除
  1. 18 0
      src/api/V2/customerFundManagement/index.js
  2. 2 1
      src/api/V2/warehouse/index.js
  3. 1 0
      src/components/editSelect/index.vue
  4. 33 0
      src/components/imgPreview/ImgPreview.vue
  5. 24 0
      src/components/imgPreview/index.js
  6. 4 0
      src/lang/zh.js
  7. 3 1
      src/main.js
  8. 35 0
      src/model/customerFundManagement/index.js
  9. 5 2
      src/model/warehouse/index.js
  10. 2 2
      src/views/contractManagement/futuresPurchaseContractAdd.vue
  11. 1 1
      src/views/contractManagement/futuresPurchaseContractEdit.vue
  12. 2 2
      src/views/contractManagement/futuresSalesContractAdd.vue
  13. 2 2
      src/views/contractManagement/futuresSalesContractEdit.vue
  14. 3 3
      src/views/contractManagement/purchaseContractAdd.vue
  15. 2 1
      src/views/contractManagement/purchaseContractEdit.vue
  16. 8 3
      src/views/contractManagement/salesContractAdd.vue
  17. 3 2
      src/views/contractManagement/salesContractEdit.vue
  18. 63 0
      src/views/customerFundManagement/component/router/router.js
  19. 575 0
      src/views/customerFundManagement/customerFundAdd.vue
  20. 594 0
      src/views/customerFundManagement/customerFundEdit.vue
  21. 537 0
      src/views/customerFundManagement/customerFundList.vue
  22. 1 1
      src/views/financialManagement/collectionManagementList.vue
  23. 1 1
      src/views/outboundManagement/collectionManagement.vue
  24. 1 1
      src/views/purchasingManagement/procurementPlanAdd.vue
  25. 1 1
      src/views/purchasingManagement/procurementPlanEdit.vue
  26. 2 2
      src/views/purchasingManagement/procurementPlanLook.vue
  27. 1 1
      src/views/purchasingManagement/purchaseOrderList.vue
  28. 1 1
      src/views/salesManagement/salesPlanAdd.vue
  29. 1 1
      src/views/salesManagement/salesPlanEdit.vue
  30. 2 2
      src/views/salesManagement/salesPlanLook.vue
  31. 1 1
      src/views/salesManagement/salesPlanOrderList.vue
  32. 5 1
      src/views/statisticalReport/autoSettlementList.vue
  33. 2 2
      src/views/statisticalReport/huoyunList.vue
  34. 12 4
      src/views/statisticalReport/purchaseClosingCashierList.vue
  35. 7 2
      src/views/statisticalReport/purchaseReceiptStatisticsList.vue
  36. 9 2
      src/views/statisticalReport/salesClosingCashierList.vue
  37. 6 1
      src/views/statisticalReport/salesDeliveryReportList.vue
  38. 1 1
      src/views/statisticalReport/shippingList.vue
  39. 5 1
      src/views/statisticalReport/stockPurchaseReceiptReportList.vue
  40. 3 1
      src/views/statisticalReport/stockSaleOutReportList.vue
  41. 1 0
      src/views/system/systemFile/fileManage.vue
  42. 1 1
      src/views/system/systemFile/systemOperation.vue
  43. 5 0
      src/views/system/systemFileManage/systemDocuments/fileManage.vue
  44. 1 1
      src/views/system/systemFileManage/systemOperation/circulationStatement.vue
  45. 1 0
      src/views/system/systemFileManage/systemOperation/documentWarning.vue
  46. 2 2
      src/views/taskManagement/tranManagementTransportAdd.vue
  47. 2 2
      src/views/taskManagement/tranManagementTransportEdit.vue
  48. 2 2
      src/views/taskManagement/tranManagementWarehouseInOutTaskAdd.vue
  49. 2 3
      src/views/taskManagement/tranManagementWarehouseInOutTaskAudit.vue
  50. 3 3
      src/views/taskManagement/tranManagementWarehouseInOutTaskEdit.vue
  51. 1 0
      src/views/tranManagement/tranManagementDriverAdd.vue
  52. 81 50
      src/views/tranManagement/tranManagementFireFeedback.vue
  53. 3 2
      src/views/tranManagement/tranManagementFireFeedbackLook.vue
  54. 207 145
      src/views/tranManagement/tranManagementFireReceivingFeedback.vue
  55. 3 1
      src/views/tranManagement/tranManagementFireReceivingFeedbackLook.vue
  56. 389 257
      src/views/tranManagement/tranManagementReceivingloading.vue
  57. 2 1
      src/views/tranManagement/tranManagementReceivingloadingLook.vue
  58. 2 2
      src/views/tranManagement/tranManagementShippingArrangemen.vue
  59. 1294 1074
      src/views/tranManagement/tranManagementShippingFeedback.vue
  60. 3 1
      src/views/tranManagement/tranManagementShippingFeedbackLook.vue
  61. 7 17
      src/views/tranManagement/tranManagementTransporFeedback.vue
  62. 3 1
      src/views/tranManagement/tranManagementTransporFeedbackLook.vue
  63. 1 1
      src/views/tranManagement/tranManagementTransporTrainNo.vue
  64. 235 169
      src/views/tranManagement/tranManagementUnShippingFeedback.vue
  65. 13 12
      src/views/tranManagement/tranManagementUnShippingFeedbackLook.vue
  66. 1 1
      src/views/warehouse/tranManagementWarehouseInOutTask.vue
  67. 0 1
      src/views/warehouse/warehouseManagementAdd.vue
  68. 2 1
      src/views/warehouse/warehouseManagementDelivery.vue
  69. 1 1
      src/views/warehouse/warehouseManagementEdit.vue
  70. 26 1
      src/views/warehouse/warehouseManagementGross.vue
  71. 26 3
      src/views/warehouse/warehouseManagementNoWeightIn.vue
  72. 28 3
      src/views/warehouse/warehouseManagementNoWeightOut.vue
  73. 2 1
      src/views/warehouse/warehouseManagementPerfectDelivery.vue
  74. 1 2
      src/views/warehouse/warehouseManagementPerfectput.vue
  75. 1 1
      src/views/warehouse/warehouseManagementPut.vue
  76. 1 1
      src/views/warehouse/warehouseManagementPutOutLook.vue
  77. 27 2
      src/views/warehouse/warehouseManagementTare.vue
  78. 1 1
      vue.config.js

+ 18 - 0
src/api/V2/customerFundManagement/index.js

@@ -0,0 +1,18 @@
+
+//客户列表查看
+export const API_GET_CUSTOMERINFO_LOOK = '/customerInfo/selectCustomerInfo'
+
+//查看客户信息
+export const API_GET_LOOK_CUSTOMERINFO = '/customerInfo/getCustomerInfo'
+
+// 添加客户
+export const API_POST_ADDCUSTOMERINFO = '/customerInfo/api/addCustomerInfo'
+
+// 编辑
+export const API_POST_EDITCUSTOMERINFO = '/customerInfo/api/modifyCustomerInfo'
+
+// 删除
+export const API_POST_DELCUSTOMERINFO = '/customerInfo/deleteCustomerInfo'
+
+//识别银行卡
+export const API_GET_CUSTOMER_GETBANK = '/driverViewInfo/bankShibie'

+ 2 - 1
src/api/V2/warehouse/index.js

@@ -78,6 +78,7 @@ export const API_GET_WAREHOUSERESPONSIBLE = '/warehouseBaseInfo/selectResponsibl
 export const API_GET_WAREHOUSETASK = '/inOutWarehouseTask/selectWarehouseTask'
 // 修改经办人
 export const API_GET_CHECKORUPDATE = '/inOutWarehouseTask/api/checkOrUpdateInOutTask'
-
+// 获取出入库任务编号
+export const API_GET_RECEIPTTASKNO = '/inOutWarehouseTask/selectInOutWarehouseNo'
 
 

+ 1 - 0
src/components/editSelect/index.vue

@@ -81,6 +81,7 @@
              :placeholder="getPleaseChoose"
              style="width: 100%;"
              filterable
+             clearable
              @change="selectContract">
     <el-option v-for="(item,index) in unitList"
                :key="item.constValue"

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

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

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

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

+ 4 - 0
src/lang/zh.js

@@ -525,6 +525,10 @@ export default {
     warehouseManagementPutOutLook: '查看',
     //客户管理
     customerList: '客户管理',
+    //客户管理
+    customerFundList: '客户资金管理',
+    customerFundEdit:'客户管理编辑',
+    customerFundAdd:'客户管理添加',
     //采购管理
     purchasingManagement: '采购业务管理',
     procurementPlanList: '采购计划',

+ 3 - 1
src/main.js

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

+ 35 - 0
src/model/customerFundManagement/index.js

@@ -0,0 +1,35 @@
+import { errorCatcher, errorHandle, filter } from 'base-core-lib'
+import { appRx } from '../defalutConfig/indexRx'
+import {
+    API_GET_CUSTOMERINFO_LOOK,
+    API_POST_ADDCUSTOMERINFO,
+    API_POST_EDITCUSTOMERINFO,
+    API_POST_DELCUSTOMERINFO,
+    API_GET_CUSTOMER_GETBANK,
+    API_GET_LOOK_CUSTOMERINFO
+} from '@/api/V2/customerFundManagement'
+// import { app } from 'electron'
+
+// 客户管理列表
+export const getCustomerList = appRx.get(API_GET_CUSTOMERINFO_LOOK, errorCatcher, errorHandle, filter)
+
+// 查看客户信息
+export const lookCustomer = appRx.get(API_GET_LOOK_CUSTOMERINFO, errorCatcher, errorHandle, filter)
+
+// 添加客户
+export const addCustomer = appRx.post(API_POST_ADDCUSTOMERINFO, errorCatcher, errorHandle, filter)
+
+// 编辑
+export const editCustomerInfo = appRx.post(API_POST_EDITCUSTOMERINFO, errorCatcher, errorHandle, filter)
+
+// 删除客户
+export const delCustomerInfo = appRx.post(API_POST_DELCUSTOMERINFO, errorCatcher, errorHandle, filter)
+
+//银行卡识别
+export const getBank = appRx.get(API_GET_CUSTOMER_GETBANK, errorCatcher, errorHandle, filter)
+
+
+
+
+
+

+ 5 - 2
src/model/warehouse/index.js

@@ -37,7 +37,8 @@ import {
     API_GET_WAREHOUSE,
     API_GET_WAREHOUSERESPONSIBLE,
     API_GET_WAREHOUSETASK,
-    API_GET_CHECKORUPDATE
+    API_GET_CHECKORUPDATE,
+    API_GET_RECEIPTTASKNO
 } from '@/api/V2/warehouse'
 // import { app } from 'electron'
 // 列表
@@ -114,4 +115,6 @@ export const getsponsible = appRx.get(API_GET_WAREHOUSERESPONSIBLE,errorCatcher,
 //出入库任务
 export const getwarehousetask = appRx.get(API_GET_WAREHOUSETASK,errorCatcher, errorHandle, filter)
 //修改经办人
-export const postcheckorupdate = appRx.post(API_GET_CHECKORUPDATE,errorCatcher, errorHandle, filter)
+export const postcheckorupdate = appRx.post(API_GET_CHECKORUPDATE,errorCatcher, errorHandle, filter)
+//获取出入库任务编号
+export const getReceiptTaskNo = appRx.get(API_GET_RECEIPTTASKNO,errorCatcher, errorHandle, filter)

+ 2 - 2
src/views/contractManagement/futuresPurchaseContractAdd.vue

@@ -184,8 +184,8 @@
         </ws-form-item>
         <!--临时仓库负责人-->
         <ws-form-item v-show="deptBudgetList.deliverType == 1" label="临时仓库负责人" span="1" prop="packingMethod">
-          <el-select v-model="deptBudgetList.personCharge" placeholder="请选择临时仓库负责人" filterable
-            :filter-method="dataFilter" @change="selectstaff">
+          <el-select v-model="deptBudgetList.personCharge" placeholder="请选择临时仓库负责人" filterable clearable
+             @change="selectstaff">
             <el-option v-for="item in options" :key="item.value" :label="item.staffName" :value="item.staffName" />
           </el-select>
         </ws-form-item>

+ 1 - 1
src/views/contractManagement/futuresPurchaseContractEdit.vue

@@ -350,7 +350,7 @@
             v-model="deptBudgetList.personCharge"
             placeholder="请选择临时仓库负责人"
             filterable
-            :filter-method="dataFilter"
+            
             @change="selectstaff"
           >
             <el-option

+ 2 - 2
src/views/contractManagement/futuresSalesContractAdd.vue

@@ -173,8 +173,8 @@
         </ws-form-item>
         <!--临时仓库负责人-->
         <ws-form-item v-show="deptBudgetList.deliverType == 1" label="临时仓库负责人" span="1" prop="packingMethod">
-          <el-select v-model="deptBudgetList.personCharge" placeholder="请选择临时仓库负责人" filterable
-            :filter-method="dataFilter" @change="selectstaff">
+          <el-select v-model="deptBudgetList.personCharge" placeholder="请选择临时仓库负责人" filterable clearable
+             @change="selectstaff">
             <el-option v-for="item in options" :key="item.value" :label="item.staffName" :value="item.staffName" />
           </el-select>
         </ws-form-item>

+ 2 - 2
src/views/contractManagement/futuresSalesContractEdit.vue

@@ -168,8 +168,8 @@
         </ws-form-item>
         <!--临时仓库负责人-->
         <ws-form-item v-show="deptBudgetList.deliverType == 1" label="临时仓库负责人" span="1" prop="packingMethod">
-          <el-select v-model="deptBudgetList.personCharge" placeholder="请选择临时仓库负责人" filterable
-            :filter-method="dataFilter" @change="selectstaff">
+          <el-select v-model="deptBudgetList.personCharge" placeholder="请选择临时仓库负责人" filterable clearable
+             @change="selectstaff">
             <el-option v-for="item in options" :key="item.value" :label="item.staffName" :value="item.staffName" />
           </el-select>
         </ws-form-item>

+ 3 - 3
src/views/contractManagement/purchaseContractAdd.vue

@@ -214,8 +214,8 @@
           <ws-input v-model="deptBudgetList.finalTradingVolume" placeholder="请输入最终实际成交量" maxlength="100" size="small" />
         </ws-form-item>
         <ws-form-item v-show="deptBudgetList.deliverType == 1" label="临时仓库负责人" span="1" prop="packingMethod">
-          <el-select v-model="deptBudgetList.personCharge" placeholder="请选择临时仓库负责人" filterable
-            :filter-method="dataFilter" @change="selectstaff">
+          <el-select v-model="deptBudgetList.personCharge" placeholder="请选择临时仓库负责人" filterable clearable
+             @change="selectstaff">
             <el-option v-for="item in options" :key="item.value" :label="item.staffName" :value="item.staffName" />
           </el-select>
         </ws-form-item>
@@ -331,7 +331,7 @@
       <ws-input v-model="deptBudgetList.remarks" type="textarea" row="3" placeholder="请输入备注信息,不超过3000字"
         maxlength="3000" />
       <ws-upload ref="upload" :comp-id="compId" :appendix-ids="deptBudgetList.addressUrl" :size-limit="size"
-        @onChange="onChange" accept=".jpg, .jpeg, .png, .pdf, .doc, .zip, .rar" />
+        @onChange="onChange" accept=".jpg, .jpeg, .png, .pdf, .doc, .zip, .rar" v-hasPermission="`contractManagement.buyContract.buyContractInfo.appl`"/>
     </ws-form>
     <div v-if="dialogVisible" class="map">
       <map-drag @marker="marker" :isShowaddress='true' v-on:addressListen='getAddress' :type="type"></map-drag>

+ 2 - 1
src/views/contractManagement/purchaseContractEdit.vue

@@ -323,7 +323,7 @@
             v-model="deptBudgetList.personCharge"
             placeholder="请选择临时仓库负责人"
             filterable
-            :filter-method="dataFilter"
+            
             @change="selectstaff"
           >
             <el-option
@@ -493,6 +493,7 @@
         :size-limit="size"
         @onChange="onChange"
         accept=".jpg, .jpeg, .png, .pdf, .doc, .zip, .rar"
+        v-hasPermission="`contractManagement.buyContract.buyContractInfo.appl`"
       />
       </base-card>
     </ws-form>

+ 8 - 3
src/views/contractManagement/salesContractAdd.vue

@@ -92,7 +92,7 @@
           </ws-form-item>
           <!--验收方式-->
           <ws-form-item label="验收方式" span="1" prop="acceptanceMethod">
-            <el-select v-model="deptBudgetList.acceptanceMethod" placeholder="请选择验收方式" style="width: 100%" filterable
+            <el-select v-model="deptBudgetList.acceptanceMethod" placeholder="请选择验收方式" style="width: 100%" clearable filterable
               @change="selectunitList">
               <el-option v-for="(item, index) in unitList" :key="item.constValue" :label="item.constValue"
                 :value="item.constValue">
@@ -332,8 +332,13 @@
         <!--备注信息-->
         <ws-input v-model="deptBudgetList.remarks" type="textarea" row="3" placeholder="请输入备注信息,不超过200字"
           maxlength="3000" />
-        <ws-upload ref="upload" :comp-id="compId" :appendix-ids="deptBudgetList.addressUrl" :size-limit="size"
-          @onChange="onChange" accept=".jpg, .jpeg, .png, .pdf, .doc, .zip, .rar" />
+        <ws-upload ref="upload" 
+        :comp-id="compId" 
+        :appendix-ids="deptBudgetList.addressUrl" 
+        :size-limit="size"
+        @onChange="onChange" 
+        accept=".jpg, .jpeg, .png, .pdf, .doc, .zip, .rar" 
+        v-hasPermission="`contractManagement.salesContractsalesContractInfo.appl`"/>
       </ws-form>
       <div v-if="dialogVisible" class="map">
         <map-drag @marker="marker" :isShowaddress="true" v-on:addressListen="getAddress" :type="type">

+ 3 - 2
src/views/contractManagement/salesContractEdit.vue

@@ -104,7 +104,7 @@
           </ws-form-item>
           <!--验收方式-->
           <ws-form-item label="验收方式" span="1" prop="acceptanceMethod">
-            <el-select v-model="deptBudgetList.acceptanceMethod" placeholder="请选择验收方式" style="width: 100%" filterable
+            <el-select v-model="deptBudgetList.acceptanceMethod" placeholder="请选择验收方式" style="width: 100%" clearable filterable
               @change="selectunitList">
               <el-option v-for="(item, index) in unitList" :key="item.constValue" :label="item.constValue"
                 :value="item.constValue">
@@ -341,7 +341,8 @@
         <ws-input v-model="deptBudgetList.remarks" type="textarea" row="3" placeholder="请输入备注信息,不超过200字"
           maxlength="200" />
         <ws-upload ref="upload" :comp-id="compId" :appendix-ids="deptBudgetList.addressUrl" :size-limit="size"
-          @onChange="onChange" accept=".jpg, .jpeg, .png, .pdf, .doc, .zip, .rar" />
+          @onChange="onChange" accept=".jpg, .jpeg, .png, .pdf, .doc, .zip, .rar" v-hasPermission="
+            `contractManagement.salesContractsalesContractInfo.appl`"/>
       </ws-form>
     </div>
     <div v-if="dialogVisible" class="map">

+ 63 - 0
src/views/customerFundManagement/component/router/router.js

@@ -0,0 +1,63 @@
+import Layout from '@/layout/index';
+
+const customerFundManagementRouter = {
+    path: '/customerFundManagement',
+    component: Layout,
+    redirect: { name: 'customerFundList' },
+    name: 'customerFundList',
+    alwaysShow: true, // will always show the root menu
+    meta: {
+      title: 'customerFundList',
+    //   module: 'customerManagement.customer.customerInfo',
+      icon: '-kehuguanli'
+    },
+    children: [
+        //客户资金管理列表
+      {
+        path: 'customerFundList',
+        component: () =>
+          import(/* webpackChunkName: "applDetail" */ '@/views/customerFundManagement/customerFundList'),
+        name: 'customerFundList',
+        meta: {
+          title: 'customerFundList',
+          shortcutEntrance: 'customerFundList',
+        //   module: 'customerManagement.customerFundManagement.customerInfo',
+          permissicon: [],
+          keepAlive: true
+        },
+         hidden: true
+      },
+          //客户资金管理编辑
+    {
+        path: 'customerFundEdit',
+        component: () =>
+          import(/* webpackChunkName: "applDetail" */ '@/views/customerFundManagement/customerFundEdit'),
+        name: 'customerFundEdit',
+        meta: {
+          title: 'customerFundEdit',
+          shortcutEntrance: 'customerFundManagement',
+        //   module: 'customerFundManagement.buyContract.buyContractInfo.edit',
+          permissicon: [],
+          keepAlive: true
+        },
+        hidden: true
+      },
+      //客户资金管理添加
+      {
+        path: 'customerFundAdd',
+        component: () =>
+          import(/* webpackChunkName: "applDetail" */ '@/views/customerFundManagement/customerFundAdd'),
+        name: 'customerFundAdd',
+        meta: {
+          title: 'customerFundAdd',
+          shortcutEntrance: 'customerFundManagement',
+        //   module: 'customerFundManagement.buyContract.buyContractInfo.add',
+          permissicon: [],
+          keepAlive: true
+          // module: 'procurement.sparepart.applDetail'
+        },
+        hidden: true
+      },
+  ],
+};
+export default customerFundManagementRouter;  

+ 575 - 0
src/views/customerFundManagement/customerFundAdd.vue

@@ -0,0 +1,575 @@
+<!--客户管理添加-->
+<template>
+  <div class="center">
+    <el-row>
+      <el-col :span="12">
+        <h2 class="bg-left titleup">创建客户</h2>
+      </el-col>
+      <el-col :span="12" class="bg-right">
+        <el-button class="bg-bottom" type="primary" size="small" @click="cancel"
+          ><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="unload">
+      <ws-form ref="customerList" :model="customerList" label-width="120px">
+        <ws-info-table>
+          <!--合同类型-->
+          <ws-form-item label="客户类型" span="1" class="readonly">
+            <el-radio v-model="customerList.customerType" label="企业客户"
+              >企业客户</el-radio
+            >
+            <el-radio v-model="customerList.customerType" label="个人客户"
+              >个人客户</el-radio
+            >
+          </ws-form-item>
+          <ws-form-item
+            label="公司名称"
+            span="1"
+            prop="compName"
+            label-width="80px"
+            v-if="customerList.customerType == '企业客户'"
+          >
+            <ws-input
+              v-model="customerList.compName"
+              placeholder="请输入公司名称"
+              maxlength="15"
+              size="small"
+              :disabled="disabled"
+            />
+          </ws-form-item>
+          <ws-form-item
+            label="客户姓名"
+            span="1"
+            prop="customerName"
+            label-width="80px"
+            v-if="customerList.customerType == '个人客户'"
+          >
+            <ws-input
+              v-model="customerList.customerName"
+              placeholder="请输入客户姓名"
+              maxlength="15"
+              size="small"
+              :disabled="disabled"
+            />
+          </ws-form-item>
+          <ws-form-item label="联系电话" span="1" prop="customerPhone">
+            <ws-input
+              type="number"
+              @mousewheel.native.prevent
+              v-model="customerList.customerPhone"
+              placeholder="请输入联系电话"
+              maxlength="11"
+              size="small"
+              :disabled="disabled"
+            />
+          </ws-form-item>
+          <ws-form-item label="定金" span="1" prop="totalDeposit">
+            <ws-input
+              type="number"
+              @mousewheel.native.prevent
+              v-model="customerList.totalDeposit"
+              placeholder="请输入定金"
+              maxlength="11"
+              size="small"
+              :disabled="disabled"
+            />
+          </ws-form-item>
+          <ws-form-item label="预付金" span="1" prop="advancePayment">
+            <ws-input
+              type="number"
+              @mousewheel.native.prevent
+              v-model="customerList.advancePayment"
+              placeholder="请输入预付金"
+              maxlength="11"
+              size="small"
+              :disabled="disabled"
+            />
+          </ws-form-item>
+          <ws-form-item label="保证金" span="1" prop="securityDeposit">
+            <ws-input
+              type="number"
+              @mousewheel.native.prevent
+              v-model="customerList.securityDeposit"
+              placeholder="请输入保证金"
+              maxlength="11"
+              size="small"
+              :disabled="disabled"
+            />
+          </ws-form-item>
+          <div style="display: flex; width: 100%; text-align: center">
+            <div style="width: 330px; margin: 0 auto">
+              <div class="unload-img">上传银行卡正面</div>
+              <el-upload
+                class="avatar-uploader avatar-uploader3"
+                action="https://www.zthymaoyi.com/upload/admin"
+                :show-file-list="false"
+                :on-success="bankSuccess1"
+                :disabled="disabled"
+              >
+                <img v-if="imageUrl3" :src="imageUrl3" class="avatar" />
+                <i v-else class="el-icon-plus avatar-uploader-icon"></i>
+              </el-upload>
+            </div>
+            <div style="width: 330px; margin: 0 auto">
+              <div class="unload-img">上传银行卡反面</div>
+              <el-upload
+                class="avatar-uploader avatar-uploader4"
+                action="https://www.zthymaoyi.com/upload/admin"
+                :show-file-list="false"
+                :on-success="bankSuccess2"
+                :disabled="disabled"
+              >
+                <img v-if="imageUrl4" :src="imageUrl4" class="avatar" />
+                <i v-else class="el-icon-plus avatar-uploader-icon"></i>
+              </el-upload>
+            </div>
+          </div>
+          <ws-form-item label="银行卡号" span="1" prop="bankCard">
+            <ws-input
+              type="number"
+              @mousewheel.native.prevent
+              v-model="customerList.bankCard"
+              placeholder="请输入银行卡号"
+              maxlength="19"
+              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-if="bankInput"
+              v-model="customerList.bankDepositBranch"
+              placeholder="请输入开户支行"
+              maxlength="100"
+              size="small"
+              :disabled="disabled"
+            />
+            <ws-select
+              v-else
+              v-model="customerList.bankDepositBranch"
+              placeholder="请输入开户支行"
+              :disabled="disabled"
+            >
+              <ws-option
+                v-for="item in bankList"
+                :key="item"
+                :label="item"
+                :value="item"
+              />
+            </ws-select>
+            <el-button
+              type="primary"
+              @click="bankInputChange"
+              v-if="switchType != 2"
+              >{{ bankText }}</el-button
+            >
+          </ws-form-item>
+          <ws-form-item label="收款人姓名" span="1" prop="payeeName">
+            <ws-input
+              v-model="customerList.payeeName"
+              placeholder="请输入收款人姓名"
+              maxlength="15"
+              size="small"
+              :disabled="disabled"
+            />
+          </ws-form-item>
+        </ws-info-table>
+        <div class="but">
+          <el-button type="primary" @click="commit">提交</el-button>
+        </div>
+      </ws-form>
+    </div>
+  </div>
+</template>
+<script>
+import {
+  addCustomer,
+  getBank,
+} from '@/model/customerFundManagement/index'
+
+export default {
+  components: {},
+  watch: {},
+  data() {
+    return {
+      imageUrl1: '',
+      imageUrl2: '',
+      imageUrl3: '',
+      imageUrl4: '',
+      dialogImageUrl: '',
+      dialogVisible: false,
+      customerList: {
+        customerName: '',
+        customerNumberCard: '',
+        bankCard: '',
+        bankDeposit: '',
+      },
+      disabledFlag: true,
+      disabled: false,
+      identity: [],
+      bank: [],
+      trader: '新增',
+      switchType: '',
+      identityImgUp: [
+        {
+          url: '',
+        },
+      ],
+      identityImgLow: [
+        {
+          url: '',
+        },
+      ],
+      bankImgUp: [
+        {
+          url: '',
+        },
+      ],
+      bankImgLow: [
+        {
+          url: '',
+        },
+      ],
+      identityUp: 'up',
+      identityLow: 'low',
+      bankUps: 'bankUp',
+      bankLows: 'bankLow',
+      sendDisabled: false,
+      bankList: [],
+      bankInput: false,
+      bankText: '手动填写',
+    }
+  },
+  activated() {
+    this.switchType = this.$route.query.types
+    if (this.$route.query.types == null) {
+      this.switchType = 1
+      this.imageUrl1 = ''
+      this.imageUrl2 = ''
+      this.imageUrl3 = ''
+      this.imageUrl4 = ''
+      this.customerList = {}
+    }
+  },
+  methods: {
+    bankInputChange() {
+      this.bankInput = !this.bankInput
+      if (this.bankInput) {
+        this.bankText = '自动识别'
+      } else {
+        this.bankText = '手动填写'
+      }
+    },
+    cancel() {
+      this.customerList = {}
+      this.$router.push({
+        path: 'customerFundList',
+      })
+    },
+    bankSuccess1(e) {
+      this.bankUps = 'bankUp'
+      this.bank[0] = e.url
+      this.imageUrl3 = e.url
+      getBank({
+        bankImg: e.url,
+      })
+        .toPromise()
+        .then((response) => {
+          if (response.bankNameZhihang.length > 0) {
+            this.bankList = response.bankNameZhihang
+          }
+          if (response.bankNo) {
+            this.$set(this.customerList, 'bankCard', response.bankNo)
+          }
+          if (response.bankName) {
+            this.$set(this.customerList, 'bankDeposit', response.bankName)
+          }
+        })
+    },
+    bankSuccess2(e) {
+      this.bankLows = 'bankLow'
+      this.bank[1] = e.url
+      this.imageUrl4 = e.url
+      getBank({
+        bankImg: e.url,
+      })
+        .toPromise()
+        .then((response) => {
+          if (response.bankNameZhihang) {
+            this.bankList = response.bankNameZhihang
+          }
+          if (response.bankNo) {
+            this.$set(this.customerList, 'bankCard', response.bankNo)
+          }
+          if (response.bankName) {
+            this.$set(this.customerList, 'bankDeposit', response.bankName)
+          }
+        })
+    },
+    commit() {
+      if (!this.imageUrl3) {
+        this.$message({
+          message: '请上传银行卡正面',
+          type: 'warning',
+        })
+        return
+      }
+      if (
+        !this.customerList.customerName &&
+        this.customerList.customerType == '个人客户'
+      ) {
+        this.$message({
+          message: '请输入客户姓名',
+          type: 'warning',
+        })
+        return
+      }
+      if (
+        !this.customerList.compName &&
+        this.customerList.customerType == '企业客户'
+      ) {
+        this.$message({
+          message: '请输入公司名称',
+          type: 'warning',
+        })
+        return
+      }
+      if (!this.customerList.bankCard) {
+        this.$message({
+          message: '请输入输入银行卡号',
+          type: 'warning',
+        })
+        return
+      }
+      if (!this.customerList.bankDeposit) {
+        this.$message({
+          message: '请输入开户行',
+          type: 'warning',
+        })
+        return
+      }
+      if (!this.customerList.bankDepositBranch) {
+        this.$message({
+          message: '请输入开户支行',
+          type: 'warning',
+        })
+        return
+      }
+      if (!this.customerList.customerPhone) {
+        this.$message({
+          message: '请输入手机号',
+          type: 'warning',
+        })
+        return
+      }
+      if (this.customerList.customerPhone.length != 11) {
+        this.$message({
+          message: '输入的手机号有误,请重新输入',
+          type: 'warning',
+        })
+        return
+      }
+      this.customerList.compId = sessionStorage.getItem('ws-pf_compId')
+
+      this.$confirm('确定提交客户信息?', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning',
+      })
+        .then(() => {
+          this.customerList.cardAddressUrl = this.identity.toString()
+          this.customerList.payeeAddressUrl = this.bank.toString()
+          // this.customerList.customerTypeFlag = this.customerTypeFlag
+          // this.customerList.customerType = this.customerType
+          addCustomer(this.customerList)
+            .toPromise()
+            .then((response) => {
+              this.$message.success('添加成功')
+              this.customerList = {}
+              this.$router.go(-1)
+            })
+        })
+        .catch(() => {
+          return false
+        })
+    },
+  },
+}
+</script>
+<style lang="scss" scoped>
+.avatar-uploader1 {
+  background: url('../../../public/img/identityup.png');
+}
+
+.avatar-uploader2 {
+  background: url('../../../public/img/identitylow.png');
+}
+
+.avatar-uploader3 {
+  background: url('../../../public/img/bankup.png');
+}
+
+.avatar-uploader4 {
+  background: url('../../../public/img/banklow.png');
+}
+
+/deep/.el-upload {
+  height: 200px;
+}
+
+.avatar-uploader {
+  background-size: 100% 100%;
+}
+
+.avatar-uploader .el-upload {
+  border: 1px dashed #d9d9d9;
+  border-radius: 6px;
+  cursor: pointer;
+  position: relative;
+  overflow: hidden;
+}
+
+.avatar-uploader .el-upload:hover {
+  border-color: #409eff;
+}
+
+.avatar-uploader-icon {
+  font-size: 28px;
+  color: #8c939d;
+  width: 178px;
+  height: 178px;
+  line-height: 178px;
+  text-align: center;
+}
+
+.avatar {
+  width: 330px;
+  height: 103%;
+  display: block;
+}
+
+.center {
+  background: #f6f7fc;
+}
+
+.seach {
+  display: flex;
+  align-items: center;
+
+  .find {
+    width: 32px;
+  }
+
+  .search-left {
+    display: flex;
+  }
+}
+
+.ws-info-table {
+  border: none;
+  width: 80%;
+  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;
+}
+
+.unload-img {
+  margin: 20px 0;
+}
+
+.veriCode {
+  margin: 0 9px;
+}
+.jiaoYan {
+  display: flex;
+  width: 50%;
+  padding: 0 9px;
+}
+/deep/.jiaoYan .el-input__inner {
+  width: 100%;
+}
+</style>

+ 594 - 0
src/views/customerFundManagement/customerFundEdit.vue

@@ -0,0 +1,594 @@
+<!--客户管理编辑-->
+<template>
+  <div class="center">
+    <el-row>
+      <el-col :span="12">
+        <h2 class="bg-left titleup">编辑客户信息</h2>
+      </el-col>
+      <el-col :span="12" class="bg-right">
+        <el-button class="bg-bottom" type="primary" size="small" @click="cancel"
+          ><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="unload">
+      <ws-form ref="customerList" :model="customerList" label-width="120px">
+        <ws-info-table>
+          <!--合同类型-->
+          <ws-form-item label="客户类型" span="1" class="readonly">
+            <el-radio v-model="customerList.customerType" label="企业客户"
+              >企业客户</el-radio
+            >
+            <el-radio v-model="customerList.customerType" label="个人客户"
+              >个人客户</el-radio
+            >
+          </ws-form-item>
+          <ws-form-item
+            label="公司名称"
+            span="1"
+            prop="compName"
+            label-width="80px"
+            v-if="customerList.customerType == '企业客户'"
+          >
+            <ws-input
+              v-model="customerList.compName"
+              placeholder="请输入公司名称"
+              maxlength="15"
+              size="small"
+              :disabled="disabled"
+            />
+          </ws-form-item>
+          <ws-form-item
+            label="客户姓名"
+            span="1"
+            prop="customerName"
+            label-width="80px"
+            v-if="customerList.customerType == '个人客户'"
+          >
+            <ws-input
+              v-model="customerList.customerName"
+              placeholder="请输入客户姓名"
+              maxlength="15"
+              size="small"
+              :disabled="disabled"
+            />
+          </ws-form-item>
+          <ws-form-item label="联系电话" span="1" prop="customerPhone">
+            <ws-input
+              type="number"
+              @mousewheel.native.prevent
+              v-model="customerList.customerPhone"
+              placeholder="请输入联系电话"
+              maxlength="11"
+              size="small"
+              :disabled="disabled"
+            />
+          </ws-form-item>
+          <ws-form-item label="定金" span="1" prop="totalDeposit">
+            <ws-input
+              type="number"
+              @mousewheel.native.prevent
+              v-model="customerList.totalDeposit"
+              placeholder="请输入定金"
+              maxlength="11"
+              size="small"
+              :disabled="disabled"
+            />
+          </ws-form-item>
+          <ws-form-item label="预付金" span="1" prop="advancePayment">
+            <ws-input
+              type="number"
+              @mousewheel.native.prevent
+              v-model="customerList.advancePayment"
+              placeholder="请输入预付金"
+              maxlength="11"
+              size="small"
+              :disabled="disabled"
+            />
+          </ws-form-item>
+          <ws-form-item label="保证金" span="1" prop="securityDeposit">
+            <ws-input
+              type="number"
+              @mousewheel.native.prevent
+              v-model="customerList.securityDeposit"
+              placeholder="请输入保证金"
+              maxlength="11"
+              size="small"
+              :disabled="disabled"
+            />
+          </ws-form-item>
+          <div style="display: flex; width: 100%; text-align: center">
+            <div style="width: 330px; margin: 0 auto">
+              <div class="unload-img">上传银行卡正面</div>
+              <el-upload
+                class="avatar-uploader avatar-uploader3"
+                action="https://www.zthymaoyi.com/upload/admin"
+                :show-file-list="false"
+                :on-success="bankSuccess1"
+                :disabled="disabled"
+              >
+                <img v-if="imageUrl3" :src="imageUrl3" class="avatar" />
+                <i v-else class="el-icon-plus avatar-uploader-icon"></i>
+              </el-upload>
+            </div>
+            <div style="width: 330px; margin: 0 auto">
+              <div class="unload-img">上传银行卡反面</div>
+              <el-upload
+                class="avatar-uploader avatar-uploader4"
+                action="https://www.zthymaoyi.com/upload/admin"
+                :show-file-list="false"
+                :on-success="bankSuccess2"
+                :disabled="disabled"
+              >
+                <img v-if="imageUrl4" :src="imageUrl4" class="avatar" />
+                <i v-else class="el-icon-plus avatar-uploader-icon"></i>
+              </el-upload>
+            </div>
+          </div>
+          <ws-form-item label="银行卡号" span="1" prop="bankCard">
+            <ws-input
+              type="number"
+              @mousewheel.native.prevent
+              v-model="customerList.bankCard"
+              placeholder="请输入银行卡号"
+              maxlength="19"
+              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-if="bankInput"
+              v-model="customerList.bankDepositBranch"
+              placeholder="请输入开户支行"
+              maxlength="100"
+              size="small"
+              :disabled="disabled"
+            />
+            <ws-select
+              v-else
+              v-model="customerList.bankDepositBranch"
+              placeholder="请输入开户支行"
+              :disabled="disabled"
+            >
+              <ws-option
+                v-for="item in bankList"
+                :key="item"
+                :label="item"
+                :value="item"
+              />
+            </ws-select>
+            <el-button
+              type="primary"
+              @click="bankInputChange"
+              v-if="switchType != 2"
+              >{{ bankText }}</el-button
+            >
+          </ws-form-item>
+          <ws-form-item label="收款人姓名" span="1" prop="payeeName">
+            <ws-input
+              v-model="customerList.payeeName"
+              placeholder="请输入收款人姓名"
+              maxlength="15"
+              size="small"
+              :disabled="disabled"
+            />
+          </ws-form-item>
+        </ws-info-table>
+        <div class="but">
+          <el-button type="primary" @click="commit">提交</el-button>
+        </div>
+      </ws-form>
+    </div>
+  </div>
+</template>
+<script>
+import {
+  editCustomerInfo,
+  lookCustomer,
+  getBank,
+} from '@/model/customerFundManagement/index'
+
+export default {
+  components: {},
+  watch: {},
+  data() {
+    return {
+      imageUrl3: '',
+      imageUrl4: '',
+      dialogImageUrl: '',
+      dialogVisible: false,
+      customerList: {
+        customerName: '',
+        customerNumberCard: '',
+        bankCard: '',
+        bankDeposit: '',
+      },
+      disabledFlag: true,
+      disabled: false,
+      identity: [],
+      bank: [],
+      trader: '新增',
+      switchType: '',
+      identityImgUp: [
+        {
+          url: '',
+        },
+      ],
+      identityImgLow: [
+        {
+          url: '',
+        },
+      ],
+      bankImgUp: [
+        {
+          url: '',
+        },
+      ],
+      bankImgLow: [
+        {
+          url: '',
+        },
+      ],
+      identityUp: 'up',
+      identityLow: 'low',
+      bankUps: 'bankUp',
+      bankLows: 'bankLow',
+      sendDisabled: false,
+      bankList: [],
+      bankInput: false,
+      bankText: '手动填写',
+    }
+  },
+  activated() {
+    this.loaddata()
+
+    this.showType = this.isShow
+    this.imageUrl3 = ''
+    this.imageUrl4 = ''
+    this.customerList = {}
+  },
+  methods: {
+    bankInputChange() {
+      this.bankInput = !this.bankInput
+      if (this.bankInput) {
+        this.bankText = '自动识别'
+      } else {
+        this.bankText = '手动填写'
+      }
+    },
+    cancel() {
+      this.customerList = {}
+      this.$router.push({
+        path: 'customerFundList',
+      })
+    },
+    bankSuccess1(e) {
+      this.bankUps = 'bankUp'
+      this.bank[0] = e.url
+      this.imageUrl3 = e.url
+      getBank({
+        bankImg: e.url,
+      })
+        .toPromise()
+        .then((response) => {
+          if (response.bankNameZhihang.length > 0) {
+            this.bankList = response.bankNameZhihang
+          }
+          if (response.bankNo) {
+            this.$set(this.customerList, 'bankCard', response.bankNo)
+          }
+          if (response.bankName) {
+            this.$set(this.customerList, 'bankDeposit', response.bankName)
+          }
+        })
+    },
+    bankSuccess2(e) {
+      this.bankLows = 'bankLow'
+      this.bank[1] = e.url
+      this.imageUrl4 = e.url
+      getBank({
+        bankImg: e.url,
+      })
+        .toPromise()
+        .then((response) => {
+          if (response.bankNameZhihang) {
+            this.bankList = response.bankNameZhihang
+          }
+          if (response.bankNo) {
+            this.$set(this.customerList, 'bankCard', response.bankNo)
+          }
+          if (response.bankName) {
+            this.$set(this.customerList, 'bankDeposit', response.bankName)
+          }
+        })
+    },
+    loaddata() {
+      lookCustomer({ id: this.$route.query.id })
+        .toPromise()
+        .then((response) => {
+          this.customerList = response
+          this.bank = this.customerList.payeeAddressUrl.split(',')
+          this.imageUrl3 = this.bank[0]
+          this.imageUrl4 = this.bank[1]
+          getBank({
+            bankImg: this.bank[0],
+          })
+            .toPromise()
+            .then((response) => {
+              if (response.bankNameZhihang.length > 0) {
+                this.bankList = response.bankNameZhihang
+              }
+              if (response.bankNo) {
+                this.$set(this.customerList, 'bankCard', response.bankNo)
+              }
+              if (response.bankName) {
+                this.$set(this.customerList, 'bankDeposit', response.bankName)
+              }
+            })
+        })
+    },
+    commit() {
+      if (!this.imageUrl3) {
+        this.$message({
+          message: '请上传银行卡正面',
+          type: 'warning',
+        })
+        return
+      }
+      if (
+        !this.customerList.customerName &&
+        this.customerList.customerType == '个人客户'
+      ) {
+        this.$message({
+          message: '请输入客户姓名',
+          type: 'warning',
+        })
+        return
+      }
+      if (
+        !this.customerList.compName &&
+        this.customerList.customerType == '企业客户'
+      ) {
+        this.$message({
+          message: '请输入公司名称',
+          type: 'warning',
+        })
+        return
+      }
+      if (!this.customerList.bankCard) {
+        this.$message({
+          message: '请输入输入银行卡号',
+          type: 'warning',
+        })
+        return
+      }
+      if (!this.customerList.bankDeposit) {
+        this.$message({
+          message: '请输入开户行',
+          type: 'warning',
+        })
+        return
+      }
+      if (!this.customerList.bankDepositBranch) {
+        this.$message({
+          message: '请输入开户支行',
+          type: 'warning',
+        })
+        return
+      }
+      if (!this.customerList.customerPhone) {
+        this.$message({
+          message: '请输入手机号',
+          type: 'warning',
+        })
+        return
+      }
+      if (this.customerList.customerPhone.length != 11) {
+        this.$message({
+          message: '输入的手机号有误,请重新输入',
+          type: 'warning',
+        })
+        return
+      }
+      this.customerList.compId = sessionStorage.getItem('ws-pf_compId')
+
+      this.$confirm('确定修改客户信息?', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning',
+      })
+        .then(() => {
+          this.customerList.cardAddressUrl = this.identity.toString()
+          this.customerList.payeeAddressUrl = this.bank.toString()
+          editCustomerInfo(this.customerList)
+            .toPromise()
+            .then((response) => {
+              this.$message.success('编辑成功')
+              this.customerList = {}
+              this.$router.go(-1)
+            })
+        })
+        .catch(() => {
+          return false
+        })
+    },
+  },
+}
+</script>
+<style lang="scss" scoped>
+.avatar-uploader1 {
+  background: url('../../../public/img/identityup.png');
+}
+
+.avatar-uploader2 {
+  background: url('../../../public/img/identitylow.png');
+}
+
+.avatar-uploader3 {
+  background: url('../../../public/img/bankup.png');
+}
+
+.avatar-uploader4 {
+  background: url('../../../public/img/banklow.png');
+}
+
+/deep/.el-upload {
+  height: 200px;
+}
+
+.avatar-uploader {
+  background-size: 100% 100%;
+}
+
+.avatar-uploader .el-upload {
+  border: 1px dashed #d9d9d9;
+  border-radius: 6px;
+  cursor: pointer;
+  position: relative;
+  overflow: hidden;
+}
+
+.avatar-uploader .el-upload:hover {
+  border-color: #409eff;
+}
+
+.avatar-uploader-icon {
+  font-size: 28px;
+  color: #8c939d;
+  width: 178px;
+  height: 178px;
+  line-height: 178px;
+  text-align: center;
+}
+
+.avatar {
+  width: 330px;
+  height: 103%;
+  display: block;
+}
+
+.center {
+  background: #f6f7fc;
+}
+
+.seach {
+  display: flex;
+  align-items: center;
+
+  .find {
+    width: 32px;
+  }
+
+  .search-left {
+    display: flex;
+  }
+}
+
+.ws-info-table {
+  border: none;
+  width: 80%;
+  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;
+}
+
+.unload-img {
+  margin: 20px 0;
+}
+
+.veriCode {
+  margin: 0 9px;
+}
+.jiaoYan {
+  display: flex;
+  width: 50%;
+  padding: 0 9px;
+}
+/deep/.jiaoYan .el-input__inner {
+  width: 100%;
+}
+</style>

+ 537 - 0
src/views/customerFundManagement/customerFundList.vue

@@ -0,0 +1,537 @@
+//客户管理
+<template>
+  <div>
+    <BaseHeaderLayout :leftSpan="8">
+      <template slot="left"> </template>
+      <template slot="left">
+        <ws-input
+          v-model="searchKeyWord"
+          placeholder="可按客户名称、电话查找"
+          clearable
+          maxlength="500"
+          type="input"
+          class="findValue"
+        ></ws-input>
+        <ws-button class="find" type="primary" @click="find()"
+          ><img
+            width="16"
+            height="16"
+            style="
+              vertical-align: text-top;
+              position: relative;
+              top: 0px;
+              left: -2px;
+            "
+            src="../../../public/img/sousuo.png"
+            alt=""
+        /></ws-button>
+
+        <!--添加客户-->
+        <ws-button type="primary" @click="customerAdd()"
+          ><img
+            width="13"
+            height="13"
+            style="
+              vertical-align: text-top;
+              position: relative;
+              top: 2px;
+              left: -4px;
+            "
+            src="../../../public/img/header-add.png"
+            alt=""
+          />创建客户</ws-button
+        >
+      </template>
+      <!-- v-hasPermission="`contractManagement.buyContract.buyContractInfo.add`" -->
+    </BaseHeaderLayout>
+    <div>
+      <el-table
+        class="wenzi"
+        :data="customerList.records"
+        style="width: 100%"
+        height="680"
+      >
+        <el-table-column prop="index" label="序号" width="80">
+          <template scope="scope">
+            <span v-if="scope.$index < 9">0{{ scope.$index + 1 }}</span>
+            <span v-else>{{ scope.$index + 1 }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column prop="customerType" label="客户类型" width="80"></el-table-column>
+        <el-table-column prop="compName" label="企业名称" width="200"></el-table-column>
+        <el-table-column prop="customerName" label="客户姓名" width="100"></el-table-column>
+        <el-table-column prop="customerPhone" label="电话" width="100"> </el-table-column>
+        <el-table-column prop="totalDeposit" label="定金(元)" width="100"></el-table-column>
+        <el-table-column prop="advancePayment" label="预付金(元)" width="100"></el-table-column>
+        <el-table-column prop="securityDeposit" label="保证金(元)" width="100"></el-table-column>
+        <el-table-column prop="bankCard" label="账号"> </el-table-column>
+        <el-table-column prop="bankDeposit" label="开户行" width="200">
+          <template slot-scope="scope">
+            {{ scope.row.bankDeposit }} - {{ scope.row.bankDepositBranch }}
+          </template>
+        </el-table-column>
+        <el-table-column prop="payeeName" label="收款人姓名"> </el-table-column>
+        <el-table-column prop="seller" label="操作" width="150">
+          <template slot-scope="scope">
+            <el-button
+              size="medium"
+              type="text"
+              class="record"
+              @click="customerEdit(scope.row)"
+              >编辑</el-button
+            >
+            <el-button
+              size="medium"
+              type="text"
+              class="record"
+              @click="customerDel(scope.row)"
+              >删除</el-button
+            >
+          </template>
+        </el-table-column>
+      </el-table>
+      <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>
+    </div>
+  </div>
+</template>
+<script>
+import {
+  getCustomerList,
+  delCustomerInfo,
+} from '@/model/customerFundManagement/index'
+import Pagination from '@/components/Pagination'
+import WsUpload from '@/components/WsUpload'
+
+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: '',
+      currentPage: 1,
+      pageSize: 10,
+      deptBudgetTotal: 0,
+      searchKeyWord: '',
+      contractType: 2,
+      searchType: 1,
+      // 提交类型
+      submitType: true,
+      size: 10,
+      spanArr: [],
+      id: '',
+      money: '',
+      compId: sessionStorage.getItem('ws-pf_compId'),
+      deptCircularPage: {},
+      customerList: [],
+      deptBudgetList: {},
+      pickerBeginDateBefore: {
+        disabledDate: (time) => {
+          return time.getTime() > Date.now()
+        },
+      },
+      accessoryTFs: false,
+      customerInfo: {
+        id: '',
+        compId: '',
+        flag: '',
+        money: '',
+        totalDeposit: 0,
+      },
+      totalDeposit: 0,
+    }
+  },
+  activated() {
+    this.getList()
+    this.showType = this.isShow
+  },
+  methods: {
+    //查看//传参
+    nocomplete(row) {
+      this.$router.push({
+        name: 'vehicleDispatchingview',
+        query: {
+          id: row.id,
+        },
+      })
+    },
+    dateFormat(fmt, date) {
+      let ret
+      const opt = {
+        'Y+': date.getFullYear().toString(), // 年
+        'm+': (date.getMonth() + 1).toString(), // 月
+        'd+': date.getDate().toString(), // 日
+        'H+': date.getHours().toString(), // 时
+        // "M+": date.getMinutes().toString(),         // 分
+        // "S+": date.getSeconds().toString()          // 秒
+        // 有其他格式化字符需求可以继续添加,必须转化成字符串
+      }
+      for (let k in opt) {
+        ret = new RegExp('(' + k + ')').exec(fmt)
+        if (ret) {
+          fmt = fmt.replace(
+            ret[1],
+            ret[1].length == 1 ? opt[k] : opt[k].padStart(ret[1].length, '0')
+          )
+        }
+      }
+      return fmt
+    },
+    customerAdd() {
+      this.$router.push({
+        path: 'customerFundAdd',
+      })
+    },
+    customerEdit(row) {
+      this.$router.push({
+        name: 'customerFundEdit',
+        query: {
+          id: row.id,
+        },
+      })
+    },
+    customerDel(row) {
+      this.$confirm(`客户信息删除后不可恢复,是否确定删除?`, {
+        cancelButtonText: '取消',
+        confirmButtonText: '确定',
+        type: 'warning',
+      })
+        .then(() => {
+          delCustomerInfo({
+            id: row.id,
+          })
+            .toPromise()
+            .then((response) => {
+              this.$notify.success({
+                title: '成功',
+                message: '删除成功',
+              })
+              this.getList()
+            })
+            .catch((response) => {})
+        })
+        .catch(() => {
+          return false
+        })
+    },
+    handleClose() {
+      this.accessoryTFs = false
+    },
+    handleSizeChange(val) {
+      console.log(`每页 ${val} 条`)
+      this.pageSize = val
+      this.getList()
+    },
+    handleCurrentChange(val) {
+      this.currentPage = val
+      console.log(`当前页: ${val}`)
+      this.getList()
+    },
+    changestatus(state) {
+      this.searchType = state
+      this.getList()
+    },
+    whether(row) {
+      row.identification = 'true'
+    },
+    //列表查询
+    getList() {
+      getCustomerList({
+        compId: sessionStorage.getItem('ws-pf_compId'),
+        currentPage: this.currentPage,
+        pageSize: this.pageSize,
+        searchKeyWord: this.searchKeyWord,
+        customerTypeFlag: this.customerTypeFlag,
+      })
+        .toPromise()
+        .then((response) => {
+          for (var i = 0; i < response.records.length; i++) {
+            response.records[i].identification = 'false'
+          }
+          this.customerList = response
+          this.deptCircularPage.currentPage = response.current
+          this.deptCircularPage.pageSize = response.size
+          this.deptBudgetTotal = response.total
+        })
+    },
+    find() {
+      this.currentPage = 1
+      this.getList()
+    },
+  },
+}
+</script>
+<style lang="scss" scoped>
+.connert {
+  width: 90%;
+  margin: 0 auto;
+}
+.vertical-text-left {
+  width: 62px;
+  text-align: right;
+}
+.el-button--primary {
+  background-color: #5878e8;
+  border-color: #5878e8;
+}
+.el-button--primary {
+  background-color: #5878e8;
+  color: #fff;
+}
+.el-button--default {
+  color: #8890b1;
+  border-color: #e8eaf1;
+}
+/deep/.base_header_layout .grid-content.right .find.el-button--primary {
+  width: 30px;
+  margin-left: 0;
+  border-top-left-radius: 0px;
+  border-bottom-left-radius: 0px;
+}
+/deep/.findValue .el-input__inner {
+  border-top-right-radius: 0px;
+  border-bottom-right-radius: 0px;
+}
+//操作按钮
+.record,
+.adjustment {
+  display: inline-block;
+  color: #5878e8;
+  padding: 0 4px !important;
+  position: relative;
+  font-size: 14px;
+}
+.record:after {
+  position: absolute;
+  content: '';
+  display: block;
+  top: 5px;
+  right: -2px;
+  width: 1px;
+  height: 12px;
+  background: #e9ecf7;
+}
+//状态样式
+.executory,
+.inExecution,
+.done {
+  width: 6px;
+  height: 6px;
+  display: inline-block;
+  border-radius: 50%;
+  position: relative;
+  top: -1px;
+  font-size: 14px;
+}
+.executory {
+  background: #ff9f24;
+}
+.inExecution {
+  background: #5878e8;
+}
+.done {
+  background: #50cad4;
+}
+.putstorage.el-button--default,
+.deliverystorage.el-button--default {
+  border-color: #8890b1;
+  background-color: #fff;
+  color: #8890b1;
+}
+/deep/.el-table td,
+/deep/.el-table th.is-leaf {
+  border-right: 1px solid #e9ecf7;
+  text-align: center;
+}
+/deep/.el-table tr td:first-child,
+/deep/.el-table tr th.is-leaf:first-child {
+  border-left: 1px solid #e9ecf7;
+}
+.record,
+.adjustment {
+  display: inline-block;
+  color: #5878e8;
+  padding: 0 4px !important;
+  position: relative;
+}
+.record:after {
+  position: absolute;
+  content: '';
+  display: block;
+  top: 5px;
+  right: -2px;
+  width: 1px;
+  height: 12px;
+  background: #e9ecf7;
+}
+.el-row {
+  height: 60px;
+}
+.base_header_layout .grid-content {
+  margin-top: 80px;
+}
+.el-input--small .el-input__inner {
+  margin-left: 20px;
+}
+.dialog-footer {
+  margin-top: 33px;
+}
+.el-range-editor--small.el-input__inner {
+  height: 32px;
+  margin: 0 10px;
+}
+/deep/.el-pagination {
+  text-align: center;
+  white-space: nowrap;
+  padding: 2px 5px;
+  color: #303133;
+  font-weight: 700;
+  margin-bottom: 20px;
+}
+.el-select {
+  width: 30%;
+  margin-right: 10px;
+}
+/deep/.zengjia .el-textarea__inner {
+  display: block;
+  padding: 13px 9px;
+  line-height: 0.5;
+  box-sizing: border-box;
+  width: 80%;
+  font-size: inherit;
+  color: #606266;
+  background-color: #fff;
+  background-image: none;
+  border: 1px solid #dcdfe6;
+  border-radius: 4px;
+  margin-left: 180px;
+  margin-top: 10px;
+}
+
+/deep/.xiugai .el-textarea__inner {
+  display: block;
+  padding: 13px 17px;
+  line-height: 0.5;
+  box-sizing: border-box;
+  width: 105%;
+  font-size: inherit;
+  color: #606266;
+  background-color: #fff;
+  background-image: none;
+  border: 1px solid #dcdfe6;
+  border-radius: 4px;
+  transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
+  margin-left: 95px;
+}
+
+/deep/.tuihui .el-textarea__inner {
+  display: block;
+  padding: 13px 9px;
+  line-height: 0.5;
+  box-sizing: border-box;
+  width: 80%;
+  font-size: inherit;
+  color: #606266;
+  background-color: #fff;
+  background-image: none;
+  border: 1px solid #dcdfe6;
+  border-radius: 4px;
+  margin-left: 180px;
+  margin-top: 10px;
+}
+/deep/.dingjin {
+  width: 98px;
+  margin-left: 30px;
+  margin-bottom: -37px;
+  padding-top: 20px;
+}
+/deep/.el-textarea__inner {
+  display: block;
+  padding: 13px 17px;
+  line-height: 0.5;
+  box-sizing: border-box;
+  width: 90%;
+  font-size: inherit;
+  color: #606266;
+  background-color: #fff;
+  background-image: none;
+  border: 1px solid #dcdfe6;
+  border-radius: 4px;
+  transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
+  margin-left: 155px;
+  margin-top: 10px;
+}
+/deep/.addprice {
+  width: 98px;
+  margin-left: 50px;
+}
+/deep/.returnprice {
+  width: 98px;
+  margin-left: 50px;
+}
+/deep/.yuan {
+  width: 10px;
+  margin-left: 150%;
+  margin-top: -32px;
+}
+/deep/.addpricejine {
+  width: 98px;
+  margin-left: 50px;
+  margin-bottom: -37px;
+  padding-top: 20px;
+}
+/deep/.returnpricejine {
+  width: 98px;
+  margin-left: 50px;
+  margin-bottom: -37px;
+  padding-top: 20px;
+}
+/deep/.typeselect .el-input__inner {
+  color: #8890b1;
+}
+/deep/.yifudingjin {
+  margin-left: 135px;
+  width: 70px;
+  margin-top: -19px;
+}
+.inputChenge {
+  width: 50%;
+  display: inline-flex;
+}
+.inputs {
+  margin: 0 auto;
+}
+/deep/.ketuidingjin {
+  margin-left: 135px;
+  width: 70px;
+  margin-top: -19px;
+}
+</style>

+ 1 - 1
src/views/financialManagement/collectionManagementList.vue

@@ -134,7 +134,7 @@
             placeholder="请选择默认库管"
             class="deal"
             filterable
-            :filter-method="dataFilter"
+            
             @change="selectstaff"
           >
             <el-option

+ 1 - 1
src/views/outboundManagement/collectionManagement.vue

@@ -29,7 +29,7 @@
             placeholder="请选择合同"
             clearable
             filterable
-            :filter-method="dataFilter"
+            
             @change="contractchange"
             maxlength="500"
             type="input"

+ 1 - 1
src/views/purchasingManagement/procurementPlanAdd.vue

@@ -173,7 +173,7 @@
               v-model="dataList.buyerPhone"
               filterable
               class="typeselect"
-              :filter-method="dataFilter"
+              clearable
               placeholder="请输入买方电话"
             ></el-input>
             <span class="unchangeable">*</span>

+ 1 - 1
src/views/purchasingManagement/procurementPlanEdit.vue

@@ -209,7 +209,7 @@
             <el-input
               v-model="dataList.buyerPhone"
               filterable
-              :filter-method="dataFilter"
+              clearable
               placeholder="请输入买方电话"
               class="typeselect"
             ></el-input>

+ 2 - 2
src/views/purchasingManagement/procurementPlanLook.vue

@@ -76,7 +76,7 @@
           </el-form-item>
           <!--包装方式-->
           <el-form-item label="包装方式">
-            <el-input disabled v-model="dataList.packingType" filterable :filter-method="dataFilter"></el-input>
+            <el-input disabled v-model="dataList.packingType" filterable></el-input>
           </el-form-item>
           <!--装袋备注=-->
           <el-form-item label="装袋备注" v-if="dataList.packingType == '大袋' || dataList.packingType == '小袋'">
@@ -88,7 +88,7 @@
           </el-form-item>
           <!-- 买方电话 -->
           <el-form-item label="买方电话">
-            <el-input disabled v-model="dataList.buyerPhone" filterable :filter-method="dataFilter"></el-input>
+            <el-input disabled v-model="dataList.buyerPhone" filterable></el-input>
           </el-form-item>
           <div class="small-title"></div>
         </el-form>

+ 1 - 1
src/views/purchasingManagement/purchaseOrderList.vue

@@ -745,7 +745,7 @@
             placeholder="请选择合同编号"
             class="deal"
             filterable
-            :filter-method="dataFilter"
+           
           >
             <el-option
               v-for="item in options"

+ 1 - 1
src/views/salesManagement/salesPlanAdd.vue

@@ -216,7 +216,7 @@
               v-model="dataList.sellerPhone"
               filterable
               class="typeselect"
-              :filter-method="dataFilter"
+              clearable
               placeholder="请输入卖方电话"
             ></el-input>
             <span class="unchangeable">*</span>

+ 1 - 1
src/views/salesManagement/salesPlanEdit.vue

@@ -181,7 +181,7 @@
             <el-input
               v-model="dataList.sellerPhone"
               filterable
-              :filter-method="dataFilter"
+              clearable
               class="typeselect"
               placeholder="请输入卖方电话"
             ></el-input>

+ 2 - 2
src/views/salesManagement/salesPlanLook.vue

@@ -76,7 +76,7 @@
           </el-form-item>
           <!--包装方式-->
           <el-form-item label="包装方式">
-            <el-input disabled v-model="dataList.packingType" filterable :filter-method="dataFilter"></el-input>
+            <el-input disabled v-model="dataList.packingType" filterable></el-input>
           </el-form-item>
           <!--装袋备注=-->
           <el-form-item label="装袋备注" v-if="dataList.packingType == '大袋' || dataList.packingType == '小袋'">
@@ -88,7 +88,7 @@
           </el-form-item>
           <!-- 卖方电话 -->
           <el-form-item label="卖方电话">
-            <el-input disabled v-model="dataList.sellerPhone" filterable :filter-method="dataFilter"></el-input>
+            <el-input disabled v-model="dataList.sellerPhone" filterable></el-input>
           </el-form-item>
           <div class="small-title"></div>
         </el-form>

+ 1 - 1
src/views/salesManagement/salesPlanOrderList.vue

@@ -768,7 +768,7 @@
             placeholder="请选择合同编号"
             class="deal"
             filterable
-            :filter-method="dataFilter"
+           
           >
             <el-option
               v-for="item in options"

+ 5 - 1
src/views/statisticalReport/autoSettlementList.vue

@@ -65,7 +65,7 @@
             placeholder="请选择合同"
             clearable
             filterable
-            :filter-method="dataFilter"
+           
             @change="contractchange"
             maxlength="500"
             type="input"
@@ -1280,6 +1280,10 @@ export default {
           sums[index] = '--'
         }
       })
+      sums[sums.length-4]=sums[sums.length-4].toFixed(2)
+			sums[sums.length-5]=sums[sums.length-5].toFixed(2)
+      sums[sums.length-6]=sums[sums.length-6].toFixed(2)
+      sums[sums.length-7]=sums[sums.length-7].toFixed(2)
       return sums
     },
     //列表

+ 2 - 2
src/views/statisticalReport/huoyunList.vue

@@ -58,7 +58,7 @@
             placeholder="请选择合同"
             clearable
             filterable
-            :filter-method="dataFilter"
+           
             @change="contractchange"
             maxlength="500"
             type="input"
@@ -76,7 +76,7 @@
             placeholder="请选择运输任务编号"
             clearable
             filterable
-            :filter-method="dataFilter"
+           
             @change="taskNochange"
             maxlength="500"
             type="input"

+ 12 - 4
src/views/statisticalReport/purchaseClosingCashierList.vue

@@ -58,7 +58,7 @@
             placeholder="请选择合同"
             clearable
             filterable
-            :filter-method="dataFilter"
+           
             @change="contractchange"
             maxlength="500"
             type="input"
@@ -107,7 +107,6 @@
         <el-table-column
           class="table_td"
           prop="closePositionDate"
-          width="100"
           label="平仓日期"
         ></el-table-column>
         <el-table-column
@@ -129,7 +128,7 @@
           label="平仓价格(元/吨)"
         ></el-table-column>
         <el-table-column
-          width="100"
+          width="90"
           class="table_td"
           prop="basisPrice"
           label="基差(元/吨)"
@@ -183,11 +182,13 @@
         <el-table-column
           class="table_td"
           prop="customerName"
+          width="60"
           label="客户"
         ></el-table-column>
         <el-table-column
           class="table_td"
           prop="warehouseName"
+          width="60"
           label="库点"
         ></el-table-column>
         <el-table-column prop="status" label="状态">
@@ -572,9 +573,9 @@ export default {
           sums[index] = '合计'
         } else if (
           index === 4 ||
-          index === 10 ||
           index === 8 ||
           index === 9 ||
+          index === 10 ||
           index === 12 ||
           index === 13 ||
           index === 14
@@ -596,6 +597,13 @@ export default {
           sums[index] = '--'
         }
       })
+			sums[sums.length-5]=sums[sums.length-5].toFixed(2)
+      sums[sums.length-6]=sums[sums.length-6].toFixed(2)
+      sums[sums.length-7]=sums[sums.length-7].toFixed(2)
+			sums[sums.length-9]=sums[sums.length-9].toFixed(2)
+      sums[sums.length-10]=sums[sums.length-10].toFixed(2)
+      sums[sums.length-11]=sums[sums.length-11].toFixed(2)
+      sums[sums.length-15]=sums[sums.length-15].toFixed(2)
       return sums
     },
     //付款

+ 7 - 2
src/views/statisticalReport/purchaseReceiptStatisticsList.vue

@@ -70,7 +70,7 @@
             placeholder="请选择合同"
             clearable
             filterable
-            :filter-method="dataFilter"
+           
             @change="contractchange"
             maxlength="500"
             type="input"
@@ -1129,9 +1129,9 @@ export default {
           sums[index] = '合计'
         } else if (
           index === 15 ||
+          index === 16 ||
           index === 17 ||
           index === 18 ||
-          index === 16 ||
           index === 25
         ) {
           const values = data.map((item) => Number(item[column.property]))
@@ -1151,6 +1151,11 @@ export default {
           sums[index] = '--'
         }
       })
+      sums[sums.length-2]=sums[sums.length-2].toFixed(2)
+      sums[sums.length-9]=sums[sums.length-9].toFixed(2)
+			sums[sums.length-10]=sums[sums.length-10].toFixed(2)
+      sums[sums.length-11]=sums[sums.length-11].toFixed(2)
+			sums[sums.length-12]=sums[sums.length-12].toFixed(2)
       return sums
     },
     //成交

+ 9 - 2
src/views/statisticalReport/salesClosingCashierList.vue

@@ -57,7 +57,7 @@
             placeholder="请选择合同"
             clearable
             filterable
-            :filter-method="dataFilter"
+           
             @change="contractchange"
             maxlength="500"
             type="input"
@@ -691,9 +691,9 @@ export default {
           sums[index] = '合计'
         } else if (
           index === 4 ||
-          index === 10 ||
           index === 8 ||
           index === 9 ||
+          index === 10 ||
           index === 12 ||
           index === 13 ||
           index === 14
@@ -715,6 +715,13 @@ export default {
           sums[index] = '--'
         }
       })
+      sums[sums.length-5]=sums[sums.length-5].toFixed(2)
+      sums[sums.length-6]=sums[sums.length-6].toFixed(2)
+      sums[sums.length-7]=sums[sums.length-7].toFixed(2)
+			sums[sums.length-9]=sums[sums.length-9].toFixed(2)
+      sums[sums.length-10]=sums[sums.length-10].toFixed(2)
+      sums[sums.length-11]=sums[sums.length-11].toFixed(2)
+      sums[sums.length-15]=sums[sums.length-15].toFixed(2)
       return sums
     },
     //成交

+ 6 - 1
src/views/statisticalReport/salesDeliveryReportList.vue

@@ -64,7 +64,7 @@
             placeholder="请选择合同"
             clearable
             filterable
-            :filter-method="dataFilter"
+           
             @change="contractchange"
             maxlength="500"
             type="input"
@@ -725,6 +725,11 @@ export default {
           sums[index] = '--'
         }
       })
+      sums[sums.length-2]=sums[sums.length-2].toFixed(2)
+      sums[sums.length-7]=sums[sums.length-7].toFixed(2)
+			sums[sums.length-8]=sums[sums.length-8].toFixed(2)
+      sums[sums.length-9]=sums[sums.length-9].toFixed(2)
+			sums[sums.length-10]=sums[sums.length-10].toFixed(2)
       return sums
     },
     handlecollect() {

+ 1 - 1
src/views/statisticalReport/shippingList.vue

@@ -58,7 +58,7 @@
             placeholder="请选择合同"
             clearable
             filterable
-            :filter-method="dataFilter"
+           
             @change="contractchange"
             maxlength="500"
             type="input"

+ 5 - 1
src/views/statisticalReport/stockPurchaseReceiptReportList.vue

@@ -64,7 +64,7 @@
             placeholder="请选择合同"
             clearable
             filterable
-            :filter-method="dataFilter"
+           
             @change="contractchange"
             maxlength="500"
             type="input"
@@ -953,6 +953,10 @@ export default {
           sums[index] = '--'
         }
       })
+      sums[sums.length-3]=sums[sums.length-3].toFixed(2)
+      sums[sums.length-4]=sums[sums.length-4].toFixed(2)
+			sums[sums.length-5]=sums[sums.length-5].toFixed(2)
+      sums[sums.length-6]=sums[sums.length-6].toFixed(2)
       return sums
     },
     getList() {

+ 3 - 1
src/views/statisticalReport/stockSaleOutReportList.vue

@@ -12,7 +12,7 @@
 					</ws-button>
 				</el-col>
 				<el-col style="text-align: right; line-height: 60px; padding-right: 10px" :span="8">
-					<el-select v-model="contractNo" placeholder="请选择合同" clearable filterable :filter-method="dataFilter"
+					<el-select v-model="contractNo" placeholder="请选择合同" clearable filterable
 						@change="contractchange" maxlength="500" type="input" class="findValue">
 						<el-option v-if="item.reportStatus" v-for="item in options" :key="item.constKey"
 							:label="item.contractNo + '(' + item.reportStatus + ')'" :value="item.contractNo" />
@@ -453,6 +453,8 @@
 						sums[index] = '--'
 					}
 				})
+				sums[sums.length-1]=sums[sums.length-1].toFixed(2)
+				sums[sums.length-2]=sums[sums.length-2].toFixed(2)
 				return sums
 			},
 			//定金

+ 1 - 0
src/views/system/systemFile/fileManage.vue

@@ -436,6 +436,7 @@
               <ws-select v-model="vesselId"
                          filterable
                          multiple
+                         clearable
                          @change="changeVessel">
                 <ws-option v-for="item in shipOptions"
                            :key="item.vesselId"

+ 1 - 1
src/views/system/systemFile/systemOperation.vue

@@ -270,7 +270,7 @@
           <!-- 适用船舶 -->
           <ws-form-item :label="$t('system.fileManagement.applicableShip')"
                         v-if="vesselBankFlag === 'B'">
-            <ws-select filterable
+            <ws-select filterable clearable
                        v-model="page.vesselId"
                        style="width:100%"
                        :placeholder="$t('common.selected')">

+ 5 - 0
src/views/system/systemFileManage/systemDocuments/fileManage.vue

@@ -498,6 +498,7 @@
                         span="2">
             <el-select v-model="deptId"
                        filterable
+                       clearable
                        multiple
                        @change="changeDept"
                        style="width: 100%;">
@@ -545,6 +546,7 @@
             <el-select v-model="sponsorShipId"
                        multiple
                        filterable
+                       clearable
                        collapse-tags
                        style="width: 250px;margin-top: 7px">
               <el-option v-for="item in sponsorShipOptions"
@@ -593,6 +595,7 @@
                                :value="i.roleId"></el-option>
                   </el-select> -->
                   <el-select filterable
+                             clearable
                              multiple
                              collapse-tags
                              v-model="item.reviewProcess"
@@ -620,6 +623,7 @@
             <el-select v-model="sponsorShoreId"
                        multiple
                        filterable
+                       clearable
                        collapse-tags
                        style="width: 250px;margin-top: 7px">
               <el-option v-for="item in sponsorShoreOptions"
@@ -665,6 +669,7 @@
                                :value="i.roleId"></el-option>
                   </el-select> -->
                   <el-select filterable
+                             clearable
                              multiple
                              collapse-tags
                              v-model="item.reviewShoreProcess"

+ 1 - 1
src/views/system/systemFileManage/systemOperation/circulationStatement.vue

@@ -281,7 +281,7 @@
                style="padding: 5px;">
             <span>{{ $t('system.fileManagement.applicableShip') }}</span>
           </div>
-          <ws-select filterable
+          <ws-select filterable clearable
                      v-model="page.vesselId"
                      style="width:100%;margin-bottom: 20px;"
                      :placeholder="$t('common.selected')">

+ 1 - 0
src/views/system/systemFileManage/systemOperation/documentWarning.vue

@@ -47,6 +47,7 @@ JACK_LIU * @Last Modified time: 2020-08-10 20:43:34 */
                 </ws-select> -->
               <BaseShipSelect v-model="requestData.vesselId"
                               filterable
+                              clearable
                               :placeholder="$t('common.selected')"
                               :showAll="false"
                               clearable

+ 2 - 2
src/views/taskManagement/tranManagementTransportAdd.vue

@@ -302,7 +302,7 @@
             v-model="item.sender"
             placeholder="请选择发货人"
             filterable
-            :filter-method="dataFilter"
+           
             @change=" (val) => {
                   selectstaff(val, index)
                 }"
@@ -354,7 +354,7 @@
             v-model="item.receiver"
             placeholder="请选择收货人"
             filterable
-            :filter-method="dataFilter"
+           
             @change="(val) => {
                   selectstaff1(val, index)
                 }"

+ 2 - 2
src/views/taskManagement/tranManagementTransportEdit.vue

@@ -302,7 +302,7 @@
             v-model="item.sender"
             placeholder="请选择发货人"
             filterable
-            :filter-method="dataFilter"
+           
             @change="(val) => {
                   selectstaff(val, index)
                 }"
@@ -354,7 +354,7 @@
             v-model="item.receiver"
             placeholder="请选择收货人"
             filterable
-            :filter-method="dataFilter"
+           
             @change="(val) => {
                   selectstaff1(val, index)
                 }"

+ 2 - 2
src/views/taskManagement/tranManagementWarehouseInOutTaskAdd.vue

@@ -110,7 +110,7 @@
 					</el-form-item>
 					<!--经办人-->
 					<!-- <el-form-item label="出库经办人">
-            <el-select v-model="dataList.agent" placeholder="请选择经办人" filterable :filter-method="dataFilter"
+            <el-select v-model="dataList.agent" placeholder="请选择经办人" filterable
               @change="selectstaff">
               <el-option v-for="item in options" :key="item.value" :label="item.staffName" :value="item.staffName" />
             </el-select>
@@ -314,7 +314,7 @@
 					</el-form-item>
 					<!--经办人-->
 					<!-- <el-form-item label="出库经办人">
-            <el-select v-model="dataList.agent" placeholder="请选择经办人" filterable :filter-method="dataFilter"
+            <el-select v-model="dataList.agent" placeholder="请选择经办人" filterable
               @change="selectstaff">
               <el-option v-for="item in options" :key="item.value" :label="item.staffName" :value="item.staffName" />
             </el-select>

+ 2 - 3
src/views/taskManagement/tranManagementWarehouseInOutTaskAudit.vue

@@ -220,7 +220,6 @@
               v-model="dataList.agent"
               placeholder="请选择经办人"
               filterable
-              :filter-method="dataFilter"
               @change="selectstaff"
             >
               <el-option
@@ -437,7 +436,7 @@
               v-model="dataList1.agent"
               placeholder="请选择经办人"
               filterable
-              :filter-method="dataFilter"
+             
               @change="selectstaff1"
             >
               <el-option
@@ -645,7 +644,7 @@
               v-model="dataList.agent"
               placeholder="请选择经办人"
               filterable
-              :filter-method="dataFilter"
+             
               @change="selectstaff"
             >
               <el-option

+ 3 - 3
src/views/taskManagement/tranManagementWarehouseInOutTaskEdit.vue

@@ -217,7 +217,7 @@
               v-model="dataList.agent"
               placeholder="请选择经办人"
               filterable
-              :filter-method="dataFilter"
+             
               @change="selectstaff"
             >
               <el-option
@@ -420,7 +420,7 @@
               v-model="dataList1.agent"
               placeholder="请选择经办人"
               filterable
-              :filter-method="dataFilter"
+             
               @change="selectstaff1"
             >
               <el-option
@@ -619,7 +619,7 @@
               v-model="dataList.agent"
               placeholder="请选择经办人"
               filterable
-              :filter-method="dataFilter"
+             
               @change="selectstaff"
             >
               <el-option

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

@@ -170,6 +170,7 @@
                 class="typeselect"
                 @change="selectcarLength"
                 filterable
+                clearable
                 allow-create
                 default-first-option
               >

+ 81 - 50
src/views/tranManagement/tranManagementFireFeedback.vue

@@ -80,7 +80,7 @@
       <!-- 导入 -->
       <div style="font-size: 16px; width: 100%;  text-align: right;display:flex;justify-content:end;">
         <el-link
-          href="https://taohaoliang.oss-cn-beijing.aliyuncs.com/%E6%B1%BD%E8%BF%90%E8%A3%85%E8%BD%A6%E5%8F%8D%E9%A6%88%E6%A8%A1%E6%9D%BF.xlsx"
+          href="https://taohaoliang.oss-cn-beijing.aliyuncs.com/pcfiles/%E5%8F%8D%E9%A6%88%E6%A8%A1%E6%9D%BF/%E7%81%AB%E8%BF%90%E8%A3%85%E8%BD%A6%E5%8F%8D%E9%A6%88%E6%A8%A1%E6%9D%BF.xlsx"
           style="margin-left: 8px;">
           <el-button type="primary">模板下载</el-button>
         </el-link>
@@ -107,7 +107,7 @@
             </ws-form-item>
             <!--磅单-->
             <ws-form-item label="磅单:" span="1" prop="loadPoundImg">
-              <template>
+              <template slot-scope="scope">
                 <!-- slot-scope="scope" -->
                 <el-upload action="https://www.zthymaoyi.com/upload/admin" :show-file-list="false" :on-success="
                     (res) => {
@@ -119,12 +119,9 @@
                 </el-upload>
                 <span v-if="item.imgCount > 0">{{item.imgCount}}</span>
                 <span v-if="item.imgCount == 0">未上传</span>
+              <el-button v-if="item.imgCount>0" class="bg-bottom-preview" type="primary" size="small" :data-img="item.loadPoundImg" @click="$imgPreview">预览</el-button>
               </template>
             </ws-form-item>
-            <!--预览-->
-            <div>
-              <el-button class="bg-bottom" type="primary" size="small" @click="preview(item)"  v-if="item.imgCount > 0 ">预览</el-button>
-            </div>
             <!--箱号-->
             <!--装车日期-->
             <el-form-item label="装车日期:" span="1" prop="loadingDate">
@@ -137,14 +134,15 @@
 
             <!-- 提交 -->
             <span class="servicein" v-show="item.status == '已装车' || item.status == '已送达'">已装车</span>
-            <span style="text-align: right; padding: 10px" class="center" v-if="
+            <span style="text-align: right;" class="noservicein" v-if="
                 item.status == '' ||
                 item.status == null ||
                 item.status == '未装车'
               ">
-              <div>
+              <!-- <div>
                 <el-button class="bg-bottom" type="primary" size="small" @click="submit(index)">提交</el-button>
-              </div>
+              </div> -->
+              未装车
             </span>
             <!-- <div
               v-show="
@@ -184,6 +182,7 @@
     </ws-form>
     <!-- 完货 -->
     <div style="text-align: right; padding: 10px" class="wanhuo">
+       <el-button class="bg-bottom" type="primary" size="small" @click="submit(index)">提交</el-button>
       <el-button class="bg-bottom" type="primary" size="small" @click="finished(deptBudgetList)">完货</el-button>
     </div>
   </div>
@@ -430,6 +429,7 @@
                 _ispushData = true
               }
             }
+            _this.$forceUpdate();
           }
           reader.readAsArrayBuffer(f)
         }
@@ -501,32 +501,41 @@
       validateFunc() {
         this.$refs.deptBudgetList.validate(valid => {
           if (valid) {
+            console.log(this.freightspace,"数组")
+            
             // this.deptBudgetList.totalStorage = this.totalStorage
-            this.tranCarInfoList = this.freightspace
-            this.tranCarInfoList.driver = this.deptBudgetList.driver
-            this.tranCarInfoList.driverPhone = this.deptBudgetList.driverPhone
-            this.tranCarInfoList.tranCarNo = this.deptBudgetList.tranCarNo
-            this.tranCarInfoList.carNo = this.deptBudgetList.carNo
-            this.tranCarInfoList[0].sendDateStart = this.deptBudgetList.sendDateStart
-            this.tranCarInfoList.loadNetWeight = this.deptBudgetList.loadNetWeight
-            this.tranCarInfoList.tranType = this.tranType
-            this.tranCarInfoList.loadPoundImg = this.deptBudgetList.loadPoundImg
+            // this.tranCarInfoList = this.freightspace
+            // this.tranCarInfoList.driver = this.deptBudgetList.driver
+            // this.tranCarInfoList.driverPhone = this.deptBudgetList.driverPhone
+            // this.tranCarInfoList.tranCarNo = this.deptBudgetList.tranCarNo
+            // this.tranCarInfoList.carNo = this.deptBudgetList.carNo
+            // this.tranCarInfoList[0].sendDateStart = this.deptBudgetList.sendDateStart
+            // this.tranCarInfoList.loadNetWeight = this.deptBudgetList.loadNetWeight
+            // this.tranCarInfoList.tranType = this.tranType
+            // this.tranCarInfoList.loadPoundImg = this.deptBudgetList.loadPoundImg
             // this.tranCarInfoList.boxNo = this.arr.toString()
-            for (var i = 0; i < this.tranCarInfoList.length; i++) {
-              this.tranCarInfoList[i].id = this.freightspace[i].id
-              if (this.tranCarInfoList[i].temporaryDriverFlag != 0) {
-                this.tranCarInfoList[i].temporaryDriverFlag = 1
-                this.tranCarInfoList[i].tranType = this.tranType
-              }
-            }
-            var tranProcessInfo = {}
-            tranProcessInfo.id = this.deptBudgetList.id
-            tranProcessInfo.infoId = this.deptBudgetList.infoId
-            tranProcessInfo.processNo = this.deptBudgetList.processNo
-            tranProcessInfo.tranPrice = this.deptBudgetList.tranPrice
-            tranProcessInfo.tranCarInfoList = this.tranCarInfoList
+            // for (var i = 0; i < this.tranCarInfoList.length; i++) {
+            //   this.tranCarInfoList[i].id = this.freightspace[i].id
+            //   if (this.tranCarInfoList[i].temporaryDriverFlag != 0) {
+            //     this.tranCarInfoList[i].temporaryDriverFlag = 1
+            //     this.tranCarInfoList[i].tranType = this.tranType
+            //   }
+            // }
+            // var tranProcessInfo = {}
+            // tranProcessInfo.id = this.deptBudgetList.id
+            // tranProcessInfo.infoId = this.deptBudgetList.infoId
+            // tranProcessInfo.processNo = this.deptBudgetList.processNo
+            // tranProcessInfo.tranPrice = this.deptBudgetList.tranPrice
+            // tranProcessInfo.tranCarInfoList = this.tranCarInfoList
             // dispatchCat({tranCarInfo:{tranCarInfoList:[this.tranCarInfoList],id:this.deptBudgetList.id}
-            feedback(tranProcessInfo)
+            let tranCar = {}
+            tranCar.infoId = this.deptBudgetList.infoId
+             tranCar.id = this.deptBudgetList.id
+            tranCar.infoId = this.deptBudgetList.infoId
+            tranCar.processNo = this.deptBudgetList.processNo
+            tranCar.tranPrice = this.deptBudgetList.tranPrice
+            tranCar.tranCarInfoList = this.freightspace
+            feedback(tranCar)
               .toPromise()
               .then(response => {
                 this.$message.success('提交成功')
@@ -544,7 +553,7 @@
         })
       },
       submit(index) {
-        // for (var i = 0; i < this.freightspace.length; i++) {
+        for (var i = 0; i < this.freightspace.length; i++) {
         // if (!this.freightspace[i].driver) {
         //   this.$message({
         //     message: '司机姓名不能为空!',
@@ -566,7 +575,7 @@
         //   })
         //   return
         // }
-        if (!this.freightspace[index].loadNetWeight) {
+        if (!this.freightspace[i].loadNetWeight) {
           this.$message({
             message: '装车净重不能为空!',
             type: 'warning'
@@ -574,8 +583,8 @@
           return
         }
         if (
-          this.freightspace[index].loadNetWeight < 0 ||
-          this.freightspace[index].loadNetWeight > 10000
+          this.freightspace[i].loadNetWeight < 0 ||
+          this.freightspace[i].loadNetWeight > 10000
         ) {
           this.$message({
             message: '装车净重输入错误!',
@@ -583,13 +592,38 @@
           })
           return
         }
-        if (!this.freightspace[index].loadingDate) {
+         if (!this.freightspace[i].loadingDate) {
           this.$message({
             message: '装车日期不能为空!',
             type: 'warning'
           })
           return
         }
+        }
+        // if (!this.freightspace[index].loadNetWeight) {
+        //   this.$message({
+        //     message: '装车净重不能为空!',
+        //     type: 'warning'
+        //   })
+        //   return
+        // }
+        // if (
+        //   this.freightspace[index].loadNetWeight < 0 ||
+        //   this.freightspace[index].loadNetWeight > 10000
+        // ) {
+        //   this.$message({
+        //     message: '装车净重输入错误!',
+        //     type: 'warning'
+        //   })
+        //   return
+        // }
+        // if (!this.freightspace[index].loadingDate) {
+        //   this.$message({
+        //     message: '装车日期不能为空!',
+        //     type: 'warning'
+        //   })
+        //   return
+        // }
 
         // }
         if (sessionStorage.getItem('sh-msg')) {
@@ -853,11 +887,11 @@
     display: inline-block;
   }
 
-  .center {
-    width: 900px;
-    margin: -70px auto;
-    margin-right: 92px;
-  }
+  // .center {
+  //   width: 900px;
+  //   margin: -70px auto;
+  //   margin-right: 92px;
+  // }
 
   .wanhuo {
     width: 900px;
@@ -1159,18 +1193,12 @@
   }
 
   .noservicein {
-    background: #c4cada;
     color: #ffffff;
-    display: inline-block;
-    border-radius: 4px;
+    // display: inline-block;
     border: 1px solid #d8dce6;
     padding: 2px;
     font-size: 12px;
-    background: #e5f1f7;
-    color: #50cad4;
-    height: 23px;
-    margin-top: 11px;
-    margin-left: 53px;
+    background: #C4CADA;
   }
 
   .servicedin {
@@ -1209,4 +1237,7 @@
     background: #e5f1f7;
     color: #50cad4;
   }
+  .bg-bottom-preview{
+    margin: 0 8px;
+  }
 </style>

+ 3 - 2
src/views/tranManagement/tranManagementFireFeedbackLook.vue

@@ -145,10 +145,10 @@
                     top: -1px;
                   "
                   src="../../../public/img/fujian.png"
-                  @click="fujian(index)"
+                  :data-img="item.loadPoundImg"
+                  @click="$imgPreview"
                   alt=""
                 />
-
                 <span
                   v-if="
                     deptBudgetList.tranCarInfoList[index].loadPoundImgArr
@@ -165,6 +165,7 @@
                   "
                   >无</span
                 >
+                <!-- <el-button v-if="item.loadPoundImg != null" class="bg-bottom-preview" type="primary" size="small" :data-img="item.loadPoundImg" @click="$imgPreview">预览</el-button> -->
               </template>
             </ws-form-item>
             <!--装车日期-->

+ 207 - 145
src/views/tranManagement/tranManagementFireReceivingFeedback.vue

@@ -121,15 +121,23 @@
         </ws-info-table>
       </div>
       <div class="small-title" style="font-size: 16px">卸车详情</div>
-      <div style="font-size: 16px; width: 100%;  text-align: right">
-        <el-upload style="margin-left: 8px;"
+      <div style="font-size: 16px; width: 100%; text-align: right;display:flex;justify-content:end;">
+        <el-link
+          href="https://taohaoliang.oss-cn-beijing.aliyuncs.com/pcfiles/%E5%8F%8D%E9%A6%88%E6%A8%A1%E6%9D%BF/%E7%81%AB%E8%BF%90%E5%8D%B8%E8%BD%A6%E5%8F%8D%E9%A6%88%E6%A8%A1%E6%9D%BF.xlsx"
+          style="margin-left: 8px"
+        >
+          <el-button type="primary">模板下载</el-button>
+        </el-link>
+        <el-upload
+          style="margin-left: 8px"
           class="upload-demo inline-block margin-right-10"
           action=""
           :on-change="handleChange"
           :show-file-list="false"
           accept=".csv, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel"
-          :auto-upload="false">
-          <el-button  type="primary">导入</el-button>
+          :auto-upload="false"
+        >
+          <el-button type="primary">导入</el-button>
         </el-upload>
       </div>
       <div class="liaison">
@@ -189,22 +197,18 @@
                     alt=""
                   />
                 </el-upload>
-                <span
-                  v-if="
-                    item.unloadPoundImg != null
-                  "
-                  >1</span
-                >
-                <span
-                  v-if="
-                    item.unloadPoundImg == null
-                  "
-                  >未上传</span
-                >
+                <span v-if="item.imgCount > 0">{{item.imgCount}}</span>
+                <span v-if="item.imgCount == 0">未上传</span>
+                <el-button v-if="item.imgCount>0" class="bg-bottom-preview" type="primary" size="small" :data-img="item.unloadPoundImg" @click="$imgPreview">预览</el-button>
               </template>
             </ws-form-item>
             <!--卸车日期-->
-            <el-form-item label="卸车日期:" span="1" prop="unloadingDate" style="width:22%">
+            <el-form-item
+              label="卸车日期:"
+              span="1"
+              prop="unloadingDate"
+              style="width: 22%"
+            >
               <ws-date-picker
                 v-if="item.status == '未装车' || item.status == '已送达'"
                 :disabled="readonly"
@@ -214,7 +218,7 @@
                 placeholder="请选择日期"
                 value-format="yyyy-MM-dd"
               />
-             <ws-date-picker
+              <ws-date-picker
                 v-else
                 v-model="item.unloadingDate"
                 type="date"
@@ -224,8 +228,12 @@
               />
             </el-form-item>
             <!-- 提交 -->
-            <span class="servicedout" v-show="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>
             <!-- <span
               style="text-align: right; padding: 10px"
               class="center"
@@ -246,17 +254,7 @@
                 >
             
             </span> -->
-             <el-button
-              style="text-align: right; padding: 10px;margin:4px 0 0 20px"
-              type="primary"
-                  @click="submit(deptBudgetList)"
-              v-if="
-                item.status == '' ||
-                item.status == null ||
-                item.status == '未送达' ||
-                item.status == '已装车'
-              "
-            > 提交 </el-button>
+           
             <!-- <div
               v-show="
                 item.temporaryDriverFlag == 0 && item.signStatus == '未签合同'
@@ -288,13 +286,18 @@
       </div>
       <div style="text-align: right; 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>
       <!-- <el-button class="add bg-bottom" type="primary" size="small" @click="add">
         <img width="22" height="22" src="../../../public/img/add.png" alt="" />
@@ -303,6 +306,13 @@
     </ws-form>
     <!-- 完货 -->
     <div style="text-align: right; padding: 10px" class="wanhuo">
+       <el-button
+              style="text-align: right; padding: 10px; margin: 4px 0 0 20px"
+              type="primary"
+              @click="submit(deptBudgetList)"
+            >
+              提交
+            </el-button>
       <el-button
         class="bg-bottom"
         type="primary"
@@ -386,10 +396,10 @@ export default {
         {
           boxNo: '',
           unloadNetWeight: '',
-          unloadPoundImg: null,
+          unloadPoundImg: '',
           unloadingDate: '',
+          imgCount: 0
         },
-        // {loadPoundImg:{}},
       ],
       name: '',
       staffList: [],
@@ -398,6 +408,7 @@ export default {
       tranCarInfoList: {
         unloadPoundImg: '',
       },
+      excelFreightspace:[],
       //  tranCarList: {
       //   driver: '',
       //   driverPhone:'',
@@ -439,91 +450,126 @@ export default {
   },
   methods: {
     handleChange(file, fileList) {
-            this.fileTemp = file.raw
-                let fileName = file.raw.name
-                let fileType = fileName.substring(fileName.lastIndexOf('.') + 1);
-                // 判断上传文件格式
-                if (this.fileTemp) {
-                    if ((fileType == 'xlsx') || (fileType == 'xls')) {
-                        this.importf(this.fileTemp)
-                    } else {
-                        this.$message({
-                            type: 'warning',
-                            message: '附件格式错误,请删除后重新上传!'
-                        })
-                    }
-                } else {
-                    this.$message({
-                        type: 'warning',
-                        message: '请上传附件!'
-                    })
+      this.fileTemp = file.raw
+      let fileName = file.raw.name
+      let fileType = fileName.substring(fileName.lastIndexOf('.') + 1)
+      // 判断上传文件格式
+      if (this.fileTemp) {
+        if (fileType == 'xlsx' || fileType == 'xls') {
+          this.importf(this.fileTemp)
+        } else {
+          this.$message({
+            type: 'warning',
+            message: '附件格式错误,请删除后重新上传!',
+          })
+        }
+      } else {
+        this.$message({
+          type: 'warning',
+          message: '请上传附件!',
+        })
+      }
+    },
+    importf(obj) {
+      this.excelFreightspace = []
+      this.dialogVisible = true
+      let _this = this
+      let inputDOM = this.$refs.inputer // 通过DOM取文件数据
+      this.file = event.currentTarget.files[0]
+      var rABS = false //是否将文件读取为二进制字符串
+      var f = this.file
+      var reader = new FileReader()
+      //if (!FileReader.prototype.readAsBinaryString) {
+      FileReader.prototype.readAsBinaryString = function (f) {
+        var binary = ''
+        var rABS = false //是否将文件读取为二进制字符串
+        var pt = this
+        var wb //读取完成的数据
+        var outdata
+        var reader = new FileReader()
+        reader.onload = function (e) {
+          var bytes = new Uint8Array(reader.result)
+          var length = bytes.byteLength
+          for (var i = 0; i < length; i++) {
+            binary += String.fromCharCode(bytes[i])
+          }
+          var XLSX = require('xlsx')
+          if (rABS) {
+            wb = XLSX.read(btoa(fixdata(binary)), {
+              //手动转化
+              type: 'base64',
+            })
+          } else {
+            wb = XLSX.read(binary, {
+              type: 'binary',
+            })
+          }
+          // outdata就是你想要的东西 excel导入的数据
+          outdata = XLSX.utils.sheet_to_json(wb.Sheets[wb.SheetNames[0]])
+          // excel 数据再处理
+          let arr = []
+          outdata.map((v) => {
+            // let jsonString = JSON.stringify(v).replace(/\*/g, '').replace(/\s/ig,'');
+            let jsonString = JSON.stringify(v)
+              .replace(/\//g, '')
+              .replace(/\s/gi, '')
+            // let jsonString = JSON.stringify(v)
+            console.log(jsonString)
+            v = JSON.parse(jsonString)
+            let obj = {}
+            //xxx代表列名
+            obj.boxNo = v.车厢号
+            obj.loadNetWeight = v.装车净重
+            obj.unloadNetWeight = v.卸车净重
+            obj.unloadingDate = v.卸车日期
+            obj.status = v.状态
+            obj.unloadPoundImg = v.磅单
+            console.log(obj)
+            _this.excelFreightspace.push(obj)
+          })
+          // _this.freightspace.concat(arr)
+          let _ispushData = true
+          console.log(arr, _this.freightspace)
+          for (let i = 0; i < _this.excelFreightspace.length; i++) {
+            _ispushData = true
+            for (let k = 0; k < _this.freightspace.length; k++) {
+              if (
+                _this.excelFreightspace[i].boxNo == _this.freightspace[k].boxNo
+              ) {
+                _this.freightspace[k] = _this.excelFreightspace[i]
+                if (
+                  _this.excelFreightspace[i].unloadPoundImg.split(',').length > 0
+                ) {
+                  _this.freightspace[k].imgCount =
+                    _this.excelFreightspace[i].unloadPoundImg.split(',').length
                 }
+                _ispushData = false
+              }
+            }
+            if (_ispushData) {
+              if (
+                _this.excelFreightspace[i].unloadPoundImg.split(',').length > 0
+              ) {
+                _this.excelFreightspace[i].imgCount =
+                  _this.excelFreightspace[i].unloadPoundImg.split(',').length
+              }
+              _this.freightspace.push(_this.excelFreightspace[i])
 
+              _ispushData = true
+            }
+          }
+          _this.$forceUpdate();
+          console.log(arr, _this.freightspace)
+        }
+        reader.readAsArrayBuffer(f)
+      }
+      if (rABS) {
+        reader.readAsArrayBuffer(f)
+      } else {
+        reader.readAsBinaryString(f)
+      }
+      console.log(reader)
     },
- importf(obj) {
-                this.dialogVisible = true;
-                let _this = this;
-                let inputDOM = this.$refs.inputer;   // 通过DOM取文件数据
-                this.file = event.currentTarget.files[0];
-                var rABS = false; //是否将文件读取为二进制字符串
-                var f = this.file;
-                var reader = new FileReader();
-                //if (!FileReader.prototype.readAsBinaryString) {
-                FileReader.prototype.readAsBinaryString = function (f) {
-                    var binary = "";
-                    var rABS = false; //是否将文件读取为二进制字符串
-                    var pt = this;
-                    var wb; //读取完成的数据
-                    var outdata;
-                    var reader = new FileReader();
-                    reader.onload = function (e) {
-                        var bytes = new Uint8Array(reader.result);
-                        var length = bytes.byteLength;
-                        for (var i = 0; i < length; i++) {
-                            binary += String.fromCharCode(bytes[i]);
-                        }
-                        var XLSX = require('xlsx');
-                        if (rABS) {
-                            wb = XLSX.read(btoa(fixdata(binary)), { //手动转化
-                                type: 'base64'
-                            });
-                        } else {
-                            wb = XLSX.read(binary, {
-                                type: 'binary'
-                            });
-                        }
-                        // outdata就是你想要的东西 excel导入的数据
-                        outdata = XLSX.utils.sheet_to_json(wb.Sheets[wb.SheetNames[0]]);
-                        // excel 数据再处理
-                        let arr = []
-                        outdata.map(v => {
-                            // let jsonString = JSON.stringify(v).replace(/\*/g, '').replace(/\s/ig,'');
-                            let jsonString = JSON.stringify(v).replace(/\//g, '').replace(/\s/ig,'');
-                            console.log(jsonString);
-                            v = JSON.parse(jsonString);
-                            let obj = {}
-                            //xxx代表列名
-                            obj.boxNo = v.车厢号
-                            obj.loadNetWeight = v.装车净重
-                            obj.unloadNetWeight = v.卸车净重
-                            obj.unloadingDate = toString(v.卸车日期)
-                            obj.status= v.状态
-                            obj.unloadPoundImg = v.磅单
-                            console.log(obj)
-                            _this.freightspace.push(obj)
-                        })
-                        // _this.freightspace.concat(arr)
-                        console.log(arr,_this.freightspace)
-                    }
-                    reader.readAsArrayBuffer(f);
-                }
-                if (rABS) {
-                    reader.readAsArrayBuffer(f);
-                } else {
-                    reader.readAsBinaryString(f);
-                }
-                console.log(reader)
-            },
     marker: function (item) {
       this.deptBudgetList.warehousePositioning =
         item.lnglat.lat + ',' + item.lnglat.lng
@@ -619,33 +665,34 @@ export default {
           this.$refs.deptBudgetList.validate((valid) => {
             if (valid) {
               // this.deptBudgetList.totalStorage = this.totalStorage
-              this.tranCarInfoList = this.freightspace
-              this.tranCarInfoList.driver = this.deptBudgetList.driver
-              this.tranCarInfoList.unloadingDate =
-                this.deptBudgetList.unloadingDate
-              this.tranCarInfoList[0].sendDateStart = this.deptBudgetList.sendDateStart
-              this.tranCarInfoList.driverPhone = this.deptBudgetList.driverPhone
-              this.tranCarInfoList.tranCarNo = this.deptBudgetList.tranCarNo
-              this.tranCarInfoList.carNo = this.deptBudgetList.carNo
-              this.tranCarInfoList.unloadNetWeight =
-                this.deptBudgetList.unloadNetWeight
-              this.tranCarInfoList.tranType = this.tranType
-              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
-                if (this.tranCarInfoList[i].temporaryDriverFlag != 0) {
-                  this.tranCarInfoList[i].temporaryDriverFlag = 1
-                  this.tranCarInfoList[i].tranType = this.tranType
-                }
-              }
+              // this.tranCarInfoList = this.freightspace
+              // this.tranCarInfoList.driver = this.deptBudgetList.driver
+              // this.tranCarInfoList.unloadingDate =
+              //   this.deptBudgetList.unloadingDate
+              // this.tranCarInfoList[0].sendDateStart =
+              //   this.deptBudgetList.sendDateStart
+              // this.tranCarInfoList.driverPhone = this.deptBudgetList.driverPhone
+              // this.tranCarInfoList.tranCarNo = this.deptBudgetList.tranCarNo
+              // this.tranCarInfoList.carNo = this.deptBudgetList.carNo
+              // this.tranCarInfoList.unloadNetWeight =
+              //   this.deptBudgetList.unloadNetWeight
+              // this.tranCarInfoList.tranType = this.tranType
+              // 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
+              //   if (this.tranCarInfoList[i].temporaryDriverFlag != 0) {
+              //     this.tranCarInfoList[i].temporaryDriverFlag = 1
+              //     this.tranCarInfoList[i].tranType = this.tranType
+              //   }
+              // }
               var tranProcessInfo = {}
               tranProcessInfo.id = this.deptBudgetList.id
               tranProcessInfo.infoId = this.deptBudgetList.infoId
               tranProcessInfo.processNo = this.deptBudgetList.processNo
               tranProcessInfo.tranPrice = this.deptBudgetList.tranPrice
-              tranProcessInfo.tranCarInfoList = this.tranCarInfoList
+              tranProcessInfo.tranCarInfoList = this.freightspace
               // dispatchCat({tranCarInfo:{tranCarInfoList:[this.tranCarInfoList],id:this.deptBudgetList.id}
               feedback(tranProcessInfo)
                 .toPromise()
@@ -680,7 +727,11 @@ export default {
           this.deptBudgetList.driver = response.tranCarInfoList[0].driver
           this.deptBudgetList.driverPhone =
             response.tranCarInfoList[0].driverPhone
-          this.$set(this.deptBudgetList,'sendDateStart',response.tranCarInfoList[0].sendDateStart) 
+          this.$set(
+            this.deptBudgetList,
+            'sendDateStart',
+            response.tranCarInfoList[0].sendDateStart
+          )
           this.deptBudgetList.receiveDateEnd =
             response.tranCarInfoList[0].receiveDateEnd
           this.deptBudgetList.carModel = response.tranCarInfoList[0].carModel
@@ -689,11 +740,22 @@ export default {
             if (!this.freightspace[i].loadNetWeight) {
               this.freightspace[i].loadNetWeight = 0
             }
+            if (this.freightspace[i].unloadPoundImg) {
+                this.freightspace[i].imgCount = this.freightspace[i].unloadPoundImg.split(",").length
+              } else {
+                this.freightspace[i].unloadPoundImg = ""
+                this.freightspace[i].imgCount = 0
+              }
           }
         })
     },
     uploadSuccessHandle1(e, index) {
-      this.freightspace[index].unloadPoundImg = e.url
+      this.index = index
+        let that = this;
+        that.$forceUpdate();
+        that.freightspace[that.index].imgCount++
+        console.log(that.freightspace[that.index].imgCount)
+        that.freightspace[that.index].unloadPoundImg += e.url + ","
     },
   },
 }
@@ -1143,7 +1205,7 @@ export default {
   margin-top: 11px;
   margin-left: 53px;
 }
-/deep/.el-input--suffix .el-input__inner{
+/deep/.el-input--suffix .el-input__inner {
   padding-right: 0;
 }
 //送达/未送达

+ 3 - 1
src/views/tranManagement/tranManagementFireReceivingFeedbackLook.vue

@@ -154,7 +154,8 @@
                     top: -1px;
                   "
                   src="../../../public/img/fujian.png"
-                  @click="fujian(index)"
+                  :data-img="item.unloadPoundImg"
+                  @click="$imgPreview"
                   alt=""
                 />
 
@@ -264,6 +265,7 @@
 import { regionData } from 'element-china-area-data'
 import WsUpload from '@/components/WsUpload'
 import mapDrag from '@/components/mapdrag/mapdrag'
+import { seeCat} from '@/model/transport/index'
 export default {
   name: 'viewSpareMoney',
   components: {

+ 389 - 257
src/views/tranManagement/tranManagementReceivingloading.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"
@@ -23,16 +28,21 @@
           <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="processNo">{{
+              deptBudgetList.processNo
+            }}</ws-form-item>
             <!-- 货名 -->
-            <ws-form-item label="货名" span="1">{{ deptBudgetList.goodsName }}</ws-form-item>
+            <ws-form-item label="货名" span="1">{{
+              deptBudgetList.goodsName
+            }}</ws-form-item>
             <!--重量(吨)-->
             <ws-form-item
               label="重量(吨)"
               span="1"
               prop="tare"
               class="readonly"
-            >{{ deptBudgetList.weight }}</ws-form-item>
+              >{{ deptBudgetList.weight }}</ws-form-item
+            >
 
             <!--发货地址-->
             <ws-form-item label="发货地址" span="1" prop="netWeight">
@@ -41,10 +51,14 @@
               }}{{ deptBudgetList.sendDetailedAddress }}
             </ws-form-item>
             <!--发货人-->
-            <ws-form-item label="发货人" span="1" prop="agent">{{ deptBudgetList.sender }}</ws-form-item>
+            <ws-form-item label="发货人" span="1" prop="agent">{{
+              deptBudgetList.sender
+            }}</ws-form-item>
 
             <!--发货人电话-->
-            <ws-form-item label="发货人电话" span="1" prop="agent">{{ deptBudgetList.senderPhone }}</ws-form-item>
+            <ws-form-item label="发货人电话" span="1" prop="agent">{{
+              deptBudgetList.senderPhone
+            }}</ws-form-item>
             <!--收货地址-->
             <ws-form-item label="收货地址" span="1" prop="netWeight">
               {{ deptBudgetList.receivePrivate }}{{ deptBudgetList.receiveCity
@@ -52,37 +66,48 @@
               }}{{ 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="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="receiverPhone">{{
+              deptBudgetList.receiverPhone
+            }}</ws-form-item>
             <!--发货日期-->
             <ws-form-item
               label="发货日期"
               span="1"
               prop="inOutDate"
               class="deliverydate"
-            >{{ deptBudgetList.deliveryDateStart }}</ws-form-item>
+              >{{ deptBudgetList.deliveryDateStart }}</ws-form-item
+            >
             <!--最晚发货日期-->
             <ws-form-item
               label="最晚发货日期"
               span="1"
               prop="inOutDate"
               class="deliverydate"
-            >{{ deptBudgetList.deliveryDateEnd }}</ws-form-item>
+              >{{ deptBudgetList.deliveryDateEnd }}</ws-form-item
+            >
             <!--合同编号-->
-            <ws-form-item label="合同编号" span="1" prop="contractNo">{{ deptBudgetList.contractNo }}</ws-form-item>
-            <ws-form-item label="运输方式" span="1" prop="contractNo">{{ deptBudgetList.tranType }}</ws-form-item>
+            <ws-form-item label="合同编号" span="1" prop="contractNo">{{
+              deptBudgetList.contractNo
+            }}</ws-form-item>
+            <ws-form-item label="运输方式" span="1" prop="contractNo">{{
+              deptBudgetList.tranType
+            }}</ws-form-item>
           </ws-info-table>
 
-          <div class="small-title" style="font-size: 16px;width: 50%;float: left;">卸车详情</div>
+          <div
+            class="small-title"
+            style="font-size: 16px; width: 50%; float: left"
+          >
+            卸车详情
+          </div>
           <!-- 导入 -->
-          <div style="font-size: 16px; width: 100%;text-align: right;">
-      <!-- <el-upload style="margin-left: 8px;"
+          <div style="font-size: 16px; width: 100%; text-align: right;display:flex;justify-content:end;">
+            <!-- <el-upload style="margin-left: 8px;"
           class=""
           action="https://www.zthymaoyi.com/upload/admin"
           :show-file-list="false"
@@ -95,34 +120,47 @@
           >
           <el-button  type="primary">导入</el-button>
         </el-upload> -->
-        <el-upload style="margin-left: 8px;"
-          class="upload-demo inline-block margin-right-10"
-          action=""
-          :on-change="handleChange"
-          :show-file-list="false"
-          accept=".csv, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel"
-          :auto-upload="false">
-          <el-button  type="primary">导入</el-button>
-        </el-upload>
-    </div>
+        <el-link
+          href="https://taohaoliang.oss-cn-beijing.aliyuncs.com/pcfiles/%E5%8F%8D%E9%A6%88%E6%A8%A1%E6%9D%BF/%E6%B1%BD%E8%BF%90%E5%8D%B8%E8%BD%A6%E5%8F%8D%E9%A6%88%E6%A8%A1%E6%9D%BF.xlsx"
+          style="margin-left: 8px;">
+          <el-button type="primary">模板下载</el-button>
+        </el-link>
+            <el-upload
+              style="margin-left: 8px"
+              class="upload-demo inline-block margin-right-10"
+              action=""
+              :on-change="handleChange"
+              :show-file-list="false"
+              accept=".csv, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel"
+              :auto-upload="false"
+            >
+              <el-button type="primary">导入</el-button>
+            </el-upload>
+          </div>
           <div
             class="driver position liaison"
             v-for="(item, index) in deptBudgetList.tranCarInfoList"
             :key="index"
           >
             <ws-info-table>
-              <div class="catNos" v-show="item.temporaryDriverFlag == 0">司机-{{index+1}}
-                 <span class="noservice" v-show="item.status == '未装车'">{{
+              <div class="catNos" v-show="item.temporaryDriverFlag == 0">
+                司机-{{ index + 1 }}
+                <span class="noservice" v-show="item.status == '未装车'">{{
                   item.status
                 }}</span>
                 <span class="service" v-show="item.status == '已装车'">
-                   未卸车
+                  未卸车
                 </span>
-                 <span class="serviced" v-show="item.status == '已送达'">
-                   已卸车
+                <span class="serviced" v-show="item.status == '已送达'">
+                  已卸车
                 </span>
               </div>
-              <div class="catNos catNosCor" v-show="item.temporaryDriverFlag != 0">司机-{{index+1}}(临)</div>
+              <div
+                class="catNos catNosCor"
+                v-show="item.temporaryDriverFlag != 0"
+              >
+                司机-{{ index + 1 }}(临)
+              </div>
               <!--姓名-->
               <ws-form-item
                 label="姓名:"
@@ -130,7 +168,9 @@
                 prop="driver"
                 v-show="item.temporaryDriverFlag == 0"
               >
-                <span v-show="item.temporaryDriverFlag == 0">{{ item.driver }}</span>
+                <span v-show="item.temporaryDriverFlag == 0">{{
+                  item.driver
+                }}</span>
               </ws-form-item>
               <!-- 姓名 -->
               <ws-form-item
@@ -139,31 +179,56 @@
                 prop="driver"
                 v-show="item.temporaryDriverFlag != 0"
               >
-                <span v-show="item.temporaryDriverFlag != 0">{{item.driver}}</span>
+                <span v-show="item.temporaryDriverFlag != 0">{{
+                  item.driver
+                }}</span>
               </ws-form-item>
               <!-- 电话 -->
-              <ws-form-item label="司机电话:" span="1" prop="driverPhone" style="width:200px">
-                <span v-show="item.temporaryDriverFlag != 0">{{ item.driverPhone }}</span>
-                <span v-show="item.temporaryDriverFlag == 0">{{ item.driverPhone }}</span>
+              <ws-form-item
+                label="司机电话:"
+                span="1"
+                prop="driverPhone"
+                style="width: 200px"
+              >
+                <span v-show="item.temporaryDriverFlag != 0">{{
+                  item.driverPhone
+                }}</span>
+                <span v-show="item.temporaryDriverFlag == 0">{{
+                  item.driverPhone
+                }}</span>
               </ws-form-item>
               <!--车牌号-->
               <ws-form-item label="车牌号:" span="1" prop="carNo">
-                <span v-show="item.temporaryDriverFlag != 0">{{ item.carNo }}</span>
-                <span v-show="item.temporaryDriverFlag == 0">{{ item.carNo }}</span>
+                <span v-show="item.temporaryDriverFlag != 0">{{
+                  item.carNo
+                }}</span>
+                <span v-show="item.temporaryDriverFlag == 0">{{
+                  item.carNo
+                }}</span>
               </ws-form-item>
               <!--装车净重-->
-              <ws-form-item label="装车(吨):" span="1" prop="loadNetWeight" style="width:150px">{{item.loadNetWeight}}</ws-form-item>
+              <ws-form-item
+                label="装车(吨):"
+                span="1"
+                prop="loadNetWeight"
+                style="width: 150px"
+                >{{ item.loadNetWeight }}</ws-form-item
+              >
               <!--卸车净重(吨)-->
-              <ws-form-item label="卸车净重(吨):" span="1" prop="unloadNetWeight">
+              <ws-form-item
+                label="卸车净重(吨):"
+                span="1"
+                prop="unloadNetWeight"
+              >
                 <ws-input
-                  v-if="item.status == '已送达'||item.status == '未装车'" 
+                  v-if="item.status == '已送达' || item.status == '未装车'"
                   v-model="item.unloadNetWeight"
                   placeholder="请输入卸车净重"
                   maxlength="20"
                   :disabled="readonly"
                   size="small"
                 />
-                 <ws-input
+                <ws-input
                   v-else
                   v-model="item.unloadNetWeight"
                   placeholder="请输入卸车净重"
@@ -171,93 +236,127 @@
                   size="small"
                 />
               </ws-form-item>
-               <!--卸车日期-->
-            <ws-form-item label="卸车日期:" span="1" prop="receiveDateEnd"  style="width:275px">
-            <ws-date-picker
-              v-model="item.receiveDateEnd"
-              v-if="item.status == '已送达'||item.status == '未装车'" 
-              :disabled="readonly"
-              type="date"
-              value-format="yyyy-MM-dd"
-            />
-            <ws-date-picker
-              v-model="item.receiveDateEnd"
-              v-else
-              type="date"
-              placeholder="请选择日期"
-              value-format="yyyy-MM-dd"
-            />
-          </ws-form-item>
+              <!--卸车日期-->
+              <ws-form-item
+                label="卸车日期:"
+                span="1"
+                prop="receiveDateEnd"
+                style="width: 275px"
+              >
+                <ws-date-picker
+                  v-model="item.receiveDateEnd"
+                  v-if="item.status == '已送达' || item.status == '未装车'"
+                  :disabled="readonly"
+                  type="date"
+                  value-format="yyyy-MM-dd"
+                />
+                <ws-date-picker
+                  v-model="item.receiveDateEnd"
+                  v-else
+                  type="date"
+                  placeholder="请选择日期"
+                  value-format="yyyy-MM-dd"
+                />
+              </ws-form-item>
               <!--磅单-->
               <ws-form-item label="磅单:" span="1" prop="unloadPoundImg">
-                <template >
+                <template>
                   <el-upload
                     action="https://www.zthymaoyi.com/upload/admin"
                     :show-file-list="false"
                     :on-success="
-                    (res) => {
-                      uploadSuccessHandle1(res,index)
-                    }
-                  "
+                      (res) => {
+                        uploadSuccessHandle1(res, index)
+                      }
+                    "
                     class="avatar-uploader"
                     accept=".jpg, .jpeg, .png, .gif"
                   >
                     <img
                       width="18"
                       height="20"
-                      style="
-                      vertical-align: text-top;
-                      position: relative;
-                    "
+                      style="vertical-align: text-top; position: relative"
                       src="../../../public/img/fujian.png"
                       alt
                     />
                   </el-upload>
-                  <span v-if="deptBudgetList.tranCarInfoList[index].unloadPoundImg != null " >1</span>
-                 <span
-                  v-if="
-                    deptBudgetList.tranCarInfoList[index].unloadPoundImg == null
-                  "
-                  >未上传</span>
+                  <span
+                    v-if="
+                      deptBudgetList.tranCarInfoList[index].unloadPoundImg !=
+                      null
+                    "
+                    >1</span
+                  >
+                  <span
+                    v-if="
+                      deptBudgetList.tranCarInfoList[index].unloadPoundImg ==
+                      null
+                    "
+                    >未上传</span
+                  >
+                  <el-button v-if="deptBudgetList.tranCarInfoList[index].unloadPoundImg !=null"  
+                  class="bg-bottom-preview" type="primary" size="small" :data-img="deptBudgetList.tranCarInfoList[index].unloadPoundImg" @click="$imgPreview">
+                  <span style="margin-left: -7px;">预览</span></el-button>
                 </template>
               </ws-form-item>
-               <!--箱号-->
-            <ws-form-item label="箱号:" span="1" prop="caseNo">
-             <span>{{ item.caseNo }}</span>
-            </ws-form-item>
+              <!--箱号-->
+              <ws-form-item label="箱号:" span="1" prop="caseNo">
+                <span>{{ item.caseNo }}</span>
+              </ws-form-item>
               <!--封号-->
-            <ws-form-item label="封号:" span="1" prop="titleNo">
-             <span>{{ item.titleNo }}</span>
-            </ws-form-item>
-            <div v-show="item.temporaryDriverFlag == 0 && item.signStatus == '未签合同'" class="signStatus">
-              {{ item.signStatus }}
-            </div>
-            <div v-show="item.temporaryDriverFlag == 0 && item.signStatus == '已签合同'" class="signStatus1">
-              {{ item.signStatus }}
-            </div>
+              <ws-form-item label="封号:" span="1" prop="titleNo">
+                <span>{{ item.titleNo }}</span>
+              </ws-form-item>
+              <div
+                v-show="
+                  item.temporaryDriverFlag == 0 && item.signStatus == '未签合同'
+                "
+                class="signStatus"
+              >
+                {{ item.signStatus }}
+              </div>
+              <div
+                v-show="
+                  item.temporaryDriverFlag == 0 && item.signStatus == '已签合同'
+                "
+                class="signStatus1"
+              >
+                {{ item.signStatus }}
+              </div>
             </ws-info-table>
           </div>
         </div>
-          <div
-            style="text-align: right; color: #8890b1; font-size: 16px"
-          >合计{{ total }}/{{ deptBudgetList.weight }}
-           <!--阶段状态-->
-         <span class="noservice" v-show="deptBudgetList.receivingStatus=='执行中'">
-          未完货
-        </span>
-        <span class="service" v-show="deptBudgetList.receivingStatus=='已完货'">{{
-          deptBudgetList.receivingStatus
-        }}</span></div>
-          <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"
-                type="primary"
-                size="small"
-                @click="finished (deptBudgetList)"
-                >完货</el-button
-              >
-          </div>
+        <div style="text-align: right; color: #8890b1; font-size: 16px">
+          合计{{ total }}/{{ deptBudgetList.weight }}
+          <!--阶段状态-->
+          <span
+            class="noservice"
+            v-show="deptBudgetList.receivingStatus == '执行中'"
+          >
+            未完货
+          </span>
+          <span
+            class="service"
+            v-show="deptBudgetList.receivingStatus == '已完货'"
+            >{{ deptBudgetList.receivingStatus }}</span
+          >
+        </div>
+        <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"
+            type="primary"
+            size="small"
+            @click="finished(deptBudgetList)"
+            >完货</el-button
+          >
+        </div>
       </ws-form>
     </div>
   </div>
@@ -265,19 +364,25 @@
 <script>
 import Pagination from '@/components/Pagination'
 import WsUpload from '@/components/WsUpload'
-import { seeCat, packList, feedback, getbank,stateRec } from '@/model/transport/index'
+import {
+  seeCat,
+  packList,
+  feedback,
+  getbank,
+  stateRec,
+} from '@/model/transport/index'
 // import { dayjs, fmoney, EventBus } from 'base-core-lib'
 import { dayjs, EventBus } from 'base-core-lib'
 export default {
   name: 'viewSpareMoney',
   components: {
     WsUpload,
-    Pagination
+    Pagination,
   },
   watch: {
     isShow(val) {
       this.showType = val
-    }
+    },
   },
   data() {
     return {
@@ -301,9 +406,9 @@ export default {
             required: true,
             type: 'number',
             message: '请输入活动名称',
-            trigger: 'blur'
-          }
-        ]
+            trigger: 'blur',
+          },
+        ],
       },
       size: 10,
       compId: sessionStorage.getItem('ws-pf_compId'),
@@ -311,23 +416,24 @@ export default {
       packtypeList: {},
       date: {
         year: dayjs().format('YYYY'),
-        month: dayjs().format('MM')
+        month: dayjs().format('MM'),
       },
       contractList: [],
       deptBudgetList: {
         tranCarInfoList: [
           {
-            unloadPoundImg:'',
-          }
-        ]
+            unloadPoundImg: '',
+          },
+        ],
       },
+      excelFreightspace: [],
       historyList: [],
       pickerBeginDateBefore: {
-        disabledDate: time => {
+        disabledDate: (time) => {
           return time.getTime() > Date.now()
-        }
+        },
       },
-      accessoryTFs: false
+      accessoryTFs: false,
     }
   },
   activated() {
@@ -335,7 +441,7 @@ export default {
     this.getList()
   },
   computed: {
-    total: function() {
+    total: function () {
       var maxStorage = 0
       for (var i = 0; i < this.deptBudgetList.tranCarInfoList.length; i++) {
         maxStorage += Number(
@@ -343,7 +449,7 @@ export default {
         )
       }
       return maxStorage
-    }
+    },
   },
   mounted() {
     this.deptBudgetList.id = this.$route.query.id
@@ -351,95 +457,119 @@ export default {
   },
   methods: {
     handleChange(file, fileList) {
-            this.fileTemp = file.raw
-                let fileName = file.raw.name
-                let fileType = fileName.substring(fileName.lastIndexOf('.') + 1);
-                // 判断上传文件格式
-                if (this.fileTemp) {
-                    if ((fileType == 'xlsx') || (fileType == 'xls')) {
-                        this.importf(this.fileTemp)
-                    } else {
-                        this.$message({
-                            type: 'warning',
-                            message: '附件格式错误,请删除后重新上传!'
-                        })
-                    }
-                } else {
-                    this.$message({
-                        type: 'warning',
-                        message: '请上传附件!'
-                    })
-                }
-
+      this.fileTemp = file.raw
+      let fileName = file.raw.name
+      let fileType = fileName.substring(fileName.lastIndexOf('.') + 1)
+      // 判断上传文件格式
+      if (this.fileTemp) {
+        if (fileType == 'xlsx' || fileType == 'xls') {
+          this.importf(this.fileTemp)
+        } else {
+          this.$message({
+            type: 'warning',
+            message: '附件格式错误,请删除后重新上传!',
+          })
+        }
+      } else {
+        this.$message({
+          type: 'warning',
+          message: '请上传附件!',
+        })
+      }
+    },
+    importf(obj) {
+      this.excelFreightspace = []
+      this.dialogVisible = true
+      let _this = this
+      let inputDOM = this.$refs.inputer // 通过DOM取文件数据
+      this.file = event.currentTarget.files[0]
+      var rABS = false //是否将文件读取为二进制字符串
+      var f = this.file
+      var reader = new FileReader()
+      //if (!FileReader.prototype.readAsBinaryString) {
+      FileReader.prototype.readAsBinaryString = function (f) {
+        var binary = ''
+        var rABS = false //是否将文件读取为二进制字符串
+        var pt = this
+        var wb //读取完成的数据
+        var outdata
+        var reader = new FileReader()
+        reader.onload = function (e) {
+          var bytes = new Uint8Array(reader.result)
+          var length = bytes.byteLength
+          for (var i = 0; i < length; i++) {
+            binary += String.fromCharCode(bytes[i])
+          }
+          var XLSX = require('xlsx')
+          if (rABS) {
+            wb = XLSX.read(btoa(fixdata(binary)), {
+              //手动转化
+              type: 'base64',
+              cellDates: true,
+            })
+          } else {
+            wb = XLSX.read(binary, {
+              type: 'binary',
+            })
+          }
+          // outdata就是你想要的东西 excel导入的数据
+          outdata = XLSX.utils.sheet_to_json(wb.Sheets[wb.SheetNames[0]])
+          // excel 数据再处理
+          let arr = []
+          outdata.map((v) => {
+            // let jsonString = JSON.stringify(v).replace(/\*/g, '').replace(/\s/ig,'');
+            let jsonString = JSON.stringify(v)
+              .replace(/\//g, '')
+              .replace(/\s/gi, '')
+            console.log(jsonString)
+            v = JSON.parse(jsonString)
+            let obj = {}
+            //xxx代表列名
+            obj.caseNo = v.箱号
+            obj.loadNetWeight = v.装车
+            obj.titleNo = v.封号
+            obj.driverPhone = v.司机电话
+            obj.driver = v.司机姓名
+            obj.unloadNetWeight = v.卸车净重
+            obj.receiveDateEnd = v.卸车日期
+            obj.status = v.状态
+            obj.carNo = v.车牌号
+            obj.unloadPoundImg = v.磅单
+            console.log(obj)
+            _this.excelFreightspace.push(obj)
+          })
+          // _this.freightspace.concat(arr)
+          let _ispushData = true
+          console.log(arr, _this.deptBudgetList.tranCarInfoList)
+          // debugger
+          for (let i = 0; i < _this.excelFreightspace.length; i++) {
+            _ispushData = true
+            for (let k = 0; k < _this.deptBudgetList.tranCarInfoList.length; k++) {
+              debugger
+              if (
+                _this.excelFreightspace[i].driverPhone ==
+                _this.deptBudgetList.tranCarInfoList[k].driverPhone
+              ) {
+                _this.deptBudgetList.tranCarInfoList[k] = _this.excelFreightspace[i]
+                _ispushData = false
+              }
+            }
+            if (_ispushData) {
+              _this.deptBudgetList.tranCarInfoList.push(_this.excelFreightspace[i])
+              _ispushData = true
+            }
+          }
+          _this.$forceUpdate();
+        }
+        reader.readAsArrayBuffer(f)
+      }
+      if (rABS) {
+        reader.readAsArrayBuffer(f)
+      } else {
+        reader.readAsBinaryString(f)
+      }
+      console.log(reader)
     },
- importf(obj) {
-                this.dialogVisible = true;
-                let _this = this;
-                let inputDOM = this.$refs.inputer;   // 通过DOM取文件数据
-                this.file = event.currentTarget.files[0];
-                var rABS = false; //是否将文件读取为二进制字符串
-                var f = this.file;
-                var reader = new FileReader();
-                //if (!FileReader.prototype.readAsBinaryString) {
-                FileReader.prototype.readAsBinaryString = function (f) {
-                    var binary = "";
-                    var rABS = false; //是否将文件读取为二进制字符串
-                    var pt = this;
-                    var wb; //读取完成的数据
-                    var outdata;
-                    var reader = new FileReader();
-                    reader.onload = function (e) {
-                        var bytes = new Uint8Array(reader.result);
-                        var length = bytes.byteLength;
-                        for (var i = 0; i < length; i++) {
-                            binary += String.fromCharCode(bytes[i]);
-                        }
-                        var XLSX = require('xlsx');
-                        if (rABS) {
-                            wb = XLSX.read(btoa(fixdata(binary)), { //手动转化
-                                type: 'base64'
-                            });
-                        } else {
-                            wb = XLSX.read(binary, {
-                                type: 'binary'
-                            });
-                        }
-                        // outdata就是你想要的东西 excel导入的数据
-                        outdata = XLSX.utils.sheet_to_json(wb.Sheets[wb.SheetNames[0]]);
-                        // excel 数据再处理
-                        let arr = []
-                        outdata.map(v => {
-                            // let jsonString = JSON.stringify(v).replace(/\*/g, '').replace(/\s/ig,'');
-                            let jsonString = JSON.stringify(v).replace(/\//g, '').replace(/\s/ig,'');
-                            console.log(jsonString);
-                            v = JSON.parse(jsonString);
-                            let obj = {}
-                            //xxx代表列名
-                            obj.caseNo= v.箱号
-                            obj.loadNetWeight= v.装车
-                            obj.titleNo= v.封号
-                            obj.driverPhone = v.司机电话
-                            obj.driver=v.司机姓名
-                            obj.loadNetWeight = v.卸车净重
-                            obj.loadingDate = toString(v.卸车日期)
-                            obj.status= v.状态
-                            obj.carNo = v.车牌号
-                            obj.unloadPoundImg = v.磅单
-                            console.log(obj)
-                            _this.freightspace.push(obj)
-                        })
-                        // _this.freightspace.concat(arr)
-                        console.log(arr,_this.freightspace)
-                    }
-                    reader.readAsArrayBuffer(f);
-                }
-                if (rABS) {
-                    reader.readAsArrayBuffer(f);
-                } else {
-                    reader.readAsBinaryString(f);
-                }
-                console.log(reader)
-            },
     //返回按钮
     revert() {
       this.$router.push({ path: 'tranManagementReceivingFeedback' })
@@ -449,7 +579,7 @@ export default {
         this.deptBudgetList.tranCarInfoList.splice(index, 1)
       }
     },
-    uploadSuccessHandle1(e,index) {
+    uploadSuccessHandle1(e, index) {
       this.deptBudgetList.tranCarInfoList[index].unloadPoundImg = e.url
     },
     selectwaterContent() {},
@@ -459,7 +589,7 @@ export default {
         if (this.freightspace[i].unloadNetWeight == null) {
           this.$message({
             message: '卸重不能为空!',
-            type: 'warning'
+            type: 'warning',
           })
           return
         }
@@ -469,22 +599,27 @@ export default {
         {
           cancelButtonText: '取消',
           confirmButtonText: '确定',
-          type: 'warning'
+          type: 'warning',
         }
       )
         .then(() => {
-          this.$refs.deptBudgetList.validate(valid => {
+          this.$refs.deptBudgetList.validate((valid) => {
             if (valid) {
               // this.tranCarInfoList = this.freightspace
-                   this.tranCarInfoList = this.deptBudgetList.tranCarInfoList
+              this.tranCarInfoList = this.deptBudgetList.tranCarInfoList
               this.tranCarInfoList.driver = this.deptBudgetList.driver
               this.tranCarInfoList.driverPhone = this.deptBudgetList.driverPhone
               this.tranCarInfoList.carNo = this.deptBudgetList.carNo
-              this.tranCarInfoList.loadNetWeight = this.deptBudgetList.loadNetWeight
+              this.tranCarInfoList.loadNetWeight =
+                this.deptBudgetList.loadNetWeight
               this.tranCarInfoList.tranType = this.tranType
               // this.tranCarInfoList.unloadPoundImg = this.deptBudgetList.tranCarInfoList.unloadPoundImg
-              console.log( this.deptBudgetList.tranCarInfoList[0].unloadPoundImg,'图片')
-              this.tranCarInfoList.unloadNetWeight = this.deptBudgetList.unloadNetWeight
+              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
                 if (this.tranCarInfoList[i].temporaryDriverFlag != 0) {
@@ -492,20 +627,20 @@ 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
               tranProcessInfo.tranCarInfoList = this.tranCarInfoList
               feedback(tranProcessInfo)
                 .toPromise()
-                .then(response => {
+                .then((response) => {
                   this.$message.success('提交成功')
                   this.deptBudgetList = {}
                   this.freightspace = {}
                   this.selectedOptions = ''
                   this.$router.push({
-                    path: 'tranManagementReceivingFeedback'
+                    path: 'tranManagementReceivingFeedback',
                   })
                 })
             } else {
@@ -519,11 +654,8 @@ export default {
         })
     },
     //导入
-    import(){
-
-    },
-    finished(){
-       this.$confirm(`完货操作后,卸车信息不可修改,是否确定完货?`, {
+    finished() {
+      this.$confirm(`完货操作后,卸车信息不可修改,是否确定完货?`, {
         confirmButtonText: '确定',
         cancelButtonText: '取消',
         type: 'warning',
@@ -552,7 +684,6 @@ export default {
         .catch(() => {
           return false
         })
-
     },
     handleClose() {
       this.accessoryTFs = false
@@ -561,11 +692,11 @@ export default {
     getList() {
       seeCat({ id: this.deptBudgetList.id })
         .toPromise()
-        .then(response => {
+        .then((response) => {
           this.deptBudgetList = response
-            if(response.tranCarInfoList){
-            this.freightspace = response.tranCarInfoList
-          }
+          if (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
@@ -576,12 +707,11 @@ export default {
     carchange(val, index) {
       for (var i = 0; i < this.carList.length; i++) {
         if (this.carList[i].driverName == val) {
-          this.deptBudgetList.tranCarInfoList[index].driverPhone = this.carList[
-            i
-          ].driverPhone
+          this.deptBudgetList.tranCarInfoList[index].driverPhone =
+            this.carList[i].driverPhone
           arrange({ id: this.carList[i].id })
             .toPromise()
-            .then(response => {
+            .then((response) => {
               this.deptBudgetList.tranCarInfoList[index].carNo =
                 response.carNumber
               if (response.carLoad != null) {
@@ -601,17 +731,16 @@ export default {
             })
         }
       }
-    }
+    },
   },
   phonechange(val, index) {
     for (var i = 0; i < this.carList.length; i++) {
       if (this.carList[i].driverPhone == val) {
-        this.deptBudgetList.tranCarInfoList[index].driver = this.carList[
-          i
-        ].driver
+        this.deptBudgetList.tranCarInfoList[index].driver =
+          this.carList[i].driver
         arrange({ id: this.carList[i].id })
           .toPromise()
-          .then(response => {
+          .then((response) => {
             this.deptBudgetList.tranCarInfoList[index].carNo =
               response.carNumber
             if (response.carLoad != null) {
@@ -861,17 +990,20 @@ export default {
   line-height: 24px;
 }
 /deep/.ws-info-table.el-form-item .el-form-item__label {
-    // background-color: #eee;
-    // padding-right: 8px;
-    // padding-left: 8px;
-    font-size: 13px;
-    font-weight: bold;
-    // color: #333;
-    // overflow: hidden;
-    // height: 40px;
-    /* text-overflow: ellipsis; */
-    // white-space: nowrap;
-    // width: 120px;
-    // line-height: 40px;
-}
+  // background-color: #eee;
+  // padding-right: 8px;
+  // padding-left: 8px;
+  font-size: 13px;
+  font-weight: bold;
+  // color: #333;
+  // overflow: hidden;
+  // height: 40px;
+  /* text-overflow: ellipsis; */
+  // white-space: nowrap;
+  // width: 120px;
+  // line-height: 40px;
+}
+.bg-bottom-preview{
+    margin: 0 8px;
+  }
 </style>

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

@@ -155,7 +155,8 @@
                     top: -1px;
                   "
                   src="../../../public/img/fujian.png"
-                  @click="fujian(index)"
+                  @click="$imgPreview"
+                  :data-img="deptBudgetList.tranCarInfoList[index].unloadPoundImg"
                   alt=""
                 />
                 <span

+ 2 - 2
src/views/tranManagement/tranManagementShippingArrangemen.vue

@@ -139,7 +139,7 @@
                   v-model="item.driver"
                   placeholder="请选择姓名"
                   filterable
-                  :filter-method="dataFilter"
+                  clearable
                   @change="selectstaff"
                   size="small"
                 >
@@ -155,7 +155,7 @@
                   v-model="item.driver"
                   placeholder="请选择姓名"
                   filterable
-                  :filter-method="dataFilter"
+                  clearable
                   @change="selectstaff"
                   size="small"
                 >

+ 1294 - 1074
src/views/tranManagement/tranManagementShippingFeedback.vue

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

+ 3 - 1
src/views/tranManagement/tranManagementShippingFeedbackLook.vue

@@ -135,7 +135,9 @@
                     vertical-align: text-top;
                     position: relative;
                     top: -1px;
-                  " src="../../../public/img/fujian.png" @click="fujian()" alt />
+                  " src="../../../public/img/fujian.png" 
+                  :data-img="deptBudgetList.tranCarInfoList[0].loadPoundImg"
+                  @click="$imgPreview" alt />
           <span v-if="deptBudgetList.tranCarInfoList.length>0&&deptBudgetList.tranCarInfoList[0].loadPoundImgArr.length > 0">
             {{ deptBudgetList.tranCarInfoList[0].loadPoundImgArr.length}}
           </span>

+ 7 - 17
src/views/tranManagement/tranManagementTransporFeedback.vue

@@ -67,7 +67,7 @@
           <el-button  type="primary">导入</el-button>
         </el-upload> -->
         <el-link
-          href="https://taohaoliang.oss-cn-beijing.aliyuncs.com/%E6%B1%BD%E8%BF%90%E8%A3%85%E8%BD%A6%E5%8F%8D%E9%A6%88%E6%A8%A1%E6%9D%BF.xlsx"
+          href="https://taohaoliang.oss-cn-beijing.aliyuncs.com/pcfiles/%E5%8F%8D%E9%A6%88%E6%A8%A1%E6%9D%BF/%E6%B1%BD%E8%BF%90%E8%A3%85%E8%BD%A6%E5%8F%8D%E9%A6%88%E6%A8%A1%E6%9D%BF.xlsx"
           style="margin-left: 8px;">
           <el-button type="primary">模板下载</el-button>
         </el-link>
@@ -107,8 +107,8 @@
             <!--司机-->
 
             <ws-form-item label="姓名:" span="1" prop="driver" v-show="item.temporaryDriverFlag != 0">
-              <el-select v-show="item.temporaryDriverFlag != 0" v-model="item.driver" placeholder="请选择司机" filterable
-                :filter-method="dataFilter" @change="selectstaff">
+              <el-select v-show="item.temporaryDriverFlag != 0" v-model="item.driver" placeholder="请选择司机" clearable filterable
+                @change="selectstaff">
                 <el-option v-for="item in options" :key="item.value" :label="item.staffName" :value="item.staffName" />
               </el-select>
             </ws-form-item>
@@ -154,12 +154,9 @@
                 <span v-if="
                     item.loadPoundImg == null
                   ">未上传</span>
+                  <el-button v-if="item.loadPoundImg != null" class="bg-bottom-preview" type="primary" size="small" :data-img="item.loadPoundImg" @click="$imgPreview">预览</el-button>
               </template>
             </ws-form-item>
-            <!--预览-->
-            <div>
-              <el-button class="bg-bottom" type="primary" size="small" @click="preview(item)"  v-if="item.loadPoundImg != null ">预览</el-button>
-            </div>
             <!--箱号-->
             <ws-form-item label="箱号:" span="1" prop="caseNo">
               <span>{{ item.caseNo }}</span>
@@ -197,11 +194,6 @@
       <el-button class="bg-bottom" type="primary" size="small" @click="submit(deptBudgetList)">提交</el-button>
       <el-button class="bg-bottom" type="primary" size="small" @click="finished (deptBudgetList)">完货</el-button>
     </div>
-    <WinseaContentModal v-model="accessoryTFs" :title="$t('system.noticeCircular.information')"
-			@on-cancel="handleClose">
-			<ws-upload ref="upload" :comp-id="compId" :appendix-ids="appendixIdss" :editable="false"
-				accept=".jpg, .jpeg, .png, .pdf, .doc, .zip, .rar" />
-		</WinseaContentModal>
   </div>
 </template>
 <script>
@@ -345,11 +337,6 @@
       }
     },
     methods: {
-      preview(item) {
-				this.accessoryTFs = true
-				this.appendixIdss = item.loadPoundImg
-			},
-
       uploadHandle(response, file, fileList) {
         this.localFile = file.raw // 或者 this.localFile=file.raw
         let Base64 = require('js-base64').Base64
@@ -1251,4 +1238,7 @@
   /deep/.liaison .ws-info-table .el-form-item .el-form-item__content {
     padding: 0px;
   }
+  .bg-bottom-preview{
+    margin: 0 8px;
+  }
 </style>

+ 3 - 1
src/views/tranManagement/tranManagementTransporFeedbackLook.vue

@@ -150,7 +150,8 @@
                     top: -1px;
                   "
                   src="../../../public/img/fujian.png"
-                  @click="fujian(index)"
+                  :data-img="item.loadPoundImg"
+                  @click="$imgPreview"
                   alt=""
                 />
 
@@ -169,6 +170,7 @@
                       .length == 0
                   "
                   >无</span>
+                  <!-- <el-button v-if="item.loadPoundImg != null" class="bg-bottom-preview" type="primary" size="small" :data-img="item.loadPoundImg" @click="$imgPreview">预览</el-button> -->
               </template>
             </ws-form-item>
              <!--箱号-->

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

@@ -133,7 +133,7 @@
               v-model="item.driver"
               placeholder="请选择姓名"
               filterable
-              :filter-method="dataFilter"
+              clearable
               @change="selectstaff"
             >
               <el-option

+ 235 - 169
src/views/tranManagement/tranManagementUnShippingFeedback.vue

@@ -138,16 +138,31 @@
         卸船详情
       </div>
       <!-- 导入 -->
-      <!-- 导入 -->
-      <div style="font-size: 16px; width: 100%; text-align: right">
-        <el-upload style="margin-left: 8px;"
+      <div
+        style="
+          font-size: 16px;
+          width: 100%;
+          text-align: right;
+          display: flex;
+          justify-content: end;
+        "
+      >
+        <el-link
+          href="https://taohaoliang.oss-cn-beijing.aliyuncs.com/pcfiles/%E5%8F%8D%E9%A6%88%E6%A8%A1%E6%9D%BF/%E8%88%B9%E8%BF%90%E5%8D%B8%E8%BD%A6%E5%8F%8D%E9%A6%88%E6%A8%A1%E6%9D%BF.xlsx"
+          style="margin-left: 8px"
+        >
+          <el-button type="primary">模板下载</el-button>
+        </el-link>
+        <el-upload
+          style="margin-left: 8px"
           class="upload-demo inline-block margin-right-10"
           action=""
           :on-change="handleChange"
           :show-file-list="false"
           accept=".csv, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel"
-          :auto-upload="false">
-          <el-button  type="primary">导入</el-button>
+          :auto-upload="false"
+        >
+          <el-button type="primary">导入</el-button>
         </el-upload>
       </div>
       <div class="liaison">
@@ -253,16 +268,6 @@
                 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>
@@ -288,7 +293,7 @@
         >
       </div>
       <!--运单-->
-      <ws-form-item label="运单:" span="1" prop="loadPoundImg">
+      <ws-form-item label="运单:" span="1" prop="unloadPoundImg">
         <!-- slot-scope="scope" -->
         <template>
           <el-upload
@@ -310,18 +315,35 @@
             />
           </el-upload>
           <div class="tupian">
-            <span v-if="deptBudgetList.tranCarInfoList[0]&&deptBudgetList.tranCarInfoList[0].loadPoundImg != null"
-              >1</span
+            <span
+              v-if="
+                deptBudgetList.tranCarInfoList.length > 0 &&
+                  deptBudgetList.tranCarInfoList[0].unloadPoundImg != null
+              "
+              >{{ pictureTotal }}</span
             >
-            <span v-if="deptBudgetList.tranCarInfoList[0]&&deptBudgetList.tranCarInfoList[0].loadPoundImg == null"
+            <span
+              v-if="
+                deptBudgetList.tranCarInfoList.length > 0 &&
+                  deptBudgetList.tranCarInfoList[0].unloadPoundImg == null
+              "
               >未上传</span
             >
           </div>
+          <el-button v-if="deptBudgetList.tranCarInfoList.length>0&&deptBudgetList.tranCarInfoList[0].unloadPoundImg != null" 
+               class="bg-bottom-preview" type="primary" size="small" :data-img="deptBudgetList.tranCarInfoList[0].unloadPoundImg" @click="$imgPreview">预览</el-button>
         </template>
       </ws-form-item>
     </ws-form>
     <!-- 完货 -->
     <div style="text-align: right; padding: 10px" class="center">
+      <el-button
+                class="bg-bottom"
+                type="primary"
+                size="small"
+                @click="submit(deptBudgetList)"
+                >提交</el-button
+              >
       <el-button
         class="bg-bottom"
         type="primary"
@@ -354,6 +376,7 @@ export default {
   },
   data() {
     return {
+      pictureTotal: 0,
       deptBudgetList: {
         totalStorage: 0,
       },
@@ -411,17 +434,17 @@ export default {
           driverPhone: '',
           carNo: '',
           loadNetWeight: '',
-          loadPoundImg: '',
+          unloadPoundImg: '',
         },
-        // {loadPoundImg:{}},
       ],
       name: '',
       staffList: [],
       options: [],
       carModel: [],
       tranCarInfoList: {
-        loadPoundImg: '',
+        unloadPoundImg: '',
       },
+      excelFreightspace:[],
       //上传
       accessoryTFs: false,
       fileList: [],
@@ -456,94 +479,115 @@ export default {
   },
   methods: {
     handleChange(file, fileList) {
-            this.fileTemp = file.raw
-                let fileName = file.raw.name
-                let fileType = fileName.substring(fileName.lastIndexOf('.') + 1);
-                // 判断上传文件格式
-                if (this.fileTemp) {
-                    if ((fileType == 'xlsx') || (fileType == 'xls')) {
-                        this.importf(this.fileTemp)
-                    } else {
-                        this.$message({
-                            type: 'warning',
-                            message: '附件格式错误,请删除后重新上传!'
-                        })
-                    }
-                } else {
-                    this.$message({
-                        type: 'warning',
-                        message: '请上传附件!'
-                    })
-                }
+      this.fileTemp = file.raw
+      let fileName = file.raw.name
+      let fileType = fileName.substring(fileName.lastIndexOf('.') + 1)
+      // 判断上传文件格式
+      if (this.fileTemp) {
+        if (fileType == 'xlsx' || fileType == 'xls') {
+          this.importf(this.fileTemp)
+        } else {
+          this.$message({
+            type: 'warning',
+            message: '附件格式错误,请删除后重新上传!',
+          })
+        }
+      } else {
+        this.$message({
+          type: 'warning',
+          message: '请上传附件!',
+        })
+      }
+    },
+    importf(obj) {
+      this.excelFreightspace = []
+      this.dialogVisible = true
+      let _this = this
+      let inputDOM = this.$refs.inputer // 通过DOM取文件数据
+      this.file = event.currentTarget.files[0]
+      var rABS = false //是否将文件读取为二进制字符串
+      var f = this.file
+      var reader = new FileReader()
+      //if (!FileReader.prototype.readAsBinaryString) {
+      FileReader.prototype.readAsBinaryString = function (f) {
+        var binary = ''
+        var rABS = false //是否将文件读取为二进制字符串
+        var pt = this
+        var wb //读取完成的数据
+        var outdata
+        var reader = new FileReader()
+        reader.onload = function (e) {
+          var bytes = new Uint8Array(reader.result)
+          var length = bytes.byteLength
+          for (var i = 0; i < length; i++) {
+            binary += String.fromCharCode(bytes[i])
+          }
+          var XLSX = require('xlsx')
+          if (rABS) {
+            wb = XLSX.read(btoa(fixdata(binary)), {
+              //手动转化
+              type: 'base64',
+            })
+          } else {
+            wb = XLSX.read(binary, {
+              type: 'binary',
+            })
+          }
+          // outdata就是你想要的东西 excel导入的数据
+          outdata = XLSX.utils.sheet_to_json(wb.Sheets[wb.SheetNames[0]])
+          // excel 数据再处理
+          let arr = []
+          outdata.map((v) => {
+            // let jsonString = JSON.stringify(v).replace(/\*/g, '').replace(/\s/ig,'');
+            let jsonString = JSON.stringify(v)
+              .replace(/\//g, '')
+              .replace(/\s/gi, '')
+            console.log(jsonString)
+            v = JSON.parse(jsonString)
+            let obj = {}
+            //xxx代表列名
+            obj.caseNo = v.箱号
+            obj.titleNo = v.封号
+            obj.binNumber = v.仓位号
+            obj.positionWeight = v.散船重量
+            obj.loadNetWeight = v.装船净重
+            obj.unloadNetWeight = v.卸船净重
+            obj.unloadingDate = v.卸船日期
+            obj.status = v.状态
+            obj.shipType = v.类型
+            console.log(obj)
+            _this.excelFreightspace.push(obj)
+          })
+          let _ispushData = true
+          console.log(arr, _this.freightspace)
+          for (let i = 0; i < _this.excelFreightspace.length; i++) {
+            _ispushData = true
+            for (let k = 0; k < _this.freightspace.length; k++) {
+              if (
+                _this.excelFreightspace[i].binNumber ==
+                _this.freightspace[k].binNumber
+              ) {
+                _this.freightspace[k] = _this.excelFreightspace[i]
+                _ispushData = false
+              }
+            }
+            if (_ispushData) {
+              _this.freightspace.push(_this.excelFreightspace[i])
 
+              _ispushData = true
+            }
+          }
+           _this.$forceUpdate();
+        }
+        reader.readAsArrayBuffer(f)
+      }
+      if (rABS) {
+        reader.readAsArrayBuffer(f)
+      } else {
+        reader.readAsBinaryString(f)
+      }
+      console.log(reader)
     },
- importf(obj) {
-                this.dialogVisible = true;
-                let _this = this;
-                let inputDOM = this.$refs.inputer;   // 通过DOM取文件数据
-                this.file = event.currentTarget.files[0];
-                var rABS = false; //是否将文件读取为二进制字符串
-                var f = this.file;
-                var reader = new FileReader();
-                //if (!FileReader.prototype.readAsBinaryString) {
-                FileReader.prototype.readAsBinaryString = function (f) {
-                    var binary = '';
-                    var rABS = false; //是否将文件读取为二进制字符串
-                    var pt = this;
-                    var wb; //读取完成的数据
-                    var outdata;
-                    var reader = new FileReader();
-                    reader.onload = function (e) {
-                        var bytes = new Uint8Array(reader.result);
-                        var length = bytes.byteLength;
-                        for (var i = 0; i < length; i++) {
-                            binary += String.fromCharCode(bytes[i]);
-                        }
-                        var XLSX = require('xlsx');
-                        if (rABS) {
-                            wb = XLSX.read(btoa(fixdata(binary)), { //手动转化
-                                type: 'base64'
-                            });
-                        } else {
-                            wb = XLSX.read(binary, {
-                                type: 'binary'
-                            });
-                        }
-                        // outdata就是你想要的东西 excel导入的数据
-                        outdata = XLSX.utils.sheet_to_json(wb.Sheets[wb.SheetNames[0]]);
-                        // excel 数据再处理
-                        let arr = []
-                        outdata.map(v => {
-                            // let jsonString = JSON.stringify(v).replace(/\*/g, '').replace(/\s/ig,'');
-                            let jsonString = JSON.stringify(v).replace(/\//g, '').replace(/\s/ig,'');
-                            console.log(jsonString);
-                            v = JSON.parse(jsonString);
-                            let obj = {}
-                            //xxx代表列名
-                            obj.caseNo = v.箱号
-                            obj.titleNo= v.封号
-                            obj.binNumber = v.仓位号
-                            obj.positionWeight=v.散船重量
-                            obj.loadNetWeight = v.装船净重
-                            obj.unloadNetWeight = v.卸船净重
-                            obj.loadingDate = toString(v.装船日期)
-                            obj.status= v.状态
-                            obj.shipType = v.类型
-                            console.log(obj)
-                            _this.freightspace.push(obj)
-                        })
-                        // _this.freightspace.concat(arr)
-                        console.log(arr,_this.freightspace)
-                    }
-                    reader.readAsArrayBuffer(f);
-                }
-                if (rABS) {
-                    reader.readAsArrayBuffer(f);
-                } else {
-                    reader.readAsBinaryString(f);
-                }
-                console.log(reader)
-            },
     dataFilter(val) {
       this.deptBudgetList.personCharge = val
       if (val) {
@@ -594,9 +638,9 @@ export default {
     },
     //下拉司机姓名改变事件
     selectdriver() {},
-    handleChange(value) {
-      this.selectedOptions = value
-    },
+    // handleChange(value) {
+    //   this.selectedOptions = value
+    // },
     returnsales() {
       this.deptBudgetList = {}
       this.freightspace = {}
@@ -646,42 +690,41 @@ export default {
         })
     },
     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
-      // }
+      for(let i = 0 ; i < this.freightspace.length ; i++){
+        if(this.freightspace[i].shipType == '集装箱'){
+            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: '取消',
@@ -691,27 +734,28 @@ export default {
           this.$refs.deptBudgetList.validate((valid) => {
             if (valid) {
               // this.deptBudgetList.totalStorage = this.totalStorage
-              this.tranCarInfoList = this.freightspace
-              this.tranCarInfoList.driver = this.deptBudgetList.driver
-              this.tranCarInfoList.driverPhone = this.deptBudgetList.driverPhone
-              this.tranCarInfoList[0].sendDateStart = this.deptBudgetList.sendDateStart
-              this.tranCarInfoList.receiveDateEnd =
-                this.deptBudgetList.receiveDateEnd
-              this.tranCarInfoList.shipName = this.deptBudgetList.shipName
-              this.tranCarInfoList.shipNo = this.shipNo
-              this.tranCarInfoList.shipType = this.deptBudgetList.shipType
-              this.tranCarInfoList.boxNumber = this.deptBudgetList.boxNumber              
-              this.tranCarInfoList.unloadingDate = this.deptBudgetList.unloadingDate
-              // this.tranCarInfoList.boxNo = this.arr.toString()
-              for (var i = 0; i < this.tranCarInfoList.length; i++) {
-                this.tranCarInfoList[i].id = this.freightspace[i].id
-              }
+              // this.tranCarInfoList = this.freightspace
+              // this.tranCarInfoList.driver = this.deptBudgetList.driver
+              // this.tranCarInfoList.driverPhone = this.deptBudgetList.driverPhone
+              // this.tranCarInfoList[0].sendDateStart =
+              //   this.deptBudgetList.sendDateStart
+              // this.tranCarInfoList.receiveDateEnd =
+              //   this.deptBudgetList.receiveDateEnd
+              // this.tranCarInfoList.shipName = this.deptBudgetList.shipName
+              // this.tranCarInfoList.shipNo = this.shipNo
+              // this.tranCarInfoList.shipType = this.deptBudgetList.shipType
+              // this.tranCarInfoList.boxNumber = this.deptBudgetList.boxNumber
+              // this.tranCarInfoList.unloadingDate =
+              //   this.deptBudgetList.unloadingDate
+              // // this.tranCarInfoList.boxNo = this.arr.toString()
+              // for (var i = 0; i < this.tranCarInfoList.length; i++) {
+              //   this.tranCarInfoList[i].id = this.freightspace[i].id
+              // }
               var tranProcessInfo = {}
               tranProcessInfo.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}
+              tranProcessInfo.tranCarInfoList = this.freightspace
               feedback(tranProcessInfo)
                 .toPromise()
                 .then((response) => {
@@ -741,18 +785,32 @@ export default {
         .toPromise()
         .then((response) => {
           this.deptBudgetList = response
-          this.deptBudgetList.driver = response.tranCarInfoList[0].driver
+          if(response.tranCarInfoList.length > 0){
+            this.deptBudgetList.driver = response.tranCarInfoList[0].driver
           this.deptBudgetList.driverPhone =
             response.tranCarInfoList[0].driverPhone
-          this.$set(this.deptBudgetList,'sendDateStart',response.tranCarInfoList[0].sendDateStart) 
+          this.$set(
+            this.deptBudgetList,
+            'sendDateStart',
+            response.tranCarInfoList[0].sendDateStart
+          )
           this.deptBudgetList.receiveDateEnd =
             response.tranCarInfoList[0].receiveDateEnd
           this.deptBudgetList.shipName = response.tranCarInfoList[0].shipName
           this.deptBudgetList.shipNo = response.tranCarInfoList[0].shipNo
           this.deptBudgetList.shipType = response.tranCarInfoList[0].shipType
           this.deptBudgetList.boxNumber = response.tranCarInfoList[0].boxNumber
-          //  this.deptBudgetList.tranCarInfoList = response.tranCarInfoList
+          //上传附件计数
+            if (this.deptBudgetList.tranCarInfoList[0].unloadPoundImg) {
+              this.pictureTotal =
+                this.deptBudgetList.tranCarInfoList[0].unloadPoundImg.split(
+                  ','
+                ).length
+            }
+
           this.freightspace = response.tranCarInfoList
+          }
+          
           for (var i = 0; i < this.freightspace.length; i++) {
             if (!this.freightspace[i].loadNetWeight) {
               this.freightspace[i].loadNetWeight = 0
@@ -811,7 +869,15 @@ export default {
       }
     },
     uploadSuccessHandle1(e, index) {
-      this.deptBudgetList.tranCarInfoList[0].loadPoundImg = e.url
+      this.pictureTotal++
+      if (this.deptBudgetList.tranCarInfoList[0].unloadPoundImg) {
+        this.deptBudgetList.tranCarInfoList[0].unloadPoundImg += ',' + e.url
+      } else {
+        this.deptBudgetList.tranCarInfoList[0].unloadPoundImg = e.url
+      }
+      feedback(this.deptBudgetList)
+        .toPromise()
+        .then((response) => {})
     },
   },
 }
@@ -1214,7 +1280,7 @@ export default {
   margin: 0 auto;
   margin-top: -2%;
 }
-.tupian{
+.tupian {
   margin-left: 14%;
   margin-top: -7%;
 }

+ 13 - 12
src/views/tranManagement/tranManagementUnShippingFeedbackLook.vue

@@ -211,7 +211,7 @@
         }}</span>
       </div>
       <!--运单-->
-            <ws-form-item label="运单:" span="1" prop="loadPoundImg">
+            <ws-form-item label="运单:" span="1" prop="unloadPoundImg"> 
               <template>
                 <img
                   width="18"
@@ -222,21 +222,22 @@
                     top: -1px;
                   "
                   src="../../../public/img/fujian.png"
-                  @click="fujian()"
+                  :data-img="deptBudgetList.tranCarInfoList[0].unloadPoundImg"
+                  @click="$imgPreview"
                   alt=""
                 />
                 <span
                   v-if="deptBudgetList.tranCarInfoList[0]&&
-                    deptBudgetList.tranCarInfoList[0].loadPoundImgArr
+                    deptBudgetList.tranCarInfoList[0].unloadPoundImgArr
                       .length > 0
                   "
                   >{{
-                    deptBudgetList.tranCarInfoList[0].loadPoundImgArr.length
+                    deptBudgetList.tranCarInfoList[0].unloadPoundImgArr.length
                   }}</span
                 >
                  <span
                   v-if="deptBudgetList.tranCarInfoList[0]&&
-                    deptBudgetList.tranCarInfoList[0].loadPoundImgArr
+                    deptBudgetList.tranCarInfoList[0].unloadPoundImgArr
                       .length == 0
                   "
                   >无</span>
@@ -457,12 +458,12 @@ export default {
               this.freightspace[i].loadNetWeight = 0
             }
             if (this.deptBudgetList.tranCarInfoList[i]&&this.deptBudgetList.tranCarInfoList[i].loadPoundImg != null) {
-              this.deptBudgetList.tranCarInfoList[i].loadPoundImgArr =
-              this.deptBudgetList.tranCarInfoList[i].loadPoundImg.split(',')
+              this.deptBudgetList.tranCarInfoList[i].unloadPoundImgArr =
+              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 = []
+              this.deptBudgetList.tranCarInfoList[i].unloadPoundImgArr = []
             }
           }
         })
@@ -505,8 +506,8 @@ export default {
     //上传
     fujian(e) {
       if (
-        this.deptBudgetList.tranCarInfoList[0].loadPoundImg === null ||
-        this.deptBudgetList.tranCarInfoList[0].loadPoundImg === ''
+        this.deptBudgetList.tranCarInfoList[0].unloadPoundImg === null ||
+        this.deptBudgetList.tranCarInfoList[0].unloadPoundImg === ''
       ) {
         this.$message({
           message: '暂无附件!',
@@ -517,7 +518,7 @@ export default {
         this.accessoryTFs = true
       }
       this.appendixIdss =
-        this.deptBudgetList.tranCarInfoList[0].loadPoundImgArr
+        this.deptBudgetList.tranCarInfoList[0].unloadPoundImgArr
     },
   },
 }

+ 1 - 1
src/views/warehouse/tranManagementWarehouseInOutTask.vue

@@ -141,7 +141,7 @@
                   v-model="scope.row.publisher"
               placeholder="请选择经办人"
               filterable
-              :filter-method="dataFilter"
+              clearable
               @change="(event)=>{selectstaff(event, scope.row)}"
             >
               <el-option

+ 0 - 1
src/views/warehouse/warehouseManagementAdd.vue

@@ -51,7 +51,6 @@
             placeholder="请选择负责人"
             filterable
             clearable 
-            :filter-method="dataFilter"
             @change="selectstaff"
           >
             <el-option

+ 2 - 1
src/views/warehouse/warehouseManagementDelivery.vue

@@ -167,7 +167,7 @@
               v-model="deptBudgetList.agent"
               placeholder="请选择经办人"
               filterable
-              :filter-method="dataFilter"
+              clearable
               @change="selectstaff"
             >
               <el-option
@@ -221,6 +221,7 @@
             <el-select
               v-if="carstatus"
               filterable
+              clearable
               :filter-method="dataFilter2"
               v-model="deptBudgetList.carNo"
               placeholder="请选择车牌号"

+ 1 - 1
src/views/warehouse/warehouseManagementEdit.vue

@@ -51,7 +51,7 @@
               v-model="deptBudgetList.personCharge"
               placeholder="请选择负责人"
               filterable
-              :filter-method="dataFilter"
+              clearable
               @change="selectstaff"
             >
               <el-option

+ 26 - 1
src/views/warehouse/warehouseManagementGross.vue

@@ -40,10 +40,29 @@
           <span v-show="this.$route.query.warehouseType == 2">(临)</span>
         </h2>
         <ws-info-table>
+                  <!--任务编号-->
+          <ws-form-item label="任务编号" span="1" prop="inOutTaskNo">
+            <el-select
+              filterable
+              clearable
+              v-model="deptBudgetList.inOutTaskNo"
+              placeholder="请选择任务编号"
+              class="typeselect"
+              @change="contractNoChange"
+            >
+              <el-option
+                v-for="item in deptBudgetList1"
+                :key="item.inOutTaskNo"
+                :label="item.inOutTaskNo"
+                :value="item.inOutTaskNo"
+              />
+            </el-select>
+          </ws-form-item>
           <!--合同编号-->
           <ws-form-item label="合同编号" span="1" prop="contractNo">
             <el-select
               filterable
+              clearable
               :filter-method="dataFilter1"
               v-model="deptBudgetList.contractNo"
               placeholder="请选择合同编号或移库任务编号"
@@ -247,7 +266,6 @@
               placeholder="请选择经办人"
               filterable
               clearable
-              :filter-method="dataFilter"
               @change="selectstaff"
             >
               <el-option
@@ -546,6 +564,7 @@ import {
   addstorageputList,
   xialaNo,
   getstaff,
+  getReceiptTaskNo
 } from '@/model/warehouse/index'
 import Pagination from '@/components/Pagination'
 import WsUpload from '@/components/WsUpload'
@@ -567,6 +586,7 @@ export default {
   },
   data() {
     return {
+      deptBudgetList1:[],
       qualityInspectorList:[],
       isGetCost:false,
       isSelectType:true,
@@ -671,6 +691,11 @@ export default {
          
        }
       }
+      getReceiptTaskNo().toPromise()
+            .then((response) => {
+                console.log(response)
+                this.deptBudgetList1 = response
+            })
     // if (this.deptBudgetList.warehouseType == 1) {
     //   // this.deptBudgetList.inOutType = '采购入库'
     //   this.deptBudgetList.inOutTypeKey = '1'

+ 26 - 3
src/views/warehouse/warehouseManagementNoWeightIn.vue

@@ -33,6 +33,24 @@
         </h2>
         <div class="small-title">基本信息</div>
         <ws-info-table>
+                      <!--任务编号-->
+          <ws-form-item label="任务编号" span="1" prop="inOutTaskNo">
+            <el-select
+              filterable
+              clearable
+              v-model="dataList.inOutTaskNo"
+              placeholder="请选择任务编号"
+              class="typeselect"
+              @change="contractNoChange"
+            >
+              <el-option
+                v-for="item in deptBudgetList2"
+                :key="item.inOutTaskNo"
+                :label="item.inOutTaskNo"
+                :value="item.inOutTaskNo"
+              />
+            </el-select>
+          </ws-form-item>
           <ws-form-item label="合同编号" span="1" prop="contractNo">
             <el-select
             filterable
@@ -184,7 +202,6 @@
               v-model="dataList.agent"
               placeholder="请选择经办人"
               filterable
-              :filter-method="dataFilter"
               @change="selectstaff"
             >
               <el-option
@@ -350,7 +367,6 @@
               placeholder="请选择质检员"
               filterable
               clearable
-               :filter-method="dataFilter"
               @change="qualityInspectorChange"
             >
               <el-option
@@ -445,7 +461,8 @@ import {
   addstorageputList,
   xialaNo,
   getstaff,
-  getPrintInfo
+  getPrintInfo,
+  getReceiptTaskNo
 } from '@/model/warehouse/index'
 import { downloadFile } from '@/utils/batchDown'
 import Pagination from '@/components/Pagination'
@@ -480,6 +497,7 @@ export default {
   },
   data() {
     return {
+       deptBudgetList2:[],
       isSelectType:true,
       isGetCost:false,
       qualityInspectorList:[],
@@ -628,6 +646,11 @@ export default {
       this.isGetCost = true
       this.cost = this.dataList.cost 
     }
+    getReceiptTaskNo().toPromise()
+        .then((response) => {
+            console.log(response)
+            this.deptBudgetList2 = response
+        })
 
   },
   methods: {

+ 28 - 3
src/views/warehouse/warehouseManagementNoWeightOut.vue

@@ -34,6 +34,24 @@
         </h2>
         <div class="small-title">基本信息</div>
         <ws-info-table>
+                    <!--任务编号-->
+          <ws-form-item label="任务编号" span="1" prop="inOutTaskNo">
+            <el-select
+              filterable
+              clearable
+              v-model="dataList.inOutTaskNo"
+              placeholder="请选择任务编号"
+              class="typeselect"
+              @change="contractNoChange"
+            >
+              <el-option
+                v-for="item in deptBudgetList2"
+                :key="item.inOutTaskNo"
+                :label="item.inOutTaskNo"
+                :value="item.inOutTaskNo"
+              />
+            </el-select>
+          </ws-form-item>
          <ws-form-item label="合同编号" span="1" prop="contractNo">
             <ws-select
               v-model="dataList.contractNo"
@@ -163,7 +181,7 @@
               v-model="dataList.agent"
               placeholder="请选择经办人"
               filterable
-              :filter-method="dataFilter"
+              clearable
               @change="selectstaff"
             >
               <el-option
@@ -217,6 +235,7 @@
              <el-select
               v-if="carstatus"
               filterable
+              clearable
               :filter-method="dataFilter2"
               v-model="deptBudgetList.carNo"
               placeholder="请选择车牌号"
@@ -266,7 +285,6 @@
               placeholder="请选择质检员"
               filterable
               clearable
-               :filter-method="dataFilter"
             >
               <el-option
                 v-for="item in qualityInspectorList"
@@ -360,7 +378,8 @@ import {
   addstorageputList,
   xialaNo,
   getstaff,
-  getPrintInfo
+  getPrintInfo,
+  getReceiptTaskNo
 } from '@/model/warehouse/index'
 import { downloadFile } from '@/utils/batchDown'
 import Pagination from '@/components/Pagination'
@@ -392,6 +411,7 @@ export default {
   },
   data() {
     return {
+      deptBudgetList2:[],
       //弹出框
       dialogViewSpareMoney: false,
       dialogApproveFormVisible: false,
@@ -521,6 +541,11 @@ export default {
     this.dataList.statusFlag = this.$route.statusFlag
     this.dataList.warehouseInOutDetail = this.$route.query.warehouseInOutDetail
     console.log(this.dataList)
+    getReceiptTaskNo().toPromise()
+      .then((response) => {
+          console.log(response)
+          this.deptBudgetList2 = response
+      })
   },
   methods: {
     async closePort() {

+ 2 - 1
src/views/warehouse/warehouseManagementPerfectDelivery.vue

@@ -160,7 +160,7 @@
               v-model="dataList.agent"
               placeholder="请选择经办人"
               filterable
-              :filter-method="dataFilter"
+              clearable
               @change="selectstaff"
             >
               <el-option
@@ -214,6 +214,7 @@
              <el-select
               v-if="carstatus"
               filterable
+              clearable
               :filter-method="dataFilter2"
               v-model="deptBudgetList.carNo"
               placeholder="请选择车牌号"

+ 1 - 2
src/views/warehouse/warehouseManagementPerfectput.vue

@@ -181,7 +181,7 @@
               v-model="dataList.agent"
               placeholder="请选择经办人"
               filterable
-              :filter-method="dataFilter"
+              clearable
               @change="selectstaff"
             >
               <el-option
@@ -347,7 +347,6 @@
               placeholder="请选择质检员"
               filterable
               clearable
-               :filter-method="dataFilter"
               @change="qualityInspectorChange"
             >
               <el-option

+ 1 - 1
src/views/warehouse/warehouseManagementPut.vue

@@ -241,7 +241,6 @@
               placeholder="请选择经办人"
               filterable
               clearable
-              :filter-method="dataFilter"
               @change="selectstaff"
             >
               <el-option
@@ -296,6 +295,7 @@
             <el-select
               v-if="carstatus"
               filterable
+              clearable
               :filter-method="dataFilter2"
               v-model="deptBudgetList.carNo"
               placeholder="请选择车牌号"

+ 1 - 1
src/views/warehouse/warehouseManagementPutOutLook.vue

@@ -130,7 +130,7 @@
               disabled
               v-model="dataList.agent"
               filterable
-              :filter-method="dataFilter"
+              clearable
             >
               <el-option
                 v-for="item in options"

+ 27 - 2
src/views/warehouse/warehouseManagementTare.vue

@@ -35,6 +35,24 @@
         </h2>
         <div class="small-title">基本信息</div>
         <ws-info-table>
+                  <!--任务编号-->
+          <ws-form-item label="任务编号" span="1" prop="inOutTaskNo">
+            <el-select
+              filterable
+              clearable
+              v-model="deptBudgetList.inOutTaskNo"
+              placeholder="请选择任务编号"
+              class="typeselect"
+              @change="contractNoChange"
+            >
+              <el-option
+                v-for="item in deptBudgetList1"
+                :key="item.inOutTaskNo"
+                :label="item.inOutTaskNo"
+                :value="item.inOutTaskNo"
+              />
+            </el-select>
+          </ws-form-item>
           <ws-form-item label="合同编号" span="1" prop="contractNo">
             <ws-select
               v-model="deptBudgetList.contractNo"
@@ -171,7 +189,7 @@
               v-model="deptBudgetList.agent"
               placeholder="请选择经办人"
               filterable
-              :filter-method="dataFilter"
+              clearable
               @change="selectstaff"
             >
               <el-option
@@ -225,6 +243,7 @@
             <el-select
               v-if="carstatus"
               filterable
+              clearable
               :filter-method="dataFilter2"
               v-model="deptBudgetList.carNo"
               placeholder="请选择车牌号"
@@ -373,6 +392,7 @@ import {
   xialaNo,
   getstaff,
   goodsnameXiala,
+  getReceiptTaskNo
 } from '@/model/warehouse/index'
 import Pagination from '@/components/Pagination'
 import WsUpload from '@/components/WsUpload'
@@ -391,6 +411,7 @@ export default {
   },
   data() {
     return {
+      deptBudgetList1:[],
       isSelectType:true,
        carstatus: false,
        qualityInspectorList:[],
@@ -478,7 +499,11 @@ export default {
     this.deptBudgetList.warehouseType = this.$route.query.warehouseType
     this.deptBudgetList.warehouseId = this.$route.query.warehouseId
     this.getList()
-  
+       getReceiptTaskNo().toPromise()
+            .then((response) => {
+                console.log(response)
+                this.deptBudgetList1 = response
+            })
   },
   methods: {
     async closePort() {

+ 1 - 1
vue.config.js

@@ -141,8 +141,8 @@ module.exports = {
         // target: 'https://product-server.winsea.com/', //目标地址
         // target: 'http://standard-dev.winsea.com/', //目标地址
         // target: 'http://localhost:8090/',
+        // target: 'http://192.168.1.107/:8090/',
         target: 'http://192.168.1.107:8090/',
-        // target: 'http://192.168.1.122:9100/',
         // target: 'http://192.168.1.119:8090/',
         // target: 'http://192.168.24.5:8098',//目标地址
         // target: 'http://product-server.winsea.com/',