luobang 2 年之前
父節點
當前提交
d236c25c61
共有 37 個文件被更改,包括 1685 次插入440 次删除
  1. 4 0
      build/utils.js
  2. 1 1
      config/index.js
  3. 二進制
      src/assets/img/map_site.png
  4. 1 4
      src/views/RMS/components/addPort.vue
  5. 3 0
      src/views/TMS/app.js
  6. 0 1
      src/views/TMS/components/domesticMine/approveWagonPleaseAdd.vue
  7. 3 3
      src/views/TMS/components/domesticMine/entrustMine.vue
  8. 37 39
      src/views/TMS/components/domesticMine/wagonLoadAdd.vue
  9. 1 1
      src/views/TMS/components/domesticMine/wagonLoadbu.vue
  10. 123 4
      src/views/TMS/components/domesticMine/wagonUnLoadAdd.vue
  11. 333 123
      src/views/TMS/components/importedEmergency/addWagonLoadEmergency.vue
  12. 125 5
      src/views/TMS/components/importedEmergency/addWagonUnLoadEmergency.vue
  13. 3 3
      src/views/TMS/components/importedEmergency/entrustEmergency.vue
  14. 271 68
      src/views/TMS/components/importedMine/addWagonLoad.vue
  15. 125 4
      src/views/TMS/components/importedMine/addWagonUnLoad.vue
  16. 2 2
      src/views/TMS/components/importedMine/entrust.vue
  17. 2 0
      src/views/TMS/components/importedShip/addBargeShip.vue
  18. 30 8
      src/views/TMS/components/importedShip/addShipmentInstructions.vue
  19. 0 1
      src/views/TMS/components/importedShip/addUnloadShip.vue
  20. 15 13
      src/views/TMS/components/importedShip/instructionsCapacity.vue
  21. 1 1
      src/views/TMS/components/importedShip/loadShip.vue
  22. 3 3
      src/views/TMS/components/importedShip/shipLocation.vue
  23. 292 0
      src/views/TMS/components/importedShip/shipmentInstructionText.vue
  24. 62 14
      src/views/TMS/components/importedShip/shipmentInstructions.vue
  25. 30 39
      src/views/TMS/components/importedShip/updateBargeShip.vue
  26. 2 1
      src/views/TMS/router/index.js
  27. 27 14
      src/views/appoint/components/ship/addDeliveryAttorney.vue
  28. 1 1
      src/views/appoint/components/ship/addDeliveryNotice.vue
  29. 78 44
      src/views/appoint/components/ship/attorneytext.vue
  30. 15 2
      src/views/appoint/components/ship/deliveryAttorney.vue
  31. 16 1
      src/views/appoint/components/ship/deliveryNotice.vue
  32. 1 0
      src/views/sale/components/offSiteTransportation/checkGPS.vue
  33. 55 34
      src/views/sale/components/offSiteTransportation/currentLocation.vue
  34. 1 1
      src/views/sale/components/offSiteTransportation/transportationPerformance.vue
  35. 5 1
      src/views/sale/components/transport_excute/tms-offsite/receiptResult.vue
  36. 4 0
      src/views/statisticalReport/components/Ship_dynamic_table.vue
  37. 13 4
      src/views/statisticalReport/components/tableItem.vue

+ 4 - 0
build/utils.js

@@ -15,11 +15,15 @@ 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','appoint','sale','statisticalReport','RMS','TMS','WMS']
 // let devModules = ["index", "ADMINISTRATORS", "RMS"];
 // let devModules = ["index", "inward", "statisticalReport"];
+
 // let devModules = ['index','statisticalReport','inward']
+
 if (pathSrc.indexOf("node_modules") > -1) {
   devModules = require("../../../cors.js").devModules;
 }

+ 1 - 1
config/index.js

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

二進制
src/assets/img/map_site.png


+ 1 - 4
src/views/RMS/components/addPort.vue

