|
@@ -53,6 +53,21 @@
|
|
|
</el-form-item>
|
|
|
<el-form-item>
|
|
|
<el-select
|
|
|
+ v-model.trim="searchForm.jobNature"
|
|
|
+ filterable
|
|
|
+ clearable
|
|
|
+ placeholder="工作类型"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in jobNature"
|
|
|
+ :key="item.value"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item>
|
|
|
+ <el-select
|
|
|
v-model.trim="searchForm.signInStatus"
|
|
|
clearable
|
|
|
placeholder="签到状态"
|
|
@@ -170,6 +185,11 @@
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
+ <el-table-column align="center" label="工作类型">
|
|
|
+ <template slot-scope="scope">{{
|
|
|
+ scope.row.jobNature | jobNature
|
|
|
+ }}</template>
|
|
|
+ </el-table-column>
|
|
|
<el-table-column align="center" label="签到时间">
|
|
|
<template slot-scope="scope">
|
|
|
<div>
|
|
@@ -203,12 +223,37 @@
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
+ <el-table-column align="center" label="申诉状态">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <div>
|
|
|
+ {{ $constant.complaintsStatus[scope.row.complaintsStatus] }}
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
<el-table-column
|
|
|
align="center"
|
|
|
prop="remark"
|
|
|
label="备注"
|
|
|
></el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ align="center"
|
|
|
+ label="操作"
|
|
|
+ fixed="right"
|
|
|
+ >
|
|
|
+ <template slot-scope="scope" v-if="scope.row.jobNature === 'PART_TIME'">
|
|
|
+ <el-button type="text" v-if="scope.row.complaintsStatus ==2 " @click="unappeal(scope.row)">撤销申诉</el-button>
|
|
|
+ <el-button v-else type="text" @click="appeal(scope.row)">申诉</el-button>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
</el-table>
|
|
|
+ <el-dialog title="申诉" :visible.sync="appealVisible">
|
|
|
+ <appeal
|
|
|
+ v-if="appealVisible && detail"
|
|
|
+ :detail="detail"
|
|
|
+ @close="appealVisible = false"
|
|
|
+ @submited="getList"
|
|
|
+ />
|
|
|
+ </el-dialog>
|
|
|
<pagination
|
|
|
sync
|
|
|
:total.sync="rules.total"
|
|
@@ -230,7 +275,9 @@ import load from "@/utils/loading";
|
|
|
import qs from "qs";
|
|
|
import { getTeacher, getEmployeeOrgan } from "@/api/buildTeam";
|
|
|
import { queryTeacherAttendances } from "@/api/recodeManager";
|
|
|
-import { courseType } from "@/utils/searchArray";
|
|
|
+import { jobNature, courseType } from "@/utils/searchArray";
|
|
|
+import { repealComplaints } from './api'
|
|
|
+import appeal from './modals/appeal'
|
|
|
let nowTime = new Date();
|
|
|
nowTime =
|
|
|
nowTime.getFullYear() +
|
|
@@ -239,7 +286,7 @@ nowTime =
|
|
|
"-" +
|
|
|
nowTime.getDate();
|
|
|
export default {
|
|
|
- components: { pagination },
|
|
|
+ components: { pagination, appeal },
|
|
|
data() {
|
|
|
return {
|
|
|
searchForm: {
|
|
@@ -247,7 +294,11 @@ export default {
|
|
|
organId: null,
|
|
|
signInStatus: null,
|
|
|
signOutStatus: null,
|
|
|
+ jobNature: null,
|
|
|
},
|
|
|
+ detail: null,
|
|
|
+ appealVisible: false,
|
|
|
+ jobNature: jobNature, // 工作类型
|
|
|
courseTime: [nowTime, nowTime],
|
|
|
courseType,
|
|
|
// teacherList: [],
|
|
@@ -314,11 +365,29 @@ export default {
|
|
|
organIdList: null,
|
|
|
signInStatus: null,
|
|
|
signOutStatus: null,
|
|
|
+ jobNature: null,
|
|
|
};
|
|
|
this.courseTime = [nowTime, nowTime];
|
|
|
this.$refs["searchForm"].resetFields();
|
|
|
this.search();
|
|
|
},
|
|
|
+ appeal(row) {
|
|
|
+ this.appealVisible = true
|
|
|
+ this.detail = row
|
|
|
+ },
|
|
|
+ async unappeal(row) {
|
|
|
+ try {
|
|
|
+ await this.$confirm('是否确认撤销申诉?', '提示', {
|
|
|
+ type: 'warning'
|
|
|
+ })
|
|
|
+ await repealComplaints({
|
|
|
+ courseScheduleId: row.courseScheduleId,
|
|
|
+ userId: row.teacherId,
|
|
|
+ })
|
|
|
+ this.$message.success('撤销成功')
|
|
|
+ this.getList()
|
|
|
+ } catch (error) {}
|
|
|
+ },
|
|
|
onExport() {
|
|
|
let obj = { page: this.rules.page, rows: this.rules.limit };
|
|
|
Object.assign(obj, this.searchForm);
|