From 14e02654e0545ee69456d64aef2f35c7c219d708 Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Fri, 07 May 2021 11:26:49 +0800
Subject: [PATCH] 地图模式设备状态修改

---
 src/views/parcel/parcel.vue |  117 ++++++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 88 insertions(+), 29 deletions(-)

diff --git a/src/views/parcel/parcel.vue b/src/views/parcel/parcel.vue
index 6d30f8a..ca1be49 100644
--- a/src/views/parcel/parcel.vue
+++ b/src/views/parcel/parcel.vue
@@ -12,6 +12,7 @@
                @row-update="rowUpdate"
                @row-save="rowSave"
                @row-del="rowDel"
+               @row-click="rowClick"
                @search-change="searchChange"
                @search-reset="searchReset"
                @selection-change="selectionChange"
@@ -19,8 +20,8 @@
                @size-change="sizeChange"
                @refresh-change="refreshChange"
                @on-load="onLoad">
-        
-      <template slot-scope="{ type, size, row }" slot="menu">
+
+      <!-- <template slot-scope="{ type, size, row }" slot="menu">
 
         <el-button
           v-if="row.imgUrl != null || row.imgUrl != ''"
@@ -30,23 +31,40 @@
           @click.stop="handleParcelPic(row)"
           >查看包裹图片
         </el-button>
-      </template>
-      
+      </template> -->
+
+      <template slot="menuLeft">
+          <el-button type="warning"
+                      size="small"
+                      plain
+                      icon="el-icon-download"
+                      @click="handleExport">导出
+          </el-button>
+          
+          <el-button type="warning"
+                      size="small"
+                      plain
+                      icon="el-icon-pie-chart"
+                      @click="handleExportStatis">导出报表
+          </el-button>
+        </template>
+
     </avue-crud>
     <template>
       <div>
-          <el-image-viewer 
-              v-if="showViewer" 
-              :on-close="closeViewer" 
+          <el-image-viewer
+              class="img"
+              v-if="showViewer"
+              :on-close="closeViewer"
               :url-list="['data:image/png;base64,'+imgUrl]" />
       </div>
     </template>
-    
+
   </basic-container>
 </template>
 
 <script>
-  import {getList, getDetail, getParcelPic} from "@/api/parcel/parcel";
+  import {getList,exportParcelStatis, getParcelPic} from "@/api/parcel/parcel";
   import {mapGetters} from "vuex";
   import ElImageViewer from 'element-ui/packages/image/src/image-viewer'
 
@@ -60,9 +78,6 @@
         showViewer: false, // 显示查看器
         imgUrl:'',
         loading: true,
