Pārlūkot izejas kodu

Merge branch 'master' of http://223.75.76.159:9090/xiao547607/smart-community-server-portal

xiao547607 5 gadi atpakaļ
vecāks
revīzija
b447a41e72
1 mainītis faili ar 88 papildinājumiem un 57 dzēšanām
  1. 88 57
      src/views/business/workAttendance-list.vue

+ 88 - 57
src/views/business/workAttendance-list.vue

@@ -1,9 +1,11 @@
 <template>
-  <div v-loading="downloadLoading">
+  <div v-loading="downloadLoading" 
+    element-loading-text="加载中"
+    element-loading-spinner="el-icon-loading">
     <el-breadcrumb separator=">">
       <el-breadcrumb-item :to="{ path: '/' }">首页</el-breadcrumb-item>
       <el-breadcrumb-item>
-        <a href="#">系统管理</a>
+        <a href="#">门禁管理</a>
       </el-breadcrumb-item>
       <el-breadcrumb-item>
         <a href="/workAttendance">考勤统计</a>
@@ -100,8 +102,13 @@
         @click="exportXls"
       >导出数据</el-button>
     </el-row>
-    <el-table ref="table" stripe :data="tableData" :height="tableHeight" style="width: 100%">
-      <el-table-column label="序号" fixed="left" type="index"></el-table-column>
+    <el-table
+      ref="table"
+      stripe
+      :data="tableData"
+      :height="tableHeight"
+      style="width: 100%">
+      <el-table-column label="序号" fixed="left" type="index" :index="indexMethod"></el-table-column>
       <el-table-column label="姓名" fixed="left" prop="name"></el-table-column>
       <el-table-column prop="position1" :label="position1" v-if="position1Show"></el-table-column>
       <el-table-column prop="position2" :label="position2" v-if="position2Show"></el-table-column>
@@ -127,6 +134,14 @@
         </el-table-column>
       </template>
     </el-table>
+    <el-pagination
+      :current-page.sync="pageIndex"
+      :total="totalElements"
+      :page-sizes="pageSizeList"
+      @current-change="changePage"
+      @size-change="pageSizeChange"
+      layout="total, sizes, prev, pager, next, jumper"
+    ></el-pagination>
   </div>
 </template>
 <script>
@@ -162,12 +177,12 @@ export default {
       loading: false,
       tableData: [],
       pageIndex: 1,
-      pageSize: 10,
+      pageSize: 20,
       totalPages: 0,
       totalElements: 0,
       field: "",
       direction: "",
-      pageSizeList: [10, 20, 30],
+      pageSizeList: [20, 30, 50],
       multipleSelection: [],
       showModal: false,
       modalTitle: "",
@@ -236,7 +251,67 @@ export default {
     this.getCurrentMonthFirst();
   },
   methods: {
-    showItem(item) {
+    indexMethod(index){
+      return (this.pageIndex-1)*this.pageSize + (index+1);
+    },
+    changePage(pageIndex) {
+      var self = this;
+      self.pageIndex = pageIndex;
+
+      var formData = new FormData();
+
+      formData.append("pageIndex", self.pageIndex);
+      formData.append("pageSize", self.pageSize);
+
+      formData.append("companyId", self.queryModel.companyId);
+      formData.append("name", self.queryModel.name);
+
+      var startDate = "";
+      var endDate = "";
+      var timeRanges = self.queryModel.timeRanges + "";
+
+      if (timeRanges != "" && timeRanges != null) {
+        timeRanges = timeRanges.split(",");
+        startDate = timeRanges[0];
+        endDate = timeRanges[1];
+      }
+
+      formData.append("startDate", startDate);
+      formData.append("endDate", endDate);
+      formData.append("position1", self.queryModel.position1);
+      formData.append("position2", self.queryModel.position2);
+      formData.append("position3", self.queryModel.position3);
+      formData.append("position4", self.queryModel.position4);
+      formData.append("position5", self.queryModel.position5);
+      
+      self.downloadLoading = true;
+
+      workAttendanceApi.statList(formData).then(function(response) {
+        var jsonData = response.data;
+
+        self.downloadLoading = false;
+        
+        if (jsonData.result) {
+          self.tableData = jsonData.data.data;
+          self.totalPages = jsonData.data.totalPage;
+          self.totalElements = jsonData.data.totalElements;
+
+          self.tableHeight = window.innerHeight - 280;
+          self.dayColumns = jsonData.data.dayColumns;
+          self.tmplKey = jsonData.data.tmplKey;
+        } else {
+          self.$message({
+            type: "warning",
+            message: jsonData.message
+          });
+        }
+      });
+    },
+    pageSizeChange(pageSize) {
+      this.pageSize = pageSize;
+      this.changePage(1);
+    },
+    showItem(item){
       var content = [];
 
       var arr = item.recordTime.split(" ");
@@ -276,49 +351,7 @@ export default {
 
       this.$refs["queryForm"].validate(valid => {
         if (valid) {
-          self.downloadLoading = true;
-          var formData = new FormData();
-
-          formData.append("companyId", self.queryModel.companyId);
-          formData.append("name", self.queryModel.name);
-          formData.append("jobNumber", self.queryModel.jobNumber);
-
-          var startDate = "";
-          var endDate = "";
-          var timeRanges = self.queryModel.timeRanges + "";
-
-          if (timeRanges != "" && timeRanges != null) {
-            timeRanges = timeRanges.split(",");
-            startDate = timeRanges[0];
-            endDate = timeRanges[1];
-          }
-
-          formData.append("startDate", startDate);
-          formData.append("endDate", endDate);
-          
-          formData.append("position1", self.queryModel.position1);
-          formData.append("position2", self.queryModel.position2);
-          formData.append("position3", self.queryModel.position3);
-          formData.append("position4", self.queryModel.position4);
-          formData.append("position5", self.queryModel.position5);
-
-          workAttendanceApi.statList(formData).then(function(response) {
-            var jsonData = response.data;
-
-            self.downloadLoading = false;
-
-            if (jsonData.result) {
-              self.tableData = jsonData.data.list;
-              self.tableHeight = window.innerHeight - 280;
-              self.dayColumns = jsonData.data.dayColumns;
-              self.tmplKey = jsonData.data.tmplKey;
-            } else {
-              self.$message({
-                type: "warning",
-                message: jsonData.message
-              });
-            }
-          });
+          self.changePage(1);
         }
       });
     },
@@ -331,15 +364,12 @@ export default {
       //导出
       this.$refs["queryForm"].validate(valid => {
         if (valid) {
-          if (self.tmplKey == null || self.tmplKey.length == 0) {
-            self.$message.warning("请先查询!");
-            return;
-          }
-
           self.downloadLoading = true;
 
           var formData = new FormData();
-          formData.append("tmplKey", self.tmplKey);
+
+          formData.append("companyId", self.queryModel.companyId);
+          formData.append("name", self.queryModel.name);
 
           var startDate = "";
           var endDate = "";
@@ -368,7 +398,8 @@ export default {
               self.$message({
                 type: "success",
                 message: `报表已生成,<a href="${jsonData.data}">请点击链接下载</a>`,
-                dangerouslyUseHTMLString: true
+                dangerouslyUseHTMLString: true,
+                duration: 30000
               });
             } else {
               self.$message({