|
|
@@ -7,7 +7,16 @@
|
|
|
clearable
|
|
|
class="filter-item"
|
|
|
></el-input> -->
|
|
|
- <el-select v-model="department" clearable filterable placeholder="选择部门" class="filter-item">
|
|
|
+ <el-select
|
|
|
+ v-model="department"
|
|
|
+ clearable
|
|
|
+ filterable
|
|
|
+ placeholder="选择部门"
|
|
|
+ class="filter-item"
|
|
|
+ multiple
|
|
|
+ collapse-tags
|
|
|
+ style="width:300px"
|
|
|
+ >
|
|
|
<el-option v-for="item in departments" :label="item" :value="item" :key="item"></el-option>
|
|
|
</el-select>
|
|
|
<el-date-picker
|
|
|
@@ -40,17 +49,20 @@
|
|
|
:height="tableHeight"
|
|
|
v-loading="loading"
|
|
|
>
|
|
|
- <el-table-column prop="name" label="姓名"> </el-table-column>
|
|
|
- <el-table-column prop="department" label="部门"> </el-table-column>
|
|
|
- <el-table-column prop="start" label="开始时间"> </el-table-column>
|
|
|
- <el-table-column prop="end" label="结束时间"> </el-table-column>
|
|
|
- <el-table-column prop="totalDays" label="总天数"></el-table-column>
|
|
|
- <el-table-column prop="workDays" label="工作日"></el-table-column>
|
|
|
- <el-table-column prop="attendDays" label="到勤天数"></el-table-column>
|
|
|
- <el-table-column prop="absentDays" label="缺勤天数"></el-table-column>
|
|
|
- <el-table-column prop="fullDays" label="满勤天数"></el-table-column>
|
|
|
- <el-table-column prop="late" label="迟到天数"></el-table-column>
|
|
|
- <el-table-column prop="early" label="早退天数"></el-table-column>
|
|
|
+ <el-table-column prop="name" label="姓名" width="100"> </el-table-column>
|
|
|
+ <el-table-column prop="department" label="部门" min-width="150" show-overflow-tooltip> </el-table-column>
|
|
|
+ <el-table-column prop="start" label="开始时间" min-width="150"> </el-table-column>
|
|
|
+ <el-table-column prop="end" label="结束时间" min-width="150"> </el-table-column>
|
|
|
+ <el-table-column prop="totalDays" label="总天数" width="100"></el-table-column>
|
|
|
+ <el-table-column prop="workDays" label="工作日" width="100"></el-table-column>
|
|
|
+ <el-table-column prop="attendDays" label="到勤天数" width="100"></el-table-column>
|
|
|
+ <el-table-column prop="absentDays" label="缺勤天数" width="100"></el-table-column>
|
|
|
+ <el-table-column prop="absentDetail" label="缺勤详情" width="100" show-overflow-tooltip></el-table-column>
|
|
|
+ <el-table-column prop="fullDays" label="满勤天数" width="100"></el-table-column>
|
|
|
+ <el-table-column prop="late" label="迟到天数" width="100"></el-table-column>
|
|
|
+ <el-table-column prop="lateDetail" label="迟到详情" width="100" show-overflow-tooltip></el-table-column>
|
|
|
+ <el-table-column prop="early" label="早退天数" width="100"></el-table-column>
|
|
|
+ <el-table-column prop="earlyDetail" label="早退详情" width="100" show-overflow-tooltip></el-table-column>
|
|
|
</el-table>
|
|
|
</div>
|
|
|
</template>
|
|
|
@@ -69,7 +81,7 @@ export default {
|
|
|
downloading: false,
|
|
|
date: null,
|
|
|
departments: [],
|
|
|
- department: null,
|
|
|
+ department: [],
|
|
|
loading: false,
|
|
|
pickerOptions: {
|
|
|
shortcuts: [
|
|
|
@@ -107,7 +119,7 @@ export default {
|
|
|
},
|
|
|
methods: {
|
|
|
beforeOnCreate() {
|
|
|
- this.department = this.$store.state.userInfo.department;
|
|
|
+ this.department = [this.$store.state.userInfo.department];
|
|
|
let d = addMonths(new Date(), -1);
|
|
|
this.date = [format(startOfMonth(d), 'yyyy-MM-dd'), format(endOfMonth(d), 'yyyy-MM-dd')];
|
|
|
},
|
|
|
@@ -118,7 +130,7 @@ export default {
|
|
|
this.loading = true;
|
|
|
this.$http
|
|
|
.get('/attendance/departmentReport', {
|
|
|
- department: this.department,
|
|
|
+ department: this.department.join(),
|
|
|
start: this.date[0],
|
|
|
end: this.date[1]
|
|
|
})
|
|
|
@@ -140,7 +152,7 @@ export default {
|
|
|
this.$axios
|
|
|
.get('/attendance/departmentReportExcel', {
|
|
|
responseType: 'blob',
|
|
|
- params: { department: this.department, start: this.date[0], end: this.date[1] }
|
|
|
+ params: { department: this.department.join(), start: this.date[0], end: this.date[1] }
|
|
|
})
|
|
|
.then(res => {
|
|
|
console.log(res);
|