|
@@ -147,10 +147,12 @@
|
|
|
<template slot-scope="scope">{{ scope.row.isCallNames ? '是' : '否' }}</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column align="center" prop="teacherName" label="指导老师" fixed="right"></el-table-column>
|
|
|
- <el-table-column align="center" label="详情" fixed="right">
|
|
|
+ <el-table-column align="center" label="详情" fixed="right" width="120px">
|
|
|
<template slot-scope="scope">
|
|
|
<div>
|
|
|
- <el-button type="text" v-permission="'teamCourseList/details'" @click="lookDetail(scope.row)">详情</el-button>
|
|
|
+ <el-button type="text" v-if="permission('teamCourseList/details')" @click="lookDetail(scope.row)">详情</el-button>
|
|
|
+ <el-button v-if="scope.row.status == 'OVER' && !scope.row.settlementTime && permission('teacherAttendance/updateTeacherAttendance', '/teamCourseList')" type="text" @click="onMarkAttendance(scope.row)"
|
|
|
+ >补考勤</el-button>
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
@@ -164,12 +166,27 @@
|
|
|
/>
|
|
|
</div>
|
|
|
</div>
|
|
|
+ <el-dialog title="补考勤" width="400px" :visible.sync="markAttendance.status">
|
|
|
+ <el-form>
|
|
|
+ <el-form-item label="签到状态">{{ markAttendance.dataInfo.isSignIn | attendanceType }}</el-form-item>
|
|
|
+ <el-form-item label="签到时间">{{ markAttendance.dataInfo.signInTime}}</el-form-item>
|
|
|
+ <el-form-item label="签退状态">{{ markAttendance.dataInfo.isSignOut | attendanceOutType }}</el-form-item>
|
|
|
+ <el-form-item label="签退时间">{{ markAttendance.dataInfo.signOutTime}}</el-form-item>
|
|
|
+ </el-form>
|
|
|
+ <div slot="footer" class="dialog-footer">
|
|
|
+ <el-button @click="markAttendance.status = false">取 消</el-button>
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ :disabled="markAttendance.dataInfo.isSignIn == 1 && markAttendance.dataInfo.isSignOut == 1 ? true : false"
|
|
|
+ @click="batchAdjustmentTime"
|
|
|
+ >确定补卡</el-button>
|
|
|
+ </div>
|
|
|
+ </el-dialog>
|
|
|
<el-dialog
|
|
|
title="课表详情"
|
|
|
:visible.sync="classVisible"
|
|
|
:before-close="closeClassVisible"
|
|
|
- width="1000px"
|
|
|
- >
|
|
|
+ width="1000px">
|
|
|
<el-form :model="maskForm" :inline="true">
|
|
|
<el-form-item label="老师姓名">
|
|
|
<!-- <el-input v-model.trim="maskForm.teacherName"
|
|
@@ -271,7 +288,8 @@ import {
|
|
|
getTeacher,
|
|
|
getMusicGroupAllClass,
|
|
|
superFindCourseSchedules,
|
|
|
- getEmployeeOrgan
|
|
|
+ getEmployeeOrgan,
|
|
|
+ updateTeacherAttendance
|
|
|
} from "@/api/buildTeam";
|
|
|
import { getSchool } from "@/api/systemManage";
|
|
|
import { courseType } from "@/utils/searchArray";
|
|
@@ -279,6 +297,7 @@ import studentRollCall from "./componentCourse/studentRollCall";
|
|
|
import gpsLoction from "./componentCourse/gpsLocation";
|
|
|
import studentWork from "./componentCourse/studentWork";
|
|
|
import courseEvaluate from "./componentCourse/courseEvaluate";
|
|
|
+import { permission } from "@/utils/directivePage";
|
|
|
import axios from "axios";
|
|
|
import { getToken } from "@/utils/auth";
|
|
|
import load from "@/utils/loading";
|
|
@@ -319,7 +338,12 @@ export default {
|
|
|
teacherList: [],
|
|
|
schoolList: [],
|
|
|
maskForm: {},
|
|
|
- activeName: "first"
|
|
|
+ activeName: "first",
|
|
|
+ markAttendance: {
|
|
|
+ // 考勤状态
|
|
|
+ status: false,
|
|
|
+ dataInfo: {}
|
|
|
+ },
|
|
|
// classList: []
|
|
|
};
|
|
|
},
|
|
@@ -359,6 +383,34 @@ export default {
|
|
|
}
|
|
|
});
|
|
|
},
|
|
|
+ permission(str, parent) {
|
|
|
+ return permission(str, parent);
|
|
|
+ },
|
|
|
+ onMarkAttendance(item) {
|
|
|
+ // 补考勤
|
|
|
+ this.markAttendance = {
|
|
|
+ status: true,
|
|
|
+ dataInfo: item
|
|
|
+ };
|
|
|
+ },
|
|
|
+ batchAdjustmentTime() {
|
|
|
+ let tempData = this.markAttendance.dataInfo;
|
|
|
+ let params = {
|
|
|
+ teacherId: tempData.actualTeacherId,
|
|
|
+ courseScheduleId: tempData.id,
|
|
|
+ signInStatus: 1,
|
|
|
+ signOutStatus: 1
|
|
|
+ };
|
|
|
+ updateTeacherAttendance(params).then(res => {
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.$message.success("补卡成功");
|
|
|
+ this.markAttendance.status = false;
|
|
|
+ this.getList();
|
|
|
+ } else {
|
|
|
+ this.$message.error(res.msg);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
search() {
|
|
|
this.rules.page = 1;
|
|
|
this.getList();
|