|
@@ -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({
|