Pārlūkot izejas kodu

Merge branch 'master' of https://git.steerinfo.com/DAL-DAZHOU/icore-pass

zengyf 2 gadi atpakaļ
vecāks
revīzija
1f92856b31

+ 150 - 2
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
@@ -506,6 +506,71 @@
               >
             </div>
           </el-tab-pane>
+          <el-tab-pane label="修改装卸货信息" name="tenth">
+            <div class="admin2">
+              <el-form  class="load" label-width="80px" style="margin-left:33%">
+                  <el-form-item label="运输订单号:">
+                    <el-input class="inline-input" v-model="loadDetail.orderNumber" @change="selectLoadingIdRemark"></el-input>
+                  </el-form-item>
+                  <el-form-item label="物资:">
+                    <el-autocomplete
+                      class="inline-input"
+                      v-model="loadDetail.materialName"
+                      :fetch-suggestions="querySearchMaterial"
+                      placeholder="物资名"
+                      :trigger-on-focus="false"
+                      @select="handleSelectMaterial"
+                    >
+                      <template slot-scope="{ item }">
+                        <div class="name">{{ item.materialName }}</div>
+                      </template>
+                    </el-autocomplete>
+                  </el-form-item>
+                  <el-form-item label="装货点:">
+                    <el-autocomplete
+                      class="inline-input"
+                      v-model="loadDetail.loadingName"
+                      :fetch-suggestions="querySearchWareHouse"
+                      placeholder="装货点"
+                      :trigger-on-focus="false"
+                      @select="handleSelectLoading"
+                    >
+                      <template slot-scope="{ item }">
+                        <div class="name">{{ item.warehouseName }}</div>
+                      </template>
+                    </el-autocomplete>
+                  </el-form-item>
+                  <el-form-item label="卸货点:">
+                    <el-autocomplete
+                      class="inline-input"
+                      v-model="loadDetail.unloadingName"
+                      :fetch-suggestions="querySearchWareHouse"
+                      placeholder="卸货点"
+                      :trigger-on-focus="false"
+                      @select="handleSelectUnloading"
+                    >
+                      <template slot-scope="{ item }">
+                        <div class="name">{{ item.warehouseName }}</div>
+                      </template>
+                    </el-autocomplete>
+                  </el-form-item>
+                   <el-form-item label="装机备注:">
+                    <el-input  class="inline-input" v-model="loadDetail.capacityRemark"></el-input>
+                  </el-form-item>
+                   <el-form-item label="备注:">
+                    <el-input class="inline-input"  v-model="loadDetail.insertUpdateRemark"></el-input>
+                  </el-form-item>
+              </el-form>
+            </div>
+            <div class="button_box">
+              <el-button
+                type="primary"
+                @click="updateLoadingIdRemark"
+                :disabled="disabled"
+                >确认修改</el-button
+              >
+            </div>
+          </el-tab-pane>
         </el-tabs>
       </div>
     </template>
