luobang 3 年之前
父节点
当前提交
e997dced9a
共有 32 个文件被更改,包括 4896 次插入846 次删除
  1. 1 1
      build/utils.js
  2. 2 2
      config/index.js
  3. 二进制
      dist.zip
  4. 151 136
      src/views/TMS/components/importedMineral/addTransportAppoint.vue
  5. 29 3
      src/views/WMS/components/steel/addSteelInbound.vue
  6. 4 5
      src/views/WMS/components/steel/bar1_steel/bar1_steel_inboundReal.vue
  7. 76 12
      src/views/WMS/components/steel/steel_inbound.vue
  8. 1 0
      src/views/WMS/components/steel/steel_inboundReal.vue
  9. 40 39
      src/views/appoint/components/saleContract/addSaleOrder.vue
  10. 4 1
      src/views/appoint/components/saleContract/addSaleOrderArrange.vue
  11. 48 19
      src/views/appoint/components/saleContract/addSaleOrderCoproductSend.vue
  12. 45 15
      src/views/appoint/components/saleContract/addSaleOrderSteelSend.vue
  13. 44 10
      src/views/appoint/components/saleContract/addSaleOrderSteelSendCarrier.vue
  14. 1268 233
      src/views/appoint/components/saleContract/editSaleOrder.vue
  15. 3 3
      src/views/appoint/components/saleContract/saleOrderSteel.vue
  16. 6 6
      src/views/appoint/components/saleContract/saleOrderSteelCar.vue
  17. 11 6
      src/views/inward/components/truckAppoint/addRequirement2.vue
  18. 37 24
      src/views/queue/components/qmsEnFacotory/queueFStart.vue
  19. 618 0
      src/views/sale/components/offSiteTransportation/checkGPS.vue
  20. 1 1
      src/views/sale/components/offSiteTransportation/inTransit.vue
  21. 110 61
      src/views/sale/components/saleSelfMachine/addlading.vue
  22. 163 112
      src/views/sale/components/saleSelfMachine/printLading.vue
  23. 226 152
      src/views/sale/components/saleSelfMachine/printReceipt.vue
  24. 3 3
      src/views/sale/components/transport_order/receiveOrder.vue
  25. 509 0
      src/views/sale/components/transport_order/saleChemicalCokeOrder.vue
  26. 509 0
      src/views/sale/components/transport_order/saleCoproductOrder.vue
  27. 509 0
      src/views/sale/components/transport_order/saleSteelOrder.vue
  28. 10 2
      src/views/sale/router/index.js
  29. 154 0
      src/views/statisticalReport/components/salesLogisticsStatistics/saleChemicalCokeForm.vue
  30. 154 0
      src/views/statisticalReport/components/salesLogisticsStatistics/saleCoproductForm.vue
  31. 154 0
      src/views/statisticalReport/components/salesLogisticsStatistics/saleSteelForm.vue
  32. 6 0
      src/views/statisticalReport/router/index.js

+ 1 - 1
build/utils.js

@@ -17,7 +17,7 @@ const devPathSrc = path.resolve(__dirname, '../../../src'); // node_modules应
 //  'statisticalReport','systemConfig','TMS','WMS','workFlow']
 let devModules = ['all']
 // let devModules = ['index','RMS'];
-// let devModules = ['index','queue','inward']
+// let devModules = ['index','queue','sale']
 if (pathSrc.indexOf('node_modules') > -1) {
     devModules = require('../../../cors.js').devModules;
 }

+ 2 - 2
config/index.js

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

二进制
dist.zip


+ 151 - 136
src/views/TMS/components/importedMineral/addTransportAppoint.vue

@@ -2,30 +2,28 @@
   <!-- 新增运输作业页面 -->
   <div id="contractDetails">
     <page-title>运输预约</page-title>
-     <div style="text-align: center; font-size:20px; font-weight:bold; margin-top:15px; color:green">
-      <span>进口矿预约界面</span>
+    <div
+      style="text-align: center; font-size:20px; font-weight:bold; margin-top:15px; color:green"
+    >
+      <span>矿石预约界面</span>
     </div>
     <div class="supplieUnit">
-      <el-form
-        :inline="true"
-        class="demo-form-inline"
-        label-width="80px"
-        >
+      <el-form :inline="true" class="demo-form-inline" label-width="80px">
         <el-form-item label="发货单位:">
-         <el-autocomplete
-          class="inline-input"
-          v-model="stateSupplier"
-          :fetch-suggestions="querySearchSupplier"
-          placeholder="请输入发货单位名称"
-          :trigger-on-focus="false"
-          @select="handleSelectSupplier"
-        >
-        <template slot-scope="{ item }">
-          <div class="name">{{ item.supplierName }}</div>
-        </template>
-        </el-autocomplete>
+          <el-autocomplete
+            class="inline-input"
+            v-model="stateSupplier"
+            :fetch-suggestions="querySearchSupplier"
+            placeholder="请输入发货单位名称"
+            :trigger-on-focus="false"
+            @select="handleSelectSupplier"
+          >
+            <template slot-scope="{ item }">
+              <div class="name">{{ item.supplierName }}</div>
+            </template>
+          </el-autocomplete>
         </el-form-item>
-     </el-form>
+      </el-form>
     </div>
     <div class="material from">
       <span class="text">物资:</span>
@@ -34,7 +32,7 @@
     </div>
     <div class="remark from">
       <span class="text">船名:</span>
-      <el-input class="input" v-model="remark" @blur="onBlur" :disabled="true"> </el-input>
+      <el-input class="input" v-model="remark" @blur="onBlur"> </el-input>
       <span class="span"></span>
     </div>
     <div class="forwardingUnit from">
@@ -68,28 +66,28 @@
       <el-switch v-model="isMoreTrips" active-text="是" inactive-text="否">
       </el-switch>
     </div>
-      <!-- 物资和装卸点以及装卸货次序 -->
+    <!-- 物资和装卸点以及装卸货次序 -->
     <div class="swtichTop">
-    <span class="titile">选择车辆前请选择物资单位!</span>
-    <div class="switch" v-if="selectionList.length > 0">
-      <el-tooltip placement="top">
-        <div slot="content">下面表格已有数据,不能进行更改!!!</div>
-        <el-switch
-          v-model="value"
-          active-text="件数"
-          inactive-text="重量"
-          disabled
-        >
-        </el-switch>
-      </el-tooltip>
-    </div>
-    <div class="switch" v-else>
-      <el-tooltip placement="top">
-        <div slot="content">当下面表格有数据之后,将不能进行更改!!!</div>
-        <el-switch v-model="value" active-text="件数" inactive-text="重量">
-        </el-switch>
-      </el-tooltip>
-    </div>
+      <span class="titile">选择车辆前请选择物资单位!</span>
+      <div class="switch" v-if="selectionList.length > 0">
+        <el-tooltip placement="top">
+          <div slot="content">下面表格已有数据,不能进行更改!!!</div>
+          <el-switch
+            v-model="value"
+            active-text="件数"
+            inactive-text="重量"
+            disabled
+          >
+          </el-switch>
+        </el-tooltip>
+      </div>
+      <div class="switch" v-else>
+        <el-tooltip placement="top">
+          <div slot="content">当下面表格有数据之后,将不能进行更改!!!</div>
+          <el-switch v-model="value" active-text="件数" inactive-text="重量">
+          </el-switch>
+        </el-tooltip>
+      </div>
     </div>
     <div class="truckListTable">
       <el-table
