luobang 2 gadi atpakaļ
vecāks
revīzija
325c7d42fb
25 mainītis faili ar 2142 papildinājumiem un 156 dzēšanām
  1. 2 1
      build/utils.js
  2. 2 2
      config/index.js
  3. 1 1
      src/views/ADMINISTRATORS/components/ADMINISTRATORS1.vue
  4. 3 1
      src/views/RMS/components/addMaterial.vue
  5. 22 1
      src/views/RMS/components/addOilPrice.vue
  6. 6 1
      src/views/RMS/components/editCapacity.vue
  7. 89 0
      src/views/RMS/components/editInwardContractMaterial.vue
  8. 5 2
      src/views/RMS/components/editMaterial.vue
  9. 2 2
      src/views/RMS/components/gatepost.vue
  10. 43 2
      src/views/RMS/components/inwardContractMaterial.vue
  11. 8 1
      src/views/RMS/components/material.vue
  12. 8 1
      src/views/RMS/components/oilPrice.vue
  13. 2 0
      src/views/RMS/router/index.js
  14. 78 2
      src/views/TMS/components/importedIngredients/transportReserveFu.vue
  15. 0 2
      src/views/appoint/components/inward/addTransPrice.vue
  16. 3 1
      src/views/appoint/components/saleContract/addTransportPrice.vue
  17. 10 10
      src/views/appoint/components/saleContract/saleOrderCoproductCarrier.vue
  18. 173 115
      src/views/appoint/components/saleContract/transportPrice.vue
  19. 1 1
      src/views/inward/components/inwardFactory/tareWeightResult.vue
  20. 4 4
      src/views/inward/components/offsetSteel/saleSteelTruckOrder/platformStockInfo.vue
  21. 2 2
      src/views/sale/components/dilNotice/addNotice.vue
  22. 2 2
      src/views/sale/components/dilNotice/addNotice1.vue
  23. 2 2
      src/views/sale/components/dilNotice/addNotice2.vue
  24. 1665 0
      src/views/statisticalReport/components/salesLogisticsStatistics/saleSteelReportForFinance.vue
  25. 9 0
      src/views/statisticalReport/router/index.js

+ 2 - 1
build/utils.js

@@ -17,7 +17,8 @@ const devPathSrc = path.resolve(__dirname, '../../../src') // node_modules应用
 //  'statisticalReport','systemConfig','TMS','WMS','workFlow','ADMINISTRATORS']
 
 // let devModules = ['all']