@@ -544,7 +609,8 @@ export default {
       gatePostList: [],
       enFactoryGatepost: null,
       gatePostId: null,
-      orderStatus: null
+      orderStatus: null,
+      loadDetail:{}
     }
   },
   created() {
@@ -555,6 +621,76 @@ export default {
     this.information()
   },
   methods: {
+    selectLoadingIdRemark(){
+      if(this.loadDetail.orderNumber && this.loadDetail.orderNumber.length == 21){
+        this.axios.post("/api/v1/tms/selectLoadingIdRemark",this.loadDetail).then(res=>{
+          console.log(res);
+          if(res.data.status=="succeed"){
+            this.loadDetail=res.data.data;
+          }else{
+            this.$message.error(res.data.data);
+          }
+        })
+      }else{
+        this.loadDetail={};
+      }
+    },
+    querySearchMaterial(queryString, cb) {
+      if (queryString.length < 1) {
+        return
+      }
+      this.axios
+        .get('/api/v1/uc/getMaterialByLike?index=' + queryString)
+        .then(res => {
+          if (res.data.code == '200') {
+            cb(res.data.data)
+          }
+        })
+    },
+    handleSelectMaterial(item){
+      console.log("material:",item);
+      this.loadDetail.materialId=item.materialId;
+      this.loadDetail.materialName=item.materialName;
+    },
+    querySearchWareHouse(queryString, cb) {
+      if (queryString.length < 1) {
+        return
+      }
+      this.axios
+        .get('/api/v1/uc/getWareHouseNameLike?index=' + queryString)
+        .then(res => {
+          if (res.data.code == '200') {
+            cb(res.data.data)
+          }
+        })
+    },
+    handleSelectLoading(item){
+      console.log("load:",item);
+      this.loadDetail.loadingId=item.warehouseId;
+      this.loadDetail.loadingName=item.warehouseName;
+    },
+    handleSelectUnloading(item){
+      console.log("unload:",item);
+      this.loadDetail.unloadingId=item.warehouseId;
+      this.loadDetail.unloadingName=item.warehouseName;
+    },
+    //修改装卸货信息
+    updateLoadingIdRemark(){
+      console.log(this.loadDetail);
+      if(!this.loadDetail.orderNumber || !this.loadDetail.loadResultId || !this.loadDetail.unloadResultId){
+        this.$message.warning("请填写正确的运输订单号");
+      }else if(!this.loadDetail.materialId || !this.loadDetail.loadingId || !this.loadDetail.unloadingId){
+        this.$message.warning("请填写物资、装卸点");
+      }else {
+        this.axios.post("/api/v1/tms/updateLoadingIdRemark",this.loadDetail).then(res=>{
+        if(res.data.status=="succeed"){
+              this.$message.success("修改成功!");
+            }else{
+              this.$message.error(res.data.data);
+            }
+        });
+      }
+    },
     linkageDeleteTransportOrder() {
       let good = ''
       let goodspa = ''
@@ -866,6 +1002,18 @@ export default {
         justify-content: center;
         margin-top: 20px;
         margin-bottom: 20px;
+        .el-input {
+          width: 250px;
+        }
+      }
+      .load {
+        align-items: center;
+        justify-content: center;
+        margin-top: 20px;
+        margin-bottom: 20px;
+        .el-input {
+          width: 250px;
+        }
       }
       .carrier {
         display: flex;

+ 117 - 0
src/views/ADMINISTRATORS/components/tmstruckCommisson.vue

@@ -0,0 +1,117 @@
+<template>
+  <!-- 装船作业页面 -->
+  <div class="shipTransport">
+    <div class="top">
+      <el-input
+        class="el-input"
+        placeholder="请输入内容"
+        v-model="input"
+        clearable
+      >
+      </el-input>
+<!-- 
+       <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>
+    </div>
+    <dilTable v-bind.sync="option">
+    </dilTable>
+  </div>
+</template>
+
+<script>
+import { sjTime } from "@/utils/sharedJsFile";
+import { getCookie } from "@/utils/util.js";
+export default {
+  name: "homeworkPath",
+  data() {
+    return {
+      startTime: null,
+      endTime: null,
+      input: "",
+       startTime: null,
+      endTime: null,
+      option: {
+        // 表格请求数据的地址
+        requestUrl: "/api/v1/tms/getAllMeasureCommission?apiId=521",
+      },
+    };
+  },
+  mounted() {},
+  methods: {
+    onclick() {
+      let startTime = null;
+      let endTime = null;
+      if (this.startTime) {
+        startTime = sjTime(this.startTime);
+      }
+      if (this.endTime) {
+        endTime = sjTime(this.endTime);
+      }
+      if(startTime && endTime && startTime < endTime){
+          this.option.requestUrl = "/api/v1/tms/getAllMeasureCommission?apiId=521&con=" + this.input+
+                "&startTime=" +
+                startTime +
+                "&endTime=" +
+                endTime;
+      }else{
+          this.option.requestUrl = "/api/v1/tms/getAllMeasureCommission?apiId=521&con=" + this.input;
+      }
+    },
+    click(resultId) {
+      console.log("aaa" + resultId);
+      this.$router.push("/updateLoadShip/" + resultId);
+    },
+    addclick() {
+      this.$router.push("/addLoadShip/");
+    },
+    deleteclick(scope) {
+      let resultId = scope;
+      this.$confirm("是否删除", "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+        center: true,
+      })
+        .then(() => {
+          this.axios.post("/api/v1/tms/deleteLoadShip/" + resultId).then(() => {
+            this.$message({
+              type: "success",
+              message: "删除成功!",
+            });
+            this.option.requestUrl =
+              "/api/v1/tms/getLoadShipList?apiId=63&i=" + new Date();
+          });
+        })
+        .catch(() => {
+          this.$message({
+            type: "info",
+            message: "取消删除!",
+          });
+        });
+    },
+    refresh() {
+      this.$router.go(0);
+    },
+  },
+};
+</script>
+<style lang="scss" scoped>
+.shipTransport {
+  .top {
+    padding: 1.25rem 0.375rem;
+    .el-input {
+      width: 20%;
+      margin-right: 40rpx;
+    }
+    .btn {
+      width: 5.5%;
+      margin-left: 0.25rem;
+    }
+  }
+}
+</style>

+ 9 - 1
src/views/ADMINISTRATORS/router/index.js

@@ -4,7 +4,8 @@ import routerBefore from "@/config/routerBefore.js";
 // 主要
 import main from "@/components/main.vue";
 // 系统配置管理
-// import ADMINISTRATORS1 from "../components/ADMINISTRATORS1.vue";
+import ADMINISTRATORS1 from "../components/ADMINISTRATORS1.vue";
+import tmstruckCommisson from "../components/tmstruckCommisson.vue";
 
 Vue.use(Router);
 
@@ -22,6 +23,13 @@ const constantRouterMap = [
         meta: { code: "xtpzgl-jggl" },
         component: () =>
           import("@/views/ADMINISTRATORS/components/ADMINISTRATORS1")
+      },
+      {
+        path: "tmstruckCommisson",
+        name: "tmstruckCommisson",
+        meta: { code: "xtpzgl-jggl" },
+        component: () =>
+          import("@/views/ADMINISTRATORS/components/tmstruckCommisson")
       }
     ]
   }

+ 10 - 10
src/views/sale/components/transport_appointment/openDistribution.vue

@@ -2,7 +2,7 @@
 <template>
   <div class="steel_inbound">
     <div class="sache">
-      <el-input placeholder="请输入内容" v-model="inputText" clearable>
+      <el-input placeholder="请输入内容" v-model="input" clearable>
       </el-input>
       <el-button type="primary" class="btn" @click="onclick1">
         <i class="el-icon-search"></i>查询
@@ -215,32 +215,32 @@ export default {
       if (getCookie("orgCode") == "chengyunshang") {
         this.first.requestUrl =
           "/api/v1/ams/getPCDispatchSaleOrderList?apiId=242&dispatchType=0&carrierSsoId=" +
-          getCookie("userId");
+          getCookie("userId")+"&con=" +this.input;
       } else {
         this.first.requestUrl =
           "/api/v1/ams/getPCDispatchSaleOrderList?apiId=242&dispatchType=0&carrierSsoId=" +
-          this.ssoId;
+          this.ssoId+"&con=" +this.input;
       }
     },
     secondGetRequestUrl() {
       if (getCookie("orgCode") == "chengyunshang") {
         this.second.requestUrl =
           "/api/v1/ams/selectDispatchSaleOrderList?apiId=233&carrierSsoId=" +
-          getCookie("userId");
+          getCookie("userId")+"&con=" +this.input;
       } else {
         this.second.requestUrl =
           "/api/v1/ams/selectDispatchSaleOrderList?apiId=233&carrierSsoId=" +
-          this.ssoId;
+          this.ssoId+"&con=" +this.input;
       }
     },
     onclick1() {
+      console.log();
       if (this.activeName == "first") {
-        this.option1.requestUrl =
-          "/api/v1/ams/getPCDispatchSaleOrderList?apiId=242&con=" + this.input;
+        this.firstGetRequestUrl();
+        console.log(this.first.requestUrl);
       } else if (this.activeName == "second") {
-        this.option2.requestUrl =
-          "/api/v1/ams/selectDispatchSaleOrderList?apiId=233&carrierId=1&con=" +
-          this.input;
+        this.secondGetRequestUrl();
+        console.log(this.second.requestUrl);
       }
     },
     dispatch(scope) {

+ 37 - 2
src/views/statisticalReport/components/inwardReport/getInstall.vue

@@ -18,12 +18,12 @@
       <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="exportToExcel('厂内内转装机统计')"><i class="el-icon-download"></i>导出(Excel)</el-button>   
       <span style="margin-left: 1rem;">合计车数:</span>
       <el-input v-model="totalCapacity" :disabled="true" style="width: 100px;"></el-input>
     </div>
     <div class="table">
-      <dilTable ref="excelDom" v-bind.sync="option" @func="func"></dilTable>
+      <dilTable id="excelDom" ref="excelDom" v-bind.sync="option" @func="func"></dilTable>
     </div>
   </div>
 </template>
@@ -46,6 +46,41 @@ export default {
           this.option.requestUrl = '/api/v1/tms/getLoaderResult?apiId=463&startTime=null&endTime=null&i=' +new Date()
   },
   methods: {
+    exportToExcel(tableTitle="表格标题") {
+        //创建工作簿对象
+        let wb = XLSX.utils.book_new();
+        //查询数据
+        let map={isExcel:1};
+        this.axios.post(this.option.requestUrl,map).then(res=>{
+          let columnData=res.data.data.columnData;
+          let data=[];
+          if(!res.data.data.list || res.data.data.list.length<=0){
+            this.$message({
+              message:"请先查询,再导出!",
+              type:"warning",
+              duration:1000
+            });
+            return;
+          }else{
+            //替换表头
+            console.log("columnData",columnData);
+            res.data.data.list.forEach((item,index)=>{
+              let temp={};
+              columnData.forEach((col)=>{
+                temp[col.label] = item[col.prop];
+              });
+              data.push(temp);
+            });
+            console.log("data",data);
+            //将json数组转换成sheet
+            let table_sheet = XLSX.utils.json_to_sheet(data);
+            //为工作簿添加sheet
+            XLSX.utils.book_append_sheet(wb, table_sheet, "第一页");
+            //导出
+            XLSX.writeFile(wb, tableTitle+'.xlsx');
+          }
+        });
+    },
     func(res){
         console.log(res.list)     
         var currentCapacityTotal = 0

+ 37 - 2
src/views/statisticalReport/components/inwardReport/getLoading.vue

@@ -18,12 +18,12 @@
       <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="exportToExcel('厂内内转装车统计')"><i class="el-icon-download"></i>导出(Excel)</el-button>   
       <span style="margin-left: 1rem;">合计车数:</span>
       <el-input v-model="totalCapacity" :disabled="true" style="width: 100px;"></el-input>
     </div>
     <div class="table">
-      <dilTable ref="excelDom" v-bind.sync="option" @func="func"></dilTable>
+      <dilTable id="excelDom" ref="excelDom" v-bind.sync="option" @func="func"></dilTable>
     </div>
   </div>
 </template>
@@ -46,6 +46,41 @@ export default {
           this.option.requestUrl = '/api/v1/tms/getLoading?apiId=453&startTime=null&endTime=null&i=' +new Date()
   },
   methods: {
+     exportToExcel(tableTitle="表格标题") {
+        //创建工作簿对象
+        let wb = XLSX.utils.book_new();
+        //查询数据
+        let map={isExcel:1};
+        this.axios.post(this.option.requestUrl,map).then(res=>{
+          let columnData=res.data.data.columnData;
+          let data=[];
+          if(!res.data.data.list || res.data.data.list.length<=0){
+            this.$message({
+              message:"请先查询,再导出!",
+              type:"warning",
+              duration:1000
+            });
+            return;
+          }else{
+            //替换表头
+            console.log("columnData",columnData);
+            res.data.data.list.forEach((item,index)=>{
+              let temp={};
+              columnData.forEach((col)=>{
+                temp[col.label] = item[col.prop];
+              });
+              data.push(temp);
+            });
+            console.log("data",data);
+            //将json数组转换成sheet
+            let table_sheet = XLSX.utils.json_to_sheet(data);
+            //为工作簿添加sheet
+            XLSX.utils.book_append_sheet(wb, table_sheet, "第一页");
+            //导出
+            XLSX.writeFile(wb, tableTitle+'.xlsx');
+          }
+        });
+    },
     func(res){
         console.log(res.list)     
         var currentCapacityTotal = 0

+ 37 - 2
src/views/statisticalReport/components/inwardReport/getUnLoading.vue

@@ -14,7 +14,7 @@
       <el-button type="primary" class="btn" @click="onclick">
         <i class="el-icon-search"></i>查询
       </el-button>
-      <el-button type="primary" @click="exportData()"
+      <el-button type="primary" @click="exportToExcel('厂内内转卸车统计')"
         ><i class="el-icon-download"></i>导出(Excel)</el-button
       >
       <span style="margin-left: 1rem;">合计车数:</span>
@@ -25,7 +25,7 @@
       ></el-input>
     </div>
     <div class="table">
-      <dilTable ref="excelDom" v-bind.sync="option" @func="func"></dilTable>
+      <dilTable id="excelDom" ref="excelDom" v-bind.sync="option" @func="func"></dilTable>
     </div>
   </div>
 </template>
@@ -50,6 +50,41 @@ export default {
       new Date()
   },
   methods: {
+     exportToExcel(tableTitle="表格标题") {
+        //创建工作簿对象
+        let wb = XLSX.utils.book_new();
+        //查询数据
+        let map={isExcel:1};
+        this.axios.post(this.option.requestUrl,map).then(res=>{
+          let columnData=res.data.data.columnData;
+          let data=[];
+          if(!res.data.data.list || res.data.data.list.length<=0){
+            this.$message({
+              message:"请先查询,再导出!",
+              type:"warning",
+              duration:1000
+            });
+            return;
+          }else{
+            //替换表头
+            console.log("columnData",columnData);
+            res.data.data.list.forEach((item,index)=>{
+              let temp={};
+              columnData.forEach((col)=>{
+                temp[col.label] = item[col.prop];
+              });
+              data.push(temp);
+            });
+            console.log("data",data);
+            //将json数组转换成sheet
+            let table_sheet = XLSX.utils.json_to_sheet(data);
+            //为工作簿添加sheet
+            XLSX.utils.book_append_sheet(wb, table_sheet, "第一页");
+            //导出
+            XLSX.writeFile(wb, tableTitle+'.xlsx');
+          }
+        });
+    },
     func(res) {
       console.log(res.list)
       var currentCapacityTotal = 0

+ 37 - 1
src/views/statisticalReport/components/salesLogisticsStatistics/saleChemicalCokeForm.vue

@@ -49,7 +49,7 @@
           <i class="el-icon-search"></i>
         </el-button>
         <el-form-item>
-          <el-button type="primary" @click="exportData()"
+          <el-button type="primary" @click="exportToExcel('销售化产焦炭报表')"
             ><i class="el-icon-download"></i>Excel</el-button
           >
         </el-form-item>
@@ -83,6 +83,7 @@
     </div>
     <div class="table">
       <dilTable
+        id="excelDom"
         ref="excelDom"
         v-bind.sync="option"
         :isHeigth="isHeigth"
@@ -185,6 +186,41 @@ export default {
     this.tableTitle = startTime + " 至 " + endTime;
   },
   methods: {
+     exportToExcel(tableTitle="表格标题") {
+        //创建工作簿对象
+        let wb = XLSX.utils.book_new();
+        //查询数据
+        let map={isExcel:1};
+        this.axios.post(this.option.requestUrl,map).then(res=>{
+          let columnData=res.data.data.columnData;
+          let data=[];
+          if(!res.data.data.list || res.data.data.list.length<=0){
+            this.$message({
+              message:"请先查询,再导出!",
+              type:"warning",
+              duration:1000
+            });
+            return;
+          }else{
+            //替换表头
+            console.log("columnData",columnData);
+            res.data.data.list.forEach((item,index)=>{
+              let temp={};
+              columnData.forEach((col)=>{
+                temp[col.label] = item[col.prop];
+              });
+              data.push(temp);
+            });
+            console.log("data",data);
+            //将json数组转换成sheet
+            let table_sheet = XLSX.utils.json_to_sheet(data);
+            //为工作簿添加sheet
+            XLSX.utils.book_append_sheet(wb, table_sheet, "第一页");
+            //导出
+            XLSX.writeFile(wb, tableTitle+'.xlsx');
+          }
+        });
+    },
     // getReceiveName() {
     //   let startTime = null;
     //   let endTime = null;

+ 1 - 0
src/views/statisticalReport/components/salesLogisticsStatistics/saleSteelReports.vue

@@ -3216,6 +3216,7 @@ export default {
     updateCapacity() {
       console.log('我只想测')
       this.steelMap.capacityId = this.steelMap.newsCapacityId
+      this.steelMap.driverTel = this.steelMap.capacityTel
       if (this.steelMap.newsCapacityId == null) {
         this.$message.warning('请先注册车牌号或者选中弹出后再提交!')
         return

+ 37 - 2
src/views/statisticalReport/components/sporadicReport/inwardSporadicReport.vue

@@ -26,7 +26,7 @@
       <el-button type="primary" class="btn" @click="onclick">
         <i class="el-icon-search"></i>
       </el-button>
-      <el-button type="primary" @click="exportData()"
+      <el-button type="primary" @click="exportToExcel('零星中转汽运监控')"
         ><i class="el-icon-download"></i>Excel</el-button
       >
       <span style="margin-left: 1rem;">首次/二次合计净重:</span>
@@ -43,7 +43,7 @@
       ></el-input>
     </div>
     <div class="table">
-      <dilTable ref="excelDom" v-bind.sync="option" @func="func"></dilTable>
+      <dilTable  id="excelDom" ref="excelDom" v-bind.sync="option" @func="func"></dilTable>
     </div>
   </div>
 </template>
@@ -72,6 +72,41 @@ export default {
       new Date();
   },
   methods: {
+    exportToExcel(tableTitle="表格标题") {
+        //创建工作簿对象
+        let wb = XLSX.utils.book_new();
+        //查询数据
+        let map={isExcel:1};
+        this.axios.post(this.option.requestUrl,map).then(res=>{
+          let columnData=res.data.data.columnData;
+          let data=[];
+          if(!res.data.data.list || res.data.data.list.length<=0){
+            this.$message({
+              message:"请先查询,再导出!",
+              type:"warning",
+              duration:1000
+            });
+            return;
+          }else{
+            //替换表头
+            console.log("columnData",columnData);
+            res.data.data.list.forEach((item,index)=>{
+              let temp={};
+              columnData.forEach((col)=>{
+                temp[col.label] = item[col.prop];
+              });
+              data.push(temp);
+            });
+            console.log("data",data);
+            //将json数组转换成sheet
+            let table_sheet = XLSX.utils.json_to_sheet(data);
+            //为工作簿添加sheet
+            XLSX.utils.book_append_sheet(wb, table_sheet, "第一页");
+            //导出
+            XLSX.writeFile(wb, tableTitle+'.xlsx');
+          }
+        });
+    },
     func(res) {
       var resultNetWeightTotalFirst = 0;
       var resultNetWeightTotalSecond = 0;

+ 38 - 2
src/views/statisticalReport/components/sporadicReport/sporadicReportEnterFactory.vue

@@ -26,7 +26,7 @@
       <el-button type="primary" class="btn" @click="onclick">
         <i class="el-icon-search"></i>
       </el-button>
-      <el-button type="primary" @click="exportData()"
+      <el-button type="primary" @click="exportToExcel('零星进厂汽运监控')"
         ><i class="el-icon-download"></i>Excel</el-button
       >
       <span style="margin-left: 1rem;">合计净重:</span>
@@ -43,7 +43,7 @@
       ></el-input>
     </div>
     <div class="table">
-      <dilTable ref="excelDom" v-bind.sync="option" @func="func"></dilTable>
+      <dilTable id="excelDom" ref="excelDom" v-bind.sync="option" @func="func"></dilTable>
     </div>
   </div>
 </template>
@@ -51,6 +51,7 @@
 <script>
 import { sjTime } from "@/utils/sharedJsFile";
 import { getCookie } from "@/utils/util.js";
+import FileSaver from "file-saver";
 export default {
   data() {
     return {
@@ -86,6 +87,41 @@ export default {
     }
   },
   methods: {
+    exportToExcel(tableTitle="表格标题") {
+        //创建工作簿对象
+        let wb = XLSX.utils.book_new();
+        //查询数据
+        let map={isExcel:1};
+        this.axios.post(this.option.requestUrl,map).then(res=>{
+          let columnData=res.data.data.columnData;
+          let data=[];
+          if(!res.data.data.list || res.data.data.list.length<=0){
+            this.$message({
+              message:"请先查询,再导出!",
+              type:"warning",
+              duration:1000
+            });
+            return;
+          }else{
+            //替换表头
+            console.log("columnData",columnData);
+            res.data.data.list.forEach((item,index)=>{
+              let temp={};
+              columnData.forEach((col)=>{
+                temp[col.label] = item[col.prop];
+              });
+              data.push(temp);
+            });
+            console.log("data",data);
+            //将json数组转换成sheet
+            let table_sheet = XLSX.utils.json_to_sheet(data);
+            //为工作簿添加sheet
+            XLSX.utils.book_append_sheet(wb, table_sheet, "第一页");
+            //导出
+            XLSX.writeFile(wb, tableTitle+'.xlsx');
+          }
+        });
+    },
     func(res) {
       console.log(res);
       var resultNetWeightTotal = 0;

+ 37 - 2
src/views/statisticalReport/components/sporadicReport/sporadicReportExFactory.vue

@@ -26,7 +26,7 @@
       <el-button type="primary" class="btn" @click="onclick">
         <i class="el-icon-search"></i>
       </el-button>
-      <el-button type="primary" @click="exportData()"
+      <el-button type="primary" @click="exportToExcel('零星出厂汽运监控')"
         ><i class="el-icon-download"></i>Excel</el-button
       >
       <span style="margin-left: 1rem;">合计净重:</span>
@@ -43,7 +43,7 @@
       ></el-input>
     </div>
     <div class="table">
-      <dilTable ref="excelDom" v-bind.sync="option" @func="func"></dilTable>
+      <dilTable id="excelDom" ref="excelDom" v-bind.sync="option" @func="func"></dilTable>
     </div>
   </div>
 </template>
@@ -86,6 +86,41 @@ export default {
     }
   },
   methods: {
+    exportToExcel(tableTitle="表格标题") {
+        //创建工作簿对象
+        let wb = XLSX.utils.book_new();
+        //查询数据
+        let map={isExcel:1};
+        this.axios.post(this.option.requestUrl,map).then(res=>{
+          let columnData=res.data.data.columnData;
+          let data=[];
+          if(!res.data.data.list || res.data.data.list.length<=0){
+            this.$message({
+              message:"请先查询,再导出!",
+              type:"warning",
+              duration:1000
+            });
+            return;
+          }else{
+            //替换表头
+            console.log("columnData",columnData);
+            res.data.data.list.forEach((item,index)=>{
+              let temp={};
+              columnData.forEach((col)=>{
+                temp[col.label] = item[col.prop];
+              });
+              data.push(temp);
+            });
+            console.log("data",data);
+            //将json数组转换成sheet
+            let table_sheet = XLSX.utils.json_to_sheet(data);
+            //为工作簿添加sheet
+            XLSX.utils.book_append_sheet(wb, table_sheet, "第一页");
+            //导出
+            XLSX.writeFile(wb, tableTitle+'.xlsx');
+          }
+        });
+    },
     func(res) {
       console.log(res);
       var resultNetWeightTotal = 0;