浏览代码

销售钢材页面修改

zouzhd 3 年之前
父节点
当前提交
b37ec29af2

+ 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','appoint','sale','RMS'];
+// let devModules = ['index','appoint','sale','RMS','statisticalReport'];
 // let devModules = ['index','appoint','WMS'];
 // let devModules = ['index','inward','SporadicManage']
 // let devModules = ['index','sale','RMS']

+ 1 - 1
config/index.js

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

+ 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) {

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

+ 6 - 0
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'
@@ -192,6 +195,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},

+ 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},

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