-let devModules = ['index', 'statisticalReport', 'inward', 'appoint']
+let devModules = ['index', 'statisticalReport', 'appoint']
+
 // let devModules = ['index', 'ADMINISTRATORS']
 
 if (pathSrc.indexOf('node_modules') > -1) {

+ 2 - 2
config/index.js

@@ -72,8 +72,8 @@ let proxyTable = {
   },
   // 所有数据的请求域名地址
   '/api/v1': {
-    target: 'http://172.16.33.166:80',
-    // target: 'http://localhost:8080',
+    // target: 'http://172.16.33.166:80',
+    target: 'http://localhost:8080',
     // target: 'http://192.168.1.104:8080',
     ws: true,
     pathRewrite: {

+ 1 - 1
src/views/ADMINISTRATORS/components/ADMINISTRATORS1.vue

@@ -3,7 +3,7 @@
   <div class="admin">
     <template>
       <div class="admin1">
-        <el-tabs v-model="activeName">
+        <el-tabs v-model="activeName" tab-position="left">
           <el-tab-pane label="补录计量实绩" name="first">
             <div class="switch">
               <el-switch

+ 3 - 1
src/views/RMS/components/addMaterial.vue

@@ -9,11 +9,12 @@
       <el-input v-model="materialTypeName" disabled> </el-input>
       <el-button type="primary" @click="openDrawer">物资种类</el-button>
     </div>
-    <div class="eldrawer">
+    <div class="materialDrawer">
       <el-drawer
         :visible.sync="drawer"
         :direction="direction"
         :before-close="handleClose"
+        size="50%"
       >
         <el-input
           placeholder="请输入内容"
@@ -29,6 +30,7 @@
           <dilTable
             v-bind.sync="options"
             @radio-change="currentRadioChange"
+            max-height="300px"
           ></dilTable>
         </div>
       </el-drawer>

+ 22 - 1
src/views/RMS/components/addOilPrice.vue

@@ -14,6 +14,13 @@
       </el-select>
       <el-button type="primary" @click="dialogVisible = true">新增油品名称</el-button>
     </div>
+    <div id="formType">
+      <span>运输类型</span>
+      <el-select v-model="transportationType" placeholder="请选择">
+        <el-option label="销售" value="1"></el-option>
+        <el-option label="内转" value="2"></el-option>
+      </el-select>
+    </div>
     <div id="form_box" style="margin-right: 10rem">
       <dil-form :formId="357" v-model="form1" ref="from1" @change="onchang"></dil-form>
     </div>
@@ -45,6 +52,8 @@ export default {
     return {
       //下拉框选中的值
       oilNameId:null,
+      //运输类型
+      transportationType:'',
       //加载状态
       loading:false,
       //油品名称新增的值
@@ -101,6 +110,8 @@ export default {
         this.$message.warning('请填写油品价格')
       }else if(!isNumber(this.form1.priceValue)){
         this.$message.warning('油品价格必修为整数或者小数')
+      }else if(!this.transportationType){
+        this.$message.warning('请填写运输类型')
       }else{
         state = true;
       }
@@ -109,7 +120,8 @@ export default {
           oilNameId:this.oilNameId,
           priceValue:this.form1.priceValue,
           priceDate:sjTime(this.form1.priceDate),
-          priceStatus:this.form1.priceStatus
+          priceStatus:this.form1.priceStatus,
+          transportationType:this.transportationType
         };
         console.log(RmsOilPrice);
         this.axios.post("/api/v1/rms/insertOilPrice" , RmsOilPrice)
@@ -147,6 +159,15 @@ export default {
       margin-right: 20px;
     }
   }
+  #formType{
+    margin-left: 35%;
+    margin-top: 10px;
+    .el-select{
+      width: 250px;
+      margin-left: 60px;
+      margin-right: 20px;
+    }
+  }
   #form_box{
     margin-left: 35%;
     padding-top: 10px;

+ 6 - 1
src/views/RMS/components/editCapacity.vue

@@ -17,6 +17,10 @@
                   <el-radio v-model="form1.capacityGps" label="是">是</el-radio>
                   <el-radio v-model="form1.capacityGps" label="否">否</el-radio>
                 </el-form-item>
+                <el-form-item label="是否是黑名单车辆:">
+                  <el-radio v-model="form1.capacityBlackList" label="是">是</el-radio>
+                  <el-radio v-model="form1.capacityBlackList" label="否">否</el-radio>
+                </el-form-item>
               </div>
             </el-form>
           </div>
@@ -166,7 +170,8 @@ export default {
         capacityTel: this.form1.capacityTel,
         capacityNumber: this.form1.capacityNumber,
         capacityVip: this.form1.capacityVip,
-        capacityGps: this.form1.capacityGps
+        capacityGps: this.form1.capacityGps,
+        capacityBlackList: this.form1.capacityBlackList
       }
       this.axios.post('/api/v1/rms/updateCapacity', map).then(res => {
         if (res.data.code == '200') {

+ 89 - 0
src/views/RMS/components/editInwardContractMaterial.vue

@@ -0,0 +1,89 @@
+<template>
+  <!-- 添加港口信息 -->
+  <div class="addWagonLoad">
+    <PageTitle>返回</PageTitle>
+    <div style="width:400px;margin-top: 20px;margin-left: 500px;">
+      <el-input
+      v-model="materialTypeName"
+      >
+      </el-input>
+    </div>
+    <div class="button-box">
+      <el-button @click="cancel">取消</el-button>
+      <el-button type="primary" @click="makeSure">确定</el-button>
+    </div>
+  </div>
+</template>
+
+<script>
+import PageTitle from "@/components/Page/Title";
+export default {
+  components: { PageTitle },
+  data() {
+    return {
+      form1: {},
+      materialTypeName:'',
+      materialTypeId:null
+    };
+  },
+  mounted() {
+    this.materialTypeId=this.$route.params.materialTypeId
+    this.materialTypeName=this.$route.params.materialTypeName
+    console.log("数据显示")
+    console.log(this.materialTypeName)
+    console.log(this.materialTypeId)
+  },
+  methods: {
+    makeSure() {
+      let mapValue={
+        materialTypeId:this.materialTypeId,
+        materialTypeName:this.materialTypeName
+      }
+      this.axios
+        .post("/api/v1/rms/updateMaterialForInward", mapValue)
+        .then(res => {
+          if (res.data.code == 0) {
+            this.$message.success("修改成功");
+            this.$router.go(-1);
+          } else {
+            this.$message.success("修改失败");
+            this.$router.go(-1);
+          }
+        });
+    },
+    // 取消
+    cancel() {
+      this.$router.go(-1);
+    }
+  }
+};
+</script>
+<style lang="scss">
+.button-box {
+  display: flex;
+  justify-content: center;
+  .el-button {
+    width: 80px;
+    margin-right: 10px;
+  }
+}
+.form-box {
+  display: flex;
+  justify-content: center;
+  .el-form-item {
+    display: flex;
+    justify-content: center;
+    .el-form-item__label {
+      display: flex;
+      align-items: center;
+    }
+    .el-form-item__content {
+      .el-input {
+        .el-input__inner {
+          width: 250px;
+        }
+      }
+    }
+  }
+}
+</style>

+ 5 - 2
src/views/RMS/components/editMaterial.vue

@@ -17,8 +17,8 @@
     <div class="eldrawer">
       <el-drawer
         :visible.sync="drawer"
-        :direction="direction"
         :before-close="handleClose"
+        :direction="direction"
       >
         <el-input
           placeholder="请输入内容"
@@ -81,6 +81,10 @@ export default {
       this.materialTypeName = this.mapList.materialTypeName;
     },
     information() {
+      console.log("数据显示")
+      console.log(this.$route.params.materialTypeName)
+      console.log(this.$route.params.materialId)
+      this.materialTypeName=this.$route.params.materialTypeName
       //编辑
       this.axios
         .post("/api/v1/rms/getMaterialById/" + this.$route.params.materialId)
@@ -88,7 +92,6 @@ export default {
           console.log(res);
           res.data.data.forEach(e => {
             this.form1 = e;
-            console.log(e);
             console.log(this.form1);
             console.log(this.$route.params.materialId);
           });

+ 2 - 2
src/views/RMS/components/gatepost.vue

@@ -18,13 +18,13 @@
       <dilTable v-bind.sync="options">
         <el-table-column fixed="right" label="操作" width="100">
           <template slot-scope="scope">
-            <el-button
+            <!-- <el-button
               type="text"
               size="mini"
               @click="updateGatepostRules(scope)"
             >
               详细
-            </el-button>
+            </el-button> -->
             <el-button
               type="text"
               size="small"

+ 43 - 2
src/views/RMS/components/inwardContractMaterial.vue

@@ -6,7 +6,19 @@
       <el-button type="primary" @click="onInsert">新增</el-button>
     </div>
     <div class="table">
-      <dilTable v-bind.sync="option" ref="table"> </dilTable>
+      <dilTable v-bind.sync="option" ref="table"> 
+        <el-table-column
+           fixed="right"
+           label="操作"
+           width="200px"
+           align="center"
+        >
+        <template slot-scope="scope">
+          <el-button type="primary" @click="updateSomeData(scope.row)">修改</el-button>
+          <el-button type="primary" @click="deleteSomeData(scope.row)">删除</el-button>
+        </template>
+        </el-table-column>
+      </dilTable>
     </div>
   </div>
 </template>
@@ -22,7 +34,36 @@ export default {
   methods: {
     onInsert() {
       this.$router.push("/addInwardContractMaterial");
-    }
+    },
+    updateSomeData(row){
+      this.$router.push({
+        name:"editInwardContractMaterial",
+        params:{
+          materialTypeId:row.materialTypeId,
+          materialTypeName:row.materialTypeName
+        }
+      })
+    },
+    deleteSomeData(row){
+      let mapValue={
+        materialTypeId:row.materialTypeId,
+        materialTypeName:row.materialTypeName
+      }
+      this.$confirm("你确定要删除吗","提示",{
+        confirmButtonText:"确定",
+        cancelButtonText:"取消",
+        type:"warning"
+      }).then(()=>{
+        this.axios.post("/api/v1/rms/deleteMaterialForInward", mapValue)
+        .then((res)=>{
+          if(res.data.code=='200'){
+            this.$message.success("删除成功")
+            this.$router.go(0)
+          }
+        })
+      })
+      .catch()
+    },
   }
 };
 </script>

+ 8 - 1
src/views/RMS/components/material.vue

@@ -61,7 +61,14 @@ export default {
     },
     updateMaterial(scope){
       console.log(scope.row.materialId)
-      this.$router.push("/editMaterial/"+scope.row.materialId)
+      //this.$router.push("/editMaterial/"+scope.row.materialId)
+      this.$router.push({
+        name:'editMaterial',
+        params:{
+          materialId:scope.row.materialId,
+          materialTypeName:scope.row.materialTypeName
+        }
+      })
     },
     deleteMaterial(scope){
       this.$confirm("是否删除", "提示", {

+ 8 - 1
src/views/RMS/components/oilPrice.vue

@@ -108,12 +108,19 @@ export default {
       });
     },
     onEnable(scope){
+      console.log("数据显示")
+      console.log(scope.row)
+      let map={
+        priceId:scope.row.priceId,
+        transportationType:scope.row.transportType
+      }
+      console.log(map)
       this.$confirm('将要启用该油价, 是否继续?', '提示', {
         confirmButtonText: '确定',
         cancelButtonText: '取消',
         type: 'warning'
       }).then(() => {
-        this.axios.post("/api/v1/rms/updateOilPrice",{"priceId":scope.row.priceId}).then((res) => {
+        this.axios.post("/api/v1/rms/updateOilPrice",map).then((res) => {
           if (res.data.code == "200") {
             this.$message({ type: "success", message: "启用成功!",});
             this.options.requestUrl = "/api/v1/rms/getOilPriceResultList?apiId=380&i="+ new Date();

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

@@ -60,6 +60,7 @@ import truckCalculate from '../components/truckCalculate.vue'
 import consignee from '../components/consignee.vue'
 import inwardContractMaterial from '../components/inwardContractMaterial'
 import addInwardContractMaterial from '../components/addInwardContractMaterial.vue'
+import editInwardContractMaterial from '../components/editInwardContractMaterial.vue'
 import editInwardMaterial from '../components/editInwardMaterial.vue'
 import cargoDep from '../components/cargoDep.vue'
 import addCargoDep from '../components/addCargoDep.vue'
@@ -131,6 +132,7 @@ const constantRouterMap = [
 		{path: 'consignee', name: 'consignee', meta: {code: 'xtpzgl-yhgl'}, component: consignee},
 		{path: 'inwardContractMaterial', name: 'inwardContractMaterial', meta: {code: 'xtpzgl-yhgl'}, component: inwardContractMaterial},
 		{path: 'addInwardContractMaterial', name: 'addInwardContractMaterial', meta: {code: 'xtpzgl-yhgl'}, component: addInwardContractMaterial},
+		{path: 'editInwardContractMaterial', name: 'editInwardContractMaterial', meta: {code: 'xtpzgl-yhgl'}, component: editInwardContractMaterial},
 		{path: 'editInwardMaterial/:materialTypeId', name: 'editInwardMaterial', meta: {code: 'xtpzgl-yhgl'}, component: editInwardMaterial},	
 		{path: 'cargoDep', name: 'cargoDep', meta: {code: 'xtpzgl-yhgl'}, component: cargoDep},	
 		{path: 'addCargoDep', name: 'addCargoDep', meta: {code: 'xtpzgl-yhgl'}, component: addCargoDep},	

+ 78 - 2
src/views/TMS/components/importedIngredients/transportReserveFu.vue

@@ -136,10 +136,50 @@
         </el-tab-pane>
         <!-- 已下发 -->
         <el-tab-pane label="已下发" name="second">
-          <dilTable v-bind.sync="option2" @func="func"> </dilTable>
+          <dilTable v-bind.sync="option2" @func="func"> 
+             <el-table-column
+              fixed="right"
+              align="center"
+              label="操作"
+              width="120"
+            >
+              <template slot-scope="scope">
+                <el-button
+                  @click="openDraw(scope.row)"
+                  type="text"
+                  size="small"
+                >
+                  修改线路
+                </el-button>
+              </template>
+            </el-table-column>
+          </dilTable>
         </el-tab-pane>
       </el-tabs>
     </div>
+    <el-drawer :visible.sync="drawer" :direction="direction" size="45%">
+      <div class="drawer_top">
+        <el-input
+          placeholder="请输入内容"
+          v-model="input"
+          style="margin-top: 10px; margin-right: 10px; width: 250px"
+          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="updateLineId">
+          <i class="el-icon-confirm"></i>确定修改
+        </el-button>
+      </div>
+      <div>
+        <dilTable
+          v-bind.sync="line"
+           @radio-change="redioChange"
+          :drawer="drawer"
+        ></dilTable>
+      </div>
+    </el-drawer>
   </div>
 </template>
 
@@ -170,7 +210,16 @@ export default {
         // 表格请求数据的地址
         requestUrl: ''
       },
-      purOrderList: []
+      lineName: null,
+      lineId: null,
+      purOrderList: [],
+      drawer:false,
+      direction: 'rtl',
+      orderDetail:{},
+      line: {
+        requestUrl: '',
+        selectionType: 'radio'
+      },
     }
   },
   created() {
@@ -423,6 +472,33 @@ export default {
     //修改
     updateClick(orderId) {
       this.$router.push('/transportReserveFuEdit/' + orderId)
+    },
+    redioChange(selection) {
+      this.lineName = selection.lineName
+      this.lineId = selection.lineId
+    },
+    openDraw(row){
+      this.orderDetail=row;
+      this.lineName = null
+      this.lineId = null
+      this.drawer = true;
+      this.line.requestUrl =
+      '/api/v1/rms/getAllLineDesk?apiId=249&lineType=3&con=辅料&i=' +
+      new Date()
+    },
+    updateLineId(){
+      this.orderDetail.lineId=this.lineId;
+      if(!this.orderDetail.lineId){
+        this.$message.warning("请选择修改线路");
+      }
+      this.axios.post("/api/v1/tms/changeOrderLine",this.orderDetail).then((res)=>{
+        console.log(res);
+        if(res.data.status && res.data.status != "succeed"){
+          this.$message.error(res.data.data);
+        }else{
+          this.$message.success("修改成功");
+        }
+      });
     }
   }
 }

+ 0 - 2
src/views/appoint/components/inward/addTransPrice.vue

@@ -82,7 +82,6 @@
         <el-button
           type="primary"
           @click="selectLineClick"
-          :loading="selectLineLoading"
           ><i class="el-icon-search"></i>查询</el-button
         >
         <el-button type="primary" @click="addoilPriceFormula">确定</el-button>
@@ -93,7 +92,6 @@
             v-bind.sync="oilPriceFormula"
             @radio-change="currentRadioChange"
             :isKuang="isKuang"
-            :loading="tableLoading"
             :drawer="oilPriceFormulaDrawer"
             @func="func"
           ></dilTable>

+ 3 - 1
src/views/appoint/components/saleContract/addTransportPrice.vue

@@ -391,7 +391,9 @@ export default {
       this.selectLineLoading = true;
       this.isKuang = true;
       if(this.LineText){
-        this.oilPriceFormula.requestUrl = "api/v1/uc/getOilFormula?apiId=444&con="+this.LineText;
+         console.log("进入了查询阶段")
+         console.log(this.LineText)
+        this.oilPriceFormula.requestUrl = "api/v1/uc/getOilFormula?apiId=444&con="+this.LineText+"&i=" + new Date();
       }else{
         this.oilPriceFormula.requestUrl = "api/v1/uc/getOilFormula?apiId=444&i=" + new Date();
       }

+ 10 - 10
src/views/appoint/components/saleContract/saleOrderCoproductCarrier.vue

@@ -127,16 +127,16 @@ export default {
     },
     coproductSendClick(row) {
       this.$router.push('/addSaleOrderCoproductSendCarrier/' + row.saleOrderId)
-      // this.axios
-      //   .post('/api/v1/ams/getSaleOrderStatus?saleNumber=' + row.saleNumber)
-      //   .then(res => {
-      //     console.log(res.data.data)
-      //     if (res.data.data == 7) {
-      //       this.$message.error('该订单在金蝶已关闭,无法派车')
-      //       return
-      //     } else {
-      //     }
-      //   })
+      this.axios
+        .post('/api/v1/ams/getSaleOrderStatus?saleNumber=' + row.saleNumber)
+        .then(res => {
+          console.log(res.data.data)
+          if (res.data.data == 7) {
+            this.$message.error('该订单在金蝶已关闭,无法派车')
+            return
+          } else {
+          }
+        })
     },
     // -------查看物资详情 (已审批)
     detailclick(row) {

+ 173 - 115
src/views/appoint/components/saleContract/transportPrice.vue

@@ -10,7 +10,43 @@
         <i class="el-icon-plus"></i>新增
       </el-button>
        <el-button type="primary" @click="exportAllExcel()"><i class="el-icon-download"></i>导出(Excel)</el-button>
-    </div>
+      <el-button type="primary" @click="importOperation()">
+        导入
+      </el-button>
+      <el-dialog
+        :visible.sync="dialogVisible"
+      >
+      <div class="dialog">
+        <div style="width:250px">
+          <span>油价</span>
+          <el-input v-model="importPriceValue" style="width:150px"></el-input>
+        </div>
+        <div style="width:250px">
+          <span>执行日期</span>
+          <el-date-picker
+          v-model="importPriceDate"
+          type="date"
+          value-format="yyyy-MM-dd HH:mm:ss"
+          style="width:150px"
+          >
+          </el-date-picker>
+        </div>
+        <div style="width:200px">
+          <el-upload 
+          style="margin-left:10px"
+          action=""
+          :on-change="importExcel"
+          :show-file-list="false"
+          accept=".csv, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel"
+          :auto-upload="false">
+          <el-button  type="primary">
+            <i class="el-icon-upload"></i>导入(Excel)</el-button>
+      </el-upload>
+        </div>
+      </div>
+      </el-dialog>
+      </div>
+    
 
 <el-tabs v-model="activeName">
       <!-- 正在启用 -->
@@ -159,10 +195,16 @@ export default {
         requestUrl:
           "/api/v1/ams/getAmsContractTransportPrice1?apiId=109&deleted=1",
       },
-      tableTitle:'汽运单价'
+      tableTitle:'汽运单价',
+      importPriceValue:null,
+      importPriceDate:null,
+      dialogVisible:false
     };
   },
   methods: {
+    importOperation(){
+      this.dialogVisible=true
+    },
     exportAllExcel() {
      if (this.activeName == 'first') {
        this.tableTitle = '正在启用的运输单价'
@@ -459,9 +501,17 @@ export default {
       this.carrierIdArray=[]
       this.drawer=false
       this.onclick()
-    }
-    /*importExcel(file){
+    },
+    importExcel(file){
       let that = this;
+      console.log("进入了导入")
+        if(that.importPriceValue==null){
+          that.$message.warning("油价没有值")
+          return
+        }else if(that.importPriceDate==null){
+          that.$message.warning("执行时间没有填")
+          return
+        }
       if (!file) {
         that.$message({
           message: "文件错误!",
@@ -479,134 +529,138 @@ export default {
         data = e.target.result;
         workbook=XLSX.read(data,{type:'binary'});
         console.log(workbook)
-        //只取第一个表的数据
+        //只取第一个表的 数据
         let rows= XLSX.utils.sheet_to_json(
           workbook.Sheets[workbook.SheetNames[0]]
         );
-        console.log(rows)
+        console.log("rows:",rows)
+        //查找"序号"
         let index=1;
-        // for (index=1;index<rows.length;index++){
-        //   if (
-        //     typeof workbook.Sheets[workbook.SheetNames[0]]["A"+index] !=
-        //     "undefined"
-        //   ){
-        //     index++;
-        //     break
-        //   }
-        // }
-        // console.log("表头行数:" + index);
-        // if(index>=rows.length){
-        //   that.$message({
-        //     message: "文件错误!",
-        //     type: "warning",
-        //   });
-        //   return
-        // }
-        if (
-          typeof workbook.Sheets[workbook.SheetNames[0]]["A" + index] == 'undefined' ||
-          typeof workbook.Sheets[workbook.SheetNames[0]]["B" + index] == 'undefined' ||
-          typeof workbook.Sheets[workbook.SheetNames[0]]["C" + index] == 'undefined' ||
-          typeof workbook.Sheets[workbook.SheetNames[0]]["D" + index] == 'undefined' ||
-          typeof workbook.Sheets[workbook.SheetNames[0]]["E" + index] == 'undefined' ||
-          typeof workbook.Sheets[workbook.SheetNames[0]]["F" + index] == 'undefined' ||
-          typeof workbook.Sheets[workbook.SheetNames[0]]["G" + index] == 'undefined' ||
-          typeof workbook.Sheets[workbook.SheetNames[0]]["H" + index] == 'undefined' ||
-          workbook.Sheets[workbook.SheetNames[0]]["A" + index].v != "序号" ||
-          workbook.Sheets[workbook.SheetNames[0]]["B" + index].v != "省份" ||
-          workbook.Sheets[workbook.SheetNames[0]]["C" + index].v != "市/区" ||
-          workbook.Sheets[workbook.SheetNames[0]]["D" + index].v != "县/镇" ||
-          workbook.Sheets[workbook.SheetNames[0]]["E" + index].v != "卸货地点" ||
-          workbook.Sheets[workbook.SheetNames[0]]["F" + index].v != "参考运距(公里)" ||
-          workbook.Sheets[workbook.SheetNames[0]]["G" + index].v != "运价(元/吨)" ||
-          workbook.Sheets[workbook.SheetNames[0]]["H" + index].v != "吨公里(元/吨.km)"
-        ){
-          if (
-            typeof workbook.Sheets[workbook.SheetNames[0]]["A" + index] == 'undefined' ||
-            workbook.Sheets[workbook.SheetNames[0]]["A" + index].v != "序号"
-          ) {
-            that.$message({
-              message: "表格格式错误:序号错误",
-              type: "warning"
-            });
-          }
-          if (
-            typeof workbook.Sheets[workbook.SheetNames[0]]["B" + index] == 'undefined' ||
-            workbook.Sheets[workbook.SheetNames[0]]["B" + index].v != "省份"
-          ) {
-            that.$message({
-              message: "表格格式错误:省份错误",
-              type: "warning"
-            });
-          }
-          if (
-            typeof workbook.Sheets[workbook.SheetNames[0]]["C" + index] == 'undefined' ||
-            workbook.Sheets[workbook.SheetNames[0]]["C" + index].v != "市/区"
-          ) {
-            that.$message({
-              message: "表格格式错误:市/区错误",
-              type: "warning"
-            });
-          }
-          if (
-            typeof workbook.Sheets[workbook.SheetNames[0]]["D" + index] == 'undefined' ||
-            workbook.Sheets[workbook.SheetNames[0]]["D" + index].v != "县/镇"
-          ) {
-            that.$message({
-              message: "表格格式错误:县/镇错误",
-              type: "warning"
-            });
-          }
-          if (
-            typeof workbook.Sheets[workbook.SheetNames[0]]["E" + index] == 'undefined' ||
-            workbook.Sheets[workbook.SheetNames[0]]["E" + index].v != "卸货地点"
-          ) {
-            that.$message({
-              message: "表格格式错误:卸货地点错误",
-              type: "warning"
-            });
-          }
-          if (
-            typeof workbook.Sheets[workbook.SheetNames[0]]["F" + index] == 'undefined' ||
-            workbook.Sheets[workbook.SheetNames[0]]["F" + index].v != "参考运距(公里)"
-          ) {
-            that.$message({
-              message: "表格格式错误:参考运距(公里)错误",
-              type: "warning"
-            });
+        for (index=1;index<rows.length;index++){
+          if (workbook.Sheets[workbook.SheetNames[0]]["A"+index] &&  
+          (workbook.Sheets[workbook.SheetNames[0]]["A"+index].v=="序号" || workbook.Sheets[workbook.SheetNames[0]]["A"+index].v=="序\n号"
+           || workbook.Sheets[workbook.SheetNames[0]]["A"+index].v=="序\r\n号")){
+            break;
           }
-          if (
-            typeof workbook.Sheets[workbook.SheetNames[0]]["G" + index] == 'undefined' ||
-            workbook.Sheets[workbook.SheetNames[0]]["G" + index].v != "运价(元/吨)"
-          ) {
-            that.$message({
-              message: "表格格式错误:运价(元/吨)错误",
-              type: "warning"
-            });
-          }
-          if (
-            typeof workbook.Sheets[workbook.SheetNames[0]]["G" + index] == 'undefined' ||
-            workbook.Sheets[workbook.SheetNames[0]]["H" + index].v != "吨公里(元/吨.km)"
-          ) {
-            that.$message({
-              message: "表格格式错误:吨公里(元/吨.km)错误",
-              type: "warning"
-            });
+        }
+        console.log("表头行数:" + index);
+        if(index>=rows.length){
+          that.$message({
+            message: "文件错误!",
+            type: "warning",
+          });
+          return
+        }
+        //查找最新运价
+        let cols=['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'];
+        let j=cols.length-1;
+        let priceCol=null;
+        let tonnageCol=null;
+        for (j=cols.length-1;j>0;j--){
+         if (workbook.Sheets[workbook.SheetNames[0]][cols[j]+(index+1)] &&  priceCol==null
+         && (workbook.Sheets[workbook.SheetNames[0]][cols[j]+(index+1)].v=="运价\n(元/吨)"
+            || workbook.Sheets[workbook.SheetNames[0]][cols[j]+(index+1)].v=="运价\r\n(元/吨)")){
+            priceCol=cols[j];
+          }else if (workbook.Sheets[workbook.SheetNames[0]][cols[j]+(index+1)] &&  tonnageCol==null
+         && (workbook.Sheets[workbook.SheetNames[0]][cols[j]+(index+1)].v=="吨公里\n(元/吨.km)"
+            || workbook.Sheets[workbook.SheetNames[0]][cols[j]+(index+1)].v=="吨公里\r\n(元/吨.km)")){
+            tonnageCol=cols[j];
           }
         }
+        console.log("最新单价列数:" + priceCol);
+        console.log("最新单价吨公里:" + tonnageCol);
         //读取表格
-        for (let i = index+1; i <= rows.length+1 ; i++){
-          console.log(workbook.Sheets[workbook.SheetNames[0]]["B" + i].v)
+        for (let i = index+2; i <= rows.length+1 ; i++){
+          let temp={
+            no:null,
+            addressProvince:null,
+            addressDistrict:null,
+            addressTown:null,
+            addressDeliveryAddress:null,
+            priceValue:null,
+            haulDistance:null,
+            priceTonKilometer:null,
+            carrierName:null
+          }
+          //序号,无序号视为无效数据。
+          if(!workbook.Sheets[workbook.SheetNames[0]]["A" + i]){
+            continue;
+          }
+          try{
+            temp.no=workbook.Sheets[workbook.SheetNames[0]]["A" + i].v;
+          }catch(error){}
+          //省
+          try{
+            temp.addressProvince=workbook.Sheets[workbook.SheetNames[0]]["B" + i].v;
+          }catch(error){}
+          //市
+          try{
+            temp.addressDistrict=workbook.Sheets[workbook.SheetNames[0]]["C" + i].v;
+          }catch(error){}
+          //县
+          try{
+            temp.addressTown=workbook.Sheets[workbook.SheetNames[0]]["D" + i].v;
+          }catch(error){}
+           //卸货地点
+          try{
+            temp.addressDeliveryAddress=workbook.Sheets[workbook.SheetNames[0]]["E" + i].v;
+          }catch(error){}
+          //参考运距
+          try{
+            temp.haulDistance=workbook.Sheets[workbook.SheetNames[0]]["F" + i].v;
+          }catch(error){}
+          //承运商
+          try{
+            temp.carrierName=workbook.Sheets[workbook.SheetNames[0]]["O" + i].v;
+          }catch(error){}
+          //单价
+          try{
+            temp.priceValue=workbook.Sheets[workbook.SheetNames[0]][priceCol + i].v;
+          }catch(error){}
+           //吨/公里
+          try{
+            temp.priceTonKilometer=workbook.Sheets[workbook.SheetNames[0]][tonnageCol + i].v;
+          }catch(error){}
+          // console.log(temp);
+          excelData.push(temp);
         }
+        //最终数据表格:
+        console.log("excelData",excelData);
+        that.importData(excelData)
       }
       reader.readAsBinaryString(file.raw);
-    }*/
+    },
+    async importData(excelData){
+      const loading = this.$loading({
+        lock: true,
+        text: '正在导入数据',
+        spinner: 'el-icon-loading',
+        background: 'rgba(0, 0, 0, 0.7)'
+      })
+      await this.axios.post("/api/v1/ams/importDataForAmsContractTransportPrice?importPriceValue="+this.importPriceValue
+         +"&importPriceDate="+this.importPriceDate,excelData).then(res=>{
+           console.log(res)
+           if(res.data.code==200){
+             this.$message({
+             message: "导入成功",
+             type: "success"
+           });
+          }
+        })
+        console.log("导入成功")
+        this.dialogVisible=false
+        this.importPriceValue=null
+        this.importPriceDate=null
+        loading.close()
+        this.onclick()
+  }
   },
-
 };
 </script>
 <style lang='scss' scoped>
 .salePlan {
   .top{
+    display: flex;
     padding: 1.25rem 0.375rem;
     .el-input {
       width: 20%;
@@ -624,4 +678,8 @@ export default {
     margin-bottom: 20px;
   }
 }
+.dialog{
+  display: flex;
+  flex-direction: row;
+}
 </style>

+ 1 - 1
src/views/inward/components/inwardFactory/tareWeightResult.vue

@@ -3,7 +3,7 @@
   <!-- 零星物资计皮作业页面 -->
   <div class="homeworkPath">
     <div class="top">
-      <span class="text">计时间:</span>
+      <span class="text">计时间:</span>
       <el-date-picker
         v-model="startTime"
         type="datetime"

+ 4 - 4
src/views/inward/components/offsetSteel/saleSteelTruckOrder/platformStockInfo.vue

@@ -47,6 +47,9 @@
           ></el-input>
         </el-form-item>
         <el-form-item>
+          <el-button type="primary" class="btn" @click="onclick">
+            <i class="el-icon-search"></i>
+          </el-button>
           <el-button type="primary" @click="exportAllReportToExcel"
             ><i class="el-icon-download"></i>Excel</el-button
           >
@@ -55,9 +58,6 @@
           <el-button type="primary" @click="refresh">
             <i class="el-icon-refresh"></i>
           </el-button>
-          <el-button type="primary" class="btn" @click="onclick">
-            <i class="el-icon-search"></i>
-          </el-button>
           <el-button type="primary" class="btn" @click="batchOperate"
             >批量保存</el-button
           >
@@ -640,7 +640,7 @@ export default {
         spinner: "el-icon-loading",
         background: "rgba(0, 0, 0, 0.7)"
       });
-      var title = this.tableTitle;
+      var title = "火车发运明细";
       let tHeader = [];
       let filterVal = [];
       console.log(this.$refs.tableRef);

+ 2 - 2
src/views/sale/components/dilNotice/addNotice.vue

@@ -4,7 +4,7 @@
   <div>
     <PageTitle>返回</PageTitle>
 
-    <div class="form-box" style="margin-right: 10rem;width: 1200px">
+    <div class="form" style="margin-right: 10rem;width: 1200px">
       <dil-form :formId="391" v-model="form1" ref="from1">
       </dil-form>
     </div>
@@ -104,7 +104,7 @@ export default {
   margin-top: 5px;
   margin-bottom: 20px;
 }
-.form-box{
+.form{
   .el-form{
     margin-top: 100px;
     margin-left: 200px;

+ 2 - 2
src/views/sale/components/dilNotice/addNotice1.vue

@@ -3,7 +3,7 @@
   <div class="addWagonLoad">
     <PageTitle>返回</PageTitle>
 
-    <div class="form-box" style="margin-right: 10rem">
+    <div class="form" style="margin-right: 10rem">
       <dil-form :formId="389" v-model="form1" ref="from1"></dil-form>
     </div>
 
@@ -108,7 +108,7 @@ export default {
   margin-top: 0.3125rem;
   margin-bottom: 1.25rem;
 }
-.form-box{
+.form{
   .el-form{
     margin-top: 100px;
     margin-left: 200px;

+ 2 - 2
src/views/sale/components/dilNotice/addNotice2.vue

@@ -3,7 +3,7 @@
   <div class="addWagonLoad">
     <PageTitle>返回</PageTitle>
 
-    <div class="form-box" style="margin-right: 10rem">
+    <div class="form" style="margin-right: 10rem">
       <dil-form :formId="390" v-model="form1" ref="from1"></dil-form>
     </div>
 
@@ -109,7 +109,7 @@ export default {
   margin-top: 0.3125rem;
   margin-bottom: 1.25rem;
 }
-.form-box{
+.form{
   .el-form{
     margin-top: 100px;
     margin-left: 200px;

+ 1665 - 0
src/views/statisticalReport/components/salesLogisticsStatistics/saleSteelReportForFinance.vue

@@ -0,0 +1,1665 @@
+//钢材统计报表
+<template>
+  <div class="purchasFuelNewMonitor">
+    <div class="tableTop">
+      <el-form :inline="true" style="margin-top :5px">
+        <el-form-item>
+          <el-select
+            v-model="screen"
+            placeholder="请选择需筛选的内容"
+            clearable
+            style="width:100px"
+          >
+            <el-option
+              v-for="item in options"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value"
+            >
+            </el-option>
+          </el-select>
+          <el-input
+            style="width:170px"
+            v-model="input"
+            placeholder="请输入查询条件"
+            clearable
+          ></el-input>
+        </el-form-item>
+        <el-form-item>
+          <el-select
+            v-model="screen1"
+            placeholder="请选择需筛选的内容"
+            clearable
+            style="width:100px"
+          >
+            <el-option
+              v-for="item in options1"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value"
+            >
+            </el-option>
+          </el-select>
+          <el-input
+            style="width:170px"
+            v-model="input1"
+            placeholder="请输入查询条件"
+            clearable
+          ></el-input>
+        </el-form-item>
+        <el-form-item>
+          <label class="el-form-item__label" style="width: auto;"
+            >订单日期:</label
+          >
+          <el-date-picker
+            v-model="startTime"
+            type="date"
+            placeholder="选择日期"
+            style="width:150px"
+            :picker-options="pickerOptions"
+          >
+          </el-date-picker>
+          <span>至</span>
+          <el-date-picker
+            v-model="endTime"
+            type="date"
+            placeholder="选择日期"
+            style="width:150px"
+            :picker-options="pickerOptions1"
+          >
+          </el-date-picker>
+          <el-button type="primary" class="btn" @click="onclick">
+            <i class="el-icon-search"></i>
+          </el-button>
+        </el-form-item>
+        <el-form-item>
+          <el-button type="primary" @click="exportAllReportToExcel"
+            >下载Excel</el-button
+          >
+        </el-form-item>
+        <el-form-item>
+          <el-button type="primary" @click="checkTrans()"
+            ><i class="el-icon-truck"></i>轨迹</el-button
+          >
+        </el-form-item>
+        <el-form-item>
+          <label
+            class="el-form-item__label"
+            style="width: auto;font-size: 16px;line-height: auto;"
+            >车数/件数: {{ totalCapacity }}/{{ totalNumber }}
+          </label>
+        </el-form-item>
+      </el-form>
+    </div>
+    <div class="table">
+      <el-table
+        :data="visibleList"
+        :span-method="objectSpanMethod"
+        ref="tableRef"
+        border
+        style="width: 100%; margin-top: 20px"
+        :height="maxHeight"
+        :max-height="maxHeight"
+        :row-class-name="tableRowClassName"
+        @cell-click="cellClik"
+        @cell-mouse-enter="cellMouse1"
+        @cell-mouse-leave="cellLeave1"
+        @row-click="rowClick"
+        :cell-style="cellStyle"
+        @filter-change="filterChange"
+        :key="saleSteelKey"
+        id="salesLogisticsStat_saleSteelReports_table"
+        individual-panel
+        @resetTable="reset"
+      >
+        <el-table-column
+          width="50"
+          label="序号"
+          align="center"
+          :resizable="false"
+          v-if="!columnNoRoutList.includes('序号')"
+        >
+          <template slot-scope="scope">{{ scope.row.group + 1 }}</template>
+        </el-table-column>
+        <el-table-column
+          prop="orderTime"
+          label="订单日期"
+          width="110px"
+          align="center"
+          show-overflow-tooltip
+        >
+        </el-table-column>
+        <el-table-column
+          prop="saleMakeDate"
+          label="制单日期"
+          width="130px"
+          align="center"
+        >
+        </el-table-column>
+        <el-table-column
+          prop="capacityNo"
+          column-key="capacityNo"
+          label="车号"
+          align="center"
+          width="90px"
+          sortable
+          show-overflow-tooltip
+          :filters="filterCapacityList"
+        >
+        </el-table-column>
+        <el-table-column
+          prop="consigneeName"
+          label="客户"
+          width="180px"
+          align="center"
+          column-key="consigneeName"
+          :filters="filterConsigneeList"
+          sortable
+        >
+        </el-table-column>
+        <el-table-column
+          prop="materialName"
+          column-key="materialNameList"
+          label="物料名称"
+          align="center"
+          width="150px"
+          sortable
+          :filters="filtermaterialNameList"
+          v-if="!columnNoRoutList.includes('物资名称')"
+        >
+        </el-table-column>
+        <el-table-column
+          prop="materialSpe"
+          label="规格型号"
+          column-key="materialSpe"
+          align="center"
+          sortable
+          :filters="filtermaterialSpe"
+          width="120px"
+        >
+        </el-table-column>
+        <el-table-column
+          prop="saleOrderStatus"
+          column-key="saleOrderStatus"
+          label="销售订单状态"
+          width="110px"
+          align="center"
+          :filters="filterSaleOrderStatus"
+          sortable
+          v-if="!columnNoRoutList.includes('销售订单状态')"
+        >
+        </el-table-column>
+
+        <!-- <el-table-column
+          prop="areaName"
+          label="销售片区"
+          width="150px"
+          align="center"
+          column-key="saleAreaList"
+          :filters="filterSaleAreaList"
+        > -->
+        <!-- </el-table-column> -->
+        <el-table-column
+          prop="carrierName"
+          label="承运商"
+          align="center"
+          width="80px"
+          column-key="carrierList"
+          sortable
+          show-overflow-tooltip
+          :filters="filterCarrierList"
+          v-if="!columnNoRoutList.includes('承运商')"
+        >
+        </el-table-column>
+
+        <el-table-column
+          prop="materialNum"
+          label="物资件数"
+          align="center"
+          width="50px"
+          v-if="!columnNoRoutList.includes('物资件数')"
+        >
+        </el-table-column>
+        <el-table-column
+          prop="materialThoWeight"
+          label="理重"
+          align="center"
+          width="50px"
+          v-if="!columnNoRoutList.includes('理重')"
+        >
+        </el-table-column>
+        <el-table-column
+          prop="addressPlace"
+          label="收货地址"
+          width="250px"
+          sortable
+          column-key="addressPlace"
+          :filters="filteraddressPlace"
+          v-if="!columnNoRoutList.includes('收货地址')"
+        >
+        </el-table-column>
+
+        <el-table-column
+          prop="saleRemark"
+          column-key="saleRemark"
+          label="摘要"
+          width="150px"
+          align="center"
+          :filters="filterSaleRemark"
+          show-overflow-tooltip
+          v-if="!columnNoRoutList.includes('摘要')"
+        >
+        </el-table-column>
+        <el-table-column
+          prop="truckRemark"
+          label="备注"
+          width="150"
+          align="center"
+          show-overflow-tooltip
+          v-if="!columnNoRoutList.includes('备注')"
+        >
+        </el-table-column>
+        <el-table-column
+          prop="capacityTel"
+          label="司机电话"
+          width="120px"
+          align="center"
+          v-if="!columnNoRoutList.includes('司机电话')"
+        >
+        </el-table-column>
+        <el-table-column
+          prop="tareWeightTime"
+          label="皮重时间"
+          width="130px"
+          show-overflow-tooltip
+          v-if="!columnNoRoutList.includes('皮重时间')"
+        >
+        </el-table-column>
+        <el-table-column
+          prop="tareWeight"
+          label="皮重"
+          show-overflow-tooltip
+          v-if="!columnNoRoutList.includes('皮重')"
+        >
+        </el-table-column>
+
+        <el-table-column
+          prop="grossWeightTime"
+          label="毛重时间"
+          width="130px"
+          show-overflow-tooltip
+          v-if="!columnNoRoutList.includes('毛重时间')"
+        >
+        </el-table-column>
+        <el-table-column
+          prop="grossWeight"
+          label="毛重"
+          show-overflow-tooltip
+          v-if="!columnNoRoutList.includes('毛重')"
+        >
+        </el-table-column>
+        <el-table-column
+          prop="netWeight"
+          label="净重"
+          show-overflow-tooltip
+          v-if="!columnNoRoutList.includes('净重')"
+        >
+        </el-table-column>
+        <el-table-column
+          prop="priceValue"
+          label="实际运价"
+          width="100px"
+          v-if="!columnNoRoutList.includes('实际运价')"
+        >
+        </el-table-column>
+        <el-table-column
+          prop="detailsAmount"
+          label="实际运费"
+          width="100px"
+          v-if="!columnNoRoutList.includes('实际运费')"
+        ></el-table-column>
+        <el-table-column
+          prop="orderNo"
+          label="运输订单号"
+          width="180px"
+          align="center"
+          v-if="!columnNoRoutList.includes('运输订单号')"
+        >
+        </el-table-column>
+        <el-table-column
+          prop="saler"
+          label="业务员"
+          align="center"
+          v-if="!columnNoRoutList.includes('业务员')"
+        >
+        </el-table-column>
+        <el-table-column
+          prop="shipperName"
+          label="发货单位"
+          width="170px"
+          align="center"
+          v-if="!columnNoRoutList.includes('发货单位')"
+        >
+        </el-table-column>
+        <el-table-column
+          prop="isSelfMention"
+          label="是否自提"
+          align="center"
+          v-if="!columnNoRoutList.includes('是否自提')"
+        >
+        </el-table-column>
+
+        <el-table-column
+          prop="saleOrderNo"
+          label="销售订单号"
+          width="200px"
+          align="center"
+          v-if="!columnNoRoutList.includes('销售订单号')"
+        >
+        </el-table-column>
+        <el-table-column
+          prop="closeEntryId"
+          label="金蝶分录ID"
+          width="120px"
+          show-overflow-tooltip
+          v-if="!columnNoRoutList.includes('金蝶分录ID')"
+        >
+        </el-table-column>
+        <el-table-column
+          prop="updateTime"
+          label="订单变更时间"
+          width="120px"
+          show-overflow-tooltip
+          v-if="!columnNoRoutList.includes('订单变更时间')"
+        >
+        </el-table-column>
+        <el-table-column
+          prop="saleOrderInertUpdateRemark"
+          label="销售订单变更记录"
+          width="120px"
+          show-overflow-tooltip
+          v-if="!columnNoRoutList.includes('销售订单变更记录')"
+        >
+        </el-table-column>
+      </el-table>
+    </div>
+    <div>
+      <vxe-modal
+        width="80%"
+        height="80%"
+        v-model="isShow3"
+        show-footer
+        show-zoom
+        class="vxeModal"
+      >
+        <div class="demo-image__preview" v-for="(item, i) in srcList" :key="i">
+          <span>{{ item.title }}</span>
+          <el-image
+            :src="item.src"
+            fit="fill"
+            @click.prevent.right="receiveClick(item.src, '抵达')"
+          >
+            <div slot="error" class="image-slot">
+              <span>司机未上传图片</span>
+            </div>
+          </el-image>
+        </div>
+      </vxe-modal>
+      <vxe-modal width="80%" height="80%" v-model="isShow4" show-zoom>
+        <div class="demo-image__preview" v-for="(item, i) in srcList2" :key="i">
+          <el-image
+            :src="item.src"
+            fit="fill"
+            @click.prevent.right="receiveClick(item.src, '签收')"
+          >
+            <div slot="error" class="image-slot">
+              <span>司机未上传图片</span>
+            </div>
+          </el-image>
+        </div>
+      </vxe-modal>
+    </div>
+    <div style="height: 100%">
+      <vxe-modal
+        width="1237"
+        height="731"
+        v-model="value7"
+        show-zoom
+        resize
+        title="轨迹查询"
+      >
+        <template #default>
+          <PathView v-bind.sync="pathOption"></PathView>
+        </template>
+      </vxe-modal>
+    </div>
+  </div>
+</template>
+
+<script>
+import { sjTime, isVehicleNumber } from '@/utils/sharedJsFile'
+import { getCookie } from '@/utils/util.js'
+import PathView from './mapTest.vue'
+import currentLocation from './currentLocation.vue'
+import { downloadFile } from '@/utils/base64ToBlob.js'
+export default {
+  components: {
+    PathView,
+    currentLocation
+  },
+  data() {
+    return {
+      isCheckGPS: true,
+      userId: null,
+      orgCode: null,
+      taskAllNum: 0,
+      noticeInterval: null,
+      exceptionHandleVisible: false,
+      batchCarrierName: null,
+      batchCarrierVisible: false,
+      batchAddressProvince: '',
+      batchAddressDistrict: '',
+      batchAddressTown: '',
+      batchPlace: '',
+      centerDialogVisibleBatch: false,
+      reallyList: [],
+      visibleList: [],
+      itemHeight: 30,
+      scrollTop: 0,
+      totalHeight: 0,
+      debounceS: false,
+      carNumber: '',
+      //弹出框
+      centerDialogVisible: false,
+      //根据车序号查询的值
+      steelMap: {},
+      //钢材子表数据
+      steelList: [],
+      drawer: false,
+      isShow3: false,
+      isShow4: false,
+      input: null,
+      screen: '',
+      screen1: '',
+      options: [
+        {
+          value: '客户',
+          lable: '客户'
+        },
+        {
+          value: '承运商',
+          lable: '承运商'
+        },
+        {
+          value: '车牌号',
+          lable: '车牌号'
+        },
+        {
+          value: '分录ID',
+          lable: '分录ID'
+        }
+      ],
+      options1: [
+        {
+          value: '客户',
+          lable: '客户'
+        },
+        {
+          value: '承运商',
+          lable: '承运商'
+        },
+        {
+          value: '车牌号',
+          lable: '车牌号'
+        }
+      ],
+      pickerOptions: {
+        disabledDate(time) {
+          return time.getTime() > Date.now()
+        },
+        shortcuts: [
+          {
+            text: '今天',
+            onClick(picker) {
+              picker.$emit('pick', new Date())
+            }
+          },
+          {
+            text: '昨天',
+            onClick(picker) {
+              const date = new Date()
+              date.setTime(date.getTime() - 3600 * 1000 * 24)
+              picker.$emit('pick', date)
+            }
+          },
+          {
+            text: '一周前',
+            onClick(picker) {
+              const date = new Date()
+              date.setTime(date.getTime() - 3600 * 1000 * 24 * 7)
+              picker.$emit('pick', date)
+            }
+          }
+        ]
+      },
+      pickerOptions1: {
+        disabledDate(time) {
+          return time.getTime() > Date.now()
+        },
+        shortcuts: [
+          {
+            text: '今天',
+            onClick(picker) {
+              picker.$emit('pick', new Date())
+            }
+          },
+          {
+            text: '昨天',
+            onClick(picker) {
+              const date = new Date()
+              date.setTime(date.getTime() - 3600 * 1000 * 24)
+              picker.$emit('pick', date)
+            }
+          },
+          {
+            text: '一周前',
+            onClick(picker) {
+              const date = new Date()
+              date.setTime(date.getTime() - 3600 * 1000 * 24 * 7)
+              picker.$emit('pick', date)
+            }
+          }
+        ]
+      },
+      startTime: new Date(),
+      endTime: new Date(),
+      //合计净重
+      totalNumber: 0,
+      //合计车数
+      totalCapacity: 0,
+      tableTitle: '销售统计报表',
+      capacityList: [],
+      carrierList: [],
+      tableData: [],
+      //筛选条件1(客户)
+      filters1: [],
+      spanArr: [],
+      pos: 0,
+      //需要合并列的名称
+      mergeList: [
+        '选择',
+        '序号',
+        '整车操作',
+        '销售订单状态',
+        '销售订单号',
+        '发货单位',
+        '司机电话',
+        '运输订单号',
+        '签收地址',
+        '签收时间',
+        '抵达地址',
+        '抵达时间',
+        '出厂时间',
+        '进厂时间',
+        '运单状态',
+        '车牌号',
+        '承运商',
+        '客户',
+        '收货地址',
+        '业务员',
+        '送货单打印',
+        '收货客户电话',
+        '是否自提',
+        '订单日期',
+        '短信发送',
+        '销售片区',
+        '抵达时间',
+        '签收时间',
+        '系统建议运价',
+        '摘要',
+        '备注',
+        '订单变更时间'
+      ],
+      //钢材多拼车辆线路ID
+      //索引从1-10为1-10拼路线ID
+      lineSpelling: [
+        0,
+        110001,
+        110002,
+        110003,
+        110004,
+        110005,
+        110006,
+        110007,
+        110008,
+        110009,
+        110010
+      ],
+      tableTitle: '销售钢材统计报表',
+      //所有省
+      provinceList: [],
+      //选中的省
+      province: '',
+      //所有市
+      cityList: [],
+      //选中的市
+      city: '',
+      //所有的县(区)
+      countyList: [],
+      //选中的县
+      county: '',
+      //地址输入框的值
+      addresText: '',
+      //已选中省市县
+      address: null,
+      //具体地址
+      place: null,
+      //暂存具体地址
+      place1: null,
+      //省市县Id
+      addressId: null,
+      addressRow: {},
+      srcList: [],
+      src: '',
+      isShow: false,
+      srcList2: [],
+      src2: '',
+      isShow2: false,
+      input1: '',
+      maxHeight: 700,
+      //轨迹窗口
+      value7: false,
+      //实时路径窗口
+      value8: false,
+      pathOption: {
+        orderNumber: '',
+        capacityNumber: '',
+        startPointName: '',
+        endPointName: ''
+      },
+      saleSteelKey: false,
+      tableRowIndex: '',
+      isRowClick: 0,
+      orgCodeList: [
+        'wuliuyunshubu',
+        'dagangadmin',
+        'zidonghuabu',
+        'chengyunshang'
+      ],
+      isShowOperate: false,
+      filterConsigneeList: [],
+      filterCarrierList: [],
+      filterCapacityList: [],
+      filtermaterialNameList: [],
+      filterSaleAreaList: [],
+      filterorderStatus: [],
+      filteraddressPlace: [],
+      filtermaterialSpe: [],
+      filterSaleRemark: [],
+      filterSaleOrderStatus: [],
+      filterMap: {},
+      //权限控制
+      notRoutList: [],
+      location: null,
+      orderNumber: null,
+      capacityNumber: null,
+      arrivalReceiving: false,
+      arriavlList: [],
+      receiveList: [],
+      fileListArrival: [],
+      fileListReceive: [],
+      dialogImageUrl: '',
+      dialogVisible: false,
+      isLoading: false,
+      batchList: [],
+      dialogFormVisible: false,
+      addresText: null,
+      originalPriceValue: null,
+      originalAddress: null,
+      aaadrawer: false,
+      downloadCapacityNo: null,
+      batchCarrierList: [],
+      columnNoRoutList: [],
+      scrollTopUpDownLenght: 0
+    }
+  },
+  created() {
+    this.orgCode = getCookie('orgCode')
+    this.userId = getCookie('userId')
+    if (this.orgCodeList.includes(getCookie('orgCode'))) {
+      this.isShowOperate = true
+    }
+    if (getCookie('orgCode') == 'chengyunshang') {
+      this.notRoutList = [
+        'checkPoint',
+        'checkTrans',
+        'carrierName',
+        'consigeeTel',
+        'province',
+        'city',
+        'country',
+        'place',
+        'addressClick',
+        'closeOrder',
+        'materialNum',
+        'closeEntry',
+        'capacityNo',
+        'batchCarrier',
+        'select',
+        'exceptionHandle',
+        'mergeSplit'
+      ]
+    }
+    if (getCookie('orgCode') == 'shouhuokehu') {
+      //如果是收货客户,则查询
+      this.axios
+        .post('/api/v1/uc/getColumnNoRoutList', {
+          orgCode: getCookie('orgCode'),
+          tableName: '销售钢材报表'
+        })
+        .then(res => {
+          this.columnNoRoutList = res.data
+          console.log(res)
+        })
+      this.notRoutList = ['select']
+    }
+    this.cellMouse1 = this.debounce((row, column, cell) => {
+      this.cellMouse(row, column, cell)
+    }, 100)
+    this.cellLeave1 = this.debounce((row, column, cell) => {
+      this.cellLeave(row, column, cell)
+    }, 100)
+    this.getSteelReport()
+  },
+  watch: {
+    tableData: {
+      handler(oldVal, newVal) {
+        this.filterListChange()
+      },
+      deep: true,
+      immediate: true
+    },
+    scrollTop: {
+      immediate: true,
+      deep: true,
+      handler(val) {
+        this.$nextTick(() => {
+          //   debugger
+          if (val >= 0 && this.tableData.length > this.visibleList.length) {
+            if (
+              val >=
+              this.tableData.length * 30 -
+                document.querySelector('.el-table__body-wrapper').offsetHeight -
+                20
+            ) {
+              val =
+                this.tableData.length * 30 -
+                document.querySelector('.el-table__body-wrapper').offsetHeight
+            }
+            if (val <= 0) {
+              val = 0
+            }
+            let upDownLenght = val - this.scrollTopUpDownLenght
+            const start = Math.floor(val / this.itemHeight)
+            if (upDownLenght < 0) {
+              let a =
+                this.visibleList[0].rowKey -
+                Math.floor(this.maxHeight / this.itemHeight) -
+                1
+              if (a <= 0) {
+                a = 0
+              }
+              this.visibleList = this.tableData.slice(
+                a,
+                a + Math.ceil(this.maxHeight / this.itemHeight)
+              )
+              // this.visibleList = this.tableData.slice(
+              //   start,
+              //   start + Math.floor(this.maxHeight / this.itemHeight) + 1
+              // )
+              this.getSpanArr(this.visibleList)
+              if (this.visibleList[0].rowKey == 0) {
+                document.querySelector(
+                  '.el-table__body-wrapper .el-table__body'
+                ).style.transform = `translateY(${0}px)`
+              } else {
+                document.querySelector(
+                  '.el-table__body-wrapper .el-table__body'
+                ).style.transform = `translateY(${val}px)`
+              }
+            } else {
+              this.visibleList = this.tableData.slice(
+                start,
+                start + Math.floor(this.maxHeight / this.itemHeight) + 1
+              )
+              this.getSpanArr(this.visibleList)
+              document.querySelector(
+                '.el-table__body-wrapper .el-table__body'
+              ).style.transform = `translateY(${val}px)`
+            }
+            this.scrollTopUpDownLenght = val
+          }
+        })
+      }
+    }
+  },
+  computed: {},
+  mounted() {
+    let that = this
+    this.$nextTick(() => {
+      window.onresize = () => {
+        return (() => {
+          this.maxHeight = window.innerHeight - 130
+        })()
+      }
+    })
+    this.$refs.tableRef.bodyWrapper.addEventListener('scroll', e => {
+      // console.log(e)
+      if (this.debounceS) return
+      this.debounceS = true
+      this.scrollTop = e.target.scrollTop
+      let upDownLenght = this.scrollTop - this.scrollTopUpDownLenght
+      //   this.scrollTopUpDownLenght = this.scrollTop
+      setTimeout(() => {
+        this.debounceS = false
+      }, 60)
+      // document.querySelector(
+      //   '.el-table__body-wrapper .el-table__body'
+      // ).style.transform = `translateY(0px)`
+    })
+  },
+  activated() {
+    this.maxHeight = window.innerHeight - 130
+  },
+  computed: {},
+  methods: {
+    //防抖函数--防止用户重复点击
+    debounce(func, delay) {
+      let timer = null
+      return function(...args) {
+        if (timer !== null) {
+          clearTimeout(timer)
+        }
+        timer = setTimeout(function() {
+          func.apply(this, args)
+        }, delay)
+      }
+    },
+    // handleSelectionChange(selection) {
+    //   this.batchList = selection
+    //   console.log(selection)
+    // },
+    //筛选
+    filterChange(obj) {
+      //承运商筛选,后续有待优化
+      if (typeof obj.carrierList != 'undefined' && obj.carrierList.length > 0) {
+        this.filterMap.carrierList = obj.carrierList
+      }
+      if (
+        typeof obj.carrierList != 'undefined' &&
+        obj.carrierList.length == 0
+      ) {
+        delete this.filterMap.carrierList
+      }
+      //物资名称筛选,后续有待优化
+      if (
+        typeof obj.materialNameList != 'undefined' &&
+        obj.materialNameList.length > 0
+      ) {
+        this.filterMap.materialNameList = obj.materialNameList
+      }
+      if (
+        typeof obj.materialNameList != 'undefined' &&
+        obj.materialNameList.length == 0
+      ) {
+        delete this.filterMap.materialNameList
+      }
+      //车牌号筛选,后续有待优化
+      if (typeof obj.capacityNo != 'undefined' && obj.capacityNo.length > 0) {
+        this.filterMap.capacityList = obj.capacityNo
+      }
+      if (typeof obj.capacityNo != 'undefined' && obj.capacityNo.length == 0) {
+        delete this.filterMap.capacityList
+      }
+      //客户筛选,后续有待优化
+      if (
+        typeof obj.consigneeName != 'undefined' &&
+        obj.consigneeName.length > 0
+      ) {
+        this.filterMap.consigneeNameList = obj.consigneeName
+      }
+      if (
+        typeof obj.consigneeName != 'undefined' &&
+        obj.consigneeName.length == 0
+      ) {
+        delete this.filterMap.consigneeNameList
+      }
+      //销售片区筛选,后续有待优化
+      if (
+        typeof obj.saleAreaList != 'undefined' &&
+        obj.saleAreaList.length > 0
+      ) {
+        this.filterMap.saleAreaList = obj.saleAreaList
+      }
+      if (
+        typeof obj.saleAreaList != 'undefined' &&
+        obj.saleAreaList.length == 0
+      ) {
+        delete this.filterMap.saleAreaList
+      }
+      //物资规格筛选
+      if (typeof obj.materialSpe != 'undefined' && obj.materialSpe.length > 0) {
+        this.filterMap.materialSpeList = obj.materialSpe
+      }
+      if (
+        typeof obj.materialSpe != 'undefined' &&
+        obj.materialSpe.length == 0
+      ) {
+        delete this.filterMap.materialSpeList
+      }
+      //收货地址筛选
+      if (
+        typeof obj.addressPlace != 'undefined' &&
+        obj.addressPlace.length > 0
+      ) {
+        this.filterMap.addressPlaceList = obj.addressPlace
+      }
+      if (
+        typeof obj.addressPlace != 'undefined' &&
+        obj.addressPlace.length == 0
+      ) {
+        delete this.filterMap.addressPlaceList
+      }
+      if (typeof obj.orderStatus != 'undefined' && obj.orderStatus.length > 0) {
+        this.filterMap.orderStatusList = obj.orderStatus
+      }
+      if (
+        typeof obj.orderStatus != 'undefined' &&
+        obj.orderStatus.length == 0
+      ) {
+        delete this.filterMap.orderStatusList
+      }
+      if (
+        typeof obj.saleOrderStatus != 'undefined' &&
+        obj.saleOrderStatus.length > 0
+      ) {
+        this.filterMap.saleOrderStatusList = obj.saleOrderStatus
+      }
+      if (
+        typeof obj.saleOrderStatus != 'undefined' &&
+        obj.saleOrderStatus.length == 0
+      ) {
+        delete this.filterMap.saleOrderStatusList
+      }
+      if (typeof obj.saleRemark != 'undefined' && obj.saleRemark.length > 0) {
+        this.filterMap.saleRemarkList = obj.saleRemark
+      }
+      if (typeof obj.saleRemark != 'undefined' && obj.saleRemark.length == 0) {
+        delete this.filterMap.saleRemarkList
+      }
+      // if (obj)
+      this.onclick(this.filterMap)
+    },
+    //控制筛选数组变化
+    filterListChange() {
+      //客户筛选数组
+      let consigneeNameList = this.tableData
+        .map(e => {
+          return e.consigneeName
+        })
+        .sort()
+      //承运商筛选数组
+      let carrierNameList = this.tableData
+        .map(e => {
+          return e.carrierName
+        })
+        .sort()
+      //车牌号筛选数组
+      let capacityList = this.tableData
+        .map(e => {
+          return e.newCapacityNo
+        })
+        .sort()
+      //物资筛选数组
+      let materialNameList = this.tableData
+        .map(e => {
+          return e.materialName
+        })
+        .filter(e => {
+          return e != null
+        })
+        .sort()
+      //销售片区筛选数组
+      let saleAreaList = this.tableData
+        .map(e => {
+          return e.areaName
+        })
+        .filter(e => {
+          return e != null
+        })
+      let addressPlaceList = this.tableData
+        .map(e => {
+          return e.addressPlace
+        })
+        .filter(e => {
+          return e != null
+        })
+        .sort()
+      let orderStatusList = this.tableData
+        .map(e => {
+          return e.orderStatus
+        })
+        .filter(e => {
+          return e != null
+        })
+      let materialSpeList = this.tableData
+        .map(e => {
+          return e.materialSpe
+        })
+        .filter(e => {
+          return e != null
+        })
+        .sort()
+      let saleOrderStatusList = this.tableData.map(e => {
+        return e.saleOrderStatus
+      })
+      let saleRemarkList = this.tableData
+        .map(e => {
+          return e.saleRemark
+        })
+        .sort()
+      this.filterConsigneeList = []
+      this.filterCarrierList = []
+      this.filterCapacityList = []
+      this.filtermaterialNameList = []
+      this.filterSaleAreaList = []
+      this.filterorderStatus = []
+      this.filteraddressPlace = []
+      this.filtermaterialSpe = []
+      this.filterSaleOrderStatus = []
+      this.filterSaleRemark = []
+      Array.from(new Set(consigneeNameList)).forEach(e => {
+        let map = {}
+        map.text = e
+        map.value = e
+        this.filterConsigneeList.push(map)
+      })
+      Array.from(new Set(carrierNameList)).forEach(e => {
+        let map = {}
+        map.text = e
+        map.value = e
+        this.filterCarrierList.push(map)
+      })
+      Array.from(new Set(capacityList)).forEach(e => {
+        let map = {}
+        map.text = e
+        map.value = e
+        this.filterCapacityList.push(map)
+      })
+      Array.from(new Set(materialNameList)).forEach(e => {
+        let map = {}
+        map.text = e
+        map.value = e
+        this.filtermaterialNameList.push(map)
+      })
+      Array.from(new Set(saleAreaList)).forEach(e => {
+        let map = {}
+        map.text = e
+        map.value = e
+        this.filterSaleAreaList.push(map)
+      })
+      Array.from(new Set(addressPlaceList)).forEach(e => {
+        let map = {}
+        map.text = e
+        map.value = e
+        this.filteraddressPlace.push(map)
+      })
+      Array.from(new Set(orderStatusList)).forEach(e => {
+        let map = {}
+        map.text = e
+        map.value = e
+        this.filterorderStatus.push(map)
+      })
+      Array.from(new Set(materialSpeList)).forEach(e => {
+        let map = {}
+        map.text = e
+        map.value = e
+        this.filtermaterialSpe.push(map)
+      })
+      Array.from(new Set(saleOrderStatusList)).forEach(e => {
+        let map = {}
+        map.text = e
+        map.value = e
+        this.filterSaleOrderStatus.push(map)
+      })
+      Array.from(new Set(saleRemarkList)).forEach(e => {
+        let map = {}
+        map.text = e
+        map.value = e
+        this.filterSaleRemark.push(map)
+      })
+    },
+    cellStyle({ row, column, rowIndex, columnIndex }) {
+      return { height: '30px' }
+    },
+    rowClick(row, column, event) {
+      this.steelMap = {}
+      this.tableRowIndex = row.group
+      this.isRowClick = 1
+      this.steelMap = row
+      this.$refs.tableRef.toggleRowSelection(row)
+    },
+    tableRowClassName({ row, rowIndex }) {
+      if (row.group == this.tableRowIndex && this.tableRowIndex !== '') {
+        return 'warning-row'
+      }
+    },
+    cellMouse(row, column, cell, event) {
+      if (this.isRowClick == 0) {
+        this.tableRowIndex = row.group
+      }
+    },
+    cellLeave(row, column, cell, event) {
+      if (this.isRowClick == 0) {
+        this.tableRowIndex = ''
+      }
+    },
+    reset() {
+      var that = this
+      that.$nextTick(() => {
+        that.saleSteelKey = !that.saleSteelKey
+      })
+    },
+    cellClik(row, column, cell, event) {
+      console.log(row)
+      if (column.property == 'arrivalAddress') {
+        if (row.orderNo && row.arrivalAddress) {
+          this.downloadCapacityNo = row.capacityNo
+          this.toPhotoClick(row.orderNo, 1)
+        }
+      }
+      if (column.property == 'receiptAddress') {
+        if (row.orderNo && row.receiptAddress) {
+          this.downloadCapacityNo = row.capacityNo
+          this.receipctPhotoClick(row.orderNo, 1)
+        }
+      }
+    },
+    //销售钢材报表导出excel
+    exportAllReportToExcel() {
+      const loading = this.$loading({
+        lock: true,
+        text: '正在导出Excel',
+        spinner: 'el-icon-loading',
+        background: 'rgba(0, 0, 0, 0.7)'
+      })
+      var title = this.tableTitle
+      let tHeader = []
+      let filterVal = []
+      console.log(this.$refs.tableRef)
+      this.$refs.tableRef.$children.forEach(item => {
+        if (item.label != undefined && item.prop != undefined) {
+          if (tHeader.indexOf(item.label) === -1) {
+            tHeader.push(item.label)
+          }
+          if (filterVal.indexOf(item.prop) === -1) {
+            filterVal.push(item.prop)
+          }
+        }
+      })
+      this.downloadLoading = true
+      require.ensure([], () => {
+        const {
+          export_json_to_excel
+        } = require('@/assets/excel/Export2Excel.js') //这里必须使用绝对路径,使用@/+存放export2Excel的路径
+        let data = this.tableData.map(v => filterVal.map(j => v[j])) //3.formatJson格式转换
+        export_json_to_excel(tHeader, data, title) // (title)导出的表格名称
+      })
+      loading.close()
+    },
+    getNodeNum(data) {
+      for (var i = 0; i < data.length; i++) {
+        if (i === 0) {
+          data[i].group = i
+          data[i].rowKey = i
+        } else {
+          // 判断当前元素与上一个元素是否相同
+          if (data[i].saleOrderMaterialId === data[i - 1].saleOrderMaterialId) {
+            data[i].group = data[i - 1].group
+            data[i].rowKey = i
+          } else {
+            data[i].group = data[i - 1].group + 1
+            data[i].rowKey = i
+          }
+        }
+      }
+    },
+    //记录每一行的合并数
+    getSpanArr(data) {
+      //每次调用方法初始化
+      this.spanArr = []
+      for (var i = 0; i < data.length; i++) {
+        if (i === 0) {
+          this.spanArr.push(1)
+          // data[i].group = i
+          this.pos = 0
+        } else {
+          // 判断当前元素与上一个元素是否相同
+          if (data[i].saleOrderMaterialId === data[i - 1].saleOrderMaterialId) {
+            this.spanArr[this.pos] += 1
+            // data[i].group = data[i - 1].group
+            this.spanArr.push(0)
+          } else {
+            this.spanArr.push(1)
+            this.pos = i
+            // data[i].group = data[i - 1].group + 1
+          }
+        }
+      }
+    },
+    objectSpanMethod({ row, column, rowIndex, columnIndex }) {
+      if (this.mergeList.indexOf(column.label) != -1) {
+        const _row = this.spanArr[rowIndex]
+        const _col = _row > 0 ? 1 : 0
+        return {
+          rowspan: _row,
+          colspan: _col
+        }
+      }
+    },
+    //计算总件数和总车数
+    getTotalNum(data) {
+      //通过车序号的个数来计算车数
+      let arr = []
+      arr = data.map(e => {
+        if (
+          e.capacityNo != '取消' &&
+          e.saleOrderStatus != '关闭' &&
+          e.saleOrderStatus != '反审批' &&
+          e.orderStatus != '已关闭'
+        ) {
+          return e.saleOrderMaterialId
+        }
+      })
+      this.totalCapacity = Array.from(new Set(arr)).length
+      this.totalNumber = data.reduce(function(prev, item) {
+        return prev + item.materialNum
+      }, 0)
+    },
+    //查询,输入查询条件
+    onclick(obj) {
+      this.isRowClick = 0
+      const loading = this.$loading({
+        lock: true,
+        text: '正在获取数据',
+        spinner: 'el-icon-loading',
+        background: 'rgba(0, 0, 0, 0.7)'
+      })
+      let startTime = null
+      let endTime = null
+      let carrierSsoId = null
+      let carrierName = null
+      let consigneeName = null
+      let capacityNo = null
+      let remark = null
+      let saler = null
+      let easPrimaryId = null
+      let consigneeLoginName = null
+      if (this.startTime && this.endTime) {
+        startTime = sjTime(this.startTime)
+        endTime = sjTime(this.endTime)
+      }
+      if (getCookie('orgCode') == 'chengyunshang') {
+        carrierSsoId = getCookie('userId')
+      }
+      if (getCookie('orgCode') == 'xiaoshouyewuyuan') {
+        saler = getCookie('loginName')
+      }
+      if (getCookie('orgCode') == 'shouhuokehu') {
+        consigneeLoginName = getCookie('loginName')
+        obj.consigneeLoginName = consigneeLoginName
+      }
+      if (this.screen == '客户') {
+        consigneeName = this.input
+      } else if (this.screen == '承运商') {
+        carrierName = this.input
+      } else if (this.screen == '车牌号') {
+        capacityNo = this.input
+      } else if (this.screen == '分录ID') {
+        easPrimaryId = this.input
+      } else {
+        remark = this.input
+      }
+      if (this.screen1 == '客户') {
+        consigneeName = this.input1
+      } else if (this.screen1 == '承运商') {
+        carrierName = this.input1
+      } else if (this.screen1 == '车牌号') {
+        capacityNo = this.input1
+      } else {
+        remark = this.input1
+      }
+      this.axios
+        .post(
+          '/api/v1/tms/getSaleSteelReport?startTime=' +
+            startTime +
+            '&endTime=' +
+            endTime +
+            '&carrierSsoId=' +
+            carrierSsoId +
+            '&i=' +
+            new Date() +
+            '&remark=' +
+            remark +
+            '&consigneeName=' +
+            consigneeName +
+            '&carrierName=' +
+            carrierName +
+            '&capacityNo=' +
+            capacityNo +
+            '&saler=' +
+            saler +
+            '&easPrimaryId=' +
+            easPrimaryId,
+          obj
+        )
+        .then(res => {
+          this.tableData = res.data.data
+          this.getNodeNum(this.tableData)
+          this.totalHeight += this.itemHeight
+          this.totalHeight += this.itemHeight
+          this.visibleList = []
+          this.maxHeight = window.innerHeight - 130
+          this.visibleList = this.tableData.slice(
+            0,
+            Math.floor(this.maxHeight / this.itemHeight) + 1
+          )
+          console.log(this.visibleList)
+          console.log(this.maxHeight, 'this.maxHeight')
+          loading.close()
+          console.log(this.visibleList, 'this.visibleList')
+          this.getSpanArr(this.visibleList)
+          this.getTotalNum(this.tableData)
+          console.log(this.maxHeight, 'this.maxHeight')
+          this.maxHeight = window.innerHeight - 130
+          console.log(this.maxHeight, 'this.maxHeight')
+          loading.close()
+        })
+    },
+    //重新获取表格数据
+    refresh() {
+      this.getSteelReport()
+    },
+    //获取钢材统计报表
+    getSteelReport() {
+      const loading = this.$loading({
+        lock: true,
+        text: '正在获取数据,请稍候',
+        spinner: 'el-icon-loading',
+        background: 'rgba(0, 0, 0, 0.7)'
+      })
+      this.isRowClick = 0
+      let startTime = null
+      let endTime = null
+      let carrierSsoId = null
+      let carrierName = null
+      let consigneeName = null
+      let consigneeSsoId = null
+      let consigneeLoginName = null
+      let capacityNo = null
+      let remark = null
+      let saler = null
+      if (this.startTime && this.endTime) {
+        startTime = sjTime(this.startTime)
+        endTime = sjTime(this.endTime)
+      }
+      if (getCookie('orgCode') == 'chengyunshang') {
+        carrierSsoId = getCookie('userId')
+      }
+      if (getCookie('orgCode') == 'xiaoshouyewuyuan') {
+        saler = getCookie('loginName')
+      }
+      if (getCookie('orgCode') == 'shouhuokehu') {
+        consigneeLoginName = getCookie('loginName')
+        this.filterMap.consigneeLoginName = consigneeLoginName
+      }
+      if (this.screen == '客户') {
+        consigneeName = this.input
+      } else if (this.screen == '承运商') {
+        carrierName = this.input
+      } else if (this.screen == '车牌号') {
+        capacityNo = this.input
+      } else {
+        remark = this.input
+      }
+      if (this.screen1 == '下单客户') {
+        consigneeName = this.input1
+      } else if (this.screen1 == '承运商') {
+        carrierName = this.input1
+      } else if (this.screen1 == '车牌号') {
+        capacityNo = this.input1
+      } else {
+        remark = this.input1
+      }
+      if (getCookie('orgCode') == 'chengyunshang') {
+        carrierSsoId = getCookie('userId')
+      }
+      if (getCookie('orgCode') == 'xiaoshouyewuyuan') {
+        saler = getCookie('loginName')
+      }
+      this.axios
+        .post(
+          '/api/v1/tms/getSaleSteelReport?startTime=' +
+            startTime +
+            '&endTime=' +
+            endTime +
+            '&carrierSsoId=' +
+            carrierSsoId +
+            '&saler=' +
+            saler +
+            '&i=' +
+            new Date() +
+            '&remark=' +
+            remark +
+            '&consigneeName=' +
+            consigneeName +
+            '&carrierName=' +
+            carrierName +
+            '&capacityNo=' +
+            capacityNo,
+          this.filterMap
+        )
+        .then(res => {
+          this.tableData = res.data.data
+          this.totalHeight += this.itemHeight
+          this.visibleList = []
+          this.maxHeight = window.innerHeight - 130
+          this.getNodeNum(this.tableData)
+          this.visibleList = this.tableData.slice(
+            0,
+            Math.floor(this.maxHeight / this.itemHeight) + 1
+          )
+          this.getSpanArr(this.visibleList)
+          console.log(this.visibleList)
+          this.getTotalNum(this.tableData)
+          loading.close()
+        })
+        .catch(() => {
+          this.maxHeight = window.innerHeight - 130
+          loading.close()
+        })
+    }
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+.purchasFuelNewMonitor {
+  .tableTop {
+    margin-left: 20px;
+    margin-top: 20px;
+  }
+  .table {
+    margin-left: 20px;
+    margin-top: 20px;
+    .el-tooltip {
+      width: auto !important;
+    }
+    /deep/ .el-table__body {
+      overflow-y: auto;
+      position: absolute !important;
+      tr:hover > td {
+        background-color: #fff;
+      }
+    }
+
+    ::-webkit-scrollbar {
+      height: 20px;
+      background-color: transparent;
+    }
+  }
+
+  .dialog {
+    .exceptionHandleClass {
+      display: flex;
+      justify-content: center;
+      align-items: center;
+      font-size: 20px;
+      margin-top: 20px;
+      margin-bottom: 20px;
+    }
+    .steelMapClass {
+      .steelMapClass1 {
+        display: flex;
+        flex-direction: row;
+        justify-content: flex-start;
+        align-items: flex-start;
+        font-size: 16px;
+        .steelMapClass12 {
+          margin-left: 50px;
+          margin-right: 10px;
+        }
+      }
+      .steelMapClass2 {
+        margin-top: 20px;
+        display: flex;
+        flex-direction: row;
+        justify-content: flex-start;
+        align-items: flex-start;
+        font-size: 16px;
+        .steelMapClass22 {
+          margin-left: 50px;
+          margin-right: 10px;
+          .el-select {
+            .el-input .el-input--suffix {
+              .el-input__inner {
+                border: 0px solid !important;
+              }
+            }
+          }
+        }
+      }
+      .steelMapClass3 {
+        margin-top: 20px;
+        display: flex;
+        flex-direction: row;
+        justify-content: flex-start;
+        align-items: flex-start;
+        font-size: 16px;
+        .steelMapClass32 {
+          margin-left: 50px;
+          // margin-right: 10px;
+        }
+        .steelMapClass33 {
+          margin-left: 20px;
+          // margin-right: 10px;
+        }
+      }
+      .steelMapClass4 {
+        margin-top: 20px;
+        display: flex;
+        flex-direction: row;
+        justify-content: flex-start;
+        align-items: flex-start;
+        font-size: 16px;
+
+        .steelMapClass42 {
+          margin-left: 50px;
+          margin-right: 10px;
+        }
+        .steelMapClass43 {
+          margin-left: 50px;
+          margin-right: 10px;
+        }
+        .steelMapClass44 {
+          margin-left: 50px;
+          margin-right: 10px;
+        }
+      }
+      .steelMapClass5 {
+        margin-top: 20px;
+        display: flex;
+        flex-direction: row;
+        justify-content: flex-start;
+        align-items: flex-start;
+        font-size: 16px;
+
+        .steelMapClass52 {
+          margin-left: 50px;
+          margin-right: 10px;
+          .steelMapClass521 {
+            margin-left: 20px;
+          }
+        }
+      }
+      .steelMapClass6 {
+        margin-top: 20px;
+        display: flex;
+        flex-direction: row;
+        justify-content: flex-start;
+        align-items: flex-start;
+        font-size: 16px;
+        .steelMapClass62 {
+          margin-left: 50px;
+          margin-right: 10px;
+        }
+      }
+
+      .steelMapClass7 {
+        margin-top: 20px;
+        display: flex;
+        flex-direction: row;
+        justify-content: flex-start;
+        align-items: flex-start;
+        font-size: 16px;
+        .steelMapClass72 {
+          margin-left: 50px;
+          margin-right: 10px;
+        }
+      }
+    }
+    .table1 {
+      margin-left: 20px;
+      margin-top: 20px;
+      .el-tooltip {
+        width: auto !important;
+      }
+    }
+  }
+  .address {
+    .button-box {
+      display: flex;
+      justify-content: center;
+      align-items: center;
+    }
+  }
+}
+</style>
+<!-- <style lang="scss">
+.el-table__body-wrapper {
+  overflow-y: auto;
+  .el-table__body {
+    position: absolute;
+  }
+}
+</style> -->

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

@@ -39,6 +39,7 @@ import wagonWorkReport from '../components/wanzhouReport/wagonWorkReport.vue'
 import saleSteelCarrierReport from '@/views/statisticalReport/components/salesLogisticsStatistics/saleSteelCarrierReport'
 import saleSteelReports from '@/views/statisticalReport/components/salesLogisticsStatistics/saleSteelReports'
 import mapTest from '../components/salesLogisticsStatistics/mapTest.vue'
+import saleSteelReportForFinance from '../components/salesLogisticsStatistics/saleSteelReportForFinance.vue'
 const unloadingSteelReports = () =>
   import(
     '@/views/statisticalReport/components/salesLogisticsStatistics/unloadingSteelReports.vue'
@@ -272,6 +273,14 @@ const constantRouterMap = [
           code: 'xtpzgl-yhgl'
         },
         component: unloadingSteelReports
+      },
+      {
+        path: 'saleSteelReportForFinance',
+        name: 'saleSteelReportForFinance',
+        meta: {
+          code: 'xtpzgl-yhgl'
+        },
+        component: saleSteelReportForFinance
       }
     ]
   }