-        dialogTableVisible: false,
-        parcelConversation:false,
-        oldParcelSatart:false,
         page: {
           pageSize: 10,
           currentPage: 1,
@@ -70,13 +85,15 @@
         },
         selectionList: [],
         option: {
+          menu:false,
           height:'auto',
-          calcHeight: 30,
+          calcHeight: 54,
           tip: false,
           searchShow: true,
           searchMenuSpan: 6,
           activeClass: 3,
-          border: true,
+          border: false,
+          stripe:true,
           index: true,
           viewBtn: true,
           selection: true,
@@ -138,6 +155,7 @@
               valueFormat: "yyyy-MM-dd HH:mm:ss",
               searchRange: true,
               searchSpan: 8,
+              searchValue:[this.getStartTime(),this.getEndTime()],
               hide: true,
               addDisplay: false,
               editDisplay: false,
@@ -168,6 +186,7 @@
             {
               label: "是否违禁",
               search: true,
+              searchValue: this.getIsKindParams(),
               searchLabelWidth: 120,
               searchSpan: 4,
               hide: true,
@@ -213,16 +232,13 @@
     },
     methods: {
       beforeOpen(done, type) {
-        console.log(type);
-        if (["view"].includes(type)) {
-          getDetail(this.form.imgUrl).then(res => {
-            this.form = res.data.data;
-          });
-        }
         done();
       },
       searchReset() {
+        //清空搜索框中的内容
         this.query = {};
+        //清空this.$route.query
+        this.$router.push({ query: {} });
         this.onLoad(this.page);
       },
       searchChange(params, done) {
@@ -230,6 +246,13 @@
         this.page.currentPage = 1;
         this.onLoad(this.page, params);
         done();
+      },
+      rowClick(row){
+        var that=this;
+        getParcelPic(row.imgUrl).then(res => {
+            that.imgUrl = res.data.data.imgBase64;
+            this.showViewer = true
+          });
       },
       selectionChange(list) {
         this.selectionList = list;
@@ -247,12 +270,50 @@
       refreshChange() {
         this.onLoad(this.page, this.query);
       },
+      getStartTime(){
+           if (this.$route.query.startTime != undefined && this.$route.query.startTime != null && this.$route.query.startTime != "" ) {
+             return this.$route.query.startTime
+           }
+           return '';
+      },
+      getEndTime(){
+           if (this.$route.query.endTime != undefined && this.$route.query.endTime != null && this.$route.query.endTime != "" ) {
+             return this.$route.query.endTime
+           }
+           return '';
+      },
+      getIsKindParams(){
+        if(this.$route.query.decisioDiagramResult && this.$route.query!='' && this.$route.query!=null && this.$route.query!=undefined){
+          //回显
+          return this.$route.query.decisioDiagramResult
+        }
+      },
+      //给行加颜色
       rowStyle({row, column, rowIndex}){
          if(row.mechineMark==1){
            return {
              color:"#fe1515"
            }
          }
+      },
+      //数据导出
+      handleExport() {
+        this.$confirm("是否导出包裹数据?", "提示", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(() => {
+          window.open(`/api/blade-jfpts/parcel/parcel/export-parcel?startTime=${this.$route.query.startTime}&endTime=${this.$route.query.endTime}&decisioDiagramResult=${this.$route.query.decisioDiagramResult}`);
+        });
+      },
+      //数据报表导出
+      handleExportStatis() {
+          let startTime = this.$route.query.startTime==undefined? '':this.$route.query.startTime;
+          let endTime = this.$route.query.endTime==undefined? '':this.$route.query.endTime;
+          let decisioDiagramResult = this.$route.query.decisioDiagramResult==undefined? '':this.$route.query.decisioDiagramResult;
+          let timeDesc = this.$route.query.timeDesc==undefined? '':this.$route.query.timeDesc;
+          //window.open(`http://localhost:8108/ureport/excel?_u=blade-parcel.statis.ureport.xml&startTime=${startTime}&endTime=${endTime}&decisioDiagramResult=${decisioDiagramResult}&timeDesc=${timeDesc}`);
+          window.open(`https://web.byisf.com/api/blade-report/ureport/preview?_u=blade-parcel.statis.ureport.xml&startTime=${startTime}&endTime=${endTime}&decisioDiagramResult=${decisioDiagramResult}&timeDesc=${timeDesc}`);
       },
       onLoad(page, params = {}) {
         const { dateTime } = this.query;
@@ -284,7 +345,6 @@
             }
         }
 
-
         if (dateTime) {
           values = {
             ...params,
@@ -309,14 +369,6 @@
           this.selectionClear();
         });
       },
-      handleParcelPic(row) {
-        var that=this;
-        getParcelPic(row.imgUrl).then(res => {
-            that.imgUrl = res.data.data.imgBase64;
-            //that.$refs.preview.clickHandler();
-            this.showViewer = true
-          });
-      },
       // 关闭查看器
       closeViewer() {
         this.showViewer = false
@@ -324,3 +376,10 @@
     }
   };
 </script>
+<style lang="scss">
+    .img {
+      .el-icon-circle-close {
+        color: white;
+      }
+    }
+</style>

--
Gitblit v1.9.3