luobang před 3 roky
rodič
revize
c12d856efa
30 změnil soubory, kde provedl 777 přidání a 272 odebrání
  1. 4 4
      build/utils.js
  2. 3 2
      config/index.js
  3. 2 1
      package.json
  4. 13 30
      src/components/DilCommonUI/packages/table/src/table.vue
  5. 9 3
      src/views/TMS/components/importedShip/addLoadShip.vue
  6. 2 2
      src/views/TMS/components/importedShip/shipLocation.vue
  7. 3 0
      src/views/appoint/app.js
  8. 8 2
      src/views/appoint/components/saleContract/addSaleOrder.vue
  9. 6 8
      src/views/appoint/components/saleContract/addSaleOrderSteelSendCarrier.vue
  10. 29 9
      src/views/appoint/components/ship/addCargoResult.vue
  11. 18 9
      src/views/appoint/components/ship/addDeliveryAttorney.vue
  12. 12 9
      src/views/appoint/components/ship/addDeliveryNotice.vue
  13. 196 0
      src/views/appoint/components/ship/attorneytext.vue
  14. 2 1
      src/views/appoint/components/ship/cargoResult.vue
  15. 13 0
      src/views/appoint/components/ship/deliveryAttorney.vue
  16. 130 6
      src/views/appoint/components/ship/modifyCargoResult.vue
  17. 2 0
      src/views/appoint/router/index.js
  18. 4 0
      src/views/inward/app.js
  19. 9 4
      src/views/inward/components/inwardFactory/timeTaskResult.vue
  20. 52 2
      src/views/inward/components/truckAppoint/addRequirement2.vue
  21. 1 1
      src/views/inward/components/truckAppoint/requirementOther.vue
  22. 27 5
      src/views/sale/components/saleSelfMachine/printLading.vue
  23. 27 5
      src/views/sale/components/saleSelfMachine/printReceipt.vue
  24. 1 2
      src/views/sale/components/saleSelfMachine/printScan.vue
  25. 37 13
      src/views/sale/components/saleSelfMachine/printWarranty.vue
  26. 21 11
      src/views/sale/components/saleSelfMachine/saleSelfMachine.vue
  27. 31 16
      src/views/sale/components/transport_excute/tms-offsite/arrivalResult.vue
  28. 112 123
      src/views/sale/components/transport_excute/tms-offsite/receiptResult.vue
  29. 3 2
      src/views/statisticalReport/components/Ship_dynamic_table.vue
  30. 0 2
      src/views/statisticalReport/router/index.js

+ 4 - 4
build/utils.js

@@ -15,19 +15,19 @@ const devPathSrc = path.resolve(__dirname, '../../../src'); // node_modules应
 // ['index','appoint','configManager','homepage',''inward,'queue','RMS','sale','serviceManager','SporadicManage'
 //       统计报表       组织机构/系统管理 采购  仓储
 //  'statisticalReport','systemConfig','TMS','WMS','workFlow']
-// let devModules = ['all']
-let devModules = ['index','TMS','WMS'];
+let devModules = ['all']
+// let devModules = ['index','TMS','WMS'];
 // let devModules = ['index','appoint','WMS'];
 // let devModules = ['index','inward','SporadicManage']
 // let devModules = ['index','sale','RMS']
 // let devModules = ['index','SporadicManage','RMS','statisticalReport']
-// let devModules = ['index','inward','statisticalReport','TMS']
+// let devModules = ['index','inward','statisticalReport']
 //  let devModules = ['index','WMS','sale','TMS','inward','SporadicManage']
 // let devModules = ['index','SporadicManage','TMS','statisticalReport','RMS'];
 // let devModules = ['index','RMS'];
 
 