@@ -236,23 +234,23 @@ export default {
   data() {
     return {
       //限定first
-      isHeigth:true,
-      shiyHeigth:140,
+      isHeigth: true,
+      shiyHeigth: 140,
       //限定second
-      isHeigth1:true,
-      shiyHeigth1:140,
+      isHeigth1: true,
+      shiyHeigth1: 140,
       //限定third
-      isHeigth2:true,
-      shiyHeigth2:140,
+      isHeigth2: true,
+      shiyHeigth2: 140,
       //限定unloadPoint
-      isHeigth3:true,
-      shiyHeigth3:140,
+      isHeigth3: true,
+      shiyHeigth3: 140,
       //限定line
-      isHeigth4:true,
-      shiyHeigth4:140,
+      isHeigth4: true,
+      shiyHeigth4: 140,
       //限定purchaseOrder
-      isHeigth5:true,
-      shiyHeigth5:140,
+      isHeigth5: true,
+      shiyHeigth5: 140,
       isKuang: false,
       //采购订单号
       purchaseOrderNo: "",
@@ -270,23 +268,23 @@ export default {
         {
           prop: "capacityNumber",
           label: "车牌号",
-          width: "140",
+          width: "140"
         },
         {
           prop: "carrierName",
           label: "承运商",
-          width: "140",
+          width: "140"
         },
         {
           prop: "orderMaterialWeight",
           label: "重量",
-          slot: true,
-        },
+          slot: true
+        }
       ],
       //发货单位名称
       supplierName: "",
-      stateSupplier:null,
-      restaurantsSupplier:null,
+      stateSupplier: null,
+      restaurantsSupplier: null,
       //车辆表格数据
       selectionList: [],
       // 表单
@@ -315,38 +313,38 @@ export default {
       frist: {
         requestUrl: "",
         selectionType: "radio",
-        mapList1: [],
+        mapList1: []
       },
       secend: {
         requestUrl: "",
         selectionType: "radio",
-        mapList2: [],
+        mapList2: []
       },
       third: {
         requestUrl: "",
         selectionType: "select",
-        mapList3: [],
+        mapList3: []
       },
       unloadPoint: {
         requestUrl: "",
-        selectionType: "radio",
+        selectionType: "radio"
       },
       line: {
         requestUrl: "",
-        selectionType: "radio",
+        selectionType: "radio"
       },
       purchaseOrder: {
         requestUrl: "",
-        selectionType: "radio",
+        selectionType: "radio"
       },
-      truckList:[]
+      truckList: []
     };
   },
   watch: {
     drawer(val) {
       if (val) {
         this.input = null;
-      }   
+      }
     },
     value() {
       if (this.value) {
@@ -354,17 +352,17 @@ export default {
         this.tableTop.push({
           prop: "orderMaterialNumber",
           label: "件数",
-          slot: true,
+          slot: true
         });
       } else {
         this.tableTop.splice(this.tableTop.length - 1, 1);
         this.tableTop.push({
           prop: "orderMaterialWeight",
           label: "重量",
-          slot: true,
+          slot: true
         });
       }
-    },
+    }
   },
   created() {
     if (getCookie("orgCode") == "chengyunshang") {
@@ -383,49 +381,59 @@ export default {
     onBlur() {
       this.getPurchaseOrderNo();
     },
-      //发货单位弹出层
-    handleSelectSupplier(item){
-      this.supplierId = item.supplierId
-      this.supplierName = item.supplierName
+    //发货单位弹出层
+    handleSelectSupplier(item) {
+      this.supplierId = item.supplierId;
+      this.supplierName = item.supplierName;
     },
     //以下是发货单位边输边查搜索
     querySearchSupplier(queryString, cb) {
-        this.axios.post('/api/v1/uc/getSupplierMesByLike?index='+this.stateSupplier).then((res)=>{
-        if(res.data.code == "200"){    
-          var restaurantsSupplier = res.data.data
-          var results = queryString ? restaurantsSupplier.filter(this.createFilterSupplier(queryString)) :restaurantsSupplier;
-          // 调用 callback 返回建议列表的数据
-          cb(results);
-        }
-      })  
-      },
+      this.axios
+        .post("/api/v1/uc/getSupplierMesByLike?index=" + this.stateSupplier)
+        .then(res => {
+          if (res.data.code == "200") {
+            var restaurantsSupplier = res.data.data;
+            var results = queryString
+              ? restaurantsSupplier.filter(
+                  this.createFilterSupplier(queryString)
+                )
+              : restaurantsSupplier;
+            // 调用 callback 返回建议列表的数据
+            cb(results);
+          }
+        });
+    },
     createFilterSupplier(queryString) {
-        return (restaurantsSupplier) => {
-          return (restaurantsSupplier.value.toLowerCase().indexOf(queryString.toLowerCase()) > -1);
-        };
-      },
+      return restaurantsSupplier => {
+        return (
+          restaurantsSupplier.value
+            .toLowerCase()
+            .indexOf(queryString.toLowerCase()) > -1
+        );
+      };
+    },
     getPurchaseOrderNo() {
       let map = {
         materialId: this.materialId,
-        supplierId: this.supplierId,
+        supplierId: this.supplierId
       };
       if (this.remark) {
         map.remark = this.remark;
       }
       console.log(this.map);
       if (this.materialId && this.supplierId) {
-        this.axios.post("/api/v1/oms/selectNewOrderId", map).then((res) => {
+        this.axios.post("/api/v1/oms/selectNewOrderId", map).then(res => {
           console.log(res);
           if (res.data.code == "200") {
             if (res.data.data == null) {
               this.$message({
                 message: "没有匹配的采购订单号!",
-                type: "warning",
+                type: "warning"
               });
               this.form1 = [];
               this.remark = null;
               this.purchaseOrderNo = null;
-              this.purchaseOrderId = null
+              this.purchaseOrderId = null;
             } else {
               console.log();
               this.remark = res.data.data.remark;
@@ -444,7 +452,9 @@ export default {
         if (this.onDrawerNumber == 1) {
           this.frist.requestUrl =
             "/api/v1/uc/queryAPOMaterialByLike?apiId=244&startNum=050&index=" +
-            this.input + "&supplierId=" + this.supplierId;
+            this.input +
+            "&supplierId=" +
+            this.supplierId;
         } else if (this.onDrawerNumber == 2) {
           this.secend.requestUrl =
             "/api/v1/uc/getSupplierMesByMaterialId?apiId=247&materialId=" +
@@ -485,7 +495,9 @@ export default {
         if (this.onDrawerNumber == 1) {
           this.frist.requestUrl =
             "/api/v1/uc/queryAPOMaterialByLike?apiId=244&startNum=050&i=" +
-            new Date() + "&supplierId=" + this.supplierId;
+            new Date() +
+            "&supplierId=" +
+            this.supplierId;
         } else if (this.onDrawerNumber == 2) {
           this.secend.requestUrl =
             "/api/v1/uc/getSupplierMesByMaterialId?apiId=247&materialId=" +
@@ -526,25 +538,26 @@ export default {
       console.log(res);
       this.isKuang = false;
     },
-    refreshTable(){
-    },
+    refreshTable() {},
     ondrawer(num) {
-        console.log(this.supplierId)
-      if(this.supplierId == null){
-          this.$message.warning("请先选择发货单位")
-          return
+      console.log(this.supplierId);
+      if (this.supplierId == null) {
+        this.$message.warning("请先选择发货单位");
+        return;
       }
-      if(num != 1 && this.materialId == null){
-          this.$message.warning("请先选择物资")
-          return
+      if (num != 1 && this.materialId == null) {
+        this.$message.warning("请先选择物资");
+        return;
       }
       this.drawer = true;
       this.onDrawerNumber = num;
-      this.refreshTable()
+      this.refreshTable();
       if (num == 1) {
-          this.frist.requestUrl =
+        this.frist.requestUrl =
           "/api/v1/uc/queryAPOMaterialByLike?apiId=244&startNum=050&index=" +
-          this.input + "&supplierId=" + this.supplierId;   
+          this.input +
+          "&supplierId=" +
+          this.supplierId;
       } else if (num == 2) {
         this.secend.requestUrl =
           "/api/v1/uc/getSupplierMesByMaterialId?apiId=247&materialId=" +
@@ -569,7 +582,8 @@ export default {
           "/api/v1/uc/getUnloadingMesByLike?apiId=374&i=" + new Date();
       } else if (num == 5) {
         this.line.requestUrl =
-          "/api/v1/rms/getAllLineDesk?apiId=249&lineType=3&con=进口矿&i=" + new Date();
+          "/api/v1/rms/getAllLineDesk?apiId=249&lineType=3&con=矿石&i=" +
+          new Date();
       } else if (num == 6) {
         this.purchaseOrder.requestUrl =
           "/api/v1/ams/getPurchaseOrderList?apiId=81&sendCompId=" +
@@ -583,7 +597,7 @@ export default {
       this.$router.push("/transportReserveRan");
     },
     currentRadioChange1(selection) {
-      this.remark = null
+      this.remark = null;
       this.materialName = selection.materialName;
       this.materialId = selection.materialId;
       this.getPurchaseOrderNo();
@@ -605,7 +619,7 @@ export default {
       this.purchaseOrderId = selection.purchaseOrderId;
     },
     currentRadioChange3(selection) {
-      this.selectionList = []
+      this.selectionList = [];
       this.selectionList = selection;
     },
     // 确认
@@ -624,38 +638,37 @@ export default {
         if (!this.materialId) {
           this.$message({
             message: "请选择物资!",
-            type: "warning",
+            type: "warning"
           });
           return;
-        } 
-         else if (!this.supplierId) {
+        } else if (!this.supplierId) {
           this.$message({
             message: "请选择发货单位!",
-            type: "warning",
+            type: "warning"
           });
           return;
         } else if (!this.purchaseOrderId) {
           this.$message({
             message: "没有匹配的采购订单号!",
-            type: "warning",
+            type: "warning"
           });
           return;
         } else if (!this.unloadPointId) {
           this.$message({
             message: "请选择卸货地点!",
-            type: "warning",
+            type: "warning"
           });
           return;
         } else if (!this.lineId) {
           this.$message({
             message: "请选择运输路线!",
-            type: "warning",
+            type: "warning"
           });
           return;
         } else if (!sjTime(this.form1.orderEntryTime)) {
           this.$message({
             message: "请选择预估进厂时间!",
-            type: "warning",
+            type: "warning"
           });
           return;
         }
@@ -663,11 +676,11 @@ export default {
       if (this.selectionList.length == 0) {
         this.$message({
           message: "请选择车辆!",
-          type: "warning",
+          type: "warning"
         });
         return;
       } else {
-        this.selectionList.forEach((e) => {
+        this.selectionList.forEach(e => {
           if (e.orderMaterialWeight) {
             if (isNumber(e.orderMaterialWeight)) {
               if (isIntegerNumber(e.orderMaterialWeight)) {
@@ -675,14 +688,14 @@ export default {
               } else {
                 this.$message({
                   message: "重量只能是整数!",
-                  type: "warning",
+                  type: "warning"
                 });
                 return;
               }
             } else {
               this.$message({
                 message: "重量只能是数字!",
-                type: "warning",
+                type: "warning"
               });
               return;
             }
@@ -698,19 +711,19 @@ export default {
         driverCapacityIdList: this.selectionList,
         orderType: 8,
         lineId: this.lineId,
-        isMoreTrips: this.isMoreTrips,
+        isMoreTrips: this.isMoreTrips
       };
-      this.axios.post("/api/v1/oms/addPurOrder", map).then((res) => {
+      this.axios.post("/api/v1/oms/addPurOrder", map).then(res => {
         if (res.data.code == "200") {
           this.$message({
             message: "添加成功!",
-            type: "success",
+            type: "success"
           });
           this.$router.push("/mineralTransportAppoint");
         }
       });
-    },
-  },
+    }
+  }
 };
 </script>
 <style lang="scss">
@@ -759,18 +772,18 @@ export default {
     height: 1px;
   }
 }
-.swtichTop{
+.swtichTop {
   display: flex;
   height: 40px;
   align-content: center;
   justify-content: center;
-  padding-right:20px ;
-  .titile{
+  padding-right: 20px;
+  .titile {
     color: red;
     font-size: 14px;
   }
-  .switch{
-    margin-right: -30px
+  .switch {
+    margin-right: -30px;
   }
 }
 .supplieUnit {
@@ -855,14 +868,16 @@ export default {
     }
   }
 }
-.drawer_top{
+.drawer_top {
   margin-top: -50px;
-  width: 100%;height: 60px;
+  width: 100%;
+  height: 60px;
   display: flex;
   align-items: center;
 }
-.drawer_table1{
-  width: 100%;height: 500px;
+.drawer_table1 {
+  width: 100%;
+  height: 500px;
 }
 .button_box {
   display: flex;
@@ -871,4 +886,4 @@ export default {
   width: 100%;
   height: 100px;
 }
-</style>
+</style>

+ 29 - 3
src/views/WMS/components/steel/addSteelInbound.vue

@@ -55,6 +55,8 @@ export default {
   components: { PageTitle },
   data() {
     return {
+      startTime:null,
+      endTime:null,
       max:null,
       disabled:false,
       //仓库名称
@@ -95,20 +97,44 @@ export default {
     },
   },
   created() {
-      
+      let strTime=this.formatDate(new Date(),"yyyy-MM-dd hh:mm:ss")
+      this.startTime= Date.parse(new Date(strTime));
+      this.endTime=new Date(this.startTime+86400000);
   },
   methods: {
+    formatDate (date, fmt) {
+        if (/(y+)/.test(fmt)) {
+          fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length))
+        }
+        let o = {
+          'M+': date.getMonth() + 1,
+          'd+': date.getDate(),
+          'h+': 0,
+          'm+': 0,
+          's+': 0
+      }
+      for (let k in o) {
+        if (new RegExp(`(${k})`).test(fmt)) {
+          let str = o[k] + ''
+          fmt = fmt.replace(RegExp.$1, RegExp.$1.length === 1 ? str : this.padLeftZero(str))
+        }
+            }
+      return fmt
+    },
+    padLeftZero (str) {
+        return ('00' + str).substr(str.length)
+    },
     onclick(a) {
       if (a == 1) {
         console.log(this.input)
-        this.first.requestUrl = "/api/v1/wms/getSteelMaterialModelList?apiId=447&warehouseId="+3+"&status="+1+"&con="+this.input
+        this.first.requestUrl = "/api/v1/wms/getSteelMaterialModelList?apiId=447&warehouseId="+3+"&status="+1+"&con="+this.input+"&startTime=" + sjTime(this.startTime) + "&endTime=" + sjTime(this.endTime)
       }
     },
     ondrawer(num) {
       this.drawer = true;
       this.a = num;
       if(num==1){
-          this.first.requestUrl = "/api/v1/wms/getSteelMaterialModelList?apiId=447&warehouseId="+3+"&status="+1+"&con="+""
+          this.first.requestUrl = "/api/v1/wms/getSteelMaterialModelList?apiId=447&warehouseId="+3+"&status="+1+"&con="+""+"&startTime=" + sjTime(this.startTime) + "&endTime=" + sjTime(this.endTime)
       }
     },
     // 返回

+ 4 - 5
src/views/WMS/components/steel/bar1_steel/bar1_steel_inboundReal.vue

@@ -14,9 +14,7 @@
         <el-option label="中班" value="2"></el-option>
         <el-option label="晚班" value="3"></el-option>
       </el-select>
-      <el-button type="primary" class="btn" @click="onclick">
-        <i class="el-icon-search"></i>查询
-      </el-button>
+
       <!-- <el-button type="primary" class="btn" @click="onreserved">
         预留
       </el-button> -->
@@ -86,7 +84,7 @@ export default {
           });
         });
     },
-    },
+
     // 获取当前月份的最后一天
     getdaysinmonth(year,month){
       month = parseInt(month,10)+1;
@@ -197,7 +195,7 @@ export default {
       if (startTime && endTime) {
         if (startTime < endTime) {
           // if(getCookie("orgCode") == "dagangadmin" || getCookie("orgCode") == "zidonghuabu"){
-          this.options.requestUrl = "/api/v1/wms/getWmsInboundResults?apiId=350&warehouseId="+1+"&startTime=" + startTime + "&endTime=" + endTime + "&i=" +new Date();
+          this.options.requestUrl = "/api/v1/wms/getWmsInboundResults?apiId=450&warehouseId="+1+"&startTime=" + startTime + "&endTime=" + endTime + "&i=" +new Date();
           // }else if(getCookie("orgCode") == "wuliuchuyunzhongxin"){
           // this.options.requestUrl = "/api/v1/wms/getWmsInboundResults?apiId=371&orderType=13&startTime=" + startTime + "&endTime=" + endTime + "&i=" +new Date(); 
           // }else{
@@ -269,6 +267,7 @@ export default {
       }
     }
   }
+}
 
 </script>
 

+ 76 - 12
src/views/WMS/components/steel/steel_inbound.vue

@@ -3,11 +3,19 @@
   <div class="steel_inbound">
     <div class="sache">
       <span class="text">入库时间:</span>
-      <el-date-picker v-model="startTime" type="datetime" placeholder="选择日期">
+      <el-date-picker disabled v-model="startTime" type="datetime" placeholder="选择日期">
       </el-date-picker>
       <span class="text">至</span>
-      <el-date-picker v-model="endTime" type="datetime" placeholder="选择日期">
+      <el-date-picker disabled v-model="endTime" type="datetime" placeholder="选择日期">
       </el-date-picker>
+      <span class="text">物资类型</span>
+      <el-autocomplete
+      class="inputStyle"
+      v-model="inputText"
+      :fetch-suggestions="querySearch"
+      placeholder="请输入内容"
+      @select="handleSelect"
+    ></el-autocomplete>
       <el-button type="primary" class="btn" @click="onclick">
         <i class="el-icon-search"></i>查询
       </el-button>
@@ -16,7 +24,7 @@
       </el-button>
     </div>
     <div class="table">
-      <dilTable v-bind.sync="options" >
+      <dilTable v-if="tableShow" :selectionType="selectionType"  v-bind.sync="options" >
       </dilTable>
     </div>
   </div>
@@ -28,6 +36,8 @@ import { getCookie } from '@/utils/util.js';
 export default {
   data(){
     return{
+      tableShow:false,
+      selectionType:"",
       inputText:"",
       startTime: null,
       endTime: null,
@@ -39,8 +49,55 @@ export default {
       },
     }
   },
-  
+  mounted(){
+
+    var date = new Date();
+    let dateStr=this.formatDate(date, 'yyyy-MM-dd hh:mm:ss');
+    
+    this.startTime= Date.parse(new Date(dateStr));
+    this.endTime=new Date(this.startTime+86400000);
+
+    this.options.requestUrl= "/api/v1/wms/getWmsInboundResult?apiId=371&warehouseId="+3+"&startTime=" + sjTime(this.startTime) + "&endTime=" + sjTime(this.endTime) ;
+    this.tableShow=true;
+  },
   methods:{
+    formatDate (date, fmt) {
+        if (/(y+)/.test(fmt)) {
+          fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length))
+        }
+        let o = {
+          'M+': date.getMonth() + 1,
+          'd+': date.getDate(),
+          'h+': 0,
+          'm+': 0,
+          's+': 0
+      }
+      for (let k in o) {
+        if (new RegExp(`(${k})`).test(fmt)) {
+          let str = o[k] + ''
+          fmt = fmt.replace(RegExp.$1, RegExp.$1.length === 1 ? str : this.padLeftZero(str))
+        }
+            }
+      return fmt
+    },
+    padLeftZero (str) {
+        return ('00' + str).substr(str.length)
+    },
+     querySearch(queryString, cb) {
+        var restaurants = [ 
+                            {"value":"螺纹钢"},
+                            {"value":"盘螺"},
+                            {"value":"乱尺"}
+                          ];
+        var results = queryString ? restaurants.filter(this.createFilter(queryString)) : restaurants;
+        // 调用 callback 返回建议列表的数据
+        cb(results);
+      },
+      createFilter(queryString) {
+        return (restaurant) => {
+          return (restaurant.value.toLowerCase().indexOf(queryString.toLowerCase()) === 0);
+        };
+      },
     // inboundDetails(scope){
     //   	this.$router.push("/inboundDetails/" + scope.row.inboundId)
     // },
@@ -56,26 +113,27 @@ export default {
       }
       if (startTime && endTime) {
         if (startTime < endTime) {
-          // if(getCookie("orgCode") == "dagangadmin" || getCookie("orgCode") == "zidonghuabu"){
           this.options.requestUrl = "/api/v1/wms/getWmsInboundResult?apiId=371&warehouseId="+3+"&startTime=" + startTime + "&endTime=" + endTime + "&i=" +new Date();
-
-          // }else if(getCookie("orgCode") == "wuliuchuyunzhongxin"){
-          // this.options.requestUrl = "/api/v1/wms/getWmsInboundResult?apiId=371&orderType=13&startTime=" + startTime + "&endTime=" + endTime + "&i=" +new Date(); 
-          // }else{
-          // this.options.requestUrl = '/api/v1/wms/getWmsInboundResult?apiId=371&userId=' + getCookie("orgCode") +"&startTime=" + startTime + "&endTime=" + endTime + "&i=" +new Date(); 
-          // }
+          this.options.requestQuery={
+            "materialNames":this.inputText
+          }
+          // this.selectionType="select";
         } else {
           this.startTime = null;
           this.endTime = null;
           this.$message.warning("开始时间要比结束时间早");
         }
       } else {
-        this.getRequestUrl()
+         this.$message.warning("没有选择时间段");
+        // this.getRequestUrl()
       }
     },
     selectionChange(selection) {
       this.options.mapList = selection;
     },
+    handleSelect(item) {
+        console.log(item);
+    },
     onreserved(){
       this.$router.push({
         path: "/addSteelInbound",
@@ -89,10 +147,16 @@ export default {
 .steel_inbound{
   margin-top: 30px;
   margin-left: 20px;
+   
     .sache{
       display: flex;
       margin-bottom: 10px;
       padding-right: 10px;
+       .inputStyle{
+          width: 200px;
+          margin-right: 5px;
+        margin-left: 5px;
+        }
       .text {
         text-align: left;
         line-height: 40px;

+ 1 - 0
src/views/WMS/components/steel/steel_inboundReal.vue

@@ -66,6 +66,7 @@ export default {
       return days;
     },
     onclick(){
+      console.log("nihaohhh")
       let startTime = null;
       let endTime = null;
       

+ 40 - 39
src/views/appoint/components/saleContract/addSaleOrder.vue

@@ -173,7 +173,7 @@
         <el-button type="primary" class="btn" @click="createACar">添加到订单</el-button>
     </div>
 
-
+    <div style="margin-left: 0.3rem;color:red">(注:一个车序号代表一辆车)</div>
     <!-- 销售订单信息table2 -->
     <div class="selectionTable from">
       <el-table
@@ -862,18 +862,20 @@ export default {
     },
     //删除一车数据
     deleteRow(index, rows) {
-      //动态调整车序号
-      rows.forEach((e) => {
-          if(rows[index].cxh<e.cxh){
-            e.cxh-=1;
-          }
-      });
       //删除车序号相同的行
-      rows.splice(index, this.spanArr[index]);
-      //重置合并行数组
-      this.spanArr.splice(index, this.spanArr[index]);
-      //最大车序号减1
-      this.maxCxh-=1;
+      if(this.spanArr[index]==1){
+        //动态调整车序号
+        rows.forEach((e) => {
+            if(rows[index].cxh<e.cxh){
+              e.cxh-=1;
+            }
+        });
+        //最大车序号减1
+        this.maxCxh-=1;
+      }
+      rows.splice(index, 1);
+      //调用记录每一行的合并数的方法
+      this.getSpanArr(this.selectionList);
     },
     //准备生成部分订单
     createACar(){
@@ -899,7 +901,6 @@ export default {
       }else if(!this.saleShipperAddressName&&this.values=='no'){
         this.$message.warning("收货地址未填写!");
       }else if(this.materialList.length==1&&this.materialList[0].carNumber!=null){
-          if(this.materialList[0].orderPlanWeight/this.materialList[0].carNumber)
           var eachOrderPlanWeight = this.materialList[0].orderPlanWeight/this.materialList[0].carNumber;
           if(isIntegerNumber(eachOrderPlanWeight)){
             var e = this.materialList[0];
@@ -1075,30 +1076,30 @@ export default {
                   colspan: _col
             }
       }
-      if (columnIndex === 8) {
-            const _row = this.spanArr[rowIndex];
-            const _col = _row > 0 ? 1 : 0;
-            return {
-                  rowspan: _row,
-                  colspan: _col
-            }
-      }
-      if (columnIndex === 9) {
-            const _row = this.spanArr[rowIndex];
-            const _col = _row > 0 ? 1 : 0;
-            return {
-                  rowspan: _row,
-                  colspan: _col
-            }
-      }
-      if (columnIndex === 10) {
-            const _row = this.spanArr[rowIndex];
-            const _col = _row > 0 ? 1 : 0;
-            return {
-                  rowspan: _row,
-                  colspan: _col
-            }
-      }
+      // if (columnIndex === 8) {
+      //       const _row = this.spanArr[rowIndex];
+      //       const _col = _row > 0 ? 1 : 0;
+      //       return {
+      //             rowspan: _row,
+      //             colspan: _col
+      //       }
+      // }
+      // if (columnIndex === 9) {
+      //       const _row = this.spanArr[rowIndex];
+      //       const _col = _row > 0 ? 1 : 0;
+      //       return {
+      //             rowspan: _row,
+      //             colspan: _col
+      //       }
+      // }
+      // if (columnIndex === 10) {
+      //       const _row = this.spanArr[rowIndex];
+      //       const _col = _row > 0 ? 1 : 0;
+      //       return {
+      //             rowspan: _row,
+      //             colspan: _col
+      //       }
+      // }
     },
     //点击外层收货地址浏览事件
     ondrawerOut(){
@@ -1241,7 +1242,7 @@ export default {
                 //车序号
                 truckNo : 0,
                 //省市县id
-                shippingAddressId : 0,
+                shipperAddressId : 0,
                 //具体地址
                 place :null,
                 //截止日期
@@ -1258,7 +1259,7 @@ export default {
                 isPoundSale : 0,
             };
         mapItem.truckNo=item.cxh;
-        mapItem.shippingAddressId=item.saleShipperAddressId;
+        mapItem.shipperAddressId=item.saleShipperAddressId;
         mapItem.place=item.place;
         mapItem.saleDateOfReceipt=sjTime(item.saleDateOfReceipt);
         mapItem.saleOrderConsigneeTel=item.saleOrderConsigneeTel;

+ 4 - 1
src/views/appoint/components/saleContract/addSaleOrderArrange.vue

@@ -463,6 +463,10 @@ export default {
           //车序号自增
           var cxhStart = row.cxh;
           for(var j = 0;j<this.selectionList[i].arragneCount; j++){
+            //增加选择单价累加
+            if(row.priceValue){
+              this.choosePriceCount++;
+            }
             arr.push({
             Specification:row.Specification,
             arragneCount:this.arragneCount,
@@ -479,7 +483,6 @@ export default {
             place:row.place,
             saleShipperAddressName:row.saleShipperAddressName,
           })
-
           }
           //确定车序号最大值并赋值给初始化车序号
           if(this.arragneCxh<cxhStart){

+ 48 - 19
src/views/appoint/components/saleContract/addSaleOrderCoproductSend.vue

@@ -945,25 +945,54 @@ export default {
               this.receiveCarrierId = res.data.data.carrierId;
               this.receiveCarrierName = res.data.data.carrierName;
             }
-            //生成下方表单单元格
-            for(i=0;i<this.carNumber;i++){
-            this.selectionList.push({
-            //销售订单与物资表主键
-            saleMaterialId:this.saleMaterialId,
-            capacityId:null,
-            carrierId:this.receiveCarrierId,
-            capacityNumber:null,
-            carrierName:this.receiveCarrierName,
-            materialName:this.materialName,
-            materialId:this.materialId,
-            orderPlanWeight:this.uniteOrderPlanWeight,
-            saleDateOfReceipt:this.uniteSaleDateOfReceipt,
-            lineName:this.lineName,
-            lineId:this.lineId,
-            priceValue:null,
-            priceId:null,
-            saleOrderConsignee:null
-            })
+            //若自提客户为四川西南水泥有限公司
+            if(this.receiveCarrierName=="四川西南水泥有限公司"){
+              this.axios.get('/api/v1/uc/getXiNanCarrier')
+              .then((res)=>{
+                  //生成下方表单单元格
+                  for(i=0;i<this.carNumber;i++){
+                    this.selectionList.push({
+                    //销售订单与物资表主键
+                    saleMaterialId:this.saleMaterialId,
+                    capacityId:null,
+                    carrierId:this.receiveCarrierId,
+                    capacityNumber:null,
+                    carrierName:this.receiveCarrierName,
+                    materialName:this.materialName,
+                    materialId:this.materialId,
+                    orderPlanWeight:this.uniteOrderPlanWeight,
+                    saleDateOfReceipt:this.uniteSaleDateOfReceipt,
+                    lineName:this.lineName,
+                    lineId:this.lineId,
+                    priceValue:null,
+                    priceId:null,
+                    saleOrderConsignee:null
+                    })
+                    this.carrierNameOptions.push(res.data.data)
+                  }
+                  console.log("res.data.data",res.data.data)
+              })  
+            }else{
+              //生成下方表单单元格
+              for(i=0;i<this.carNumber;i++){
+              this.selectionList.push({
+              //销售订单与物资表主键
+              saleMaterialId:this.saleMaterialId,
+              capacityId:null,
+              carrierId:this.receiveCarrierId,
+              capacityNumber:null,
+              carrierName:this.receiveCarrierName,
+              materialName:this.materialName,
+              materialId:this.materialId,
+              orderPlanWeight:this.uniteOrderPlanWeight,
+              saleDateOfReceipt:this.uniteSaleDateOfReceipt,
+              lineName:this.lineName,
+              lineId:this.lineId,
+              priceValue:null,
+              priceId:null,
+              saleOrderConsignee:null
+              })
+              }
             }
           });
         }   

+ 45 - 15
src/views/appoint/components/saleContract/addSaleOrderSteelSend.vue

@@ -60,6 +60,16 @@
                 ></el-autocomplete>
               </template>
 
+              <!-- 司机电话号码 -->
+              <template v-if="item.prop == 'driverTel'">
+                <el-input
+                  class="textinput"
+                  placeholder="(必填)"
+                  @blur="checkIsTelephone(scope.$index)"
+                  v-model="scope.row.driverTel"
+                ></el-input>
+              </template>
+
               <!-- 承运商 -->
               <template v-if="item.prop == 'carrierName'">
                 <el-autocomplete
@@ -175,6 +185,8 @@ export default {
       carrierNameOptions:[],
       //当前车序号物资
       selectionList:[],
+      //是否可发送请求
+      canSend: 1,
       tableTop: [
         {
           prop: "truckNo",
@@ -187,6 +199,12 @@ export default {
           width: "130",
           slot: true,
         },
+        {
+          prop: "driverTel",
+          label: "司机电话号码",
+          width: "150",
+          slot: true,
+        },
         {
           prop: "carrierName",
           label: "承运商",
@@ -292,6 +310,7 @@ export default {
                 truckNo: e.truckNo,
                 saleOrderMaterialId: e.saleOrderMaterialId,
                 capacityNumber: null,
+                driverTel: null,
                 carrierName: null,
                 carrierId: null,
                 materialId: e.materialId,
@@ -454,21 +473,21 @@ export default {
     },
     //以上是车牌号边输边查搜索
 
+    //校验是否为电话号码
+    checkIsTelephone(index){
+      //电话号码校验
+      var reg = /^[1][345789]\d{9}$/;
+      if(!reg.test(this.selectionList[index].driverTel)){
+        this.canSend = -1;
+        this.$message.warning('电话号码格式不正确,请输入正确的电话号码!')
+      }else{
+        this.canSend = 1;
+      }
+    },
     //点击确定按钮的事件
     makeSure(){
-      //是否可发送请求
-      var canSend = 1;
-      this.selectionList.forEach((e)=>{
-          if(e.carrierName==null){
-              canSend = 0;
-          }
-          if(isIntegerNumber(e.carrierName)){
-              e.carrierId = e.carrierName;
-          }
-        });
-      if(canSend==0){
-          //还有车序号未授权承运商
-          this.$message.warning('还有车序号未授权承运商!')
+      if(this.canSend==-1){
+          this.$message.warning('电话号码格式不正确,请输入正确的电话号码!')
       }else{
           this.$confirm("是否确定进行钢材派单!", "提示", {
               confirmButtonText: "确定",
@@ -479,7 +498,7 @@ export default {
             .then(() => {
               var mapList = [];
               for(var i=0;i<this.spanArr.length;i++){
-                  if(this.spanArr[i]>0){
+                  if(this.spanArr[i]>0&&this.selectionList[i].capacityNumber){
                   //从所有选中承运商Id和承运商名称暂存中取出当前行的承运商Id
                   this.carrierIdAndName.forEach((item) => {
                     if(this.selectionList[i].carrierName==item.carrierName){
@@ -489,6 +508,8 @@ export default {
                   var mapItem = {
                   //车牌号
                   capacityNumber : null,
+                  //司机电话号码
+                  driverTel : null,
                   //车序号主键
                   saleOrderMaterialId : 0,
                   //承运商Id
@@ -497,6 +518,7 @@ export default {
                   lineId : 0,
                 }
                 mapItem.capacityNumber = this.selectionList[i].capacityNumber,
+                mapItem.driverTel = this.selectionList[i].driverTel,
                 mapItem.saleOrderMaterialId = this.selectionList[i].saleOrderMaterialId,
                 mapItem.carrierId = this.selectionList[i].carrierId,
                 mapItem.lineId = this.selectionList[i].lineId,
@@ -640,7 +662,7 @@ export default {
                   colspan: _col
             }
       }
-      if (columnIndex === 7) {
+      if (columnIndex === 3) {
             const _row = this.spanArr[rowIndex];
             const _col = _row > 0 ? 1 : 0;
             return {
@@ -688,6 +710,14 @@ export default {
                   colspan: _col
             }
       }
+      if (columnIndex === 13) {
+            const _row = this.spanArr[rowIndex];
+            const _col = _row > 0 ? 1 : 0;
+            return {
+                  rowspan: _row,
+                  colspan: _col
+            }
+      }
     },
   },
 };

+ 44 - 10
src/views/appoint/components/saleContract/addSaleOrderSteelSendCarrier.vue

@@ -60,6 +60,16 @@
                 ></el-autocomplete>
               </template>
 
+              <!-- 司机电话号码 -->
+              <template v-if="item.prop == 'driverTel'">
+                <el-input
+                  class="textinput"
+                  placeholder="(必填)"
+                  @blur="checkIsTelephone(scope.$index)"
+                  v-model="scope.row.driverTel"
+                ></el-input>
+              </template>
+
               <!-- 承运商 -->
               <template v-if="item.prop == 'carrierName'">
                  <el-select v-model="scope.row.carrierName" placeholder="请选择"  
@@ -168,6 +178,8 @@ export default {
       carrierNameOptions:[],
       //当前车序号物资
       selectionList:[],
+      //是否可发送请求
+      canSend: 1,
       tableTop: [
         {
           prop: "truckNo",
@@ -180,6 +192,12 @@ export default {
           width: "130",
           slot: true,
         },
+        {
+          prop: "driverTel",
+          label: "司机电话号码",
+          width: "150",
+          slot: true,
+        },
         {
           prop: "carrierName",
           label: "承运商",
@@ -286,6 +304,7 @@ export default {
                 truckNo: e.truckNo,
                 saleOrderMaterialId: e.saleOrderMaterialId,
                 capacityNumber: null,
+                driverTel: null,
                 carrierName: e.carrierName,
                 carrierId: e.carrierId,
                 materialId: e.materialId,
@@ -426,18 +445,22 @@ export default {
     },
     //以上是车牌号边输边查搜索
 
+     //校验是否为电话号码
+    checkIsTelephone(index){
+      //电话号码校验
+      var reg = /^[1][345789]\d{9}$/;
+      if(!reg.test(this.selectionList[index].driverTel)){
+        this.canSend = -1;
+        this.$message.warning('电话号码格式不正确,请输入正确的电话号码!')
+      }else{
+        this.canSend = 1;
+      }
+    },
     //点击确定按钮的事件
     makeSure(){
       //是否可发送请求
-      var canSend = 1;
-      this.selectionList.forEach((e)=>{
-          if(e.capacityNumber==null){
-              canSend = 0;
-          }
-      });
-      if(canSend==0){
-          //还有车牌号未填写
-          this.$message.warning('还有车牌号未填写!')
+      if(this.canSend==-1){
+          this.$message.warning('电话号码格式不正确,请输入正确的电话号码!')
       }else{
           this.$confirm("是否确定进行钢材派单!", "提示", {
               confirmButtonText: "确定",
@@ -452,6 +475,8 @@ export default {
                   var mapItem = {
                   //车牌号
                   capacityNumber : null,
+                  //司机电话号码
+                  driverTel : null,
                   //车序号主键
                   saleOrderMaterialId : 0,
                   //承运商Id
@@ -460,6 +485,7 @@ export default {
                   lineId : 0,
                 }
                 mapItem.capacityNumber = this.selectionList[i].capacityNumber,
+                mapItem.driverTel = this.selectionList[i].driverTel,
                 mapItem.saleOrderMaterialId = this.selectionList[i].saleOrderMaterialId,
                 mapItem.carrierId = this.selectionList[i].carrierId,
                 mapItem.lineId = this.selectionList[i].lineId,
@@ -602,7 +628,7 @@ export default {
                   colspan: _col
             }
       }
-      if (columnIndex === 7) {
+      if (columnIndex === 3) {
             const _row = this.spanArr[rowIndex];
             const _col = _row > 0 ? 1 : 0;
             return {
@@ -650,6 +676,14 @@ export default {
                   colspan: _col
             }
       }
+      if (columnIndex === 13) {
+            const _row = this.spanArr[rowIndex];
+            const _col = _row > 0 ? 1 : 0;
+            return {
+                  rowspan: _row,
+                  colspan: _col
+            }
+      }
     },
   },
 };

文件差异内容过多而无法显示
+ 1268 - 233
src/views/appoint/components/saleContract/editSaleOrder.vue


+ 3 - 3
src/views/appoint/components/saleContract/saleOrderSteel.vue

@@ -25,12 +25,12 @@
                 size="small"
                 >上传</el-button
               >
-              <!-- <el-button
+              <el-button
                 @click="click(scope.row.saleOrderId)"
                 type="text"
                 size="small"
                 >修改</el-button
-              > -->
+              >
               <el-button
                 type="text"
                 size="small"
@@ -170,7 +170,7 @@ export default {
       option4: {
         // 表格请求数据的地址
         requestUrl:
-          "/api/v1/ams/getSaleOrderListBySaleCompanyes?apiId=409&shipperId=1",
+          "/api/v1/ams/getSaleOrderListBySaleCompanyes?apiId=409&shipperId=1&saleType=1",
       },
       mapList: [],
       mapItemList:[],

+ 6 - 6
src/views/appoint/components/saleContract/saleOrderSteelCar.vue

@@ -233,12 +233,12 @@ export default {
       console.log(tab, event);
     },
     onclick() {
-      if(this.activeName == "first"){
-        this.option.requestUrl = "/api/v1/ams/getSaleOrderInfoes?apiId=408&con="+this.input;
-      }else if(this.activeName == "second"){
-        this.option2.requestUrl = "/api/v1/ams/getSaleOrderReportedes?apiId=408&con="+this.input;      
-      }else if(this.activeName == "four"){
-        this.option4.requestUrl = "/api/v1/ams/getSaleOrderListBySaleCompanyes?apiId=409&shipperId=1&con="+this.input;      
+      if(this.activeName == "four"){
+        this.option4.requestUrl = "/api/v1/ams/getSteelTruckNoList?apiId=411&con="+this.input;
+      }else if(this.activeName == "five"){
+        this.option0.requestUrl = "/api/v1/ams/getNoCarTruckNoList?apiId=466&con="+this.input;         
+      }else if(this.activeName == "first"){
+        this.option.requestUrl = "/api/v1/ams/getHaveCarTruckNoList?apiId=466&con="+this.input;      
       }
     },
     seeclick(saleOrderId) {

+ 11 - 6
src/views/inward/components/truckAppoint/addRequirement2.vue

@@ -906,13 +906,18 @@ export default {
     justify-content: center;
     margin-top: 20px;
     margin-bottom: 20px;
-    ::v-deep .el-form-item {
+    ::v-deep .el-form {
       display: flex;
-      .el-form-item__label {
-        width: 170px !important;
-      }
-      .el-input {
-        width: 210px !important;
+      justify-content: center;
+      align-items: center;
+      margin-right: 500px;
+      .el-form-item {
+        .el-form-item__label {
+          width: 170px !important;
+        }
+        .el-input {
+          width: 210px !important;
+        }
       }
     }
   }

+ 37 - 24
src/views/queue/components/qmsEnFacotory/queueFStart.vue

@@ -56,7 +56,7 @@
           >
         </el-form-item>
         <el-form-item
-          ><el-button type="primary" class="btn" @click="onclick">
+          ><el-button type="primary" class="btn" @click="allow">
             <i class="el-icon-d-arrow-right"></i>放行
           </el-button></el-form-item
         >
@@ -68,13 +68,6 @@
           <dilTable v-bind.sync="option1" @selection-change="selectionChange">
             <el-table-column fixed="right" label="操作" width="180">
               <template slot-scope="scope">
-                <el-button
-                  type="text"
-                  size="mini"
-                  @click="allowEnfactory(scope)"
-                >
-                  放行进厂
-                </el-button>
                 <el-button type="text" size="mini" @click="updateBill(scope)">
                   修改提货单
                 </el-button>
@@ -109,15 +102,10 @@
             </el-table-column>
             <el-table-column prop="materialNumber" label="物资件数">
             </el-table-column>
+            <el-table-column prop="sureTime" label="可进厂确认时间">
+            </el-table-column>
             <el-table-column fixed="right" label="操作" width="180">
               <template slot-scope="scope">
-                <el-button
-                  type="text"
-                  size="mini"
-                  @click="allowEnfactory(scope)"
-                >
-                  放行进厂
-                </el-button>
                 <el-button type="text" size="mini" @click="updateBill(scope)">
                   修改提货单
                 </el-button>
@@ -130,6 +118,7 @@
   </div>
 </template>
 <script>
+import { getCookie } from "@/utils/util.js";
 export default {
   data() {
     return {
@@ -139,14 +128,11 @@ export default {
         requestUrl: "/api/v1/qms/getQueueListByQueueUp?apiId=473&isSpelling=0",
         selectionType: "select"
       },
-      option2: {
-        // 表格请求数据的地址
-        requestUrl: ""
-      },
       activeName: "first",
       tableData: [],
       //存放每一行记录的合并数
-      spanArr: []
+      spanArr: [],
+      maplist: []
     };
   },
   watch: {
@@ -181,7 +167,8 @@ export default {
         columnIndex === 1 ||
         columnIndex === 2 ||
         columnIndex === 3 ||
-        columnIndex === 8
+        columnIndex === 8 ||
+        columnIndex === 9
       ) {
         const _row = this.spanArr[rowIndex];
         const _col = _row > 0 ? 1 : 0;
@@ -194,16 +181,19 @@ export default {
     handleClick() {
       if (this.activeName == "first") {
         this.option1.requestUrl =
-          "/api/v1/qms/getQueueListByQueueUp?apiId=473&isSpelling=0";
+          "/api/v1/qms/getQueueListByQueueUp?apiId=473&isSpelling=0&i=" +
+          new Date();
       } else {
         this.getSpellingArray();
       }
     },
     getSpellingArray() {
       this.axios
-        .post("/api/v1/qms/getQueueListByQueueUp?apiId=473&isSpelling=1")
+        .post(
+          "/api/v1/qms/getQueueListByQueueUp?apiId=473&isSpelling=1&i=" +
+            new Date()
+        )
         .then(res => {
-          console.log(res.data.data);
           this.tableData = res.data.data;
           this.getSpanArr(this.tableData);
         });
@@ -219,16 +209,39 @@ export default {
         new Date();
     },
     handleSelectionChange(selection) {
+      this.maplist = [];
       console.log(selection);
+      this.maplist = selection;
       console.log("我被多选了");
     },
     selectionChange(selection) {
+      this.maplist = [];
       console.log(selection);
       console.log("我被单选了");
+      this.maplist = selection;
     },
     updateBill(scope) {
       console.log(scope.row.capacityId);
       this.$router.push("/editBill/" + scope.row.capacityId);
+    },
+    allow() {
+      let map = {
+        ssoId: getCookie("userId"),
+        mapList: this.maplist
+      };
+      if (this.maplist.length == 0) {
+        this.$message.error("请选择需要放行的车辆");
+        return;
+      }
+      this.axios.post("/api/v1/qms/allowEnFactory", map).then(res => {
+        if (res.data.code == "200") {
+          this.$message.success("放行成功,等待进厂");
+          this.option1.requestUrl =
+            "/api/v1/qms/getQueueListByQueueUp?apiId=473&isSpelling=0&i=" +
+            new Date();
+          this.getSpellingArray();
+        }
+      });
     }
   }
 };

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

@@ -0,0 +1,618 @@
+<template>
+    <div class="container">
+        <div id="amap-container"></div>
+         <div class="controller">
+             <div class="in_transit_information">
+                <span class="item_details">车牌号:</span> <el-input style="width: 100px;" class="inputStyle" v-model="carNumber"> </el-input>
+                
+             </div>
+             <div class="in_transit_information2">
+                <span class="item_details">时间段:</span>
+                <el-date-picker
+                class="date_picker_style"
+                v-model="time"
+                @change="changeTime"
+                type="datetimerange"
+                format="yyyy-MM-dd HH:mm:ss"
+                range-separator="至"
+                start-placeholder="开始日期"
+                end-placeholder="结束日期">
+                </el-date-picker>
+                <el-button type="primary" class="searchstyle" @click="initData">查询</el-button>
+             </div>
+            
+             <div class="driving_information">  
+                <span class="item_details">时间:{{runRoute.gtm}}</span>
+                <br/>
+                <span class="item_details">车速:{{runRoute.spd}}千米/小时</span>
+                <br/>
+                <!--控制条-->
+               
+             </div>
+              <div class="map-control" v-show="isActual">
+                    <!--播放暂停按钮-->
+                    进度:
+                  <Icon v-if="!isPlay" class="play-icon play"  type="ios-play" @click="isPlay=true;play();navgControl(playIcon)"/>
+                    <Icon v-else class="play-icon pause" type="ios-pause" @click="isPlay=false;stop();navgControl('pause')"/>
+                    <Icon class="play-icon quickly"  type="ios-play" @click="addIndex()"/>
+                    <div class="mySlider"><Slider class="map-slider" v-model="sliderVal" :tip-format="hideFormat" :step="0.0001"></Slider></div>
+
+                     <!--播放暂停按钮-->
+                    
+                    <!-- <Icon class="play-icon quickly"  type="ios-play" @click="addIndexSpeed()"/> -->
+                    <!-- <Slider class="map-slider" v-model="speedVal" :tip-format="speedFormat" :step="0.0001"></Slider> -->
+                    <div class="mySlider2"><el-slider
+                    v-model="speedVal"
+                    show-input>
+                    </el-slider></div>
+            </div>
+            <div class="map-control" v-show="isActual">
+                   
+                    
+            </div>
+         </div>
+    
+    </div>
+</template>
+
+<script>
+import AMapLoader from '@amap/amap-jsapi-loader';
+import { shallowRef } from '@vue/reactivity'
+import { sjTime } from "@/utils/sharedJsFile";
+import { Loading } from 'element-ui';
+import { lazyAMapApiLoaderInstance } from 'vue-amap';
+import Slider from './slider.vue'
+Vue.use(Slider)
+import AMapJS from "amap-js";
+import Vue from 'vue';
+export default {
+    name: "PathView",
+
+    setup(){
+        const map = shallowRef(null);
+        return{
+            map,
+        }
+    },
+     watch:{
+        speedVal:{
+            deep: true,
+            handler(val, oldVal) {
+                let that=this;
+                 if(that.pathNavigator!=null){
+                        that.pathNavigator.setSpeed(100*val)
+                }
+            }
+        }
+    },
+    data() {
+        return {
+            startTime:'',
+            endTime:'',
+            time:[],
+            carNumber:"",
+            orderNumber:'',
+            ///che
+            isTimesChoose:false,
+            isActual:true,
+            isPlay:true,
+            passedTime:"12:02:10",
+            sliderVal:0,
+            speedVal:10,
+            speed:1000,
+            times:1,
+           
+            totalTime:"11",
+            speedList:["1倍数","2倍数","3倍数"],
+            //已行驶轨迹
+            runRoute:
+            {
+                agl: "44",
+                gtm: "2022年03月09日 16:47:24",
+                hgt: "13",
+                lat: "32.906411535084985",
+                lon: "115.76177868692135",
+                mil: "429409.2",
+                spd: "17.0"
+            },
+            point:"",
+            pointNext:"",
+            loading : null,
+            navgtrSpeed:1,
+            //地图中心位置
+            centerPoint:{
+                    pointLat:"",
+                    pointLon:""
+            },
+            //自定义窗体信息
+            ctmarkes:{
+                lat:"33.015888071433764",
+                lon : "115.96995235868168",
+                title:"豫SE8888",
+                details:"安徽省阜阳市颍东区阜阳舜岳水泥公司,西北方向,155.1米"
+            },
+            //运输详情
+            transportDetail:{
+                //车牌号
+                capacityNumber:'',
+                //规划路线
+                estimateRoute:[
+                    {
+                        lat:"33.015888071433764",
+                        lon : "115.96995235868168"
+                    }
+                ],
+                //规划线路
+                estimatePath:[
+                    [
+                        114.03046212985384,
+                        32.49786984660489
+                    ],
+                    
+                ],
+                //已行驶轨迹
+                runRoute:[
+                      {
+                        agl: "44",
+                        gtm: "2022年03月09日 16:47:24",
+                        hgt: "13",
+                        lat: "32.906411535084985",
+                        lon: "115.76177868692135",
+                        mil: "429409.2",
+                        spd: "17.0"
+                    },
+                ],
+                runPath: [
+                    [
+                        114.03922119568348,
+                        32.49746162481379
+                    ],
+                ],
+                //当前位置
+                currentPointName:"中国达州市通川区",
+                //当前位置经纬度
+                currentPoint:{
+                    lat:"",
+                    lon:""
+                },
+                //起点位置
+                startPointName:"中国达州市通川区", 
+                //起点位置经纬度
+                startPoint:{
+                    lon:"114.03922119568348",
+                    lat:"32.49746162481379"
+                },
+                //终点位置
+                endPointName:"中国成都萧山",
+                //终点位置经纬度   
+                endPoint:{
+                    lon:"115.96995737755431",
+                    lat:"33.01595479752097"
+                },
+                //自定义标记
+                content:[],
+                //异常位置
+                abnormalLocation:[],
+            
+            },
+            listPath:[
+                
+            ],
+            //组件
+            pathSimplifierIns:{},
+            pathNavigator:{}
+        };
+    },
+    created(){
+        let that=this;
+      
+    },
+    mounted() {
+        
+    },
+    methods: {
+         formatDate (date, fmt) {
+        if (/(y+)/.test(fmt)) {
+          fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length))
+        }
+        let o = {
+          'M+': date.getMonth() + 1,
+          'd+': date.getDate(),
+         "h+": date.getHours(),
+        "m+": date.getMinutes(),
+        "s+": date.getSeconds(),
+      }
+      for (let k in o) {
+        if (new RegExp(`(${k})`).test(fmt)) {
+          let str = o[k] + ''
+          fmt = fmt.replace(RegExp.$1, RegExp.$1.length === 1 ? str : this.padLeftZero(str))
+        }
+            }
+      return fmt
+    },
+    padLeftZero (str) {
+        return ('00' + str).substr(str.length)
+    },
+        geocoder(){
+            AMap.plugin('AMap.Geocoder', function() {
+            var geocoder = new AMap.Geocoder({
+                // city 指定进行编码查询的城市,支持传入城市名、adcode 和 citycode
+                city: '全球'
+            })
+            
+            var lnglat = [116.396574, 39.992706]
+            console.log("fsdaf")
+            geocoder.getAddress(lnglat, function(status, result) {
+                console.log(result)
+                if (status === 'complete' && result.info === 'OK') {
+                    // result为对应的地理位置详细信息
+                    console.log(result)
+                }
+            })
+            })
+        },
+        play(){
+            let that =this;
+            that.pathNavigator.resume();
+        },
+        stop(){
+            let that =this;
+            that.pathNavigator.pause();
+            this.geocoder()
+        },
+        addIndexSpeed(){
+
+        },
+        addIndex(){
+            console.log("1123")
+
+            let that =this;
+            let increment=(that.listPath[0].runPath.length*0.1)
+            that.pathNavigator.start(((that.point+increment)%that.listPath[0].runPath.length))
+        },
+        ///che
+        navgControl(){
+
+        },
+        speedFormat(value){
+             let that=this;
+             that.speedVal=value
+           
+            if(that.pathNavigator!=null){
+               
+                that.pathNavigator.setSpeed(1000*value)
+            }
+           
+        },
+        hideFormat(value){
+            let that=this;
+            that.sliderVal=value;
+        },
+        initData(orderNumber){
+            let that=this;
+            that.listPath=[];
+            if(that.carNumber==""){
+                this.$message.error('车牌号不能为空!');
+                return;
+            }
+            if(that.time==[]){
+                 this.$message.error('请选择时间');
+            }
+             that.axios.post("/api/v1/otms/fullPathVisualizationByCarNumber",
+             {
+                "capacityNumber":that.carNumber,
+                "startTime":that.formatDate(that.time[0],"yyyy-MM-dd hh:mm:ss"),
+                "endTime":that.formatDate(that.time[1],"yyyy-MM-dd hh:mm:ss"),
+            }
+             ).then((res) => {
+                 if(res.data.startAndEndRoutes!=''){
+                     that.listPath=res.data.startAndEndRoutes
+                    that.initMap();
+                 }else{
+                     this.$message.error('车辆没有开启GPS');
+                 }
+            });
+        },
+        endline(){
+            let that=this;
+            that.initPolyline(that.listPath[0].estimatePath,"#FF0000");
+        },
+        //创建起点终点当前点
+        threeMarker(){
+            let that=this;
+            that.listPath.forEach((element,index) => {
+                //开始标记点
+                if(element.startPoint.lon!=''&&element.startPoint.lat!=''){
+                    that.initMarkes(20,35,require('@/assets/img/start.png'),element.startPoint.lon,element.startPoint.lat,'起点');
+                }
+                //结束标记点
+                console.log(element.endPoint,"element.endPoint")
+                if(element.endPoint!={}&&element.endPoint!=''&&element.endPoint!=null){
+                    console.log("1111")
+                    that.initMarkes(20,35,require('@/assets/img/end.png'),element.endPoint.lon,element.endPoint.lat,'终点');
+                }else{
+                     console.log(element)
+                    that.initMarkes(20,35,require('@/assets/img/end.png'),element.runRoute[element.runRoute.length-1].lon,element.runRoute[element.runRoute.length-1].lat,'终点');
+                }
+            });
+           
+        },
+        //初始化地图
+        initMap(){
+            lazyAMapApiLoaderInstance.load().then(() => {
+                let that=this;
+                that.map = new AMap.Map("amap-container",{  //设置地图容器id
+                    viewMode:"2D",    //是否为2D地图模式
+                    zoom:10,           //初始化地图级别
+                    center:[105.602725,37.076636], //初始化地图中心点位置
+                });
+                that.initPathSimplifier();
+                that.threeMarker();
+                console.log("that.listPath[0]",that.listPath)
+                that.initCustomMarkes(that.carNumber+"("+that.listPath[0].miled+")",that.listPath[0].currentPointName,that.listPath[0].currentPoint.lon,that.listPath[0].currentPoint.lat)
+                that.endline();
+            });
+        },
+        initCustomMarkes(title,details,lon,lat){
+             let that=this;
+            //自定义窗体内容
+            var content = [
+                "<div  style='top:1px;width: 180px; background-color: rgba(0, 0, 0, 1);' ><font color='white'>"+title+"</font>",
+                "<div style='background-color:rgba(255, 255, 255, 0.5);'><font color='white'>"+details+"</font></div></div>"
+            ];
+            // 创建 infoWindow 实例	
+            var infoWindow = new AMap.InfoWindow({
+                content: content.join("<br>")  //传入 dom 对象,或者 html 字符串
+            });
+            // 打开信息窗体
+            infoWindow.open(that.map,[lon,lat]);
+        },
+        initPolyline(path,color){
+            let that=this;
+             //预计轨迹
+            var endLine = new AMap.Polyline({
+                map:that.map,
+                path: path,
+                isOutline: true,
+                outlineColor: color,
+                borderWeight: 0,
+                strokeColor: "#FF0000", 
+                strokeOpacity: 1,
+                strokeWeight: 5,
+                // 折线样式还支持 'dashed'
+                strokeStyle: "solid",
+                // strokeStyle是dashed时有效
+                strokeDasharray: [10, 5],
+                lineJoin: 'round',
+                lineCap: 'round',
+                zIndex: 50,
+            })
+            that.map.setFitView([[ endLine ]])
+        },
+        //创建简单的标记
+        initMarkes(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,0), // 图像相对展示区域的偏移量,适于雪碧图等
+                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
+            });
+            // 将创建的点标记添加到已有的地图实例:
+            that.map.add(pointmarker);
+        },
+        //创建轨迹和巡航器
+        initPathSimplifier() {
+            let that=this;
+            // ...你的操作
+            new AMapUI.load(['ui/misc/PathSimplifier'], (PathSimplifier) => {
+                if (!PathSimplifier.supportCanvas) {
+                    alert('当前环境不支持 Canvas!')
+                    return
+                }
+                //创建轨迹和巡航器
+                // 创建组件实例
+                that.pathSimplifierIns = new PathSimplifier({
+                    map: that.map,
+                    zIndex: 100, // 图层叠加顺序
+                    data: that.listPath, // 巡航路径
+                    // 获取巡航路径中的路径坐标数组
+                    getPath: (pathData, pathIndex) => {
+                        return pathData.runPath;
+                    },
+                    //鼠标悬浮停时显示消息
+                    getHoverTitle: function(pathData, pathIndex, pointIndex) {
+                        //返回鼠标悬停时显示的信息
+                        if (pointIndex >= 0) {
+                            if(pathData.runRoute[pointIndex].gtm!=='undefined'){
+                                 //鼠标悬停在某个轨迹节点上
+                                return pathData.runRoute[pointIndex].gtm + ',速度'+ pathData.runRoute[pointIndex].spd+'千米/小时,点:' + pointIndex + '/' + pathData.runPath.length;
+                            }
+                        }
+                    },
+                    //设置轨迹样式
+                    renderOptions: {
+                        //轨迹线的样式
+                        pathLineStyle: {
+                            strokeStyle: 'black',
+                            lineWidth: 6,
+                            dirArrowStyle: true
+                        }
+                    }
+                })
+                // 创建巡航器
+                that.pathNavigator = that.pathSimplifierIns.createPathNavigator(0, {
+                    loop: true, // 是否循环
+                    speed: that.speed ,// 速度(km/h)
+                    pathNavigatorStyle: {
+                        width: 20,
+                        height: 40,
+                        content:PathSimplifier.Render.Canvas.getImageContent( require('@/assets/img/smallcar.png'), onload, onerror),
+                        strokeStyle: null,
+                        fillStyle: null
+                    }
+                })
+                //开启巡航
+                that.pathNavigator.start()
+                
+                //开始事件
+                that.pathNavigator.on("start resume", function() {
+                    // that.navgtr._startTime = Date.now();
+                    // that.navgtr._startDist = this.getMovedDistance();
+                });
+                //暂停
+                that.pathNavigator.on("stop pause", function() {
+                    // that.navgtr._movedTime = Date.now() - that.navgtr._startTime;
+                    // that.navgtr._movedDist = this.getMovedDistance() - that.navgtr._startDist;
+                });
+                that.pathNavigator.on('move', function (data,value) {
+                    that.updateLable(value)
+                });
+            })
+        },
+        updateLable(value){
+            let that=this;
+            that.point=value.dataItem.pointIndex;
+            that.runRoute=value.dataItem.pathData.runRoute[that.point];
+            that.sliderVal=(value.dataItem.pointIndex/value.dataItem.pathData.runRoute.length)*100;
+        },
+        changeSpeed(value){
+            // console.log(value)
+            // let that=this;
+            // that.times=value;
+            
+        },
+        playIcon(){
+           
+        },
+        changeTime(){
+            let that=this;
+            console.log((that.time[1]-that.time[0])-(86400000*3))
+            if((that.time[1]-that.time[0])>86400000*3){
+                 this.$message.error('时间查询范围不能超过3天');
+                 that.time=[];
+            }
+        }
+                  
+    }
+};
+</script>
+<style>
+.inputStyle{
+    position: absolute;
+    width: 200px;
+    left: 30px;
+}
+
+.controller{
+    width: 100%; height: 50px;
+    background: white;
+   position: absolute;z-index:99;top:0;left:0;
+   
+}
+.in_transit_information{
+   
+    width: 200px;
+    float: left;
+     height: 40px;
+}
+.in_transit_information2 {
+   
+    height: 40px;
+    float: left;
+    width: 580px;
+}
+.container{
+    width: 100%;
+	height: 100%;
+    
+}
+.date_picker_style{
+    position: relative;
+    left: 40px;
+}
+.item_details {
+    position: relative;
+    left: 30px;
+    top: 5px;
+    height: 0px;
+}
+#amap-container {
+    position: relative;
+	width: 100%;
+	height: 100%;
+	overflow: hidden;
+	margin: 0;
+	font-family: "微软雅黑";
+}
+
+
+/* 进度条 */
+.mySlider {
+
+    width: 150px;
+    height: 20px;
+    display: inline-block;
+    position: relative;
+    left: 32px;
+}
+/* 进度条 */
+.mySlider2 {
+
+    width: 400px;
+    height: 20px;
+    display: inline-block;
+    position: relative;
+    left: 32px;
+}
+.play {
+    position: relative;
+    left: 28px;
+}
+.quickly
+{
+    float: right;
+    position: relative;
+    left: -20px;
+    top: 10px;
+}
+.pause {
+    position: relative;
+    left: 28px;
+}
+.passed-time{
+    position: relative;
+    left: 5px;
+}
+.end-time{
+    position: relative;
+    left: 5px;
+}
+.map-times {
+    position: relative;
+    width: 40px;
+}
+.searchstyle{
+     position: relative;
+    left: 5px;
+}
+.map-control{
+     float: left;
+     width: 270px;
+}
+.driving_information {
+    height: 40px;
+    width: 240px;
+     float: left;
+}
+
+
+
+</style>

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

@@ -67,7 +67,7 @@
          <el-table-column fixed="right" label="操作" width="220">
         <template slot-scope="scope">
           <el-button @click="historyclick(scope.row)" type="text" size="small" style="font-size: 17px">历史轨迹</el-button>
-          <el-button @click="allDistanceclick(scope.row.orderNumber)" type="text" size="small" style="font-size: 17px">总距离</el-button>
+          <!-- <el-button @click="allDistanceclick(scope.row.orderNumber)" type="text" size="small" style="font-size: 17px">总距离</el-button> -->
         </template>
       </el-table-column>
         </dilTable>

+ 110 - 61
src/views/sale/components/saleSelfMachine/addlading.vue

@@ -1,16 +1,23 @@
 <template>
   <div class="tableAllDate" id="exportPdf" ref="exportPdf">
-      <div class="title">
-        <h3 align="center">中铁开发投资集团有限公司</h3>
-        <h3 align="center">物资签收单</h3>
-      </div>
-      <div class="text">
-        <span style="margin-left: 20.5%">收货单位:</span>
-        <span style="margin-left: 0.5%">xxx单位</span>
-      </div>
-      <div class="tableBody">
-        <!-- tablePart1 -->
-        <table border="1" cellpadding="10" cellspacing="0" style="margin-left: 20%;margin-top: 10px;" width="1000px" class="tablePart1">
+    <div class="title">
+      <h3 align="center">中铁开发投资集团有限公司</h3>
+      <h3 align="center">物资送货单</h3>
+    </div>
+    <div class="text">
+      <span style="margin-left: 20.5%">收货单位:</span>
+      <span style="margin-left: 0.5%">xxx单位</span>
+    </div>
+    <div class="tableBody">
+      <!-- tablePart1 -->
+      <table
+        border="1"
+        cellpadding="10"
+        cellspacing="0"
+        style="margin-left: 20%;margin-top: 10px;"
+        width="1000px"
+        class="tablePart1"
+      >
         <tr>
           <th style="width :5%">序号</th>
           <th style="width :21.5%">物资(设备)名称</th>
@@ -56,10 +63,18 @@
           <td>cell 56</td>
           <td>cell 57</td>
         </tr>
-        </table>
-        <!-- tablePart2 -->
-        <table border="1" cellpadding="10" cellspacing="0" style="margin-left: 20%;
-        border-top: 0px" width="1000px" class="tablePart2">
+      </table>
+
+      <!-- tablePart2 -->
+      <table
+        border="1"
+        cellpadding="10"
+        cellspacing="0"
+        style="margin-left: 20%;
+        border-top: 0px"
+        width="1000px"
+        class="tablePart2"
+      >
         <tr>
           <th style="width :10.5%">送货人</th>
           <td style="width :16.5%">cell 61</td>
@@ -68,39 +83,70 @@
           <th style="width :14%">收货地点</th>
           <td style="width :33%">cell 63</td>
         </tr>
-        </table>
-        <!-- tablePart3 -->
-        <table border="1" cellpadding="10" cellspacing="0" style="margin-left: 20%;
-        border-top: 0px" width="1000px" class="tablePart3">
+      </table>
+
+      <!-- tablePart3 -->
+      <table
+        border="1"
+        cellpadding="10"
+        cellspacing="0"
+        style="margin-left: 20%;
+        border-top: 0px"
+        width="1000px"
+        class="tablePart3"
+      >
         <tr>
           <th style="width :10.5%">收货人</th>
           <td style="width :56.5%">cell 71</td>
           <th style="width :14%">收货时间</th>
           <td style="width :19%">cell 72</td>
         </tr>
-        </table>
-        <!-- tablePart4 -->
-        <table border="1" cellpadding="10" cellspacing="0" style="margin-left: 20%;
-        border-top: 0px" width="1000px" class="tablePart4">
+      </table>
+
+      <!-- tablePart4 -->
+      <table
+        border="1"
+        cellpadding="10"
+        cellspacing="0"
+        style="margin-left: 20%;
+        border-top: 0px"
+        width="1000px"
+        class="tablePart4"
+      >
         <tr>
           <th style="width :10.5%">司机</th>
           <td style="width :36.5%">cell 81</td>
           <th style="width :13%">车号</th>
           <td style="width :40%">cell 82</td>
         </tr>
-        </table>
-        <!-- tablePart5 -->
-        <table border="1" cellpadding="10" cellspacing="0" style="margin-left: 20%;
-        border-top: 0px" width="1000px" class="tablePart5">
+      </table>
+
+      <!-- tablePart5 -->
+      <table
+        border="1"
+        cellpadding="10"
+        cellspacing="0"
+        style="margin-left: 20%;
+        border-top: 0px"
+        width="1000px"
+        class="tablePart5"
+      >
         <tr>
           <th style="width :10.5%">备注</th>
           <td style="width :89.5%">cell 91</td>
         </tr>
-        </table>
-      </div>
-      <div>
-        <!-- tablePart6 -->
-        <table border="0" cellpadding="10" cellspacing="0" style="margin-left: 20%;margin-top: 10px;" width="1000px" class="tablePart6">
+      </table>
+    </div>
+    <div>
+      <!-- tablePart6 -->
+      <table
+        border="0"
+        cellpadding="10"
+        cellspacing="0"
+        style="margin-left: 20%;margin-top: 10px;"
+        width="1000px"
+        class="tablePart6"
+      >
         <tr>
           <th style="width :12.5%">送货单位:</th>
           <td style="width :50.5%">sss单位</td>
@@ -112,58 +158,61 @@
           <td style="width :3%">dd</td>
           <th style="width :5%">日</th>
         </tr>
-        </table>
-      </div>
-      <el-button type="primary" @click="savePdf">
-        <i class="el-icon-download"></i>导出(pdf)
-      </el-button>
+      </table>
+    </div>
+    <el-button type="primary" @click="savePdf">
+      <i class="el-icon-download"></i>导出(pdf)
+    </el-button>
   </div>
 </template>
 
 <script>
-import table from '@/components/DilCommonUI/packages/table/src/table.vue';
+import table from "@/components/DilCommonUI/packages/table/src/table.vue";
 // import PDFSave from 'vue-to-pdf'
 // Vue.use(PDFSave)
 export default {
   components: { table },
   name: "Login",
   data() {
-    return {
-      
-    };
+    return {};
   },
   methods: {
-    savePdf(){
-    console.log("导出PDF")
-    this.$PDFSave(this.$refs.exportPdf, "我的文件");
-    },
-  },
+    savePdf() {
+      console.log("导出PDF");
+      this.$PDFSave(this.$refs.exportPdf, "我的文件");
+    }
+  }
 };
 </script>
 
 <style lang="scss" scoped>
-.tableBody{
-  table, th, td
-  {
-      border: 1px solid black;
+.tableBody {
+  table,
+  th,
+  td {
+    border: 1px solid black;
   }
-  .tablePart1 th{
-      border-top: 1px solid black;
+  .tablePart1 th {
+    border-top: 1px solid black;
   }
-  .tablePart2 td,th{
-    border-top: 0px
+  .tablePart2 td,
+  th {
+    border-top: 0px;
   }
-  .tablePart3 td,th{
-    border-top: 0px
+  .tablePart3 td,
+  th {
+    border-top: 0px;
   }
-  .tablePart4 td,th{
-    border-top: 0px
+  .tablePart4 td,
+  th {
+    border-top: 0px;
   }
-  .tablePart5 td,th{
-    border-top: 0px
+  .tablePart5 td,
+  th {
+    border-top: 0px;
   }
 }
-.text span{
+.text span {
   font-weight: bold;
 }
 </style>

+ 163 - 112
src/views/sale/components/saleSelfMachine/printLading.vue

@@ -1,91 +1,127 @@
 <template>
   <div class="tableAllDate">
-      <div id="pdfDom">
-      <div class="blank">
-      </div>
+    <div id="pdfDom">
+      <div class="blank"></div>
       <div class="title">
-        <h1 align="center">达州钢铁集团有限责任公司</h1>
+        <h1 align="center">四川省达州钢铁集团有限责任公司</h1>
         <h1 align="center">物资提货单</h1>
       </div>
       <div>
-      <!-- tablePart0 -->
-        <table border="0" cellpadding="10" cellspacing="0" style="margin: auto;font-size:20px;" width="1000px" class="tablePart0">
-        <tr>
-          <th style="width :14.5%">提货单编号:</th>
-          <td style="width :85.5%">{{orderNumber}}</td>
-        </tr>
+        <!-- tablePart0 -->
+        <table
+          border="0"
+          cellpadding="10"
+          cellspacing="0"
+          style="margin: auto;font-size:20px;"
+          width="1000px"
+          class="tablePart0"
+        >
+          <tr>
+            <th style="width :14.5%">提货单编号:</th>
+            <td style="width :85.5%">{{ orderNumber }}</td>
+          </tr>
         </table>
       </div>
       <div class="tableBody">
         <!-- tablePart1 -->
-        <table border="1" cellpadding="10" cellspacing="0" style="margin-top: 10px;" width="1000px" class="tablePart1">
-        <tr>
-          <th style="width :8%">序号</th>
-          <th style="width :23%">物资名称</th>
-          <th style="width :23%">规格型号</th>
-          <th style="width :23%">物资件数</th>
-          <th style="width :23%">物资理重</th>
-        </tr>
+        <table
+          border="1"
+          cellpadding="10"
+          cellspacing="0"
+          style="margin-top: 10px;"
+          width="1000px"
+          class="tablePart1"
+        >
+          <tr>
+            <th style="width :8%">序号</th>
+            <th style="width :23%">物资名称</th>
+            <th style="width :23%">规格型号</th>
+            <th style="width :23%">物资件数</th>
+            <th style="width :23%">物资理重</th>
+          </tr>
 
-        <tr v-for="(item,index) in materialList" :key="index">
-          <td>{{index+1}}</td>
-          <td>{{item.materialName}}</td>
-          <td>{{item.materialSpe}}{{materialList.materialModel}}</td>
-          <td>{{item.materialNumber}}</td>
-          <td>{{item.materialWeight}}</td>
-        </tr>
+          <tr v-for="(item, index) in materialList" :key="index">
+            <td>{{ index + 1 }}</td>
+            <td>{{ item.materialName }}</td>
+            <td>{{ item.materialSpe }}{{ item.materialModel }}</td>
+            <td>{{ item.materialNumber }}</td>
+            <td>{{ item.materialWeight }}</td>
+          </tr>
         </table>
+
         <!-- tablePart2 -->
-        <table border="1" cellpadding="10" cellspacing="0" style="border-top: 0px" width="1000px" class="tablePart2">
-        <tr>
-          <th style="width :14.5%">承运单位</th>
-          <td style="width :50%">{{carrierName}}</td>
-          <th style="width :10.5%">车牌号</th>
-          <td style="width :25%">{{capacityNumber}}</td>
-        </tr>
+        <table
+          border="1"
+          cellpadding="10"
+          cellspacing="0"
+          style="border-top: 0px"
+          width="1000px"
+          class="tablePart2"
+        >
+          <tr>
+            <th style="width :14.5%">承运单位</th>
+            <td style="width :50%">{{ carrierName }}</td>
+            <th style="width :10.5%">车牌号</th>
+            <td style="width :25%">{{ capacityNumber }}</td>
+          </tr>
         </table>
+
         <!-- tablePart3 -->
-        <table border="1" cellpadding="10" cellspacing="0" style="border-top: 0px" width="1000px" class="tablePart3">
-        <tr>
-          <th style="width :14.5%">提货日期</th>
-          <td style="width :21%">{{billDate}}</td>
-          <th style="width :19%">收货单位</th>
-          <td style="width :50%">{{consigeeName}}</td>
-        </tr>
+        <table
+          border="1"
+          cellpadding="10"
+          cellspacing="0"
+          style="border-top: 0px"
+          width="1000px"
+          class="tablePart3"
+        >
+          <tr>
+            <th style="width :14.5%">提货日期</th>
+            <td style="width :21%">{{ billDate }}</td>
+            <th style="width :19%">收货单位</th>
+            <td style="width :50%">{{ consigeeName }}</td>
+          </tr>
         </table>
       </div>
       <div>
         <!-- tablePart6 -->
-        <table border="0" cellpadding="10" cellspacing="0" style="margin: auto;font-size:20px;margin-top: 10px;" width="1000px" class="tablePart6">
-        <tr>
-          <td style="width :63%"></td>
-          <th style="width :15.5%">日期:</th>
-          <td style="width :5%">{{year}}</td>
-          <th style="width :8%">年</th>
-          <td style="width :3%">{{month}}</td>
-          <th style="width :8%">月</th>
-          <td style="width :3%">{{date}}</td>
-          <th style="width :5%">日</th>
-        </tr>
+        <table
+          border="0"
+          cellpadding="10"
+          cellspacing="0"
+          style="margin: auto;font-size:20px;margin-top: 10px;"
+          width="1000px"
+          class="tablePart6"
+        >
+          <tr>
+            <td style="width :63%"></td>
+            <th style="width :15.5%">日期:</th>
+            <td style="width :5%">{{ year }}</td>
+            <th style="width :8%">年</th>
+            <td style="width :3%">{{ month }}</td>
+            <th style="width :8%">月</th>
+            <td style="width :3%">{{ date }}</td>
+            <th style="width :5%">日</th>
+          </tr>
         </table>
       </div>
-      </div>
-      <!-- <el-button style="margin-left: 45%;" type="primary" @click="getPdf()">
+    </div>
+    <!-- <el-button style="margin-left: 45%;" type="primary" @click="getPdf()">
         <i class="el-icon-download"></i>导出(pdf)
       </el-button> -->
-      <div class="button-box">
-        <el-button type="primary" v-print="'#pdfDom'" @click="backScan()">
-          <i class="el-icon-printer"></i>打印
-        </el-button>
-        <el-button type="primary" @click="backScan()">
-          <i class="el-icon-back"></i>返回
-        </el-button>
-      </div>
+    <div class="button-box">
+      <el-button type="primary" v-print="'#pdfDom'" @click="backScan()">
+        <i class="el-icon-printer"></i>打印
+      </el-button>
+      <el-button type="primary" @click="backScan()">
+        <i class="el-icon-back"></i>返回
+      </el-button>
+    </div>
   </div>
 </template>
 
 <script>
-import table from '@/components/DilCommonUI/packages/table/src/table.vue';
+import table from "@/components/DilCommonUI/packages/table/src/table.vue";
 export default {
   components: { table },
   name: "Login",
@@ -93,85 +129,100 @@ export default {
     return {
       orderNumber: "",
       carrierName: "",
-      materialList: [{
-        materialName: "",
-        materialModel: "",
-        materialWeight: 0,
-        materialNumber: 0,
-        materialSpe: ""
-      }],
+      materialList: [
+        {
+          materialName: "",
+          materialModel: "",
+          materialWeight: 0,
+          materialNumber: 0,
+          materialSpe: ""
+        }
+      ],
       capacityNumber: "",
       consigeeName: "",
       billDate: "",
       year: new Date().getFullYear(),
-      month: new Date().getMonth()+1,
+      month: new Date().getMonth() + 1,
       date: new Date().getDate(),
-      htmlTitle: '提货单'
+      htmlTitle: "提货单"
     };
   },
-  created(){
-      this.getBillOrder();
+  created() {
+    this.getBillOrder();
   },
   mounted() {
     //三十秒不操作,自动返回扫码页面
-    const timer = setInterval(()=>{
-        this.backScan();
-    },30000)
-    this.$once('hook:beforeDestroy', ()=>{
-        clearInterval(timer)
-    })
+    const timer = setInterval(() => {
+      this.backScan();
+    }, 30000);
+    this.$once("hook:beforeDestroy", () => {
+      clearInterval(timer);
+    });
   },
   methods: {
-      getBillOrder(){
-        let orderNumber = this.$route.query.orderNumber;
-       this.axios.post("/api/v1/tms/getBillOrder?orderNumber="+orderNumber).then((res) => {
-         this.orderNumber = res.data.orderNumber;
-         this.carrierName = res.data.carrierName;
-         this.capacityNumber = res.data.capacityNumber;
-         this.consigeeName = res.data.consigeeName;
-         this.billDate = res.data.billDate;
-         this.materialList = res.data.materialList;
+    getBillOrder() {
+      let orderNumber = this.$route.query.orderNumber;
+      this.axios
+        .post("/api/v1/tms/getBillOrder?orderNumber=" + orderNumber)
+        .then(res => {
+          this.orderNumber = res.data.orderNumber;
+          this.carrierName = res.data.carrierName;
+          this.capacityNumber = res.data.capacityNumber;
+          this.consigeeName = res.data.consigeeName;
+          this.billDate = res.data.billDate;
+          this.materialList = res.data.materialList;
         });
-      },
-      backScan(){
-        this.$router.go(-2);
-      }
-  },
+    },
+    backScan() {
+      this.$router.go(-2);
+    }
+  }
 };
 </script>
 
 <style lang="scss" scoped>
-.title{
-  font-size:25px;
+.title {
+  font-size: 25px;
 }
-.tableBody{
-  table, th, td
-  {
-      border: 1px solid black;
-      font-size:20px;
-      margin: auto;
+.tableBody {
+  table,
+  th,
+  td {
+    border: 1px solid black;
+    font-size: 20px;
+    margin: auto;
+    text-align: center;
   }
-  .tablePart1 th{
-      border-top: 1px solid black;
+  .tablePart1 th {
+    border-top: 1px solid black;
+    text-align: center;
   }
-  .tablePart2 td,th{
-    border-top: 0px
+  .tablePart2 td,
+  th {
+    border-top: 0px;
+    text-align: center;
   }
-  .tablePart3 td,th{
-    border-top: 0px
+  .tablePart3 td,
+  th {
+    border-top: 0px;
+    text-align: center;
   }
-  .tablePart4 td,th{
-    border-top: 0px
+  .tablePart4 td,
+  th {
+    border-top: 0px;
+    text-align: center;
   }
-  .tablePart5 td,th{
-    border-top: 0px
+  .tablePart5 td,
+  th {
+    border-top: 0px;
+    text-align: center;
   }
 }
-.blank{
+.blank {
   width: 100%;
   height: 50px;
 }
-.button-box{
+.button-box {
   display: flex;
   text-align: center;
   align-items: center;

+ 226 - 152
src/views/sale/components/saleSelfMachine/printReceipt.vue

@@ -1,212 +1,286 @@
 <template>
   <div class="tableAllDate">
-      <div id="pdfDom">
-      <div class="blank">
-      </div>
+    <div id="pdfDom">
+      <div class="blank"></div>
       <div class="title">
-        <h1 align="center">{{consigeeName}}</h1>
-        <h1 align="center">物资签收单</h1>
+        <h1 align="center">{{ consigeeName }}</h1>
+        <h1 align="center">物资送货单</h1>
       </div>
       <div>
-      <!-- tablePart0 -->
-        <table border="0" cellpadding="10" cellspacing="0" style="margin: auto;font-size:20px;" width="1000px" class="tablePart0">
-        <tr>
-          <th style="width :14.5%">销售订单号:</th>
-          <td style="width :85.5%">{{saleNo}}</td>
-        </tr>
+        <!-- tablePart0 -->
+        <table
+          border="0"
+          cellpadding="10"
+          cellspacing="0"
+          style="margin: auto;font-size:20px;"
+          width="1000px"
+          class="tablePart0"
+        >
+          <tr>
+            <th style="width :14.5%">销售订单号:</th>
+            <td style="width :85.5%">{{ saleNo }}</td>
+          </tr>
         </table>
       </div>
       <div class="tableBody">
         <!-- tablePart1 -->
-        <table border="1" cellpadding="10" cellspacing="0" style="margin-top: 10px;" width="1000px" class="tablePart1">
-        <tr>
-          <th style="width :5%">序号</th>
-          <th style="width :21.5%">物资名称</th>
-          <th style="width :21.5%">规格型号</th>
-          <th style="width :5%">单位</th>
-          <th style="width :14%">件数</th>
-          <th style="width :14%">理论重量</th>
-          <th style="width :19%">计量重量</th>
-        </tr>
+        <table
+          border="1"
+          cellpadding="10"
+          cellspacing="0"
+          style="margin-top: 10px;text-align: center"
+          width="1000px"
+          class="tablePart1"
+        >
+          <tr>
+            <th style="width :5%;text-align: center;">序号</th>
+            <th style="width :21.5% ;text-align: center;">物资名称</th>
+            <th style="width :21.5% ;text-align: center;">规格型号</th>
+            <th style="width :14%">件数</th>
+            <th style="width :14%">理论重量</th>
+            <th style="width :19%">制单日期</th>
+          </tr>
 
-        <tr v-for="(item,index) in deliveryOrderMaterialList" :key="index">
-          <td>{{index+1}}</td>
-          <td>{{item.materialName}}</td>
-          <td>{{item.materialSpe}}{{item.materialModel}}</td>
-          <td>{{item.measureName}}</td>
-          <td>{{item.materialNumber}}</td>
-          <td>{{item.materialWeight}}</td>
-          <td>{{item.resultWeight}}</td>
-        </tr>
+          <tr v-for="(item, index) in deliveryOrderMaterialList" :key="index">
+            <td>{{ index + 1 }}</td>
+            <td>{{ item.materialName }}</td>
+            <td>{{ item.materialSpe }}{{ item.materialModel }}</td>
+            <td>{{ item.materialNumber }}</td>
+            <td>{{ item.materialWeight }}</td>
+            <td>{{ item.makeDate }}</td>
+          </tr>
         </table>
+
         <!-- tablePart2 -->
-        <table border="1" cellpadding="10" cellspacing="0" style="border-top: 0px" width="1000px" class="tablePart2">
-        <tr>
-          <th style="width :14%">发货时间</th>
-          <td style="width :22%">{{sendDate}}</td>
-          <th style="width :14%">收货地点</th>
-          <td style="width :50%">{{province}}{{district}}{{town}}{{deliveryAddress}}</td>
-        </tr>
+        <table
+          border="1"
+          cellpadding="10"
+          cellspacing="0"
+          style="border-top: 0px"
+          width="1000px"
+          class="tablePart2"
+        >
+          <tr>
+            <th style="width :14%">收货地点</th>
+            <td style="width :50%">
+              {{ province }}{{ district }}{{ town }}{{ deliveryAddress }}
+            </td>
+          </tr>
         </table>
+
         <!-- tablePart3 -->
-        <table border="1" cellpadding="10" cellspacing="0" style="border-top: 0px" width="1000px" class="tablePart3">
-        <tr>
-          <th style="width :10.5%">收货人</th>
-          <td style="width :20%">{{consignee}}</td>
-          <th style="width :10.5%">电话</th>
-          <td style="width :26%">{{consigneeTel}}</td>
-          <th style="width :14%">收货日期</th>
-          <td style="width :19%">{{receiptDate}}</td>
-        </tr>
+        <table
+          border="1"
+          cellpadding="10"
+          cellspacing="0"
+          style="border-top: 0px"
+          width="1000px"
+          class="tablePart3"
+        >
+          <tr>
+            <th style="width :10.5%">收货人</th>
+            <td style="width :20%">{{ consignee }}</td>
+            <th style="width :10.5%">电话</th>
+            <td style="width :26%">{{ consigneeTel }}</td>
+          </tr>
         </table>
+
         <!-- tablePart4 -->
-        <table border="1" cellpadding="10" cellspacing="0" style="border-top: 0px" width="1000px" class="tablePart4">
-        <tr>
-          <th style="width :10.5%">承运商</th>
-          <td style="width :36.5%">{{carrierName}}</td>
-          <th style="width :13%">车牌号</th>
-          <td style="width :40%">{{capacityNumber}}</td>
-        </tr>
+        <table
+          border="1"
+          cellpadding="10"
+          cellspacing="0"
+          style="border-top: 0px"
+          width="1000px"
+          class="tablePart4"
+        >
+          <tr>
+            <th style="width :10.5%">承运商</th>
+            <td style="width :36.5%">{{ carrierName }}</td>
+            <th style="width :13%">车牌号</th>
+            <td style="width :40%">{{ capacityNumber }}</td>
+          </tr>
+        </table>
+      </div>
+      <div>
+        <!-- tablePart6 -->
+        <table
+          border="0"
+          cellpadding="10"
+          cellspacing="0"
+          style="margin: auto;font-size:20px;margin-top: 10px;"
+          width="1000px"
+          class="tablePart6"
+        >
+          <tr>
+            <th style="width :14.5%">发货单位:</th>
+            <td style="width :48.5%">{{ shippername }}</td>
+          </tr>
         </table>
       </div>
       <div>
         <!-- tablePart6 -->
-        <table border="0" cellpadding="10" cellspacing="0" style="margin: auto;font-size:20px;margin-top: 10px;" width="1000px" class="tablePart6">
-        <tr>
-          <th style="width :14.5%">发货单位:</th>
-          <td style="width :48.5%">{{shippername}}</td>
-          <th style="width :15.5%">日期:</th>
-          <td style="width :5%">{{year}}</td>
-          <th style="width :8%">年</th>
-          <td style="width :3%">{{month}}</td>
-          <th style="width :8%">月</th>
-          <td style="width :3%">{{date}}</td>
-          <th style="width :5%">日</th>
-        </tr>
+        <table
+          border="0"
+          cellpadding="10"
+          cellspacing="0"
+          style="margin: auto;font-size:20px;margin-top: 10px;"
+          width="1000px"
+          class="tablePart6"
+        >
+          <tr>
+            <th style="width :14.5%">签收人:</th>
+          </tr>
         </table>
       </div>
+      <div>
+        <!-- tablePart6 -->
+        <table
+          border="0"
+          cellpadding="10"
+          cellspacing="0"
+          style="margin: auto;font-size:20px;margin-top: 10px;"
+          width="1000px"
+          class="tablePart6"
+        >
+          <tr>
+            <th style="width :14.5%">签收时间:</th>
+          </tr>
+        </table>
       </div>
-      <!-- <el-button style="margin-left: 45%;" type="primary" @click="getPdf()">
+    </div>
+    <!-- <el-button style="margin-left: 45%;" type="primary" @click="getPdf()">
         <i class="el-icon-download"></i>导出(pdf)
       </el-button> -->
-      <div class="button-box">
-        <el-button type="primary" v-print="'#pdfDom'" @click="backScan()">
-          <i class="el-icon-printer"></i>打印
-        </el-button>
-        <el-button type="primary" @click="backScan()">
-          <i class="el-icon-back"></i>返回
-        </el-button>
-      </div>
+    <div class="button-box">
+      <el-button type="primary" v-print="'#pdfDom'" @click="backScan()">
+        <i class="el-icon-printer"></i>打印
+      </el-button>
+      <el-button type="primary" @click="backScan()">
+        <i class="el-icon-back"></i>返回
+      </el-button>
+    </div>
   </div>
 </template>
 
 <script>
-import table from '@/components/DilCommonUI/packages/table/src/table.vue';
+import table from "@/components/DilCommonUI/packages/table/src/table.vue";
 export default {
   components: { table },
   name: "Login",
   data() {
     return {
-    orderNumber: "",
-    consignee: "",
-    town: "",
-    consigneeTel: "",
-    sendDate: "",
-    receiptDate: "",
-    consigeeName: "",
-    saleNo: "",
-    deliveryOrderMaterialList: [
+      orderNumber: "",
+      consignee: "",
+      town: "",
+      consigneeTel: "",
+      sendDate: "",
+      receiptDate: "",
+      consigeeName: "",
+      saleNo: "",
+      deliveryOrderMaterialList: [
         {
-            materialName: "",
-            materialSpe: "",
-            materialModel: "",
-            materialNumber: 0,
-            materialWeight: 0,
-            measureName:"",
-            resultWeight:""
+          materialName: "",
+          materialSpe: "",
+          materialModel: "",
+          materialNumber: 0,
+          materialWeight: 0,
+          makeDate: ""
         }
-    ],
-    carrierName: "",
-    province: "",
-    deliveryAddress: "",
-    district: "",
-    capacityNumber: "",
-    shippername: "",
-    year: new Date().getFullYear(),
-    month: new Date().getMonth()+1,
-    date: new Date().getDate(),
-    htmlTitle: '客户换票签收单'
+      ],
+      carrierName: "",
+      province: "",
+      deliveryAddress: "",
+      district: "",
+      capacityNumber: "",
+      shippername: "",
+      year: new Date().getFullYear(),
+      month: new Date().getMonth() + 1,
+      date: new Date().getDate(),
+      htmlTitle: "客户换票送货单"
     };
   },
-  created(){
-      this.getDeliveryOrder();
+  created() {
+    this.getDeliveryOrder();
   },
   mounted() {
-    //十秒不操作,自动返回扫码页面
-    const timer = setInterval(()=>{
-        this.backScan();
-    },30000)
-    this.$once('hook:beforeDestroy', ()=>{
-        clearInterval(timer)
-    })
+    //十秒不操作,自动返回扫码页面
+    const timer = setInterval(() => {
+      this.backScan();
+    }, 60000);
+    this.$once("hook:beforeDestroy", () => {
+      clearInterval(timer);
+    });
   },
   methods: {
-      getDeliveryOrder(){
-        let orderNumber = this.$route.query.orderNumber;
-       this.axios.post("/api/v1/tms/getDeliveryOrder?orderNumber="+orderNumber).then((res) => {
-         this.orderNumber = res.data.orderNumber;
-         this.carrierName = res.data.carrierName;
-         this.capacityNumber = res.data.capacityNumber;
-         this.consigeeName = res.data.consigeeName;
-         this.consignee = res.data.consignee;
-         this.consigneeTel = res.data.consigneeTel;
-         this.sendDate = res.data.sendDate;
-         this.receiptDate = res.data.receiptDate.slice(0,10);
-         this.saleNo = res.data.saleNo;
-         this.shippername = res.data.shippername;
-         this.province = res.data.province;
-         this.district = res.data.district;
-         this.town = res.data.town;
-         this.deliveryAddress = res.data.deliveryAddress;
-         this.deliveryOrderMaterialList = res.data.deliveryOrderMaterialList;
+    getDeliveryOrder() {
+      let orderNumber = this.$route.query.orderNumber;
+      this.axios
+        .post("/api/v1/tms/getDeliveryOrder?orderNumber=" + orderNumber)
+        .then(res => {
+          console.log(res);
+          this.orderNumber = res.data.orderNumber;
+          this.carrierName = res.data.carrierName;
+          this.capacityNumber = res.data.capacityNumber;
+          this.consigeeName = res.data.consigeeName;
+          this.consignee = res.data.consignee;
+          this.consigneeTel = res.data.consigneeTel;
+          this.sendDate = res.data.sendDate;
+          this.saleNo = res.data.saleNo;
+          console.log(this.saleNo);
+          this.shippername = res.data.shippername;
+          this.province = res.data.province;
+          this.district = res.data.district;
+          this.town = res.data.town;
+          this.deliveryAddress = res.data.deliveryAddress;
+          this.deliveryOrderMaterialList = res.data.deliveryOrderMaterialList;
         });
-      },
-      backScan(){
-        this.$router.go(-2);
-      }
-  },
+    },
+    backScan() {
+      this.$router.go(-2);
+    }
+  }
 };
 </script>
 
 <style lang="scss" scoped>
-.title{
-  font-size:25px;
+.title {
+  font-size: 25px;
 }
-.tableBody{
-  table, th, td
-  {
-      border: 1px solid black;
-      font-size:20px;
-      margin: auto;
+.tableBody {
+  table,
+  th,
+  td {
+    border: 1px solid black;
+    font-size: 20px;
+    margin: auto;
+    text-align: center;
   }
-  .tablePart1 th{
-      border-top: 1px solid black;
+  .tablePart1 th {
+    border-top: 1px solid black;
+    text-align: center;
   }
-  .tablePart2 td,th{
-    border-top: 0px
+  .tablePart2 td,
+  th {
+    border-top: 0px;
+    text-align: center;
   }
-  .tablePart3 td,th{
-    border-top: 0px
+  .tablePart3 td,
+  th {
+    border-top: 0px;
+    text-align: center;
   }
-  .tablePart4 td,th{
-    border-top: 0px
+  .tablePart4 td,
+  th {
+    border-top: 0px;
+    text-align: center;
   }
 }
-.blank{
+.blank {
   width: 100%;
   height: 50px;
 }
-.button-box{
+.button-box {
   display: flex;
   text-align: center;
   align-items: center;

+ 3 - 3
src/views/sale/components/transport_order/receiveOrder.vue

@@ -352,19 +352,19 @@ export default {
     onClick() {
       if (this.activeName == "first") {
         this.option1.requestUrl =
-          "/api/v1/oms/getDriverInfoForSale?apiId=226&orderType=1&orderStatus=5&carrierSsoId=" +
+          "/api/v1/oms/getDriverInfoForSale?apiId=226&orderType=2&orderStatus=5&carrierSsoId=" +
           getCookie("userId") +
           "&con=" +
           this.inputText;
       } else if (this.activeName == "second") {
         this.option2.requestUrl =
-          "/api/v1/oms/getDriverInfoForSale?apiId=226&orderType=1&orderStatus=6&carrierSsoId=" +
+          "/api/v1/oms/getDriverInfoForSale?apiId=226&orderType=2&orderStatus=6&carrierSsoId=" +
           getCookie("userId") +
           "&con=" +
           this.inputText;
       } else {
         this.option3.requestUrl =
-          "/api/v1/oms/getDriverInfoForSale?apiId=226&orderType=1&orderStatus=4&carrierSsoId=" +
+          "/api/v1/oms/getDriverInfoForSale?apiId=226&orderType=2&orderStatus=4&carrierSsoId=" +
           getCookie("userId") +
           "&con=" +
           this.inputText;

+ 509 - 0
src/views/sale/components/transport_order/saleChemicalCokeOrder.vue

@@ -0,0 +1,509 @@
+// 接收化产焦炭运单
+<template>
+  <div class="steel_inbound">
+    <div class="sache">
+      <el-input placeholder="请输入内容" v-model="inputText" clearable>
+      </el-input>
+      <el-button type="primary" class="btn" @click="onClick">
+        <i class="el-icon-search"></i>查询
+      </el-button>
+      <el-button type="primary" class="btn" @click="batchCloseOrder">
+        <i></i>批量关闭订单
+      </el-button>
+      <el-button type="primary" @click="refresh">
+        <i class="el-icon-refresh"></i>刷新
+      </el-button>
+    </div>
+    <el-dialog title="车辆信息" :visible.sync="dialogTableVisible" :before-close="handleClose">
+    <el-input placeholder="请输入内容" v-model="inputTruck" clearable style="width:200px">
+      </el-input>
+      <el-button type="primary" class="btn" @click="onClickTruck">
+        <i class="el-icon-search"></i>查询
+      </el-button>
+    <dilTable
+          v-bind.sync="truck"
+          @radio-change="currentRadioChange1"
+        >
+    </dilTable>
+    <span slot="footer" class="dialog-footer">
+    <el-button @click="dialogTableVisible = false">取 消</el-button>
+    <el-button type="primary" @click="updateTruckCapacity()">确 定</el-button>
+    </span>
+    </el-dialog>
+        <el-tabs v-model="activeName">
+          <!-- 未接收 -->
+          <el-tab-pane label="未接收" name="third">
+            <dilTable v-bind.sync="option3" @selection-change="selectionChange" ref="table2" :isHeigth="isHeigth" :shiyHeigth="shiyHeigth" :isKuang="isKuang">
+              <el-table-column fixed="right" label="操作" width="180">
+                <template slot-scope="scope">
+                  <el-button
+                    @click="updateCapacity(scope.row)"
+                    type="text"
+                    size="small"
+                  >
+                    修改运力
+                  </el-button>
+                  <el-button
+                    @click="detailclick2(scope.row)"
+                    type="text"
+                    size="small"
+                  >
+                    物资详情
+                  </el-button>
+                  <el-button
+                    @click="closeOrder(scope.row)"
+                    type="text"
+                    size="small"
+                  >
+                    关闭订单
+                  </el-button>
+                </template>
+              </el-table-column>
+              <!-- 物资详情抽屉 -->
+              <el-table-column type="expand" width="1">
+                <template slot-scope="props">
+                  <el-form label-position="center" inline class="demo-table-expand">
+                    <div v-if="false">{{ props }}</div>
+                    <div>
+                      <el-table :data="tableData2" border>
+                        <el-table-column
+                          v-for="(item, i) in tableHead"
+                          :key="i"
+                          :prop="item.prop"
+                          :label="item.label"
+                          :width="item.width"
+                        ></el-table-column>
+                      </el-table>
+                    </div>
+                  </el-form>
+                </template>
+              </el-table-column>
+            </dilTable>
+          </el-tab-pane>
+          <!-- 已接收 -->
+          <el-tab-pane label="已接收" name="first">
+            <dilTable v-bind.sync="option1" ref="table" :isHeigth="isHeigth" :shiyHeigth="shiyHeigth" :isKuang="isKuang">
+              <el-table-column fixed="right" label="操作" width="50">
+                <template slot-scope="scope">
+                  <el-button
+                    @click="detailclick(scope.row)"
+                    type="text"
+                    size="small"
+                  >
+                    物资详情
+                  </el-button>
+                </template>
+              </el-table-column>
+              <!-- 物资详情抽屉 -->
+              <el-table-column type="expand" width="1">
+                <template slot-scope="props">
+                  <el-form label-position="center" inline class="demo-table-expand">
+                    <div v-if="false">{{ props }}</div>
+                    <div>
+                      <el-table :data="tableData" border >
+                        <el-table-column
+                          v-for="(item, i) in tableHead"
+                          :key="i"
+                          :prop="item.prop"
+                          :label="item.label"
+                          :width="item.width"
+                        ></el-table-column>
+                      </el-table>
+                    </div>
+                  </el-form>
+                </template>
+              </el-table-column>
+            </dilTable>
+          </el-tab-pane>
+          <!-- 已拒绝 -->
+          <el-tab-pane label="已拒绝" name="second">
+            <dilTable v-bind.sync="option2" ref="table1" :isHeigth="isHeigth" :shiyHeigth="shiyHeigth" :isKuang="isKuang">
+              <el-table-column fixed="right" label="操作" width="50">
+                <template slot-scope="scope">
+                  <el-button
+                    @click="detailclick1(scope.row)"
+                    type="text"
+                    size="small"
+                  >
+                    物资详情
+                  </el-button>
+                </template>
+              </el-table-column>
+              <!-- 物资详情抽屉 -->
+              <el-table-column type="expand" width="1">
+                <template slot-scope="props">
+                  <el-form label-position="center" inline class="demo-table-expand">
+                    <div v-if="false">{{ props }}</div>
+                    <div>
+                      <el-table :data="tableData1" border>
+                        <el-table-column
+                          v-for="(item, i) in tableHead"
+                          :key="i"
+                          :prop="item.prop"
+                          :label="item.label"
+                          :width="item.width"
+                        ></el-table-column>
+                      </el-table>
+                    </div>
+                  </el-form>
+                </template>
+              </el-table-column>
+            </dilTable>
+          </el-tab-pane>
+        </el-tabs>
+  </div>
+</template>
+<script>
+import { getCookie } from "@/utils/util.js";
+export default {
+  data() {
+    return {
+      shiyHeigth:140,
+      isHeigth:true,
+      pageSize:100,
+      isKuang:false,
+      inputTruck:null,
+      inputText: "",
+      option1: {
+        // option1请求数据的地址,承运商(运输订单状态为已接收,接收状态为已接收)
+        requestUrl:
+          "/api/v1/oms/getDriverInfoForSale?apiId=226&orderType=2&orderStatus=5&shipperId=2&carrierSsoId=" +
+          getCookie("userId"),
+      },
+      option2: {
+        // option2请求数据的地址,承运商暂时设置为默认(运输订单状态为)
+        requestUrl:
+          "/api/v1/oms/getDriverInfoForSale?apiId=226&orderType=2&orderStatus=6&shipperId=2&carrierSsoId=" +
+          getCookie("userId"),
+      },
+      option3: {
+        // option3请求数据的地址
+        requestUrl:
+          "/api/v1/oms/getDriverInfoForSale?apiId=226&orderType=2&orderStatus=4&shipperId=2&carrierSsoId=" +
+          getCookie("userId"),
+        selectionType: "select",
+        mapList: [],
+      },
+      truck: {
+        requestUrl:
+          "",
+        selectionType:"radio"
+      },
+      activeName: "third",
+      //记录旧的row对象(已接收)
+      oldRow: "",
+      //记录上一个展开的点击次数,单数为展开状态,复数为闭合状态(已接收)
+      oldRowCount: 1,
+      //记录旧的row对象(已拒绝)
+      oldRow1: "",
+      //记录上一个展开的点击次数,单数为展开状态,复数为闭合状态(已拒绝)
+      oldRowCount1: 1,
+      //记录旧的row对象(未接收)
+      oldRow2: "",
+      //记录上一个展开的点击次数,单数为展开状态,复数为闭合状态(未接收)
+      oldRowCount2: 1,
+      tableHead: [
+        {
+          prop: "materialName",
+          label: "物资名称",
+          width: 150,
+        },
+        {
+          prop: "specificationModel",
+          label: "规格型号",
+          width: 150,
+        },
+        {
+          prop: "materialNumber",
+          label: "物资件数",
+          width: 100,
+        },
+        {
+          prop: "materialWeight",
+          label: "物资重量",
+          width: 100,
+        },
+      ],
+      tableData: [],
+      tableData1: [],
+      tableData2: [],
+      capacityId:null,
+      dialogTableVisible:false,
+      orderId:null
+    };
+  },
+  methods: {
+    onClickTruck(){
+        if (getCookie("orgCode") == "chengyunshang") {
+        this.truck.requestUrl =
+          "/api/v1/uc/getAllCapacityByCarrierLike?apiId=248&carrierSsoId=" +
+          getCookie("userId") + "&index="+this.inputTruck;
+      } else {
+        this.truck.requestUrl =
+          "/api/v1/uc/getAllCapacityByCarrierLike?apiId=248&carrierSsoId=" + null + "&index="+this.inputTruck;
+      }
+    },
+    getRequestUrl(){
+        this.option1.requestUrl = "/api/v1/oms/getDriverInfoForSale?apiId=226&orderType=2&orderStatus=5&shipperId=2&carrierSsoId=" +
+          getCookie("userId") + "&t=" + new Date(),
+        this.option2.requestUrl = "/api/v1/oms/getDriverInfoForSale?apiId=226&orderType=2&orderStatus=6&shipperId=2&carrierSsoId=" +
+          getCookie("userId") + "&t=" + new Date(),
+        this.option3.requestUrl = "/api/v1/oms/getDriverInfoForSale?apiId=226&orderType=2&orderStatus=4&shipperId=2&carrierSsoId=" +
+          getCookie("userId") + "&t=" + new Date()
+    },
+    selectionChange(selection) {
+      this.option3.mapList = selection;
+    },
+    batchCloseOrder(){
+      if (this.option3.mapList.length == 0) {
+        this.$message({
+          type: "warning",
+          message: "请先选择要关闭的订单!",
+        });
+      } else {
+        this.$confirm("是否关闭这些订单", "提示", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning",
+          center: true,
+        })
+          .then(() => {
+            //初始化maplist
+            var mapList = [];
+            this.option3.mapList.forEach((item) => {
+              //初始化mapItem
+              var mapItem = {
+                //销售订单物资中间表id
+                orderId: 0,
+              };
+              mapItem.orderId = item.orderId;
+              mapList.push(mapItem);
+            });
+            this.$message({
+              type: "success",
+              message: "关闭成功!",
+            });
+            this.axios.post("/api/v1/oms/batchCloseOrder", mapList).then((res) => {
+              if (res.data.code == "200") {
+                this.$router.go(0);
+              }
+            });
+          })
+          .catch(() => {
+            this.$message({
+              type: "info",
+              message: "取消关闭!",
+            });
+          });
+      }
+    },
+    refresh(){
+      this.$router.go(0);
+    },
+    handleClose(done){
+      done()
+      this.$message.info("取消修改运力")
+    },
+    updateCapacity(row){
+      console.log("更新车牌号")
+      this.getTruckRequestUrl()
+      this.orderId = row.orderId
+      this.dialogTableVisible = true
+      console.log(row.orderId)
+    },
+    getTruckRequestUrl(){
+        if (getCookie("orgCode") == "chengyunshang") {
+      this.truck.requestUrl =
+        "/api/v1/uc/getAllCapacityByCarrierLike?apiId=429&carrierSsoId=" +
+        getCookie("userId") + "&test=" + new Date();
+      } else {
+      this.truck.requestUrl =
+        "/api/v1/uc/getAllCapacityByCarrierLike?apiId=429&carrierSsoId=" + null +  "&test=" + new Date();
+      }
+    },
+    updateClick(scope){
+      this.getTruckRequestUrl()
+      this.orderId = scope.row.orderId
+      this.dialogTableVisible = true
+      console.log(scope.row.orderId)
+    },
+    currentRadioChange1(row){
+      console.log(row)
+      this.capacityId = row.capacityId
+    },
+    updateTruckCapacity(){
+        if(this.capacityId == null){
+            this.$message.error("未选中运力")
+            return
+        }
+        this.axios.post("/api/v1/oms/updateCapacityId",{
+          capacityId:this.capacityId,
+          orderId :this.orderId
+        }).then((res) =>{
+          if(res.data.code == "200"){
+            this.$message.success("修改运力成功")
+            this.getRequestUrl()
+            this.dialogTableVisible = false
+          }else{
+            this.$message.error("修改运力失败")
+          }
+        })
+    },
+    onClick() {
+      if (this.activeName == "first") {
+        this.option1.requestUrl =
+          "/api/v1/oms/getDriverInfoForSale?apiId=226&orderType=2&orderStatus=5&shipperId=2&carrierSsoId=" +
+          getCookie("userId") +
+          "&con=" +
+          this.inputText;
+      } else if (this.activeName == "second") {
+        this.option2.requestUrl =
+          "/api/v1/oms/getDriverInfoForSale?apiId=226&orderType=2&orderStatus=6&shipperId=2&carrierSsoId=" +
+          getCookie("userId") +
+          "&con=" +
+          this.inputText;
+      } else {
+        this.option3.requestUrl =
+          "/api/v1/oms/getDriverInfoForSale?apiId=226&orderType=2&orderStatus=4&shipperId=2&carrierSsoId=" +
+          getCookie("userId") +
+          "&con=" +
+          this.inputText;
+      }
+    },
+    // -------查看物资详情 (已接收)
+    detailclick(row) {
+      // 记录重复点击次数
+      if (this.oldRow === row) {
+        this.oldRowCount += 1;
+      }
+      // 切换当前详情表
+      this.$refs.table.toggleRowExpansion(row);
+      // 打开前关闭上一个详情表
+      if (this.oldRow != "") {
+        if (this.oldRow != row) {
+          if (this.oldRowCount % 2 === 1) {
+            this.$refs.table.toggleRowExpansion(this.oldRow);
+          } else {
+            this.oldRowCount = 1;
+          }
+        } else {
+          this.oldRow = null;
+          return;
+        }
+      }
+      // 重置上一个点击对象
+      this.oldRow = row;
+// 根据销售订单id查询物资信息
+      this.axios
+      .post("/api/v1/oms/getOrderMaterialList?orderId=" + row.orderId)
+        .then((res) => {
+          console.log("res.data.data",res.data.data)
+          this.tableData = res.data.data;
+        });
+    },
+
+    // -------查看物资详情(已拒绝)
+    detailclick1(row) {
+      // 记录重复点击次数
+      if (this.oldRow1 === row) {
+        this.oldRowCount1 += 1;
+      }
+      // 切换当前详情表
+      this.$refs.table1.toggleRowExpansion(row);
+      // 打开前关闭上一个详情表
+      if (this.oldRow1 != "") {
+        if (this.oldRow1 != row) {
+          if (this.oldRowCount1 % 2 === 1) {
+            this.$refs.table1.toggleRowExpansion(this.oldRow1);
+          } else {
+            this.oldRowCount1 = 1;
+          }
+        } else {
+          this.oldRow1 = null;
+          return;
+        }
+      }
+      // 重置上一个点击对象
+      this.oldRow1 = row;
+      // 根据销售订单物资中间表id查询物资信息
+      this.axios
+        .post("/api/v1/oms/getOrderMaterialList?orderId=" + row.orderId)
+        .then((res) => {
+          console.log("res.data.data",res.data.data)
+          this.tableData1 = res.data.data;
+        });
+    },
+
+    // -------查看物资详情(未接收)
+    detailclick2(row) {
+      // 记录重复点击次数
+      if (this.oldRow2 === row) {
+        this.oldRowCount2 += 1;
+      }
+      // 切换当前详情表
+      this.$refs.table2.toggleRowExpansion(row);
+      // 打开前关闭上一个详情表
+      if (this.oldRow2 != "") {
+        if (this.oldRow2 != row) {
+          if (this.oldRowCount2 % 2 === 1) {
+            this.$refs.table2.toggleRowExpansion(this.oldRow2);
+          } else {
+            this.oldRowCount2 = 1;
+          }
+        } else {
+          this.oldRow2 = null;
+          return;
+        }
+      }
+      // 重置上一个点击对象
+      this.oldRow2 = row;
+      // 根据销售订单物资中间表id查询物资信息
+      this.axios
+        .post("/api/v1/oms/getOrderMaterialList?orderId=" + row.orderId)
+        .then((res) => {
+          this.tableData2 = res.data.data;
+        });
+    },
+    //关闭选中行的订单
+    closeOrder(row){
+      this.$confirm("是否关闭", "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+        center: true,
+      })
+        .then(() => {
+          this.$message({
+            type: "success",
+            message: "关闭成功!",
+          });
+          this.axios
+            .post("/api/v1/oms/closeOrder?orderId=" + row.orderId)
+            .then((res) => {
+              if(res.data.code == '200'){
+                this.$router.go(0);
+              }
+            });
+        })
+        .catch(() => {
+          this.$message({
+            type: "info",
+            message: "取消关闭!",
+          });
+        }) 
+        
+    },
+  },
+};
+</script>
+<style lang="scss" scode>
+.steel_inbound {
+  .sache {
+    padding: 1.25rem 0.375rem;
+    .el-input {
+      width: 20%;
+      margin-right: 1.25rem;
+    }
+  }
+}
+</style>

+ 509 - 0
src/views/sale/components/transport_order/saleCoproductOrder.vue

@@ -0,0 +1,509 @@
+// 接收运单
+<template>
+  <div class="steel_inbound">
+    <div class="sache">
+      <el-input placeholder="请输入内容" v-model="inputText" clearable>
+      </el-input>
+      <el-button type="primary" class="btn" @click="onClick">
+        <i class="el-icon-search"></i>查询
+      </el-button>
+      <el-button type="primary" class="btn" @click="batchCloseOrder">
+        <i></i>批量关闭订单
+      </el-button>
+      <el-button type="primary" @click="refresh">
+        <i class="el-icon-refresh"></i>刷新
+      </el-button>
+    </div>
+    <el-dialog title="车辆信息" :visible.sync="dialogTableVisible" :before-close="handleClose">
+    <el-input placeholder="请输入内容" v-model="inputTruck" clearable style="width:200px">
+      </el-input>
+      <el-button type="primary" class="btn" @click="onClickTruck">
+        <i class="el-icon-search"></i>查询
+      </el-button>
+    <dilTable
+          v-bind.sync="truck"
+          @radio-change="currentRadioChange1"
+        >
+    </dilTable>
+    <span slot="footer" class="dialog-footer">
+    <el-button @click="dialogTableVisible = false">取 消</el-button>
+    <el-button type="primary" @click="updateTruckCapacity()">确 定</el-button>
+    </span>
+    </el-dialog>
+        <el-tabs v-model="activeName">
+          <!-- 未接收 -->
+          <el-tab-pane label="未接收" name="third">
+            <dilTable v-bind.sync="option3" @selection-change="selectionChange" ref="table2" :isHeigth="isHeigth" :shiyHeigth="shiyHeigth" :isKuang="isKuang">
+              <el-table-column fixed="right" label="操作" width="180">
+                <template slot-scope="scope">
+                  <el-button
+                    @click="updateCapacity(scope.row)"
+                    type="text"
+                    size="small"
+                  >
+                    修改运力
+                  </el-button>
+                  <el-button
+                    @click="detailclick2(scope.row)"
+                    type="text"
+                    size="small"
+                  >
+                    物资详情
+                  </el-button>
+                  <el-button
+                    @click="closeOrder(scope.row)"
+                    type="text"
+                    size="small"
+                  >
+                    关闭订单
+                  </el-button>
+                </template>
+              </el-table-column>
+              <!-- 物资详情抽屉 -->
+              <el-table-column type="expand" width="1">
+                <template slot-scope="props">
+                  <el-form label-position="center" inline class="demo-table-expand">
+                    <div v-if="false">{{ props }}</div>
+                    <div>
+                      <el-table :data="tableData2" border>
+                        <el-table-column
+                          v-for="(item, i) in tableHead"
+                          :key="i"
+                          :prop="item.prop"
+                          :label="item.label"
+                          :width="item.width"
+                        ></el-table-column>
+                      </el-table>
+                    </div>
+                  </el-form>
+                </template>
+              </el-table-column>
+            </dilTable>
+          </el-tab-pane>
+          <!-- 已接收 -->
+          <el-tab-pane label="已接收" name="first">
+            <dilTable v-bind.sync="option1" ref="table" :isHeigth="isHeigth" :shiyHeigth="shiyHeigth" :isKuang="isKuang">
+              <el-table-column fixed="right" label="操作" width="50">
+                <template slot-scope="scope">
+                  <el-button
+                    @click="detailclick(scope.row)"
+                    type="text"
+                    size="small"
+                  >
+                    物资详情
+                  </el-button>
+                </template>
+              </el-table-column>
+              <!-- 物资详情抽屉 -->
+              <el-table-column type="expand" width="1">
+                <template slot-scope="props">
+                  <el-form label-position="center" inline class="demo-table-expand">
+                    <div v-if="false">{{ props }}</div>
+                    <div>
+                      <el-table :data="tableData" border >
+                        <el-table-column
+                          v-for="(item, i) in tableHead"
+                          :key="i"
+                          :prop="item.prop"
+                          :label="item.label"
+                          :width="item.width"
+                        ></el-table-column>
+                      </el-table>
+                    </div>
+                  </el-form>
+                </template>
+              </el-table-column>
+            </dilTable>
+          </el-tab-pane>
+          <!-- 已拒绝 -->
+          <el-tab-pane label="已拒绝" name="second">
+            <dilTable v-bind.sync="option2" ref="table1" :isHeigth="isHeigth" :shiyHeigth="shiyHeigth" :isKuang="isKuang">
+              <el-table-column fixed="right" label="操作" width="50">
+                <template slot-scope="scope">
+                  <el-button
+                    @click="detailclick1(scope.row)"
+                    type="text"
+                    size="small"
+                  >
+                    物资详情
+                  </el-button>
+                </template>
+              </el-table-column>
+              <!-- 物资详情抽屉 -->
+              <el-table-column type="expand" width="1">
+                <template slot-scope="props">
+                  <el-form label-position="center" inline class="demo-table-expand">
+                    <div v-if="false">{{ props }}</div>
+                    <div>
+                      <el-table :data="tableData1" border>
+                        <el-table-column
+                          v-for="(item, i) in tableHead"
+                          :key="i"
+                          :prop="item.prop"
+                          :label="item.label"
+                          :width="item.width"
+                        ></el-table-column>
+                      </el-table>
+                    </div>
+                  </el-form>
+                </template>
+              </el-table-column>
+            </dilTable>
+          </el-tab-pane>
+        </el-tabs>
+  </div>
+</template>
+<script>
+import { getCookie } from "@/utils/util.js";
+export default {
+  data() {
+    return {
+      shiyHeigth:140,
+      isHeigth:true,
+      pageSize:100,
+      isKuang:false,
+      inputTruck:null,
+      inputText: "",
+      option1: {
+        // option1请求数据的地址,承运商(运输订单状态为已接收,接收状态为已接收)
+        requestUrl:
+          "/api/v1/oms/getDriverInfoForSale?apiId=226&orderType=2&orderStatus=5&shipperId=1&carrierSsoId=" +
+          getCookie("userId"),
+      },
+      option2: {
+        // option2请求数据的地址,承运商暂时设置为默认(运输订单状态为)
+        requestUrl:
+          "/api/v1/oms/getDriverInfoForSale?apiId=226&orderType=2&orderStatus=6&shipperId=1&carrierSsoId=" +
+          getCookie("userId"),
+      },
+      option3: {
+        // option3请求数据的地址
+        requestUrl:
+          "/api/v1/oms/getDriverInfoForSale?apiId=226&orderType=2&orderStatus=4&shipperId=1&carrierSsoId=" +
+          getCookie("userId"),
+        selectionType: "select",
+        mapList: [],
+      },
+      truck: {
+        requestUrl:
+          "",
+        selectionType:"radio"
+      },
+      activeName: "third",
+      //记录旧的row对象(已接收)
+      oldRow: "",
+      //记录上一个展开的点击次数,单数为展开状态,复数为闭合状态(已接收)
+      oldRowCount: 1,
+      //记录旧的row对象(已拒绝)
+      oldRow1: "",
+      //记录上一个展开的点击次数,单数为展开状态,复数为闭合状态(已拒绝)
+      oldRowCount1: 1,
+      //记录旧的row对象(未接收)
+      oldRow2: "",
+      //记录上一个展开的点击次数,单数为展开状态,复数为闭合状态(未接收)
+      oldRowCount2: 1,
+      tableHead: [
+        {
+          prop: "materialName",
+          label: "物资名称",
+          width: 150,
+        },
+        {
+          prop: "specificationModel",
+          label: "规格型号",
+          width: 150,
+        },
+        {
+          prop: "materialNumber",
+          label: "物资件数",
+          width: 100,
+        },
+        {
+          prop: "materialWeight",
+          label: "物资重量",
+          width: 100,
+        },
+      ],
+      tableData: [],
+      tableData1: [],
+      tableData2: [],
+      capacityId:null,
+      dialogTableVisible:false,
+      orderId:null
+    };
+  },
+  methods: {
+    onClickTruck(){
+        if (getCookie("orgCode") == "chengyunshang") {
+        this.truck.requestUrl =
+          "/api/v1/uc/getAllCapacityByCarrierLike?apiId=248&carrierSsoId=" +
+          getCookie("userId") + "&index="+this.inputTruck;
+      } else {
+        this.truck.requestUrl =
+          "/api/v1/uc/getAllCapacityByCarrierLike?apiId=248&carrierSsoId=" + null + "&index="+this.inputTruck;
+      }
+    },
+    getRequestUrl(){
+        this.option1.requestUrl = "/api/v1/oms/getDriverInfoForSale?apiId=226&orderType=2&orderStatus=5&shipperId=1&carrierSsoId=" +
+          getCookie("userId") + "&t=" + new Date(),
+        this.option2.requestUrl = "/api/v1/oms/getDriverInfoForSale?apiId=226&orderType=2&orderStatus=6&shipperId=1&carrierSsoId=" +
+          getCookie("userId") + "&t=" + new Date(),
+        this.option3.requestUrl = "/api/v1/oms/getDriverInfoForSale?apiId=226&orderType=2&orderStatus=4&shipperId=1&carrierSsoId=" +
+          getCookie("userId") + "&t=" + new Date()
+    },
+    selectionChange(selection) {
+      this.option3.mapList = selection;
+    },
+    batchCloseOrder(){
+      if (this.option3.mapList.length == 0) {
+        this.$message({
+          type: "warning",
+          message: "请先选择要关闭的订单!",
+        });
+      } else {
+        this.$confirm("是否关闭这些订单", "提示", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning",
+          center: true,
+        })
+          .then(() => {
+            //初始化maplist
+            var mapList = [];
+            this.option3.mapList.forEach((item) => {
+              //初始化mapItem
+              var mapItem = {
+                //销售订单物资中间表id
+                orderId: 0,
+              };
+              mapItem.orderId = item.orderId;
+              mapList.push(mapItem);
+            });
+            this.$message({
+              type: "success",
+              message: "关闭成功!",
+            });
+            this.axios.post("/api/v1/oms/batchCloseOrder", mapList).then((res) => {
+              if (res.data.code == "200") {
+                this.$router.go(0);
+              }
+            });
+          })
+          .catch(() => {
+            this.$message({
+              type: "info",
+              message: "取消关闭!",
+            });
+          });
+      }
+    },
+    refresh(){
+      this.$router.go(0);
+    },
+    handleClose(done){
+      done()
+      this.$message.info("取消修改运力")
+    },
+    updateCapacity(row){
+      console.log("更新车牌号")
+      this.getTruckRequestUrl()
+      this.orderId = row.orderId
+      this.dialogTableVisible = true
+      console.log(row.orderId)
+    },
+    getTruckRequestUrl(){
+        if (getCookie("orgCode") == "chengyunshang") {
+      this.truck.requestUrl =
+        "/api/v1/uc/getAllCapacityByCarrierLike?apiId=429&carrierSsoId=" +
+        getCookie("userId") + "&test=" + new Date();
+      } else {
+      this.truck.requestUrl =
+        "/api/v1/uc/getAllCapacityByCarrierLike?apiId=429&carrierSsoId=" + null +  "&test=" + new Date();
+      }
+    },
+    updateClick(scope){
+      this.getTruckRequestUrl()
+      this.orderId = scope.row.orderId
+      this.dialogTableVisible = true
+      console.log(scope.row.orderId)
+    },
+    currentRadioChange1(row){
+      console.log(row)
+      this.capacityId = row.capacityId
+    },
+    updateTruckCapacity(){
+        if(this.capacityId == null){
+            this.$message.error("未选中运力")
+            return
+        }
+        this.axios.post("/api/v1/oms/updateCapacityId",{
+          capacityId:this.capacityId,
+          orderId :this.orderId
+        }).then((res) =>{
+          if(res.data.code == "200"){
+            this.$message.success("修改运力成功")
+            this.getRequestUrl()
+            this.dialogTableVisible = false
+          }else{
+            this.$message.error("修改运力失败")
+          }
+        })
+    },
+    onClick() {
+      if (this.activeName == "first") {
+        this.option1.requestUrl =
+          "/api/v1/oms/getDriverInfoForSale?apiId=226&orderType=2&orderStatus=5&shipperId=1&carrierSsoId=" +
+          getCookie("userId") +
+          "&con=" +
+          this.inputText;
+      } else if (this.activeName == "second") {
+        this.option2.requestUrl =
+          "/api/v1/oms/getDriverInfoForSale?apiId=226&orderType=2&orderStatus=6&shipperId=1&carrierSsoId=" +
+          getCookie("userId") +
+          "&con=" +
+          this.inputText;
+      } else {
+        this.option3.requestUrl =
+          "/api/v1/oms/getDriverInfoForSale?apiId=226&orderType=2&orderStatus=4&shipperId=1&carrierSsoId=" +
+          getCookie("userId") +
+          "&con=" +
+          this.inputText;
+      }
+    },
+    // -------查看物资详情 (已接收)
+    detailclick(row) {
+      // 记录重复点击次数
+      if (this.oldRow === row) {
+        this.oldRowCount += 1;
+      }
+      // 切换当前详情表
+      this.$refs.table.toggleRowExpansion(row);
+      // 打开前关闭上一个详情表
+      if (this.oldRow != "") {
+        if (this.oldRow != row) {
+          if (this.oldRowCount % 2 === 1) {
+            this.$refs.table.toggleRowExpansion(this.oldRow);
+          } else {
+            this.oldRowCount = 1;
+          }
+        } else {
+          this.oldRow = null;
+          return;
+        }
+      }
+      // 重置上一个点击对象
+      this.oldRow = row;
+// 根据销售订单id查询物资信息
+      this.axios
+      .post("/api/v1/oms/getOrderMaterialList?orderId=" + row.orderId)
+        .then((res) => {
+          console.log("res.data.data",res.data.data)
+          this.tableData = res.data.data;
+        });
+    },
+
+    // -------查看物资详情(已拒绝)
+    detailclick1(row) {
+      // 记录重复点击次数
+      if (this.oldRow1 === row) {
+        this.oldRowCount1 += 1;
+      }
+      // 切换当前详情表
+      this.$refs.table1.toggleRowExpansion(row);
+      // 打开前关闭上一个详情表
+      if (this.oldRow1 != "") {
+        if (this.oldRow1 != row) {
+          if (this.oldRowCount1 % 2 === 1) {
+            this.$refs.table1.toggleRowExpansion(this.oldRow1);
+          } else {
+            this.oldRowCount1 = 1;
+          }
+        } else {
+          this.oldRow1 = null;
+          return;
+        }
+      }
+      // 重置上一个点击对象
+      this.oldRow1 = row;
+      // 根据销售订单物资中间表id查询物资信息
+      this.axios
+        .post("/api/v1/oms/getOrderMaterialList?orderId=" + row.orderId)
+        .then((res) => {
+          console.log("res.data.data",res.data.data)
+          this.tableData1 = res.data.data;
+        });
+    },
+
+    // -------查看物资详情(未接收)
+    detailclick2(row) {
+      // 记录重复点击次数
+      if (this.oldRow2 === row) {
+        this.oldRowCount2 += 1;
+      }
+      // 切换当前详情表
+      this.$refs.table2.toggleRowExpansion(row);
+      // 打开前关闭上一个详情表
+      if (this.oldRow2 != "") {
+        if (this.oldRow2 != row) {
+          if (this.oldRowCount2 % 2 === 1) {
+            this.$refs.table2.toggleRowExpansion(this.oldRow2);
+          } else {
+            this.oldRowCount2 = 1;
+          }
+        } else {
+          this.oldRow2 = null;
+          return;
+        }
+      }
+      // 重置上一个点击对象
+      this.oldRow2 = row;
+      // 根据销售订单物资中间表id查询物资信息
+      this.axios
+        .post("/api/v1/oms/getOrderMaterialList?orderId=" + row.orderId)
+        .then((res) => {
+          this.tableData2 = res.data.data;
+        });
+    },
+    //关闭选中行的订单
+    closeOrder(row){
+      this.$confirm("是否关闭", "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+        center: true,
+      })
+        .then(() => {
+          this.$message({
+            type: "success",
+            message: "关闭成功!",
+          });
+          this.axios
+            .post("/api/v1/oms/closeOrder?orderId=" + row.orderId)
+            .then((res) => {
+              if(res.data.code == '200'){
+                this.$router.go(0);
+              }
+            });
+        })
+        .catch(() => {
+          this.$message({
+            type: "info",
+            message: "取消关闭!",
+          });
+        }) 
+        
+    },
+  },
+};
+</script>
+<style lang="scss" scode>
+.steel_inbound {
+  .sache {
+    padding: 1.25rem 0.375rem;
+    .el-input {
+      width: 20%;
+      margin-right: 1.25rem;
+    }
+  }
+}
+</style>

+ 509 - 0
src/views/sale/components/transport_order/saleSteelOrder.vue

@@ -0,0 +1,509 @@
+// 接收运单
+<template>
+  <div class="steel_inbound">
+    <div class="sache">
+      <el-input placeholder="请输入内容" v-model="inputText" clearable>
+      </el-input>
+      <el-button type="primary" class="btn" @click="onClick">
+        <i class="el-icon-search"></i>查询
+      </el-button>
+      <el-button type="primary" class="btn" @click="batchCloseOrder">
+        <i></i>批量关闭订单
+      </el-button>
+      <el-button type="primary" @click="refresh">
+        <i class="el-icon-refresh"></i>刷新
+      </el-button>
+    </div>
+    <el-dialog title="车辆信息" :visible.sync="dialogTableVisible" :before-close="handleClose">
+    <el-input placeholder="请输入内容" v-model="inputTruck" clearable style="width:200px">
+      </el-input>
+      <el-button type="primary" class="btn" @click="onClickTruck">
+        <i class="el-icon-search"></i>查询
+      </el-button>
+    <dilTable
+          v-bind.sync="truck"
+          @radio-change="currentRadioChange1"
+        >
+    </dilTable>
+    <span slot="footer" class="dialog-footer">
+    <el-button @click="dialogTableVisible = false">取 消</el-button>
+    <el-button type="primary" @click="updateTruckCapacity()">确 定</el-button>
+    </span>
+    </el-dialog>
+        <el-tabs v-model="activeName">
+          <!-- 未接收 -->
+          <el-tab-pane label="未接收" name="third">
+            <dilTable v-bind.sync="option3" @selection-change="selectionChange" ref="table2" :isHeigth="isHeigth" :shiyHeigth="shiyHeigth" :isKuang="isKuang">
+              <el-table-column fixed="right" label="操作" width="180">
+                <template slot-scope="scope">
+                  <el-button
+                    @click="updateCapacity(scope.row)"
+                    type="text"
+                    size="small"
+                  >
+                    修改运力
+                  </el-button>
+                  <el-button
+                    @click="detailclick2(scope.row)"
+                    type="text"
+                    size="small"
+                  >
+                    物资详情
+                  </el-button>
+                  <el-button
+                    @click="closeOrder(scope.row)"
+                    type="text"
+                    size="small"
+                  >
+                    关闭订单
+                  </el-button>
+                </template>
+              </el-table-column>
+              <!-- 物资详情抽屉 -->
+              <el-table-column type="expand" width="1">
+                <template slot-scope="props">
+                  <el-form label-position="center" inline class="demo-table-expand">
+                    <div v-if="false">{{ props }}</div>
+                    <div>
+                      <el-table :data="tableData2" border>
+                        <el-table-column
+                          v-for="(item, i) in tableHead"
+                          :key="i"
+                          :prop="item.prop"
+                          :label="item.label"
+                          :width="item.width"
+                        ></el-table-column>
+                      </el-table>
+                    </div>
+                  </el-form>
+                </template>
+              </el-table-column>
+            </dilTable>
+          </el-tab-pane>
+          <!-- 已接收 -->
+          <el-tab-pane label="已接收" name="first">
+            <dilTable v-bind.sync="option1" ref="table" :isHeigth="isHeigth" :shiyHeigth="shiyHeigth" :isKuang="isKuang">
+              <el-table-column fixed="right" label="操作" width="50">
+                <template slot-scope="scope">
+                  <el-button
+                    @click="detailclick(scope.row)"
+                    type="text"
+                    size="small"
+                  >
+                    物资详情
+                  </el-button>
+                </template>
+              </el-table-column>
+              <!-- 物资详情抽屉 -->
+              <el-table-column type="expand" width="1">
+                <template slot-scope="props">
+                  <el-form label-position="center" inline class="demo-table-expand">
+                    <div v-if="false">{{ props }}</div>
+                    <div>
+                      <el-table :data="tableData" border >
+                        <el-table-column
+                          v-for="(item, i) in tableHead"
+                          :key="i"
+                          :prop="item.prop"
+                          :label="item.label"
+                          :width="item.width"
+                        ></el-table-column>
+                      </el-table>
+                    </div>
+                  </el-form>
+                </template>
+              </el-table-column>
+            </dilTable>
+          </el-tab-pane>
+          <!-- 已拒绝 -->
+          <el-tab-pane label="已拒绝" name="second">
+            <dilTable v-bind.sync="option2" ref="table1" :isHeigth="isHeigth" :shiyHeigth="shiyHeigth" :isKuang="isKuang">
+              <el-table-column fixed="right" label="操作" width="50">
+                <template slot-scope="scope">
+                  <el-button
+                    @click="detailclick1(scope.row)"
+                    type="text"
+                    size="small"
+                  >
+                    物资详情
+                  </el-button>
+                </template>
+              </el-table-column>
+              <!-- 物资详情抽屉 -->
+              <el-table-column type="expand" width="1">
+                <template slot-scope="props">
+                  <el-form label-position="center" inline class="demo-table-expand">
+                    <div v-if="false">{{ props }}</div>
+                    <div>
+                      <el-table :data="tableData1" border>
+                        <el-table-column
+                          v-for="(item, i) in tableHead"
+                          :key="i"
+                          :prop="item.prop"
+                          :label="item.label"
+                          :width="item.width"
+                        ></el-table-column>
+                      </el-table>
+                    </div>
+                  </el-form>
+                </template>
+              </el-table-column>
+            </dilTable>
+          </el-tab-pane>
+        </el-tabs>
+  </div>
+</template>
+<script>
+import { getCookie } from "@/utils/util.js";
+export default {
+  data() {
+    return {
+      shiyHeigth:140,
+      isHeigth:true,
+      pageSize:100,
+      isKuang:false,
+      inputTruck:null,
+      inputText: "",
+      option1: {
+        // option1请求数据的地址,承运商(运输订单状态为已接收,接收状态为已接收)
+        requestUrl:
+          "/api/v1/oms/getDriverInfoForSale?apiId=226&orderType=1&orderStatus=5&shipperId=1&carrierSsoId=" +
+          getCookie("userId"),
+      },
+      option2: {
+        // option2请求数据的地址,承运商暂时设置为默认(运输订单状态为)
+        requestUrl:
+          "/api/v1/oms/getDriverInfoForSale?apiId=226&orderType=1&orderStatus=6&shipperId=1&carrierSsoId=" +
+          getCookie("userId"),
+      },
+      option3: {
+        // option3请求数据的地址
+        requestUrl:
+          "/api/v1/oms/getDriverInfoForSale?apiId=226&orderType=1&orderStatus=4&shipperId=1&carrierSsoId=" +
+          getCookie("userId"),
+        selectionType: "select",
+        mapList: [],
+      },
+      truck: {
+        requestUrl:
+          "",
+        selectionType:"radio"
+      },
+      activeName: "third",
+      //记录旧的row对象(已接收)
+      oldRow: "",
+      //记录上一个展开的点击次数,单数为展开状态,复数为闭合状态(已接收)
+      oldRowCount: 1,
+      //记录旧的row对象(已拒绝)
+      oldRow1: "",
+      //记录上一个展开的点击次数,单数为展开状态,复数为闭合状态(已拒绝)
+      oldRowCount1: 1,
+      //记录旧的row对象(未接收)
+      oldRow2: "",
+      //记录上一个展开的点击次数,单数为展开状态,复数为闭合状态(未接收)
+      oldRowCount2: 1,
+      tableHead: [
+        {
+          prop: "materialName",
+          label: "物资名称",
+          width: 150,
+        },
+        {
+          prop: "specificationModel",
+          label: "规格型号",
+          width: 150,
+        },
+        {
+          prop: "materialNumber",
+          label: "物资件数",
+          width: 100,
+        },
+        {
+          prop: "materialWeight",
+          label: "物资重量",
+          width: 100,
+        },
+      ],
+      tableData: [],
+      tableData1: [],
+      tableData2: [],
+      capacityId:null,
+      dialogTableVisible:false,
+      orderId:null
+    };
+  },
+  methods: {
+    onClickTruck(){
+        if (getCookie("orgCode") == "chengyunshang") {
+        this.truck.requestUrl =
+          "/api/v1/uc/getAllCapacityByCarrierLike?apiId=248&carrierSsoId=" +
+          getCookie("userId") + "&index="+this.inputTruck;
+      } else {
+        this.truck.requestUrl =
+          "/api/v1/uc/getAllCapacityByCarrierLike?apiId=248&carrierSsoId=" + null + "&index="+this.inputTruck;
+      }
+    },
+    getRequestUrl(){
+        this.option1.requestUrl = "/api/v1/oms/getDriverInfoForSale?apiId=226&orderType=1&orderStatus=5&shipperId=1&carrierSsoId=" +
+          getCookie("userId") + "&t=" + new Date(),
+        this.option2.requestUrl = "/api/v1/oms/getDriverInfoForSale?apiId=226&orderType=1&orderStatus=6&shipperId=1&carrierSsoId=" +
+          getCookie("userId") + "&t=" + new Date(),
+        this.option3.requestUrl = "/api/v1/oms/getDriverInfoForSale?apiId=226&orderType=1&orderStatus=4&shipperId=1&carrierSsoId=" +
+          getCookie("userId") + "&t=" + new Date()
+    },
+    selectionChange(selection) {
+      this.option3.mapList = selection;
+    },
+    batchCloseOrder(){
+      if (this.option3.mapList.length == 0) {
+        this.$message({
+          type: "warning",
+          message: "请先选择要关闭的订单!",
+        });
+      } else {
+        this.$confirm("是否关闭这些订单", "提示", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning",
+          center: true,
+        })
+          .then(() => {
+            //初始化maplist
+            var mapList = [];
+            this.option3.mapList.forEach((item) => {
+              //初始化mapItem
+              var mapItem = {
+                //销售订单物资中间表id
+                orderId: 0,
+              };
+              mapItem.orderId = item.orderId;
+              mapList.push(mapItem);
+            });
+            this.$message({
+              type: "success",
+              message: "关闭成功!",
+            });
+            this.axios.post("/api/v1/oms/batchCloseOrder", mapList).then((res) => {
+              if (res.data.code == "200") {
+                this.$router.go(0);
+              }
+            });
+          })
+          .catch(() => {
+            this.$message({
+              type: "info",
+              message: "取消关闭!",
+            });
+          });
+      }
+    },
+    refresh(){
+      this.$router.go(0);
+    },
+    handleClose(done){
+      done()
+      this.$message.info("取消修改运力")
+    },
+    updateCapacity(row){
+      console.log("更新车牌号")
+      this.getTruckRequestUrl()
+      this.orderId = row.orderId
+      this.dialogTableVisible = true
+      console.log(row.orderId)
+    },
+    getTruckRequestUrl(){
+        if (getCookie("orgCode") == "chengyunshang") {
+      this.truck.requestUrl =
+        "/api/v1/uc/getAllCapacityByCarrierLike?apiId=429&carrierSsoId=" +
+        getCookie("userId") + "&test=" + new Date();
+      } else {
+      this.truck.requestUrl =
+        "/api/v1/uc/getAllCapacityByCarrierLike?apiId=429&carrierSsoId=" + null +  "&test=" + new Date();
+      }
+    },
+    updateClick(scope){
+      this.getTruckRequestUrl()
+      this.orderId = scope.row.orderId
+      this.dialogTableVisible = true
+      console.log(scope.row.orderId)
+    },
+    currentRadioChange1(row){
+      console.log(row)
+      this.capacityId = row.capacityId
+    },
+    updateTruckCapacity(){
+        if(this.capacityId == null){
+            this.$message.error("未选中运力")
+            return
+        }
+        this.axios.post("/api/v1/oms/updateCapacityId",{
+          capacityId:this.capacityId,
+          orderId :this.orderId
+        }).then((res) =>{
+          if(res.data.code == "200"){
+            this.$message.success("修改运力成功")
+            this.getRequestUrl()
+            this.dialogTableVisible = false
+          }else{
+            this.$message.error("修改运力失败")
+          }
+        })
+    },
+    onClick() {
+      if (this.activeName == "first") {
+        this.option1.requestUrl =
+          "/api/v1/oms/getDriverInfoForSale?apiId=226&orderType=1&orderStatus=5&shipperId=1&carrierSsoId=" +
+          getCookie("userId") +
+          "&con=" +
+          this.inputText;
+      } else if (this.activeName == "second") {
+        this.option2.requestUrl =
+          "/api/v1/oms/getDriverInfoForSale?apiId=226&orderType=1&orderStatus=6&shipperId=1&carrierSsoId=" +
+          getCookie("userId") +
+          "&con=" +
+          this.inputText;
+      } else {
+        this.option3.requestUrl =
+          "/api/v1/oms/getDriverInfoForSale?apiId=226&orderType=1&orderStatus=4&shipperId=1&carrierSsoId=" +
+          getCookie("userId") +
+          "&con=" +
+          this.inputText;
+      }
+    },
+    // -------查看物资详情 (已接收)
+    detailclick(row) {
+      // 记录重复点击次数
+      if (this.oldRow === row) {
+        this.oldRowCount += 1;
+      }
+      // 切换当前详情表
+      this.$refs.table.toggleRowExpansion(row);
+      // 打开前关闭上一个详情表
+      if (this.oldRow != "") {
+        if (this.oldRow != row) {
+          if (this.oldRowCount % 2 === 1) {
+            this.$refs.table.toggleRowExpansion(this.oldRow);
+          } else {
+            this.oldRowCount = 1;
+          }
+        } else {
+          this.oldRow = null;
+          return;
+        }
+      }
+      // 重置上一个点击对象
+      this.oldRow = row;
+// 根据销售订单id查询物资信息
+      this.axios
+      .post("/api/v1/oms/getOrderMaterialList?orderId=" + row.orderId)
+        .then((res) => {
+          console.log("res.data.data",res.data.data)
+          this.tableData = res.data.data;
+        });
+    },
+
+    // -------查看物资详情(已拒绝)
+    detailclick1(row) {
+      // 记录重复点击次数
+      if (this.oldRow1 === row) {
+        this.oldRowCount1 += 1;
+      }
+      // 切换当前详情表
+      this.$refs.table1.toggleRowExpansion(row);
+      // 打开前关闭上一个详情表
+      if (this.oldRow1 != "") {
+        if (this.oldRow1 != row) {
+          if (this.oldRowCount1 % 2 === 1) {
+            this.$refs.table1.toggleRowExpansion(this.oldRow1);
+          } else {
+            this.oldRowCount1 = 1;
+          }
+        } else {
+          this.oldRow1 = null;
+          return;
+        }
+      }
+      // 重置上一个点击对象
+      this.oldRow1 = row;
+      // 根据销售订单物资中间表id查询物资信息
+      this.axios
+        .post("/api/v1/oms/getOrderMaterialList?orderId=" + row.orderId)
+        .then((res) => {
+          console.log("res.data.data",res.data.data)
+          this.tableData1 = res.data.data;
+        });
+    },
+
+    // -------查看物资详情(未接收)
+    detailclick2(row) {
+      // 记录重复点击次数
+      if (this.oldRow2 === row) {
+        this.oldRowCount2 += 1;
+      }
+      // 切换当前详情表
+      this.$refs.table2.toggleRowExpansion(row);
+      // 打开前关闭上一个详情表
+      if (this.oldRow2 != "") {
+        if (this.oldRow2 != row) {
+          if (this.oldRowCount2 % 2 === 1) {
+            this.$refs.table2.toggleRowExpansion(this.oldRow2);
+          } else {
+            this.oldRowCount2 = 1;
+          }
+        } else {
+          this.oldRow2 = null;
+          return;
+        }
+      }
+      // 重置上一个点击对象
+      this.oldRow2 = row;
+      // 根据销售订单物资中间表id查询物资信息
+      this.axios
+        .post("/api/v1/oms/getOrderMaterialList?orderId=" + row.orderId)
+        .then((res) => {
+          this.tableData2 = res.data.data;
+        });
+    },
+    //关闭选中行的订单
+    closeOrder(row){
+      this.$confirm("是否关闭", "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+        center: true,
+      })
+        .then(() => {
+          this.$message({
+            type: "success",
+            message: "关闭成功!",
+          });
+          this.axios
+            .post("/api/v1/oms/closeOrder?orderId=" + row.orderId)
+            .then((res) => {
+              if(res.data.code == '200'){
+                this.$router.go(0);
+              }
+            });
+        })
+        .catch(() => {
+          this.$message({
+            type: "info",
+            message: "取消关闭!",
+          });
+        }) 
+        
+    },
+  },
+};
+</script>
+<style lang="scss" scode>
+.steel_inbound {
+  .sache {
+    padding: 1.25rem 0.375rem;
+    .el-input {
+      width: 20%;
+      margin-right: 1.25rem;
+    }
+  }
+}
+</style>

+ 10 - 2
src/views/sale/router/index.js

@@ -86,6 +86,9 @@ import dispatchSlagRailPlan from '../components/transport_order/dispatchSlagRail
 import dispatchSteelSaleOrder from '../components/transport_order/dispatchSteelSaleOrder.vue'
 import dispatchSteelSaleOrderCheck from '../components/transport_order/dispatchSteelSaleOrderCheck.vue'
 import receiveOrder from '../components/transport_order/receiveOrder.vue'
+import saleChemicalCokeOrder from '../components/transport_order/saleChemicalCokeOrder.vue'
+import saleCoproductOrder from '../components/transport_order/saleCoproductOrder.vue'
+import saleSteelOrder from '../components/transport_order/saleSteelOrder.vue'
 import addBmsTrainFreight from '../components/transportFreight/saleTrainSettlement/addBmsTrainFreight.vue'
 import bmsTrainFreight from '../components/transportFreight/saleTrainSettlement/bmsTrainFreight.vue'
 import updateBmsTrainFreight from '../components/transportFreight/saleTrainSettlement/updateBmsTrainFreight.vue'
@@ -99,7 +102,8 @@ import bmsTruckStatement from '../components/transportFreight/saleTruckSettlemen
 import getBmsTruckStatementOrder from '../components/transportFreight/saleTruckSettlement/getBmsTruckStatementOrder.vue'
 import getTransportResult from '../components/transportFreight/saleTruckSettlement/getTransportResult.vue'
 import mapTest from '../components/offSiteTransportation/mapTest.vue'
-import inTransit from '../components/offSiteTransportation/inTransit.vue'
+import checkGPS from '../components/offSiteTransportation/checkGPS.vue'
+import inTransit from '../components/offSiteTransportation/inTransit.vue'  
 import inTransitWarn from '../components/offSiteTransportation/inTransitWarn.vue'
 //测试数据
 
@@ -193,6 +197,9 @@ const constantRouterMap = [
 		{path: 'dispatchSteelSaleOrder', name: 'dispatchSteelSaleOrder', meta: {code: 'xtpzgl-yhgl'}, component: dispatchSteelSaleOrder},
 		{path: 'dispatchSteelSaleOrderCheck', name: 'dispatchSteelSaleOrderCheck', meta: {code: 'xtpzgl-jggl'}, component: dispatchSteelSaleOrderCheck},
 		{path: 'receiveOrder', name: 'receiveOrder', meta: {code: 'xtpzgl-yhgl'}, component: receiveOrder},
+		{path: 'saleChemicalCokeOrder', name: 'saleChemicalCokeOrder', meta: {code: 'xtpzgl-yhgl'}, component: saleChemicalCokeOrder},
+		{path: 'saleCoproductOrder', name: 'saleCoproductOrder', meta: {code: 'xtpzgl-yhgl'}, component: saleCoproductOrder},
+		{path: 'saleSteelOrder', name: 'saleSteelOrder', meta: {code: 'xtpzgl-yhgl'}, component: saleSteelOrder},
 		{path: 'addBmsTrainFreight', name: 'addBmsTrainFreight', meta: {code: 'xtpzgl-yhgl'}, component: addBmsTrainFreight},
 		{path: 'bmsTrainFreight', name: 'bmsTrainFreight', meta: {code: 'xtpzgl-yhgl'}, component: bmsTrainFreight},
 		{path: 'updateBmsTrainFreight/:settlementId', name: 'updateBmsTrainFreight', meta: {code: 'xtpzgl-yhgl'}, component: updateBmsTrainFreight},
@@ -205,7 +212,8 @@ const constantRouterMap = [
 		{path: 'bmsTruckStatement', name: 'bmsTruckStatement', meta: {code: 'xtpzgl-yhgl'}, component: bmsTruckStatement},
 		{path: 'getBmsTruckStatementOrder/:statementId', name: 'getBmsTruckStatementOrder', meta: {code: 'xtpzgl-yhgl'}, component: getBmsTruckStatementOrder},
 		{path: 'getTransportResult/:orderId', name: 'getTransportResult', meta: {code: 'xtpzgl-yhgl'}, component: getTransportResult},
-		{path: 'mapTest', name: 'mapTest', meta: {code: 'xtpzgl-yhgl'}, component: mapTest},
+		{path: 'mapTest', name: 'mapTest', meta: {code: 'xtpzgl-yhgl'}, component: mapTest},  
+		{path: 'checkGPS', name: 'checkGPS', meta: {code: 'xtpzgl-yhgl'}, component: checkGPS},
 		{path: 'inTransitWarn', name: 'inTransitWarn', meta: {code: 'xtpzgl-yhgl'}, component: inTransitWarn},
 	  ]
 	}

+ 154 - 0
src/views/statisticalReport/components/salesLogisticsStatistics/saleChemicalCokeForm.vue

@@ -0,0 +1,154 @@
+//化产焦炭统计报表
+<template>
+  <div class="purchasFuelNewMonitor">
+    <div class="frameCalculation">
+      <span style="width:68px">计毛时间:</span>
+      <el-date-picker
+        v-model="startTime"
+        type="datetime"
+        placeholder="选择日期时间">
+      </el-date-picker>
+      <span>至</span>
+      <el-date-picker
+        v-model="endTime"
+        type="datetime"
+        placeholder="选择日期时间">
+      </el-date-picker>
+      <el-button type="primary" class="btn" @click="onclick">
+        <i class="el-icon-search"></i>查询
+      </el-button>
+      <el-button type="primary" @click="exportData()"><i class="el-icon-download"></i>导出(Excel)</el-button>
+      <el-button type="primary" @click="refresh">
+        <i class="el-icon-refresh"></i>刷新
+      </el-button>
+      <span style="margin-left: 1rem;width:68px">合计净重:</span>
+      <el-input v-model="totalNumber" :disabled="true" style="width: 150px;"></el-input>
+      <span style="margin-left: 1rem;width:68px">合计车数:</span>
+      <el-input v-model="totalCapacity" :disabled="true" style="width: 150px;"></el-input>
+    </div>
+    <div class="table">
+      <dilTable ref="excelDom" v-bind.sync="option" :isHeigth="isHeigth" :shiyHeigth="shiyHeigth" :isKuang="isKuang" @func="func" @requestQuery="requestQuery" :pageSize = "pageSize"></dilTable>
+    </div>
+  </div>
+</template>
+
+<script>
+import { sjTime } from '@/utils/sharedJsFile'
+import { getCookie } from "@/utils/util.js";
+export default {
+  data() {
+    return {
+      shiyHeigth:140,
+      isHeigth:true,
+      pageSize:100,
+      isKuang:false,
+      option: {
+        requestUrl: "",
+      },
+      startTime:null,
+      endTime:null,
+      //合计净重
+      totalNumber: 0,
+      //合计车数
+      totalCapacity: 0,
+      tableTitle:'销售统计报表'
+    };
+  },
+  created(){
+    //初始化表头
+    if (getCookie("orgCode") == "chengyunshang") {
+      this.option.requestUrl =
+        "/api/v1/tms/getAllSaleReport?apiId=423&startTime=null&endTime=null&orderType=2&shipperId=2&carrierSsoId=" + getCookie("userId") +"&i=" +new Date();
+    } else {
+      this.option.requestUrl =
+        "/api/v1/tms/getAllSaleReport?apiId=423&startTime=null&endTime=null&orderType=2&shipperId=2&carrierSsoId=" + null +"&i=" +new Date();
+    }
+    //时间段初始化
+    const start = new Date(new Date(new Date().toLocaleDateString()).getTime());
+    var startTime = this.dataFormat(sjTime(start));
+    var endTime = this.dataFormat(sjTime(new Date()));
+    this.tableTitle = startTime + ' 至 ' + endTime;
+  },
+  methods: {
+    refresh(){
+      this.$router.go(0);
+    },
+    func(res){
+      console.log(res)
+      var resultNetWeightTotal = 0
+      res.list.forEach(e => {
+        resultNetWeightTotal = resultNetWeightTotal+e.resultNetWeight
+      });
+      this.totalNumber = resultNetWeightTotal.toFixed(2) + " t"
+      this.totalCapacity = res.total;
+      //获取总记录条数作为合计车数
+      // this.totalCapacity = res.total;
+      this.isKuang = false;
+    },
+    onclick() {
+      let startTime = null;
+      let endTime = null;
+      if(this.startTime && this.endTime){
+        startTime = sjTime(this.startTime);
+        endTime = sjTime(this.endTime);
+        //修改报表名称
+        this.tableTitle = this.dataFormat(startTime) + ' 至 ' + this.dataFormat(endTime);
+        //加上时间重置表头
+        if (getCookie("orgCode") == "chengyunshang") {
+          this.option.requestUrl =
+            "/api/v1/tms/getAllSaleReport?apiId=423&startTime=" + startTime + "&endTime=" + endTime + "&orderType=2&shipperId=2"+ "&carrierSsoId=" + getCookie("userId") +"&i=" +new Date();
+        } else {
+          this.option.requestUrl =
+            "/api/v1/tms/getAllSaleReport?apiId=423&startTime=" + startTime + "&endTime=" + endTime + "&orderType=2&shipperId=2"+ "&carrierSsoId=" + null +"&i=" +new Date();
+        }
+      }else{
+        if(this.startTime){
+          startTime = sjTime(this.startTime);
+        }else if(this.endTime){
+          endTime = sjTime(this.endTime);
+        }
+        //加上时间重置表头
+        if (getCookie("orgCode") == "chengyunshang") {
+          this.option.requestUrl =
+            "/api/v1/tms/getAllSaleReport?apiId=423&startTime=" + startTime + "&endTime=" + endTime +"&orderType=2&shipperId=2"+ "&carrierSsoId=" + getCookie("userId") +"&i=" +new Date();
+        } else {
+          this.option.requestUrl =
+            "/api/v1/tms/getAllSaleReport?apiId=423&startTime=" + startTime + "&endTime=" + endTime +"&orderType=2&shipperId=2"+ "&carrierSsoId=" + null +"&i=" +new Date();
+        }
+      }
+    },
+    //格式化日期
+    dataFormat(value){
+      let date = new Date(value);
+        let y = date.getFullYear();
+        let MM = date.getMonth() + 1;
+        MM = MM < 10 ? ('0' + MM) : MM;
+        let d = date.getDate();
+        d = d < 10 ? ('0' + d) : d;
+        let h = date.getHours();
+        h = h < 10 ? ('0' + h) : h;
+        let m = date.getMinutes();
+        m = m < 10 ? ('0' + m) : m;
+        let s = date.getSeconds();
+        s = s < 10 ? ('0' + s) : s;
+        return y + '-' + MM + '-' + d + ' ' + h + ':' + m + ':' + s;
+    }
+
+  },
+};
+</script>
+
+<style lang="scss">
+.purchasFuelNewMonitor {
+  .frameCalculation {
+    width: 100%;
+    height: 100px;
+    display: flex;
+    align-items: center;
+    padding-left: 50px;
+    .el-date-editor{
+      margin: 20px;
+    }
+  }
+}
+</style>

+ 154 - 0
src/views/statisticalReport/components/salesLogisticsStatistics/saleCoproductForm.vue

@@ -0,0 +1,154 @@
+//副产品统计报表
+<template>
+  <div class="purchasFuelNewMonitor">
+    <div class="frameCalculation">
+      <span style="width:68px">计毛时间:</span>
+      <el-date-picker
+        v-model="startTime"
+        type="datetime"
+        placeholder="选择日期时间">
+      </el-date-picker>
+      <span>至</span>
+      <el-date-picker
+        v-model="endTime"
+        type="datetime"
+        placeholder="选择日期时间">
+      </el-date-picker>
+      <el-button type="primary" class="btn" @click="onclick">
+        <i class="el-icon-search"></i>查询
+      </el-button>
+      <el-button type="primary" @click="exportData()"><i class="el-icon-download"></i>导出(Excel)</el-button>
+      <el-button type="primary" @click="refresh">
+        <i class="el-icon-refresh"></i>刷新
+      </el-button>
+      <span style="margin-left: 1rem;width:68px">合计净重:</span>
+      <el-input v-model="totalNumber" :disabled="true" style="width: 150px;"></el-input>
+      <span style="margin-left: 1rem;width:68px">合计车数:</span>
+      <el-input v-model="totalCapacity" :disabled="true" style="width: 150px;"></el-input>
+    </div>
+    <div class="table">
+      <dilTable ref="excelDom" v-bind.sync="option" :isHeigth="isHeigth" :shiyHeigth="shiyHeigth" :isKuang="isKuang" @func="func" @requestQuery="requestQuery" :pageSize = "pageSize"></dilTable>
+    </div>
+  </div>
+</template>
+
+<script>
+import { sjTime } from '@/utils/sharedJsFile'
+import { getCookie } from "@/utils/util.js";
+export default {
+  data() {
+    return {
+      shiyHeigth:140,
+      isHeigth:true,
+      pageSize:100,
+      isKuang:false,
+      option: {
+        requestUrl: "",
+      },
+      startTime:null,
+      endTime:null,
+      //合计净重
+      totalNumber: 0,
+      //合计车数
+      totalCapacity: 0,
+      tableTitle:'销售统计报表'
+    };
+  },
+  created(){
+    //初始化表头
+    if (getCookie("orgCode") == "chengyunshang") {
+      this.option.requestUrl =
+        "/api/v1/tms/getAllSaleReport?apiId=423&startTime=null&endTime=null&orderType=2&shipperId=1&carrierSsoId=" + getCookie("userId") +"&i=" +new Date();
+    } else {
+      this.option.requestUrl =
+        "/api/v1/tms/getAllSaleReport?apiId=423&startTime=null&endTime=null&orderType=2&shipperId=1&carrierSsoId=" + null +"&i=" +new Date();
+    }
+    //时间段初始化
+    const start = new Date(new Date(new Date().toLocaleDateString()).getTime());
+    var startTime = this.dataFormat(sjTime(start));
+    var endTime = this.dataFormat(sjTime(new Date()));
+    this.tableTitle = startTime + ' 至 ' + endTime;
+  },
+  methods: {
+    refresh(){
+      this.$router.go(0);
+    },
+    func(res){
+      console.log(res)
+      var resultNetWeightTotal = 0
+      res.list.forEach(e => {
+        resultNetWeightTotal = resultNetWeightTotal+e.resultNetWeight
+      });
+      this.totalNumber = resultNetWeightTotal.toFixed(2) + " t"
+      this.totalCapacity = res.total;
+      //获取总记录条数作为合计车数
+      // this.totalCapacity = res.total;
+      this.isKuang = false;
+    },
+    onclick() {
+      let startTime = null;
+      let endTime = null;
+      if(this.startTime && this.endTime){
+        startTime = sjTime(this.startTime);
+        endTime = sjTime(this.endTime);
+        //修改报表名称
+        this.tableTitle = this.dataFormat(startTime) + ' 至 ' + this.dataFormat(endTime);
+        //加上时间重置表头
+        if (getCookie("orgCode") == "chengyunshang") {
+          this.option.requestUrl =
+            "/api/v1/tms/getAllSaleReport?apiId=423&startTime=" + startTime + "&endTime=" + endTime + "&orderType=2&shipperId=1"+ "&carrierSsoId=" + getCookie("userId") +"&i=" +new Date();
+        } else {
+          this.option.requestUrl =
+            "/api/v1/tms/getAllSaleReport?apiId=423&startTime=" + startTime + "&endTime=" + endTime + "&orderType=2&shipperId=1"+ "&carrierSsoId=" + null +"&i=" +new Date();
+        }
+      }else{
+        if(this.startTime){
+          startTime = sjTime(this.startTime);
+        }else if(this.endTime){
+          endTime = sjTime(this.endTime);
+        }
+        //加上时间重置表头
+        if (getCookie("orgCode") == "chengyunshang") {
+          this.option.requestUrl =
+            "/api/v1/tms/getAllSaleReport?apiId=423&startTime=" + startTime + "&endTime=" + endTime +"&orderType=2&shipperId=1"+ "&carrierSsoId=" + getCookie("userId") +"&i=" +new Date();
+        } else {
+          this.option.requestUrl =
+            "/api/v1/tms/getAllSaleReport?apiId=423&startTime=" + startTime + "&endTime=" + endTime +"&orderType=2&shipperId=1"+ "&carrierSsoId=" + null +"&i=" +new Date();
+        }
+      }
+    },
+    //格式化日期
+    dataFormat(value){
+      let date = new Date(value);
+        let y = date.getFullYear();
+        let MM = date.getMonth() + 1;
+        MM = MM < 10 ? ('0' + MM) : MM;
+        let d = date.getDate();
+        d = d < 10 ? ('0' + d) : d;
+        let h = date.getHours();
+        h = h < 10 ? ('0' + h) : h;
+        let m = date.getMinutes();
+        m = m < 10 ? ('0' + m) : m;
+        let s = date.getSeconds();
+        s = s < 10 ? ('0' + s) : s;
+        return y + '-' + MM + '-' + d + ' ' + h + ':' + m + ':' + s;
+    }
+
+  },
+};
+</script>
+
+<style lang="scss">
+.purchasFuelNewMonitor {
+  .frameCalculation {
+    width: 100%;
+    height: 100px;
+    display: flex;
+    align-items: center;
+    padding-left: 50px;
+    .el-date-editor{
+      margin: 20px;
+    }
+  }
+}
+</style>

+ 154 - 0
src/views/statisticalReport/components/salesLogisticsStatistics/saleSteelForm.vue

@@ -0,0 +1,154 @@
+//钢材统计报表
+<template>
+  <div class="purchasFuelNewMonitor">
+    <div class="frameCalculation">
+      <span style="width:68px">计毛时间:</span>
+      <el-date-picker
+        v-model="startTime"
+        type="datetime"
+        placeholder="选择日期时间">
+      </el-date-picker>
+      <span>至</span>
+      <el-date-picker
+        v-model="endTime"
+        type="datetime"
+        placeholder="选择日期时间">
+      </el-date-picker>
+      <el-button type="primary" class="btn" @click="onclick">
+        <i class="el-icon-search"></i>查询
+      </el-button>
+      <el-button type="primary" @click="exportData()"><i class="el-icon-download"></i>导出(Excel)</el-button>
+      <el-button type="primary" @click="refresh">
+        <i class="el-icon-refresh"></i>刷新
+      </el-button>
+      <span style="margin-left: 1rem;width:68px">合计净重:</span>
+      <el-input v-model="totalNumber" :disabled="true" style="width: 150px;"></el-input>
+      <span style="margin-left: 1rem;width:68px">合计车数:</span>
+      <el-input v-model="totalCapacity" :disabled="true" style="width: 150px;"></el-input>
+    </div>
+    <div class="table">
+      <dilTable ref="excelDom" v-bind.sync="option" :isHeigth="isHeigth" :shiyHeigth="shiyHeigth" :isKuang="isKuang" @func="func" @requestQuery="requestQuery" :pageSize = "pageSize"></dilTable>
+    </div>
+  </div>
+</template>
+
+<script>
+import { sjTime } from '@/utils/sharedJsFile'
+import { getCookie } from "@/utils/util.js";
+export default {
+  data() {
+    return {
+      shiyHeigth:140,
+      isHeigth:true,
+      pageSize:100,
+      isKuang:false,
+      option: {
+        requestUrl: "",
+      },
+      startTime:null,
+      endTime:null,
+      //合计净重
+      totalNumber: 0,
+      //合计车数
+      totalCapacity: 0,
+      tableTitle:'销售统计报表'
+    };
+  },
+  created(){
+    //初始化表头
+    if (getCookie("orgCode") == "chengyunshang") {
+      this.option.requestUrl =
+        "/api/v1/tms/getAllSaleReport?apiId=423&startTime=null&endTime=null&orderType=1&shipperId=1&carrierSsoId=" + getCookie("userId") +"&i=" +new Date();
+    } else {
+      this.option.requestUrl =
+        "/api/v1/tms/getAllSaleReport?apiId=423&startTime=null&endTime=null&orderType=1&shipperId=1&carrierSsoId=" + null +"&i=" +new Date();
+    }
+    //时间段初始化
+    const start = new Date(new Date(new Date().toLocaleDateString()).getTime());
+    var startTime = this.dataFormat(sjTime(start));
+    var endTime = this.dataFormat(sjTime(new Date()));
+    this.tableTitle = startTime + ' 至 ' + endTime;
+  },
+  methods: {
+    refresh(){
+      this.$router.go(0);
+    },
+    func(res){
+      console.log(res)
+      var resultNetWeightTotal = 0
+      res.list.forEach(e => {
+        resultNetWeightTotal = resultNetWeightTotal+e.resultNetWeight
+      });
+      this.totalNumber = resultNetWeightTotal.toFixed(2) + " t"
+      this.totalCapacity = res.total;
+      //获取总记录条数作为合计车数
+      // this.totalCapacity = res.total;
+      this.isKuang = false;
+    },
+    onclick() {
+      let startTime = null;
+      let endTime = null;
+      if(this.startTime && this.endTime){
+        startTime = sjTime(this.startTime);
+        endTime = sjTime(this.endTime);
+        //修改报表名称
+        this.tableTitle = this.dataFormat(startTime) + ' 至 ' + this.dataFormat(endTime);
+        //加上时间重置表头
+        if (getCookie("orgCode") == "chengyunshang") {
+          this.option.requestUrl =
+            "/api/v1/tms/getAllSaleReport?apiId=423&startTime=" + startTime + "&endTime=" + endTime + "&orderType=1&shipperId=1"+ "&carrierSsoId=" + getCookie("userId") +"&i=" +new Date();
+        } else {
+          this.option.requestUrl =
+            "/api/v1/tms/getAllSaleReport?apiId=423&startTime=" + startTime + "&endTime=" + endTime + "&orderType=1&shipperId=1"+ "&carrierSsoId=" + null +"&i=" +new Date();
+        }
+      }else{
+        if(this.startTime){
+          startTime = sjTime(this.startTime);
+        }else if(this.endTime){
+          endTime = sjTime(this.endTime);
+        }
+        //加上时间重置表头
+        if (getCookie("orgCode") == "chengyunshang") {
+          this.option.requestUrl =
+            "/api/v1/tms/getAllSaleReport?apiId=423&startTime=" + startTime + "&endTime=" + endTime +"&orderType=1&shipperId=1"+ "&carrierSsoId=" + getCookie("userId") +"&i=" +new Date();
+        } else {
+          this.option.requestUrl =
+            "/api/v1/tms/getAllSaleReport?apiId=423&startTime=" + startTime + "&endTime=" + endTime +"&orderType=1&shipperId=1"+ "&carrierSsoId=" + null +"&i=" +new Date();
+        }
+      }
+    },
+    //格式化日期
+    dataFormat(value){
+      let date = new Date(value);
+        let y = date.getFullYear();
+        let MM = date.getMonth() + 1;
+        MM = MM < 10 ? ('0' + MM) : MM;
+        let d = date.getDate();
+        d = d < 10 ? ('0' + d) : d;
+        let h = date.getHours();
+        h = h < 10 ? ('0' + h) : h;
+        let m = date.getMinutes();
+        m = m < 10 ? ('0' + m) : m;
+        let s = date.getSeconds();
+        s = s < 10 ? ('0' + s) : s;
+        return y + '-' + MM + '-' + d + ' ' + h + ':' + m + ':' + s;
+    }
+
+  },
+};
+</script>
+
+<style lang="scss">
+.purchasFuelNewMonitor {
+  .frameCalculation {
+    width: 100%;
+    height: 100px;
+    display: flex;
+    align-items: center;
+    padding-left: 50px;
+    .el-date-editor{
+      margin: 20px;
+    }
+  }
+}
+</style>

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

@@ -12,6 +12,9 @@ import purchasFuelOldMonitor from '../components/purchasFuelMonitor/purchasFuelO
 import purchasFuelNewMonitor from '../components/purchasFuelMonitor/purchasFuelNewMonitor.vue'
 import sporadicReportEnterFactory from '../components/sporadicReport/sporadicReportEnterFactory.vue'
 import sporadicReportExFactory from '../components/sporadicReport/sporadicReportExFactory.vue'
+import saleChemicalCokeForm from '../components/salesLogisticsStatistics/saleChemicalCokeForm.vue'
+import saleCoproductForm from '../components/salesLogisticsStatistics/saleCoproductForm.vue'
+import saleSteelForm from '../components/salesLogisticsStatistics/saleSteelForm.vue'
 import transportationPerformance from '../components/salesLogisticsStatistics/transportationPerformance.vue'
 import purchaseChemicalMaterialsNew from '../components/purchaseChemicalMaterials/purchaseChemicalMaterialsNew.vue'
 import purchaseChemicalMaterialsOld from '../components/purchaseChemicalMaterials/purchaseChemicalMaterialsOld.vue'
@@ -42,6 +45,9 @@ const constantRouterMap = [
       {path: 'purchasFuelNewMonitor', name: 'purchasFuelNewMonitor', meta: {code: 'xtpzgl-yhgl'}, component: purchasFuelNewMonitor},
       {path: 'sporadicReportEnterFactory',name:'sporadicReportEnterFactory',meta:{code:'xtpzgl-yhgl'},component:sporadicReportEnterFactory},
       {path: 'sporadicReportExFactory',name:'sporadicReportExFactory',meta:{code:'xtpzgl-yhgl'},component:sporadicReportExFactory},
+      {path: 'saleChemicalCokeForm', name: 'saleChemicalCokeForm', meta: {code: 'xtpzgl-yhgl'}, component: saleChemicalCokeForm},
+      {path: 'saleCoproductForm', name: 'saleCoproductForm', meta: {code: 'xtpzgl-yhgl'}, component: saleCoproductForm},
+      {path: 'saleSteelForm', name: 'saleSteelForm', meta: {code: 'xtpzgl-yhgl'}, component: saleSteelForm},
       {path: 'transportationPerformance', name: 'transportationPerformance', meta: {code: 'xtpzgl-yhgl'}, component: transportationPerformance},
       {path: 'purInwardReport', name: 'purInwardReport', meta: {code: 'xtpzgl-yhgl'}, component: purInwardReport},
       {path: 'inwardFactory', name: 'inwardFactory', meta: {code: 'xtpzgl-yhgl'}, component: inwardFactory},

部分文件因为文件数量过多而无法显示