@@ -26,10 +26,7 @@ export default {
   mounted() {},
   methods: {
     makeSure() {
-      console.log(this.form1);
-      //   let RmsCapacity = {
-
-      //   };
+  
       let RmsCapacity = this.form1;
       console.log(RmsCapacity);
       if (RmsCapacity.portName == null || RmsCapacity.portTypeId == null)

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

@@ -21,9 +21,12 @@ Vue.config.productionTip = false;
 
 // 注册表格的全局组件
 import DilCommonUI from "@/components/DilCommonUI";
+
 Vue.use(DilCommonUI);
 
 Vue.use(VueApollo)
+import htmlToPdf from "@/components/exportPdf/exportPdf";
+Vue.use(htmlToPdf);
 
 const apolloProvider = new VueApollo({
     defaultClient: apollo

+ 0 - 1
src/views/TMS/components/domesticMine/approveWagonPleaseAdd.vue

@@ -110,7 +110,6 @@ export default {
 };
 </script>
 <style lang="scss">
-// @import "@/styles/appoint/contract/ContractInsert.scss";
 #trainTransport {
   .form {
     display: flex;

+ 3 - 3
src/views/TMS/components/domesticMine/entrustMine.vue

@@ -12,9 +12,9 @@
       <el-button type="primary" class="btn" @click="onclick">
         <i class="el-icon-search"></i>查询
       </el-button>
-      <el-button type="primary" class="btn1" @click="btnclick(0)">
+      <!-- <el-button type="primary" class="btn1" @click="btnclick(0)">
         <i class="el-icon-success"></i>发送
-      </el-button>
+      </el-button> -->
     </div>
     <dilTable v-bind.sync="option" @selection-change="selectionChange">
     </dilTable>
@@ -39,7 +39,7 @@ export default {
   methods: {
     onclick() {
       this.option.requestUrl =
-        "/api/v1/tms/getLoadResultToSendMC?apiId=209&resultType=1&con=" +
+        "/api/v1/tms/getLoadResultToSendMC?apiId=209&resultType=3&con=" +
         this.input;
     },
 

+ 37 - 39
src/views/TMS/components/domesticMine/wagonLoadAdd.vue

@@ -14,22 +14,7 @@
           <el-button  type="primary">导入</el-button>
       </el-upload>
       <span >当前导入数量:{{tableData.length}}</span>
-      <!-- <el-input
-        placeholder="请输入内容"
-        v-model="input"
-        @change="onchang"
-        clearable
-      >
-      </el-input> -->
     </div>
-    <!-- <div class="cpList">
-      <div class="list">
-        <div class="cpList1" v-for="(item, i) in list" :key="i">
-          {{ item }}
-          <i class="el-icon-close itu" @click="onclick(i)"></i>
-        </div>
-      </div>
-    </div> -->
     <div class="table item">
       <el-table
         stripe
@@ -71,14 +56,14 @@
         <el-table-column
         align="center"
           prop="sendStation"
-          label="火车发站"
+          label="发站"
           width="180px">
         </el-table-column>
         <el-table-column
         align="center"
         width="180px"
           prop="arrivalStation"
-          label="火车到站">
+          label="到站">
         </el-table-column>
          <el-table-column
          align="center"
@@ -140,24 +125,9 @@
           </el-autocomplete>
         </el-form-item>
       </el-form> -->
-      <el-form :inline="true" class="demo-form-inline" label-width="80px" style="margin-left:500px;margin-top:30px">
-        <el-form-item label="到站:">
-          <el-autocomplete
-            class="inline-input"
-            v-model="toTheStation"
-            :fetch-suggestions="querySearchToTheStation"
-            placeholder="请输入到站名称"
-            :trigger-on-focus="false"
-            @select="handleSelectToTheStation"
-          >
-            <template slot-scope="{ item }">
-              <div class="name">{{ item.arrivalName }}</div>
-            </template>
-          </el-autocomplete>
-        </el-form-item>
-      </el-form>
+      
     </div>
-    <div class="remark from" v-if="matching">
+    <!-- <div class="remark from" v-if="matching">
       <span class="text">船名/备注:</span>
       <el-input
         v-model="remark"
@@ -176,16 +146,34 @@
       >
       </el-input>
       <span class="span"></span>
-    </div>
+    </div> -->
     <div class="form">
-      <div class="form_box" style="margin-right: 10rem">
+      <div class="form_box" style="margin-right: 10rem;margin-top:20px">
+        <el-form>
+          <div class="preview-group">
+              <el-form-item label="到站:">
+                <el-autocomplete
+                  class="inline-input"
+                  v-model="toTheStation"
+                  :fetch-suggestions="querySearchToTheStation"
+                  placeholder="请输入到站名称"
+                  :trigger-on-focus="false"
+                  @select="handleSelectToTheStation"
+                >
+                  <template slot-scope="{ item }">
+                    <div class="name">{{ item.arrivalName }}</div>
+                  </template>
+                </el-autocomplete>
+              </el-form-item>
+          </div>
+        </el-form>
         <dil-form :formId="364" v-model="form1" ref="from1"></dil-form>
       </div>
     </div>
 
     <div class="button_box">
       <el-button @click="cancel">取消</el-button>
-      <el-button type="primary" @click="makeSure">确定</el-button>
+      <el-button type="primary" :disabled="disable"  @click="makeSure">确定</el-button>
     </div>
     <!-- 模态窗口 -->
     <el-drawer :visible.sync="drawer" :direction="direction" size="30%">
@@ -232,6 +220,7 @@ export default {
   components: { PageTitle },
   data() {
     return {
+      disable:true,
       file:null,
       list: [],
       form1: {},
@@ -501,6 +490,7 @@ export default {
     },
     // 确定
     makeSure() {
+      this.disable=true;
       let that=this;
       if (this.tableData.length <= 0  || !this.toTheStationId || this.form1.resultLoadingDate){
         if (this.tableData.length <= 0) {
@@ -509,6 +499,7 @@ export default {
             message: "请导入数据!",
           });
         } else {
+            this.disable=false;
             if (this.toTheStationId) {
               if (this.form1.resultLoadingDate) {
               } else {
@@ -577,10 +568,11 @@ export default {
           console.log(rows);
           //清空
           if(rows.length>0){
+            that.disable=false;
             that.tableData=[];
             if((typeof rows[0]['车号'])=='undefined'){
               that.$message({
-                message: "导入Excel格式错误!",
+                message: "导入Excel格式错误,请参考下方表头格式!",
                 type: "warning",
               });
               return;
@@ -589,7 +581,7 @@ export default {
           //绑定数据
           rows.forEach((row,index) => {
             let carNumber=row['车号'];
-            if((typeof carNumber)!="undefined" && carNumber.length > 6){
+            if((typeof carNumber)!="undefined" && carNumber.length == 7){
               //表格数据
               let temp={
                 number:row['序号'],
@@ -601,6 +593,12 @@ export default {
                 wagonNo:row['车号'],
                 weight:row['标重']
               }
+              if(typeof temp.materialName=='undefined' || temp.materialName==null){
+                temp.materialName=row['品名'];
+              }
+              if(typeof temp.materialName=='undefined' || temp.materialName==null){
+                temp.materialName=row['物资'];
+              }
               that.tableData.push(temp);
             }
             else{

+ 1 - 1
src/views/TMS/components/domesticMine/wagonLoadbu.vue

@@ -40,7 +40,7 @@
         v-bind.sync="purchaseOption"
         @radio-change="orderChange"
       ></dilTable>
-    </div>
+      </div>
     <!-- <div class="material form">
       <span class="text">物资:</span>
       <el-input v-model="materialName" disabled> </el-input>

+ 123 - 4
src/views/TMS/components/domesticMine/wagonUnLoadAdd.vue

@@ -6,6 +6,42 @@
       <el-divider content-position="left"></el-divider>
     </div>
     <div>
+      <div class="search" style="display:flex">
+        <div style="margin-top: 18px;margin-left:10px">
+          <el-label>车皮号:</el-label>
+        </div>
+        <el-input
+        placeholder="请输入"
+        v-model="wagon"
+        style="margin: 10px; width:10%"
+        clearable
+        ></el-input>
+        <div style="margin-top: 18px;margin-left:10px">
+          <el-label>订单号:</el-label>
+        </div>
+        <el-input
+        placeholder="请输入"
+        v-model="purchaseOrderNum"
+        style="margin: 10px; width:10%"
+        clearable
+        ></el-input>
+        <div style="margin-top: 18px;margin-left:10px">
+          <el-label>物资名:</el-label>
+        </div>
+        <el-input
+          placeholder="请输入"
+          v-model="materialName"
+          style="margin: 10px;width:10%"
+          clearable
+        ></el-input>
+      <el-button
+        type="primary"
+        class="btn"
+        @click="searchOrder()"
+        style="margin: 10px;">
+        <i class="el-icon-search"></i>查询
+      </el-button>
+      </div>
       <dilTable
         v-bind.sync="option"
         ref="table"
@@ -13,7 +49,11 @@
       >
       </dilTable>
     </div>
-    <!-- <el-divider content-position="left">车皮卸车实绩</el-divider> -->
+    <div class="forwardingUnit item">
+      <span class="text">卸货点:</span>
+      <el-input v-model="unloadPointName" disabled> </el-input>
+      <el-button type="primary" @click="ondrawer(3)">浏览</el-button>
+    </div>
     <div class="form">
       <div class="form_box" style="margin-right: 10rem">
         <dil-form :formId="255" v-model="form1" ref="from1"></dil-form>
@@ -23,6 +63,28 @@
       <el-button @click="cancel">取消</el-button>
       <el-button type="primary" @click="makeSure">确定</el-button>
     </div>
+    <!-- 模态窗口 -->
+    <el-drawer :visible.sync="drawer" :direction="direction" size="30%">
+      <el-input
+        placeholder="请输入内容"
+        v-model="inputText"
+        style="margin-top: 0rem; margin-right: 0.1rem; width: 230px"
+        clearable
+      ></el-input>
+      <el-button
+        type="primary"
+        class="btn"
+        @click="searchUnLoadPoint()"
+        style="margin-bottom: 0.9375rem">
+        <i class="el-icon-search"></i>查询
+      </el-button>
+       <div>
+        <dilTable
+          v-bind.sync="unloadPoint"
+          @radio-change="currentRadioChange"
+        ></dilTable>
+      </div>
+    </el-drawer>
   </div>
 </template>
 <script>
@@ -34,23 +96,64 @@ export default {
   data() {
     return {
       form1: {},
+      inputText:null,
+      drawer:false,
+      unloadPoint:null,
+      wagon:null,
+      purchaseOrderNum:null,
+      materialName:null,
+      direction: "rtl",
+      unloadPointId:null,
+      unloadPointName:null,
       option: {
         // 表格请求数据的地址
         requestUrl: "/api/v1/tms/getWagonNo/3?apiId=213",
         // 控制显示当选列
         selectionType: "select",
       },
+      unloadPoint: {
+        requestUrl: "/api/v1/uc/getUnloadingMesByLike?apiId=374",
+        selectionType: "radio",
+      },
       value: undefined,
       list: [],
     };
   },
-  mounted() {},
+  mounted() {
+    this.form1.resultArrivalDate=new Date();
+    this.form1.resultUnloadTime=new Date();
+  },
   // created() {
   //   this.form1 = {
   //     arrivalStationId: 1,
   //   };
   // },
   methods: {
+    searchOrder(){
+      let requestUrl="/api/v1/tms/getWagonNo/3?apiId=213";
+      if(typeof this.wagon !='undefined' && this.wagon!=null){
+          requestUrl+=("&wagon="+this.wagon);
+      }
+      if(typeof this.purchaseOrderNum !='undefined' && this.purchaseOrderNum!=null){
+          requestUrl+=("&purchaseOrderNum="+this.purchaseOrderNum);
+      }
+      if(typeof this.materialName !='undefined' && this.materialName!=null){
+          requestUrl+=("&materialName="+this.materialName);
+      }
+      this.option.requestUrl=requestUrl;
+    },
+    ondrawer() {
+      this.drawer = true;
+    },
+    searchUnLoadPoint(){
+      this.unloadPoint.requestUrl =
+          "/api/v1/uc/getUnloadingMesByLike?apiId=374&index=" + this.inputText;
+    },
+    currentRadioChange(selection){
+      this.unloadPointId = selection.warehouseId;
+      this.unloadPointName = selection.warehouseName;
+      console.log(this.unloadPointId);
+    },
     selectionChange(selection) {
       this.list = [];
       selection.forEach((e) => {
@@ -69,15 +172,18 @@ export default {
         resultArrivalDate: sjTime(this.form1.resultArrivalDate),
         resultUnloadTime: sjTime(this.form1.resultUnloadTime),
         resultRemark: this.form1.resultRemark,
+        unloadingPointId:this.unloadPointId,
         resultType: 3,
       };
       console.log(tmstrainWagonUnloadResult);
       if (
         tmstrainWagonUnloadResult.wagonNoList == null ||
+        tmstrainWagonUnloadResult.wagonNoList.length <=0 ||
         tmstrainWagonUnloadResult.resultArrivalDate == null ||
-        tmstrainWagonUnloadResult.resultUnloadTime == null
+        tmstrainWagonUnloadResult.resultUnloadTime == null ||
+        tmstrainWagonUnloadResult.unloadingPointId ==null
       )
-        this.$message.error("存在空值!");
+        this.$message.error("请填写完整信息!");
       else
         this.axios
           .post(
@@ -139,6 +245,19 @@ export default {
       }
     }
   }
+  .forwardingUnit {
+    display: flex;
+    justify-content: center;
+    align-items: center;
+    width: 320px;
+    margin-left: 33%;
+    margin-top: 30px;
+    margin-right: 22px;
+    .text {
+      text-align: right;
+      width: 8.125rem;
+    }
+  }
   .button-box {
     margin-left: 42%;
     margin-top: 25px;

+ 333 - 123
src/views/TMS/components/importedEmergency/addWagonLoadEmergency.vue

@@ -1,10 +1,122 @@
 <template>
   <!-- 添加车皮装车实绩 -->
   <div class="addWagonLoad">
-    <page-title>新增</page-title>
- 
+    <page-title>返回</page-title>
+    <div class="purchaseOrder_table">
+      <div class="search" style="display:flex">
+        <div style="margin-top: 18px;margin-left:10px">
+          <el-label>物资名或订单号:</el-label>
+        </div>
+        <el-input
+        placeholder="请输入"
+        v-model="search1"
+        style="margin: 10px; width:10%"
+        clearable
+        ></el-input>
+        <div style="margin-top: 18px;margin-left:10px">
+          <el-label>外轮船名:</el-label>
+        </div>
+        <el-input
+          placeholder="请输入"
+          v-model="search2"
+          style="margin: 10px;width:10%"
+          clearable
+        ></el-input>
+      <el-button
+        type="primary"
+        class="btn"
+        @click="searchOrder()"
+        style="margin: 10px;">
+        <i class="el-icon-search"></i>查询
+      </el-button>
+      <!-- <el-button 
+      type="primary"
+      class="btn" 
+      @click="makeSure" 
+      style="margin: 10px;">确认配单
+      </el-button> -->
+      </div>
+      <!-- 采购订单号 -->
+      <dilTable
+        v-bind.sync="purchaseOption"
+        @radio-change="orderChange"
+      ></dilTable>
+    </div>
     <div class="cp">
-      <span style="width:80px">车皮号:</span>
+      <span >车皮号:</span>
+      <el-upload style="margin: 8px;"
+          class="upload-excel"
+          action=""
+          :on-change="importExcel"
+          :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>
+      <span >当前导入数量:{{tableData.length}}</span>
+    </div>
+    <div class="table item"
+        style="width:680px;
+        height:300px;
+        float:left;
+        overflow:auto" >
+      <el-table
+        stripe
+        :data="tableData"
+        style="width: 100%">
+        <el-table-column
+        type="index"
+        width="50"
+        prop="number"
+        label="序号"
+        align="center"
+        fixed="left"
+        :resizable="false">
+        </el-table-column>
+        <el-table-column
+        align="center"
+          prop="makeDate"
+          label="制票日期"
+          width="120px">
+        </el-table-column>
+        <el-table-column
+        align="center"
+          prop="wagonNo"
+          label="车皮号"
+          width="120px">
+        </el-table-column>
+        <el-table-column
+        align="center"
+          prop="materialName"
+          label="物资"
+          width="180px">
+        </el-table-column>
+        <el-table-column
+        align="center"
+          prop="mineral"
+          label="矿种"
+          width="120px">
+        </el-table-column>
+         <el-table-column
+         align="center"
+        width="80px"
+          prop="weight"
+          label="标重">
+        </el-table-column>
+        <!-- <el-table-column
+        align="center"
+        width="100px"
+          fixed="right"
+          label="操作">
+          <template slot-scope="scope">
+            <el-button @click="handleClick(scope.row)" type="text" size="small">查看</el-button>
+            <el-button type="text" size="small">编辑</el-button>
+          </template>
+        </el-table-column> -->
+      </el-table>
+    </div>
+    <!-- <div class="cp">
+      <span style="width:80px">车皮号:</span>
       <el-input
         placeholder="请输入内容"
         v-model="input"
@@ -42,51 +154,53 @@
       <span class="text">卸货点:</span>
       <el-input v-model="unloadPointName" disabled> </el-input>
       <el-button type="primary" @click="ondrawer(4)">浏览</el-button>
+    </div> -->
+    <div class="right" 
+    style="margin-top:10px
+           float:right;">
+        <div class="form">
+          <div class="form_box" style="margin-right: 10rem">
+            <el-form>
+               <div class="preview-group">
+                  <el-form-item label="发站:">
+                    <el-autocomplete
+                      class="inline-input"
+                      v-model="sendStation"
+                      :fetch-suggestions="querySearchSendStation"
+                      placeholder="请输入发站名称"
+                      :trigger-on-focus="false"
+                      @select="handleSelectSendStation"
+                    >
+                      <template slot-scope="{ item }">
+                        <div class="name">{{ item.arrivalName }}</div>
+                      </template>
+                    </el-autocomplete>
+                  </el-form-item>
+                  <el-form-item label="到站:">
+                    <el-autocomplete
+                      class="inline-input"
+                      v-model="toTheStation"
+                      :fetch-suggestions="querySearchToTheStation"
+                      placeholder="请输入到站名称"
+                      :trigger-on-focus="false"
+                      @select="handleSelectToTheStation"
+                    >
+                      <template slot-scope="{ item }">
+                        <div class="name">{{ item.arrivalName }}</div>
+                      </template>
+                    </el-autocomplete>
+                  </el-form-item>
+               </div>
+          </el-form>
+            <dil-form :formId="102" v-model="form1" ref="from1"></dil-form>
+          </div>
+        </div>
+        <div class="button-box">
+          <el-button @click="cancel">取消</el-button>
+          <el-button type="primary" :disabled="disable" @click="makeSure">确定</el-button>
+        </div>
     </div>
-    <div class="fromOther">
-      <el-form :inline="true" class="demo-form-inline" label-width="80px" style="margin-left:550px;">
-        <el-form-item label="发站:">
-          <el-autocomplete
-            class="inline-input"
-            v-model="sendStation"
-            :fetch-suggestions="querySearchSendStation"
-            placeholder="请输入发站名称"
-            :trigger-on-focus="false"
-            @select="handleSelectSendStation"
-          >
-            <template slot-scope="{ item }">
-              <div class="name">{{ item.arrivalName }}</div>
-            </template>
-          </el-autocomplete>
-        </el-form-item>
-      </el-form>
-      <el-form :inline="true" class="demo-form-inline" label-width="80px" style="margin-left:550px;">
-        <el-form-item label="到站:">
-          <el-autocomplete
-            class="inline-input"
-            v-model="toTheStation"
-            :fetch-suggestions="querySearchToTheStation"
-            placeholder="请输入到站名称"
-            :trigger-on-focus="false"
-            @select="handleSelectToTheStation"
-          >
-            <template slot-scope="{ item }">
-              <div class="name">{{ item.arrivalName }}</div>
-            </template>
-          </el-autocomplete>
-        </el-form-item>
-      </el-form>
-    </div>
-    <div class="form">
-      <div class="form_box" style="margin-right: 10rem">
-        <dil-form :formId="254" v-model="form1" ref="from1"></dil-form>
-      </div>
-    </div>
-    <div class="button-box">
-      <el-button @click="cancel">取消</el-button>
-      <el-button type="primary" @click="makeSure">确定</el-button>
-    </div>
-
+    
     <!-- 模态窗口 -->
     <el-drawer :visible.sync="drawer" :direction="direction" size="30%">
       <el-input
@@ -127,13 +241,15 @@
 
 <script>
 import PageTitle from "@/components/Page/Title";
-import { sjTime,isNumber } from "@/utils/sharedJsFile";
+import { sjTime } from "@/utils/sharedJsFile";
 export default {
   components: { PageTitle },
   data() {
     return {
+      disable:true,
       list: [],
       form1: {},
+      tableData:[],
       input: "",
       value: undefined,
       //船名
@@ -154,9 +270,19 @@ export default {
       unloadPointId: null,
       //卸货点名称
       unloadPointName: null,
+      //查询
+      search1:null,
+      search2:null,
       a: 1,
       direction: "rtl",
       inputText: "",
+      purchaseOption:{
+         // 表格请求数据的地址
+        requestUrl: "/api/v1/tms/findPurchaseOrderList?apiId=81",
+        // 控制选择单列
+        selectionType: "radio",
+        pageSize:5,
+      },
       frist: {
         requestUrl: "/api/v1/uc/queryAPOMaterialByLike?apiId=244&startNum=050",
         selectionType: "radio",
@@ -172,17 +298,12 @@ export default {
         requestUrl: "/api/v1/uc/getUnloadingMesByLike?apiId=374",
         selectionType: "radio",
       },
-      sendStationId:null,
+      sendStationId:2,
       toTheStationId:1,
-      sendStation:null,
+      sendStation:"万州港",
       toTheStation:"老区轨道衡"
     };
   },
-  created(){
-    this.form1 = {
-      arrivalStationId:1,
-    }
-  },
   methods: {
     currentRadioChange1(selection) {
       this.input = null;
@@ -257,50 +378,6 @@ export default {
           "/api/v1/uc/getUnloadingMesByLike?apiId=374&index=" + this.inputText;
       }
     },
-    onchang() {
-      var state = false;
-      var cptop = this.input.substring(0, 2);
-      var cptop1 = this.input.substring(0, 3);
-      if (
-        cptop == "45" ||
-        cptop == "46" ||
-        cptop == "42" ||
-        cptop == "47" ||
-        cptop == "15" ||
-        cptop == "16" ||
-        cptop == "17" ||
-        cptop == "18"
-      ) {
-        state = true;
-      } else if (
-        cptop1 == "140" ||
-        cptop1 == "141" ||
-        cptop1 == "142" ||
-        cptop1 == "143" ||
-        cptop1 == "145"
-      ) {
-        state = true;
-      } else {
-        this.$message({
-          type: "warning",
-          message: "车皮号格式不对,请重新输入!",
-        });
-      }
-      if (state) {
-        if (this.input.length == 7) {
-          this.list.push(this.input);
-          this.input = "";
-        } else {
-          this.$message({
-            type: "warning",
-            message: "车皮号长度不足7位数,请重新输入!",
-          });
-        }
-      }
-    },
-    onclick(index) {
-      this.list.splice(index, 1);
-    },
     //发站弹出层
     handleSelectSendStation(item) {
       this.sendStationId = item.arrivalId;
@@ -367,21 +444,84 @@ export default {
         );
       };
     },
+    onchang() {
+      var state = false;
+      var cptop = this.input.substring(0, 2);
+      var cptop1 = this.input.substring(0, 3);
+      if (
+        cptop == "45" ||
+        cptop == "46" ||
+        cptop == "42" ||
+        cptop == "47" ||
+        cptop == "15" ||
+        cptop == "16" ||
+        cptop == "17" ||
+        cptop == "18"
+      ) {
+        state = true;
+      } else if (
+        cptop1 == "140" ||
+        cptop1 == "141" ||
+        cptop1 == "142" ||
+        cptop1 == "143" ||
+        cptop1 == "145"
+      ) {
+        state = true;
+      } else {
+        this.$message({
+          type: "warning",
+          message: "车皮号格式不对,请重新输入!",
+        });
+      }
+      if (state) {
+        if (this.input.length == 7) {
+          this.list.push(this.input);
+          this.input = "";
+        } else {
+          this.$message({
+            type: "warning",
+            message: "车皮号长度不足7位数,请重新输入!",
+          });
+        }
+      }
+    },
+    searchOrder(){
+      //查询订单
+      if((typeof this.search1)!="undefined" && (typeof this.search2)!='undefined'){
+        let requestUrl="/api/v1/tms/findPurchaseOrderList?apiId=81";
+        if(this.search1!=null){
+            requestUrl+=("&materialName="+this.search1);
+        }
+        if(this.search2!=null){
+            requestUrl+=("&resultForeignShipName="+this.search2);
+        }
+        this.purchaseOption.requestUrl=requestUrl;
+      }else{
+        this.purchaseOption.requestUrl=
+        "/api/v1/tms/findPurchaseOrderList?apiId=81"
+      }
+    },
+    onclick(index) {
+      this.list.splice(index, 1);
+    },
     // 确定
     makeSure() {
+      this.disable=true;
       let state = 0;
       if (
         this.list.length > 0 &&
         this.materialId &&
         this.supplierId &&
-        this.unloadPointId &&
         this.purchaseOrderId &&
+        this.form1.resultIsclear &&
+        this.form1.resultClass &&
         this.sendStationId &&
         this.toTheStationId &&
         this.form1.resultLoadingDate
       ) {
         state = 1;
       } else {
+        this.disable=false;
         console.log(this.list.length);
         if (this.list.length == 0) {
           this.$message({
@@ -390,9 +530,9 @@ export default {
           });
         } else {
           if (this.materialId) {
-            if (this.supplierId) {
-              if (this.unloadPointId) {
                 if (this.purchaseOrderId) {
+                  if (this.form1.resultIsclear) {
+                    if (this.form1.resultClass) {
                       if (this.sendStationId) {
                         if (this.toTheStationId) {
                           if (this.form1.resultLoadingDate) {
@@ -415,27 +555,27 @@ export default {
                         });
                       }
                     } else {
+                      this.$message({
+                        type: "warning",
+                        message: "请选择班别!",
+                      });
+                    }
+                  } else {
+                    this.$message({
+                      type: "warning",
+                      message: "请选择是否清场!",
+                    });
+                  }
+                } else {
                   this.$message({
                     type: "warning",
-                    message: "该物资没有采购订单号!",
+                    message: "请选择采购订单号!",
                   });
                 }
-              } else {
-                this.$message({
-                  type: "warning",
-                  message: "请选择卸货地点!",
-                });
-              }
-            } else {
-              this.$message({
-                type: "warning",
-                message: "请选择发货单位!",
-              });
-            }
-          } else {
+            }  else {
             this.$message({
               type: "warning",
-              message: "请选择物资!",
+              message: "请选择采购订单号!",
             });
           }
         }
@@ -443,7 +583,7 @@ export default {
       if(state == 1){
         let map = {
           wagonNoList:this.list,
-          unloadingPointId:this.unloadPointId,
+          // unloadingPointId:this.unloadPointId,
           purchaseOrderRailPlanId:this.purchaseOrderId,
           materialId:this.materialId,
           sendUnitId:this.supplierId,
@@ -455,6 +595,7 @@ export default {
           resultRemarks: this.form1.resultRemarks,
           resultType:2,
         }
+        console.log(map);
         this.axios.post('/api/v1/tms/insertTmstrainLoadingResult',map).then((res)=>{
           console.log(res);
           if(res.data.code == "200"){
@@ -462,7 +603,7 @@ export default {
               type: "success",
               message: "新增成功",
             });
-            this.$router.go(-1);
+            this.cancel();
           }
         })
       }
@@ -471,6 +612,77 @@ export default {
     cancel() {
       this.$router.go(-1);
     },
+    // 导入excel
+    importExcel(file) {
+      let that=this;
+      if (!file) {
+        that.$message({
+          message: "文件错误!",
+          type: "warning",
+        });
+        return
+        }
+        var reader = new FileReader();
+        var data=null;
+        var workbook=null;
+        //设置读取操作
+        reader.onload = function (e) {
+          console.log(e);
+          data = e.target.result;
+          workbook= XLSX.read(data, {
+              type: 'binary'
+          });
+          console.log(workbook);
+          //读取表格
+          let rows= XLSX.utils.sheet_to_json(workbook.Sheets[workbook.SheetNames[0]]);//只取第一页
+          console.log(rows);
+          //清空
+          if(rows.length>0){
+            that.list=[];
+            that.tableData=[];
+            that.disable=false;
+            if((typeof rows[0]['车皮号'])=='undefined'){
+              that.$message({
+                message: "车皮号不存在!请参考下方格式!",
+                type: "warning",
+              });
+              return;
+            }
+          }
+          //绑定数据
+          rows.forEach((row,index) => {
+            let carNumber=row['车皮号'];
+            if((typeof carNumber)!="undefined" && carNumber.length == 7){
+              //车皮号表
+              that.list.push(carNumber);
+              //表格数据
+              let temp={
+                number:row['序号'],
+                makeDate:row['制票日期'],
+                materialName:row['品名'],
+                wagonNo:row['车皮号'],
+                mineral:row['矿种'],
+                weight:row['计费&#10;吨位']
+              }
+              that.tableData.push(temp);
+            }
+            else{
+              console.log("车皮号"+carNumber+"不是7位数!");
+            }
+        });
+        };
+        reader.readAsBinaryString(file.raw); //以二进制方式读取
+    },
+    //采购订单表格选中
+    orderChange(selection){
+      console.log(selection);
+      this.purchaseOrderId=selection.purchaseOrderId;
+      this.form1 = { purchaseOrderNo: selection.purchaseOrderNo };
+      this.materialId=selection.materialId;
+      this.materialName=selection.materialName;
+      this.supplierId=selection.supplierId;
+      this.supplierName=selection.supplierName;
+    },
   },
 };
 </script>
@@ -597,7 +809,6 @@ export default {
     .form_box {
       width: 340px;
       margin-left: 37%;
-     
       margin-right: 20px;
       .el-form {
         .preview-group {
@@ -615,8 +826,7 @@ export default {
               }
               .el-textarea{
                 .el-textarea__inner{
-                  width: 220px;
-                
+                  width: 225px;     
                   margin-top: 0.03rem;
                 }
               }
@@ -631,7 +841,7 @@ export default {
     justify-content: center;
     padding-top: 30px;
   }
-  .fromOther .el-input__inner{
+  .formOther  .el-input__inner{
     width: 250px;
   }
 }

+ 125 - 5
src/views/TMS/components/importedEmergency/addWagonUnLoadEmergency.vue

@@ -2,8 +2,43 @@
   <!-- 添加车皮卸车实绩 -->
   <div class="addWagonLoad">
     <page-title>返回</page-title>
-
     <div>
+      <div class="search" style="display:flex">
+        <div style="margin-top: 18px;margin-left:10px">
+          <el-label>车皮号:</el-label>
+        </div>
+        <el-input
+        placeholder="请输入"
+        v-model="wagon"
+        style="margin: 10px; width:10%"
+        clearable
+        ></el-input>
+        <div style="margin-top: 18px;margin-left:10px">
+          <el-label>订单号:</el-label>
+        </div>
+        <el-input
+        placeholder="请输入"
+        v-model="purchaseOrderNum"
+        style="margin: 10px; width:10%"
+        clearable
+        ></el-input>
+        <div style="margin-top: 18px;margin-left:10px">
+          <el-label>物资名:</el-label>
+        </div>
+        <el-input
+          placeholder="请输入"
+          v-model="materialName"
+          style="margin: 10px;width:10%"
+          clearable
+        ></el-input>
+      <el-button
+        type="primary"
+        class="btn"
+        @click="searchOrder()"
+        style="margin: 10px;">
+        <i class="el-icon-search"></i>查询
+      </el-button>
+      </div>
       <dilTable
         v-bind.sync="option"
         ref="table"
@@ -12,6 +47,35 @@
       </dilTable>
     </div>
 
+    <div class="forwardingUnit item">
+      <span class="text">卸货点:</span>
+      <el-input v-model="unloadPointName" disabled> </el-input>
+      <el-button type="primary" @click="ondrawer(3)">浏览</el-button>
+    </div>
+
+    <!-- 模态窗口 -->
+    <el-drawer :visible.sync="drawer" :direction="direction" size="30%">
+      <el-input
+        placeholder="请输入内容"
+        v-model="inputText"
+        style="margin-top: 0rem; margin-right: 0.1rem; width: 230px"
+        clearable
+      ></el-input>
+      <el-button
+        type="primary"
+        class="btn"
+        @click="searchUnLoadPoint()"
+        style="margin-bottom: 0.9375rem">
+        <i class="el-icon-search"></i>查询
+      </el-button>
+       <div>
+        <dilTable
+          v-bind.sync="unloadPoint"
+          @radio-change="currentRadioChange"
+        ></dilTable>
+      </div>
+    </el-drawer>
+
   <div class="form">
       <div class="form_box">
          <dil-form :formId="255" v-model="form1" ></dil-form>
@@ -32,6 +96,19 @@ export default {
   data() {
     return {
       form1: {},
+      inputText:null,
+      drawer:false,
+      unloadPoint:null,
+      wagon:null,
+      purchaseOrderNum:null,
+      materialName:null,
+      direction: "rtl",
+      unloadPointId:null,
+      unloadPointName:null,
+      unloadPoint: {
+        requestUrl: "/api/v1/uc/getUnloadingMesByLike?apiId=374",
+        selectionType: "radio",
+      },
       option: {
         // 表格请求数据的地址
         requestUrl: "/api/v1/tms/getWagonNo/2?apiId=213",
@@ -42,9 +119,36 @@ export default {
       list: [],
     };
   },
-  mounted() {},
+  mounted() {
+    this.form1.resultArrivalDate=new Date();
+    this.form1.resultUnloadTime=new Date();
+  },
   methods: {
-
+    searchOrder(){
+      let requestUrl="/api/v1/tms/getWagonNo/2?apiId=213";
+      if(typeof this.wagon !='undefined' && this.wagon!=null){
+          requestUrl+=("&wagon="+this.wagon);
+      }
+      if(typeof this.purchaseOrderNum !='undefined' && this.purchaseOrderNum!=null){
+          requestUrl+=("&purchaseOrderNum="+this.purchaseOrderNum);
+      }
+      if(typeof this.materialName !='undefined' && this.materialName!=null){
+          requestUrl+=("&materialName="+this.materialName);
+      }
+      this.option.requestUrl=requestUrl;
+    },
+    ondrawer() {
+      this.drawer = true;
+    },
+    searchUnLoadPoint(){
+      this.unloadPoint.requestUrl =
+          "/api/v1/uc/getUnloadingMesByLike?apiId=374&index=" + this.inputText;
+    },
+    currentRadioChange(selection){
+      this.unloadPointId = selection.warehouseId;
+      this.unloadPointName = selection.warehouseName;
+      console.log(this.unloadPointId);
+    },
     selectionChange(selection) {
       this.list = [];
       selection.forEach((e) => {
@@ -64,15 +168,18 @@ export default {
         resultArrivalDate: sjTime(this.form1.resultArrivalDate),
         resultUnloadTime: sjTime(this.form1.resultUnloadTime),
         resultRemark: this.form1.resultRemark,
+        unloadingPointId:this.unloadPointId,
         resultType: 2,
       };
       console.log(tmstrainWagonUnloadResult);
       if (
         tmstrainWagonUnloadResult.wagonNoList == null ||
         tmstrainWagonUnloadResult.resultArrivalDate == null ||
-        tmstrainWagonUnloadResult.resultUnloadTime == null
+        tmstrainWagonUnloadResult.resultUnloadTime == null ||
+        tmstrainWagonUnloadResult.wagonNoList.length <=0 ||
+         tmstrainWagonUnloadResult.unloadingPointId ==null
       )
-        this.$message.error("存在空值!");
+        this.$message.error("请填写完整信息!");
       else
         this.axios
           .post(
@@ -144,4 +251,17 @@ export default {
     width: 300px;
   }
 }
+.forwardingUnit {
+    display: flex;
+    justify-content: center;
+    align-items: center;
+    width: 320px;
+    margin-left: 33%;
+    margin-top: 30px;
+    margin-right: 22px;
+    .text {
+      text-align: right;
+      width: 8.125rem;
+    }
+  }
 </style>

+ 3 - 3
src/views/TMS/components/importedEmergency/entrustEmergency.vue

@@ -12,9 +12,9 @@
       <el-button type="primary" class="btn" @click="onclick">
         <i class="el-icon-search"></i>查询
       </el-button>
-      <el-button type="primary" @click="btnclick(0)">
+      <!-- <el-button type="primary" @click="btnclick(0)">
         <i class="el-icon-s-promotion"></i>发送
-      </el-button>
+      </el-button> -->
     </div>
     <dilTable v-bind.sync="option" @selection-change="selectionChange">
     </dilTable>
@@ -37,7 +37,7 @@ export default {
   methods: {
     onclick() {
       this.option.requestUrl =
-        "/api/v1/tms/getTmstrainWagonLoad?apiId=58&resultType=1&con=" +
+        "/api/v1/tms/getTmstrainWagonLoad?apiId=58&resultType=2&con=" +
         this.input;
     },
     btnclick() {

+ 271 - 68
src/views/TMS/components/importedMine/addWagonLoad.vue

@@ -1,8 +1,121 @@
 <template>
   <!-- 添加车皮装车实绩 -->
   <div class="addWagonLoad">
-    <page-title>新增</page-title>
+    <page-title>返回</page-title>
+    <div class="purchaseOrder_table">
+      <div class="search" style="display:flex">
+        <div style="margin-top: 18px;margin-left:10px">
+          <el-label>物资名或订单号:</el-label>
+        </div>
+        <el-input
+        placeholder="请输入"
+        v-model="search1"
+        style="margin: 10px; width:10%"
+        clearable
+        ></el-input>
+        <div style="margin-top: 18px;margin-left:10px">
+          <el-label>外轮船名:</el-label>
+        </div>
+        <el-input
+          placeholder="请输入"
+          v-model="search2"
+          style="margin: 10px;width:10%"
+          clearable
+        ></el-input>
+      <el-button
+        type="primary"
+        class="btn"
+        @click="searchOrder()"
+        style="margin: 10px;">
+        <i class="el-icon-search"></i>查询
+      </el-button>
+      <!-- <el-button 
+      type="primary"
+      class="btn" 
+      @click="makeSure" 
+      style="margin: 10px;">确认配单
+      </el-button> -->
+      </div>
+      <!-- 采购订单号 -->
+      <dilTable
+        v-bind.sync="purchaseOption"
+        @radio-change="orderChange"
+      ></dilTable>
+    </div>
     <div class="cp">
+      <span >车皮号:</span>
+      <el-upload style="margin: 8px;"
+          class="upload-excel"
+          action=""
+          :on-change="importExcel"
+          :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>
+      <span >当前导入数量:{{tableData.length}}</span>
+    </div>
+    <div class="table item"
+        style="width:680px;
+        height:300px;
+        float:left;
+        overflow:auto" >
+      <el-table
+        stripe
+        :data="tableData"
+        style="width: 100%">
+        <el-table-column
+        type="index"
+        width="50"
+        prop="number"
+        label="序号"
+        align="center"
+        fixed="left"
+        :resizable="false">
+        </el-table-column>
+        <el-table-column
+        align="center"
+          prop="makeDate"
+          label="制票日期"
+          width="120px">
+        </el-table-column>
+        <el-table-column
+        align="center"
+          prop="wagonNo"
+          label="车皮号"
+          width="120px">
+        </el-table-column>
+        <el-table-column
+        align="center"
+          prop="materialName"
+          label="物资"
+          width="180px">
+        </el-table-column>
+        <el-table-column
+        align="center"
+          prop="mineral"
+          label="矿种"
+          width="120px">
+        </el-table-column>
+         <el-table-column
+         align="center"
+        width="80px"
+          prop="weight"
+          label="标重">
+        </el-table-column>
+        <!-- <el-table-column
+        align="center"
+        width="100px"
+          fixed="right"
+          label="操作">
+          <template slot-scope="scope">
+            <el-button @click="handleClick(scope.row)" type="text" size="small">查看</el-button>
+            <el-button type="text" size="small">编辑</el-button>
+          </template>
+        </el-table-column> -->
+      </el-table>
+    </div>
+    <!-- <div class="cp">
       <span style="width:80px">车皮号:</span>
       <el-input
         placeholder="请输入内容"
@@ -41,50 +154,53 @@
       <span class="text">卸货点:</span>
       <el-input v-model="unloadPointName" disabled> </el-input>
       <el-button type="primary" @click="ondrawer(4)">浏览</el-button>
+    </div> -->
+    <div class="right" 
+    style="margin-top:10px
+           float:right;">
+        <div class="form">
+          <div class="form_box" style="margin-right: 10rem">
+            <el-form>
+               <div class="preview-group">
+                  <el-form-item label="发站:">
+                    <el-autocomplete
+                      class="inline-input"
+                      v-model="sendStation"
+                      :fetch-suggestions="querySearchSendStation"
+                      placeholder="请输入发站名称"
+                      :trigger-on-focus="false"
+                      @select="handleSelectSendStation"
+                    >
+                      <template slot-scope="{ item }">
+                        <div class="name">{{ item.arrivalName }}</div>
+                      </template>
+                    </el-autocomplete>
+                  </el-form-item>
+                  <el-form-item label="到站:">
+                    <el-autocomplete
+                      class="inline-input"
+                      v-model="toTheStation"
+                      :fetch-suggestions="querySearchToTheStation"
+                      placeholder="请输入到站名称"
+                      :trigger-on-focus="false"
+                      @select="handleSelectToTheStation"
+                    >
+                      <template slot-scope="{ item }">
+                        <div class="name">{{ item.arrivalName }}</div>
+                      </template>
+                    </el-autocomplete>
+                  </el-form-item>
+               </div>
+          </el-form>
+            <dil-form :formId="102" v-model="form1" ref="from1"></dil-form>
+          </div>
+        </div>
+        <div class="button-box">
+          <el-button @click="cancel">取消</el-button>
+          <el-button type="primary" :disabled="disable" @click="makeSure">确定</el-button>
+        </div>
     </div>
-    <div class="fromOther">
-      <el-form :inline="true" class="demo-form-inline" label-width="80px" style="margin-left:550px;">
-        <el-form-item label="发站:">
-          <el-autocomplete
-            class="inline-input"
-            v-model="sendStation"
-            :fetch-suggestions="querySearchSendStation"
-            placeholder="请输入发站名称"
-            :trigger-on-focus="false"
-            @select="handleSelectSendStation"
-          >
-            <template slot-scope="{ item }">
-              <div class="name">{{ item.arrivalName }}</div>
-            </template>
-          </el-autocomplete>
-        </el-form-item>
-      </el-form>
-      <el-form :inline="true" class="demo-form-inline" label-width="80px" style="margin-left:550px;">
-        <el-form-item label="到站:">
-          <el-autocomplete
-            class="inline-input"
-            v-model="toTheStation"
-            :fetch-suggestions="querySearchToTheStation"
-            placeholder="请输入到站名称"
-            :trigger-on-focus="false"
-            @select="handleSelectToTheStation"
-          >
-            <template slot-scope="{ item }">
-              <div class="name">{{ item.arrivalName }}</div>
-            </template>
-          </el-autocomplete>
-        </el-form-item>
-      </el-form>
-    </div>
-    <div class="form">
-      <div class="form_box" style="margin-right: 10rem">
-        <dil-form :formId="102" v-model="form1" ref="from1"></dil-form>
-      </div>
-    </div>
-    <div class="button-box">
-      <el-button @click="cancel">取消</el-button>
-      <el-button type="primary" @click="makeSure">确定</el-button>
-    </div>
+    
     <!-- 模态窗口 -->
     <el-drawer :visible.sync="drawer" :direction="direction" size="30%">
       <el-input
@@ -130,8 +246,10 @@ export default {
   components: { PageTitle },
   data() {
     return {
+      disable:true,
       list: [],
       form1: {},
+      tableData:[],
       input: "",
       value: undefined,
       //船名
@@ -152,9 +270,19 @@ export default {
       unloadPointId: null,
       //卸货点名称
       unloadPointName: null,
+      //查询
+      search1:null,
+      search2:null,
       a: 1,
       direction: "rtl",
       inputText: "",
+      purchaseOption:{
+         // 表格请求数据的地址
+        requestUrl: "/api/v1/tms/findPurchaseOrderList?apiId=81",
+        // 控制选择单列
+        selectionType: "radio",
+        pageSize:5,
+      },
       frist: {
         requestUrl: "/api/v1/uc/queryAPOMaterialByLike?apiId=244&startNum=050",
         selectionType: "radio",
@@ -357,17 +485,33 @@ export default {
         }
       }
     },
+    searchOrder(){
+      //查询订单
+      if((typeof this.search1)!="undefined" && (typeof this.search2)!='undefined'){
+        let requestUrl="/api/v1/tms/findPurchaseOrderList?apiId=81";
+        if(this.search1!=null){
+            requestUrl+=("&materialName="+this.search1);
+        }
+        if(this.search2!=null){
+            requestUrl+=("&resultForeignShipName="+this.search2);
+        }
+        this.purchaseOption.requestUrl=requestUrl;
+      }else{
+        this.purchaseOption.requestUrl=
+        "/api/v1/tms/findPurchaseOrderList?apiId=81"
+      }
+    },
     onclick(index) {
       this.list.splice(index, 1);
     },
     // 确定
     makeSure() {
+      this.disable=true;
       let state = 0;
       if (
         this.list.length > 0 &&
         this.materialId &&
         this.supplierId &&
-        this.unloadPointId &&
         this.purchaseOrderId &&
         this.form1.resultIsclear &&
         this.form1.resultClass &&
@@ -377,6 +521,7 @@ export default {
       ) {
         state = 1;
       } else {
+        this.disable=false;
         console.log(this.list.length);
         if (this.list.length == 0) {
           this.$message({
@@ -385,13 +530,11 @@ export default {
           });
         } else {
           if (this.materialId) {
-            if (this.supplierId) {
-              if (this.unloadPointId) {
                 if (this.purchaseOrderId) {
                   if (this.form1.resultIsclear) {
-                    if (this.form1.resultIsclear) {
-                      if (this.form1.sendStationId) {
-                        if (this.form1.arrivalStationId) {
+                    if (this.form1.resultClass) {
+                      if (this.sendStationId) {
+                        if (this.toTheStationId) {
                           if (this.form1.resultLoadingDate) {
                           } else {
                             this.$message({
@@ -426,25 +569,13 @@ export default {
                 } else {
                   this.$message({
                     type: "warning",
-                    message: "该物资没有采购订单号!",
+                    message: "请选择采购订单号!",
                   });
                 }
-              } else {
-                this.$message({
-                  type: "warning",
-                  message: "请选择卸货地点!",
-                });
-              }
-            } else {
-              this.$message({
-                type: "warning",
-                message: "请选择发货单位!",
-              });
-            }
-          } else {
+            }  else {
             this.$message({
               type: "warning",
-              message: "请选择物资!",
+              message: "请选择采购订单号!",
             });
           }
         }
@@ -452,7 +583,7 @@ export default {
       if(state == 1){
         let map = {
           wagonNoList:this.list,
-          unloadingPointId:this.unloadPointId,
+          // unloadingPointId:this.unloadPointId,
           purchaseOrderRailPlanId:this.purchaseOrderId,
           materialId:this.materialId,
           sendUnitId:this.supplierId,
@@ -464,6 +595,7 @@ export default {
           resultRemarks: this.form1.resultRemarks,
           resultType:1,
         }
+        console.log(map);
         this.axios.post('/api/v1/tms/insertTmstrainLoadingResult',map).then((res)=>{
           console.log(res);
           if(res.data.code == "200"){
@@ -471,7 +603,7 @@ export default {
               type: "success",
               message: "新增成功",
             });
-            this.$router.push("/wagonLoad");
+            this.cancel();
           }
         })
       }
@@ -480,6 +612,77 @@ export default {
     cancel() {
       this.$router.go(-1);
     },
+    // 导入excel
+    importExcel(file) {
+      let that=this;
+      if (!file) {
+        that.$message({
+          message: "文件错误!",
+          type: "warning",
+        });
+        return
+        }
+        var reader = new FileReader();
+        var data=null;
+        var workbook=null;
+        //设置读取操作
+        reader.onload = function (e) {
+          console.log(e);
+          data = e.target.result;
+          workbook= XLSX.read(data, {
+              type: 'binary'
+          });
+          console.log(workbook);
+          //读取表格
+          let rows= XLSX.utils.sheet_to_json(workbook.Sheets[workbook.SheetNames[0]]);//只取第一页
+          console.log(rows);
+          //清空
+          if(rows.length>0){
+            that.list=[];
+            that.tableData=[];
+            that.disable=false;
+            if((typeof rows[0]['车皮号'])=='undefined'){
+              that.$message({
+                message: "车皮号不存在!请参考下方格式!",
+                type: "warning",
+              });
+              return;
+            }
+          }
+          //绑定数据
+          rows.forEach((row,index) => {
+            let carNumber=row['车皮号'];
+            if((typeof carNumber)!="undefined" && carNumber.length == 7){
+              //车皮号表
+              that.list.push(carNumber);
+              //表格数据
+              let temp={
+                number:row['序号'],
+                makeDate:row['制票日期'],
+                materialName:row['品名'],
+                wagonNo:row['车皮号'],
+                mineral:row['矿种'],
+                weight:row['计费&#10;吨位']
+              }
+              that.tableData.push(temp);
+            }
+            else{
+              console.log("车皮号"+carNumber+"不是7位数!");
+            }
+        });
+        };
+        reader.readAsBinaryString(file.raw); //以二进制方式读取
+    },
+    //采购订单表格选中
+    orderChange(selection){
+      console.log(selection);
+      this.purchaseOrderId=selection.purchaseOrderId;
+      this.form1 = { purchaseOrderNo: selection.purchaseOrderNo };
+      this.materialId=selection.materialId;
+      this.materialName=selection.materialName;
+      this.supplierId=selection.supplierId;
+      this.supplierName=selection.supplierName;
+    },
   },
 };
 </script>
@@ -638,7 +841,7 @@ export default {
     justify-content: center;
     padding-top: 30px;
   }
-  .fromOther  .el-input__inner{
+  .formOther  .el-input__inner{
     width: 250px;
   }
 }

+ 125 - 4
src/views/TMS/components/importedMine/addWagonUnLoad.vue

@@ -5,6 +5,42 @@
     <page-title>返回</page-title>
 
     <div>
+      <div class="search" style="display:flex">
+        <div style="margin-top: 18px;margin-left:10px">
+          <el-label>车皮号:</el-label>
+        </div>
+        <el-input
+        placeholder="请输入"
+        v-model="wagon"
+        style="margin: 10px; width:10%"
+        clearable
+        ></el-input>
+        <div style="margin-top: 18px;margin-left:10px">
+          <el-label>订单号:</el-label>
+        </div>
+        <el-input
+        placeholder="请输入"
+        v-model="purchaseOrderNum"
+        style="margin: 10px; width:10%"
+        clearable
+        ></el-input>
+        <div style="margin-top: 18px;margin-left:10px">
+          <el-label>物资名:</el-label>
+        </div>
+        <el-input
+          placeholder="请输入"
+          v-model="materialName"
+          style="margin: 10px;width:10%"
+          clearable
+        ></el-input>
+      <el-button
+        type="primary"
+        class="btn"
+        @click="searchOrder()"
+        style="margin: 10px;">
+        <i class="el-icon-search"></i>查询
+      </el-button>
+      </div>
       <dilTable
         v-bind.sync="option"
         ref="table"
@@ -13,6 +49,35 @@
       </dilTable>
     </div>
 
+    <div class="forwardingUnit item">
+      <span class="text">卸货点:</span>
+      <el-input v-model="unloadPointName" disabled> </el-input>
+      <el-button type="primary" @click="ondrawer(3)">浏览</el-button>
+    </div>
+
+    <!-- 模态窗口 -->
+    <el-drawer :visible.sync="drawer" :direction="direction" size="30%">
+      <el-input
+        placeholder="请输入内容"
+        v-model="inputText"
+        style="margin-top: 0rem; margin-right: 0.1rem; width: 230px"
+        clearable
+      ></el-input>
+      <el-button
+        type="primary"
+        class="btn"
+        @click="searchUnLoadPoint()"
+        style="margin-bottom: 0.9375rem">
+        <i class="el-icon-search"></i>查询
+      </el-button>
+       <div>
+        <dilTable
+          v-bind.sync="unloadPoint"
+          @radio-change="currentRadioChange"
+        ></dilTable>
+      </div>
+    </el-drawer>
+
     <div class="form">
       <div class="form_box">
         <dil-form :formId="116" v-model="form1"></dil-form>
@@ -34,6 +99,19 @@ export default {
   data() {
     return {
       form1: {},
+      inputText:null,
+      drawer:false,
+      unloadPoint:null,
+      wagon:null,
+      purchaseOrderNum:null,
+      materialName:null,
+      direction: "rtl",
+      unloadPointId:null,
+      unloadPointName:null,
+      unloadPoint: {
+        requestUrl: "/api/v1/uc/getUnloadingMesByLike?apiId=374",
+        selectionType: "radio",
+      },
       option: {
         // 表格请求数据的地址
         requestUrl: "/api/v1/tms/getWagonNo/1?apiId=213",
@@ -44,8 +122,36 @@ export default {
       list: [],
     };
   },
-  mounted() {},
+  mounted() {
+     this.form1.resultArrivalDate=new Date();
+    this.form1.resultUnloadTime=new Date();
+  },
   methods: {
+    searchOrder(){
+      let requestUrl="/api/v1/tms/getWagonNo/1?apiId=213";
+      if(typeof this.wagon !='undefined' && this.wagon!=null){
+          requestUrl+=("&wagon="+this.wagon);
+      }
+      if(typeof this.purchaseOrderNum !='undefined' && this.purchaseOrderNum!=null){
+          requestUrl+=("&purchaseOrderNum="+this.purchaseOrderNum);
+      }
+      if(typeof this.materialName !='undefined' && this.materialName!=null){
+          requestUrl+=("&materialName="+this.materialName);
+      }
+      this.option.requestUrl=requestUrl;
+    },
+    ondrawer() {
+      this.drawer = true;
+    },
+    searchUnLoadPoint(){
+      this.unloadPoint.requestUrl =
+          "/api/v1/uc/getUnloadingMesByLike?apiId=374&index=" + this.inputText;
+    },
+    currentRadioChange(selection){
+      this.unloadPointId = selection.warehouseId;
+      this.unloadPointName = selection.warehouseName;
+      console.log(this.unloadPointId);
+    },
     selectionChange(selection) {
       this.list = [];
       selection.forEach((e) => {
@@ -63,17 +169,19 @@ export default {
         wagonNoList: this.list,
         resultArrivalDate: sjTime(this.form1.resultArrivalDate),
         resultUnloadTime: sjTime(this.form1.resultUnloadTime),
-        unloadingPointId: this.form1.unloadingPointId,
         resultRemark: this.form1.resultRemark,
+        unloadingPointId:this.unloadPointId,
         resultType: 1,
       };
       console.log(tmstrainWagonUnloadResult);
       if (
         tmstrainWagonUnloadResult.wagonNoList == null ||
         tmstrainWagonUnloadResult.resultArrivalDate == null ||
-        tmstrainWagonUnloadResult.resultUnloadTime == null 
+        tmstrainWagonUnloadResult.resultUnloadTime == null ||
+        tmstrainWagonUnloadResult.wagonNoList.length <=0 ||
+         tmstrainWagonUnloadResult.unloadingPointId ==null
       )
-        this.$message.error("存在空值!");
+        this.$message.error("请填写完整信息!");
       else
         this.axios
           .post(
@@ -148,4 +256,17 @@ export default {
     width: 300px;
   }
 }
+.forwardingUnit {
+    display: flex;
+    justify-content: center;
+    align-items: center;
+    width: 320px;
+    margin-left: 33%;
+    margin-top: 30px;
+    margin-right: 22px;
+    .text {
+      text-align: right;
+      width: 8.125rem;
+    }
+  }
 </style>

+ 2 - 2
src/views/TMS/components/importedMine/entrust.vue

@@ -12,9 +12,9 @@
       <el-button type="primary" class="btn" @click="onclick">
         <i class="el-icon-search"></i>查询
       </el-button>
-      <el-button type="primary" @click="btnclick(0)">
+      <!-- <el-button type="primary" @click="btnclick(0)">
         <i class="el-icon-s-promotion"></i>发送
-      </el-button>
+      </el-button> -->
     </div>
     <dilTable v-bind.sync="option" @selection-change="selectionChange">
     </dilTable>

+ 2 - 0
src/views/TMS/components/importedShip/addBargeShip.vue

@@ -149,6 +149,8 @@ export default {
   }
   .button_box{
     margin-left: 45%;
+    margin-right:1500px;
+    width:150px;
   }
 }
 </style>

+ 30 - 8
src/views/TMS/components/importedShip/addShipmentInstructions.vue

@@ -5,6 +5,14 @@
     <div class="form">
       <div class="form_box">
         <dil-form :formId="114" v-model="form1" ref="from1"></dil-form>
+        <span> 二程:海港-江港</span>
+        <el-switch
+          v-model="status"
+          active-color="#13ce66"
+          inactive-color="#909399"
+          @change="changeStatus"
+        >
+        </el-switch>
       </div>
       <div class="liulan">
         <el-button type="primary" class="btn" @click="onDrawer">浏览</el-button>
@@ -58,11 +66,12 @@ export default {
       options: {
         requestUrl: "/api/v1/tms/getBatchListForInstruction?apiId=383",
         selectionType: "radio",
-        maplist: []
+        maplist: [],
       },
+      status: false,
       form1: {},
       value: undefined,
-      batchId: ""
+      batchId: "",
     };
   },
   mounted() {},
@@ -70,6 +79,12 @@ export default {
     onDrawer() {
       this.drawer = true;
     },
+    changeStatus() {
+      // this.status=!this.status;
+      console.log(this.status);
+      // console.log("aaa",this.status);
+    },
+
     onclick() {
       this.options.requestUrl =
         "/api/v1/tms/getBatchListForInstruction?apiId=383&con=" + this.input;
@@ -80,7 +95,11 @@ export default {
         this.$set(
           this.form1,
           "batchId",
-          selection.resultForeignShipName +"-"+selection.materialName+"-" +selection.infactoryShipName
+          selection.resultForeignShipName +
+            "-" +
+            selection.materialName +
+            "-" +
+            selection.infactoryShipName
         );
         this.batchId = selection.batchId;
       }
@@ -97,7 +116,10 @@ export default {
       let omsshipShipmentInstructions = {
         batchId: this.maplist.batchId,
         instructionsTotalTonnage: this.form1.instructionsTotalTonnage,
-        instructionTime: sjTime(this.form1.instructionTime)
+        instructionTime: sjTime(this.form1.instructionTime),
+        statu: this.status,
+        transportPortName: this.form1.transportPortName,
+        handoverMethod: this.form1.handoverMethod,
       };
 
       //判断合计吨位是否为数字
@@ -126,11 +148,11 @@ export default {
             "/api/v1/tms/addShipmentInstructions",
             omsshipShipmentInstructions
           )
-          .then(res => {
+          .then((res) => {
             if (res.data.code == "200") {
               this.$message({
                 type: "success",
-                message: "新增成功"
+                message: "新增成功",
               });
             }
             this.$router.go(-1);
@@ -139,8 +161,8 @@ export default {
     // 取消
     cancel() {
       this.$router.go(-1);
-    }
-  }
+    },
+  },
 };
 </script>
 

+ 0 - 1
src/views/TMS/components/importedShip/addUnloadShip.vue

@@ -117,7 +117,6 @@ export default {
         resultEndTime: resultEndTime,
         resultStatus: this.form.resultStatus
       };
-      debugger;
       this.axios
         .post("/api/v1/tms/addUnLoadShip", {
           mapVal: mapVal,

+ 15 - 13
src/views/TMS/components/importedShip/instructionsCapacity.vue

@@ -52,15 +52,15 @@ export default {
         // 表格请求数据的地址
         requestUrl:
           "/api/v1/tms/getCapacities?apiId=76&instructionsId=" +
-          this.$route.params.instructionsId
-      }
+          this.$route.params.instructionsId,
+      },
     };
   },
   methods: {
     querySearch(queryString, cb) {
       this.axios
         .post("/api/v1/tms/getShipNameList?state=" + this.state)
-        .then(res => {
+        .then((res) => {
           console.log(res.data.data);
           var restaurants = res.data.data;
           var results = queryString
@@ -71,7 +71,7 @@ export default {
         });
     },
     createFilter(queryString) {
-      return restaurant => {
+      return (restaurant) => {
         return (
           restaurant.capacityName
             .toLowerCase()
@@ -85,7 +85,7 @@ export default {
       console.log(this.capacityIds);
       this.axios
         .get("/api/v1/uc/getCapacityTel?capacityId=" + item.capacityId)
-        .then(res => {
+        .then((res) => {
           console.log(res.data);
           this.capacityIds = "";
           if (res.data) {
@@ -106,7 +106,8 @@ export default {
         instructionsShipPosition: this.form.instructionsShipPosition,
         instructionContactInf: this.form.instructionContactInf,
         instructionsCapacityStatus: this.form.instructionsCapacityStatus,
-        instructionEsarrivalTime: sjTime(this.form.instructionEsarrivalTime)
+        instructionEsarrivalTime: sjTime(this.form.instructionEsarrivalTime),
+        capacityBookingNumber: this.form.capacityBookingNumber,
       };
       //判断是否为电话号码
       function isTelePhone() {
@@ -145,6 +146,7 @@ export default {
       )
         this.$message.error("存在空值!");
       else if (!isNumber(val)) this.$message.warning("计划装载吨位必须为数字");
+      
       else if (!isTelePhone(val2)) this.$message.warning("联系方式格式错误");
       else
         this.axios
@@ -152,11 +154,11 @@ export default {
             "/api/v1/tms/addInstructionsCapacity",
             omsshipInstructionsCapacity
           )
-          .then(res => {
+          .then((res) => {
             if (res.data.code == 200) {
               this.$message({
                 type: "success",
-                message: "新增成功!"
+                message: "新增成功!",
               });
               // this.$refs.table.refreshData();
               this.option.requestUrl =
@@ -185,7 +187,7 @@ export default {
         confirmButtonText: "确定",
         cancelButtonText: "取消",
         type: "warning",
-        center: true
+        center: true,
       })
         .then(() => {
           this.axios
@@ -193,7 +195,7 @@ export default {
             .then(() => {
               this.$message({
                 type: "success",
-                message: "删除成功!"
+                message: "删除成功!",
               });
               this.option.requestUrl =
                 "/api/v1/tms/getCapacities?apiId=76&instructionsId=" +
@@ -205,11 +207,11 @@ export default {
         .catch(() => {
           this.$message({
             type: "info",
-            message: "取消删除!"
+            message: "取消删除!",
           });
         });
-    }
-  }
+    },
+  },
 };
 </script>
 <style lang="scss">

+ 1 - 1
src/views/TMS/components/importedShip/loadShip.vue

@@ -50,7 +50,7 @@ export default {
   mounted() {},
   methods: {
     onclick() {
-      // this.option.requestUrl = "/api/v1/tms/getLoadShipList?apiId=63&con=" + this.input;
+      this.option.requestUrl = "/api/v1/tms/getLoadShipList?apiId=63&con=" + this.input;
     },
     click(resultId) {
       console.log("aaa" + resultId);

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

@@ -178,15 +178,15 @@ export default {
   },
   methods: {
     onblur(scope) {
-      console.log("我是交了");
-      console.log(scope);
+      // console.log("我是交了");
+      // console.log(scope);
       this.axios
         .post(
           "/api/v1/tms/getShipLocationStatus?shipLocation=" +
             scope.row.shipLocation
         )
         .then(res => {
-          console.log(res.data.data);
+          // console.log(res.data.data);
           scope.row.locationStatus = res.data.data.locationStatus;
         });
     },

+ 292 - 0
src/views/TMS/components/importedShip/shipmentInstructionText.vue

@@ -0,0 +1,292 @@
+<template>
+  <div class="tableAllDate">
+    <page-title>返回</page-title>
+    <div id="pdfDom">
+      <div class="blank"></div>
+      <!-- 循环遍历传过来的数组中的所有的对象,生成多张提货委托书 -->
+      <div
+        v-for="(item, index) in shipmentInstructionLists"
+        :key="index"
+        style="margin-top: 40px"
+      >
+        <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;font-family: FangSong;line-height: 50px"
+            width="1000px"
+            class="tablePart0"
+          >
+            <tr>
+              <td style="width: 100%">TO:{{ item.piername }}有限公司:</td>
+            </tr>
+          </table>
+        </div>
+        <div class="tableBody">
+          <!-- tablePart1 -->
+          <table
+            border="0"
+            cellpadding="10"
+            cellspacing="0"
+            style="margin-top: 5px;font-family: FangSong;line-height: 40px;"
+            width="1000px"
+            class="tablePart1"
+          >
+            <tr>
+              <td style="width: 100%" padding-right="20px;">
+                &nbsp;&nbsp;&nbsp;&nbsp; 兹委任{{ item.carrierName }}有限公司
+                代表我司到贵港办理:海轮"{{ item.foreignShipName }}"{{
+                  item.numberOfLoans
+                }}湿吨
+                {{
+                  item.materialName
+                }}的提货、数量、清场、交接等相关事宜。恳请给予办理为盼!
+                谢谢!(传真件与原件具有同等法律效应)。
+              </td>
+            </tr>
+          </table>
+
+          <!-- tablePart2 -->
+          <table
+            border="0"
+            cellpadding="10"
+            cellspacing="0"
+            style="border-top: 0px;font-family: FangSong;line-height: 40px"
+            width="1000px"
+            class="tablePart2"
+          >
+            <tr>
+              <th style="width: 1.1%"></th>
+              <th style="width: 20.5%">具体提货船舶信息如下:</th>
+            </tr>
+          </table>
+
+          <!-- tablePart3 -->
+          <table
+            border="0"
+            cellpadding="10"
+            cellspacing="0"
+            style="border-top: 0px;font-family: FangSong;line-height: 40px"
+            width="1000px"
+            class="tablePart3"
+          >
+            <tr>
+              <th style="width: 0.6%"></th>
+              <th style="width: 10.5%">
+                船名:{{ item.capacityNumber }}({{ item.instruct }}吨)航次{{
+                  item.capacityBookingNumber
+                }}
+              </th>
+            </tr>
+          </table>
+
+          <!-- tablePart4 -->
+          <table
+            border="1"
+            cellpadding="10"
+            cellspacing="0"
+            style="border-top: 0px;font-family: FangSong;line-height: 40px"
+            width="1000px"
+            class="tablePart4"
+          >
+            <tr>
+              <th style="width: 0.6%"></th>
+              <th style="width: 10.5%">船舶联系方式:{{ item.capacityTel }}</th>
+            
+            </tr>
+          </table>
+        
+
+          <table
+            border="1"
+            cellpadding="10"
+            cellspacing="0"
+            style="border-top: 0px;font-family: FangSong;line-height: 40px"
+            width="1000px"
+            class="tablePart5"
+          >
+            <tr>
+              <th style="width: 0.6%"></th>
+              <th style="width: 10.5%">
+                中转港:{{ item.transitPort }}, 目的港:{{ item.arriveName }}
+              </th>
+            </tr>
+          </table>
+          <table
+            border="1"
+            cellpadding="10"
+            cellspacing="0"
+            style="border-top: 0px;font-family: FangSong;line-height: 40px"
+            width="1000px"
+            class="tablePart6"
+          >
+            <tr>
+              <th style="width: 0.6%"></th>
+              <th style="width: 10.5%">收货人:{{ item.shipperName }}</th>
+            </tr>
+          </table>
+
+          <table
+            border="1"
+            cellpadding="10"
+            cellspacing="0"
+            style="border-top: 0px;font-family: FangSong;line-height: 40px"
+            width="1000px"
+            class="tablePart7"
+          >
+            <tr>
+              <th style="width: 0.6%"></th>
+              <th style="width: 10.5%">交接方式:{{ item.havdoverMode }}</th>
+            </tr>
+          </table>
+        </div>
+        <div>
+          <!-- tablePart6 -->
+          <table
+            border="0"
+            cellpadding="10"
+            cellspacing="0"
+            style="margin: auto; margin-top: 5px; font-size: 20px;font-family: FangSong;line-height: 40px"
+            width="1000px"
+            class="tablePart6"
+          >
+            <tr>
+              <th style="width: 50px"></th>
+              <td style="width: 33%">{{ item.shipperName }}</td>
+            </tr>
+          </table>
+        </div>
+        <div>
+          <!-- tablePart7 -->
+          <table
+            border="0"
+            cellpadding="10"
+            cellspacing="0"
+            style="margin: auto; margin-top: 5px; font-size: 20px;font-family: FangSong;line-height: 40px"
+            width="1000px"
+            class="tablePart7"
+          >
+            <tr>
+              <td style="width: 63%"></td>
+              <td style="width: 1%">{{ item.year }}</td>
+              <th style="width: 3%">年</th>
+              <td style="width: 0.6%">{{ item.month }}</td>
+              <th style="width: 3%">月</th>
+              <td style="width: 0.5%">{{ item.date }}</td>
+              <th style="width: 3%">日</th>
+              <th style="width:7%"></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>
+    </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 {
+      shipmentInstructionLists: [],
+      htmlTitle: "装船通知单",
+    };
+  },
+  created() {
+    this.getwts();
+  },
+  methods: {
+    backScan() {
+      this.$router.go(-2);
+    },
+    getwts() {
+      console.log(this.$route.params.text);
+      this.shipmentInstructionLists = JSON.parse(
+        this.$route.params.text
+      ).shipmentInstructionList;
+      console.log(this.shipmentInstructionLists);
+      // this.amsShipDeliveryNameLists = this.$route.params.test;
+      console.log(this.shipmentInstructionLists);
+      this.shipmentInstructionLists.forEach((e) => {
+        e.year = e.instructionTime.split("-")[0];
+        e.month = e.instructionTime.split("-")[1];
+        e.date = e.instructionTime.split("-")[2].split(" ")[0];
+      });
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+.title {
+  text-align: center;
+  margin-bottom: 30px;
+  .titleText {
+    font-size: 30px;
+    font-family: SimSun;
+    font-weight: 900;
+    line-height: 40px;
+  }
+}
+.buttns {
+  display: flex;
+  flex-wrap: nowrap;
+  margin-top: 20px;
+  margin-left: 465px;
+  .buttn {
+    margin-left: 10px;
+    width: 270px;
+  }
+}
+.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;
+  }
+  .tablePart8 td,
+  th {
+    border-top: 0px;
+  }
+}
+.blank {
+  width: 100%;
+  height: 50px;
+}
+</style>

+ 62 - 14
src/views/TMS/components/importedShip/shipmentInstructions.vue

@@ -15,6 +15,14 @@
       <el-button class="btn" type="primary" @click="btnclick(0)">
         <i class="el-icon-circle-plus-outline"></i>新增
       </el-button>
+      <el-button
+        type="primary"
+        class="btn"
+        @click="addPick"
+        v-if="activeName === 'second'"
+      >
+        <i class="el-icon-circle-plus-outline"></i>生成装船指令PDF
+      </el-button>
     </div>
     <el-tabs v-model="activeName" @tab-click="handleClick">
       <!-- 未下发 -->
@@ -57,7 +65,10 @@
       </el-tab-pane>
       <!-- 已下发 -->
       <el-tab-pane label="已下发" name="second">
-        <dilTable v-bind.sync="option2"></dilTable>
+        <dilTable
+          v-bind.sync="option2"
+          @selection-change="selectionChange"
+        ></dilTable>
       </el-tab-pane>
     </el-tabs>
   </div>
@@ -74,21 +85,58 @@ export default {
       option: {
         // 表格请求数据的地址
         requestUrl:
-          "/api/v1/tms/getShipMentInstructionsList?apiId=74&status=未下发"
+          "/api/v1/tms/getShipMentInstructionsList?apiId=74&status=未下发",
       },
       option2: {
         // 表格请求数据的地址
         requestUrl:
-          "/api/v1/tms/getShipMentInstructionsList?apiId=74&status=已下发"
-      }
+          "/api/v1/tms/getShipMentInstructionsList?apiId=74&status=已下发",
+        selectionType: "select",
+      },
+      shipmentInstructionList: [],
     };
   },
   mounted() {},
   methods: {
+    selectionChange(selection) {
+      // console.log(selection);
+      this.shipmentInstructionList = selection;
+    },
+    addPick() {
+      if (this.shipmentInstructionList.length == 0) {
+        this.$message.warning("请勾选已下发的提货委托,方可生成提货委托书");
+        return;
+      }
+      // if (this.shipmentInstructionList.instructions != null) {
+      //   this.$message.warning("请勾选已下发的提货委托,方可生成提货委托书");
+      //   return;
+      // }
+      let shipmentInstructionList = {
+        shipmentInstructionList: this.shipmentInstructionList,
+      };
+      // console.log("list", shipmentInstructionList);
+      let test = encodeURIComponent(JSON.stringify(shipmentInstructionList));
+      console.log("test",test);
+      this.$router.push("/shipmentInstructionText/" + test);
+    },
     handleClick(tab, event) {
       console.log(tab, event);
     },
-    onclick() {},
+    onclick() {
+         if (this.activeName == "first") {
+          this.option1.requestUrl =
+            "/api/v1/tms/getShipMentInstructionsList?apiId=74&status=未下发&carrierSSOId=" +
+            getCookie("userId") +
+            "&con=" +
+            this.input;  
+      } else{
+          this.option2.requestUrl =
+            "/api/v1/tms/getShipMentInstructionsList?apiId=74&status=已下发&carrierSSOId=" +
+            getCookie("userId") +
+            "&con=" +
+            this.input;  
+      }
+    },
     btnclick() {
       this.$router.push("/addShipmentInstructions/");
     },
@@ -104,7 +152,7 @@ export default {
         confirmButtonText: "确定",
         cancelButtonText: "取消",
         type: "warning",
-        center: true
+        center: true,
       })
         .then(() => {
           this.axios
@@ -112,7 +160,7 @@ export default {
             .then(() => {
               this.$message({
                 type: "success",
-                message: "删除成功!"
+                message: "删除成功!",
               });
               this.option.requestUrl =
                 "/api/v1/tms/getShipMentInstructionsList?apiId=74&status=未下发&i=" +
@@ -125,7 +173,7 @@ export default {
         .catch(() => {
           this.$message({
             type: "info",
-            message: "取消删除!"
+            message: "取消删除!",
           });
         });
     },
@@ -135,7 +183,7 @@ export default {
         confirmButtonText: "确定",
         cancelButtonText: "取消",
         type: "warning",
-        center: true
+        center: true,
       })
         .then(() => {
           this.axios
@@ -145,7 +193,7 @@ export default {
             .then(() => {
               this.$message({
                 type: "success",
-                message: "下发成功!"
+                message: "下发成功!",
               });
               this.option.requestUrl =
                 "/api/v1/tms/getShipMentInstructionsList?apiId=74&status=未下发&i=" +
@@ -158,11 +206,11 @@ export default {
         .catch(() => {
           this.$message({
             type: "info",
-            message: "取消下发!"
+            message: "取消下发!",
           });
         });
-    }
-  }
+    },
+  },
 };
 </script>
 <style lang="scss" scoped>
@@ -174,7 +222,7 @@ export default {
       margin-right: 40rpx;
     }
     .btn {
-      width: 5.5%;
+      width: 12%;
       margin-left: 0.25rem;
     }
   }

+ 30 - 39
src/views/TMS/components/importedShip/updateBargeShip.vue

@@ -1,11 +1,11 @@
 <template>
   <!-- 修改驳船作业 -->
-    <div class="shipTransport">
+  <div class="shipTransport">
     <page-title>返回</page-title>
     <div class="form">
       <div class="form_box">
-          <dil-form :formId="133" v-model="form1" ref="from1"></dil-form>
-      </div> 
+        <dil-form :formId="133" v-model="form1" ref="from1"></dil-form>
+      </div>
     </div>
     <!-- 确定和取消 -->
     <div class="button_box">
@@ -20,11 +20,11 @@ import PageTitle from "@/components/Page/Title";
 import { sjTime } from "@/utils/sharedJsFile";
 export default {
   components: { PageTitle },
- data(){
-     return {
+  data() {
+    return {
       form1: {},
-  }
- },
+    };
+  },
   mounted() {
     this.information();
   },
@@ -32,13 +32,12 @@ export default {
     information() {
       //编辑驳船作业
       this.axios
-        .post("/api/v1/tms/getBargeOperation/" + this.$route.params.bargeOperationId)
+        .post(
+          "/api/v1/tms/getBargeOperation/" + this.$route.params.bargeOperationId
+        )
         .then((res) => {
           res.data.data.forEach((e) => {
             this.form1 = e;
-            // console.log(e);
-            // console.log(this.form1);
-            // console.log(this.$route.params.loadingId);
           });
         });
     },
@@ -58,68 +57,60 @@ export default {
         bargeOperationId: this.$route.params.bargeOperationId,
         smallCapacityId: this.form1.smallCapacityId,
         bargeSmallshipLoadWeight: this.form1.bargeSmallshipLoadWeight,
-        bargeRefuteDate: sjTime(
-          this.form1.bargeRefuteDate
-        ),
+        bargeRefuteDate: sjTime(this.form1.bargeRefuteDate),
         bargeRefuteLocation: this.form1.bargeRefuteLocation,
-        bargeBackDate: sjTime(
-          this.form1.bargeBackDate
-        ),
+        bargeBackDate: sjTime(this.form1.bargeBackDate),
         bargeBackLocation: this.form1.bargeBackLocation,
       };
-          if (
+      if (
         bagerShipMap.bargeOperationId == null ||
         bagerShipMap.bargeSmallshipLoadWeight == null ||
-        bagerShipMap.bargeRefuteDate == null||
-        bagerShipMap.bargeRefuteLocation==null||
-        bagerShipMap.bargeBackDate==null||
-        bagerShipMap.bargeBackLocation==null
+        bagerShipMap.bargeRefuteDate == null ||
+        bagerShipMap.bargeRefuteLocation == null ||
+        bagerShipMap.bargeBackDate == null ||
+        bagerShipMap.bargeBackLocation == null
       )
         this.$message.error("存在空值!");
       else if (!isNumber(val)) this.$message.warning("合计吨位请填写数字");
       this.axios
-        .post(
-          "/api/v1/tms/updateBargeOperation",
-          bagerShipMap
-        )
+        .post("/api/v1/tms/updateBargeOperation", bagerShipMap)
         .then((res) => {
           if (res.data.code == 200) {
             this.$message({
               type: "success",
               message: "修改成功!",
             });
-            // this.$refs.table.refreshData();
             this.$router.go(-1);
           } else {
             this.$message.error("修改失败!");
           }
-          this.$refs['table'].resetField();
+          this.$refs["table"].resetField();
         });
     },
   },
 };
 </script>
 <style lang="scss">
-.shipTransport{
-  .form{
+.shipTransport {
+  .form {
     display: flex;
-    .form_box{
+    .form_box {
       width: 320px;
       margin-left: 35%;
       margin-top: 30px;
       margin-right: 20px;
-      .el-form{
-        .preview-group{
-          .el-form-item{
-            .el-form-item__label{
+      .el-form {
+        .preview-group {
+          .el-form-item {
+            .el-form-item__label {
               display: inline-block;
               width: 70px !important;
             }
-            .el-form-item__content{
-              .el-select{
+            .el-form-item__content {
+              .el-select {
                 width: 250px;
               }
-              .el-input{
+              .el-input {
                 width: 250px;
               }
             }
@@ -128,7 +119,7 @@ export default {
       }
     }
   }
-  .button_box{
+  .button_box {
     margin-left: 45%;
   }
 }

+ 2 - 1
src/views/TMS/router/index.js

@@ -209,7 +209,7 @@ import mineralGrossResult from '../components/importedMineral/transportExcute/gr
 import mineralTareResult from '../components/importedMineral/transportExcute/tareResult.vue'
 import mineralUnload from '../components/importedMineral/transportExcute/unload.vue'
 import mineralQuality from '../components/importedMineral/transportExcute/qualityResult.vue'
-
+import shipmentInstructionText from '../components/importedShip/shipmentInstructionText.vue'
 Vue.use(Router)
 
 const constantRouterMap = [
@@ -348,6 +348,7 @@ const constantRouterMap = [
       {path: 'updateWaterQuality/:resultId', name: 'updateWaterQuality', meta: {code: 'xtpzgl-yhgl'}, component: updateWaterQuality},
       {path: 'waterQuality', name: 'waterQuality', meta: {code: 'xtpzgl-yhgl'}, component: waterQuality},
       {path: 'updateLoadShip/:resultId', name: 'updateLoadShip', meta: {code: 'xtpzgl-yhgl'}, component: updateLoadShip},
+      {path: 'shipmentInstructionText/:text', name: 'shipmentInstructionText', meta: {code: 'xtpzgl-yhgl'}, component: shipmentInstructionText},
 
       {path: 'assignmentPlan', name: 'assignmentPlan', meta: {code: 'xtpzgl-yhgl'}, component: assignmentPlan},
       {path: 'breakdownPlan', name: 'breakdownPlan', meta: {code: 'xtpzgl-yhgl'}, component: breakdownPlan},

+ 27 - 14
src/views/appoint/components/ship/addDeliveryAttorney.vue

@@ -58,33 +58,33 @@ export default {
       options: {
         requestUrl: "/api/v1/tms/getBatchListForAttorney?apiId=375",
         selectionType: "radio",
-        maplist: []
+        maplist: [],
       },
       batchIds: "",
       form1: {},
       value: undefined,
-      value2: undefined
+      value2: undefined,
     };
   },
   computed: {
     a1() {
       return this.form1.attorneyPickupContactPerson;
-    }
+    },
   },
   watch: {
     a1() {
       this.getPersonInfo();
-    }
+    },
   },
   created() {
     this.form1 = {
       downSwimPortId: 11,
-      attorneyTime: new Date()
+      attorneyTime: new Date(),
     };
   },
   mounted() {
-     this.$set(this.form1, "requesterGroupId", 1); //委托单位(requesterGroupId)承运单位(carrierId)转移到提货委托
-     this.$set(this.form1, "carrierId", 11);
+    this.$set(this.form1, "requesterGroupId", 1); //委托单位(requesterGroupId)承运单位(carrierId)转移到提货委托
+    this.$set(this.form1, "carrierId", 11);
   },
   methods: {
     getPersonInfo() {
@@ -95,7 +95,7 @@ export default {
           "/api/v1/tms/getPersonByName?personName=" +
             this.form1.attorneyPickupContactPerson
         )
-        .then(res => {
+        .then((res) => {
           console.log(this.form1);
           this.$set(this.form1, "attorenyPickupIdcard", res.data.data.personId);
           this.$set(
@@ -146,14 +146,15 @@ export default {
         noticeId: this.form1.noticeId,
         portId: this.form1.portId,
         attorneyPickupContactPerson: this.form1.attorneyPickupContactPerson,
-        userId: getCookie("userId")
+        userId: getCookie("userId"),
         // resultMemo: this.form1.resultMemo,
       };
       //身份证校验
       function checkCardNo() {
         var value3 = AmsshipDeliveryAttorney.attorenyPickupIdcard;
         //验证是否为数字
-        var patrn = /^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$|^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/;
+        var patrn =
+          /^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$|^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/;
         // var patrn2 = /^(\d{3,4}-)?\d{7,8}$/;
         if (patrn.exec(value3) == null || value3 == "") {
           return false;
@@ -194,15 +195,27 @@ export default {
             "/api/v1/tms/insertshipDeliveryAttorney",
             AmsshipDeliveryAttorney
           )
-          .then(res => {
-            this.$router.go(-1);
+          .then((res) => {
+            if (res.data.code == 200) {
+              this.$message({
+                type: "success",
+                message: "新增成功",
+              });
+            } else {
+              this.$message({
+                type: "warning",
+                message: res.data.data,
+              });
+            }
+              this.$router.go(-1);
+            
           });
     },
     // 取消
     cancel() {
       this.$router.go(-1);
-    }
-  }
+    },
+  },
 };
 </script>
 <style lang="scss">

+ 1 - 1
src/views/appoint/components/ship/addDeliveryNotice.vue

@@ -125,7 +125,7 @@
           style="width: 270px"
           ref="upload1"
           accept=".pdf , .jpg, .png, .jpeg, .tif, .gif, .pcx, .tga, .exif, .fpx, .svg , .bmp"
-          action="/api/v1/rms/uploadCarrier1"
+          action="/api/v1/tms/uploadCargoPic"
           :before-upload="beforeUpload"
           :multiple="false"
           list-type="picture"

+ 78 - 44
src/views/appoint/components/ship/attorneytext.vue

@@ -7,7 +7,7 @@
       <div
         v-for="(item, index) in amsShipDeliveryNameLists"
         :key="index"
-        style="margin-top:40px"
+        style="margin-top: 40px"
       >
         <div class="title">
           <i class="titleText" align="center">委托书</i>
@@ -18,13 +18,13 @@
             border="0"
             cellpadding="10"
             cellspacing="0"
-            style="margin: auto;font-size:20px;"
+            style="margin: auto; font-size: 20px"
             width="1000px"
             class="tablePart0"
           >
             <tr>
-              <td style="width :100%">
-                江苏{{ item.carrierName }}港口集团股份有限公司
+              <td style="width: 100%; font-family: FangSong">
+                {{ item.carrierName }}:
               </td>
             </tr>
           </table>
@@ -35,19 +35,26 @@
             border="0"
             cellpadding="10"
             cellspacing="0"
-            style="margin-top: 5px;"
+            style="margin-top: 5px"
             width="1000px"
             class="tablePart1"
           >
             <tr>
-              <td style="width :100%" padding-right="20px">
-                兹委任重庆市万州区万港船务有限公司
-                前来贵港办理我公司的货权提货和水路运输事宜,品种:{{
+              <td
+                style="width: 100%; font-family: FangSong; line-height: 40px"
+                padding-right="20px"
+              >
+                &nbsp;&nbsp; 兹委任{{
+                  item.carrierName
+                }}
+                前来贵港办理我公司的货权提货和水路运输事宜,品种:{{
                   item.materialName
-                }};外轮船名:{{ item.resultForeignShipName }}; 数量:{{
+                }};外轮船名:{{ item.resultForeignShipName }}; 数量:{{
                   item.purchaseOrderMaterialNum
                 }}
-                湿吨(如遇最后一批提货,须清场);物流流向:万州港。望贵公司予以支持为盼。
+                湿吨(如遇该轮最后一批提货请清场),物流流向:{{
+                  item.portName1
+                }}。望贵公司予以支持为盼。
               </td>
             </tr>
           </table>
@@ -57,18 +64,25 @@
             border="0"
             cellpadding="10"
             cellspacing="0"
-            style="
-          border-top: 0px"
+            style="border-top: 0px; line-height: 40px"
             width="1000px"
             class="tablePart2"
           >
             <tr>
-              <th style="width :16.5%">提货联系人:</th>
-              <td style="width :10.5%">
+              <th style="width: 3%"></th>
+              <th
+                style="width: 12.5%; padding-left: 2 px; font-family: FangSong"
+              >
+                提货联系人:
+              </th>
+              <td style="width: 10.5%; font-family: FangSong">
                 {{ item.attorneyPickupContactPerson }}
               </td>
-              <th style="width :14%">身份证号:</th>
-              <td style="width :59%">{{ item.attorneyPickupIdcard }}</td>
+              <th style="width: 3%"></th>
+              <th style="width: 10%; font-family: FangSong">身份证号:</th>
+              <td style="width: 59%; font-family: FangSong">
+                {{ item.attorneyPickupIdcard }}
+              </td>
             </tr>
           </table>
 
@@ -77,14 +91,14 @@
             border="0"
             cellpadding="10"
             cellspacing="0"
-            style="
-          border-top: 0px"
+            style="border-top: 0px; line-height: 40px"
             width="1000px"
             class="tablePart3"
           >
             <tr>
-              <th style="width :16.5%">联系电话:</th>
-              <td style="width :83.5%">
+              <th style="width: 3%"></th>
+              <th style="width: 10.5%; font-family: FangSong">联系电话:</th>
+              <td style="width: 98%; font-family: FangSong">
                 {{ item.attorneyContactTelephone }}
               </td>
             </tr>
@@ -95,13 +109,13 @@
             border="1"
             cellpadding="10"
             cellspacing="0"
-            style="
-          border-top: 0px"
+            style="border-top: 0px; line-height: 40px"
             width="1000px"
             class="tablePart4"
           >
             <tr>
-              <th style="width :10.5%">顺颂商祺!</th>
+              <th style="width: 0.4%"></th>
+              <th style="width: 12.5%; font-family: FangSong">顺颂商祺!</th>
             </tr>
           </table>
 
@@ -109,13 +123,15 @@
             border="1"
             cellpadding="10"
             cellspacing="0"
-            style="
-          border-top: 0px"
+            style="border-top: 0px; line-height: 40px"
             width="1000px"
             class="tablePart5"
           >
             <tr>
-              <th style="width :10.5%">(传真件/扫描件有效)</th>
+              <th style="width: 0.3%"></th>
+              <th style="width: 10.5%; font-family: FangSong">
+                (传真件/扫描件有效)
+              </th>
             </tr>
           </table>
         </div>
@@ -125,12 +141,20 @@
             border="0"
             cellpadding="10"
             cellspacing="0"
-            style="margin: auto;margin-top: 5px;font-size:20px;"
+            style="
+              margin: auto;
+              margin-top: 5px;
+              font-size: 20px;
+              line-height: 40px;
+            "
             width="1000px"
             class="tablePart6"
           >
             <tr>
-              <td style="width :48.5%">{{ item.shipperName }}</td>
+              <th style="width: 50px"></th>
+              <td style="width: 33%; font-family: FangSong">
+                {{ item.shipperName }}
+              </td>
             </tr>
           </table>
         </div>
@@ -140,18 +164,25 @@
             border="0"
             cellpadding="10"
             cellspacing="0"
-            style="margin: auto;margin-top: 5px;font-size:20px;"
+            style="
+              margin: auto;
+              margin-top: 5px;
+              font-size: 20px;
+              font-family: FangSong;
+              line-height: 40px;
+            "
             width="1000px"
             class="tablePart7"
           >
             <tr>
-              <td style="width :63%"></td>
-              <td style="width :5%">{{ item.year }}</td>
-              <th style="width :8%">年</th>
-              <td style="width :3%">{{ item.month }}</td>
-              <th style="width :8%">月</th>
-              <td style="width :3%">{{ item.date }}</td>
-              <th style="width :5%">日</th>
+              <td style="width: 63%"></td>
+              <td style="width: 1%">{{ item.year }}</td>
+              <th style="width: 3%">年</th>
+              <td style="width: 0.7%">{{ item.month }}</td>
+              <th style="width: 3%">月</th>
+              <td style="width: 0.7%">{{ item.date }}</td>
+              <th style="width: 3%">日</th>
+              <th style="width:5%"></th>
             </tr>
           </table>
         </div>
@@ -160,7 +191,7 @@
     <div class="buttns">
       <el-button class="buttn" type="primary" @click="getPdf()">
         <i class="el-icon-download">{{ "\xa0\xa0" }}</i
-        >导出(pdf)
+        >导出(委托书pdf)
       </el-button>
     </div>
   </div>
@@ -176,7 +207,7 @@ export default {
   data() {
     return {
       amsShipDeliveryNameLists: [],
-      htmlTitle: "委托书"
+      htmlTitle: "委托书",
     };
   },
   created() {
@@ -194,13 +225,13 @@ export default {
       console.log(this.amsShipDeliveryNameLists);
       // this.amsShipDeliveryNameLists = this.$route.params.test;
       console.log(this.amsShipDeliveryNameLists);
-      this.amsShipDeliveryNameLists.forEach(e => {
+      this.amsShipDeliveryNameLists.forEach((e) => {
         e.year = e.attorneyTime.split("-")[0];
         e.month = e.attorneyTime.split("-")[1];
         e.date = e.attorneyTime.split("-")[2].split(" ")[0];
       });
-    }
-  }
+    },
+  },
 };
 </script>
 
@@ -209,17 +240,20 @@ export default {
   text-align: center;
   margin-bottom: 30px;
   .titleText {
-    font-size: 30px;
+    font-size: 40px;
+    font-family: SimSun;
+    font-weight: 900;
+    line-height: 40px;
   }
 }
 .buttns {
   display: flex;
   flex-wrap: nowrap;
   margin-top: 20px;
-  margin-left: 900px;
+  margin-left: 465px;
   .buttn {
     margin-left: 10px;
-    width: 130px;
+    width: 260px;
   }
 }
 .tableBody {

+ 15 - 2
src/views/appoint/components/ship/deliveryAttorney.vue

@@ -95,11 +95,22 @@ export default {
 
   methods: {
     selectionChange(selection) {
-      console.log(selection);
       this.amsShipDeliveryList = selection;
     },
     onclick() {
-      this.$message.info("功能尚未开通,请联系管理员!");
+      if (this.activeName == "first") {
+          this.option1.requestUrl =
+            "/api/v1/tms/getAmsshipDeliveryAttroneyList?apiId=73&status=0&carrierSSOId=" +
+            getCookie("userId") +
+            "&con=" +
+            this.input;  
+      } else{
+          this.option2.requestUrl =
+            "/api/v1/tms/getAmsshipDeliveryAttroneyList?apiId=73&status=1&carrierSSOId=" +
+            getCookie("userId") +
+            "&con=" +
+            this.input;  
+      }
     },
     click(pathId) {
       this.$router.push("/path/addDeliveryNotice/" + pathId);
@@ -115,7 +126,9 @@ export default {
       }
       let amsShipDeliveryNameList = {
         amsShipDeliveryNameList: this.amsShipDeliveryList
+      
       };
+        console.log("list",amsShipDeliveryNameList);
       let test = encodeURIComponent(JSON.stringify(amsShipDeliveryNameList));
       this.$router.push("/attorneytext/" + test);
     },

+ 16 - 1
src/views/appoint/components/ship/deliveryNotice.vue

@@ -49,6 +49,7 @@
   </div>
 </template>
 <script>
+import { getCookie } from "@/utils/util.js";
 export default {
   name: "homeworkPath",
   data() {
@@ -70,7 +71,21 @@ export default {
     };
   },
   methods: {
-    onclick() { },
+    onclick() {
+        if (this.activeName == "first") {
+          this.option1.requestUrl =
+            "/api/v1/tms/getshipDeliveryNoticeList?apiId=69&status=0&carrierSSOId=" +
+            getCookie("userId") +
+            "&con=" +
+            this.input;  
+      } else{
+          this.option2.requestUrl =
+            "/api/v1/tms/getshipDeliveryNoticeList?apiId=69&status=1&carrierSSOId=" +
+            getCookie("userId") +
+            "&con=" +
+            this.input;  
+      }
+     },
     addClick() {
       this.$router.push("/addDeliveryNotice/");
     },

+ 1 - 0
src/views/sale/components/offSiteTransportation/checkGPS.vue

@@ -1,5 +1,6 @@
 <template>
   <div class="container">
+    <!-- 车辆轨迹 -->
     <div id="amap-container"></div>
     <div class="controller">
       <div class="btnx">

+ 55 - 34
src/views/sale/components/offSiteTransportation/currentLocation.vue

@@ -1,5 +1,6 @@
 <template>
   <div class="container">
+    <!-- 实时路径 -->
     <div class="btnx">
       <el-button type="primary" class="" @click="openInfo"
         >打开信息窗体</el-button
@@ -87,9 +88,13 @@ export default {
       let regExp = /(^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1}$)/;
       if (that.carNumber == "") {
         this.$message.error("车牌号不能为空!");
+        //清除旧的定时器
+        clearTimeout(this.timer);
         return;
       } else if (!regExp.test(that.carNumber)) {
         this.$message.error("请输入正确的车牌号!");
+        //清除旧的定时器
+        clearTimeout(this.timer);
         return;
       }
       that.axios
@@ -133,6 +138,8 @@ export default {
             this.lat = res.data.data.result.lat;
           } else {
             this.$message.error("车辆暂时无GPS");
+            //清除定时器
+            clearTimeout(this.timer);
           }
         });
     },
@@ -164,7 +171,31 @@ export default {
       var pointmarker = new AMap.Marker({
         position: new AMap.LngLat(lon, lat), // 经纬度对象,也可以是经纬度构成的一维数组[116.39, 39.9]
         icon: pointicon,
-        title: title
+        title: title,
+      });
+      // 将创建的点标记添加到已有的地图实例:
+      that.pointmarker = pointmarker;
+      that.map.add(pointmarker);
+    },
+    initPoint(weight, height, image, lon, lat, title) {
+      let that = this;
+      //图标标记点
+      let pointicon = new AMap.Icon({
+        //size: new AMap.Size(weight, height), // 图标尺寸
+        image: image, // Icon的图像
+        imageOffset: new AMap.Pixel(0, 10), // 图像相对展示区域的偏移量,适于雪碧图等
+        imageSize: new AMap.Size(weight, height) // 根据所设置的大小拉伸或压缩图片
+      });
+      // 创建一个 Marker 实例:
+      var pointmarker = new AMap.Marker({
+        position: new AMap.LngLat(lon, lat), // 经纬度对象,也可以是经纬度构成的一维数组[116.39, 39.9]
+        icon: pointicon,
+        title: title,
+        label: {
+            direction: 'top',
+            content: title,
+            offset: new AMap.Pixel(-2,10),
+        }
       });
       // 将创建的点标记添加到已有的地图实例:
       that.pointmarker = pointmarker;
@@ -216,10 +247,13 @@ export default {
       clearTimeout(this.timer);
       that.startTime=that.formatDate(new Date(),"yyyy年MM月dd日 hh:mm:ss");
       that.endTime=that.formatDate(new Date(),"yyyy年MM月dd日 hh:mm:ss");
+      console.log(that.startTime+"至"+that.endTime);
       //清除path
       that.path=[];
       //清除所有覆盖物
       that.map.clearMap();
+      //设置所有的门岗和汽车衡
+      that.setPoints();
       //设置定时器
       that.timer=setInterval(()=>{
           //清除之前车的图标
@@ -228,8 +262,26 @@ export default {
           that.endTime=that.formatDate(new Date(),"yyyy年MM月dd日 hh:mm:ss");
       },5000);
     },
-    
-
+    //初始化厂内标记点
+    setPoints(){
+      //请求所有汽车衡和门岗
+      let that=this;
+      that.axios.get("/api/v1/otms/mapvertexs/findSelections").then((res)=>{
+        console.log(res.data.data);
+        if(res.data.data){
+          res.data.data.forEach(vertex => {
+             that.initPoint(
+              20,
+              25,
+              require("@/assets/img/map_site.png"),
+              vertex.longitude,
+              vertex.latitude,
+              vertex.addressName
+            );
+          });
+        }
+      });
+    },
     //初始化窗体
     initCustomMarkes(title, details, lon, lat) {
       let that = this;
@@ -261,37 +313,6 @@ export default {
       console.log(this.lat);
       this.infoClose=false;
       infoWindow.open(this.map, [this.lon, this.lat]);
-    },
-    //初始化轨迹
-    initPolyline() {
-      let that = this;
-      // 创建一个 Polyline 实例:
-      var polyline = new AMap.Polyline({
-        path: that.path,
-        borderWeight: 2, // 线条宽度,默认为 1
-        strokeColor: "#18BFA6", // 线条颜色
-        lineJoin: "round" // 折线拐点连接处样式
-        // arrowIconPath: require("@/assets/img/traffic_texture_darkred-pass.png")//箭头图片,似乎不支持
-      });
-      // 将创建的线路添加到已有的线路中去:
-      that.map.add(polyline);
-    },
-
-    //定时取得当前位置并加入轨迹中去,点击查询时触发,同时清除path和旧的定时器
-    initTimer() {
-      let that = this;
-      //清除旧的定时器
-      clearTimeout(this.timer);
-      //清除path
-      that.path = [];
-      //清除所有覆盖物
-      that.map.clearMap();
-      //设置定时器
-      that.timer = setInterval(() => {
-        //清除之前车的图标
-        that.map.remove(that.pointmarker);
-        that.initData();
-      }, 4000);
     }
   }
 };

+ 1 - 1
src/views/sale/components/offSiteTransportation/transportationPerformance.vue

@@ -1,5 +1,5 @@
 <template>
-  <!-- 在途运输信息选择页面 -->
+  <!-- 车辆运输 -->
   <div class="inTransit">
     <el-form :inline="true">
       <el-form-item>

+ 5 - 1
src/views/sale/components/transport_excute/tms-offsite/receiptResult.vue

@@ -329,7 +329,8 @@ export default {
       this.axios
        .post("/api/v1/otms/getReceivingPhotoByUrl?orderNumber="+orderNumber)
        .then((res)=>{
-         console.log(res.data)
+        if(res.data.code==200){
+          console.log(res.data.data);
           this.isShow=true;
           this.srcList=[];
           this.src=res.data.resultSignedNotePhoto;
@@ -347,6 +348,9 @@ export default {
           if(res.data.otherPhoto3!=null){
              this.srcList.push(res.data.otherPhoto3);
           }
+        }else{
+           this.$message.warning(res.data.message);
+        }
        });
        
     },

+ 4 - 0
src/views/statisticalReport/components/Ship_dynamic_table.vue

@@ -48,6 +48,10 @@ export default {
         {
           prop: "tonnage",
           label: "下游港口吨位"
+        },
+          {
+          prop: "tonnage1",
+          label: "二层船吨位"
         },
         {
           label: "未到闸船舶",

+ 13 - 4
src/views/statisticalReport/components/tableItem.vue

@@ -72,10 +72,10 @@ export default {
   },
   methods: {
     headerCellStyle({ row, column, rowIndex, columnIndex }) {
-      let columnIndexList1 = [4];
-      let columnIndexList2 = [5];
-      let columnIndexList3 = [6];
-      let columnIndexList4 = [7];
+      let columnIndexList1 = [5];
+      let columnIndexList2 = [6];
+      let columnIndexList3 = [7];
+      let columnIndexList4 = [8];
       if (columnIndexList1.includes(columnIndex) && rowIndex == 0) {
         //如果有多个css样式,使用;隔开
         return "color:#fff;cursor: pointer;background-color:red !important";
@@ -132,6 +132,15 @@ export default {
           rowspan: _row,
           colspan: _col
         };
+      }
+       if (columnIndex === 4) {
+        // this.tableData  修改
+        const _row = this.flitterData(this.tableData).one[rowIndex];
+        const _col = _row > 0 ? 1 : 0;
+        return {
+          rowspan: _row,
+          colspan: _col
+        };
       }
       if (columnIndex === 2) {
         // this.tableData  修改