-if (pathSrc.indexOf('node_modules') > -1) {c
+if (pathSrc.indexOf('node_modules') > -1) {
     devModules = require('../../../cors.js').devModules;
 }
 // 获取入口集合

+ 3 - 2
config/index.js

@@ -64,8 +64,9 @@ let proxyTable = {
   },
   // 所有数据的请求域名地址
   "/api/v1": {
-    // target: "http://172.16.33.166:8080",
-    target: "http://192.168.1.100:8080",
+    // target: "http://192.168.1.106:8019",
+    target: "http://172.16.33.166:8080",
+    // target: "http://192.168.1.114:8019",
     ws: true,
     pathRewrite: {
       "^/api/v1": "/api/v1"

+ 2 - 1
package.json

@@ -36,6 +36,7 @@
     "icore-sdk": "1.0.1-alpha.65",
     "json-schema-editor-vue": "1.2.5",
     "json2xml": "^0.1.3",
+    "jspdf": "^2.5.1",
     "jssha": "^3.2.0",
     "object-assign": "^4.1.1",
     "qs": "^6.9.3",
@@ -62,7 +63,7 @@
     "vue-splitpane": "^1.0.2",
     "vuescroll": "^4.17.3",
     "vuex": "^3.0.1",
-    "vxe-table": "^3.4.12",
+    "vxe-table": "^3.5.2",
     "x2js": "^3.3.0",
     "xe-utils": "^3.5.4",
     "xlsx": "^0.18.4",

+ 13 - 30
src/components/DilCommonUI/packages/table/src/table.vue

@@ -199,11 +199,11 @@ export default {
       default: true,
     },
     // 行的 className 的回调方法,也可以使用字符串为所有行设置一个固定的 className。
-    // rowClassName: {
-    //   default() {
-    //     return ({ row, rowIndex }) => "";
-    //   },
-    // },
+    rowClassName: {
+      default() {
+        return ({ row, rowIndex }) => "";
+      },
+    },
     // 单元格的 className 的回调方法,也可以使用字符串为所有单元格设置一个固定的 className。
     cellClassName: {
       default() {
@@ -268,35 +268,18 @@ export default {
 
 <style lang="scss" scoped>
 
-.el-table .warning-row {
-    background: #fff ;
-    font-size: 22px;
-    height: 44px;
-    line-height: 46px;
-    font-size: 22px;
-    font-weight: 700;
-  }
-
-  .el-table .success-row {
-    background: #fff ;
-    font-size: 22px;
-    height: 44px;
-    line-height: 46px;
-    font-size: 22px;
-    font-weight: 700;
-  }
 @media print {
   .el-pagination {
     display: none;
   }
   
 }
-//  /deep/.el-table .success-row {
-//     background: #fff !important;
-//     color: #f56c6c;
-//     height: 44px;
-//     line-height: 46px;
-//     font-size: 22px;
-//     font-weight: 700;
-//   }
+ /deep/.el-table .success-row {
+    background: #fff !important;
+    color: #f56c6c;
+    height: 44px;
+    line-height: 46px;
+    font-size: 22px;
+    font-weight: 700;
+  }
 </style>

+ 9 - 3
src/views/TMS/components/importedShip/addLoadShip.vue

@@ -26,6 +26,7 @@
 <script>
 import PageTitle from "@/components/Page/Title";
 import { sjTime } from "@/utils/sharedJsFile";
+import { getCookie } from "@/utils/util.js";
 export default {
   components: { PageTitle },
   data() {
@@ -49,7 +50,7 @@ export default {
     currentRadioChange(row) {
       this.rowMap=row
       
-      console.log(this.rowMap);
+      console.log("addd",this.rowMap);
     },
     // 新增
     makeSure() {
@@ -72,8 +73,10 @@ export default {
           this.form.resultOutWharyTime
         ),
         resultMemo: this.form.resultMemo,
+        userId:getCookie("userId")
       };
       console.log(mapVal);
+      console.log(this.rowMap)
       if (
       mapVal.resultActualInstallations==null||
      // mapVal.portId==null||
@@ -83,8 +86,7 @@ export default {
       mapVal.resultPortDeclarationName==null||
       mapVal.resultArrivalTime==null||
       mapVal.resultOutWharyName==null||
-      mapVal.resultOutWharyTime==null||
-      mapVal.resultMemo==null
+      mapVal.resultOutWharyTime==null
       ) this.$message.error("存在空值!");
       else
       this.axios
@@ -96,6 +98,8 @@ export default {
           }
         )
         .then((res) => {
+          console.log("返回成功了")
+          console.log(res)
           if (res.data.code == 200) {
             this.$message({
               type: "success",
@@ -103,6 +107,8 @@ export default {
             });
             // this.$refs.table.refreshData();
             this.$router.go(-1);
+          }else if(res.data.code == 201){
+            this.$message.warning(res.data.data);
           } else {
             this.$message.error("新增失败!");
           }

+ 2 - 2
src/views/TMS/components/importedShip/shipLocation.vue

@@ -101,8 +101,8 @@ export default {
           label:'已过闸船舶',
           value:'已过闸船舶'
         },{
-          label:'到港船舶',
-          value:'到港船舶'
+          label:'到港待卸船舶',
+          value:'到港待卸船舶'
         },
       ],
       value: null,

+ 3 - 0
src/views/appoint/app.js

@@ -24,6 +24,9 @@ Vue.use(VueApollo)
 import DilCommonUI from "@/components/DilCommonUI";
 Vue.use(DilCommonUI);
 
+import htmlToPdf from '@/components/exportPdf/exportPdf'
+Vue.use(htmlToPdf)
+
 import vuescroll from "vuescroll";//引入vuescroll
 import "vuescroll/dist/vuescroll.css";//引入vuescroll样式
 Vue.use(vuescroll);//使用

+ 8 - 2
src/views/appoint/components/saleContract/addSaleOrder.vue

@@ -460,7 +460,7 @@
 </template>
 <script>
 import PageTitle from "@/components/Page/Title";
-import { sjTime } from "@/utils/sharedJsFile";
+import { sjTime,isIntegerNumber } from "@/utils/sharedJsFile";
 export default {
   components: { PageTitle },
   data() {
@@ -899,8 +899,10 @@ export default {
       }else if(!this.saleShipperAddressName&&this.values=='no'){
         this.$message.warning("收货地址未填写!");
       }else if(this.materialList.length==1&&this.materialList[0].carNumber!=null){
+          if(this.materialList[0].orderPlanWeight/this.materialList[0].carNumber)
           var eachOrderPlanWeight = this.materialList[0].orderPlanWeight/this.materialList[0].carNumber;
-          var e = this.materialList[0];
+          if(isIntegerNumber(eachOrderPlanWeight)){
+            var e = this.materialList[0];
           for(var i=0;i<this.materialList[0].carNumber;i++){
             var addmap = {
             cxh: this.maxCxh,
@@ -926,6 +928,10 @@ export default {
           this.materialList = [];
           //调用记录每一行的合并数的方法
           this.getSpanArr(this.selectionList);
+          }else{
+            this.$message.warning("分配件数不是整数!");
+          }
+          
       }else{
           this.materialList.forEach((e) => {
             var addmap = {

+ 6 - 8
src/views/appoint/components/saleContract/addSaleOrderSteelSendCarrier.vue

@@ -272,6 +272,7 @@ export default {
               this.$message({ type: "info", message: "取消!",});
             });
         }
+        console.log("res.data.data",res.data.data)
         //赋值派车表格
         res.data.data.forEach((e,i) => {
           if(e.saleOrderConsignee=="null"){
@@ -285,7 +286,7 @@ export default {
                 truckNo: e.truckNo,
                 saleOrderMaterialId: e.saleOrderMaterialId,
                 capacityNumber: null,
-                carrierName: e.carrierId,
+                carrierName: e.carrierName,
                 carrierId: e.carrierId,
                 materialId: e.materialId,
                 materialName: e.materialName,
@@ -430,16 +431,13 @@ export default {
       //是否可发送请求
       var canSend = 1;
       this.selectionList.forEach((e)=>{
-          if(e.carrierName==null){
+          if(e.capacityNumber==null){
               canSend = 0;
           }
-          if(isIntegerNumber(e.carrierName)){
-              e.carrierId = e.carrierName;
-          }
-        });
+      });
       if(canSend==0){
-          //还有车序号未授权承运商
-          this.$message.warning('还有车序号未授权承运商!')
+          //还有车牌号未填写
+          this.$message.warning('还有车牌号未填写!')
       }else{
           this.$confirm("是否确定进行钢材派单!", "提示", {
               confirmButtonText: "确定",

+ 29 - 9
src/views/appoint/components/ship/addCargoResult.vue

@@ -74,6 +74,7 @@
 </template>
 <script>
 import PageTitle from "@/components/Page/Title";
+import { getCookie } from "@/utils/util.js";
 export default {
   components: { PageTitle },
   data() {
@@ -112,33 +113,50 @@ export default {
     ondrawer(num) {
       this.drawer = true;
       this.a = num;
+      // 清空当前输入框中的数据
+      this.input = "";
     },
     currentRadioChange1(selection) {
-      (this.mapList1 = selection),
-        (this.materialName = this.mapList1.materialName);
+      (this.second.mapList1 = selection),
+        (this.materialName = selection.materialName);
     },
     currentRadioChange2(selection) {
-      (this.mapList2 = selection), (this.cargo = this.mapList2.portName);
+      (this.second1.mapList2 = selection), (this.cargo = selection.portName);
     },
     currentRadioChange3(selection) {
-      (this.mapList3 = selection), (this.receiver = this.mapList3.pierName);
+      (this.second2.mapList3 = selection), (this.receiver = selection.pierName);
     },
 
     // 确定git
     makeSure() {
+      if(this.second.mapList1.length == 0){
+        this.$message.warning("请选择物资")
+        return
+      }
+      if(this.second1.mapList2.length == 0){
+        this.$message.warning("请选择送达单位")
+        return
+      }
+      if(this.second2.mapList3.length == 0){
+        this.$message.warning("请选择收货人")
+        return
+      }
       let AmsshipCargoTransferResult = {
         resultContactPerson: this.form1.resultContactPerson,
         resultTelephoneFax: this.form1.resultTelephoneFax,
         resultFreightForwardingInfo: this.form1.resultFreightForwardingInfo,
         resultMemo: this.form1.resultMemo,
         resultNumberOfLoans: this.form1.resultNumberOfLoans,
-        resultNumber: this.form1.resultNumber,
-        carrierId: this.mapList2.portId,
-        groupId: this.mapList3.pierId,
+        carrierId: this.second1.mapList2.portId,
+        groupId: this.second2.mapList3.id,
         foreignShipName: this.form1.foreignShipName,
-        materialId: this.mapList1.materialId,
+        materialId: this.second.mapList1.materialId,
+        userId:getCookie("userId")
       };
+      console.log(AmsshipCargoTransferResult)
       if (
+        AmsshipCargoTransferResult.foreignShipName == null ||
+        AmsshipCargoTransferResult.resultNumberOfLoans == null ||
         AmsshipCargoTransferResult.resultContactPerson == null ||
         AmsshipCargoTransferResult.resultTelephoneFax == null
       )
@@ -157,6 +175,7 @@ export default {
                 message: "新增成功",
               });
             }
+            this.$router.go(-2);
           });
     },
     onclick(a) {
@@ -169,8 +188,9 @@ export default {
           "/api/v1/tms/selectShippeByName?apiId=215&con=" + this.input;
       } else {
         this.second2.requestUrl =
-          "/api/v1/tms/getGroupList?apiId=21&con=" + this.input;
+          "/api/v1/tms/getGroupList?apiId=217&con=" + this.input;
       }
+      
     },
     // 取消
     cancel() {

+ 18 - 9
src/views/appoint/components/ship/addDeliveryAttorney.vue

@@ -47,6 +47,7 @@
 <script>
 import PageTitle from "@/components/Page/Title";
 import { sjTime,isNumber } from "@/utils/sharedJsFile";
+import { getCookie } from "@/utils/util.js";
 export default {
   components: { PageTitle },
   data() {
@@ -59,6 +60,7 @@ export default {
         selectionType: "radio",
         maplist: [],
       },
+      batchIds:"",
       form1: {},
       value: undefined,
     };
@@ -75,32 +77,39 @@ export default {
     handleClose(done) {
       done();
     },
-    currentRadioChange1(selection) {
-      this.maplist = selection;
+    currentRadioChange1(radio) {
       this.form1 = {
-        batchId: selection.resultForeignShipName + selection.materialName,
+        batchId: radio.resultForeignShipName + radio.materialName,
       };
+      this.batchIds = radio.batchId
     },
     // 确定
     makeSure() {
+      console.log("批次号"+this.batchIds)
+      // 判断用户是否输入了批次号
+      if(this.batchIds==""||this.batchIds==undefined){
+        this.$message.warning("请选择批次号")
+        return
+      }
       let AmsshipDeliveryAttorney = {
-        // downSwimPortId: this.form1.downSwimPortId,
+        downSwimPortId: this.form1.downSwimPortId,
         attorenyPickupIdcard: this.form1.attorenyPickupIdcard,
         attorneyContactTelephone: this.form1.attorneyContactTelephone,
-        batchId: this.maplist.batchId,
+        batchId: this.batchIds,
         attorneyTime: sjTime(this.form1.attorneyTime),
         attorneyPdffile: this.form1.attorneyPdffile,
         noticeId: this.form1.noticeId,
         portId: this.form1.portId,
         attorneyPickupContactPerson: this.form1.attorneyPickupContactPerson,
+        userId:getCookie("userId"),
         // resultMemo: this.form1.resultMemo,
       };
+      console.log(AmsshipDeliveryAttorney)
       if (
         // AmsshipDeliveryAttorney.attorneyId==null||
-        AmsshipDeliveryAttorney.downSwimPortId == null ||
-        AmsshipDeliveryAttorney.attorenyPickupIdcard == null ||
-        AmsshipDeliveryAttorney.attorneyContactTelephone == null ||
-        AmsshipDeliveryAttorney.noticeId == null ||
+        // AmsshipDeliveryAttorney.downSwimPortId == null ||
+        // AmsshipDeliveryAttorney.attorenyPickupIdcard == null ||
+        // AmsshipDeliveryAttorney.attorneyContactTelephone == null ||
         AmsshipDeliveryAttorney.attorneyPickupContactPerson == null
       )
         this.$message.error("存在空值,请核实以后再提交");

+ 12 - 9
src/views/appoint/components/ship/addDeliveryNotice.vue

@@ -34,6 +34,7 @@
 <script>
 import PageTitle from "@/components/Page/Title";
 import { sjTime,isNumber } from "@/utils/sharedJsFile";
+import { getCookie } from "@/utils/util.js";
 export default {
   components: { PageTitle },
   data() {
@@ -41,7 +42,7 @@ export default {
       input:'',
       drawer:false,
       direction:"rtl",
-      batchId:0,
+      batchId:"",
       form1: {},
       options:{
         requestUrl:"/api/v1/tms/getBatchListForAttorney?apiId=375",
@@ -71,11 +72,12 @@ export default {
         done();
     },
      makeSure() {
-      //  purchaseId:this.form1.purchaseId,
-      //  noticeId:this.form1.noticeId,
-      //  cargoId:this.form1.cargoId,
-      //  cargoTransferResultId:this.form1.cargoTransferResultId,
-      let AmsshipDeliveryNotice = {
+      // 判断批次号选择是否为空
+      if(this.batchId==""||this.batchId==undefined){
+        this.$message.warning("请选择批次号")
+        return
+      }
+      let map = {
        carrierId:this.form1.carrierId,
        requesterGroupId:this.form1.requesterGroupId,
        noticeCommerceMethod:this.form1.noticeCommerceMethod,
@@ -84,7 +86,6 @@ export default {
        noticePortConstructionFee:this.form1.noticePortConstructionFee,
        noticeDeliveryTime:sjTime(this.form1.noticeDeliveryTime),
        noticePileFreeDays:this.form1.noticePileFreeDays,
-       noticeDistructionStatus:this.form1.noticeDistructionStatus,
        batchId:this.batchId,
        purchaseContractUnitPrice:this.form1.purchaseContractUnitPrice,
        purchaseContractMoisture:this.form1.purchaseContractMoisture,
@@ -95,8 +96,10 @@ export default {
        aluminaContent:this.form1.aluminaContent,
        phosphorusContent:this.form1.phosphorusContent,
        manganeseContent:this.form1.manganeseContent,
+       userId:getCookie("userId")
        
       };
+      console.log(map)
       if (
         // AmsshipDeliveryAttorney.attorneyId==null||
         // AmsshipDeliveryAttorney.downSwimPortId==null||
@@ -104,13 +107,13 @@ export default {
         // AmsshipDeliveryAttorney.attorneyContactTelephone==null||
         // AmsshipDeliveryAttorney.attorneyTime==null||
         // AmsshipDeliveryAttorney.attorneyPdffile==null
-        AmsshipDeliveryNotice.noticeHandoverMethod==null
+        map.noticeHandoverMethod==null
       ) this.$message.error("存在空值!");
       else
       this.axios
         .post(
           "/api/v1/tms/insertDeliveryNotice",
-           AmsshipDeliveryNotice
+           map
         )
         .then((res) => {
           this.$router.go(-1);

+ 196 - 0
src/views/appoint/components/ship/attorneytext.vue

@@ -0,0 +1,196 @@
+<template>
+  <div class="tableAllDate">
+      <page-title>返回</page-title>
+      <div id="pdfDom">
+      <div class="blank">
+      </div>
+      <!-- 循环遍历传过来的数组中的所有的对象,生成多张提货委托书 -->
+      <div >
+          <div class="title">
+          <i class="titleText" align="center">委托书</i>
+        </div>
+        <div>
+        <!-- tablePart0 -->
+          <table border="0" cellpadding="10" cellspacing="0" style="margin: auto;font-size:20px;" width="1000px" class="tablePart0">
+          <tr>
+            <td style="width :100%">江苏{{attorneyMap.carrierName}}港口集团股份有限公司:</td>
+          </tr>
+          </table>
+        </div>
+        <div class="tableBody">
+          <!-- tablePart1 -->
+          <table border="0" cellpadding="10" cellspacing="0" style="margin-top: 5px;" width="1000px" class="tablePart1">
+          <tr>
+            <td style="width :100%" padding-right="20px">兹委任重庆市万州区万港船务有限公司
+                前来贵港办理我公司的货权提货和水路运输事宜,品种:{{attorneyMap.materialName}};外轮船名:{{attorneyMap.resultForeignShipName}};
+                数量:{{attorneyMap.purchaseOrderMaterialNum}}
+                湿吨(如遇最后一批提货,须清场);物流流向:万州港。望贵公司予以支持为盼。
+            </td>
+          </tr>
+          </table>
+          <!-- tablePart2 -->
+          <table border="0" cellpadding="10" cellspacing="0" style="
+          border-top: 0px" width="1000px" class="tablePart2">
+          <tr>
+            <th style="width :16.5%">提货联系人:</th>
+            <td style="width :10.5%">{{attorneyMap.attorneyPickupContactPerson}}</td>
+            <th style="width :14%">身份证号:</th>
+            <td style="width :59%">{{attorneyMap.attorneyPickupIdcard}}</td>
+          </tr>
+          </table>
+          <!-- tablePart3 -->
+          <table border="0" cellpadding="10" cellspacing="0" style="
+          border-top: 0px" width="1000px" class="tablePart3">
+          <tr>
+            <th style="width :16.5%">联系电话:</th>
+            <td style="width :83.5%">{{attorneyMap.attorneyContactTelephone}}</td>
+          </tr>
+          </table>
+          <!-- tablePart4 -->
+          <table border="1" cellpadding="10" cellspacing="0" style="
+          border-top: 0px" width="1000px" class="tablePart4">
+          <tr>
+            <th style="width :10.5%">顺颂商祺!</th>
+          </tr>
+          </table>
+          <!-- tablePart5 -->
+          <table border="1" cellpadding="10" cellspacing="0" style="
+          border-top: 0px" width="1000px" class="tablePart5">
+          <tr>
+            <th style="width :10.5%">(传真件/扫描件有效)</th>
+          </tr>
+          </table>
+        </div>
+        <div>
+          <!-- tablePart6 -->
+          <table border="0" cellpadding="10" cellspacing="0" style="margin: auto;margin-top: 5px;font-size:20px;" width="1000px" class="tablePart6">
+          <tr>
+            <td style="width :48.5%">{{attorneyMap.shipperName}}</td>
+          </tr>
+          </table>
+        </div>
+        <div>
+        <!-- tablePart7 -->
+        <table border="0" cellpadding="10" cellspacing="0" style="margin: auto;margin-top: 5px;font-size:20px;" width="1000px" class="tablePart7">
+        <tr>
+          <td style="width :63%"></td>
+          <td style="width :5%">{{year}}</td>
+          <th style="width :8%">年</th>
+          <td style="width :3%">{{month}}</td>
+          <th style="width :8%">月</th>
+          <td style="width :3%">{{date}}</td>
+          <th style="width :5%">日</th>
+        </tr>
+        </table>
+      </div>
+      </div>
+      </div>
+      <div class="buttns">
+        <el-button class="buttn"  type="primary" @click="getPdf()">
+            <i class="el-icon-download">{{"\xa0\xa0"}}</i>导出(pdf)
+        </el-button>
+        <el-button class="buttn"  type="primary" v-print="'#pdfDom'" @click="backScan()">
+            <i class="el-icon-printer">{{"\xa0\xa0"}}</i>打印
+        </el-button>
+      </div>
+  </div>
+</template>
+
+<script>
+import table from '@/components/DilCommonUI/packages/table/src/table.vue';
+import PageTitle from "@/components/Page/Title";
+export default {
+  components: { table },
+  components: { PageTitle },
+  name: "Login",
+  data() {
+    return {
+      amsShipDeliveryNameLists:[],
+      attorneyMap:{
+        carrierName:"",
+        materialName: "",
+        resultForeignShipName: "",
+        purchaseOrderMaterialNumber:"",
+        attorneyPickupContactPerson:"",
+        attorneyPickupIdcard:"",
+        attorneyContactTelephone:"",
+        shipperName:"",
+        attorneyTime:"",
+        year:"",
+        month:"",
+        date:"",
+      },
+      htmlTitle: '委托书'
+    };
+  },
+  created(){
+      this.getwts();
+  },
+  methods: {
+      backScan(){
+        this.$router.go(-2);
+      },
+      getwts(){
+        // console.log(this.$route.params.test)
+        this.amsShipDeliveryNameLists=JSON.parse(this.$route.params.test).amsShipDeliveryNameList
+        // this.amsShipDeliveryNameLists = this.$route.params.test;
+        console.log(this.amsShipDeliveryNameLists)
+        for(let i =0;i<this.amsShipDeliveryNameLists.length;i++){
+            this.attorneyMap = this.amsShipDeliveryNameLists[i];
+            this.year=this.attorneyMap.attorneyTime.split('-')[0]
+            this.month=this.attorneyMap.attorneyTime.split('-')[1]
+            this.date=this.attorneyMap.attorneyTime.split('-')[2].split(" ")[0]
+        }
+      }
+      
+  },
+  
+};
+</script>
+
+<style lang="scss" scoped>
+.title{
+    text-align: center;
+    margin-bottom: 30px;
+    .titleText{
+    font-size: 30px;
+    }   
+}
+.buttns{
+    display: flex;
+    flex-wrap: nowrap;
+    margin-top: 20px;
+    margin-left: 900px;
+    .buttn{
+        margin-left: 10px;
+        width: 130px;
+    }
+}
+.tableBody{
+  table, th, td
+  {
+      border: 0px solid black;
+      font-size:20px;
+      margin: auto;
+  }
+  .tablePart1 th{
+      border-top: 1px solid black;
+  }
+  .tablePart2 td,th{
+    border-top: 0px
+  }
+  .tablePart3 td,th{
+    border-top: 0px
+  }
+  .tablePart4 td,th{
+    border-top: 0px
+  }
+  .tablePart5 td,th{
+    border-top: 0px
+  }
+}
+.blank{
+  width: 100%;
+  height: 50px;
+}
+</style>

+ 2 - 1
src/views/appoint/components/ship/cargoResult.vue

@@ -44,7 +44,8 @@ export default {
 
   methods: {
     onclick() {
-      // this.option.requestUrl = "/api/v1/tms/getAmsshipCargoTranferResultList?apiId=66&con=" + this.input;
+      console.log(this.input)
+      this.option.requestUrl = "/api/v1/tms/getAmsshipCargoTranferResultList?apiId=66&con=" + this.input;
     },
     addClick() {
       this.$router.push("/addCargoResult/");

+ 13 - 0
src/views/appoint/components/ship/deliveryAttorney.vue

@@ -137,6 +137,19 @@ export default {
     addClick() {
       this.$router.push("/addDeliveryAttorney/");
     },
+    // 生成提货委托书
+    addPick(){
+      // console.log("enter")
+      // console.log(this.amsShipDeliveryList);
+      let amsShipDeliveryNameList={
+        amsShipDeliveryNameList:this.amsShipDeliveryList
+        
+      }
+      // console.log(amsShipDeliveryNameList)
+      let test = encodeURIComponent(JSON.stringify(amsShipDeliveryNameList))
+      console.log("test   "+test)
+      this.$router.push("/attorneytext/"+test);
+    },
     modifyClick(attorneyId) {
       this.$router.push("/modifyDeliveryAttroney/" + attorneyId);
     },

+ 130 - 6
src/views/appoint/components/ship/modifyCargoResult.vue

@@ -2,11 +2,62 @@
   <!-- 添加货权转移实绩 -->
   <div class="shipTransport">
     <page-title>返回</page-title>
+    <!-- 物资 -->
+      <div class="mofrom">
+        <span class="motext">物资</span>
+        <el-input class="moinput" v-model="materialName" disabled> </el-input>
+        <el-button class="mobutton" type="primary" @click="ondrawer(1)">浏览</el-button>
+      </div>
+      <div class="mofrom">
+        <span class="motext">收货人</span>
+        <el-input class="moinput" v-model="receiver" disabled> </el-input>
+        <el-button class="mobutton" type="primary" @click="ondrawer(3)">浏览</el-button>
+    </div>
     <div class="form">
       <div class="form_box">
           <dil-form :formId="137" v-model="form1"></dil-form>
       </div>        
     </div>
+     <!-- 模态框 -->
+    <el-drawer
+      :visible.sync="drawer"
+      :direction="direction"
+      size="50%"
+    >
+      <el-input
+        placeholder="请输入内容"
+        v-model="input"
+        style="margin-top: 10px; margin-left: 20px; width:250px"
+        clearable
+      >
+      </el-input>
+      <el-button
+        type="primary"
+        class="btn"
+        @click="onclick(a)"
+        style="margin-bottom: 15px"
+      >
+        <i class="el-icon-search"></i>查询
+      </el-button>
+      <div v-show="a == 1">
+        <dilTable
+          v-bind.sync="second"
+          @radio-change="currentRadioChange1"
+        ></dilTable>
+      </div>
+      <div v-show="a == 2">
+        <dilTable
+          v-bind.sync="second1"
+          @radio-change="currentRadioChange2"
+        ></dilTable>
+      </div>
+      <div v-show="a == 3">
+        <dilTable
+          v-bind.sync="second2"
+          @radio-change="currentRadioChange3"
+        ></dilTable>
+      </div>
+    </el-drawer>
     <!-- 确定和取消 -->
     <div class="button_box">
       <el-button @click="onClickCancel">返回</el-button>
@@ -22,23 +73,80 @@ export default {
     data(){
           return {
           form1: {},
+          materialName:"",
+          receiver:"",
+          drawer: false,
+          direction: "rtl",
+          input: "",
+          second: {
+            requestUrl: "/api/v1/uc/queryMaterialByLike?apiId=244",
+            selectionType: "radio",
+            mapList1: [],
+          },
+          second1: {
+            requestUrl: "/api/v1/tms/selectShippeByName?apiId=215",
+            selectionType: "radio",
+            mapList2: [],
+          },
+          second2: {
+            requestUrl: "/api/v1/tms/getGroupList?apiId=217",
+            selectionType: "radio",
+            mapList3: [],
+          },
         }
     },
   mounted() {
     this.information();
   },
   methods: {
+    onclick(a) {
+      console.log(a);
+      if (a == 1) {
+        this.second.requestUrl =
+          "/api/v1/uc/queryMaterialByLike?apiId=244&index=" + this.input;
+      } else if (a == 2) {
+        this.second1.requestUrl =
+          "/api/v1/tms/selectShippeByName?apiId=215&con=" + this.input;
+      } else {
+        this.second2.requestUrl =
+          "/api/v1/tms/getGroupList?apiId=217&con=" + this.input;
+      }
+      
+    },
+    ondrawer(num) {
+      this.drawer = true;
+      this.a = num;
+      // 清空当前输入框中的数据
+      this.input = "";
+    },
+    currentRadioChange1(selection) {
+      (this.second.mapList1 = selection),
+        (this.materialName = selection.materialName);
+    },
+    currentRadioChange2(selection) {
+      (this.second1.mapList2 = selection), (this.cargo = selection.portName);
+    },
+    currentRadioChange3(selection) {
+      (this.second2.mapList3 = selection), (this.receiver = selection.pierName);
+    },
     information() {
       //编辑请车作业
       this.axios
         .post("/api/v1/tms/selectByCargoTranferResultId/" + this.$route.params.cargoTransferResultId)
         .then((res) => {
-          res.data.data.forEach((e) => {
-            this.form1 = e;
-            console.log(e);
-            console.log(this.form1);
-            console.log(this.$route.params.pathId);
-          });
+          console.log("res",res)
+          this.form1 = res.data.data
+          this.materialName = res.data.data.materialName;
+          this.receiver = res.data.data.receiver;
+          // res.data.data.forEach((e) => {
+          //   console.log(e)
+          //   this.form1 = e;
+            // this.materialName = e.materialName;
+            // this.receiver = e.receiver;
+          //   console.log(e);
+          //   console.log(this.form1);
+          //   console.log(this.$route.params.pathId);
+          // });
         });
     },
     // 确认
@@ -76,6 +184,22 @@ export default {
 </script>
 <style lang="scss">
 .shipTransport{
+  .mofrom {
+    display: flex;
+    align-items: center;
+    justify-content: center;
+    margin-top: 5px;
+    margin-bottom: 20px;
+    .motext{
+      width: 70px;
+    }
+    .moinput{
+      width: 250px;
+    }
+    .mobutton{
+      margin-left: 5px;
+    }
+  }
   .form{
     display: flex;
     .form_box{

+ 2 - 0
src/views/appoint/router/index.js

@@ -7,6 +7,7 @@ import main from '@/components/main.vue'
 import addCargoResult from '../components/ship/addCargoResult.vue'
 import addDeliveryAttorney from '../components/ship/addDeliveryAttorney.vue'
 import addDeliveryNotice from '../components/ship/addDeliveryNotice.vue'
+import attorneytext from '../components/ship/attorneytext.vue'
 import cargoResult from '../components/ship/cargoResult.vue'
 import deliveryAttorney from '../components/ship/deliveryAttorney.vue'
 import deliveryNotice from '../components/ship/deliveryNotice.vue'
@@ -78,6 +79,7 @@ const constantRouterMap = [
       {path: 'addCargoResult', name: 'addCargoResult', meta: {code: 'xtpzgl-jggl'}, component: addCargoResult},
       {path: 'addDeliveryAttorney', name: 'addDeliveryAttorney', meta: {code: 'xtpzgl-yhgl'}, component: addDeliveryAttorney},
       {path: 'addDeliveryNotice', name: 'addDeliveryNotice', meta: {code: 'xtpzgl-yhgl'}, component: addDeliveryNotice},
+      {path: 'attorneytext/:test', name: 'attorneytext', meta: {code: 'xtpzgl-yhgl'}, component: attorneytext},
       {path: 'cargoResult', name: 'cargoResult', meta: {code: 'xtpzgl-yhgl'}, component: cargoResult},
       {path: 'deliveryAttorney', name: 'deliveryAttorney', meta: {code: 'xtpzgl-yhgl'}, component: deliveryAttorney},
       {path: 'deliveryNotice', name: 'deliveryNotice', meta: {code: 'xtpzgl-yhgl'}, component: deliveryNotice},

+ 4 - 0
src/views/inward/app.js

@@ -19,6 +19,10 @@ import apollo from '@/config/apolloConfig.js'
 import DilCommonUI from "@/components/DilCommonUI";
 Vue.use(DilCommonUI);
 
+// 导出Excel全局组件
+import tableToExcel from '@/components/exportExcel/exportExcel'
+Vue.use(tableToExcel)
+
 import 'xe-utils' 
 import VXETable from 'vxe-table'
 import 'vxe-table/lib/style.css'

+ 9 - 4
src/views/inward/components/inwardFactory/timeTaskResult.vue

@@ -12,9 +12,13 @@
             <el-button type="primary" class="btn" @click="onclick">
                 <i class="el-icon-search"></i>查询
             </el-button>
+            <!-- excel导出 -->
+            <el-button type="primary" @click="exportData()">
+                <i class="el-icon-download"></i>导出(Excel)
+            </el-button>
         </div>
         <div class="tab">
-            <dilTable v-bind.sync="option" ref="table1">
+            <dilTable v-bind.sync="option"  ref="excelDom">
                 <el-table-column fixed="right" label="操作" width="180">
                 <template slot-scope="scope">
                     <div class="step">
@@ -74,7 +78,8 @@ export default {
             drawer: false,
             direction: 'rtl',
             orderId: 0,
-            stepList:[]
+            stepList:[],
+            tableTitle:'计时统计'
         }
     },
     created(){
@@ -110,12 +115,12 @@ export default {
             this.oldRowCount1 += 1;
         }
         // 切换当前详情表
-        this.$refs.table1.toggleRowExpansion(row);
+        this.$refs.excelDom.toggleRowExpansion(row);
         // 打开前关闭上一个详情表
         if (this.oldRow1 != "") {
             if (this.oldRow1 != row) {
             if (this.oldRowCount1 % 2 === 1) {
-                this.$refs.table1.toggleRowExpansion(this.oldRow1);
+                this.$refs.excelDom.toggleRowExpansion(this.oldRow1);
             } else {
                 this.oldRowCount1 = 1;
             }

+ 52 - 2
src/views/inward/components/truckAppoint/addRequirement2.vue

@@ -29,7 +29,18 @@
       <div class="form-box">
         <dil-form :formId="377" v-model="form"></dil-form>
       </div>
-
+      <!-- 设置装机备注 -->
+      <div class="form-box">
+        <label>装机备注&nbsp;&nbsp;&nbsp;&nbsp;</label>
+        <el-select v-model="installremark" placeholder="装机必填">
+          <el-option
+            v-for="item in options6"
+            :key="item.value"
+            :label="item.label"
+            :value="item.value">
+          </el-option>
+        </el-select>
+      </div>
       <div class="DueTime">
         <el-form :inline="true" style="margin-top: 0.5rem;">
           <el-form-item>
@@ -298,6 +309,32 @@ export default {
     return {
       aaadrawer:false,
       disabled:false,
+      options6: [{
+          value: '焦化',
+          label: '焦化'
+        }, {
+          value: '污粉',
+          label: '污粉'
+        }, {
+          value: '喷煤',
+          label: '喷煤'
+        }, {
+          value: '溶剂',
+          label: '溶剂'
+        }, {
+          value: '配料',
+          label: '配料'
+        }, {
+          value: '二次',
+          label: '二次'
+        }, {
+          value: '原料',
+          label: '原料'
+        }, {
+          value: '烧结矿',
+          label: '烧结矿'
+        }],
+        installremark: '',
       options: [],
       value: '',
       isOpenDueTime : true,
@@ -359,6 +396,7 @@ export default {
       form: {},
       capacityTypeId: "",
       capacityTypeName:"",
+      whether:"",
       materialTable: {
         requestUrl: "",
         selectionType: "select",
@@ -560,7 +598,8 @@ export default {
     selectionChange1(radio){
       console.log(radio)
       this.capacityTypeName  = radio.capacityTypeName,
-      this.capacityTypeId = radio.capacityTypeId
+      this.capacityTypeId = radio.capacityTypeId,
+      this.whether = radio.whether
     },
     currentRadioChange2(selection) {
       console.log(selection);
@@ -582,6 +621,15 @@ export default {
     // 新增
     makeSure() {
       console.log(this.form.isMineral)
+      // 判断当前装机是否选择了装机必填
+      console.log("进来了")
+      console.log(this.whether)
+      console.log(this.installremark)
+      if(this.whether == 2&&this.installremark==""){
+        console.log("确实进来了")
+        this.$message.warning("请选择装机必填")
+        return
+      }
       this.disabled = true
       if(this.shipperId == null){
         this.$message.error("请选择用车单位")
@@ -665,6 +713,8 @@ export default {
         requirementWorkType: this.form.requirementWorkType,
         requirementShipperId: this.shipperId,
         rangeId:this.form.transRange,
+        // 装机备注
+        installremark:this.installremark,
         // 用车截日期
         DueTime:DueTime,
         // 用车类型Id

+ 1 - 1
src/views/inward/components/truckAppoint/requirementOther.vue

@@ -204,7 +204,7 @@ export default {
           this.$message.warning("请选择联系炼铁厂相关负责人完成计时作业下发")
           return
         }
-      }                              
+      }
       this.$confirm("是否下发", "提示", {
         confirmButtonText: "确定",
         cancelButtonText: "取消",

+ 27 - 5
src/views/sale/components/saleSelfMachine/printLading.vue

@@ -70,12 +70,17 @@
         </table>
       </div>
       </div>
-      <el-button style="margin-left: 45%;" type="primary" @click="getPdf()">
+      <!-- <el-button style="margin-left: 45%;" type="primary" @click="getPdf()">
         <i class="el-icon-download"></i>导出(pdf)
-      </el-button>
-      <el-button style="margin-left: 45%;margin-top: 0.2%;" type="primary" v-print="'#pdfDom'" @click="backScan()">
-        <i class="el-icon-printer"></i>打印
-      </el-button>
+      </el-button> -->
+      <div class="button-box">
+        <el-button type="primary" v-print="'#pdfDom'" @click="backScan()">
+          <i class="el-icon-printer"></i>打印
+        </el-button>
+        <el-button type="primary" @click="backScan()">
+          <i class="el-icon-back"></i>返回
+        </el-button>
+      </div>
   </div>
 </template>
 
@@ -107,6 +112,15 @@ export default {
   created(){
       this.getBillOrder();
   },
+  mounted() {
+    //三十秒不操作,自动返回扫码页面
+    const timer = setInterval(()=>{
+        this.backScan();
+    },30000)
+    this.$once('hook:beforeDestroy', ()=>{
+        clearInterval(timer)
+    })
+  },
   methods: {
       getBillOrder(){
         let orderNumber = this.$route.query.orderNumber;
@@ -157,4 +171,12 @@ export default {
   width: 100%;
   height: 50px;
 }
+.button-box{
+  display: flex;
+  text-align: center;
+  align-items: center;
+  justify-content: center;
+  margin-top: 0.3125rem;
+  margin-bottom: 1.25rem;
+}
 </style>

+ 27 - 5
src/views/sale/components/saleSelfMachine/printReceipt.vue

@@ -86,12 +86,17 @@
         </table>
       </div>
       </div>
-      <el-button style="margin-left: 45%;" type="primary" @click="getPdf()">
+      <!-- <el-button style="margin-left: 45%;" type="primary" @click="getPdf()">
         <i class="el-icon-download"></i>导出(pdf)
-      </el-button>
-      <el-button style="margin-left: 45%;margin-top: 0.2%;" type="primary" v-print="'#pdfDom'" @click="backScan()">
-        <i class="el-icon-printer"></i>打印
-      </el-button>
+      </el-button> -->
+      <div class="button-box">
+        <el-button type="primary" v-print="'#pdfDom'" @click="backScan()">
+          <i class="el-icon-printer"></i>打印
+        </el-button>
+        <el-button type="primary" @click="backScan()">
+          <i class="el-icon-back"></i>返回
+        </el-button>
+      </div>
   </div>
 </template>
 
@@ -136,6 +141,15 @@ export default {
   created(){
       this.getDeliveryOrder();
   },
+  mounted() {
+    //三十秒不操作,自动返回扫码页面
+    const timer = setInterval(()=>{
+        this.backScan();
+    },30000)
+    this.$once('hook:beforeDestroy', ()=>{
+        clearInterval(timer)
+    })
+  },
   methods: {
       getDeliveryOrder(){
         let orderNumber = this.$route.query.orderNumber;
@@ -192,4 +206,12 @@ export default {
   width: 100%;
   height: 50px;
 }
+.button-box{
+  display: flex;
+  text-align: center;
+  align-items: center;
+  justify-content: center;
+  margin-top: 0.3125rem;
+  margin-bottom: 1.25rem;
+}
 </style>

+ 1 - 2
src/views/sale/components/saleSelfMachine/printScan.vue

@@ -76,13 +76,12 @@ export default {
             overflow: hidden;
         }
         .orderNumberData{
-            width: 20%;height: 30%;
+            width: 100%;
             color: #fff;
             position: absolute;
             display: flex;
             justify-content: center;
             align-items: center;
-            margin-left: 27rem;
         }
     }
 </style>

+ 37 - 13
src/views/sale/components/saleSelfMachine/printWarranty.vue

@@ -6,10 +6,14 @@
        style="width: 100%">
       </el-table>
      </div>  -->
-     <div class="loading"  v-if="urls.length==0"></div>
+     <div class="loading"  v-if="urls.length==0&&status==0"></div>
+     <div v-if="status==-2">
+       <h1>该车还未装货!</h1>
+     </div>
+     <div v-if="status==-1">
+       <h1>质保书正在紧张制作中,请耐心等待!</h1>
+     </div>
       <div id="pdfDom">
-      <div class="blank">
-      </div>
     <div class="demo-image__lazy" v-for="(img,index) in urls" :key="index">
        <!-- <el-image v-for="(img,index) in urls" :key="index" :src="img" lazy></el-image> -->
        <el-image   style='width: 100%; height: 100%; justify-content: center;
@@ -19,9 +23,14 @@
       <!-- <el-button style="margin-left: 45%;" type="primary" @click="getPdf()">
         <i class="el-icon-download"></i>导出(pdf)
       </el-button> -->
-      <el-button style="margin-left: 45%;margin-top: 0.2%;" type="primary" v-print="'#pdfDom'" @click="backScan()">
-        <i class="el-icon-printer"></i>打印
-      </el-button>
+      <div class="button-box">
+        <el-button v-if="urls.length>0&&status==0" type="primary" v-print="'#pdfDom'" @click="backScan()">
+          <i class="el-icon-printer"></i>打印
+        </el-button>
+        <el-button type="primary" @click="backScan()">
+          <i class="el-icon-back"></i>返回
+        </el-button>
+      </div>
   </div>
 </template>
 
@@ -33,11 +42,20 @@ export default {
   data() {
     return {
       urls:[],
+      //定义质保书正在紧张制作中、未装货和打印中的状态
+      status:0,
       name: 'Loading'
     };
   }, 
   mounted() {
     this.information();
+    //三十秒不操作,自动返回扫码页面
+    const timer = setInterval(()=>{
+        this.backScan();
+    },30000)
+    this.$once('hook:beforeDestroy', ()=>{
+        clearInterval(timer)
+    })
   },
   methods: {
      information() {
@@ -48,15 +66,17 @@ export default {
           "/api/v1/uc/getWarranty?orderNumber="+this.$route.query.orderNumber 
         )
         .then((res) => {
-          console.log("res.data.data",res.data.data)
-          console.log("res.data.code",res.data.code)  
+          // console.log("res.data.data",res.data.data)
+          // console.log("res.data.code",res.data.code)  
           if(res.data.data==-1){
             this.$message("质保书正在紧张制作中,请耐心等待!")
+            this.status = -1;
           }else if(res.data.data==-2) {
             this.$message("该车还未装货")
+            this.status = -2;
           }else{
             res.data.data.forEach((e) => {
-              console.log(e)
+              // console.log(e)
               this.urls.push(e)
           
             })
@@ -103,10 +123,6 @@ export default {
     border-top: 0px
   }
 }
-.blank{
-  width: 100%;
-  height: 50px;
-}
 .loading {
   position: fixed;
   left: 0;
@@ -116,4 +132,12 @@ export default {
   height: 100vh;
   z-index: 1000;
 }
+.button-box{
+  display: flex;
+  text-align: center;
+  align-items: center;
+  justify-content: center;
+  margin-top: 0.3125rem;
+  margin-bottom: 1.25rem;
+}
 </style>

+ 21 - 11
src/views/sale/components/saleSelfMachine/saleSelfMachine.vue

@@ -3,9 +3,9 @@
         <div class="background">
             <img :src="backgroundImgURL" width="100%" height="100%"/>
         </div>
-        <div class="time">
+        <!-- <div class="time">
             <span>{{nowTime}}</span>
-        </div>
+        </div> -->
         <div class="loginForm">
             <div class="menu" v-for="(item,index) in menuList" :key="index" @click="onClick(item.url)">
                 <img :src="item.img" width="100%" height="100%"/>
@@ -40,20 +40,30 @@ export default {
             this.$router.push({
                 path:url+"?orderNumber="+this.orderNumber,
             })
-        }
+        },
+        backScan(){
+        this.$router.go(-1);
+    }
     },
     mounted() {
         this.orderNumber=this.$route.query.orderNumber;
         let _this = this; // 声明一个变量指向Vue实例this,保证作用域一致
-        this.timer = setInterval(() => {
-        _this.nowTime = renderTime(new Date()); // 修改数据date
-        }, 1000)
+        //三十秒不操作,自动返回扫码页面
+        const timer = setInterval(()=>{
+            this.backScan();
+        },30000)
+        this.$once('hook:beforeDestroy', ()=>{
+            clearInterval(timer)
+        })
+        // this.timer = setInterval(() => {
+        // _this.nowTime = renderTime(new Date()); // 修改数据date
+        // }, 1000)
     },
-    beforeDestroy() {
-        if (this.timer) {
-        clearInterval(this.timer); // 在Vue实例销毁前,清除我们的定时器
-        }
-    }
+    // beforeDestroy() {
+    //     if (this.timer) {
+    //     clearInterval(this.timer); // 在Vue实例销毁前,清除我们的定时器
+    //     }
+    // }
 }
 </script>
 <style lang="scss">

+ 31 - 16
src/views/sale/components/transport_excute/tms-offsite/arrivalResult.vue

@@ -31,19 +31,23 @@
     </div>
     <div class="table">
       <dilTable ref="excelDom" v-bind.sync="option" @func="func">
-        <el-table-column fixed="right" label="操作" width="100">
-          <template slot-scope="scope">
-             <el-button
-              type="text"
-              size="mini"
-              @click="photo(scope)"
-            >
-              满货箱照片
-            </el-button>
-          </template>
-        </el-table-column>
+          <el-table-column fixed="right" label="照片游览" width="120">
+          <template slot-scope="scope">
+            <el-button @click="toPhotoClick(scope.row.orderNumber)" type="text" size="small" style="font-size: 6px">
+                抵达满货照片</el-button>
+          </template>
+      </el-table-column>
       </dilTable>
     </div>
+     <vxe-modal width="549px" height="731px" v-model="isShow" show-footer>
+        <div class="demo-image__preview">
+          <el-image 
+            style=" height:731px;text-align:center"
+            :src="src" 
+            :preview-src-list="srcList">
+          </el-image>
+        </div>
+      </vxe-modal>
   </div>
 </template>
 
@@ -54,6 +58,9 @@ export default {
   data() {
     return {
       restaurants: [],
+       tsrcList:[],
+       src:"",
+       isShow:false,
       input: "",
       startTime: null,
       endTime: null,
@@ -67,13 +74,21 @@ export default {
    
   },
   methods: {
-    photo(scope){
-      console.log(scope.row.orderNumber)
-     this.axios
-       .post("/api/v1/tms/getReceiptPhoto?orderNumber="+scope.row.orderNumber)
+     toPhotoClick(orderNumber){
+    
+      this.axios
+       .post("/api/v1/tms/getReceiptPhoto?orderNumber="+orderNumber)
        .then((res)=>{
-         console.log("res.data.data",res.data.data)
+          this.srcList=[];
+          this.src=res.data.data;
+          this.isShow=true;
+          this.srcList.push(res.data.data);
        });
+       
+    },
+    photo(scope){
+      console.log(scope.row.orderNumber)
+    
     },
     onclick() {
       let startTime = null;

+ 112 - 123
src/views/sale/components/transport_excute/tms-offsite/receiptResult.vue

@@ -1,145 +1,134 @@
 <template>
-  <!-- 收货实绩信息页面 -->
-  <div class="receiptResult">
-  <div class="top">
-    <el-form :inline="true" style="margin-top: 0.5rem;">
-        <el-form-item>
-          <label class="el-form-item__label" style="width: auto;">时间段</label>
-         <el-date-picker
-      v-model="dateValue"
-      type="daterange"
-      range-separator="至"
-      start-placeholder="开始日期"
-      end-placeholder="结束日期">
-    </el-date-picker>
-        </el-form-item>
-        <el-form-item>
-      <label class="el-form-item__label" style="width: auto;">产品分类</label>
-      <el-autocomplete
-        popper-class="my-autocomplete"
-        v-model="inputValue"
-        :fetch-suggestions="querySearch"
-        placeholder="请输入内容" 
+  <!-- 收货页面 -->
+   <div class="purchasFuelNewMonitor">
+    <div class="frameCalculation">
+      <span>收货时间:</span>
+      <el-date-picker
+        v-model="startTime"
+        type="datetime"
+        placeholder="选择日期"
       >
-        <i class="el-icon-edit el-input__icon" slot="suffix"> </i>
-      </el-autocomplete>
-        </el-form-item>
-        <el-form-item>
-      <label class="el-form-item__label" style="width: auto;margin-top: 0.4rem;">车牌号</label>
-      </el-form-item>
-      <el-form-item>
-          <el-input class="el-form-item__content" v-model="capacityNumber1" placeholder="请输入内容"></el-input>
-      </el-form-item>
-      <el-form-item>
-          <label class="el-form-item__label" style="width: auto;margin-top: 0.4rem;">收货单位</label>
-      </el-form-item>
-      <el-form-item>
-          <el-input v-model="consigneeCompanyName1" placeholder="请输入内容"></el-input>
-      </el-form-item>
-        <el-form-item>
-          <el-button type="primary" @click="onSearch"><i class="el-icon-search"></i>查询</el-button>
-        </el-form-item>
-      </el-form>
-  </div>
-
-    <dilTable ref="tab" v-bind.sync="option">
-      <el-table-column fixed="right" label="照片浏览" width="400">
-        <template slot-scope="scope">
-          <el-button @click="toPhotoClick1(scope.row.resultEmptyContainerPhoto)" type="text" size="small" style="font-size: 17px"
-            >空货箱</el-button
-          >
-          <el-button @click="toPhotoClick2(scope.row.resultSignedNotePhoto)" type="text" size="small" style="font-size: 17px"
-            >签字送货单</el-button
-          >
-          <el-button @click="toPhotoClick3(scope.row.resultReceiveNotePhoto)" type="text" size="small" style="font-size: 17px"
-            >客户签收单</el-button
-          >
-          <el-button @click="toPhotoClick4(scope.row)" type="text" size="small" style="font-size: 17px"
-            >其他</el-button
-          >
-        </template>
-      </el-table-column>
-    </dilTable>
+      </el-date-picker>
+      <span>至</span>
+      <el-date-picker
+        v-model="endTime"
+        type="datetime"
+        placeholder="选择日期"
+      >
+      </el-date-picker>
+        <el-input
+        placeholder="请输入内容"
+        v-model="input"
+        clearable>
+      </el-input>
+      <el-button type="primary" class="btn" @click="onclick">
+        <i class="el-icon-search"></i>查询
+      </el-button>
+      <el-button type="primary" @click="exportData()"><i class="el-icon-download"></i>导出(Excel)</el-button>
+      <el-button type="primary" @click="refresh">
+        <i class="el-icon-refresh"></i>刷新
+      </el-button>
+    </div>
+    <div class="table">
+      <dilTable ref="excelDom" v-bind.sync="option" @func="func">
+       <el-table-column fixed="right" label="照片游览" width="120">
+          <template slot-scope="scope">
+            <el-button @click="toPhotoClick(scope.row.orderNumber)" type="text" size="small" style="font-size: 6px">
+                抵达满货照片</el-button>
+          </template>
+      </el-table-column>
+      </dilTable>
+    </div>
+    <vxe-modal width="549px" height="731px" v-model="isShow" show-footer>
+        <div class="demo-image__preview">
+          <el-image 
+            style=" height:731px;text-align:center"
+            :src="src" 
+            :preview-src-list="srcList">
+          </el-image>
+        </div>
+      </vxe-modal>
   </div>
 </template>
 
-
 <script>
-
+import { sjTime } from '@/utils/sharedJsFile';
 export default {
-  name: "receiptResult",
+  name: "homeworkPath",
   data() {
     return {
-      dateValue:[new Date(), new Date()],
-      inputValue:"",
-      capacityNumber1:"",
-      consigneeCompanyName1:"",
-      status: "",
-      state: "",
-      option: {       
+      restaurants: [],
+      input: "",
+      srcList:[],
+       src:"",
+       isShow:false,
+      startTime: null,
+      endTime: null,
+      option: {
         // 表格请求数据的地址
-        requestUrl: "/api/v1/tms/getReceiptResult?apiId=137",
+        requestUrl: "/api/v1/tms/getReceiptResult?apiId=470",
       },
     };
   },
-  mounted() {
-    this.restaurants = this.loadAll();
+  created(){
+   
   },
   methods: {
-    querySearch(queryString, cb) {
-      var restaurants = this.restaurants;
-      var results = queryString
-        ? restaurants.filter(this.createFilter(queryString))
-        : restaurants;
-      cb(results);
-    },
-    createFilter(queryString) {
-      return (restaurant) => {
-        return (
-          restaurant.value.toLowerCase().indexOf(queryString.toLowerCase()) ===
-          0
-        );
-      };
-    },
-    loadAll() {
-      return [
-        { value: "带钢"},
-        { value: "微粉"},
-        { value: "螺纹钢"},
-        { value: "钢坯"},
-        { value: "其他"},
-      ];
-    },
-
-
-    onSearch(){
-      //改变查询条件
-      this.$refs.tab.setDataRequestQuery({"startTime":sjTime(this.dateValue[0]),
-                      "endTime": sjTime(this.dateValue[1]),
-                      "productClassification": this.inputValue,
-                      "capacityNumber1": this.capacityNumber1,
-                      "consigneeCompanyName1": this.consigneeCompanyName1});                         
-    },
-
-    toPhotoClick1(resultEmptyContainerPhoto){
-      this.$router.push("/receiptPhoto?photo="+resultEmptyContainerPhoto);
-    },
-    toPhotoClick2(resultSignedNotePhoto){
-      this.$router.push("/receiptPhoto?photo="+resultSignedNotePhoto);
-    },
-    toPhotoClick3(resultReceiveNotePhoto){
-      this.$router.push("/receiptPhoto?photo="+resultReceiveNotePhoto);
-    },
-    toPhotoClick4(row){
-      this.$router.push("/receiptChildPhoto?photo1="+row.otherPhoto1+"&photo2="+row.otherPhoto2+"&photo3="+row.otherPhoto3);
-    }
+     toPhotoClick(orderNumber){
+      console.log(orderNumber)
+      this.axios
+       .post("/api/v1/tms/getReceivingPhoto?orderNumber="+orderNumber)
+       .then((res)=>{
+         console.log(res)
+          this.srcList=[];
+          this.src=res.data.data.resultSignedNotePhoto;
+          this.isShow=true;
+          this.srcList.push(res.data.data.resultSignedNotePhoto);
+          this.srcList.push(res.data.data.resultEmptyContainerPhoto);
+          
+       });
+       
+    },
+    onclick() {
+      let startTime = null;
+      let endTime = null;
+      if(this.startTime){
+        startTime = sjTime(this.startTime);
+      }
+      if(this.endTime){
+        endTime = sjTime(this.endTime);
+      }
+      if(startTime && endTime){
+        if(startTime < endTime){
+          this.option.requestUrl = '/api/v1/tms/getReceiptResult?apiId=471' + "&startTime=" + startTime + "&endTime=" + endTime + "&i=" +new Date()+"&con="+this.input; 
+        }else{
+          this.startTime = null;
+          this.endTime = null;
+          this.$message.warning('开始时间要比结束时间早')
+        }
+      }else{
+        console.log(startTime && endTime)
+         this.option.requestUrl = '/api/v1/tms/getReceivingResult?apiId=471' + "&startTime=" + startTime + "&endTime=" + endTime + "&i=" +new Date()+"&con="+this.input; 
+      }
     },
+   }
 };
 </script>
 <style lang='scss' scoped>
-.homeworkPath {
-  .top {
-    padding: 20px 30px;
+.purchasFuelNewMonitor {
+  .frameCalculation {
+    width: 100%;
+    height: 100px;
+    display: flex;
+    align-items: center;
+    padding-left: 50px;
+    .el-date-editor{
+      margin: 20px;
+    }
+    .el-input {
+      width: 20%;
+      margin-right: 1.25rem;
+    }
   }
 }
 </style>

+ 3 - 2
src/views/statisticalReport/components/Ship_dynamic_table.vue

@@ -124,8 +124,9 @@ export default {
   },
   methods: {
     initialization() {
-      this.$axios.post("/api/v1/tms/selectAll").then((res) => {
-        console.log(res.data.data)
+      this.axios.post("/api/v1/tms/selectAllShipDynamaics")
+      .then((res) => {
+        console.log(res)
         this.tableData = res.data.data;
       });
     },

+ 0 - 2
src/views/statisticalReport/router/index.js

@@ -18,7 +18,6 @@ import purchaseChemicalMaterialsOld from '../components/purchaseChemicalMaterial
 import purInwardReport from '../components/inwardReport/putInwardReport.vue'
 import inwardFactory from '../components/inwardReport/inwardFactory.vue'
 import getLoading from '../components/inwardReport/getLoading.vue'
-import getInstall from '../components/inwardReport/getInstall.vue'
 import getUnLoading from '../components/inwardReport/getUnLoading.vue'
 import purchaseMineral from '../components/purachaseMineral.vue'
 import inwardSporadicReport from '../components/sporadicReport/inwardSporadicReport.vue'
@@ -47,7 +46,6 @@ const constantRouterMap = [
       {path: 'purInwardReport', name: 'purInwardReport', meta: {code: 'xtpzgl-yhgl'}, component: purInwardReport},
       {path: 'inwardFactory', name: 'inwardFactory', meta: {code: 'xtpzgl-yhgl'}, component: inwardFactory},
       {path: 'getLoading', name: 'getLoading', meta: {code: 'xtpzgl-yhgl'}, component: getLoading},
-      {path: 'getInstall', name: 'getInstall', meta: {code: 'xtpzgl-yhgl'}, component: getInstall},
       {path: 'getUnLoading', name: 'getUnLoading', meta: {code: 'xtpzgl-yhgl'}, component: getUnLoading},
       {path: 'purchaseMineral', name: 'purchaseMineral', meta: {code: 'xtpzgl-yhgl'}, component: purchaseMineral},
       {path: 'inwardSporadicReport', name: 'inwardSporadicReport', meta: {code: 'xtpzgl-yhgl'}, component: inwardSporadicReport},