瀏覽代碼

1.通知公告后台列表修改,一个公告一条记录。
2.导出改为分页导出,并增加客户端进度提示。

zhengqiang 5 年之前
父節點
當前提交
c23c2e98c9
共有 2 個文件被更改,包括 42 次插入6 次删除
  1. 6 1
      src/api/base/personDeviceLog.js
  2. 36 5
      src/views/base/personDeviceLog-list.vue

+ 6 - 1
src/api/base/personDeviceLog.js

@@ -10,6 +10,11 @@ function exportXls(formData) {
   return request.post(constant.serverUrl + "/personDeviceLog/exportXls", formData);
 }
 
+function exportProgress(timestamp) {
+  //导出xls
+  return request.get(constant.serverUrl + `/personDeviceLog/exportProgress?timestamp=${timestamp}`);
+}
+
 export default {
-  pageList,exportXls
+  pageList,exportXls,exportProgress
 }

+ 36 - 5
src/views/base/personDeviceLog-list.vue

@@ -81,7 +81,11 @@
           <el-input type="text" size="mini" style="width:50px;" v-model="queryModel.temperatureEnd"></el-input>
         </el-form-item>
         <el-form-item label="匹配状态" prop="matchMsg">
-          <el-input type="text" size="mini" style="width:80px;" v-model="queryModel.matchMsg"></el-input>
+          <el-select size="mini" v-model="queryModel.matchMsg" style="width:100px;">
+            <el-option label="未选择" value=""></el-option>
+            <el-option label="是" value="1"></el-option>
+            <el-option label="否" value="0"></el-option>
+          </el-select>
         </el-form-item>
         <el-form-item>
           <el-button
@@ -115,13 +119,14 @@
       ref="formTable"
       :data="tableData"
       v-loading="loading"
+      :element-loading-text="loadingText"
       stripe
       :height="tableHeight"
       @sort-change="sortChange"
       @selection-change="handleSelectionChange"
     >
       <el-table-column prop="recordTime" label="记录时间" width="180"></el-table-column>
-      <el-table-column prop="faceImage" width="120">
+      <el-table-column prop="faceImage" label="头像" width="120">
         <template slot-scope="{row}">
           <a :href="row.faceImage" target="_blank">
             <el-avatar
@@ -198,8 +203,9 @@ export default {
         matchMsg: "",
         companyId: "",
         subordinate: false,
-        distinct: false
+        distinct: false,
       },
+      loadingText:"加载中",
       loading: false,
       tableData: [],
       pageIndex: 1,
@@ -214,7 +220,7 @@ export default {
       modalTitle: "",
       businessKey: "",
       downloadLoading: false,
-      tableHeight: "",
+      tableHeight: 400,
       timeRangesDefaultTime: [],
       companyResult: [],
       treeData: [],
@@ -278,6 +284,7 @@ export default {
       var self = this;
 
       self.loading = true;
+      self.loadingText = "加载中";
 
       self.pageIndex = pageIndex;
       var formData = new FormData();
@@ -370,6 +377,8 @@ export default {
       var self = this;
       self.downloadLoading = true;
       self.loading = true;
+      self.loadingText = "数据导出中,请稍后...";
+
       var formData = new FormData();
 
       formData.append("faceImage", self.queryModel.faceImage);
@@ -387,6 +396,9 @@ export default {
       formData.append("subordinate", self.queryModel.subordinate);
       formData.append("distinct", self.queryModel.distinct);
 
+      var timestamp = (new Date()).getTime();
+      formData.append("timestamp", timestamp);
+
       personDeviceLogApi.exportXls(formData).then(function(response) {
         var jsonData = response.data;
         self.downloadLoading = false;
@@ -398,11 +410,30 @@ export default {
               showClose: true,
               dangerouslyUseHTMLString: true,
               message: `<a href="${jsonData.data}" target="_blank">点击下载报表</a>&nbsp;`,
-              duration: 30000
+              duration: 60000,
+              type: 'success'
             });
           }
         }
       });
+
+      //定时查询导出进度
+      this.queryExportProgress(timestamp);
+    },
+    queryExportProgress(timestamp) {
+        if(this.loading) {
+          personDeviceLogApi.exportProgress(timestamp).then(resp=>{
+            var jsonData = resp.data;
+
+            if(jsonData.result){
+              this.loadingText = jsonData.message + "";
+            }
+
+            setTimeout(()=>{
+              this.queryExportProgress(timestamp)
+            },1000);
+          })
+        }
     },
     //初始化日期
     getCurrentMonthFirst() {